Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@glimmer/runtime

Package Overview
Dependencies
Maintainers
12
Versions
289
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@glimmer/runtime - npm Package Compare versions

Comparing version 0.70.0 to 0.71.0

dist/commonjs/es2017/lib/compiled/opcodes/-debug-strip.js

53

dist/commonjs/es2017/lib/compiled/opcodes/content.js

@@ -17,2 +17,6 @@ "use strict";

var _env = require("@glimmer/env");
var _curriedHelper = require("../../helpers/curried-helper");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -22,3 +26,3 @@

if ((0, _normalize.shouldCoerce)(value)) {
return 1
return 2
/* String */

@@ -30,16 +34,20 @@ ;

;
} else if ((0, _curriedHelper.isCurriedHelperDefinition)(value) || (0, _manager.hasInternalHelperManager)(value)) {
return 1
/* Helper */
;
} else if ((0, _normalize.isSafeString)(value)) {
return 3
return 4
/* SafeString */
;
} else if ((0, _normalize.isFragment)(value)) {
return 4
return 5
/* Fragment */
;
} else if ((0, _normalize.isNode)(value)) {
return 5
return 6
/* Node */
;
} else {
return 1
return 2
/* String */

@@ -50,2 +58,24 @@ ;

function toDynamicContentType(value) {
if (typeof value !== 'function' && (typeof value !== 'object' || value === null)) {
return 2
/* String */
;
}
if ((0, _curriedComponent.isCurriedComponentDefinition)(value) || (0, _manager.hasInternalComponentManager)(value)) {
return 0
/* Component */
;
} else {
if (_env.DEBUG && !(0, _curriedHelper.isCurriedHelperDefinition)(value) && !(0, _manager.hasInternalHelperManager)(value)) {
throw new Error(`Attempted use a dynamic value as a component or helper, but that value did not have an associated component or helper manager. The value was: ${value}`);
}
return 1
/* Helper */
;
}
}
_opcodes.APPEND_OPCODES.add(76

@@ -62,2 +92,13 @@ /* ContentType */

_opcodes.APPEND_OPCODES.add(106
/* DynamicContentType */
, vm => {
let reference = vm.stack.peek();
vm.stack.pushSmallInt(toDynamicContentType((0, _reference.valueForRef)(reference)));
if (!(0, _reference.isConstRef)(reference)) {
vm.updateWith(new _vm.AssertFilter(reference, toDynamicContentType));
}
});
_opcodes.APPEND_OPCODES.add(43

@@ -109,2 +150,2 @@ /* AppendHTML */

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOztBQVNBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBRUEsU0FBQSxhQUFBLENBQUEsS0FBQSxFQUFxQztBQUNuQyxNQUFJLDZCQUFKLEtBQUksQ0FBSixFQUF5QjtBQUN2QixXQUFBO0FBQUE7QUFBQTtBQURGLEdBQUEsTUFFTyxJQUFJLG9EQUFBLEtBQUEsS0FBdUMsMENBQTNDLEtBQTJDLENBQTNDLEVBQXlGO0FBQzlGLFdBQUE7QUFBQTtBQUFBO0FBREssR0FBQSxNQUVBLElBQUksNkJBQUosS0FBSSxDQUFKLEVBQXlCO0FBQzlCLFdBQUE7QUFBQTtBQUFBO0FBREssR0FBQSxNQUVBLElBQUksMkJBQUosS0FBSSxDQUFKLEVBQXVCO0FBQzVCLFdBQUE7QUFBQTtBQUFBO0FBREssR0FBQSxNQUVBLElBQUksdUJBQUosS0FBSSxDQUFKLEVBQW1CO0FBQ3hCLFdBQUE7QUFBQTtBQUFBO0FBREssR0FBQSxNQUVBO0FBQ0wsYUFBQTtBQUFBO0FBQUE7QUFDRDtBQUNGOztBQUVELHdCQUFBLEdBQUEsQ0FBa0I7QUFBQTtBQUFsQixFQUFvQyxFQUFELElBQU87QUFDeEMsTUFBSSxTQUFTLEdBQVMsRUFBRSxDQUFGLEtBQUEsQ0FBdEIsSUFBc0IsRUFBdEI7QUFFQSxFQUFBLEVBQUUsQ0FBRixLQUFBLENBQUEsWUFBQSxDQUFzQixhQUFhLENBQUMsNEJBQXBDLFNBQW9DLENBQUQsQ0FBbkM7O0FBRUEsTUFBSSxDQUFDLDJCQUFMLFNBQUssQ0FBTCxFQUE0QjtBQUMxQixJQUFBLEVBQUUsQ0FBRixVQUFBLENBQWMsSUFBQSxnQkFBQSxDQUFBLFNBQUEsRUFBZCxhQUFjLENBQWQ7QUFDRDtBQVBILENBQUE7O0FBVUEsd0JBQUEsR0FBQSxDQUFrQjtBQUFBO0FBQWxCLEVBQW1DLEVBQUQsSUFBTztBQUN2QyxNQUFJLFNBQVMsR0FBUyxFQUFFLENBQUYsS0FBQSxDQUF0QixLQUFzQixFQUF0QjtBQUVBLE1BQUksUUFBUSxHQUFHLDRCQUFmLFNBQWUsQ0FBZjtBQUNBLE1BQUksS0FBSyxHQUFHLHdCQUFBLFFBQUEsSUFBQSxFQUFBLEdBQXlCLE1BQU0sQ0FBM0MsUUFBMkMsQ0FBM0M7QUFFQSxFQUFBLEVBQUUsQ0FBRixRQUFBLEdBQUEsaUJBQUEsQ0FBQSxLQUFBO0FBTkYsQ0FBQTs7QUFTQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBdUMsRUFBRCxJQUFPO0FBQzNDLE1BQUksU0FBUyxHQUFTLEVBQUUsQ0FBRixLQUFBLENBQXRCLEtBQXNCLEVBQXRCO0FBRUEsTUFBSSxRQUFRLEdBQVMsNEJBQU4sU0FBTSxFQUFyQixNQUFxQixFQUFyQjtBQUNBLE1BQUksS0FBSyxHQUFHLHdCQUFBLFFBQUEsSUFBQSxFQUFBLEdBQVosUUFBQTtBQUVBLEVBQUEsRUFBRSxDQUFGLFFBQUEsR0FBQSxpQkFBQSxDQUFBLEtBQUE7QUFORixDQUFBOztBQVNBLHdCQUFBLEdBQUEsQ0FBa0I7QUFBQTtBQUFsQixFQUFtQyxFQUFELElBQU87QUFDdkMsTUFBSSxTQUFTLEdBQVMsRUFBRSxDQUFGLEtBQUEsQ0FBdEIsS0FBc0IsRUFBdEI7QUFFQSxNQUFJLFFBQVEsR0FBRyw0QkFBZixTQUFlLENBQWY7QUFDQSxNQUFJLEtBQUssR0FBRyx3QkFBQSxRQUFBLElBQUEsRUFBQSxHQUF5QixNQUFNLENBQTNDLFFBQTJDLENBQTNDO0FBRUEsTUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFGLFFBQUEsR0FBQSxpQkFBQSxDQUFYLEtBQVcsQ0FBWDs7QUFFQSxNQUFJLENBQUMsMkJBQUwsU0FBSyxDQUFMLEVBQTRCO0FBQzFCLElBQUEsRUFBRSxDQUFGLFVBQUEsQ0FBYyxJQUFBLGFBQUEsQ0FBQSxJQUFBLEVBQUEsU0FBQSxFQUFkLEtBQWMsQ0FBZDtBQUNEO0FBVkgsQ0FBQTs7QUFhQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBK0MsRUFBRCxJQUFPO0FBQ25ELE1BQUksU0FBUyxHQUFTLEVBQUUsQ0FBRixLQUFBLENBQXRCLEtBQXNCLEVBQXRCO0FBRUEsTUFBSSxLQUFLLEdBQVMsNEJBQWxCLFNBQWtCLENBQWxCO0FBRUEsRUFBQSxFQUFFLENBQUYsUUFBQSxHQUFBLHFCQUFBLENBQUEsS0FBQTtBQUxGLENBQUE7O0FBUUEsd0JBQUEsR0FBQSxDQUFrQjtBQUFBO0FBQWxCLEVBQW1DLEVBQUQsSUFBTztBQUN2QyxNQUFJLFNBQVMsR0FBUyxFQUFFLENBQUYsS0FBQSxDQUF0QixLQUFzQixFQUF0QjtBQUVBLE1BQUksS0FBSyxHQUFTLDRCQUFsQixTQUFrQixDQUFsQjtBQUVBLEVBQUEsRUFBRSxDQUFGLFFBQUEsR0FBQSxpQkFBQSxDQUFBLEtBQUE7QUFMRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDb25zdFJlZiwgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHtcbiAgY2hlY2ssXG4gIENoZWNrU3RyaW5nLFxuICBDaGVja1NhZmVTdHJpbmcsXG4gIENoZWNrTm9kZSxcbiAgQ2hlY2tEb2N1bWVudEZyYWdtZW50LFxufSBmcm9tICdAZ2xpbW1lci9kZWJ1Zyc7XG5cbmltcG9ydCB7IEFQUEVORF9PUENPREVTIH0gZnJvbSAnLi4vLi4vb3Bjb2Rlcyc7XG5pbXBvcnQgeyBpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50L2N1cnJpZWQtY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrUmVmZXJlbmNlIH0gZnJvbSAnLi8tZGVidWctc3RyaXAnO1xuaW1wb3J0IHsgaXNFbXB0eSwgaXNTYWZlU3RyaW5nLCBpc0ZyYWdtZW50LCBpc05vZGUsIHNob3VsZENvZXJjZSB9IGZyb20gJy4uLy4uL2RvbS9ub3JtYWxpemUnO1xuaW1wb3J0IER5bmFtaWNUZXh0Q29udGVudCBmcm9tICcuLi8uLi92bS9jb250ZW50L3RleHQnO1xuaW1wb3J0IHsgQ29udGVudFR5cGUsIE9wIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBc3NlcnRGaWx0ZXIgfSBmcm9tICcuL3ZtJztcbmltcG9ydCB7IGhhc0ludGVybmFsQ29tcG9uZW50TWFuYWdlciB9IGZyb20gJ0BnbGltbWVyL21hbmFnZXInO1xuXG5mdW5jdGlvbiB0b0NvbnRlbnRUeXBlKHZhbHVlOiB1bmtub3duKSB7XG4gIGlmIChzaG91bGRDb2VyY2UodmFsdWUpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLlN0cmluZztcbiAgfSBlbHNlIGlmIChpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uKHZhbHVlKSB8fCBoYXNJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIodmFsdWUgYXMgb2JqZWN0KSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5Db21wb25lbnQ7XG4gIH0gZWxzZSBpZiAoaXNTYWZlU3RyaW5nKHZhbHVlKSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5TYWZlU3RyaW5nO1xuICB9IGVsc2UgaWYgKGlzRnJhZ21lbnQodmFsdWUpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLkZyYWdtZW50O1xuICB9IGVsc2UgaWYgKGlzTm9kZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuTm9kZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuU3RyaW5nO1xuICB9XG59XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Db250ZW50VHlwZSwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wZWVrKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICB2bS5zdGFjay5wdXNoU21hbGxJbnQodG9Db250ZW50VHlwZSh2YWx1ZUZvclJlZihyZWZlcmVuY2UpKSk7XG5cbiAgaWYgKCFpc0NvbnN0UmVmKHJlZmVyZW5jZSkpIHtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBBc3NlcnRGaWx0ZXIocmVmZXJlbmNlLCB0b0NvbnRlbnRUeXBlKSk7XG4gIH1cbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kSFRNTCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHJhd1ZhbHVlID0gdmFsdWVGb3JSZWYocmVmZXJlbmNlKTtcbiAgbGV0IHZhbHVlID0gaXNFbXB0eShyYXdWYWx1ZSkgPyAnJyA6IFN0cmluZyhyYXdWYWx1ZSk7XG5cbiAgdm0uZWxlbWVudHMoKS5hcHBlbmREeW5hbWljSFRNTCh2YWx1ZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkFwcGVuZFNhZmVIVE1MLCAodm0pID0+IHtcbiAgbGV0IHJlZmVyZW5jZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICBsZXQgcmF3VmFsdWUgPSBjaGVjayh2YWx1ZUZvclJlZihyZWZlcmVuY2UpLCBDaGVja1NhZmVTdHJpbmcpLnRvSFRNTCgpO1xuICBsZXQgdmFsdWUgPSBpc0VtcHR5KHJhd1ZhbHVlKSA/ICcnIDogY2hlY2socmF3VmFsdWUsIENoZWNrU3RyaW5nKTtcblxuICB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNIVE1MKHZhbHVlKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kVGV4dCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHJhd1ZhbHVlID0gdmFsdWVGb3JSZWYocmVmZXJlbmNlKTtcbiAgbGV0IHZhbHVlID0gaXNFbXB0eShyYXdWYWx1ZSkgPyAnJyA6IFN0cmluZyhyYXdWYWx1ZSk7XG5cbiAgbGV0IG5vZGUgPSB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNUZXh0KHZhbHVlKTtcblxuICBpZiAoIWlzQ29uc3RSZWYocmVmZXJlbmNlKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IER5bmFtaWNUZXh0Q29udGVudChub2RlLCByZWZlcmVuY2UsIHZhbHVlKSk7XG4gIH1cbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kRG9jdW1lbnRGcmFnbWVudCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHZhbHVlID0gY2hlY2sodmFsdWVGb3JSZWYocmVmZXJlbmNlKSwgQ2hlY2tEb2N1bWVudEZyYWdtZW50KTtcblxuICB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNGcmFnbWVudCh2YWx1ZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkFwcGVuZE5vZGUsICh2bSkgPT4ge1xuICBsZXQgcmVmZXJlbmNlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuXG4gIGxldCB2YWx1ZSA9IGNoZWNrKHZhbHVlRm9yUmVmKHJlZmVyZW5jZSksIENoZWNrTm9kZSk7XG5cbiAgdm0uZWxlbWVudHMoKS5hcHBlbmREeW5hbWljTm9kZSh2YWx1ZSk7XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOztBQVNBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsU0FBQSxhQUFBLENBQUEsS0FBQSxFQUFxQztBQUNuQyxNQUFJLDZCQUFKLEtBQUksQ0FBSixFQUF5QjtBQUN2QixXQUFBO0FBQUE7QUFBQTtBQURGLEdBQUEsTUFFTyxJQUFJLG9EQUFBLEtBQUEsS0FBdUMsMENBQTNDLEtBQTJDLENBQTNDLEVBQXlGO0FBQzlGLFdBQUE7QUFBQTtBQUFBO0FBREssR0FBQSxNQUVBLElBQUksOENBQUEsS0FBQSxLQUFvQyx1Q0FBeEMsS0FBd0MsQ0FBeEMsRUFBbUY7QUFDeEYsV0FBQTtBQUFBO0FBQUE7QUFESyxHQUFBLE1BRUEsSUFBSSw2QkFBSixLQUFJLENBQUosRUFBeUI7QUFDOUIsV0FBQTtBQUFBO0FBQUE7QUFESyxHQUFBLE1BRUEsSUFBSSwyQkFBSixLQUFJLENBQUosRUFBdUI7QUFDNUIsV0FBQTtBQUFBO0FBQUE7QUFESyxHQUFBLE1BRUEsSUFBSSx1QkFBSixLQUFJLENBQUosRUFBbUI7QUFDeEIsV0FBQTtBQUFBO0FBQUE7QUFESyxHQUFBLE1BRUE7QUFDTCxhQUFBO0FBQUE7QUFBQTtBQUNEO0FBQ0Y7O0FBRUQsU0FBQSxvQkFBQSxDQUFBLEtBQUEsRUFBNEM7QUFDMUMsTUFBSSxPQUFBLEtBQUEsS0FBQSxVQUFBLEtBQWdDLE9BQUEsS0FBQSxLQUFBLFFBQUEsSUFBNkIsS0FBSyxLQUF0RSxJQUFJLENBQUosRUFBa0Y7QUFDaEYsV0FBQTtBQUFBO0FBQUE7QUFDRDs7QUFFRCxNQUFJLG9EQUFBLEtBQUEsS0FBdUMsMENBQTNDLEtBQTJDLENBQTNDLEVBQXlGO0FBQ3ZGLFdBQUE7QUFBQTtBQUFBO0FBREYsR0FB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TUFBSSxLQUFLLEdBQVMsNEJBQWxCLFNBQWtCLENBQWxCO0FBRUEsRUFBQSxFQUFFLENBQUYsUUFBQSxHQUFBLHFCQUFBLENBQUEsS0FBQTtBQUxGLENBQUE7O0FBUUEsd0JBQUEsR0FBQSxDQUFrQjtBQUFBO0FBQWxCLEVBQW1DLEVBQUQsSUFBTztBQUN2QyxNQUFJLFNBQVMsR0FBUyxFQUFFLENBQUYsS0FBQSxDQUF0QixLQUFzQixFQUF0QjtBQUVBLE1BQUksS0FBSyxHQUFTLDRCQUFsQixTQUFrQixDQUFsQjtBQUVBLEVBQUEsRUFBRSxDQUFGLFFBQUEsR0FBQSxpQkFBQSxDQUFBLEtBQUE7QUFMRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDb25zdFJlZiwgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHtcbiAgY2hlY2ssXG4gIENoZWNrU3RyaW5nLFxuICBDaGVja1NhZmVTdHJpbmcsXG4gIENoZWNrTm9kZSxcbiAgQ2hlY2tEb2N1bWVudEZyYWdtZW50LFxufSBmcm9tICdAZ2xpbW1lci9kZWJ1Zyc7XG5cbmltcG9ydCB7IEFQUEVORF9PUENPREVTIH0gZnJvbSAnLi4vLi4vb3Bjb2Rlcyc7XG5pbXBvcnQgeyBpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50L2N1cnJpZWQtY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrUmVmZXJlbmNlIH0gZnJvbSAnLi8tZGVidWctc3RyaXAnO1xuaW1wb3J0IHsgaXNFbXB0eSwgaXNTYWZlU3RyaW5nLCBpc0ZyYWdtZW50LCBpc05vZGUsIHNob3VsZENvZXJjZSB9IGZyb20gJy4uLy4uL2RvbS9ub3JtYWxpemUnO1xuaW1wb3J0IER5bmFtaWNUZXh0Q29udGVudCBmcm9tICcuLi8uLi92bS9jb250ZW50L3RleHQnO1xuaW1wb3J0IHsgQ29udGVudFR5cGUsIE9wIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBc3NlcnRGaWx0ZXIgfSBmcm9tICcuL3ZtJztcbmltcG9ydCB7IGhhc0ludGVybmFsQ29tcG9uZW50TWFuYWdlciwgaGFzSW50ZXJuYWxIZWxwZXJNYW5hZ2VyIH0gZnJvbSAnQGdsaW1tZXIvbWFuYWdlcic7XG5pbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQgeyBpc0N1cnJpZWRIZWxwZXJEZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vaGVscGVycy9jdXJyaWVkLWhlbHBlcic7XG5cbmZ1bmN0aW9uIHRvQ29udGVudFR5cGUodmFsdWU6IHVua25vd24pIHtcbiAgaWYgKHNob3VsZENvZXJjZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuU3RyaW5nO1xuICB9IGVsc2UgaWYgKGlzQ3VycmllZENvbXBvbmVudERlZmluaXRpb24odmFsdWUpIHx8IGhhc0ludGVybmFsQ29tcG9uZW50TWFuYWdlcih2YWx1ZSBhcyBvYmplY3QpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLkNvbXBvbmVudDtcbiAgfSBlbHNlIGlmIChpc0N1cnJpZWRIZWxwZXJEZWZpbml0aW9uKHZhbHVlKSB8fCBoYXNJbnRlcm5hbEhlbHBlck1hbmFnZXIodmFsdWUgYXMgb2JqZWN0KSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5IZWxwZXI7XG4gIH0gZWxzZSBpZiAoaXNTYWZlU3RyaW5nKHZhbHVlKSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5TYWZlU3RyaW5nO1xuICB9IGVsc2UgaWYgKGlzRnJhZ21lbnQodmFsdWUpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLkZyYWdtZW50O1xuICB9IGVsc2UgaWYgKGlzTm9kZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuTm9kZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuU3RyaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRvRHluYW1pY0NvbnRlbnRUeXBlKHZhbHVlOiB1bmtub3duKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicgJiYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcgfHwgdmFsdWUgPT09IG51bGwpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLlN0cmluZztcbiAgfVxuXG4gIGlmIChpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uKHZhbHVlKSB8fCBoYXNJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIodmFsdWUgYXMgb2JqZWN0KSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5Db21wb25lbnQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKERFQlVHICYmICFpc0N1cnJpZWRIZWxwZXJEZWZpbml0aW9uKHZhbHVlKSAmJiAhaGFzSW50ZXJuYWxIZWxwZXJNYW5hZ2VyKHZhbHVlIGFzIG9iamVjdCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEF0dGVtcHRlZCB1c2UgYSBkeW5hbWljIHZhbHVlIGFzIGEgY29tcG9uZW50IG9yIGhlbHBlciwgYnV0IHRoYXQgdmFsdWUgZGlkIG5vdCBoYXZlIGFuIGFzc29jaWF0ZWQgY29tcG9uZW50IG9yIGhlbHBlciBtYW5hZ2VyLiBUaGUgdmFsdWUgd2FzOiAke3ZhbHVlfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLkhlbHBlcjtcbiAgfVxufVxuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQ29udGVudFR5cGUsICh2bSkgPT4ge1xuICBsZXQgcmVmZXJlbmNlID0gY2hlY2sodm0uc3RhY2sucGVlaygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgdm0uc3RhY2sucHVzaFNtYWxsSW50KHRvQ29udGVudFR5cGUodmFsdWVGb3JSZWYocmVmZXJlbmNlKSkpO1xuXG4gIGlmICghaXNDb25zdFJlZihyZWZlcmVuY2UpKSB7XG4gICAgdm0udXBkYXRlV2l0aChuZXcgQXNzZXJ0RmlsdGVyKHJlZmVyZW5jZSwgdG9Db250ZW50VHlwZSkpO1xuICB9XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkR5bmFtaWNDb250ZW50VHlwZSwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wZWVrKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICB2bS5zdGFjay5wdXNoU21hbGxJbnQodG9EeW5hbWljQ29udGVudFR5cGUodmFsdWVGb3JSZWYocmVmZXJlbmNlKSkpO1xuXG4gIGlmICghaXNDb25zdFJlZihyZWZlcmVuY2UpKSB7XG4gICAgdm0udXBkYXRlV2l0aChuZXcgQXNzZXJ0RmlsdGVyKHJlZmVyZW5jZSwgdG9EeW5hbWljQ29udGVudFR5cGUpKTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5BcHBlbmRIVE1MLCAodm0pID0+IHtcbiAgbGV0IHJlZmVyZW5jZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICBsZXQgcmF3VmFsdWUgPSB2YWx1ZUZvclJlZihyZWZlcmVuY2UpO1xuICBsZXQgdmFsdWUgPSBpc0VtcHR5KHJhd1ZhbHVlKSA/ICcnIDogU3RyaW5nKHJhd1ZhbHVlKTtcblxuICB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNIVE1MKHZhbHVlKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kU2FmZUhUTUwsICh2bSkgPT4ge1xuICBsZXQgcmVmZXJlbmNlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuXG4gIGxldCByYXdWYWx1ZSA9IGNoZWNrKHZhbHVlRm9yUmVmKHJlZmVyZW5jZSksIENoZWNrU2FmZVN0cmluZykudG9IVE1MKCk7XG4gIGxldCB2YWx1ZSA9IGlzRW1wdHkocmF3VmFsdWUpID8gJycgOiBjaGVjayhyYXdWYWx1ZSwgQ2hlY2tTdHJpbmcpO1xuXG4gIHZtLmVsZW1lbnRzKCkuYXBwZW5kRHluYW1pY0hUTUwodmFsdWUpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5BcHBlbmRUZXh0LCAodm0pID0+IHtcbiAgbGV0IHJlZmVyZW5jZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICBsZXQgcmF3VmFsdWUgPSB2YWx1ZUZvclJlZihyZWZlcmVuY2UpO1xuICBsZXQgdmFsdWUgPSBpc0VtcHR5KHJhd1ZhbHVlKSA/ICcnIDogU3RyaW5nKHJhd1ZhbHVlKTtcblxuICBsZXQgbm9kZSA9IHZtLmVsZW1lbnRzKCkuYXBwZW5kRHluYW1pY1RleHQodmFsdWUpO1xuXG4gIGlmICghaXNDb25zdFJlZihyZWZlcmVuY2UpKSB7XG4gICAgdm0udXBkYXRlV2l0aChuZXcgRHluYW1pY1RleHRDb250ZW50KG5vZGUsIHJlZmVyZW5jZSwgdmFsdWUpKTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5BcHBlbmREb2N1bWVudEZyYWdtZW50LCAodm0pID0+IHtcbiAgbGV0IHJlZmVyZW5jZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICBsZXQgdmFsdWUgPSBjaGVjayh2YWx1ZUZvclJlZihyZWZlcmVuY2UpLCBDaGVja0RvY3VtZW50RnJhZ21lbnQpO1xuXG4gIHZtLmVsZW1lbnRzKCkuYXBwZW5kRHluYW1pY0ZyYWdtZW50KHZhbHVlKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kTm9kZSwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHZhbHVlID0gY2hlY2sodmFsdWVGb3JSZWYocmVmZXJlbmNlKSwgQ2hlY2tOb2RlKTtcblxuICB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNOb2RlKHZhbHVlKTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==

4

dist/commonjs/es2017/lib/compiled/opcodes/dom.js

@@ -135,3 +135,3 @@ "use strict";

let dynamicScope = vm.dynamicScope();
let state = manager.create(constructing, definition.state, args, dynamicScope, updateOperations);
let state = manager.create(vm.getOwner(), constructing, definition.state, args, dynamicScope, updateOperations);
let instance = {

@@ -241,2 +241,2 @@ manager,

exports.UpdateDynamicAttributeOpcode = UpdateDynamicAttributeOpcode;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFVQTs7QUFDQTs7QUFFQTs7QUFHQTs7QUFHQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBNEIsQ0FBQSxFQUFBLEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBc0I7QUFDaEQsRUFBQSxFQUFFLENBQUYsUUFBQSxHQUFBLFVBQUEsQ0FBeUIsRUFBRSxDQUFGLGtCQUFFLENBQUYsQ0FBQSxRQUFBLENBQXpCLElBQXlCLENBQXpCO0FBREYsQ0FBQTs7QUFJQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBK0IsQ0FBQSxFQUFBLEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBc0I7QUFDbkQsRUFBQSxFQUFFLENBQUYsUUFBQSxHQUFBLGFBQUEsQ0FBNEIsRUFBRSxDQUFGLGtCQUFFLENBQUYsQ0FBQSxRQUFBLENBQTVCLElBQTRCLENBQTVCO0FBREYsQ0FBQTs7QUFJQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBbUMsQ0FBQSxFQUFBLEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBcUI7QUFDdEQsRUFBQSxFQUFFLENBQUYsUUFBQSxHQUFBLFdBQUEsQ0FBMEIsRUFBRSxDQUFGLGtCQUFFLENBQUYsQ0FBQSxRQUFBLENBQTFCLEdBQTBCLENBQTFCO0FBREYsQ0FBQTs7QUFJQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBMkMsRUFBRCxJQUFPO0FBQy9DLE1BQUksT0FBTyxHQUFTLDRCQUFrQixFQUFFLENBQUYsS0FBQSxDQUF0QyxLQUFzQyxFQUFsQixDQUFwQjtBQUNBLEVBQUEsRUFBRSxDQUFGLFFBQUEsR0FBQSxXQUFBLENBQUEsT0FB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ZSwgdmFsdWVGb3JSZWYsIGlzQ29uc3RSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgUmV2aXNpb24sIFRhZywgdmFsdWVGb3JUYWcsIHZhbGlkYXRlVGFnLCBjb25zdW1lVGFnIH0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcbmltcG9ydCB7XG4gIGNoZWNrLFxuICBDaGVja1N0cmluZyxcbiAgQ2hlY2tFbGVtZW50LFxuICBDaGVja09wdGlvbixcbiAgQ2hlY2tOb2RlLFxuICBDaGVja01heWJlLFxufSBmcm9tICdAZ2xpbW1lci9kZWJ1Zyc7XG5pbXBvcnQgeyBPcCwgT3B0aW9uLCBNb2RpZmllckRlZmluaXRpb24sIE1vZGlmaWVySW5zdGFuY2UgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7ICR0MCB9IGZyb20gJ0BnbGltbWVyL3ZtJztcbmltcG9ydCB7IEFQUEVORF9PUENPREVTLCBVcGRhdGluZ09wY29kZSB9IGZyb20gJy4uLy4uL29wY29kZXMnO1xuaW1wb3J0IHsgVXBkYXRpbmdWTSB9IGZyb20gJy4uLy4uL3ZtJztcbmltcG9ydCB7IEFzc2VydCB9IGZyb20gJy4vdm0nO1xuaW1wb3J0IHsgRHluYW1pY0F0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL3ZtL2F0dHJpYnV0ZXMvZHluYW1pYyc7XG5pbXBvcnQgeyBDaGVja1JlZmVyZW5jZSwgQ2hlY2tBcmd1bWVudHMsIENoZWNrT3BlcmF0aW9ucyB9IGZyb20gJy4vLWRlYnVnLXN0cmlwJztcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJy4uLy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5UZXh0LCAodm0sIHsgb3AxOiB0ZXh0IH0pID0+IHtcbiAgdm0uZWxlbWVudHMoKS5hcHBlbmRUZXh0KHZtW0NPTlNUQU5UU10uZ2V0VmFsdWUodGV4dCkpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Db21tZW50LCAodm0sIHsgb3AxOiB0ZXh0IH0pID0+IHtcbiAgdm0uZWxlbWVudHMoKS5hcHBlbmRDb21tZW50KHZtW0NPTlNUQU5UU10uZ2V0VmFsdWUodGV4dCkpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5PcGVuRWxlbWVudCwgKHZtLCB7IG9wMTogdGFnIH0pID0+IHtcbiAgdm0uZWxlbWVudHMoKS5vcGVuRWxlbWVudCh2bVtDT05TVEFOVFNdLmdldFZhbHVlKHRhZykpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5PcGVuRHluYW1pY0VsZW1lbnQsICh2bSkgPT4ge1xuICBsZXQgdGFnTmFtZSA9IGNoZWNrKHZhbHVlRm9yUmVmKGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKSksIENoZWNrU3RyaW5nKTtcbiAgdm0uZWxlbWVudHMoKS5vcGVuRWxlbWVudCh0YWdOYW1lKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUHVzaFJlbW90ZUVsZW1lbnQsICh2bSkgPT4ge1xuICBsZXQgZWxlbWVudFJlZiA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgbGV0IGluc2VydEJlZm9yZVJlZiA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgbGV0IGd1aWRSZWYgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IGVsZW1lbnQgPSBjaGVjayh2YWx1ZUZvclJlZihlbGVtZW50UmVmKSwgQ2hlY2tFbGVtZW50KTtcbiAgbGV0IGluc2VydEJlZm9yZSA9IGNoZWNrKHZhbHVlRm9yUmVmKGluc2VydEJlZm9yZVJlZiksIENoZWNrTWF5YmUoQ2hlY2tPcHRpb24oQ2hlY2tOb2RlKSkpO1xuICBsZXQgZ3VpZCA9IHZhbHVlRm9yUmVmKGd1aWRSZWYpIGFzIHN0cmluZztcblxuICBpZiAoIWlzQ29uc3RSZWYoZWxlbWVudFJlZikpIHtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBBc3NlcnQoZWxlbWVudFJlZikpO1xuICB9XG5cbiAgaWYgKGluc2VydEJlZm9yZSAhPT0gdW5kZWZpbmVkICYmICFpc0NvbnN0UmVmKGluc2VydEJlZm9yZVJlZikpIHtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBBc3NlcnQoaW5zZXJ0QmVmb3JlUmVmKSk7XG4gIH1cblxuICBsZXQgYmxvY2sgPSB2bS5lbGVtZW50cygpLnB1c2hSZW1vdGVFbGVtZW50KGVsZW1lbnQsIGd1aWQsIGluc2VydEJlZm9yZSk7XG4gIGlmIChibG9jaykgdm0uYXNzb2NpYXRlRGVzdHJveWFibGUoYmxvY2spO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Qb3BSZW1vdGVFbGVtZW50LCAodm0pID0+IHtcbiAgdm0uZWxlbWVudHMoKS5wb3BSZW1vdGVFbGVtZW50KCk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkZsdXNoRWxlbWVudCwgKHZtKSA9PiB7XG4gIGxldCBvcGVyYXRpb25zID0gY2hlY2sodm0uZmV0Y2hWYWx1ZSgkdDApLCBDaGVja09wZXJhdGlvbnMpO1xuICBsZXQgbW9kaWZpZXJzOiBPcHRpb248TW9kaWZpZXJJbnN0YW5jZVtdPiA9IG51bGw7XG5cbiAgaWYgKG9wZXJhdGlvbnMpIHtcbiAgICBtb2RpZmllcnMgPSBvcGVyYXRpb25zLmZsdXNoKHZtKTtcbiAgICB2bS5sb2FkVmFsdWUoJHQwLCBudWxsKTtcbiAgfVxuXG4gIHZtLmVsZW1lbnRzKCkuZmx1c2hFbGVtZW50KG1vZGlmaWVycyk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkNsb3NlRWxlbWVudCwgKHZtKSA9PiB7XG4gIGxldCBtb2RpZmllcnMgPSB2bS5lbGVtZW50cygpLmNsb3NlRWxlbWVudCgpO1xuXG4gIGlmIChtb2RpZmllcnMpIHtcbiAgICBtb2RpZmllcnMuZm9yRWFjaCgobW9kaWZpZXIpID0+IHtcbiAgICAgIHZtLmVudi5zY2hlZHVsZUluc3RhbGxNb2RpZmllcihtb2RpZmllcik7XG4gICAgICBsZXQgeyBtYW5hZ2VyLCBzdGF0ZSB9ID0gbW9kaWZpZXI7XG4gICAgICBsZXQgZCA9IG1hbmFnZXIuZ2V0RGVzdHJveWFibGUoc3RhdGUpO1xuXG4gICAgICBpZiAoZCkge1xuICAgICAgICB2bS5hc3NvY2lhdGVEZXN0cm95YWJsZShkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Nb2RpZmllciwgKHZtLCB7IG9wMTogaGFuZGxlIH0pID0+IHtcbiAgaWYgKHZtLmVudi5pc0ludGVyYWN0aXZlID09PSBmYWxzZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCBkZWZpbml0aW9uID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxNb2RpZmllckRlZmluaXRpb24+KGhhbmRsZSk7XG4gIGxldCB7IG1hbmFnZXIgfSA9IGRlZmluaXRpb247XG5cbiAgbGV0IHN0YWNrID0gdm0uc3RhY2s7XG4gIGxldCBhcmdzID0gY2hlY2soc3RhY2sucG9wSnMoKSwgQ2hlY2tBcmd1bWVudHMpO1xuICBsZXQgeyBjb25zdHJ1Y3RpbmcsIHVwZGF0ZU9wZXJhdGlvbnMgfSA9IHZtLmVsZW1lbnRzKCk7XG4gIGxldCBkeW5hbWljU2NvcGUgPSB2bS5keW5hbWljU2NvcGUoKTtcblxuICBsZXQgc3RhdGUgPSBtYW5hZ2VyLmNyZWF0ZShcbiAgICBleHBlY3QoY29uc3RydWN0aW5nLCAnQlVHOiBFbGVtZW50TW9kaWZpZXIgY291bGQgbm90IGZpbmQgdGhlIGVsZW1lbnQgaXQgYXBwbGllcyB0bycpLFxuICAgIGRlZmluaXRpb24uc3RhdGUsXG4gICAgYXJncyxcbiAgICBkeW5hbWljU2NvcGUsXG4gICAgdXBkYXRlT3BlcmF0aW9uc1xuICApO1xuXG4gIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZSA9IHtcbiAgICBtYW5hZ2VyLFxuICAgIHN0YXRlLFxuICAgIGRlZmluaXRpb24sXG4gIH07XG5cbiAgbGV0IG9wZXJhdGlvbnMgPSBleHBlY3QoXG4gICAgY2hlY2sodm0uZmV0Y2hWYWx1ZSgkdDApLCBDaGVja09wZXJhdGlvbnMpLFxuICAgICdCVUc6IEVsZW1lbnRNb2RpZmllciBjb3VsZCBub3QgZmluZCBvcGVyYXRpb25zIHRvIGFwcGVuZCB0bydcbiAgKTtcblxuICBvcGVyYXRpb25zLmFkZE1vZGlmaWVyKGluc3RhbmNlKTtcblxuICBsZXQgdGFnID0gbWFuYWdlci5nZXRUYWcoc3RhdGUpO1xuXG4gIGlmICh0YWcgIT09IG51bGwpIHtcbiAgICBjb25zdW1lVGFnKHRhZyk7XG4gICAgdm0udXBkYXRlV2l0aChuZXcgVXBkYXRlTW9kaWZpZXJPcGNvZGUodGFnLCBpbnN0YW5jZSkpO1xuICB9XG59KTtcblxuZXhwb3J0IGNsYXNzIFVwZGF0ZU1vZGlmaWVyT3Bjb2RlIGV4dGVuZHMgVXBkYXRpbmdPcGNvZGUge1xuICBwdWJsaWMgdHlwZSA9ICd1cGRhdGUtbW9kaWZpZXInO1xuICBwcml2YXRlIGxhc3RVcGRhdGVkOiBSZXZpc2lvbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGFnOiBUYWcsIHByaXZhdGUgbW9kaWZpZXI6IE1vZGlmaWVySW5zdGFuY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGFzdFVwZGF0ZWQgPSB2YWx1ZUZvclRhZyh0YWcpO1xuICB9XG5cbiAgZXZhbHVhdGUodm06IFVwZGF0aW5nVk0pIHtcbiAgICBsZXQgeyBtb2RpZmllciwgdGFnLCBsYXN0VXBkYXRlZCB9ID0gdGhpcztcblxuICAgIGNvbnN1bWVUYWcodGFnKTtcblxuICAgIGlmICghdmFsaWRhdGVUYWcodGFnLCBsYXN0VXBkYXRlZCkpIHtcbiAgICAgIHZtLmVudi5zY2hlZHVsZVVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyKTtcbiAgICAgIHRoaXMubGFzdFVwZGF0ZWQgPSB2YWx1ZUZvclRhZyh0YWcpO1xuICAgIH1cbiAgfVxufVxuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuU3RhdGljQXR0ciwgKHZtLCB7IG9wMTogX25hbWUsIG9wMjogX3ZhbHVlLCBvcDM6IF9uYW1lc3BhY2UgfSkgPT4ge1xuICBsZXQgbmFtZSA9IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfbmFtZSk7XG4gIGxldCB2YWx1ZSA9IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfdmFsdWUpO1xuICBsZXQgbmFtZXNwYWNlID0gX25hbWVzcGFjZSA/IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfbmFtZXNwYWNlKSA6IG51bGw7XG5cbiAgdm0uZWxlbWVudHMoKS5zZXRTdGF0aWNBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIG5hbWVzcGFjZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkR5bmFtaWNBdHRyLCAodm0sIHsgb3AxOiBfbmFtZSwgb3AyOiBfdHJ1c3RpbmcsIG9wMzogX25hbWVzcGFjZSB9KSA9PiB7XG4gIGxldCBuYW1lID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lKTtcbiAgbGV0IHRydXN0aW5nID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxib29sZWFuPihfdHJ1c3RpbmcpO1xuICBsZXQgcmVmZXJlbmNlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuICBsZXQgdmFsdWUgPSB2YWx1ZUZvclJlZihyZWZlcmVuY2UpO1xuICBsZXQgbmFtZXNwYWNlID0gX25hbWVzcGFjZSA/IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfbmFtZXNwYWNlKSA6IG51bGw7XG5cbiAgbGV0IGF0dHJpYnV0ZSA9IHZtLmVsZW1lbnRzKCkuc2V0RHluYW1pY0F0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgdHJ1c3RpbmcsIG5hbWVzcGFjZSk7XG5cbiAgaWYgKCFpc0NvbnN0UmVmKHJlZmVyZW5jZSkpIHtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBVcGRhdGVEeW5hbWljQXR0cmlidXRlT3Bjb2RlKHJlZmVyZW5jZSwgYXR0cmlidXRlKSk7XG4gIH1cbn0pO1xuXG5leHBvcnQgY2xhc3MgVXBkYXRlRHluYW1pY0F0dHJpYnV0ZU9wY29kZSBleHRlbmRzIFVwZGF0aW5nT3Bjb2RlIHtcbiAgcHVibGljIHR5cGUgPSAncGF0Y2gtZWxlbWVudCc7XG5cbiAgcHVibGljIGxhc3RWYWx1ZTogdW5rbm93bjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZmVyZW5jZTogUmVmZXJlbmNlPHVua25vd24+LCBwcml2YXRlIGF0dHJpYnV0ZTogRHluYW1pY0F0dHJpYnV0ZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZUZvclJlZihyZWZlcmVuY2UpO1xuICB9XG5cbiAgZXZhbHVhdGUodm06IFVwZGF0aW5nVk0pIHtcbiAgICBsZXQgeyBhdHRyaWJ1dGUsIHJlZmVyZW5jZSwgbGFzdFZhbHVlIH0gPSB0aGlzO1xuICAgIGxldCBjdXJyZW50VmFsdWUgPSB2YWx1ZUZvclJlZihyZWZlcmVuY2UpO1xuXG4gICAgaWYgKGN1cnJlbnRWYWx1ZSAhPT0gbGFzdFZhbHVlKSB7XG4gICAgICBhdHRyaWJ1dGUudXBkYXRlKGN1cnJlbnRWYWx1ZSwgdm0uZW52KTtcbiAgICAgIHRoaXMubGFzdFZhbHVlID0gY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFVQTs7QUFDQTs7QUFFQTs7QUFHQTs7QUFHQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBNEIsQ0FBQSxFQUFBLEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBc0I7QUFDaEQsRUFBQSxFQUFFLENBQUYsUUFBQSxHQUFBLFVBQUEsQ0FBeUIsRUFBRSxDQUFGLGtCQUFFLENBQUYsQ0FBQSxRQUFBLENBQXpCLElBQXlCLENBQXpCO0FBREYsQ0FBQTs7QUFJQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBK0IsQ0FBQSxFQUFBLEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBc0I7QUFDbkQsRUFBQSxFQUFFLENBQUYsUUFBQSxHQUFBLGFBQUEsQ0FBNEIsRUFBRSxDQUFGLGtCQUFFLENBQUYsQ0FBQSxRQUFBLENBQTVCLElBQTRCLENBQTVCO0FBREYsQ0FBQTs7QUFJQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBbUMsQ0FBQSxFQUFBLEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBcUI7QUFDdEQsRUFBQSxFQUFFLENBQUYsUUFBQSxHQUFBLFdBQUEsQ0FBMEIsRUFBRSxDQUFGLGtCQUFFLENBQUYsQ0FBQSxRQUFBLENBQTFCLEdBQTBCLENBQTFCO0FBREYsQ0FBQTs7QUFJQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBMkMsRUFBRCxJQUFPO0FBQy9DLE1BQUksT0FBTyxHQUFTLDRCQUFrQixFQUFFLENBQUYsS0FBQSxDQUF0QyxLQUFzQyxFQUFsQixDQUFwQjtBQUNBLEVBQUEsRUFBRSxDQUFGLFFBQUEsR0FBQSxXQUFBLENBQUEsT0FB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dGVudCI6WyJpbXBvcnQgeyBSZWZlcmVuY2UsIHZhbHVlRm9yUmVmLCBpc0NvbnN0UmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IFJldmlzaW9uLCBUYWcsIHZhbHVlRm9yVGFnLCB2YWxpZGF0ZVRhZywgY29uc3VtZVRhZyB9IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5pbXBvcnQge1xuICBjaGVjayxcbiAgQ2hlY2tTdHJpbmcsXG4gIENoZWNrRWxlbWVudCxcbiAgQ2hlY2tPcHRpb24sXG4gIENoZWNrTm9kZSxcbiAgQ2hlY2tNYXliZSxcbn0gZnJvbSAnQGdsaW1tZXIvZGVidWcnO1xuaW1wb3J0IHsgT3AsIE9wdGlvbiwgTW9kaWZpZXJEZWZpbml0aW9uLCBNb2RpZmllckluc3RhbmNlIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyAkdDAgfSBmcm9tICdAZ2xpbW1lci92bSc7XG5pbXBvcnQgeyBBUFBFTkRfT1BDT0RFUywgVXBkYXRpbmdPcGNvZGUgfSBmcm9tICcuLi8uLi9vcGNvZGVzJztcbmltcG9ydCB7IFVwZGF0aW5nVk0gfSBmcm9tICcuLi8uLi92bSc7XG5pbXBvcnQgeyBBc3NlcnQgfSBmcm9tICcuL3ZtJztcbmltcG9ydCB7IER5bmFtaWNBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi92bS9hdHRyaWJ1dGVzL2R5bmFtaWMnO1xuaW1wb3J0IHsgQ2hlY2tSZWZlcmVuY2UsIENoZWNrQXJndW1lbnRzLCBDaGVja09wZXJhdGlvbnMgfSBmcm9tICcuLy1kZWJ1Zy1zdHJpcCc7XG5pbXBvcnQgeyBDT05TVEFOVFMgfSBmcm9tICcuLi8uLi9zeW1ib2xzJztcbmltcG9ydCB7IGV4cGVjdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuVGV4dCwgKHZtLCB7IG9wMTogdGV4dCB9KSA9PiB7XG4gIHZtLmVsZW1lbnRzKCkuYXBwZW5kVGV4dCh2bVtDT05TVEFOVFNdLmdldFZhbHVlKHRleHQpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQ29tbWVudCwgKHZtLCB7IG9wMTogdGV4dCB9KSA9PiB7XG4gIHZtLmVsZW1lbnRzKCkuYXBwZW5kQ29tbWVudCh2bVtDT05TVEFOVFNdLmdldFZhbHVlKHRleHQpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuT3BlbkVsZW1lbnQsICh2bSwgeyBvcDE6IHRhZyB9KSA9PiB7XG4gIHZtLmVsZW1lbnRzKCkub3BlbkVsZW1lbnQodm1bQ09OU1RBTlRTXS5nZXRWYWx1ZSh0YWcpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuT3BlbkR5bmFtaWNFbGVtZW50LCAodm0pID0+IHtcbiAgbGV0IHRhZ05hbWUgPSBjaGVjayh2YWx1ZUZvclJlZihjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSkpLCBDaGVja1N0cmluZyk7XG4gIHZtLmVsZW1lbnRzKCkub3BlbkVsZW1lbnQodGFnTmFtZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlB1c2hSZW1vdGVFbGVtZW50LCAodm0pID0+IHtcbiAgbGV0IGVsZW1lbnRSZWYgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG4gIGxldCBpbnNlcnRCZWZvcmVSZWYgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG4gIGxldCBndWlkUmVmID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuXG4gIGxldCBlbGVtZW50ID0gY2hlY2sodmFsdWVGb3JSZWYoZWxlbWVudFJlZiksIENoZWNrRWxlbWVudCk7XG4gIGxldCBpbnNlcnRCZWZvcmUgPSBjaGVjayh2YWx1ZUZvclJlZihpbnNlcnRCZWZvcmVSZWYpLCBDaGVja01heWJlKENoZWNrT3B0aW9uKENoZWNrTm9kZSkpKTtcbiAgbGV0IGd1aWQgPSB2YWx1ZUZvclJlZihndWlkUmVmKSBhcyBzdHJpbmc7XG5cbiAgaWYgKCFpc0NvbnN0UmVmKGVsZW1lbnRSZWYpKSB7XG4gICAgdm0udXBkYXRlV2l0aChuZXcgQXNzZXJ0KGVsZW1lbnRSZWYpKTtcbiAgfVxuXG4gIGlmIChpbnNlcnRCZWZvcmUgIT09IHVuZGVmaW5lZCAmJiAhaXNDb25zdFJlZihpbnNlcnRCZWZvcmVSZWYpKSB7XG4gICAgdm0udXBkYXRlV2l0aChuZXcgQXNzZXJ0KGluc2VydEJlZm9yZVJlZikpO1xuICB9XG5cbiAgbGV0IGJsb2NrID0gdm0uZWxlbWVudHMoKS5wdXNoUmVtb3RlRWxlbWVudChlbGVtZW50LCBndWlkLCBpbnNlcnRCZWZvcmUpO1xuICBpZiAoYmxvY2spIHZtLmFzc29jaWF0ZURlc3Ryb3lhYmxlKGJsb2NrKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUG9wUmVtb3RlRWxlbWVudCwgKHZtKSA9PiB7XG4gIHZtLmVsZW1lbnRzKCkucG9wUmVtb3RlRWxlbWVudCgpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5GbHVzaEVsZW1lbnQsICh2bSkgPT4ge1xuICBsZXQgb3BlcmF0aW9ucyA9IGNoZWNrKHZtLmZldGNoVmFsdWUoJHQwKSwgQ2hlY2tPcGVyYXRpb25zKTtcbiAgbGV0IG1vZGlmaWVyczogT3B0aW9uPE1vZGlmaWVySW5zdGFuY2VbXT4gPSBudWxsO1xuXG4gIGlmIChvcGVyYXRpb25zKSB7XG4gICAgbW9kaWZpZXJzID0gb3BlcmF0aW9ucy5mbHVzaCh2bSk7XG4gICAgdm0ubG9hZFZhbHVlKCR0MCwgbnVsbCk7XG4gIH1cblxuICB2bS5lbGVtZW50cygpLmZsdXNoRWxlbWVudChtb2RpZmllcnMpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5DbG9zZUVsZW1lbnQsICh2bSkgPT4ge1xuICBsZXQgbW9kaWZpZXJzID0gdm0uZWxlbWVudHMoKS5jbG9zZUVsZW1lbnQoKTtcblxuICBpZiAobW9kaWZpZXJzKSB7XG4gICAgbW9kaWZpZXJzLmZvckVhY2goKG1vZGlmaWVyKSA9PiB7XG4gICAgICB2bS5lbnYuc2NoZWR1bGVJbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIpO1xuICAgICAgbGV0IHsgbWFuYWdlciwgc3RhdGUgfSA9IG1vZGlmaWVyO1xuICAgICAgbGV0IGQgPSBtYW5hZ2VyLmdldERlc3Ryb3lhYmxlKHN0YXRlKTtcblxuICAgICAgaWYgKGQpIHtcbiAgICAgICAgdm0uYXNzb2NpYXRlRGVzdHJveWFibGUoZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuTW9kaWZpZXIsICh2bSwgeyBvcDE6IGhhbmRsZSB9KSA9PiB7XG4gIGlmICh2bS5lbnYuaXNJbnRlcmFjdGl2ZSA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBsZXQgZGVmaW5pdGlvbiA9IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8TW9kaWZpZXJEZWZpbml0aW9uPihoYW5kbGUpO1xuICBsZXQgeyBtYW5hZ2VyIH0gPSBkZWZpbml0aW9uO1xuXG4gIGxldCBzdGFjayA9IHZtLnN0YWNrO1xuICBsZXQgYXJncyA9IGNoZWNrKHN0YWNrLnBvcEpzKCksIENoZWNrQXJndW1lbnRzKTtcbiAgbGV0IHsgY29uc3RydWN0aW5nLCB1cGRhdGVPcGVyYXRpb25zIH0gPSB2bS5lbGVtZW50cygpO1xuICBsZXQgZHluYW1pY1Njb3BlID0gdm0uZHluYW1pY1Njb3BlKCk7XG5cbiAgbGV0IHN0YXRlID0gbWFuYWdlci5jcmVhdGUoXG4gICAgdm0uZ2V0T3duZXIoKSxcbiAgICBleHBlY3QoY29uc3RydWN0aW5nLCAnQlVHOiBFbGVtZW50TW9kaWZpZXIgY291bGQgbm90IGZpbmQgdGhlIGVsZW1lbnQgaXQgYXBwbGllcyB0bycpLFxuICAgIGRlZmluaXRpb24uc3RhdGUsXG4gICAgYXJncyxcbiAgICBkeW5hbWljU2NvcGUsXG4gICAgdXBkYXRlT3BlcmF0aW9uc1xuICApO1xuXG4gIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZSA9IHtcbiAgICBtYW5hZ2VyLFxuICAgIHN0YXRlLFxuICAgIGRlZmluaXRpb24sXG4gIH07XG5cbiAgbGV0IG9wZXJhdGlvbnMgPSBleHBlY3QoXG4gICAgY2hlY2sodm0uZmV0Y2hWYWx1ZSgkdDApLCBDaGVja09wZXJhdGlvbnMpLFxuICAgICdCVUc6IEVsZW1lbnRNb2RpZmllciBjb3VsZCBub3QgZmluZCBvcGVyYXRpb25zIHRvIGFwcGVuZCB0bydcbiAgKTtcblxuICBvcGVyYXRpb25zLmFkZE1vZGlmaWVyKGluc3RhbmNlKTtcblxuICBsZXQgdGFnID0gbWFuYWdlci5nZXRUYWcoc3RhdGUpO1xuXG4gIGlmICh0YWcgIT09IG51bGwpIHtcbiAgICBjb25zdW1lVGFnKHRhZyk7XG4gICAgdm0udXBkYXRlV2l0aChuZXcgVXBkYXRlTW9kaWZpZXJPcGNvZGUodGFnLCBpbnN0YW5jZSkpO1xuICB9XG59KTtcblxuZXhwb3J0IGNsYXNzIFVwZGF0ZU1vZGlmaWVyT3Bjb2RlIGV4dGVuZHMgVXBkYXRpbmdPcGNvZGUge1xuICBwdWJsaWMgdHlwZSA9ICd1cGRhdGUtbW9kaWZpZXInO1xuICBwcml2YXRlIGxhc3RVcGRhdGVkOiBSZXZpc2lvbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGFnOiBUYWcsIHByaXZhdGUgbW9kaWZpZXI6IE1vZGlmaWVySW5zdGFuY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGFzdFVwZGF0ZWQgPSB2YWx1ZUZvclRhZyh0YWcpO1xuICB9XG5cbiAgZXZhbHVhdGUodm06IFVwZGF0aW5nVk0pIHtcbiAgICBsZXQgeyBtb2RpZmllciwgdGFnLCBsYXN0VXBkYXRlZCB9ID0gdGhpcztcblxuICAgIGNvbnN1bWVUYWcodGFnKTtcblxuICAgIGlmICghdmFsaWRhdGVUYWcodGFnLCBsYXN0VXBkYXRlZCkpIHtcbiAgICAgIHZtLmVudi5zY2hlZHVsZVVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyKTtcbiAgICAgIHRoaXMubGFzdFVwZGF0ZWQgPSB2YWx1ZUZvclRhZyh0YWcpO1xuICAgIH1cbiAgfVxufVxuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuU3RhdGljQXR0ciwgKHZtLCB7IG9wMTogX25hbWUsIG9wMjogX3ZhbHVlLCBvcDM6IF9uYW1lc3BhY2UgfSkgPT4ge1xuICBsZXQgbmFtZSA9IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfbmFtZSk7XG4gIGxldCB2YWx1ZSA9IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfdmFsdWUpO1xuICBsZXQgbmFtZXNwYWNlID0gX25hbWVzcGFjZSA/IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfbmFtZXNwYWNlKSA6IG51bGw7XG5cbiAgdm0uZWxlbWVudHMoKS5zZXRTdGF0aWNBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIG5hbWVzcGFjZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkR5bmFtaWNBdHRyLCAodm0sIHsgb3AxOiBfbmFtZSwgb3AyOiBfdHJ1c3RpbmcsIG9wMzogX25hbWVzcGFjZSB9KSA9PiB7XG4gIGxldCBuYW1lID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lKTtcbiAgbGV0IHRydXN0aW5nID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxib29sZWFuPihfdHJ1c3RpbmcpO1xuICBsZXQgcmVmZXJlbmNlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuICBsZXQgdmFsdWUgPSB2YWx1ZUZvclJlZihyZWZlcmVuY2UpO1xuICBsZXQgbmFtZXNwYWNlID0gX25hbWVzcGFjZSA/IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfbmFtZXNwYWNlKSA6IG51bGw7XG5cbiAgbGV0IGF0dHJpYnV0ZSA9IHZtLmVsZW1lbnRzKCkuc2V0RHluYW1pY0F0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgdHJ1c3RpbmcsIG5hbWVzcGFjZSk7XG5cbiAgaWYgKCFpc0NvbnN0UmVmKHJlZmVyZW5jZSkpIHtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBVcGRhdGVEeW5hbWljQXR0cmlidXRlT3Bjb2RlKHJlZmVyZW5jZSwgYXR0cmlidXRlKSk7XG4gIH1cbn0pO1xuXG5leHBvcnQgY2xhc3MgVXBkYXRlRHluYW1pY0F0dHJpYnV0ZU9wY29kZSBleHRlbmRzIFVwZGF0aW5nT3Bjb2RlIHtcbiAgcHVibGljIHR5cGUgPSAncGF0Y2gtZWxlbWVudCc7XG5cbiAgcHVibGljIGxhc3RWYWx1ZTogdW5rbm93bjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZmVyZW5jZTogUmVmZXJlbmNlPHVua25vd24+LCBwcml2YXRlIGF0dHJpYnV0ZTogRHluYW1pY0F0dHJpYnV0ZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZUZvclJlZihyZWZlcmVuY2UpO1xuICB9XG5cbiAgZXZhbHVhdGUodm06IFVwZGF0aW5nVk0pIHtcbiAgICBsZXQgeyBhdHRyaWJ1dGUsIHJlZmVyZW5jZSwgbGFzdFZhbHVlIH0gPSB0aGlzO1xuICAgIGxldCBjdXJyZW50VmFsdWUgPSB2YWx1ZUZvclJlZihyZWZlcmVuY2UpO1xuXG4gICAgaWYgKGN1cnJlbnRWYWx1ZSAhPT0gbGFzdFZhbHVlKSB7XG4gICAgICBhdHRyaWJ1dGUudXBkYXRlKGN1cnJlbnRWYWx1ZSwgdm0uZW52KTtcbiAgICAgIHRoaXMubGFzdFZhbHVlID0gY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -15,2 +15,54 @@ "use strict";

var _env = require("@glimmer/env");
var _curriedHelper = require("../../helpers/curried-helper");
var _curryHelper = _interopRequireDefault(require("../../references/curry-helper"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_opcodes.APPEND_OPCODES.add(108
/* CurryHelper */
, vm => {
let stack = vm.stack;
let definition = stack.popJs();
let capturedArgs = stack.popJs();
let owner = vm.getOwner();
vm.loadValue(_vm.$v0, (0, _curryHelper.default)(definition, owner, capturedArgs));
});
_opcodes.APPEND_OPCODES.add(107
/* DynamicHelper */
, (vm, {
op1: _definitionRegister
}) => {
let stack = vm.stack;
let args = stack.popJs();
let ref = vm.fetchValue(_definitionRegister);
let definition = (0, _reference.valueForRef)(ref);
if ((0, _curriedHelper.isCurriedHelperDefinition)(definition)) {
let [resolvedDef, owner] = (0, _curriedHelper.resolveCurriedHelperDefinition)(definition, args);
let helper = resolveHelper(vm[_symbols.CONSTANTS], resolvedDef, ref);
vm.pushRootScope(0, owner);
vm.loadValue(_vm.$v0, helper(args, vm));
vm.popScope();
} else if (typeof definition === 'function' || typeof definition === 'object' && definition !== null) {
let helper = resolveHelper(vm[_symbols.CONSTANTS], definition, ref);
vm.loadValue(_vm.$v0, helper(args, vm));
} else {
vm.loadValue(_vm.$v0, _reference.UNDEFINED_REFERENCE);
}
});
function resolveHelper(constants, definition, ref) {
let handle = constants.helper(definition, null, true);
if (_env.DEBUG && handle === null) {
throw new Error(`Expected a dynamic helper definition, but received an object or function that did not have a helper manager associated with it. The dynamic invocation was \`{{${ref.debugLabel}}}\` or \`(${ref.debugLabel})\`, and the incorrect definition is the value at the path \`${ref.debugLabel}\`, which was: ${(0, _util.debugToString)(definition)}`);
}
return constants.getValue(handle);
}
_opcodes.APPEND_OPCODES.add(16

@@ -182,2 +234,2 @@ /* Helper */

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvZXhwcmVzc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFrQkE7O0FBSUEsd0JBQUEsR0FBQSxDQUFrQjtBQUFBO0FBQWxCLEVBQThCLENBQUEsRUFBQSxFQUFLO0FBQUUsRUFBQSxHQUFHLEVBQUU7QUFBUCxDQUFMLEtBQXdCO0FBQ3BELE1BQUksS0FBSyxHQUFHLEVBQUUsQ0FBZCxLQUFBOztBQUNBLE1BQUksTUFBTSxHQUFTLEVBQUUsQ0FBRixrQkFBRSxDQUFGLENBQUEsUUFBQSxDQUFuQixNQUFtQixDQUFuQjs7QUFDQSxNQUFJLElBQUksR0FBUyxLQUFLLENBQXRCLEtBQWlCLEVBQWpCO0FBQ0EsTUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFBLElBQUEsRUFBbEIsRUFBa0IsQ0FBbEI7QUFFQSxFQUFBLEVBQUUsQ0FBRixTQUFBLENBQUEsT0FBQSxFQUFBLEtBQUE7QUFORixDQUFBOztBQVNBLHdCQUFBLEdBQUEsQ0FBa0I7QUFBQTtBQUFsQixFQUFtQyxDQUFBLEVBQUEsRUFBSztBQUFFLEVBQUEsR0FBRyxFQUFFO0FBQVAsQ0FBTCxLQUF3QjtBQUN6RCxNQUFJLElBQUksR0FBRyxFQUFFLENBQUYsa0JBQUEsQ0FBWCxNQUFXLENBQVg7QUFFQSxFQUFBLEVBQUUsQ0FBRixLQUFBLENBQUEsTUFBQSxDQUFBLElBQUE7QUFIRixDQUFBOztBQU1BLHdCQUFBLEdBQUEsQ0FBa0I7QUFBQTtBQUFsQixFQUFtQyxDQUFBLEVBQUEsRUFBSztBQUFFLEVBQUEsR0FBRyxFQUFFO0FBQVAsQ0FBTCxLQUF3QjtBQUN6RCxNQUFJLElBQUksR0FBUyxFQUFFLENBQUYsS0FBQSxDQUFqQixHQUFpQixFQUFqQjtBQUNBLEVBQUEsRUFBRSxDQUFGLEtBQUEsR0FBQSxVQUFBLENBQUEs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S0FBSyxHQUFTLEVBQUUsQ0FBRixLQUFBLENBQWxCLEtBQWtCLEVBQWxCO0FBRUEsTUFBSSxjQUFjLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBTCxVQUFBLENBQTlCLE1BQUE7QUFDQSxFQUFBLEVBQUUsQ0FBRixLQUFBLENBQUEsTUFBQSxDQUFnQixjQUFjLEdBQUEseUJBQUEsR0FBOUIsMEJBQUE7QUFWRixDQUFBOztBQWFBLHdCQUFBLEdBQUEsQ0FBa0I7QUFBQTtBQUFsQixFQUE4QixDQUFBLEVBQUEsRUFBSztBQUFFLEVBQUEsR0FBRyxFQUFFO0FBQVAsQ0FBTCxLQUF1QjtBQUNuRCxNQUFJLEdBQUcsR0FBOEIsSUFBQSxLQUFBLENBQXJDLEtBQXFDLENBQXJDOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQVYsS0FBQSxFQUFvQixDQUFDLEdBQXJCLENBQUEsRUFBMkIsQ0FBM0IsRUFBQSxFQUFnQztBQUM5QixRQUFJLE1BQU0sR0FBRyxDQUFDLEdBQWQsQ0FBQTtBQUNBLElBQUEsR0FBRyxDQUFILE1BQUcsQ0FBSCxHQUFvQixFQUFFLENBQUYsS0FBQSxDQUFwQixHQUFvQixFQUFwQjtBQUNEOztBQUVELEVBQUEsRUFBRSxDQUFGLEtBQUEsQ0FBQSxNQUFBLENBQWdCLDZCQUFoQixHQUFnQixDQUFoQjtBQVJGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcCwgU2NvcGVCbG9jaywgVk0gYXMgUHVibGljVk0gfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIFJlZmVyZW5jZSxcbiAgY2hpbGRSZWZGb3IsXG4gIFVOREVGSU5FRF9SRUZFUkVOQ0UsXG4gIFRSVUVfUkVGRVJFTkNFLFxuICBGQUxTRV9SRUZFUkVOQ0UsXG59IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyAkdjAgfSBmcm9tICdAZ2xpbW1lci92bSc7XG5pbXBvcnQgeyBBUFBFTkRfT1BDT0RFUyB9IGZyb20gJy4uLy4uL29wY29kZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29uY2F0UmVmIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMvY29uY2F0JztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHtcbiAgY2hlY2ssXG4gIENoZWNrT3B0aW9uLFxuICBDaGVja0hhbmRsZSxcbiAgQ2hlY2tCbG9ja1N5bWJvbFRhYmxlLFxuICBDaGVja09yLFxuICBDaGVja01heWJlLFxufSBmcm9tICdAZ2xpbW1lci9kZWJ1Zyc7XG5pbXBvcnQge1xuICBDaGVja0FyZ3VtZW50cyxcbiAgQ2hlY2tSZWZlcmVuY2UsXG4gIENoZWNrQ29tcGlsYWJsZUJsb2NrLFxuICBDaGVja1Njb3BlLFxuICBDaGVja0hlbHBlcixcbiAgQ2hlY2tVbmRlZmluZWRSZWZlcmVuY2UsXG4gIENoZWNrU2NvcGVCbG9jayxcbn0gZnJvbSAnLi8tZGVidWctc3RyaXAnO1xuaW1wb3J0IHsgQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vc3ltYm9scyc7XG5cbmV4cG9ydCB0eXBlIEZ1bmN0aW9uRXhwcmVzc2lvbjxUPiA9ICh2bTogUHVibGljVk0pID0+IFJlZmVyZW5jZTxUPjtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkhlbHBlciwgKHZtLCB7IG9wMTogaGFuZGxlIH0pID0+IHtcbiAgbGV0IHN0YWNrID0gdm0uc3RhY2s7XG4gIGxldCBoZWxwZXIgPSBjaGVjayh2bVtDT05TVEFOVFNdLmdldFZhbHVlKGhhbmRsZSksIENoZWNrSGVscGVyKTtcbiAgbGV0IGFyZ3MgPSBjaGVjayhzdGFjay5wb3BKcygpLCBDaGVja0FyZ3VtZW50cyk7XG4gIGxldCB2YWx1ZSA9IGhlbHBlcihhcmdzLCB2bSk7XG5cbiAgdm0ubG9hZFZhbHVlKCR2MCwgdmFsdWUpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5HZXRWYXJpYWJsZSwgKHZtLCB7IG9wMTogc3ltYm9sIH0pID0+IHtcbiAgbGV0IGV4cHIgPSB2bS5yZWZlcmVuY2VGb3JTeW1ib2woc3ltYm9sKTtcblxuICB2bS5zdGFjay5wdXNoSnMoZXhwcik7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlNldFZhcmlhYmxlLCAodm0sIHsgb3AxOiBzeW1ib2wgfSkgPT4ge1xuICBsZXQgZXhwciA9IGNoZWNrKHZtLnN0YWNrLnBvcCgpLCBDaGVja1JlZmVyZW5jZSk7XG4gIHZtLnNjb3BlKCkuYmluZFN5bWJvbChzeW1ib2wsIGV4cHIpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5TZXRCbG9jaywgKHZtLCB7IG9wMTogc3ltYm9sIH0pID0+IHtcbiAgbGV0IGhhbmRsZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrQ29tcGlsYWJsZUJsb2NrKTtcbiAgbGV0IHNjb3BlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tTY29wZSk7XG4gIGxldCB0YWJsZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrQmxvY2tTeW1ib2xUYWJsZSk7XG5cbiAgdm0uc2NvcGUoKS5iaW5kQmxvY2soc3ltYm9sLCBbaGFuZGxlLCBzY29wZSwgdGFibGVdKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUmVzb2x2ZU1heWJlTG9jYWwsICh2bSwgeyBvcDE6IF9uYW1lIH0pID0+IHtcbiAgbGV0IG5hbWUgPSB2bVtDT05TVEFOVFNdLmdldFZhbHVlPHN0cmluZz4oX25hbWUpO1xuICBsZXQgbG9jYWxzID0gdm0uc2NvcGUoKS5nZXRQYXJ0aWFsTWFwKCkhO1xuXG4gIGxldCByZWYgPSBsb2NhbHNbbmFtZV07XG4gIGlmIChyZWYgPT09IHVuZGVmaW5lZCkge1xuICAgIHJlZiA9IGNoaWxkUmVmRm9yKHZtLmdldFNlbGYoKSwgbmFtZSk7XG4gIH1cblxuICB2bS5zdGFjay5wdXNoSnMocmVmKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUm9vdFNjb3BlLCAodm0sIHsgb3AxOiBzeW1ib2xzIH0pID0+IHtcbiAgdm0ucHVzaFJvb3RTY29wZShzeW1ib2xzLCB2bS5nZXRPd25lcigpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuR2V0UHJvcGVydHksICh2bSwgeyBvcDE6IF9rZXkgfSkgPT4ge1xuICBsZXQga2V5ID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9rZXkpO1xuICBsZXQgZXhwciA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgdm0uc3RhY2sucHVzaEpzKGNoaWxkUmVmRm9yKGV4cHIsIGtleSkpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5HZXRCbG9jaywgKHZtLCB7IG9wMTogX2Jsb2NrIH0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSB2bS5zY29wZSgpLmdldEJsb2NrKF9ibG9jayk7XG5cbiAgaWYgKGJsb2NrID09PSBudWxsKSB7XG4gICAgc3RhY2sucHVzaE51bGwoKTtcbiAgfSBlbHNlIHtcbiAgICBzdGFjay5wdXNoSnMoYmxvY2spO1xuICB9XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlNwcmVhZEJsb2NrLCAodm0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSBjaGVjayhzdGFjay5wb3BKcygpLCBDaGVja09wdGlvbihDaGVja09yKENoZWNrU2NvcGVCbG9jaywgQ2hlY2tVbmRlZmluZWRSZWZlcmVuY2UpKSk7XG5cbiAgaWYgKGJsb2NrICYmICFpc1VuZGVmaW5lZFJlZmVyZW5jZShibG9jaykpIHtcbiAgICBsZXQgW2hhbmRsZU9yQ29tcGlsYWJsZSwgc2NvcGUsIHRhYmxlXSA9IGJsb2NrO1xuXG4gICAgc3RhY2sucHVzaEpzKHRhYmxlKTtcbiAgICBzdGFjay5wdXNoSnMoc2NvcGUpO1xuXG4gICAgaWYgKHR5cGVvZiBoYW5kbGVPckNvbXBpbGFibGUgPT09ICdudW1iZXInKSB7XG4gICAgICBzdGFjay5wdXNoU21hbGxJbnQoaGFuZGxlT3JDb21waWxhYmxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhY2sucHVzaEpzKGhhbmRsZU9yQ29tcGlsYWJsZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN0YWNrLnB1c2hOdWxsKCk7XG4gICAgc3RhY2sucHVzaE51bGwoKTtcbiAgICBzdGFjay5wdXNoTnVsbCgpO1xuICB9XG59KTtcblxuZnVuY3Rpb24gaXNVbmRlZmluZWRSZWZlcmVuY2UoaW5wdXQ6IFNjb3BlQmxvY2sgfCBSZWZlcmVuY2UpOiBpbnB1dCBpcyBSZWZlcmVuY2Uge1xuICBhc3NlcnQoXG4gICAgQXJyYXkuaXNBcnJheShpbnB1dCkgfHwgaW5wdXQgPT09IFVOREVGSU5FRF9SRUZFUkVOQ0UsXG4gICAgJ2EgcmVmZXJlbmNlIG90aGVyIHRoYW4gVU5ERUZJTkVEX1JFRkVSRU5DRSBpcyBpbGxlZ2FsIGhlcmUnXG4gICk7XG4gIHJldHVybiBpbnB1dCA9PT0gVU5ERUZJTkVEX1JFRkVSRU5DRTtcbn1cblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkhhc0Jsb2NrLCAodm0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSBjaGVjayhzdGFjay5wb3AoKSwgQ2hlY2tPcHRpb24oQ2hlY2tPcihDaGVja1Njb3BlQmxvY2ssIENoZWNrVW5kZWZpbmVkUmVmZXJlbmNlKSkpO1xuXG4gIGlmIChibG9jayAmJiAhaXNVbmRlZmluZWRSZWZlcmVuY2UoYmxvY2spKSB7XG4gICAgc3RhY2sucHVzaEpzKFRSVUVfUkVGRVJFTkNFKTtcbiAgfSBlbHNlIHtcbiAgICBzdGFjay5wdXNoSnMoRkFMU0VfUkVGRVJFTkNFKTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5IYXNCbG9ja1BhcmFtcywgKHZtKSA9PiB7XG4gIC8vIEZJWE1FKG1tdW4pOiBzaG91bGQgb25seSBuZWVkIHRvIHB1c2ggdGhlIHN5bWJvbCB0YWJsZVxuICBsZXQgYmxvY2sgPSB2bS5zdGFjay5wb3AoKTtcbiAgbGV0IHNjb3BlID0gdm0uc3RhY2sucG9wSnMoKTtcblxuICBjaGVjayhibG9jaywgQ2hlY2tNYXliZShDaGVja09yKENoZWNrSGFuZGxlLCBDaGVja0NvbXBpbGFibGVCbG9jaykpKTtcbiAgY2hlY2soc2NvcGUsIENoZWNrTWF5YmUoQ2hlY2tTY29wZSkpO1xuICBsZXQgdGFibGUgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja01heWJlKENoZWNrQmxvY2tTeW1ib2xUYWJsZSkpO1xuXG4gIGxldCBoYXNCbG9ja1BhcmFtcyA9IHRhYmxlICYmIHRhYmxlLnBhcmFtZXRlcnMubGVuZ3RoO1xuICB2bS5zdGFjay5wdXNoSnMoaGFzQmxvY2tQYXJhbXMgPyBUUlVFX1JFRkVSRU5DRSA6IEZBTFNFX1JFRkVSRU5DRSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkNvbmNhdCwgKHZtLCB7IG9wMTogY291bnQgfSkgPT4ge1xuICBsZXQgb3V0OiBBcnJheTxSZWZlcmVuY2U8dW5rbm93bj4+ID0gbmV3IEFycmF5KGNvdW50KTtcblxuICBmb3IgKGxldCBpID0gY291bnQ7IGkgPiAwOyBpLS0pIHtcbiAgICBsZXQgb2Zmc2V0ID0gaSAtIDE7XG4gICAgb3V0W29mZnNldF0gPSBjaGVjayh2bS5zdGFjay5wb3AoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuICB9XG5cbiAgdm0uc3RhY2sucHVzaEpzKGNyZWF0ZUNvbmNhdFJlZihvdXQpKTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvZXhwcmVzc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFtQkE7O0FBQ0E7O0FBQ0E7O0FBSUE7Ozs7QUFJQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBb0MsRUFBRCxJQUFPO0FBQ3hDLE1BQUksS0FBSyxHQUFHLEVBQUUsQ0FBZCxLQUFBO0FBRUEsTUFBSSxVQUFVLEdBQVMsS0FBSyxDQUE1QixLQUF1QixFQUF2QjtBQUNBLE1BQUksWUFBWSxHQUFTLEtBQUssQ0FBOUIsS0FBeUIsRUFBekI7QUFDQSxNQUFJLEtBQUssR0FBRyxFQUFFLENBQWQsUUFBWSxFQUFaO0FBRUEsRUFBQSxFQUFFLENBQUYsU0FBQSxDQUFBLE9BQUEsRUFBa0IsMEJBQW9CLFVBQXBCLEVBQW9CLEtBQXBCLEVBQWxCLFlBQWtCLENBQWxCO0FBUEYsQ0FBQTs7QUFVQSx3QkFBQSxHQUFBLENBQWtCO0FBQUE7QUFBbEIsRUFBcUMsQ0FBQSxFQUFBLEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBcUM7QUFDeEUsTUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFkLEtBQUE7QUFDQSxNQUFJLElBQUksR0FBUyxLQUFLLENBQXRCLEtBQWlCLEVBQWpCO0FBQ0EsTUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFGLFVBQUEsQ0FBVixtQkFBVSxDQUFWO0FBQ0EsTUFBSSxVQUFVLEdBQUcsNEJBQWpCLEdBQWlCLENBQWpCOztBQUVBLE1BQUksOENBQUosVUFBSSxDQUFKLEVBQTJDO0FBQ3pDLFFBQUksQ0FBQSxXQUFBLEVBQUEsS0FBQSxJQUF1QixtREFBOEIsVUFBOUIsRUFBM0IsSUFBMkIsQ0FBM0I7QUFFQSxRQUFJLE1BQU0sR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFILGtCQUFH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QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBdUI7QUFDbkQsTUFBSSxHQUFHLEdBQThCLElBQUEsS0FBQSxDQUFyQyxLQUFxQyxDQUFyQzs7QUFFQSxPQUFLLElBQUksQ0FBQyxHQUFWLEtBQUEsRUFBb0IsQ0FBQyxHQUFyQixDQUFBLEVBQTJCLENBQTNCLEVBQUEsRUFBZ0M7QUFDOUIsUUFBSSxNQUFNLEdBQUcsQ0FBQyxHQUFkLENBQUE7QUFDQSxJQUFBLEdBQUcsQ0FBSCxNQUFHLENBQUgsR0FBb0IsRUFBRSxDQUFGLEtBQUEsQ0FBcEIsR0FBb0IsRUFBcEI7QUFDRDs7QUFFRCxFQUFBLEVBQUUsQ0FBRixLQUFBLENBQUEsTUFBQSxDQUFnQiw2QkFBaEIsR0FBZ0IsQ0FBaEI7QUFSRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSGVscGVyLFxuICBIZWxwZXJEZWZpbml0aW9uU3RhdGUsXG4gIE9wLFxuICBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyxcbiAgUnVudGltZUNvbnN0YW50cyxcbiAgU2NvcGVCbG9jayxcbiAgVk0gYXMgUHVibGljVk0sXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgUmVmZXJlbmNlLFxuICBjaGlsZFJlZkZvcixcbiAgVU5ERUZJTkVEX1JFRkVSRU5DRSxcbiAgVFJVRV9SRUZFUkVOQ0UsXG4gIEZBTFNFX1JFRkVSRU5DRSxcbiAgdmFsdWVGb3JSZWYsXG59IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyAkdjAgfSBmcm9tICdAZ2xpbW1lci92bSc7XG5pbXBvcnQgeyBBUFBFTkRfT1BDT0RFUyB9IGZyb20gJy4uLy4uL29wY29kZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29uY2F0UmVmIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMvY29uY2F0JztcbmltcG9ydCB7IGFzc2VydCwgZGVidWdUb1N0cmluZyB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHtcbiAgY2hlY2ssXG4gIENoZWNrT3B0aW9uLFxuICBDaGVja0hhbmRsZSxcbiAgQ2hlY2tCbG9ja1N5bWJvbFRhYmxlLFxuICBDaGVja09yLFxuICBDaGVja01heWJlLFxufSBmcm9tICdAZ2xpbW1lci9kZWJ1Zyc7XG5pbXBvcnQge1xuICBDaGVja0FyZ3VtZW50cyxcbiAgQ2hlY2tSZWZlcmVuY2UsXG4gIENoZWNrQ29tcGlsYWJsZUJsb2NrLFxuICBDaGVja1Njb3BlLFxuICBDaGVja0hlbHBlcixcbiAgQ2hlY2tVbmRlZmluZWRSZWZlcmVuY2UsXG4gIENoZWNrU2NvcGVCbG9jayxcbiAgQ2hlY2tDYXB0dXJlZEFyZ3VtZW50cyxcbn0gZnJvbSAnLi8tZGVidWctc3RyaXAnO1xuaW1wb3J0IHsgQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vc3ltYm9scyc7XG5pbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBpc0N1cnJpZWRIZWxwZXJEZWZpbml0aW9uLFxuICByZXNvbHZlQ3VycmllZEhlbHBlckRlZmluaXRpb24sXG59IGZyb20gJy4uLy4uL2hlbHBlcnMvY3VycmllZC1oZWxwZXInO1xuaW1wb3J0IGNyZWF0ZUN1cnJ5SGVscGVyUmVmIGZyb20gJy4uLy4uL3JlZmVyZW5jZXMvY3VycnktaGVscGVyJztcblxuZXhwb3J0IHR5cGUgRnVuY3Rpb25FeHByZXNzaW9uPFQ+ID0gKHZtOiBQdWJsaWNWTSkgPT4gUmVmZXJlbmNlPFQ+O1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQ3VycnlIZWxwZXIsICh2bSkgPT4ge1xuICBsZXQgc3RhY2sgPSB2bS5zdGFjaztcblxuICBsZXQgZGVmaW5pdGlvbiA9IGNoZWNrKHN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgbGV0IGNhcHR1cmVkQXJncyA9IGNoZWNrKHN0YWNrLnBvcEpzKCksIENoZWNrQ2FwdHVyZWRBcmd1bWVudHMpO1xuICBsZXQgb3duZXIgPSB2bS5nZXRPd25lcigpO1xuXG4gIHZtLmxvYWRWYWx1ZSgkdjAsIGNyZWF0ZUN1cnJ5SGVscGVyUmVmKGRlZmluaXRpb24sIG93bmVyLCBjYXB0dXJlZEFyZ3MpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuRHluYW1pY0hlbHBlciwgKHZtLCB7IG9wMTogX2RlZmluaXRpb25SZWdpc3RlciB9KSA9PiB7XG4gIGxldCBzdGFjayA9IHZtLnN0YWNrO1xuICBsZXQgYXJncyA9IGNoZWNrKHN0YWNrLnBvcEpzKCksIENoZWNrQXJndW1lbnRzKTtcbiAgbGV0IHJlZiA9IHZtLmZldGNoVmFsdWU8UmVmZXJlbmNlPihfZGVmaW5pdGlvblJlZ2lzdGVyKTtcbiAgbGV0IGRlZmluaXRpb24gPSB2YWx1ZUZvclJlZihyZWYpO1xuXG4gIGlmIChpc0N1cnJpZWRIZWxwZXJEZWZpbml0aW9uKGRlZmluaXRpb24pKSB7XG4gICAgbGV0IFtyZXNvbHZlZERlZiwgb3duZXJdID0gcmVzb2x2ZUN1cnJpZWRIZWxwZXJEZWZpbml0aW9uKGRlZmluaXRpb24sIGFyZ3MpO1xuXG4gICAgbGV0IGhlbHBlciA9IHJlc29sdmVIZWxwZXIodm1bQ09OU1RBTlRTXSwgcmVzb2x2ZWREZWYsIHJlZik7XG5cbiAgICB2bS5wdXNoUm9vdFNjb3BlKDAsIG93bmVyKTtcbiAgICB2bS5sb2FkVmFsdWUoJHYwLCBoZWxwZXIoYXJncywgdm0pKTtcbiAgICB2bS5wb3BTY29wZSgpO1xuICB9IGVsc2UgaWYgKFxuICAgIHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nIHx8XG4gICAgKHR5cGVvZiBkZWZpbml0aW9uID09PSAnb2JqZWN0JyAmJiBkZWZpbml0aW9uICE9PSBudWxsKVxuICApIHtcbiAgICBsZXQgaGVscGVyID0gcmVzb2x2ZUhlbHBlcih2bVtDT05TVEFOVFNdLCBkZWZpbml0aW9uLCByZWYpO1xuXG4gICAgdm0ubG9hZFZhbHVlKCR2MCwgaGVscGVyKGFyZ3MsIHZtKSk7XG4gIH0gZWxzZSB7XG4gICAgdm0ubG9hZFZhbHVlKCR2MCwgVU5ERUZJTkVEX1JFRkVSRU5DRSk7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiByZXNvbHZlSGVscGVyKFxuICBjb25zdGFudHM6IFJ1bnRpbWVDb25zdGFudHMgJiBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyxcbiAgZGVmaW5pdGlvbjogSGVscGVyRGVmaW5pdGlvblN0YXRlLFxuICByZWY6IFJlZmVyZW5jZVxuKTogSGVscGVyIHtcbiAgbGV0IGhhbmRsZSA9IGNvbnN0YW50cy5oZWxwZXIoZGVmaW5pdGlvbiwgbnVsbCwgdHJ1ZSkhO1xuXG4gIGlmIChERUJVRyAmJiBoYW5kbGUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRXhwZWN0ZWQgYSBkeW5hbWljIGhlbHBlciBkZWZpbml0aW9uLCBidXQgcmVjZWl2ZWQgYW4gb2JqZWN0IG9yIGZ1bmN0aW9uIHRoYXQgZGlkIG5vdCBoYXZlIGEgaGVscGVyIG1hbmFnZXIgYXNzb2NpYXRlZCB3aXRoIGl0LiBUaGUgZHluYW1pYyBpbnZvY2F0aW9uIHdhcyBcXGB7eyR7XG4gICAgICAgIHJlZi5kZWJ1Z0xhYmVsXG4gICAgICB9fX1cXGAgb3IgXFxgKCR7cmVmLmRlYnVnTGFiZWx9KVxcYCwgYW5kIHRoZSBpbmNvcnJlY3QgZGVmaW5pdGlvbiBpcyB0aGUgdmFsdWUgYXQgdGhlIHBhdGggXFxgJHtcbiAgICAgICAgcmVmLmRlYnVnTGFiZWxcbiAgICAgIH1cXGAsIHdoaWNoIHdhczogJHtkZWJ1Z1RvU3RyaW5nIShkZWZpbml0aW9uKX1gXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBjb25zdGFudHMuZ2V0VmFsdWUoaGFuZGxlKTtcbn1cblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkhlbHBlciwgKHZtLCB7IG9wMTogaGFuZGxlIH0pID0+IHtcbiAgbGV0IHN0YWNrID0gdm0uc3RhY2s7XG4gIGxldCBoZWxwZXIgPSBjaGVjayh2bVtDT05TVEFOVFNdLmdldFZhbHVlKGhhbmRsZSksIENoZWNrSGVscGVyKTtcbiAgbGV0IGFyZ3MgPSBjaGVjayhzdGFjay5wb3BKcygpLCBDaGVja0FyZ3VtZW50cyk7XG4gIGxldCB2YWx1ZSA9IGhlbHBlcihhcmdzLCB2bSk7XG5cbiAgdm0ubG9hZFZhbHVlKCR2MCwgdmFsdWUpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5HZXRWYXJpYWJsZSwgKHZtLCB7IG9wMTogc3ltYm9sIH0pID0+IHtcbiAgbGV0IGV4cHIgPSB2bS5yZWZlcmVuY2VGb3JTeW1ib2woc3ltYm9sKTtcblxuICB2bS5zdGFjay5wdXNoSnMoZXhwcik7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlNldFZhcmlhYmxlLCAodm0sIHsgb3AxOiBzeW1ib2wgfSkgPT4ge1xuICBsZXQgZXhwciA9IGNoZWNrKHZtLnN0YWNrLnBvcCgpLCBDaGVja1JlZmVyZW5jZSk7XG4gIHZtLnNjb3BlKCkuYmluZFN5bWJvbChzeW1ib2wsIGV4cHIpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5TZXRCbG9jaywgKHZtLCB7IG9wMTogc3ltYm9sIH0pID0+IHtcbiAgbGV0IGhhbmRsZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrQ29tcGlsYWJsZUJsb2NrKTtcbiAgbGV0IHNjb3BlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tTY29wZSk7XG4gIGxldCB0YWJsZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrQmxvY2tTeW1ib2xUYWJsZSk7XG5cbiAgdm0uc2NvcGUoKS5iaW5kQmxvY2soc3ltYm9sLCBbaGFuZGxlLCBzY29wZSwgdGFibGVdKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUmVzb2x2ZU1heWJlTG9jYWwsICh2bSwgeyBvcDE6IF9uYW1lIH0pID0+IHtcbiAgbGV0IG5hbWUgPSB2bVtDT05TVEFOVFNdLmdldFZhbHVlPHN0cmluZz4oX25hbWUpO1xuICBsZXQgbG9jYWxzID0gdm0uc2NvcGUoKS5nZXRQYXJ0aWFsTWFwKCkhO1xuXG4gIGxldCByZWYgPSBsb2NhbHNbbmFtZV07XG4gIGlmIChyZWYgPT09IHVuZGVmaW5lZCkge1xuICAgIHJlZiA9IGNoaWxkUmVmRm9yKHZtLmdldFNlbGYoKSwgbmFtZSk7XG4gIH1cblxuICB2bS5zdGFjay5wdXNoSnMocmVmKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUm9vdFNjb3BlLCAodm0sIHsgb3AxOiBzeW1ib2xzIH0pID0+IHtcbiAgdm0ucHVzaFJvb3RTY29wZShzeW1ib2xzLCB2bS5nZXRPd25lcigpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuR2V0UHJvcGVydHksICh2bSwgeyBvcDE6IF9rZXkgfSkgPT4ge1xuICBsZXQga2V5ID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9rZXkpO1xuICBsZXQgZXhwciA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgdm0uc3RhY2sucHVzaEpzKGNoaWxkUmVmRm9yKGV4cHIsIGtleSkpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5HZXRCbG9jaywgKHZtLCB7IG9wMTogX2Jsb2NrIH0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSB2bS5zY29wZSgpLmdldEJsb2NrKF9ibG9jayk7XG5cbiAgaWYgKGJsb2NrID09PSBudWxsKSB7XG4gICAgc3RhY2sucHVzaE51bGwoKTtcbiAgfSBlbHNlIHtcbiAgICBzdGFjay5wdXNoSnMoYmxvY2spO1xuICB9XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlNwcmVhZEJsb2NrLCAodm0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSBjaGVjayhzdGFjay5wb3BKcygpLCBDaGVja09wdGlvbihDaGVja09yKENoZWNrU2NvcGVCbG9jaywgQ2hlY2tVbmRlZmluZWRSZWZlcmVuY2UpKSk7XG5cbiAgaWYgKGJsb2NrICYmICFpc1VuZGVmaW5lZFJlZmVyZW5jZShibG9jaykpIHtcbiAgICBsZXQgW2hhbmRsZU9yQ29tcGlsYWJsZSwgc2NvcGUsIHRhYmxlXSA9IGJsb2NrO1xuXG4gICAgc3RhY2sucHVzaEpzKHRhYmxlKTtcbiAgICBzdGFjay5wdXNoSnMoc2NvcGUpO1xuXG4gICAgaWYgKHR5cGVvZiBoYW5kbGVPckNvbXBpbGFibGUgPT09ICdudW1iZXInKSB7XG4gICAgICBzdGFjay5wdXNoU21hbGxJbnQoaGFuZGxlT3JDb21waWxhYmxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhY2sucHVzaEpzKGhhbmRsZU9yQ29tcGlsYWJsZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN0YWNrLnB1c2hOdWxsKCk7XG4gICAgc3RhY2sucHVzaE51bGwoKTtcbiAgICBzdGFjay5wdXNoTnVsbCgpO1xuICB9XG59KTtcblxuZnVuY3Rpb24gaXNVbmRlZmluZWRSZWZlcmVuY2UoaW5wdXQ6IFNjb3BlQmxvY2sgfCBSZWZlcmVuY2UpOiBpbnB1dCBpcyBSZWZlcmVuY2Uge1xuICBhc3NlcnQoXG4gICAgQXJyYXkuaXNBcnJheShpbnB1dCkgfHwgaW5wdXQgPT09IFVOREVGSU5FRF9SRUZFUkVOQ0UsXG4gICAgJ2EgcmVmZXJlbmNlIG90aGVyIHRoYW4gVU5ERUZJTkVEX1JFRkVSRU5DRSBpcyBpbGxlZ2FsIGhlcmUnXG4gICk7XG4gIHJldHVybiBpbnB1dCA9PT0gVU5ERUZJTkVEX1JFRkVSRU5DRTtcbn1cblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkhhc0Jsb2NrLCAodm0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSBjaGVjayhzdGFjay5wb3AoKSwgQ2hlY2tPcHRpb24oQ2hlY2tPcihDaGVja1Njb3BlQmxvY2ssIENoZWNrVW5kZWZpbmVkUmVmZXJlbmNlKSkpO1xuXG4gIGlmIChibG9jayAmJiAhaXNVbmRlZmluZWRSZWZlcmVuY2UoYmxvY2spKSB7XG4gICAgc3RhY2sucHVzaEpzKFRSVUVfUkVGRVJFTkNFKTtcbiAgfSBlbHNlIHtcbiAgICBzdGFjay5wdXNoSnMoRkFMU0VfUkVGRVJFTkNFKTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5IYXNCbG9ja1BhcmFtcywgKHZtKSA9PiB7XG4gIC8vIEZJWE1FKG1tdW4pOiBzaG91bGQgb25seSBuZWVkIHRvIHB1c2ggdGhlIHN5bWJvbCB0YWJsZVxuICBsZXQgYmxvY2sgPSB2bS5zdGFjay5wb3AoKTtcbiAgbGV0IHNjb3BlID0gdm0uc3RhY2sucG9wSnMoKTtcblxuICBjaGVjayhibG9jaywgQ2hlY2tNYXliZShDaGVja09yKENoZWNrSGFuZGxlLCBDaGVja0NvbXBpbGFibGVCbG9jaykpKTtcbiAgY2hlY2soc2NvcGUsIENoZWNrTWF5YmUoQ2hlY2tTY29wZSkpO1xuICBsZXQgdGFibGUgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja01heWJlKENoZWNrQmxvY2tTeW1ib2xUYWJsZSkpO1xuXG4gIGxldCBoYXNCbG9ja1BhcmFtcyA9IHRhYmxlICYmIHRhYmxlLnBhcmFtZXRlcnMubGVuZ3RoO1xuICB2bS5zdGFjay5wdXNoSnMoaGFzQmxvY2tQYXJhbXMgPyBUUlVFX1JFRkVSRU5DRSA6IEZBTFNFX1JFRkVSRU5DRSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkNvbmNhdCwgKHZtLCB7IG9wMTogY291bnQgfSkgPT4ge1xuICBsZXQgb3V0OiBBcnJheTxSZWZlcmVuY2U8dW5rbm93bj4+ID0gbmV3IEFycmF5KGNvdW50KTtcblxuICBmb3IgKGxldCBpID0gY291bnQ7IGkgPiAwOyBpLS0pIHtcbiAgICBsZXQgb2Zmc2V0ID0gaSAtIDE7XG4gICAgb3V0W29mZnNldF0gPSBjaGVjayh2bS5zdGFjay5wb3AoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuICB9XG5cbiAgdm0uc3RhY2sucHVzaEpzKGNyZWF0ZUNvbmNhdFJlZihvdXQpKTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -68,3 +68,3 @@ "use strict";

exports.TemplateOnlyComponentDefinition = TemplateOnlyComponentDefinition;
(0, _manager.setInternalComponentManager)(() => TEMPLATE_ONLY_COMPONENT_MANAGER, TemplateOnlyComponentDefinition.prototype);
(0, _manager.setInternalComponentManager)(TEMPLATE_ONLY_COMPONENT_MANAGER, TemplateOnlyComponentDefinition.prototype);
/**

@@ -98,2 +98,2 @@ This utility function is used to declare a given component has no backing class. When the rendering engine detects this it

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTSxZQUFZLEdBQWtDO0FBQ2xELEVBQUEsYUFBYSxFQURxQyxLQUFBO0FBRWxELEVBQUEsVUFBVSxFQUZ3QyxLQUFBO0FBR2xELEVBQUEsV0FBVyxFQUh1QyxLQUFBO0FBSWxELEVBQUEsVUFBVSxFQUp3QyxLQUFBO0FBS2xELEVBQUEsYUFBYSxFQUxxQyxLQUFBO0FBTWxELEVBQUEsV0FBVyxFQU51QyxLQUFBO0FBT2xELEVBQUEsWUFBWSxFQVBzQyxLQUFBO0FBUWxELEVBQUEsWUFBWSxFQVJzQyxLQUFBO0FBU2xELEVBQUEsVUFBVSxFQVR3QyxLQUFBO0FBVWxELEVBQUEsY0FBYyxFQVZvQyxLQUFBO0FBV2xELEVBQUEsT0FBTyxFQVgyQyxLQUFBO0FBWWxELEVBQUEsV0FBVyxFQVp1QyxLQUFBO0FBYWxELEVBQUEsV0FBVyxFQUFFO0FBYnFDLENBQXBEOztBQWdCTSxNQUFBLDRCQUFBLENBQW1DO0FBQ3ZDLEVBQUEsZUFBZSxHQUFBO0FBQ2IsV0FBQSxZQUFBO0FBQ0Q7O0FBRUQsRUFBQSxZQUFZLENBQUM7QUFBRSxJQUFBO0FBQUYsR0FBRCxFQUEwQztBQUNwRCxXQUFBLElBQUE7QUFDRDs7QUFFRCxFQUFBLE9BQU8sR0FBQTtBQUNMLFdBQUEseUJBQUE7QUFDRDs7QUFFRCxFQUFBLGNBQWMsR0FBQTtBQUNaLFdBQUEsSUFBQTtBQUNEOztBQWZzQzs7O0FBa0JsQyxNQUFNLCtCQUErQixHQUFHLElBQXhDLDRCQUF3QyxFQUF4QyxDLENBRVA7Ozs7QUFDTSxNQUFBLCtCQUFBLENBQXNDO0FBQzFDLEVBQUEsV0FBQSxDQUNTLFVBQUEsR0FEVCxrQ0FBQSxFQUVTLElBQUEsR0FGVCxtQ0FBQSxFQUVtRDtBQUQxQyxTQUFBLFVBQUEsR0FBQSxVQUFBO0FBQ0EsU0FBQSxJQUFBLEdBQUEsSUFBQTtBQUNMOztBQUVKLEVBQUEsUUFBUSxHQUFBO0FBQ04sV0FBTyxLQUFQLFVBQUE7QUFDRDs7QUFSeUM7OztBQVc1QywwQ0FDRSxNQUR5QiwrQkFBM0IsRUFFRSwrQkFBK0IsQ0FGakMsU0FBQTtBQUtBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJNLFNBQUEscUJBQUEsQ0FBQSxVQUFBLEVBQUEsSUFBQSxFQUVTO0FBRWIsU0FBTyxJQUFBLCtCQUFBLENBQUEsVUFBQSxFQUFQLElBQU8sQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXRpZXMsIEludGVybmFsQ29tcG9uZW50TWFuYWdlciB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTlVMTF9SRUZFUkVOQ0UsIFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBzZXRJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIgfSBmcm9tICdAZ2xpbW1lci9tYW5hZ2VyJztcblxuY29uc3QgQ0FQQUJJTElUSUVTOiBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyA9IHtcbiAgZHluYW1pY0xheW91dDogZmFsc2UsXG4gIGR5bmFtaWNUYWc6IGZhbHNlLFxuICBwcmVwYXJlQXJnczogZmFsc2UsXG4gIGNyZWF0ZUFyZ3M6IGZhbHNlLFxuICBhdHRyaWJ1dGVIb29rOiBmYWxzZSxcbiAgZWxlbWVudEhvb2s6IGZhbHNlLFxuICBjcmVhdGVDYWxsZXI6IGZhbHNlLFxuICBkeW5hbWljU2NvcGU6IGZhbHNlLFxuICB1cGRhdGVIb29rOiBmYWxzZSxcbiAgY3JlYXRlSW5zdGFuY2U6IGZhbHNlLFxuICB3cmFwcGVkOiBmYWxzZSxcbiAgd2lsbERlc3Ryb3k6IGZhbHNlLFxuICBoYXNTdWJPd25lcjogZmFsc2UsXG59O1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVPbmx5Q29tcG9uZW50TWFuYWdlciBpbXBsZW1lbnRzIEludGVybmFsQ29tcG9uZW50TWFuYWdlciB7XG4gIGdldENhcGFiaWxpdGllcygpOiBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyB7XG4gICAgcmV0dXJuIENBUEFCSUxJVElFUztcbiAgfVxuXG4gIGdldERlYnVnTmFtZSh7IG5hbWUgfTogVGVtcGxhdGVPbmx5Q29tcG9uZW50RGVmaW5pdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuICBnZXRTZWxmKCk6IFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIE5VTExfUkVGRVJFTkNFO1xuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoKTogbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFRFTVBMQVRFX09OTFlfQ09NUE9ORU5UX01BTkFHRVIgPSBuZXcgVGVtcGxhdGVPbmx5Q29tcG9uZW50TWFuYWdlcigpO1xuXG4vLyBUaGlzIGlzIG9ubHkgZXhwb3J0ZWQgZm9yIHR5cGVzLCBkb24ndCB1c2UgdGhpcyBjbGFzcyBkaXJlY3RseVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlT25seUNvbXBvbmVudERlZmluaXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbW9kdWxlTmFtZSA9ICdAZ2xpbW1lci9jb21wb25lbnQvdGVtcGxhdGUtb25seScsXG4gICAgcHVibGljIG5hbWUgPSAnKHVua25vd24gdGVtcGxhdGUtb25seSBjb21wb25lbnQpJ1xuICApIHt9XG5cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kdWxlTmFtZTtcbiAgfVxufVxuXG5zZXRJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIoXG4gICgpID0+IFRFTVBMQVRFX09OTFlfQ09NUE9ORU5UX01BTkFHRVIsXG4gIFRlbXBsYXRlT25seUNvbXBvbmVudERlZmluaXRpb24ucHJvdG90eXBlXG4pO1xuXG4vKipcbiAgVGhpcyB1dGlsaXR5IGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGVjbGFyZSBhIGdpdmVuIGNvbXBvbmVudCBoYXMgbm8gYmFja2luZyBjbGFzcy4gV2hlbiB0aGUgcmVuZGVyaW5nIGVuZ2luZSBkZXRlY3RzIHRoaXMgaXRcbiAgaXMgYWJsZSB0byBwZXJmb3JtIGEgbnVtYmVyIG9mIG9wdGltaXphdGlvbnMuIFRlbXBsYXRlcyB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggYHRlbXBsYXRlT25seSgpYCB3aWxsIGJlIHJlbmRlcmVkIF9hcyBpc19cbiAgd2l0aG91dCBhZGRpbmcgYSB3cmFwcGluZyBgPGRpdj5gIChvciBhbnkgb2YgdGhlIG90aGVyIGVsZW1lbnQgY3VzdG9taXphdGlvbiBiZWhhdmlvcnMgb2YgW0BlbWJlci9jb21wb25lbnRdKC9lbWJlci9yZWxlYXNlL2NsYXNzZXMvQ29tcG9uZW50KSkuXG4gIFNwZWNpZmljYWxseSwgdGhpcyBtZWFucyB0aGF0IHRoZSB0ZW1wbGF0ZSB3aWxsIGJlIHJlbmRlcmVkIGFzIFwib3V0ZXIgSFRNTFwiLlxuXG4gIEluIGdlbmVyYWwsIHRoaXMgbWV0aG9kIHdpbGwgYmUgdXNlZCBieSBidWlsZCB0aW1lIHRvb2xpbmcgYW5kIHdvdWxkIG5vdCBiZSBkaXJlY3RseSB3cml0dGVuIGluIGFuIGFwcGxpY2F0aW9uLiBIb3dldmVyLFxuICBhdCB0aW1lcyBpdCBtYXkgYmUgdXNlZnVsIHRvIHVzZSBkaXJlY3RseSB0byBsZXZlcmFnZSB0aGUgXCJvdXRlciBIVE1MXCIgc2VtYW50aWNzIG1lbnRpb25lZCBhYm92ZS4gRm9yIGV4YW1wbGUsIGlmIGFuIGFkZG9uIHdvdWxkIGxpa2VcbiAgdG8gdXNlIHRoZXNlIHNlbWFudGljcyBmb3IgaXRzIHRlbXBsYXRlcyBidXQgY2Fubm90IGJlIGNlcnRhaW4gaXQgd2lsbCBvbmx5IGJlIGNvbnN1bWVkIGJ5IGFwcGxpY2F0aW9ucyB0aGF0IGhhdmUgZW5hYmxlZCB0aGVcbiAgYHRlbXBsYXRlLW9ubHktZ2xpbW1lci1jb21wb25lbnRzYCBvcHRpb25hbCBmZWF0dXJlLlxuXG4gIEBleGFtcGxlXG5cbiAgYGBganNcbiAgaW1wb3J0IHsgdGVtcGxhdGVPbmx5Q29tcG9uZW50IH0gZnJvbSAnQGdsaW1tZXIvcnVudGltZSc7XG5cbiAgZXhwb3J0IGRlZmF1bHQgdGVtcGxhdGVPbmx5Q29tcG9uZW50KCk7XG4gIGBgYFxuXG4gIEBwdWJsaWNcbiAgQG1ldGhvZCB0ZW1wbGF0ZU9ubHlcbiAgQHBhcmFtIHtTdHJpbmd9IG1vZHVsZU5hbWUgdGhlIG1vZHVsZSBuYW1lIHRoYXQgdGhlIHRlbXBsYXRlIG9ubHkgY29tcG9uZW50IHJlcHJlc2VudHMsIHRoaXMgd2lsbCBiZSB1c2VkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXNcbiAgQGNhdGVnb3J5IEVNQkVSX0dMSU1NRVJfU0VUX0NPTVBPTkVOVF9URU1QTEFURVxuKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHRlbXBsYXRlT25seUNvbXBvbmVudChcbiAgbW9kdWxlTmFtZT86IHN0cmluZyxcbiAgbmFtZT86IHN0cmluZ1xuKTogVGVtcGxhdGVPbmx5Q29tcG9uZW50RGVmaW5pdGlvbiB7XG4gIHJldHVybiBuZXcgVGVtcGxhdGVPbmx5Q29tcG9uZW50RGVmaW5pdGlvbihtb2R1bGVOYW1lLCBuYW1lKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTSxZQUFZLEdBQWtDO0FBQ2xELEVBQUEsYUFBYSxFQURxQyxLQUFBO0FBRWxELEVBQUEsVUFBVSxFQUZ3QyxLQUFBO0FBR2xELEVBQUEsV0FBVyxFQUh1QyxLQUFBO0FBSWxELEVBQUEsVUFBVSxFQUp3QyxLQUFBO0FBS2xELEVBQUEsYUFBYSxFQUxxQyxLQUFBO0FBTWxELEVBQUEsV0FBVyxFQU51QyxLQUFBO0FBT2xELEVBQUEsWUFBWSxFQVBzQyxLQUFBO0FBUWxELEVBQUEsWUFBWSxFQVJzQyxLQUFBO0FBU2xELEVBQUEsVUFBVSxFQVR3QyxLQUFBO0FBVWxELEVBQUEsY0FBYyxFQVZvQyxLQUFBO0FBV2xELEVBQUEsT0FBTyxFQVgyQyxLQUFBO0FBWWxELEVBQUEsV0FBVyxFQVp1QyxLQUFBO0FBYWxELEVBQUEsV0FBVyxFQUFFO0FBYnFDLENBQXBEOztBQWdCTSxNQUFBLDRCQUFBLENBQW1DO0FBQ3ZDLEVBQUEsZUFBZSxHQUFBO0FBQ2IsV0FBQSxZQUFBO0FBQ0Q7O0FBRUQsRUFBQSxZQUFZLENBQUM7QUFBRSxJQUFBO0FBQUYsR0FBRCxFQUEwQztBQUNwRCxXQUFBLElBQUE7QUFDRDs7QUFFRCxFQUFBLE9BQU8sR0FBQTtBQUNMLFdBQUEseUJBQUE7QUFDRDs7QUFFRCxFQUFBLGNBQWMsR0FBQTtBQUNaLFdBQUEsSUFBQTtBQUNEOztBQWZzQzs7O0FBa0JsQyxNQUFNLCtCQUErQixHQUFHLElBQXhDLDRCQUF3QyxFQUF4QyxDLENBRVA7Ozs7QUFDTSxNQUFBLCtCQUFBLENBQXNDO0FBQzFDLEVBQUEsV0FBQSxDQUNTLFVBQUEsR0FEVCxrQ0FBQSxFQUVTLElBQUEsR0FGVCxtQ0FBQSxFQUVtRDtBQUQxQyxTQUFBLFVBQUEsR0FBQSxVQUFBO0FBQ0EsU0FBQSxJQUFBLEdBQUEsSUFBQTtBQUNMOztBQUVKLEVBQUEsUUFBUSxHQUFBO0FBQ04sV0FBTyxLQUFQLFVBQUE7QUFDRDs7QUFSeUM7OztBQVc1QywwQ0FBMkIsK0JBQTNCLEVBRUUsK0JBQStCLENBRmpDLFNBQUE7QUFLQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCTSxTQUFBLHFCQUFBLENBQUEsVUFBQSxFQUFBLElBQUEsRUFFUztBQUViLFNBQU8sSUFBQSwrQkFBQSxDQUFBLFVBQUEsRUFBUCxJQUFPLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzLCBJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5VTExfUkVGRVJFTkNFLCBSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgc2V0SW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyIH0gZnJvbSAnQGdsaW1tZXIvbWFuYWdlcic7XG5cbmNvbnN0IENBUEFCSUxJVElFUzogSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXRpZXMgPSB7XG4gIGR5bmFtaWNMYXlvdXQ6IGZhbHNlLFxuICBkeW5hbWljVGFnOiBmYWxzZSxcbiAgcHJlcGFyZUFyZ3M6IGZhbHNlLFxuICBjcmVhdGVBcmdzOiBmYWxzZSxcbiAgYXR0cmlidXRlSG9vazogZmFsc2UsXG4gIGVsZW1lbnRIb29rOiBmYWxzZSxcbiAgY3JlYXRlQ2FsbGVyOiBmYWxzZSxcbiAgZHluYW1pY1Njb3BlOiBmYWxzZSxcbiAgdXBkYXRlSG9vazogZmFsc2UsXG4gIGNyZWF0ZUluc3RhbmNlOiBmYWxzZSxcbiAgd3JhcHBlZDogZmFsc2UsXG4gIHdpbGxEZXN0cm95OiBmYWxzZSxcbiAgaGFzU3ViT3duZXI6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlT25seUNvbXBvbmVudE1hbmFnZXIgaW1wbGVtZW50cyBJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIge1xuICBnZXRDYXBhYmlsaXRpZXMoKTogSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXRpZXMge1xuICAgIHJldHVybiBDQVBBQklMSVRJRVM7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoeyBuYW1lIH06IFRlbXBsYXRlT25seUNvbXBvbmVudERlZmluaXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgZ2V0U2VsZigpOiBSZWZlcmVuY2Uge1xuICAgIHJldHVybiBOVUxMX1JFRkVSRU5DRTtcbiAgfVxuXG4gIGdldERlc3Ryb3lhYmxlKCk6IG51bGwge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBURU1QTEFURV9PTkxZX0NPTVBPTkVOVF9NQU5BR0VSID0gbmV3IFRlbXBsYXRlT25seUNvbXBvbmVudE1hbmFnZXIoKTtcblxuLy8gVGhpcyBpcyBvbmx5IGV4cG9ydGVkIGZvciB0eXBlcywgZG9uJ3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHlcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZU9ubHlDb21wb25lbnREZWZpbml0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vZHVsZU5hbWUgPSAnQGdsaW1tZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknLFxuICAgIHB1YmxpYyBuYW1lID0gJyh1bmtub3duIHRlbXBsYXRlLW9ubHkgY29tcG9uZW50KSdcbiAgKSB7fVxuXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLm1vZHVsZU5hbWU7XG4gIH1cbn1cblxuc2V0SW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyKFxuICBURU1QTEFURV9PTkxZX0NPTVBPTkVOVF9NQU5BR0VSLFxuICBUZW1wbGF0ZU9ubHlDb21wb25lbnREZWZpbml0aW9uLnByb3RvdHlwZVxuKTtcblxuLyoqXG4gIFRoaXMgdXRpbGl0eSBmdW5jdGlvbiBpcyB1c2VkIHRvIGRlY2xhcmUgYSBnaXZlbiBjb21wb25lbnQgaGFzIG5vIGJhY2tpbmcgY2xhc3MuIFdoZW4gdGhlIHJlbmRlcmluZyBlbmdpbmUgZGV0ZWN0cyB0aGlzIGl0XG4gIGlzIGFibGUgdG8gcGVyZm9ybSBhIG51bWJlciBvZiBvcHRpbWl6YXRpb25zLiBUZW1wbGF0ZXMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIGB0ZW1wbGF0ZU9ubHkoKWAgd2lsbCBiZSByZW5kZXJlZCBfYXMgaXNfXG4gIHdpdGhvdXQgYWRkaW5nIGEgd3JhcHBpbmcgYDxkaXY+YCAob3IgYW55IG9mIHRoZSBvdGhlciBlbGVtZW50IGN1c3RvbWl6YXRpb24gYmVoYXZpb3JzIG9mIFtAZW1iZXIvY29tcG9uZW50XSgvZW1iZXIvcmVsZWFzZS9jbGFzc2VzL0NvbXBvbmVudCkpLlxuICBTcGVjaWZpY2FsbHksIHRoaXMgbWVhbnMgdGhhdCB0aGUgdGVtcGxhdGUgd2lsbCBiZSByZW5kZXJlZCBhcyBcIm91dGVyIEhUTUxcIi5cblxuICBJbiBnZW5lcmFsLCB0aGlzIG1ldGhvZCB3aWxsIGJlIHVzZWQgYnkgYnVpbGQgdGltZSB0b29saW5nIGFuZCB3b3VsZCBub3QgYmUgZGlyZWN0bHkgd3JpdHRlbiBpbiBhbiBhcHBsaWNhdGlvbi4gSG93ZXZlcixcbiAgYXQgdGltZXMgaXQgbWF5IGJlIHVzZWZ1bCB0byB1c2UgZGlyZWN0bHkgdG8gbGV2ZXJhZ2UgdGhlIFwib3V0ZXIgSFRNTFwiIHNlbWFudGljcyBtZW50aW9uZWQgYWJvdmUuIEZvciBleGFtcGxlLCBpZiBhbiBhZGRvbiB3b3VsZCBsaWtlXG4gIHRvIHVzZSB0aGVzZSBzZW1hbnRpY3MgZm9yIGl0cyB0ZW1wbGF0ZXMgYnV0IGNhbm5vdCBiZSBjZXJ0YWluIGl0IHdpbGwgb25seSBiZSBjb25zdW1lZCBieSBhcHBsaWNhdGlvbnMgdGhhdCBoYXZlIGVuYWJsZWQgdGhlXG4gIGB0ZW1wbGF0ZS1vbmx5LWdsaW1tZXItY29tcG9uZW50c2Agb3B0aW9uYWwgZmVhdHVyZS5cblxuICBAZXhhbXBsZVxuXG4gIGBgYGpzXG4gIGltcG9ydCB7IHRlbXBsYXRlT25seUNvbXBvbmVudCB9IGZyb20gJ0BnbGltbWVyL3J1bnRpbWUnO1xuXG4gIGV4cG9ydCBkZWZhdWx0IHRlbXBsYXRlT25seUNvbXBvbmVudCgpO1xuICBgYGBcblxuICBAcHVibGljXG4gIEBtZXRob2QgdGVtcGxhdGVPbmx5XG4gIEBwYXJhbSB7U3RyaW5nfSBtb2R1bGVOYW1lIHRoZSBtb2R1bGUgbmFtZSB0aGF0IHRoZSB0ZW1wbGF0ZSBvbmx5IGNvbXBvbmVudCByZXByZXNlbnRzLCB0aGlzIHdpbGwgYmUgdXNlZCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG4gIEBjYXRlZ29yeSBFTUJFUl9HTElNTUVSX1NFVF9DT01QT05FTlRfVEVNUExBVEVcbiovXG5cbmV4cG9ydCBmdW5jdGlvbiB0ZW1wbGF0ZU9ubHlDb21wb25lbnQoXG4gIG1vZHVsZU5hbWU/OiBzdHJpbmcsXG4gIG5hbWU/OiBzdHJpbmdcbik6IFRlbXBsYXRlT25seUNvbXBvbmVudERlZmluaXRpb24ge1xuICByZXR1cm4gbmV3IFRlbXBsYXRlT25seUNvbXBvbmVudERlZmluaXRpb24obW9kdWxlTmFtZSwgbmFtZSk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -57,3 +57,3 @@ "use strict";

const owner = (0, _owner.getOwner)(context);
const internalManager = (0, _manager.getInternalHelperManager)(owner, definition); // TODO: figure out why assert isn't using the TS assert thing
const internalManager = (0, _manager.getInternalHelperManager)(definition); // TODO: figure out why assert isn't using the TS assert thing

@@ -68,3 +68,3 @@ if (_env.DEBUG && !internalManager) {

const manager = internalManager;
const manager = internalManager.getDelegateFor(owner);
let args = new SimpleArgsProxy(context, computeArgs);

@@ -94,2 +94,2 @@ let bucket = manager.createHelper(definition, args);

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2hlbHBlcnMvaW52b2tlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFJLFdBQVcsR0FBRyxhQUFRLElBQUgsT0FBRyxFQUFSLEdBQWxCLFNBQUE7O0FBRUEsU0FBQSxPQUFBLENBQUEsS0FBQSxFQUF1QztBQUNyQyxTQUFPLHlCQUFTLGFBQVEsV0FBWSxDQUFaLEdBQUEsQ0FBSCxLQUFHLENBQVIsR0FBbUMsS0FBSyxDQUF4RCxTQUFPLENBQVA7QUFDRDs7QUFFRCxNQUFBLGVBQUEsQ0FBcUI7QUFHbkIsRUFBQSxXQUFBLENBQUEsT0FBQSxFQUVFLFdBQUEsR0FBdUQsTUFGekQscUJBQUEsRUFFeUU7QUFFdkUsUUFBSSxTQUFTLEdBQUcsNEJBQVksTUFBTSxXQUFXLENBQTdDLE9BQTZDLENBQTdCLENBQWhCOztBQUVBLFFBQUEsVUFBQSxFQUFXO0FBQ1QsTUFBQSxXQUFZLENBQVosR0FBQSxDQUFBLElBQUEsRUFBQSxTQUFBO0FBQ0EsTUFBQSxNQUFNLENBQU4sTUFBQSxDQUFBLElBQUE7QUFGRixLQUFBLE1BR087QUFDTCxXQUFBLFNBQUEsR0FBQSxTQUFBO0FBQ0Q7QUFDRjs7QUFFRCxNQUFBLEtBQUEsR0FBUztBQUNQLFdBQU8sT0FBTyxDQUFQLElBQU8sQ0FBUCxDQUFBLEtBQUEsSUFBUCxzQkFBQTtBQUNEOztBQUVELE1BQUEsVUFBQSxHQUFjO0FBQ1osV0FBTyxPQUFPLENBQVAsSUFBTyxDQUFQLENBQUEsVUFBQSxJQUFQLDJCQUFBO0FBQ0Q7O0FBdkJrQixDLENBMEJyQjs7O0FBRU0sU0FBQSxZQUFBLENBQUEsT0FBQSxFQUFBLFVBQUEsRUFBQSxXQUFBLEVBR2lEO0FBRXJELE1BQUksZUFBVSxPQUFBLE9BQUEsS0FBQSxRQUFBLElBQStCLE9BQU8sS0FBcEQsSUFBSSxDQUFKLEVBQWdFO0FBQzlELFVBQU0sSUFBQSxLQUFBLENBQ0osc0ZBQXNGLE9BRHhGLEVBQU0sQ0FBTjtBQUdEOztBQUVELFFBQU0sS0FBSyxHQUFHLHFCQUFkLE9BQWMsQ0FBZDtBQUNBLFFBQU0sZUFBZSxHQUFHLHVDQUF3QixLQUF4QixFQVQ2QixVQVM3QixDQUF4QixDQVRxRCxDQVdyRDs7QUFDQSxNQUFJLGNBQVMsQ0FBYixlQUFBLEVBQStCO0FBQzdCLFVBQU0sSUFBQSxLQUFBLENBQ0osa0tBQWtLLHlCQUFjLFVBQWQsQ0FEcEssaUZBQU0sQ0FBTjtBQUtEOztBQUVELE1BQUksY0FBUyxPQUFBLGVBQUEsS0FBYixVQUFBLEVBQW9EO0FBQ2xELFVBQU0sSUFBQSxLQUFBLENBQU4sK0hBQU0sQ0FBTjtBQUdEOztBQUVELFFBQU0sT0FBTyxHQUFiLGVBQUE7QUFDQSxNQUFJLElBQUksR0FBRyxJQUFBLGVBQUEsQ0FBQSxPQUFBLEVBQVgsV0FBVyxDQUFYO0FBQ0EsTUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFQLFlBQUEsQ0FBQSxVQUFBLEVBQWIsSUFBYSxDQUFiO0FBRUEsTUFBQSxLQUFBOztBQUVBLE1BQUksdUJBQUosT0FBSSxDQUFKLEVBQXVCO0FBQ3JCLElBQUEsS0FBSyxHQUFHLDRCQUFZLE1BQUs7QUFDdkIsVUFBSSxlQUFVLCtCQUFBLEtBQUEsS0FBdUIsOEJBQXJDLEtBQXFDLENBQWpDLENBQUosRUFBMEQ7QUFDeEQsY0FBTSxJQUFBLEtBQUEsQ0FBTixpR0FBTSxDQUFOO0FBR0Q7O0FBRUQsYUFBTyxPQUFPLENBQVAsUUFBQSxDQUFQLE1BQU8sQ0FBUDtBQVBGLEtBQVEsQ0FBUjtBQVVBLGdEQUF5QixPQUF6QixFQUFBLEtBQUE7QUFYRixHQUFBLE1BWU87QUFDTCxVQUFNLElBQUEsS0FBQSxDQUFOLDhEQUFNLENBQU47QUFDRDs7QUFFRCxNQUFJLDZCQUFKLE9BQUksQ0FBSixFQUE2QjtBQUMzQixRQUFJLFdBQVcsR0FBRyxPQUFPLENBQVAsY0FBQSxDQUFsQixNQUFrQixDQUFsQjtBQUVBLGdEQUF5QixLQUF6QixFQUFBLFdBQUE7QUFDRDs7QUFFRCxTQUFBLEtBQUE7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7IENhY2hlLCBjcmVhdGVDYWNoZSwgZ2V0VmFsdWUgfSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHsgQXJndW1lbnRzLCBIZWxwZXJNYW5hZ2VyIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBkZWJ1Z1RvU3RyaW5nIH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBnZXRJbnRlcm5hbEhlbHBlck1hbmFnZXIsIGhhc0Rlc3Ryb3lhYmxlLCBoYXNWYWx1ZSB9IGZyb20gJ0BnbGltbWVyL21hbmFnZXInO1xuXG5pbXBvcnQgeyBFTVBUWV9BUkdTLCBFTVBUWV9OQU1FRCwgRU1QVFlfUE9TSVRJT05BTCB9IGZyb20gJy4uL3ZtL2FyZ3VtZW50cyc7XG5pbXBvcnQgeyBnZXRPd25lciB9IGZyb20gJ0BnbGltbWVyL293bmVyJztcbmltcG9ydCB7IGFzc29jaWF0ZURlc3Ryb3lhYmxlQ2hpbGQsIGlzRGVzdHJveWVkLCBpc0Rlc3Ryb3lpbmcgfSBmcm9tICdAZ2xpbW1lci9kZXN0cm95YWJsZSc7XG5cbmxldCBBUkdTX0NBQ0hFUyA9IERFQlVHID8gbmV3IFdlYWtNYXA8U2ltcGxlQXJnc1Byb3h5LCBDYWNoZTxQYXJ0aWFsPEFyZ3VtZW50cz4+PigpIDogdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBnZXRBcmdzKHByb3h5OiBTaW1wbGVBcmdzUHJveHkpOiBQYXJ0aWFsPEFyZ3VtZW50cz4ge1xuICByZXR1cm4gZ2V0VmFsdWUoREVCVUcgPyBBUkdTX0NBQ0hFUyEuZ2V0KHByb3h5KSEgOiBwcm94eS5hcmdzQ2FjaGUhKSE7XG59XG5cbmNsYXNzIFNpbXBsZUFyZ3NQcm94eSB7XG4gIGFyZ3NDYWNoZT86IENhY2hlPFBhcnRpYWw8QXJndW1lbnRzPj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29udGV4dDogb2JqZWN0LFxuICAgIGNvbXB1dGVBcmdzOiAoY29udGV4dDogb2JqZWN0KSA9PiBQYXJ0aWFsPEFyZ3VtZW50cz4gPSAoKSA9PiBFTVBUWV9BUkdTXG4gICkge1xuICAgIGxldCBhcmdzQ2FjaGUgPSBjcmVhdGVDYWNoZSgoKSA9PiBjb21wdXRlQXJncyhjb250ZXh0KSk7XG5cbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIEFSR1NfQ0FDSEVTIS5zZXQodGhpcywgYXJnc0NhY2hlKTtcbiAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXJnc0NhY2hlID0gYXJnc0NhY2hlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBuYW1lZCgpIHtcbiAgICByZXR1cm4gZ2V0QXJncyh0aGlzKS5uYW1lZCB8fCBFTVBUWV9OQU1FRDtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbmFsKCkge1xuICAgIHJldHVybiBnZXRBcmdzKHRoaXMpLnBvc2l0aW9uYWwgfHwgRU1QVFlfUE9TSVRJT05BTDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy9cblxuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUhlbHBlcihcbiAgY29udGV4dDogb2JqZWN0LFxuICBkZWZpbml0aW9uOiBvYmplY3QsXG4gIGNvbXB1dGVBcmdzPzogKGNvbnRleHQ6IG9iamVjdCkgPT4gUGFydGlhbDxBcmd1bWVudHM+XG4pOiBDYWNoZTx1bmtub3duPiB7XG4gIGlmIChERUJVRyAmJiAodHlwZW9mIGNvbnRleHQgIT09ICdvYmplY3QnIHx8IGNvbnRleHQgPT09IG51bGwpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEV4cGVjdGVkIGEgY29udGV4dCBvYmplY3QgdG8gYmUgcGFzc2VkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8gaW52b2tlSGVscGVyLCBnb3QgJHtjb250ZXh0fWBcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgb3duZXIgPSBnZXRPd25lcihjb250ZXh0KTtcbiAgY29uc3QgaW50ZXJuYWxNYW5hZ2VyID0gZ2V0SW50ZXJuYWxIZWxwZXJNYW5hZ2VyKG93bmVyLCBkZWZpbml0aW9uKSE7XG5cbiAgLy8gVE9ETzogZmlndXJlIG91dCB3aHkgYXNzZXJ0IGlzbid0IHVzaW5nIHRoZSBUUyBhc3NlcnQgdGhpbmdcbiAgaWYgKERFQlVHICYmICFpbnRlcm5hbE1hbmFnZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRXhwZWN0ZWQgYSBoZWxwZXIgZGVmaW5pdGlvbiB0byBiZSBwYXNzZWQgYXMgdGhlIHNlY29uZCBwYXJhbWV0ZXIgdG8gaW52b2tlSGVscGVyLCBidXQgbm8gaGVscGVyIG1hbmFnZXIgd2FzIGZvdW5kLiBUaGUgZGVmaW5pdGlvbiB2YWx1ZSB0aGF0IHdhcyBwYXNzZWQgd2FzIFxcYCR7ZGVidWdUb1N0cmluZyEoXG4gICAgICAgIGRlZmluaXRpb25cbiAgICAgICl9XFxgLiBEaWQgeW91IHVzZSBzZXRIZWxwZXJNYW5hZ2VyIHRvIGFzc29jaWF0ZSBhIGhlbHBlciBtYW5hZ2VyIHdpdGggdGhpcyB2YWx1ZT9gXG4gICAgKTtcbiAgfVxuXG4gIGlmIChERUJVRyAmJiB0eXBlb2YgaW50ZXJuYWxNYW5hZ2VyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0ZvdW5kIGEgaGVscGVyIG1hbmFnZXIsIGJ1dCBpdCB3YXMgYW4gaW50ZXJuYWwgYnVpbHQtaW4gaGVscGVyIG1hbmFnZXIuIGBpbnZva2VIZWxwZXJgIGRvZXMgbm90IHN1cHBvcnQgaW50ZXJuYWwgaGVscGVycyB5ZXQuJ1xuICAgICk7XG4gIH1cblxuICBjb25zdCBtYW5hZ2VyID0gaW50ZXJuYWxNYW5hZ2VyIGFzIEhlbHBlck1hbmFnZXI8dW5rbm93bj47XG4gIGxldCBhcmdzID0gbmV3IFNpbXBsZUFyZ3NQcm94eShjb250ZXh0LCBjb21wdXRlQXJncyk7XG4gIGxldCBidWNrZXQgPSBtYW5hZ2VyLmNyZWF0ZUhlbHBlcihkZWZpbml0aW9uLCBhcmdzKTtcblxuICBsZXQgY2FjaGU6IENhY2hlPHVua25vd24+O1xuXG4gIGlmIChoYXNWYWx1ZShtYW5hZ2VyKSkge1xuICAgIGNhY2hlID0gY3JlYXRlQ2FjaGUoKCkgPT4ge1xuICAgICAgaWYgKERFQlVHICYmIChpc0Rlc3Ryb3lpbmcoY2FjaGUpIHx8IGlzRGVzdHJveWVkKGNhY2hlKSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBZb3UgYXR0ZW1wdGVkIHRvIGdldCB0aGUgdmFsdWUgb2YgYSBoZWxwZXIgYWZ0ZXIgdGhlIGhlbHBlciB3YXMgZGVzdHJveWVkLCB3aGljaCBpcyBub3QgYWxsb3dlZGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hbmFnZXIuZ2V0VmFsdWUoYnVja2V0KTtcbiAgICB9KTtcblxuICAgIGFzc29jaWF0ZURlc3Ryb3lhYmxlQ2hpbGQoY29udGV4dCwgY2FjaGUpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignVE9ETzogdW5yZWFjaGFibGUsIHRvIGJlIGltcGxlbWVudGVkIHdpdGggaGFzU2NoZWR1bGVkRWZmZWN0Jyk7XG4gIH1cblxuICBpZiAoaGFzRGVzdHJveWFibGUobWFuYWdlcikpIHtcbiAgICBsZXQgZGVzdHJveWFibGUgPSBtYW5hZ2VyLmdldERlc3Ryb3lhYmxlKGJ1Y2tldCk7XG5cbiAgICBhc3NvY2lhdGVEZXN0cm95YWJsZUNoaWxkKGNhY2hlLCBkZXN0cm95YWJsZSk7XG4gIH1cblxuICByZXR1cm4gY2FjaGU7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2hlbHBlcnMvaW52b2tlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFJLFdBQVcsR0FBRyxhQUFRLElBQUgsT0FBRyxFQUFSLEdBQWxCLFNBQUE7O0FBRUEsU0FBQSxPQUFBLENBQUEsS0FBQSxFQUF1QztBQUNyQyxTQUFPLHlCQUFTLGFBQVEsV0FBWSxDQUFaLEdBQUEsQ0FBSCxLQUFHLENBQVIsR0FBbUMsS0FBSyxDQUF4RCxTQUFPLENBQVA7QUFDRDs7QUFFRCxNQUFBLGVBQUEsQ0FBcUI7QUFHbkIsRUFBQSxXQUFBLENBQUEsT0FBQSxFQUVFLFdBQUEsR0FBdUQsTUFGekQscUJBQUEsRUFFeUU7QUFFdkUsUUFBSSxTQUFTLEdBQUcsNEJBQVksTUFBTSxXQUFXLENBQTdDLE9BQTZDLENBQTdCLENBQWhCOztBQUVBLFFBQUEsVUFBQSxFQUFXO0FBQ1QsTUFBQSxXQUFZLENBQVosR0FBQSxDQUFBLElBQUEsRUFBQSxTQUFBO0FBQ0EsTUFBQSxNQUFNLENBQU4sTUFBQSxDQUFBLElBQUE7QUFGRixLQUFBLE1BR087QUFDTCxXQUFBLFNBQUEsR0FBQSxTQUFBO0FBQ0Q7QUFDRjs7QUFFRCxNQUFBLEtBQUEsR0FBUztBQUNQLFdBQU8sT0FBTyxDQUFQLElBQU8sQ0FBUCxDQUFBLEtBQUEsSUFBUCxzQkFBQTtBQUNEOztBQUVELE1BQUEsVUFBQSxHQUFjO0FBQ1osV0FBTyxPQUFPLENBQVAsSUFBTyxDQUFQLENBQUEsVUFBQSxJQUFQLDJCQUFBO0FBQ0Q7O0FBdkJrQixDLENBMEJyQjs7O0FBRU0sU0FBQSxZQUFBLENBQUEsT0FBQSxFQUFBLFVBQUEsRUFBQSxXQUFBLEVBR2lEO0FBRXJELE1BQUksZUFBVSxPQUFBLE9BQUEsS0FBQSxRQUFBLElBQStCLE9BQU8sS0FBcEQsSUFBSSxDQUFKLEVBQWdFO0FBQzlELFVBQU0sSUFBQSxLQUFBLENBQ0osc0ZBQXNGLE9BRHhGLEVBQU0sQ0FBTjtBQUdEOztBQUVELFFBQU0sS0FBSyxHQUFHLHFCQUFkLE9BQWMsQ0FBZDtBQUNBLFFBQU0sZUFBZSxHQUFHLHVDQVQ2QixVQVM3QixDQUF4QixDQVRxRCxDQVdyRDs7QUFDQSxNQUFJLGNBQVMsQ0FBYixlQUFBLEVBQStCO0FBQzdCLFVBQU0sSUFBQSxLQUFBLENBQ0osa0tBQWtLLHlCQUFjLFVBQWQsQ0FEcEssaUZBQU0sQ0FBTjtBQUtEOztBQUVELE1BQUksY0FBUyxPQUFBLGVBQUEsS0FBYixVQUFBLEVBQW9EO0FBQ2xELFVBQU0sSUFBQSxLQUFBLENBQU4sK0hBQU0sQ0FBTjtBQUdEOztBQUVELFFBQU0sT0FBTyxHQUFJLGVBQWlELENBQWpELGNBQUEsQ0FBakIsS0FBaUIsQ0FBakI7QUFDQSxNQUFJLElBQUksR0FBRyxJQUFBLGVBQUEsQ0FBQSxPQUFBLEVBQVgsV0FBVyxDQUFYO0FBQ0EsTUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFQLFlBQUEsQ0FBQSxVQUFBLEVBQWIsSUFBYSxDQUFiO0FBRUEsTUFBQSxLQUFBOztBQUVBLE1BQUksdUJBQUosT0FBSSxDQUFKLEVBQXVCO0FBQ3JCLElBQUEsS0FBSyxHQUFHLDRCQUFZLE1BQUs7QUFDdkIsVUFBSSxlQUFVLCtCQUFBLEtBQUEsS0FBdUIsOEJBQXJDLEtBQXFDLENBQWpDLENBQUosRUFBMEQ7QUFDeEQsY0FBTSxJQUFBLEtBQUEsQ0FBTixpR0FBTSxDQUFOO0FBR0Q7O0FBRUQsYUFBTyxPQUFPLENBQVAsUUFBQSxDQUFQLE1BQU8sQ0FBUDtBQVBGLEtBQVEsQ0FBUjtBQVVBLGdEQUF5QixPQUF6QixFQUFBLEtBQUE7QUFYRixHQUFBLE1BWU87QUFDTCxVQUFNLElBQUEsS0FBQSxDQUFOLDhEQUFNLENBQU47QUFDRDs7QUFFRCxNQUFJLDZCQUFKLE9BQUksQ0FBSixFQUE2QjtBQUMzQixRQUFJLFdBQVcsR0FBRyxPQUFPLENBQVAsY0FBQSxDQUFsQixNQUFrQixDQUFsQjtBQUVBLGdEQUF5QixLQUF6QixFQUFBLFdBQUE7QUFDRDs7QUFFRCxTQUFBLEtBQUE7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7IENhY2hlLCBjcmVhdGVDYWNoZSwgZ2V0VmFsdWUgfSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHsgQXJndW1lbnRzLCBJbnRlcm5hbEhlbHBlck1hbmFnZXIgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGRlYnVnVG9TdHJpbmcgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IGdldEludGVybmFsSGVscGVyTWFuYWdlciwgaGFzRGVzdHJveWFibGUsIGhhc1ZhbHVlIH0gZnJvbSAnQGdsaW1tZXIvbWFuYWdlcic7XG5cbmltcG9ydCB7IEVNUFRZX0FSR1MsIEVNUFRZX05BTUVELCBFTVBUWV9QT1NJVElPTkFMIH0gZnJvbSAnLi4vdm0vYXJndW1lbnRzJztcbmltcG9ydCB7IGdldE93bmVyIH0gZnJvbSAnQGdsaW1tZXIvb3duZXInO1xuaW1wb3J0IHsgYXNzb2NpYXRlRGVzdHJveWFibGVDaGlsZCwgaXNEZXN0cm95ZWQsIGlzRGVzdHJveWluZyB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcblxubGV0IEFSR1NfQ0FDSEVTID0gREVCVUcgPyBuZXcgV2Vha01hcDxTaW1wbGVBcmdzUHJveHksIENhY2hlPFBhcnRpYWw8QXJndW1lbnRzPj4+KCkgOiB1bmRlZmluZWQ7XG5cbmZ1bmN0aW9uIGdldEFyZ3MocHJveHk6IFNpbXBsZUFyZ3NQcm94eSk6IFBhcnRpYWw8QXJndW1lbnRzPiB7XG4gIHJldHVybiBnZXRWYWx1ZShERUJVRyA/IEFSR1NfQ0FDSEVTIS5nZXQocHJveHkpISA6IHByb3h5LmFyZ3NDYWNoZSEpITtcbn1cblxuY2xhc3MgU2ltcGxlQXJnc1Byb3h5IHtcbiAgYXJnc0NhY2hlPzogQ2FjaGU8UGFydGlhbDxBcmd1bWVudHM+PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb250ZXh0OiBvYmplY3QsXG4gICAgY29tcHV0ZUFyZ3M6IChjb250ZXh0OiBvYmplY3QpID0+IFBhcnRpYWw8QXJndW1lbnRzPiA9ICgpID0+IEVNUFRZX0FSR1NcbiAgKSB7XG4gICAgbGV0IGFyZ3NDYWNoZSA9IGNyZWF0ZUNhY2hlKCgpID0+IGNvbXB1dGVBcmdzKGNvbnRleHQpKTtcblxuICAgIGlmIChERUJVRykge1xuICAgICAgQVJHU19DQUNIRVMhLnNldCh0aGlzLCBhcmdzQ2FjaGUpO1xuICAgICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hcmdzQ2FjaGUgPSBhcmdzQ2FjaGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG5hbWVkKCkge1xuICAgIHJldHVybiBnZXRBcmdzKHRoaXMpLm5hbWVkIHx8IEVNUFRZX05BTUVEO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uYWwoKSB7XG4gICAgcmV0dXJuIGdldEFyZ3ModGhpcykucG9zaXRpb25hbCB8fCBFTVBUWV9QT1NJVElPTkFMO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vL1xuXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlSGVscGVyKFxuICBjb250ZXh0OiBvYmplY3QsXG4gIGRlZmluaXRpb246IG9iamVjdCxcbiAgY29tcHV0ZUFyZ3M/OiAoY29udGV4dDogb2JqZWN0KSA9PiBQYXJ0aWFsPEFyZ3VtZW50cz5cbik6IENhY2hlPHVua25vd24+IHtcbiAgaWYgKERFQlVHICYmICh0eXBlb2YgY29udGV4dCAhPT0gJ29iamVjdCcgfHwgY29udGV4dCA9PT0gbnVsbCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRXhwZWN0ZWQgYSBjb250ZXh0IG9iamVjdCB0byBiZSBwYXNzZWQgYXMgdGhlIGZpcnN0IHBhcmFtZXRlciB0byBpbnZva2VIZWxwZXIsIGdvdCAke2NvbnRleHR9YFxuICAgICk7XG4gIH1cblxuICBjb25zdCBvd25lciA9IGdldE93bmVyKGNvbnRleHQpO1xuICBjb25zdCBpbnRlcm5hbE1hbmFnZXIgPSBnZXRJbnRlcm5hbEhlbHBlck1hbmFnZXIoZGVmaW5pdGlvbikhO1xuXG4gIC8vIFRPRE86IGZpZ3VyZSBvdXQgd2h5IGFzc2VydCBpc24ndCB1c2luZyB0aGUgVFMgYXNzZXJ0IHRoaW5nXG4gIGlmIChERUJVRyAmJiAhaW50ZXJuYWxNYW5hZ2VyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEV4cGVjdGVkIGEgaGVscGVyIGRlZmluaXRpb24gdG8gYmUgcGFzc2VkIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyIHRvIGludm9rZUhlbHBlciwgYnV0IG5vIGhlbHBlciBtYW5hZ2VyIHdhcyBmb3VuZC4gVGhlIGRlZmluaXRpb24gdmFsdWUgdGhhdCB3YXMgcGFzc2VkIHdhcyBcXGAke2RlYnVnVG9TdHJpbmchKFxuICAgICAgICBkZWZpbml0aW9uXG4gICAgICApfVxcYC4gRGlkIHlvdSB1c2Ugc2V0SGVscGVyTWFuYWdlciB0byBhc3NvY2lhdGUgYSBoZWxwZXIgbWFuYWdlciB3aXRoIHRoaXMgdmFsdWU/YFxuICAgICk7XG4gIH1cblxuICBpZiAoREVCVUcgJiYgdHlwZW9mIGludGVybmFsTWFuYWdlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdGb3VuZCBhIGhlbHBlciBtYW5hZ2VyLCBidXQgaXQgd2FzIGFuIGludGVybmFsIGJ1aWx0LWluIGhlbHBlciBtYW5hZ2VyLiBgaW52b2tlSGVscGVyYCBkb2VzIG5vdCBzdXBwb3J0IGludGVybmFsIGhlbHBlcnMgeWV0LidcbiAgICApO1xuICB9XG5cbiAgY29uc3QgbWFuYWdlciA9IChpbnRlcm5hbE1hbmFnZXIgYXMgSW50ZXJuYWxIZWxwZXJNYW5hZ2VyPG9iamVjdD4pLmdldERlbGVnYXRlRm9yKG93bmVyKTtcbiAgbGV0IGFyZ3MgPSBuZXcgU2ltcGxlQXJnc1Byb3h5KGNvbnRleHQsIGNvbXB1dGVBcmdzKTtcbiAgbGV0IGJ1Y2tldCA9IG1hbmFnZXIuY3JlYXRlSGVscGVyKGRlZmluaXRpb24sIGFyZ3MpO1xuXG4gIGxldCBjYWNoZTogQ2FjaGU8dW5rbm93bj47XG5cbiAgaWYgKGhhc1ZhbHVlKG1hbmFnZXIpKSB7XG4gICAgY2FjaGUgPSBjcmVhdGVDYWNoZSgoKSA9PiB7XG4gICAgICBpZiAoREVCVUcgJiYgKGlzRGVzdHJveWluZyhjYWNoZSkgfHwgaXNEZXN0cm95ZWQoY2FjaGUpKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFlvdSBhdHRlbXB0ZWQgdG8gZ2V0IHRoZSB2YWx1ZSBvZiBhIGhlbHBlciBhZnRlciB0aGUgaGVscGVyIHdhcyBkZXN0cm95ZWQsIHdoaWNoIGlzIG5vdCBhbGxvd2VkYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWFuYWdlci5nZXRWYWx1ZShidWNrZXQpO1xuICAgIH0pO1xuXG4gICAgYXNzb2NpYXRlRGVzdHJveWFibGVDaGlsZChjb250ZXh0LCBjYWNoZSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUT0RPOiB1bnJlYWNoYWJsZSwgdG8gYmUgaW1wbGVtZW50ZWQgd2l0aCBoYXNTY2hlZHVsZWRFZmZlY3QnKTtcbiAgfVxuXG4gIGlmIChoYXNEZXN0cm95YWJsZShtYW5hZ2VyKSkge1xuICAgIGxldCBkZXN0cm95YWJsZSA9IG1hbmFnZXIuZ2V0RGVzdHJveWFibGUoYnVja2V0KTtcblxuICAgIGFzc29jaWF0ZURlc3Ryb3lhYmxlQ2hpbGQoY2FjaGUsIGRlc3Ryb3lhYmxlKTtcbiAgfVxuXG4gIHJldHVybiBjYWNoZTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -37,4 +37,4 @@ "use strict";

curriedDefinition = (0, _curriedComponent.curry)(constants.resolvedComponent(resolvedDefinition, value), owner, args);
} else if (typeof value === 'object' && value !== null) {
curriedDefinition = (0, _curriedComponent.curry)(constants.component(owner, value), owner, args);
} else if (typeof value === 'function' || typeof value === 'object' && value !== null) {
curriedDefinition = (0, _curriedComponent.curry)(constants.component(value), owner, args);
} else {

@@ -48,2 +48,2 @@ curriedDefinition = null;

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlZmVyZW5jZXMvY3VycnktY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFNYyxTQUFBLHVCQUFBLENBQUEsS0FBQSxFQUFBLFFBQUEsRUFBQSxTQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxRQUFBLEVBTUs7QUFFakIsTUFBQSxTQUFBLEVBQUEsaUJBQUE7QUFFQSxTQUFPLGlDQUFpQixNQUFLO0FBQzNCLFFBQUksS0FBSyxHQUFHLDRCQUFaLEtBQVksQ0FBWjs7QUFFQSxRQUFJLEtBQUssS0FBVCxTQUFBLEVBQXlCO0FBQ3ZCLGFBQUEsaUJBQUE7QUFDRDs7QUFFRCxRQUFJLG9EQUFKLEtBQUksQ0FBSixFQUF5QztBQUN2QyxNQUFBLGlCQUFpQixHQUFHLElBQUksR0FBRyw2QkFBSyxLQUFMLEVBQUssS0FBTCxFQUFILElBQUcsQ0FBSCxHQUF4QixJQUFBO0FBREYsS0FBQSxNQUVPLElBQUksT0FBQSxLQUFBLEtBQUEsUUFBQSxJQUFKLEtBQUEsRUFBd0M7QUFDN0MsVUFBSSxjQUFKLFFBQUEsRUFBdUI7QUFDckIsY0FBTSxJQUFBLEtBQUEsQ0FDSix3RUFBd0UsS0FEMUUsa0xBQU0sQ0FBTjtBQUdEOztBQUVELFVBQUksa0JBQWtCLEdBQUcsUUFBUSxDQUFSLGVBQUEsQ0FBQSxLQUFBLEVBQXpCLEtBQXlCLENBQXpCOztBQUVBLFVBQUksY0FBUyxDQUFiLGtCQUFBLEVBQWtDO0FBQ2hDLGNBQU0sSUFBQSxLQUFBLENBQ0osMEJBQTBCLElBRDVCLGtFQUFNLENBQU47QUFHRDs7QUFFRCxNQUFBLGlCQUFpQixHQUFHLDZCQUNsQixTQUFTLENBQVQsaUJBQUEsQ0FBQSxrQkFBQSxFQUR1QixLQUN2QixDQURrQixFQUFLLEtBQUwsRUFBcEIsSUFBb0IsQ0FBcEI7QUFmSyxLQUFBLE1Bb0JBLElBQUksT0FBQSxLQUFBLEtBQUEsUUFBQSxJQUE2QixLQUFLLEtBQXRDLElBQUEsRUFBaUQ7QUFDdEQsTUFBQSxpQkFBaUIsR0FBRyw2QkFBTSxTQUFTLENBQVQsU0FBQSxDQUFBLEtBQUEsRUFBRCxLQUFDLENBQU4sRUFBSyxLQUFMLEVBQXBCLElBQW9CLENBQXBCO0FBREssS0FBQSxNQUVBO0FBQ0wsTUFBQSxpQkFBaUIsR0FBakIsSUFBQTtBQUNEOztBQUVELElBQUEsU0FBUyxHQUFULEtBQUE7QUFFQSxXQUFBLGlCQUFBO0FBckNGLEdBQU8sQ0FBUDtBQXVDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7XG4gIENhcHR1cmVkQXJndW1lbnRzLFxuICBEaWN0LFxuICBNYXliZSxcbiAgT3B0aW9uLFxuICBSdW50aW1lUmVzb2x2ZXIsXG4gIE93bmVyLFxuICBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyxcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb21wdXRlUmVmLCBSZWZlcmVuY2UsIHZhbHVlRm9yUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7XG4gIEN1cnJpZWRDb21wb25lbnREZWZpbml0aW9uLFxuICBjdXJyeSxcbiAgaXNDdXJyaWVkQ29tcG9uZW50RGVmaW5pdGlvbixcbn0gZnJvbSAnLi4vY29tcG9uZW50L2N1cnJpZWQtY29tcG9uZW50JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlQ3VycnlDb21wb25lbnRSZWYoXG4gIGlubmVyOiBSZWZlcmVuY2UsXG4gIHJlc29sdmVyOiBSdW50aW1lUmVzb2x2ZXIsXG4gIGNvbnN0YW50czogUmVzb2x1dGlvblRpbWVDb25zdGFudHMsXG4gIG93bmVyOiBPd25lcixcbiAgYXJnczogT3B0aW9uPENhcHR1cmVkQXJndW1lbnRzPixcbiAgaXNTdHJpY3Q6IGJvb2xlYW5cbikge1xuICBsZXQgbGFzdFZhbHVlOiBNYXliZTxEaWN0PiB8IHN0cmluZywgY3VycmllZERlZmluaXRpb246IE9wdGlvbjxDdXJyaWVkQ29tcG9uZW50RGVmaW5pdGlvbj47XG5cbiAgcmV0dXJuIGNyZWF0ZUNvbXB1dGVSZWYoKCkgPT4ge1xuICAgIGxldCB2YWx1ZSA9IHZhbHVlRm9yUmVmKGlubmVyKSBhcyBNYXliZTxEaWN0PiB8IHN0cmluZztcblxuICAgIGlmICh2YWx1ZSA9PT0gbGFzdFZhbHVlKSB7XG4gICAgICByZXR1cm4gY3VycmllZERlZmluaXRpb247XG4gICAgfVxuXG4gICAgaWYgKGlzQ3VycmllZENvbXBvbmVudERlZmluaXRpb24odmFsdWUpKSB7XG4gICAgICBjdXJyaWVkRGVmaW5pdGlvbiA9IGFyZ3MgPyBjdXJyeSh2YWx1ZSwgb3duZXIsIGFyZ3MpIDogYXJncztcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUpIHtcbiAgICAgIGlmIChERUJVRyAmJiBpc1N0cmljdCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEF0dGVtcHRlZCB0byByZXNvbHZlIGEgZHluYW1pYyBjb21wb25lbnQgd2l0aCBhIHN0cmluZyBkZWZpbml0aW9uLCBcXGAke3ZhbHVlfVxcYCBpbiBhIHN0cmljdCBtb2RlIHRlbXBsYXRlLiBJbiBzdHJpY3QgbW9kZSwgdXNpbmcgc3RyaW5ncyB0byByZXNvbHZlIGNvbXBvbmVudCBkZWZpbml0aW9ucyBpcyBwcm9oaWJpdGVkLiBZb3UgY2FuIGluc3RlYWQgaW1wb3J0IHRoZSBjb21wb25lbnQgZGVmaW5pdGlvbiBhbmQgdXNlIGl0IGRpcmVjdGx5LmBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgbGV0IHJlc29sdmVkRGVmaW5pdGlvbiA9IHJlc29sdmVyLmxvb2t1cENvbXBvbmVudCh2YWx1ZSwgb3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIXJlc29sdmVkRGVmaW5pdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEF0dGVtcHRlZCB0byByZXNvbHZlIFxcYCR7bmFtZX1cXGAsIHdoaWNoIHdhcyBleHBlY3RlZCB0byBiZSBhIGNvbXBvbmVudCwgYnV0IG5vdGhpbmcgd2FzIGZvdW5kLmBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY3VycmllZERlZmluaXRpb24gPSBjdXJyeShcbiAgICAgICAgY29uc3RhbnRzLnJlc29sdmVkQ29tcG9uZW50KHJlc29sdmVkRGVmaW5pdGlvbiEsIHZhbHVlKSxcbiAgICAgICAgb3duZXIsXG4gICAgICAgIGFyZ3NcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBjdXJyaWVkRGVmaW5pdGlvbiA9IGN1cnJ5KGNvbnN0YW50cy5jb21wb25lbnQob3duZXIsIHZhbHVlKSwgb3duZXIsIGFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyaWVkRGVmaW5pdGlvbiA9IG51bGw7XG4gICAgfVxuXG4gICAgbGFzdFZhbHVlID0gdmFsdWU7XG5cbiAgICByZXR1cm4gY3VycmllZERlZmluaXRpb247XG4gIH0pO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlZmVyZW5jZXMvY3VycnktY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFNYyxTQUFBLHVCQUFBLENBQUEsS0FBQSxFQUFBLFFBQUEsRUFBQSxTQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxRQUFBLEVBTUs7QUFFakIsTUFBQSxTQUFBLEVBQUEsaUJBQUE7QUFFQSxTQUFPLGlDQUFpQixNQUFLO0FBQzNCLFFBQUksS0FBSyxHQUFHLDRCQUFaLEtBQVksQ0FBWjs7QUFFQSxRQUFJLEtBQUssS0FBVCxTQUFBLEVBQXlCO0FBQ3ZCLGFBQUEsaUJBQUE7QUFDRDs7QUFFRCxRQUFJLG9EQUFKLEtBQUksQ0FBSixFQUF5QztBQUN2QyxNQUFBLGlCQUFpQixHQUFHLElBQUksR0FBRyw2QkFBSyxLQUFMLEVBQUssS0FBTCxFQUFILElBQUcsQ0FBSCxHQUF4QixJQUFBO0FBREYsS0FBQSxNQUVPLElBQUksT0FBQSxLQUFBLEtBQUEsUUFBQSxJQUFKLEtBQUEsRUFBd0M7QUFDN0MsVUFBSSxjQUFKLFFBQUEsRUFBdUI7QUFDckIsY0FBTSxJQUFBLEtBQUEsQ0FDSix3RUFBd0UsS0FEMUUsa0xBQU0sQ0FBTjtBQUdEOztBQUVELFVBQUksa0JBQWtCLEdBQUcsUUFBUSxDQUFSLGVBQUEsQ0FBQSxLQUFBLEVBQXpCLEtBQXlCLENBQXpCOztBQUVBLFVBQUksY0FBUyxDQUFiLGtCQUFBLEVBQWtDO0FBQ2hDLGNBQU0sSUFBQSxLQUFBLENBQ0osMEJBQTBCLElBRDVCLGtFQUFNLENBQU47QUFHRDs7QUFFRCxNQUFBLGlCQUFpQixHQUFHLDZCQUNsQixTQUFTLENBQVQsaUJBQUEsQ0FBQSxrQkFBQSxFQUR1QixLQUN2QixDQURrQixFQUFLLEtBQUwsRUFBcEIsSUFBb0IsQ0FBcEI7QUFmSyxLQUFBLE1Bb0JBLElBQUksT0FBQSxLQUFBLEtBQUEsVUFBQSxJQUFnQyxPQUFBLEtBQUEsS0FBQSxRQUFBLElBQTZCLEtBQUssS0FBdEUsSUFBQSxFQUFrRjtBQUN2RixNQUFBLGlCQUFpQixHQUFHLDZCQUFNLFNBQVMsQ0FBVCxTQUFBLENBQUQsS0FBQyxDQUFOLEVBQUssS0FBTCxFQUFwQixJQUFvQixDQUFwQjtBQURLLEtBQUEsTUFFQTtBQUNMLE1BQUEsaUJBQWlCLEdBQWpCLElBQUE7QUFDRDs7QUFFRCxJQUFBLFNBQVMsR0FBVCxLQUFBO0FBRUEsV0FBQSxpQkFBQTtBQXJDRixHQUFPLENBQVA7QUF1Q0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgRGljdCxcbiAgTWF5YmUsXG4gIE9wdGlvbixcbiAgUnVudGltZVJlc29sdmVyLFxuICBPd25lcixcbiAgUmVzb2x1dGlvblRpbWVDb25zdGFudHMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29tcHV0ZVJlZiwgUmVmZXJlbmNlLCB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQge1xuICBDdXJyaWVkQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgY3VycnksXG4gIGlzQ3VycmllZENvbXBvbmVudERlZmluaXRpb24sXG59IGZyb20gJy4uL2NvbXBvbmVudC9jdXJyaWVkLWNvbXBvbmVudCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUN1cnJ5Q29tcG9uZW50UmVmKFxuICBpbm5lcjogUmVmZXJlbmNlLFxuICByZXNvbHZlcjogUnVudGltZVJlc29sdmVyLFxuICBjb25zdGFudHM6IFJlc29sdXRpb25UaW1lQ29uc3RhbnRzLFxuICBvd25lcjogT3duZXIsXG4gIGFyZ3M6IE9wdGlvbjxDYXB0dXJlZEFyZ3VtZW50cz4sXG4gIGlzU3RyaWN0OiBib29sZWFuXG4pIHtcbiAgbGV0IGxhc3RWYWx1ZTogTWF5YmU8RGljdD4gfCBzdHJpbmcsIGN1cnJpZWREZWZpbml0aW9uOiBPcHRpb248Q3VycmllZENvbXBvbmVudERlZmluaXRpb24+O1xuXG4gIHJldHVybiBjcmVhdGVDb21wdXRlUmVmKCgpID0+IHtcbiAgICBsZXQgdmFsdWUgPSB2YWx1ZUZvclJlZihpbm5lcikgYXMgTWF5YmU8RGljdD4gfCBzdHJpbmc7XG5cbiAgICBpZiAodmFsdWUgPT09IGxhc3RWYWx1ZSkge1xuICAgICAgcmV0dXJuIGN1cnJpZWREZWZpbml0aW9uO1xuICAgIH1cblxuICAgIGlmIChpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uKHZhbHVlKSkge1xuICAgICAgY3VycmllZERlZmluaXRpb24gPSBhcmdzID8gY3VycnkodmFsdWUsIG93bmVyLCBhcmdzKSA6IGFyZ3M7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlKSB7XG4gICAgICBpZiAoREVCVUcgJiYgaXNTdHJpY3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBdHRlbXB0ZWQgdG8gcmVzb2x2ZSBhIGR5bmFtaWMgY29tcG9uZW50IHdpdGggYSBzdHJpbmcgZGVmaW5pdGlvbiwgXFxgJHt2YWx1ZX1cXGAgaW4gYSBzdHJpY3QgbW9kZSB0ZW1wbGF0ZS4gSW4gc3RyaWN0IG1vZGUsIHVzaW5nIHN0cmluZ3MgdG8gcmVzb2x2ZSBjb21wb25lbnQgZGVmaW5pdGlvbnMgaXMgcHJvaGliaXRlZC4gWW91IGNhbiBpbnN0ZWFkIGltcG9ydCB0aGUgY29tcG9uZW50IGRlZmluaXRpb24gYW5kIHVzZSBpdCBkaXJlY3RseS5gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGxldCByZXNvbHZlZERlZmluaXRpb24gPSByZXNvbHZlci5sb29rdXBDb21wb25lbnQodmFsdWUsIG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFyZXNvbHZlZERlZmluaXRpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBdHRlbXB0ZWQgdG8gcmVzb2x2ZSBcXGAke25hbWV9XFxgLCB3aGljaCB3YXMgZXhwZWN0ZWQgdG8gYmUgYSBjb21wb25lbnQsIGJ1dCBub3RoaW5nIHdhcyBmb3VuZC5gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGN1cnJpZWREZWZpbml0aW9uID0gY3VycnkoXG4gICAgICAgIGNvbnN0YW50cy5yZXNvbHZlZENvbXBvbmVudChyZXNvbHZlZERlZmluaXRpb24hLCB2YWx1ZSksXG4gICAgICAgIG93bmVyLFxuICAgICAgICBhcmdzXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSkge1xuICAgICAgY3VycmllZERlZmluaXRpb24gPSBjdXJyeShjb25zdGFudHMuY29tcG9uZW50KHZhbHVlKSwgb3duZXIsIGFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyaWVkRGVmaW5pdGlvbiA9IG51bGw7XG4gICAgfVxuXG4gICAgbGFzdFZhbHVlID0gdmFsdWU7XG5cbiAgICByZXR1cm4gY3VycmllZERlZmluaXRpb247XG4gIH0pO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -77,3 +77,3 @@ "use strict";

let reified = vm[_symbols.CONSTANTS].component(owner, definition);
let reified = vm[_symbols.CONSTANTS].component(definition, false, owner);

@@ -126,2 +126,2 @@ vm.pushFrame(); // Push blocks on to the stack, three stack values per block

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFhQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQUEsb0JBQUEsQ0FBMEI7QUFDeEIsRUFBQSxXQUFBLENBQUEsRUFBQSxFQUFrQztBQUFkLFNBQUEsRUFBQSxHQUFBLEVBQUE7QUFBa0I7O0FBQ3RDLEVBQUEsSUFBSSxHQUFBO0FBQ0YsV0FBTyxLQUFBLEVBQUEsQ0FBUCxJQUFPLEVBQVA7QUFDRDs7QUFFRCxFQUFBLElBQUksR0FBQTtBQUNGLFFBQUEsVUFBQSxFQUFXO0FBQ1QsYUFBTyx5Q0FBMEIsTUFBTSxLQUFBLEVBQUEsQ0FBUCxPQUFPLEVBQWhDLEVBQVAsb0JBQU8sQ0FBUDtBQURGLEtBQUEsTUFFTztBQUNMLGFBQU8sS0FBQSxFQUFBLENBQVAsT0FBTyxFQUFQO0FBQ0Q7QUFDRjs7QUFadUI7O0FBZXBCLFNBQUEsVUFBQSxDQUFBLEdBQUEsRUFBQSxRQUFBLEVBQWlFO0FBQ3JFLE1BQUEsTUFBQTtBQUVBLGtDQUFhLEdBQWIsRUFBbUIsTUFBTyxNQUFNLEdBQUcsUUFBUSxDQUEzQyxJQUFtQyxFQUFuQztBQUVBLFNBQUEsTUFBQTtBQUNEOztBQUVLLFNBQUEsVUFBQSxDQUFBLE9BQUEsRUFBQSxPQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxXQUFBLEVBQUEsTUFBQSxFQU9KLFlBQUEsR0FBNkIsSUFQekIsdUJBT3lCLEVBUHpCLEVBTytDO0FBRW5ELE1BQUksTUFBTSxHQUFHLHdCQUFhLE1BQU0sQ0FBTixPQUFBLENBQTFCLE9BQTBCLENBQWIsQ0FBYjtBQUNBLE1BQUksVUFBVSxHQUFHLE1BQU0sQ0FBTixXQUFBLENBQUEsT0FBQSxDQUFqQixNQUFBOztBQUNBLE1BQUksRUFBRSxHQUFHLGdCQUFBLE9BQUEsQ0FBQSxPQUFBLEVB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VUFBQSxFQUFpQyxpQkFBaUIsQ0FBekUsSUFBeUUsQ0FBbEQsQ0FBdkI7QUFDRDs7QUFFRCxTQUFBLGlCQUFBLENBQUEsTUFBQSxFQUEwRDtBQUN4RCxRQUFNLElBQUksR0FBRywrQkFBYyxNQUFkLEVBQWIsTUFBYSxDQUFiO0FBRUEsU0FBTyxNQUFNLENBQU4sSUFBQSxDQUFBLE1BQUEsRUFBQSxNQUFBLENBQTJCLENBQUEsR0FBQSxFQUFBLEdBQUEsS0FBYTtBQUM3QyxJQUFBLEdBQUcsQ0FBSCxHQUFHLENBQUgsR0FBVyw0QkFBVyxJQUFYLEVBQVgsR0FBVyxDQUFYO0FBQ0EsV0FBQSxHQUFBO0FBRkssR0FBQSxFQUFQLEVBQU8sQ0FBUDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRHluYW1pY1Njb3BlLFxuICBFbnZpcm9ubWVudCxcbiAgUmVuZGVyUmVzdWx0LFxuICBSaWNoSXRlcmF0b3JSZXN1bHQsXG4gIFRlbXBsYXRlSXRlcmF0b3IsXG4gIFJ1bnRpbWVDb250ZXh0LFxuICBFbGVtZW50QnVpbGRlcixcbiAgQ29tcGlsYWJsZVByb2dyYW0sXG4gIENvbXBpbGVUaW1lQ29tcGlsYXRpb25Db250ZXh0LFxuICBDb21wb25lbnREZWZpbml0aW9uU3RhdGUsXG4gIE93bmVyLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNoaWxkUmVmRm9yLCBjcmVhdGVDb25zdFJlZiwgUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IGV4cGVjdCwgdW53cmFwSGFuZGxlIH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBBUkdTLCBDT05TVEFOVFMgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IFZNLCB7IEludGVybmFsVk0gfSBmcm9tICcuL3ZtL2FwcGVuZCc7XG5pbXBvcnQgeyBEeW5hbWljU2NvcGVJbXBsIH0gZnJvbSAnLi9zY29wZSc7XG5pbXBvcnQgeyBpblRyYW5zYWN0aW9uIH0gZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQgeyBydW5JblRyYWNraW5nVHJhbnNhY3Rpb24gfSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuXG5jbGFzcyBUZW1wbGF0ZUl0ZXJhdG9ySW1wbCBpbXBsZW1lbnRzIFRlbXBsYXRlSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZtOiBJbnRlcm5hbFZNKSB7fVxuICBuZXh0KCk6IFJpY2hJdGVyYXRvclJlc3VsdDxudWxsLCBSZW5kZXJSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy52bS5uZXh0KCk7XG4gIH1cblxuICBzeW5jKCk6IFJlbmRlclJlc3VsdCB7XG4gICAgaWYgKERFQlVHKSB7XG4gICAgICByZXR1cm4gcnVuSW5UcmFja2luZ1RyYW5zYWN0aW9uISgoKSA9PiB0aGlzLnZtLmV4ZWN1dGUoKSwgJy0gV2hpbGUgcmVuZGVyaW5nOicpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy52bS5leGVjdXRlKCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJTeW5jKGVudjogRW52aXJvbm1lbnQsIGl0ZXJhdG9yOiBUZW1wbGF0ZUl0ZXJhdG9yKTogUmVuZGVyUmVzdWx0IHtcbiAgbGV0IHJlc3VsdDogUmVuZGVyUmVzdWx0O1xuXG4gIGluVHJhbnNhY3Rpb24oZW52LCAoKSA9PiAocmVzdWx0ID0gaXRlcmF0b3Iuc3luYygpKSk7XG5cbiAgcmV0dXJuIHJlc3VsdCE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJNYWluKFxuICBydW50aW1lOiBSdW50aW1lQ29udGV4dCxcbiAgY29udGV4dDogQ29tcGlsZVRpbWVDb21waWxhdGlvbkNvbnRleHQsXG4gIG93bmVyOiBPd25lcixcbiAgc2VsZjogUmVmZXJlbmNlLFxuICB0cmVlQnVpbGRlcjogRWxlbWVudEJ1aWxkZXIsXG4gIGxheW91dDogQ29tcGlsYWJsZVByb2dyYW0sXG4gIGR5bmFtaWNTY29wZTogRHluYW1pY1Njb3BlID0gbmV3IER5bmFtaWNTY29wZUltcGwoKVxuKTogVGVtcGxhdGVJdGVyYXRvciB7XG4gIGxldCBoYW5kbGUgPSB1bndyYXBIYW5kbGUobGF5b3V0LmNvbXBpbGUoY29udGV4dCkpO1xuICBsZXQgbnVtU3ltYm9scyA9IGxheW91dC5zeW1ib2xUYWJsZS5zeW1ib2xzLmxlbmd0aDtcbiAgbGV0IHZtID0gVk0uaW5pdGlhbChydW50aW1lLCBjb250ZXh0LCB7XG4gICAgc2VsZixcbiAgICBkeW5hbWljU2NvcGUsXG4gICAgdHJlZUJ1aWxkZXIsXG4gICAgaGFuZGxlLFxuICAgIG51bVN5bWJvbHMsXG4gICAgb3duZXIsXG4gIH0pO1xuICByZXR1cm4gbmV3IFRlbXBsYXRlSXRlcmF0b3JJbXBsKHZtKTtcbn1cblxuZnVuY3Rpb24gcmVuZGVySW52b2NhdGlvbihcbiAgdm06IEludGVybmFsVk0sXG4gIGNvbnRleHQ6IENvbXBpbGVUaW1lQ29tcGlsYXRpb25Db250ZXh0LFxuICBvd25lcjogT3duZXIsXG4gIGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgYXJnczogUmVjb3JkPHN0cmluZywgUmVmZXJlbmNlPlxuKTogVGVtcGxhdGVJdGVyYXRvciB7XG4gIC8vIEdldCBhIGxpc3Qgb2YgdHVwbGVzIG9mIGFyZ3VtZW50IG5hbWVzIGFuZCByZWZlcmVuY2VzLCBsaWtlXG4gIC8vIFtbJ3RpdGxlJywgcmVmZXJlbmNlXSwgWyduYW1lJywgcmVmZXJlbmNlXV1cbiAgY29uc3QgYXJnTGlzdCA9IE9iamVjdC5rZXlzKGFyZ3MpLm1hcCgoa2V5KSA9PiBba2V5LCBhcmdzW2tleV1dKTtcblxuICBjb25zdCBibG9ja05hbWVzID0gWydtYWluJywgJ2Vsc2UnLCAnYXR0cnMnXTtcbiAgLy8gUHJlZml4IGFyZ3VtZW50IG5hbWVzIHdpdGggYEBgIHN5bWJvbFxuICBjb25zdCBhcmdOYW1lcyA9IGFyZ0xpc3QubWFwKChbbmFtZV0pID0+IGBAJHtuYW1lfWApO1xuXG4gIGxldCByZWlmaWVkID0gdm1bQ09OU1RBTlRTXS5jb21wb25lbnQob3duZXIsIGRlZmluaXRpb24pO1xuXG4gIHZtLnB1c2hGcmFtZSgpO1xuXG4gIC8vIFB1c2ggYmxvY2tzIG9uIHRvIHRoZSBzdGFjaywgdGhyZWUgc3RhY2sgdmFsdWVzIHBlciBibG9ja1xuICBmb3IgKGxldCBpID0gMDsgaSA8IDMgKiBibG9ja05hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdm0uc3RhY2sucHVzaE51bGwoKTtcbiAgfVxuXG4gIHZtLnN0YWNrLnB1c2hOdWxsKCk7XG5cbiAgLy8gRm9yIGVhY2ggYXJndW1lbnQsIHB1c2ggaXRzIGJhY2tpbmcgcmVmZXJlbmNlIG9uIHRvIHRoZSBzdGFja1xuICBhcmdMaXN0LmZvckVhY2goKFssIHJlZmVyZW5jZV0pID0+IHtcbiAgICB2bS5zdGFjay5wdXNoSnMocmVmZXJlbmNlKTtcbiAgfSk7XG5cbiAgLy8gQ29uZmlndXJlIFZNIGJhc2VkIG9uIGJsb2NrcyBhbmQgYXJncyBqdXN0IHB1c2hlZCBvbiB0byB0aGUgc3RhY2suXG4gIHZtW0FSR1NdLnNldHVwKHZtLnN0YWNrLCBhcmdOYW1lcywgYmxvY2tOYW1lcywgMCwgdHJ1ZSk7XG5cbiAgY29uc3QgY29tcGlsYWJsZSA9IGV4cGVjdChcbiAgICByZWlmaWVkLmNvbXBpbGFibGUsXG4gICAgJ0JVRzogRXhwZWN0ZWQgdGhlIHJvb3QgY29tcG9uZW50IHJlbmRlcmVkIHdpdGggcmVuZGVyQ29tcG9uZW50IHRvIGhhdmUgYW4gYXNzb2NpYXRlZCB0ZW1wbGF0ZSwgc2V0IHdpdGggc2V0Q29tcG9uZW50VGVtcGxhdGUnXG4gICk7XG4gIGNvbnN0IGxheW91dEhhbmRsZSA9IHVud3JhcEhhbmRsZShjb21waWxhYmxlLmNvbXBpbGUoY29udGV4dCkpO1xuICBjb25zdCBpbnZvY2F0aW9uID0geyBoYW5kbGU6IGxheW91dEhhbmRsZSwgc3ltYm9sVGFibGU6IGNvbXBpbGFibGUuc3ltYm9sVGFibGUgfTtcblxuICAvLyBOZWVkZWQgZm9yIHRoZSBPcC5NYWluIG9wY29kZTogYXJndW1lbnRzLCBjb21wb25lbnQgaW52b2NhdGlvbiBvYmplY3QsIGFuZFxuICAvLyBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAgdm0uc3RhY2sucHVzaEpzKHZtW0FSR1NdKTtcbiAgdm0uc3RhY2sucHVzaEpzKGludm9jYXRpb24pO1xuICB2bS5zdGFjay5wdXNoSnMocmVpZmllZCk7XG5cbiAgcmV0dXJuIG5ldyBUZW1wbGF0ZUl0ZXJhdG9ySW1wbCh2bSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJDb21wb25lbnQoXG4gIHJ1bnRpbWU6IFJ1bnRpbWVDb250ZXh0LFxuICB0cmVlQnVpbGRlcjogRWxlbWVudEJ1aWxkZXIsXG4gIGNvbnRleHQ6IENvbXBpbGVUaW1lQ29tcGlsYXRpb25Db250ZXh0LFxuICBvd25lcjogT3duZXIsXG4gIGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbiAgZHluYW1pY1Njb3BlOiBEeW5hbWljU2NvcGUgPSBuZXcgRHluYW1pY1Njb3BlSW1wbCgpXG4pOiBUZW1wbGF0ZUl0ZXJhdG9yIHtcbiAgbGV0IHZtID0gVk0uZW1wdHkoXG4gICAgcnVudGltZSxcbiAgICB7IHRyZWVCdWlsZGVyLCBoYW5kbGU6IGNvbnRleHQuc3RkbGliLm1haW4sIGR5bmFtaWNTY29wZSwgb3duZXIgfSxcbiAgICBjb250ZXh0XG4gICk7XG4gIHJldHVybiByZW5kZXJJbnZvY2F0aW9uKHZtLCBjb250ZXh0LCBvd25lciwgZGVmaW5pdGlvbiwgcmVjb3JkVG9SZWZlcmVuY2UoYXJncykpO1xufVxuXG5mdW5jdGlvbiByZWNvcmRUb1JlZmVyZW5jZShyZWNvcmQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgUmVmZXJlbmNlPiB7XG4gIGNvbnN0IHJvb3QgPSBjcmVhdGVDb25zdFJlZihyZWNvcmQsICdhcmdzJyk7XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHJlY29yZCkucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgIGFjY1trZXldID0gY2hpbGRSZWZGb3Iocm9vdCwga2V5KTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBSZWZlcmVuY2U+KTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFhQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQUEsb0JBQUEsQ0FBMEI7QUFDeEIsRUFBQSxXQUFBLENBQUEsRUFBQSxFQUFrQztBQUFkLFNBQUEsRUFBQSxHQUFBLEVBQUE7QUFBa0I7O0FBQ3RDLEVBQUEsSUFBSSxHQUFBO0FBQ0YsV0FBTyxLQUFBLEVBQUEsQ0FBUCxJQUFPLEVBQVA7QUFDRDs7QUFFRCxFQUFBLElBQUksR0FBQTtBQUNGLFFBQUEsVUFBQSxFQUFXO0FBQ1QsYUFBTyx5Q0FBMEIsTUFBTSxLQUFBLEVBQUEsQ0FBUCxPQUFPLEVBQWhDLEVBQVAsb0JBQU8sQ0FBUDtBQURGLEtBQUEsTUFFTztBQUNMLGFBQU8sS0FBQSxFQUFBLENBQVAsT0FBTyxFQUFQO0FBQ0Q7QUFDRjs7QUFadUI7O0FBZXBCLFNBQUEsVUFBQSxDQUFBLEdBQUEsRUFBQSxRQUFBLEVBQWlFO0FBQ3JFLE1BQUEsTUFBQTtBQUVBLGtDQUFhLEdBQWIsRUFBbUIsTUFBTyxNQUFNLEdBQUcsUUFBUSxDQUEzQyxJQUFtQyxFQUFuQztBQUVBLFNBQUEsTUFBQTtBQUNEOztBQUVLLFNBQUEsVUFBQSxDQUFBLE9BQUEsRUFBQSxPQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxXQUFBLEVBQUEsTUFBQSxFQU9KLFlBQUEsR0FBNkIsSUFQekIsdUJBT3lCLEVBUHpCLEVBTytDO0FBRW5ELE1BQUksTUFBTSxHQUFHLHdCQUFhLE1BQU0sQ0FBTixPQUFBLENBQTFCLE9BQTBCLENBQWIsQ0FBYjtBQUNBLE1BQUksVUFBVSxHQUFHLE1BQU0sQ0FBTixXQUFBLENBQUEsT0FBQSxDQUFqQixNQUFBOztBQUNBLE1BQUksRUFBRSxHQUFHLGdCQUFBLE9BQUEsQ0FBQSxPQUFBLEVB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S0FBQSxFQUFBLFVBQUEsRUFBaUMsaUJBQWlCLENBQXpFLElBQXlFLENBQWxELENBQXZCO0FBQ0Q7O0FBRUQsU0FBQSxpQkFBQSxDQUFBLE1BQUEsRUFBMEQ7QUFDeEQsUUFBTSxJQUFJLEdBQUcsK0JBQWMsTUFBZCxFQUFiLE1BQWEsQ0FBYjtBQUVBLFNBQU8sTUFBTSxDQUFOLElBQUEsQ0FBQSxNQUFBLEVBQUEsTUFBQSxDQUEyQixDQUFBLEdBQUEsRUFBQSxHQUFBLEtBQWE7QUFDN0MsSUFBQSxHQUFHLENBQUgsR0FBRyxDQUFILEdBQVcsNEJBQVcsSUFBWCxFQUFYLEdBQVcsQ0FBWDtBQUNBLFdBQUEsR0FBQTtBQUZLLEdBQUEsRUFBUCxFQUFPLENBQVA7QUFJRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIER5bmFtaWNTY29wZSxcbiAgRW52aXJvbm1lbnQsXG4gIFJlbmRlclJlc3VsdCxcbiAgUmljaEl0ZXJhdG9yUmVzdWx0LFxuICBUZW1wbGF0ZUl0ZXJhdG9yLFxuICBSdW50aW1lQ29udGV4dCxcbiAgRWxlbWVudEJ1aWxkZXIsXG4gIENvbXBpbGFibGVQcm9ncmFtLFxuICBDb21waWxlVGltZUNvbXBpbGF0aW9uQ29udGV4dCxcbiAgQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICBPd25lcixcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjaGlsZFJlZkZvciwgY3JlYXRlQ29uc3RSZWYsIFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBleHBlY3QsIHVud3JhcEhhbmRsZSB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgQVJHUywgQ09OU1RBTlRTIH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCBWTSwgeyBJbnRlcm5hbFZNIH0gZnJvbSAnLi92bS9hcHBlbmQnO1xuaW1wb3J0IHsgRHluYW1pY1Njb3BlSW1wbCB9IGZyb20gJy4vc2NvcGUnO1xuaW1wb3J0IHsgaW5UcmFuc2FjdGlvbiB9IGZyb20gJy4vZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHsgcnVuSW5UcmFja2luZ1RyYW5zYWN0aW9uIH0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcblxuY2xhc3MgVGVtcGxhdGVJdGVyYXRvckltcGwgaW1wbGVtZW50cyBUZW1wbGF0ZUl0ZXJhdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2bTogSW50ZXJuYWxWTSkge31cbiAgbmV4dCgpOiBSaWNoSXRlcmF0b3JSZXN1bHQ8bnVsbCwgUmVuZGVyUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMudm0ubmV4dCgpO1xuICB9XG5cbiAgc3luYygpOiBSZW5kZXJSZXN1bHQge1xuICAgIGlmIChERUJVRykge1xuICAgICAgcmV0dXJuIHJ1bkluVHJhY2tpbmdUcmFuc2FjdGlvbiEoKCkgPT4gdGhpcy52bS5leGVjdXRlKCksICctIFdoaWxlIHJlbmRlcmluZzonKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudm0uZXhlY3V0ZSgpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyU3luYyhlbnY6IEVudmlyb25tZW50LCBpdGVyYXRvcjogVGVtcGxhdGVJdGVyYXRvcik6IFJlbmRlclJlc3VsdCB7XG4gIGxldCByZXN1bHQ6IFJlbmRlclJlc3VsdDtcblxuICBpblRyYW5zYWN0aW9uKGVudiwgKCkgPT4gKHJlc3VsdCA9IGl0ZXJhdG9yLnN5bmMoKSkpO1xuXG4gIHJldHVybiByZXN1bHQhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyTWFpbihcbiAgcnVudGltZTogUnVudGltZUNvbnRleHQsXG4gIGNvbnRleHQ6IENvbXBpbGVUaW1lQ29tcGlsYXRpb25Db250ZXh0LFxuICBvd25lcjogT3duZXIsXG4gIHNlbGY6IFJlZmVyZW5jZSxcbiAgdHJlZUJ1aWxkZXI6IEVsZW1lbnRCdWlsZGVyLFxuICBsYXlvdXQ6IENvbXBpbGFibGVQcm9ncmFtLFxuICBkeW5hbWljU2NvcGU6IER5bmFtaWNTY29wZSA9IG5ldyBEeW5hbWljU2NvcGVJbXBsKClcbik6IFRlbXBsYXRlSXRlcmF0b3Ige1xuICBsZXQgaGFuZGxlID0gdW53cmFwSGFuZGxlKGxheW91dC5jb21waWxlKGNvbnRleHQpKTtcbiAgbGV0IG51bVN5bWJvbHMgPSBsYXlvdXQuc3ltYm9sVGFibGUuc3ltYm9scy5sZW5ndGg7XG4gIGxldCB2bSA9IFZNLmluaXRpYWwocnVudGltZSwgY29udGV4dCwge1xuICAgIHNlbGYsXG4gICAgZHluYW1pY1Njb3BlLFxuICAgIHRyZWVCdWlsZGVyLFxuICAgIGhhbmRsZSxcbiAgICBudW1TeW1ib2xzLFxuICAgIG93bmVyLFxuICB9KTtcbiAgcmV0dXJuIG5ldyBUZW1wbGF0ZUl0ZXJhdG9ySW1wbCh2bSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlckludm9jYXRpb24oXG4gIHZtOiBJbnRlcm5hbFZNLFxuICBjb250ZXh0OiBDb21waWxlVGltZUNvbXBpbGF0aW9uQ29udGV4dCxcbiAgb3duZXI6IE93bmVyLFxuICBkZWZpbml0aW9uOiBDb21wb25lbnREZWZpbml0aW9uU3RhdGUsXG4gIGFyZ3M6IFJlY29yZDxzdHJpbmcsIFJlZmVyZW5jZT5cbik6IFRlbXBsYXRlSXRlcmF0b3Ige1xuICAvLyBHZXQgYSBsaXN0IG9mIHR1cGxlcyBvZiBhcmd1bWVudCBuYW1lcyBhbmQgcmVmZXJlbmNlcywgbGlrZVxuICAvLyBbWyd0aXRsZScsIHJlZmVyZW5jZV0sIFsnbmFtZScsIHJlZmVyZW5jZV1dXG4gIGNvbnN0IGFyZ0xpc3QgPSBPYmplY3Qua2V5cyhhcmdzKS5tYXAoKGtleSkgPT4gW2tleSwgYXJnc1trZXldXSk7XG5cbiAgY29uc3QgYmxvY2tOYW1lcyA9IFsnbWFpbicsICdlbHNlJywgJ2F0dHJzJ107XG4gIC8vIFByZWZpeCBhcmd1bWVudCBuYW1lcyB3aXRoIGBAYCBzeW1ib2xcbiAgY29uc3QgYXJnTmFtZXMgPSBhcmdMaXN0Lm1hcCgoW25hbWVdKSA9PiBgQCR7bmFtZX1gKTtcblxuICBsZXQgcmVpZmllZCA9IHZtW0NPTlNUQU5UU10uY29tcG9uZW50KGRlZmluaXRpb24sIGZhbHNlLCBvd25lcik7XG5cbiAgdm0ucHVzaEZyYW1lKCk7XG5cbiAgLy8gUHVzaCBibG9ja3Mgb24gdG8gdGhlIHN0YWNrLCB0aHJlZSBzdGFjayB2YWx1ZXMgcGVyIGJsb2NrXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMyAqIGJsb2NrTmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2bS5zdGFjay5wdXNoTnVsbCgpO1xuICB9XG5cbiAgdm0uc3RhY2sucHVzaE51bGwoKTtcblxuICAvLyBGb3IgZWFjaCBhcmd1bWVudCwgcHVzaCBpdHMgYmFja2luZyByZWZlcmVuY2Ugb24gdG8gdGhlIHN0YWNrXG4gIGFyZ0xpc3QuZm9yRWFjaCgoWywgcmVmZXJlbmNlXSkgPT4ge1xuICAgIHZtLnN0YWNrLnB1c2hKcyhyZWZlcmVuY2UpO1xuICB9KTtcblxuICAvLyBDb25maWd1cmUgVk0gYmFzZWQgb24gYmxvY2tzIGFuZCBhcmdzIGp1c3QgcHVzaGVkIG9uIHRvIHRoZSBzdGFjay5cbiAgdm1bQVJHU10uc2V0dXAodm0uc3RhY2ssIGFyZ05hbWVzLCBibG9ja05hbWVzLCAwLCB0cnVlKTtcblxuICBjb25zdCBjb21waWxhYmxlID0gZXhwZWN0KFxuICAgIHJlaWZpZWQuY29tcGlsYWJsZSxcbiAgICAnQlVHOiBFeHBlY3RlZCB0aGUgcm9vdCBjb21wb25lbnQgcmVuZGVyZWQgd2l0aCByZW5kZXJDb21wb25lbnQgdG8gaGF2ZSBhbiBhc3NvY2lhdGVkIHRlbXBsYXRlLCBzZXQgd2l0aCBzZXRDb21wb25lbnRUZW1wbGF0ZSdcbiAgKTtcbiAgY29uc3QgbGF5b3V0SGFuZGxlID0gdW53cmFwSGFuZGxlKGNvbXBpbGFibGUuY29tcGlsZShjb250ZXh0KSk7XG4gIGNvbnN0IGludm9jYXRpb24gPSB7IGhhbmRsZTogbGF5b3V0SGFuZGxlLCBzeW1ib2xUYWJsZTogY29tcGlsYWJsZS5zeW1ib2xUYWJsZSB9O1xuXG4gIC8vIE5lZWRlZCBmb3IgdGhlIE9wLk1haW4gb3Bjb2RlOiBhcmd1bWVudHMsIGNvbXBvbmVudCBpbnZvY2F0aW9uIG9iamVjdCwgYW5kXG4gIC8vIGNvbXBvbmVudCBkZWZpbml0aW9uLlxuICB2bS5zdGFjay5wdXNoSnModm1bQVJHU10pO1xuICB2bS5zdGFjay5wdXNoSnMoaW52b2NhdGlvbik7XG4gIHZtLnN0YWNrLnB1c2hKcyhyZWlmaWVkKTtcblxuICByZXR1cm4gbmV3IFRlbXBsYXRlSXRlcmF0b3JJbXBsKHZtKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckNvbXBvbmVudChcbiAgcnVudGltZTogUnVudGltZUNvbnRleHQsXG4gIHRyZWVCdWlsZGVyOiBFbGVtZW50QnVpbGRlcixcbiAgY29udGV4dDogQ29tcGlsZVRpbWVDb21waWxhdGlvbkNvbnRleHQsXG4gIG93bmVyOiBPd25lcixcbiAgZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICBhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuICBkeW5hbWljU2NvcGU6IER5bmFtaWNTY29wZSA9IG5ldyBEeW5hbWljU2NvcGVJbXBsKClcbik6IFRlbXBsYXRlSXRlcmF0b3Ige1xuICBsZXQgdm0gPSBWTS5lbXB0eShcbiAgICBydW50aW1lLFxuICAgIHsgdHJlZUJ1aWxkZXIsIGhhbmRsZTogY29udGV4dC5zdGRsaWIubWFpbiwgZHluYW1pY1Njb3BlLCBvd25lciB9LFxuICAgIGNvbnRleHRcbiAgKTtcbiAgcmV0dXJuIHJlbmRlckludm9jYXRpb24odm0sIGNvbnRleHQsIG93bmVyLCBkZWZpbml0aW9uLCByZWNvcmRUb1JlZmVyZW5jZShhcmdzKSk7XG59XG5cbmZ1bmN0aW9uIHJlY29yZFRvUmVmZXJlbmNlKHJlY29yZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCBSZWZlcmVuY2U+IHtcbiAgY29uc3Qgcm9vdCA9IGNyZWF0ZUNvbnN0UmVmKHJlY29yZCwgJ2FyZ3MnKTtcblxuICByZXR1cm4gT2JqZWN0LmtleXMocmVjb3JkKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgYWNjW2tleV0gPSBjaGlsZFJlZkZvcihyb290LCBrZXkpO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIFJlZmVyZW5jZT4pO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -7,7 +7,9 @@ import { isConstRef, valueForRef } from '@glimmer/reference';

import { AssertFilter } from './vm';
import { hasInternalComponentManager } from '@glimmer/manager';
import { hasInternalComponentManager, hasInternalHelperManager } from '@glimmer/manager';
import { DEBUG } from '@glimmer/env';
import { isCurriedHelperDefinition } from '../../helpers/curried-helper';
function toContentType(value) {
if (shouldCoerce(value)) {
return 1
return 2
/* String */

@@ -19,16 +21,20 @@ ;

;
} else if (isCurriedHelperDefinition(value) || hasInternalHelperManager(value)) {
return 1
/* Helper */
;
} else if (isSafeString(value)) {
return 3
return 4
/* SafeString */
;
} else if (isFragment(value)) {
return 4
return 5
/* Fragment */
;
} else if (isNode(value)) {
return 5
return 6
/* Node */
;
} else {
return 1
return 2
/* String */

@@ -39,2 +45,24 @@ ;

function toDynamicContentType(value) {
if (typeof value !== 'function' && (typeof value !== 'object' || value === null)) {
return 2
/* String */
;
}
if (isCurriedComponentDefinition(value) || hasInternalComponentManager(value)) {
return 0
/* Component */
;
} else {
if (DEBUG && !isCurriedHelperDefinition(value) && !hasInternalHelperManager(value)) {
throw new Error(`Attempted use a dynamic value as a component or helper, but that value did not have an associated component or helper manager. The value was: ${value}`);
}
return 1
/* Helper */
;
}
}
APPEND_OPCODES.add(76

@@ -50,2 +78,12 @@ /* ContentType */

});
APPEND_OPCODES.add(106
/* DynamicContentType */
, vm => {
let reference = vm.stack.peek();
vm.stack.pushSmallInt(toDynamicContentType(valueForRef(reference)));
if (!isConstRef(reference)) {
vm.updateWith(new AssertFilter(reference, toDynamicContentType));
}
});
APPEND_OPCODES.add(43

@@ -93,2 +131,2 @@ /* AppendHTML */

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLFVBQVQsRUFBcUIsV0FBckIsUUFBd0Msb0JBQXhDO0FBU0EsU0FBUyxjQUFULFFBQStCLGVBQS9CO0FBQ0EsU0FBUyw0QkFBVCxRQUE2QyxtQ0FBN0M7QUFFQSxTQUFTLE9BQVQsRUFBa0IsWUFBbEIsRUFBZ0MsVUFBaEMsRUFBNEMsTUFBNUMsRUFBb0QsWUFBcEQsUUFBd0UscUJBQXhFO0FBQ0EsT0FBTyxrQkFBUCxNQUErQix1QkFBL0I7QUFFQSxTQUFTLFlBQVQsUUFBNkIsTUFBN0I7QUFDQSxTQUFTLDJCQUFULFFBQTRDLGtCQUE1Qzs7QUFFQSxTQUFTLGFBQVQsQ0FBdUIsS0FBdkIsRUFBcUM7QUFDbkMsTUFBSSxZQUFZLENBQUMsS0FBRCxDQUFoQixFQUF5QjtBQUN2QixXQUFBO0FBQUE7QUFBQTtBQUNELEdBRkQsTUFFTyxJQUFJLDRCQUE0QixDQUFDLEtBQUQsQ0FBNUIsSUFBdUMsMkJBQTJCLENBQUMsS0FBRCxDQUF0RSxFQUF5RjtBQUM5RixXQUFBO0FBQUE7QUFBQTtBQUNELEdBRk0sTUFFQSxJQUFJLFlBQVksQ0FBQyxLQUFELENBQWhCLEVBQXlCO0FBQzlCLFdBQUE7QUFBQTtBQUFBO0FBQ0QsR0FGTSxNQUVBLElBQUksVUFBVSxDQUFDLEtBQUQsQ0FBZCxFQUF1QjtBQUM1QixXQUFBO0FBQUE7QUFBQTtBQUNELEdBRk0sTUFFQSxJQUFJLE1BQU0sQ0FBQyxLQUFELENBQVYsRUFBbUI7QUFDeEIsV0FBQTtBQUFBO0FBQUE7QUFDRCxHQUZNLE1BRUE7QUFDTCxhQUFBO0FBQUE7QUFBQTtBQUNEO0FBQ0Y7O0FBRUQsY0FBYyxDQUFDLEdBQWYsQ0FBa0I7QUFBQTtBQUFsQixFQUFvQyxFQUFELElBQU87QUFDeEMsTUFBSSxTQUFTLEdBQVMsRUFBRSxDQUFDLEtBQUgsQ0FBUyxJQUFULEVBQXRCO0FBRUEsRUFBQSxFQUFFLENBQUMsS0FBSCxDQUFTLFlBQVQsQ0FBc0IsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFELENBQVosQ0FBbkM7O0FBRUEsTUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFELENBQWYsRUFBNEI7QUFDMUIsSUFBQSxFQUFFLENBQUMsVUFBSCxDQUFjLElBQUksWUFBSixDQUFpQixTQUFqQixFQUE0QixhQUE1QixDQUFkO0FBQ0Q7QUFDRixDQVJEO0FBVUEsY0FBYyxDQUFDLEdBQWYsQ0FBa0I7QUFBQTtBQUFsQixFQUFtQyxFQUFELElBQU87QUFDdkMsTUFBSSxTQUFTLEdBQVMsRUFBRSxDQUFDLEtBQUgsQ0FBUyxLQUFULEVBQXRCO0FBRUEsTUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLFNBQUQsQ0FBMUI7QUFDQSxNQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBRCxDQUFQLEdBQW9CLEVBQXBCLEdBQXlCLE1BQU0sQ0FBQyxRQUFELENBQTNDO0FBRUEsRUFBQSxFQUFFLENBQUMsUUFBSCxHQUFjLGlCQUFkLENBQWdDLEtBQWhDO0FBQ0QsQ0FQRDtBQVNBLGNBQWMsQ0FBQyxHQUFmLENBQWtCO0FBQUE7QUFBbEIsRUFBdUMsRUFBRCxJQUFPO0FBQzNDLE1BQUksU0FBUyxHQUFTLEVBQUUsQ0FBQyxLQUFILENBQVMsS0FBVCxFQUF0QjtBQUVBLE1BQUksUUFBUSxHQUFTLFdBQVcsQ0FBQyxTQUFELENBQWpCLENBQStDLE1BQS9DLEVBQWY7QUFDQSxNQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBRCxDQUFQLEdBQW9CLEVBQXBCLEdBQStCLFFBQTNDO0FBRUEsRUFBQSxFQUFFLENBQUMsUUFBSCxHQUFjLGlCQUFkLENBQWdDLEtBQWhDO0FBQ0QsQ0FQRDtBQVNBLGNBQWMsQ0FBQyxHQUFmLENBQWtCO0FBQUE7QUFBbEIsRUFBbUMsRUFBRCxJQUFPO0FBQ3ZDLE1BQUksU0FBUyxHQUFTLEVBQUUsQ0FBQyxLQUFILENBQVMsS0FBVCxFQUF0QjtBQUVBLE1BQUksUUFBUSxHQUFHLFdBQVcsQ0FBQyxTQUFELENBQTFCO0FBQ0EsTUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQUQsQ0FBUCxHQUFvQixFQUFwQixHQUF5QixNQUFNLENBQUMsUUFBRCxDQUEzQztBQUVBLE1BQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxRQUFILEdBQWMsaUJBQWQsQ0FBZ0MsS0FBaEMsQ0FBWDs7QUFFQSxNQUFJLENBQUMsVUFBVSxDQUFDLFNBQUQsQ0FBZixFQUE0QjtBQUMxQixJQUFBLEVBQUUsQ0FBQyxVQUFILENBQWMsSUFBSSxrQkFBSixDQUF1QixJQUF2QixFQUE2QixTQUE3QixFQUF3QyxLQUF4QyxDQUFkO0FBQ0Q7QUFDRixDQVhEO0FBYUEsY0FBYyxDQUFDLEdBQWYsQ0FBa0I7QUFBQTtBQUFsQixFQUErQyxFQUFELElBQU87QUFDbkQsTUFBSSxTQUFTLEdBQVMsRUFBRSxDQUFDLEtBQUgsQ0FBUyxLQUFULEVBQXRCO0FBRUEsTUFBSSxLQUFLLEdBQVMsV0FBVyxDQUFDLFNBQUQsQ0FBN0I7QUFFQSxFQUFBLEVBQUUsQ0FBQyxRQUFILEdBQWMscUJBQWQsQ0FBb0MsS0FBcEM7QUFDRCxDQU5EO0FBUUEsY0FBYyxDQUFDLEdBQWYsQ0FBa0I7QUFBQTtBQUFsQixFQUFtQyxFQUFELElBQU87QUFDdkMsTUFBSSxTQUFTLEdBQVMsRUFBRSxDQUFDLEtBQUgsQ0FBUyxLQUFULEVBQXRCO0FBRUEsTUFBSSxLQUFLLEdBQVMsV0FBVyxDQUFDLFNBQUQsQ0FBN0I7QUFFQSxFQUFBLEVBQUUsQ0FBQyxRQUFILEdBQWMsaUJBQWQsQ0FBZ0MsS0FBaEM7QUFDRCxDQU5EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNDb25zdFJlZiwgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHtcbiAgY2hlY2ssXG4gIENoZWNrU3RyaW5nLFxuICBDaGVja1NhZmVTdHJpbmcsXG4gIENoZWNrTm9kZSxcbiAgQ2hlY2tEb2N1bWVudEZyYWdtZW50LFxufSBmcm9tICdAZ2xpbW1lci9kZWJ1Zyc7XG5cbmltcG9ydCB7IEFQUEVORF9PUENPREVTIH0gZnJvbSAnLi4vLi4vb3Bjb2Rlcyc7XG5pbXBvcnQgeyBpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50L2N1cnJpZWQtY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrUmVmZXJlbmNlIH0gZnJvbSAnLi8tZGVidWctc3RyaXAnO1xuaW1wb3J0IHsgaXNFbXB0eSwgaXNTYWZlU3RyaW5nLCBpc0ZyYWdtZW50LCBpc05vZGUsIHNob3VsZENvZXJjZSB9IGZyb20gJy4uLy4uL2RvbS9ub3JtYWxpemUnO1xuaW1wb3J0IER5bmFtaWNUZXh0Q29udGVudCBmcm9tICcuLi8uLi92bS9jb250ZW50L3RleHQnO1xuaW1wb3J0IHsgQ29udGVudFR5cGUsIE9wIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBc3NlcnRGaWx0ZXIgfSBmcm9tICcuL3ZtJztcbmltcG9ydCB7IGhhc0ludGVybmFsQ29tcG9uZW50TWFuYWdlciB9IGZyb20gJ0BnbGltbWVyL21hbmFnZXInO1xuXG5mdW5jdGlvbiB0b0NvbnRlbnRUeXBlKHZhbHVlOiB1bmtub3duKSB7XG4gIGlmIChzaG91bGRDb2VyY2UodmFsdWUpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLlN0cmluZztcbiAgfSBlbHNlIGlmIChpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uKHZhbHVlKSB8fCBoYXNJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIodmFsdWUgYXMgb2JqZWN0KSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5Db21wb25lbnQ7XG4gIH0gZWxzZSBpZiAoaXNTYWZlU3RyaW5nKHZhbHVlKSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5TYWZlU3RyaW5nO1xuICB9IGVsc2UgaWYgKGlzRnJhZ21lbnQodmFsdWUpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLkZyYWdtZW50O1xuICB9IGVsc2UgaWYgKGlzTm9kZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuTm9kZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuU3RyaW5nO1xuICB9XG59XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Db250ZW50VHlwZSwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wZWVrKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICB2bS5zdGFjay5wdXNoU21hbGxJbnQodG9Db250ZW50VHlwZSh2YWx1ZUZvclJlZihyZWZlcmVuY2UpKSk7XG5cbiAgaWYgKCFpc0NvbnN0UmVmKHJlZmVyZW5jZSkpIHtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBBc3NlcnRGaWx0ZXIocmVmZXJlbmNlLCB0b0NvbnRlbnRUeXBlKSk7XG4gIH1cbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kSFRNTCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHJhd1ZhbHVlID0gdmFsdWVGb3JSZWYocmVmZXJlbmNlKTtcbiAgbGV0IHZhbHVlID0gaXNFbXB0eShyYXdWYWx1ZSkgPyAnJyA6IFN0cmluZyhyYXdWYWx1ZSk7XG5cbiAgdm0uZWxlbWVudHMoKS5hcHBlbmREeW5hbWljSFRNTCh2YWx1ZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkFwcGVuZFNhZmVIVE1MLCAodm0pID0+IHtcbiAgbGV0IHJlZmVyZW5jZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICBsZXQgcmF3VmFsdWUgPSBjaGVjayh2YWx1ZUZvclJlZihyZWZlcmVuY2UpLCBDaGVja1NhZmVTdHJpbmcpLnRvSFRNTCgpO1xuICBsZXQgdmFsdWUgPSBpc0VtcHR5KHJhd1ZhbHVlKSA/ICcnIDogY2hlY2socmF3VmFsdWUsIENoZWNrU3RyaW5nKTtcblxuICB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNIVE1MKHZhbHVlKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kVGV4dCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHJhd1ZhbHVlID0gdmFsdWVGb3JSZWYocmVmZXJlbmNlKTtcbiAgbGV0IHZhbHVlID0gaXNFbXB0eShyYXdWYWx1ZSkgPyAnJyA6IFN0cmluZyhyYXdWYWx1ZSk7XG5cbiAgbGV0IG5vZGUgPSB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNUZXh0KHZhbHVlKTtcblxuICBpZiAoIWlzQ29uc3RSZWYocmVmZXJlbmNlKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IER5bmFtaWNUZXh0Q29udGVudChub2RlLCByZWZlcmVuY2UsIHZhbHVlKSk7XG4gIH1cbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kRG9jdW1lbnRGcmFnbWVudCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHZhbHVlID0gY2hlY2sodmFsdWVGb3JSZWYocmVmZXJlbmNlKSwgQ2hlY2tEb2N1bWVudEZyYWdtZW50KTtcblxuICB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNGcmFnbWVudCh2YWx1ZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkFwcGVuZE5vZGUsICh2bSkgPT4ge1xuICBsZXQgcmVmZXJlbmNlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuXG4gIGxldCB2YWx1ZSA9IGNoZWNrKHZhbHVlRm9yUmVmKHJlZmVyZW5jZSksIENoZWNrTm9kZSk7XG5cbiAgdm0uZWxlbWVudHMoKS5hcHBlbmREeW5hbWljTm9kZSh2YWx1ZSk7XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLFVBQVQsRUFBcUIsV0FBckIsUUFBd0Msb0JBQXhDO0FBU0EsU0FBUyxjQUFULFFBQStCLGVBQS9CO0FBQ0EsU0FBUyw0QkFBVCxRQUE2QyxtQ0FBN0M7QUFFQSxTQUFTLE9BQVQsRUFBa0IsWUFBbEIsRUFBZ0MsVUFBaEMsRUFBNEMsTUFBNUMsRUFBb0QsWUFBcEQsUUFBd0UscUJBQXhFO0FBQ0EsT0FBTyxrQkFBUCxNQUErQix1QkFBL0I7QUFFQSxTQUFTLFlBQVQsUUFBNkIsTUFBN0I7QUFDQSxTQUFTLDJCQUFULEVBQXNDLHdCQUF0QyxRQUFzRSxrQkFBdEU7QUFDQSxTQUFTLEtBQVQsUUFBc0IsY0FBdEI7QUFDQSxTQUFTLHlCQUFULFFBQTBDLDhCQUExQzs7QUFFQSxTQUFTLGFBQVQsQ0FBdUIsS0FBdkIsRUFBcUM7QUFDbkMsTUFBSSxZQUFZLENBQUMsS0FBRCxDQUFoQixFQUF5QjtBQUN2QixXQUFBO0FBQUE7QUFBQTtBQUNELEdBRkQsTUFFTyxJQUFJLDRCQUE0QixDQUFDLEtBQUQsQ0FBNUIsSUFBdUMsMkJBQTJCLENBQUMsS0FBRCxDQUF0RSxFQUF5RjtBQUM5RixXQUFBO0FBQUE7QUFBQTtBQUNELEdBRk0sTUFFQSxJQUFJLHlCQUF5QixDQUFDLEtBQUQsQ0FBekIsSUFBb0Msd0JBQXdCLENBQUMsS0FBRCxDQUFoRSxFQUFtRjtBQUN4RixXQUFBO0FBQUE7QUFBQTtBQUNELEdBRk0sTUFFQSxJQUFJLFlBQVksQ0FBQyxLQUFELENBQWhCLEVBQXlCO0FBQzlCLFdBQUE7QUFBQTtBQUFBO0FBQ0QsR0FGTSxNQUVBLElBQUksVUFBVSxDQUFDLEtBQUQsQ0FBZCxFQUF1QjtBQUM1QixXQUFBO0FBQUE7QUFBQTtBQUNELEdBRk0sTUFFQSxJQUFJLE1B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SCxDQUFTLEtBQVQsRUFBdEI7QUFFQSxNQUFJLFFBQVEsR0FBRyxXQUFXLENBQUMsU0FBRCxDQUExQjtBQUNBLE1BQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFELENBQVAsR0FBb0IsRUFBcEIsR0FBeUIsTUFBTSxDQUFDLFFBQUQsQ0FBM0M7QUFFQSxNQUFJLElBQUksR0FBRyxFQUFFLENBQUMsUUFBSCxHQUFjLGlCQUFkLENBQWdDLEtBQWhDLENBQVg7O0FBRUEsTUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFELENBQWYsRUFBNEI7QUFDMUIsSUFBQSxFQUFFLENBQUMsVUFBSCxDQUFjLElBQUksa0JBQUosQ0FBdUIsSUFBdkIsRUFBNkIsU0FBN0IsRUFBd0MsS0FBeEMsQ0FBZDtBQUNEO0FBQ0YsQ0FYRDtBQWFBLGNBQWMsQ0FBQyxHQUFmLENBQWtCO0FBQUE7QUFBbEIsRUFBK0MsRUFBRCxJQUFPO0FBQ25ELE1BQUksU0FBUyxHQUFTLEVBQUUsQ0FBQyxLQUFILENBQVMsS0FBVCxFQUF0QjtBQUVBLE1BQUksS0FBSyxHQUFTLFdBQVcsQ0FBQyxTQUFELENBQTdCO0FBRUEsRUFBQSxFQUFFLENBQUMsUUFBSCxHQUFjLHFCQUFkLENBQW9DLEtBQXBDO0FBQ0QsQ0FORDtBQVFBLGNBQWMsQ0FBQyxHQUFmLENBQWtCO0FBQUE7QUFBbEIsRUFBbUMsRUFBRCxJQUFPO0FBQ3ZDLE1BQUksU0FBUyxHQUFTLEVBQUUsQ0FBQyxLQUFILENBQVMsS0FBVCxFQUF0QjtBQUVBLE1BQUksS0FBSyxHQUFTLFdBQVcsQ0FBQyxTQUFELENBQTdCO0FBRUEsRUFBQSxFQUFFLENBQUMsUUFBSCxHQUFjLGlCQUFkLENBQWdDLEtBQWhDO0FBQ0QsQ0FORCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQ29uc3RSZWYsIHZhbHVlRm9yUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7XG4gIGNoZWNrLFxuICBDaGVja1N0cmluZyxcbiAgQ2hlY2tTYWZlU3RyaW5nLFxuICBDaGVja05vZGUsXG4gIENoZWNrRG9jdW1lbnRGcmFnbWVudCxcbn0gZnJvbSAnQGdsaW1tZXIvZGVidWcnO1xuXG5pbXBvcnQgeyBBUFBFTkRfT1BDT0RFUyB9IGZyb20gJy4uLy4uL29wY29kZXMnO1xuaW1wb3J0IHsgaXNDdXJyaWVkQ29tcG9uZW50RGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL2NvbXBvbmVudC9jdXJyaWVkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja1JlZmVyZW5jZSB9IGZyb20gJy4vLWRlYnVnLXN0cmlwJztcbmltcG9ydCB7IGlzRW1wdHksIGlzU2FmZVN0cmluZywgaXNGcmFnbWVudCwgaXNOb2RlLCBzaG91bGRDb2VyY2UgfSBmcm9tICcuLi8uLi9kb20vbm9ybWFsaXplJztcbmltcG9ydCBEeW5hbWljVGV4dENvbnRlbnQgZnJvbSAnLi4vLi4vdm0vY29udGVudC90ZXh0JztcbmltcG9ydCB7IENvbnRlbnRUeXBlLCBPcCB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXNzZXJ0RmlsdGVyIH0gZnJvbSAnLi92bSc7XG5pbXBvcnQgeyBoYXNJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIsIGhhc0ludGVybmFsSGVscGVyTWFuYWdlciB9IGZyb20gJ0BnbGltbWVyL21hbmFnZXInO1xuaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHsgaXNDdXJyaWVkSGVscGVyRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL2hlbHBlcnMvY3VycmllZC1oZWxwZXInO1xuXG5mdW5jdGlvbiB0b0NvbnRlbnRUeXBlKHZhbHVlOiB1bmtub3duKSB7XG4gIGlmIChzaG91bGRDb2VyY2UodmFsdWUpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLlN0cmluZztcbiAgfSBlbHNlIGlmIChpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uKHZhbHVlKSB8fCBoYXNJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIodmFsdWUgYXMgb2JqZWN0KSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5Db21wb25lbnQ7XG4gIH0gZWxzZSBpZiAoaXNDdXJyaWVkSGVscGVyRGVmaW5pdGlvbih2YWx1ZSkgfHwgaGFzSW50ZXJuYWxIZWxwZXJNYW5hZ2VyKHZhbHVlIGFzIG9iamVjdCkpIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuSGVscGVyO1xuICB9IGVsc2UgaWYgKGlzU2FmZVN0cmluZyh2YWx1ZSkpIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuU2FmZVN0cmluZztcbiAgfSBlbHNlIGlmIChpc0ZyYWdtZW50KHZhbHVlKSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5GcmFnbWVudDtcbiAgfSBlbHNlIGlmIChpc05vZGUodmFsdWUpKSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLk5vZGU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIENvbnRlbnRUeXBlLlN0cmluZztcbiAgfVxufVxuXG5mdW5jdGlvbiB0b0R5bmFtaWNDb250ZW50VHlwZSh2YWx1ZTogdW5rbm93bikge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnZnVuY3Rpb24nICYmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnIHx8IHZhbHVlID09PSBudWxsKSkge1xuICAgIHJldHVybiBDb250ZW50VHlwZS5TdHJpbmc7XG4gIH1cblxuICBpZiAoaXNDdXJyaWVkQ29tcG9uZW50RGVmaW5pdGlvbih2YWx1ZSkgfHwgaGFzSW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyKHZhbHVlIGFzIG9iamVjdCkpIHtcbiAgICByZXR1cm4gQ29udGVudFR5cGUuQ29tcG9uZW50O1xuICB9IGVsc2Uge1xuICAgIGlmIChERUJVRyAmJiAhaXNDdXJyaWVkSGVscGVyRGVmaW5pdGlvbih2YWx1ZSkgJiYgIWhhc0ludGVybmFsSGVscGVyTWFuYWdlcih2YWx1ZSBhcyBvYmplY3QpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBdHRlbXB0ZWQgdXNlIGEgZHluYW1pYyB2YWx1ZSBhcyBhIGNvbXBvbmVudCBvciBoZWxwZXIsIGJ1dCB0aGF0IHZhbHVlIGRpZCBub3QgaGF2ZSBhbiBhc3NvY2lhdGVkIGNvbXBvbmVudCBvciBoZWxwZXIgbWFuYWdlci4gVGhlIHZhbHVlIHdhczogJHt2YWx1ZX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBDb250ZW50VHlwZS5IZWxwZXI7XG4gIH1cbn1cblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkNvbnRlbnRUeXBlLCAodm0pID0+IHtcbiAgbGV0IHJlZmVyZW5jZSA9IGNoZWNrKHZtLnN0YWNrLnBlZWsoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuXG4gIHZtLnN0YWNrLnB1c2hTbWFsbEludCh0b0NvbnRlbnRUeXBlKHZhbHVlRm9yUmVmKHJlZmVyZW5jZSkpKTtcblxuICBpZiAoIWlzQ29uc3RSZWYocmVmZXJlbmNlKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IEFzc2VydEZpbHRlcihyZWZlcmVuY2UsIHRvQ29udGVudFR5cGUpKTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5EeW5hbWljQ29udGVudFR5cGUsICh2bSkgPT4ge1xuICBsZXQgcmVmZXJlbmNlID0gY2hlY2sodm0uc3RhY2sucGVlaygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgdm0uc3RhY2sucHVzaFNtYWxsSW50KHRvRHluYW1pY0NvbnRlbnRUeXBlKHZhbHVlRm9yUmVmKHJlZmVyZW5jZSkpKTtcblxuICBpZiAoIWlzQ29uc3RSZWYocmVmZXJlbmNlKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IEFzc2VydEZpbHRlcihyZWZlcmVuY2UsIHRvRHluYW1pY0NvbnRlbnRUeXBlKSk7XG4gIH1cbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kSFRNTCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHJhd1ZhbHVlID0gdmFsdWVGb3JSZWYocmVmZXJlbmNlKTtcbiAgbGV0IHZhbHVlID0gaXNFbXB0eShyYXdWYWx1ZSkgPyAnJyA6IFN0cmluZyhyYXdWYWx1ZSk7XG5cbiAgdm0uZWxlbWVudHMoKS5hcHBlbmREeW5hbWljSFRNTCh2YWx1ZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkFwcGVuZFNhZmVIVE1MLCAodm0pID0+IHtcbiAgbGV0IHJlZmVyZW5jZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICBsZXQgcmF3VmFsdWUgPSBjaGVjayh2YWx1ZUZvclJlZihyZWZlcmVuY2UpLCBDaGVja1NhZmVTdHJpbmcpLnRvSFRNTCgpO1xuICBsZXQgdmFsdWUgPSBpc0VtcHR5KHJhd1ZhbHVlKSA/ICcnIDogY2hlY2socmF3VmFsdWUsIENoZWNrU3RyaW5nKTtcblxuICB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNIVE1MKHZhbHVlKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kVGV4dCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHJhd1ZhbHVlID0gdmFsdWVGb3JSZWYocmVmZXJlbmNlKTtcbiAgbGV0IHZhbHVlID0gaXNFbXB0eShyYXdWYWx1ZSkgPyAnJyA6IFN0cmluZyhyYXdWYWx1ZSk7XG5cbiAgbGV0IG5vZGUgPSB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNUZXh0KHZhbHVlKTtcblxuICBpZiAoIWlzQ29uc3RSZWYocmVmZXJlbmNlKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IER5bmFtaWNUZXh0Q29udGVudChub2RlLCByZWZlcmVuY2UsIHZhbHVlKSk7XG4gIH1cbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQXBwZW5kRG9jdW1lbnRGcmFnbWVudCwgKHZtKSA9PiB7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IHZhbHVlID0gY2hlY2sodmFsdWVGb3JSZWYocmVmZXJlbmNlKSwgQ2hlY2tEb2N1bWVudEZyYWdtZW50KTtcblxuICB2bS5lbGVtZW50cygpLmFwcGVuZER5bmFtaWNGcmFnbWVudCh2YWx1ZSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkFwcGVuZE5vZGUsICh2bSkgPT4ge1xuICBsZXQgcmVmZXJlbmNlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuXG4gIGxldCB2YWx1ZSA9IGNoZWNrKHZhbHVlRm9yUmVmKHJlZmVyZW5jZSksIENoZWNrTm9kZSk7XG5cbiAgdm0uZWxlbWVudHMoKS5hcHBlbmREeW5hbWljTm9kZSh2YWx1ZSk7XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -113,3 +113,3 @@ import { valueForRef, isConstRef } from '@glimmer/reference';

let dynamicScope = vm.dynamicScope();
let state = manager.create(constructing, definition.state, args, dynamicScope, updateOperations);
let state = manager.create(vm.getOwner(), constructing, definition.state, args, dynamicScope, updateOperations);
let instance = {

@@ -207,2 +207,2 @@ manager,

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQW9CLFdBQXBCLEVBQWlDLFVBQWpDLFFBQW1ELG9CQUFuRDtBQUNBLFNBQXdCLFdBQXhCLEVBQXFDLFdBQXJDLEVBQWtELFVBQWxELFFBQW9FLG9CQUFwRTtBQVVBLFNBQVMsR0FBVCxRQUFvQixhQUFwQjtBQUNBLFNBQVMsY0FBVCxFQUF5QixjQUF6QixRQUErQyxlQUEvQztBQUVBLFNBQVMsTUFBVCxRQUF1QixNQUF2QjtBQUdBLFNBQVMsU0FBVCxRQUEwQixlQUExQjtBQUdBLGNBQWMsQ0FBQyxHQUFmLENBQWtCO0FBQUE7QUFBbEIsRUFBNEIsQ0FBQyxFQUFELEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBc0I7QUFDaEQsRUFBQSxFQUFFLENBQUMsUUFBSCxHQUFjLFVBQWQsQ0FBeUIsRUFBRSxDQUFDLFNBQUQsQ0FBRixDQUFjLFFBQWQsQ0FBdUIsSUFBdkIsQ0FBekI7QUFDRCxDQUZEO0FBSUEsY0FBYyxDQUFDLEdBQWYsQ0FBa0I7QUFBQTtBQUFsQixFQUErQixDQUFDLEVBQUQsRUFBSztBQUFFLEVBQUEsR0FBRyxFQUFFO0FBQVAsQ0FBTCxLQUFzQjtBQUNuRCxFQUFBLEVBQUUsQ0FBQyxRQUFILEdBQWMsYUFBZCxDQUE0QixFQUFFLENBQUMsU0FBRCxDQUFGLENBQWMsUUFBZCxDQUF1QixJQUF2QixDQUE1QjtBQUNELENBRkQ7QUFJQSxjQUFjLENBQUMsR0FBZixDQUFrQjtBQUFBO0FBQWxCLEVBQW1DLENBQUMsRUFBRCxFQUFLO0FBQUUsRUFBQSxHQUFHLEVBQUU7QUFBUCxDQUFMLEtBQXFCO0FBQ3RELEVBQUEsRUFBRSxDQUFDLFFBQUgsR0FBYyxXQUFkLENBQTBCLEVBQUUsQ0FBQyxTQUFELENBQUYsQ0FBYyxRQUFkLENBQXVCLEdB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QyxTQUFELENBQTVCO0FBQ0Q7O0FBRUQsRUFBQSxRQUFRLENBQUMsRUFBRCxFQUFlO0FBQ3JCLFFBQUk7QUFBRSxNQUFBLFNBQUY7QUFBYSxNQUFBLFNBQWI7QUFBd0IsTUFBQTtBQUF4QixRQUFzQyxJQUExQztBQUNBLFFBQUksWUFBWSxHQUFHLFdBQVcsQ0FBQyxTQUFELENBQTlCOztBQUVBLFFBQUksWUFBWSxLQUFLLFNBQXJCLEVBQWdDO0FBQzlCLE1BQUEsU0FBUyxDQUFDLE1BQVYsQ0FBaUIsWUFBakIsRUFBK0IsRUFBRSxDQUFDLEdBQWxDO0FBQ0EsV0FBSyxTQUFMLEdBQWlCLFlBQWpCO0FBQ0Q7QUFDRjs7QUFsQjZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmZXJlbmNlLCB2YWx1ZUZvclJlZiwgaXNDb25zdFJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBSZXZpc2lvbiwgVGFnLCB2YWx1ZUZvclRhZywgdmFsaWRhdGVUYWcsIGNvbnN1bWVUYWcgfSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHtcbiAgY2hlY2ssXG4gIENoZWNrU3RyaW5nLFxuICBDaGVja0VsZW1lbnQsXG4gIENoZWNrT3B0aW9uLFxuICBDaGVja05vZGUsXG4gIENoZWNrTWF5YmUsXG59IGZyb20gJ0BnbGltbWVyL2RlYnVnJztcbmltcG9ydCB7IE9wLCBPcHRpb24sIE1vZGlmaWVyRGVmaW5pdGlvbiwgTW9kaWZpZXJJbnN0YW5jZSB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgJHQwIH0gZnJvbSAnQGdsaW1tZXIvdm0nO1xuaW1wb3J0IHsgQVBQRU5EX09QQ09ERVMsIFVwZGF0aW5nT3Bjb2RlIH0gZnJvbSAnLi4vLi4vb3Bjb2Rlcyc7XG5pbXBvcnQgeyBVcGRhdGluZ1ZNIH0gZnJvbSAnLi4vLi4vdm0nO1xuaW1wb3J0IHsgQXNzZXJ0IH0gZnJvbSAnLi92bSc7XG5pbXBvcnQgeyBEeW5hbWljQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vdm0vYXR0cmlidXRlcy9keW5hbWljJztcbmltcG9ydCB7IENoZWNrUmVmZXJlbmNlLCBDaGVja0FyZ3VtZW50cywgQ2hlY2tPcGVyYXRpb25zIH0gZnJvbSAnLi8tZGVidWctc3RyaXAnO1xuaW1wb3J0IHsgQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vc3ltYm9scyc7XG5pbXBvcnQgeyBleHBlY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlRleHQsICh2bSwgeyBvcDE6IHRleHQgfSkgPT4ge1xuICB2bS5lbGVtZW50cygpLmFwcGVuZFRleHQodm1bQ09OU1RBTlRTXS5nZXRWYWx1ZSh0ZXh0KSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkNvbW1lbnQsICh2bSwgeyBvcDE6IHRleHQgfSkgPT4ge1xuICB2bS5lbGVtZW50cygpLmFwcGVuZENvbW1lbnQodm1bQ09OU1RBTlRTXS5nZXRWYWx1ZSh0ZXh0KSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLk9wZW5FbGVtZW50LCAodm0sIHsgb3AxOiB0YWcgfSkgPT4ge1xuICB2bS5lbGVtZW50cygpLm9wZW5FbGVtZW50KHZtW0NPTlNUQU5UU10uZ2V0VmFsdWUodGFnKSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLk9wZW5EeW5hbWljRWxlbWVudCwgKHZtKSA9PiB7XG4gIGxldCB0YWdOYW1lID0gY2hlY2sodmFsdWVGb3JSZWYoY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpKSwgQ2hlY2tTdHJpbmcpO1xuICB2bS5lbGVtZW50cygpLm9wZW5FbGVtZW50KHRhZ05hbWUpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5QdXNoUmVtb3RlRWxlbWVudCwgKHZtKSA9PiB7XG4gIGxldCBlbGVtZW50UmVmID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuICBsZXQgaW5zZXJ0QmVmb3JlUmVmID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuICBsZXQgZ3VpZFJlZiA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcblxuICBsZXQgZWxlbWVudCA9IGNoZWNrKHZhbHVlRm9yUmVmKGVsZW1lbnRSZWYpLCBDaGVja0VsZW1lbnQpO1xuICBsZXQgaW5zZXJ0QmVmb3JlID0gY2hlY2sodmFsdWVGb3JSZWYoaW5zZXJ0QmVmb3JlUmVmKSwgQ2hlY2tNYXliZShDaGVja09wdGlvbihDaGVja05vZGUpKSk7XG4gIGxldCBndWlkID0gdmFsdWVGb3JSZWYoZ3VpZFJlZikgYXMgc3RyaW5nO1xuXG4gIGlmICghaXNDb25zdFJlZihlbGVtZW50UmVmKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IEFzc2VydChlbGVtZW50UmVmKSk7XG4gIH1cblxuICBpZiAoaW5zZXJ0QmVmb3JlICE9PSB1bmRlZmluZWQgJiYgIWlzQ29uc3RSZWYoaW5zZXJ0QmVmb3JlUmVmKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IEFzc2VydChpbnNlcnRCZWZvcmVSZWYpKTtcbiAgfVxuXG4gIGxldCBibG9jayA9IHZtLmVsZW1lbnRzKCkucHVzaFJlbW90ZUVsZW1lbnQoZWxlbWVudCwgZ3VpZCwgaW5zZXJ0QmVmb3JlKTtcbiAgaWYgKGJsb2NrKSB2bS5hc3NvY2lhdGVEZXN0cm95YWJsZShibG9jayk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlBvcFJlbW90ZUVsZW1lbnQsICh2bSkgPT4ge1xuICB2bS5lbGVtZW50cygpLnBvcFJlbW90ZUVsZW1lbnQoKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuRmx1c2hFbGVtZW50LCAodm0pID0+IHtcbiAgbGV0IG9wZXJhdGlvbnMgPSBjaGVjayh2bS5mZXRjaFZhbHVlKCR0MCksIENoZWNrT3BlcmF0aW9ucyk7XG4gIGxldCBtb2RpZmllcnM6IE9wdGlvbjxNb2RpZmllckluc3RhbmNlW10+ID0gbnVsbDtcblxuICBpZiAob3BlcmF0aW9ucykge1xuICAgIG1vZGlmaWVycyA9IG9wZXJhdGlvbnMuZmx1c2godm0pO1xuICAgIHZtLmxvYWRWYWx1ZSgkdDAsIG51bGwpO1xuICB9XG5cbiAgdm0uZWxlbWVudHMoKS5mbHVzaEVsZW1lbnQobW9kaWZpZXJzKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQ2xvc2VFbGVtZW50LCAodm0pID0+IHtcbiAgbGV0IG1vZGlmaWVycyA9IHZtLmVsZW1lbnRzKCkuY2xvc2VFbGVtZW50KCk7XG5cbiAgaWYgKG1vZGlmaWVycykge1xuICAgIG1vZGlmaWVycy5mb3JFYWNoKChtb2RpZmllcikgPT4ge1xuICAgICAgdm0uZW52LnNjaGVkdWxlSW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyKTtcbiAgICAgIGxldCB7IG1hbmFnZXIsIHN0YXRlIH0gPSBtb2RpZmllcjtcbiAgICAgIGxldCBkID0gbWFuYWdlci5nZXREZXN0cm95YWJsZShzdGF0ZSk7XG5cbiAgICAgIGlmIChkKSB7XG4gICAgICAgIHZtLmFzc29jaWF0ZURlc3Ryb3lhYmxlKGQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLk1vZGlmaWVyLCAodm0sIHsgb3AxOiBoYW5kbGUgfSkgPT4ge1xuICBpZiAodm0uZW52LmlzSW50ZXJhY3RpdmUgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IGRlZmluaXRpb24gPSB2bVtDT05TVEFOVFNdLmdldFZhbHVlPE1vZGlmaWVyRGVmaW5pdGlvbj4oaGFuZGxlKTtcbiAgbGV0IHsgbWFuYWdlciB9ID0gZGVmaW5pdGlvbjtcblxuICBsZXQgc3RhY2sgPSB2bS5zdGFjaztcbiAgbGV0IGFyZ3MgPSBjaGVjayhzdGFjay5wb3BKcygpLCBDaGVja0FyZ3VtZW50cyk7XG4gIGxldCB7IGNvbnN0cnVjdGluZywgdXBkYXRlT3BlcmF0aW9ucyB9ID0gdm0uZWxlbWVudHMoKTtcbiAgbGV0IGR5bmFtaWNTY29wZSA9IHZtLmR5bmFtaWNTY29wZSgpO1xuXG4gIGxldCBzdGF0ZSA9IG1hbmFnZXIuY3JlYXRlKFxuICAgIGV4cGVjdChjb25zdHJ1Y3RpbmcsICdCVUc6IEVsZW1lbnRNb2RpZmllciBjb3VsZCBub3QgZmluZCB0aGUgZWxlbWVudCBpdCBhcHBsaWVzIHRvJyksXG4gICAgZGVmaW5pdGlvbi5zdGF0ZSxcbiAgICBhcmdzLFxuICAgIGR5bmFtaWNTY29wZSxcbiAgICB1cGRhdGVPcGVyYXRpb25zXG4gICk7XG5cbiAgbGV0IGluc3RhbmNlOiBNb2RpZmllckluc3RhbmNlID0ge1xuICAgIG1hbmFnZXIsXG4gICAgc3RhdGUsXG4gICAgZGVmaW5pdGlvbixcbiAgfTtcblxuICBsZXQgb3BlcmF0aW9ucyA9IGV4cGVjdChcbiAgICBjaGVjayh2bS5mZXRjaFZhbHVlKCR0MCksIENoZWNrT3BlcmF0aW9ucyksXG4gICAgJ0JVRzogRWxlbWVudE1vZGlmaWVyIGNvdWxkIG5vdCBmaW5kIG9wZXJhdGlvbnMgdG8gYXBwZW5kIHRvJ1xuICApO1xuXG4gIG9wZXJhdGlvbnMuYWRkTW9kaWZpZXIoaW5zdGFuY2UpO1xuXG4gIGxldCB0YWcgPSBtYW5hZ2VyLmdldFRhZyhzdGF0ZSk7XG5cbiAgaWYgKHRhZyAhPT0gbnVsbCkge1xuICAgIGNvbnN1bWVUYWcodGFnKTtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBVcGRhdGVNb2RpZmllck9wY29kZSh0YWcsIGluc3RhbmNlKSk7XG4gIH1cbn0pO1xuXG5leHBvcnQgY2xhc3MgVXBkYXRlTW9kaWZpZXJPcGNvZGUgZXh0ZW5kcyBVcGRhdGluZ09wY29kZSB7XG4gIHB1YmxpYyB0eXBlID0gJ3VwZGF0ZS1tb2RpZmllcic7XG4gIHByaXZhdGUgbGFzdFVwZGF0ZWQ6IFJldmlzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0YWc6IFRhZywgcHJpdmF0ZSBtb2RpZmllcjogTW9kaWZpZXJJbnN0YW5jZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sYXN0VXBkYXRlZCA9IHZhbHVlRm9yVGFnKHRhZyk7XG4gIH1cblxuICBldmFsdWF0ZSh2bTogVXBkYXRpbmdWTSkge1xuICAgIGxldCB7IG1vZGlmaWVyLCB0YWcsIGxhc3RVcGRhdGVkIH0gPSB0aGlzO1xuXG4gICAgY29uc3VtZVRhZyh0YWcpO1xuXG4gICAgaWYgKCF2YWxpZGF0ZVRhZyh0YWcsIGxhc3RVcGRhdGVkKSkge1xuICAgICAgdm0uZW52LnNjaGVkdWxlVXBkYXRlTW9kaWZpZXIobW9kaWZpZXIpO1xuICAgICAgdGhpcy5sYXN0VXBkYXRlZCA9IHZhbHVlRm9yVGFnKHRhZyk7XG4gICAgfVxuICB9XG59XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5TdGF0aWNBdHRyLCAodm0sIHsgb3AxOiBfbmFtZSwgb3AyOiBfdmFsdWUsIG9wMzogX25hbWVzcGFjZSB9KSA9PiB7XG4gIGxldCBuYW1lID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lKTtcbiAgbGV0IHZhbHVlID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF92YWx1ZSk7XG4gIGxldCBuYW1lc3BhY2UgPSBfbmFtZXNwYWNlID8gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lc3BhY2UpIDogbnVsbDtcblxuICB2bS5lbGVtZW50cygpLnNldFN0YXRpY0F0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgbmFtZXNwYWNlKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuRHluYW1pY0F0dHIsICh2bSwgeyBvcDE6IF9uYW1lLCBvcDI6IF90cnVzdGluZywgb3AzOiBfbmFtZXNwYWNlIH0pID0+IHtcbiAgbGV0IG5hbWUgPSB2bVtDT05TVEFOVFNdLmdldFZhbHVlPHN0cmluZz4oX25hbWUpO1xuICBsZXQgdHJ1c3RpbmcgPSB2bVtDT05TVEFOVFNdLmdldFZhbHVlPGJvb2xlYW4+KF90cnVzdGluZyk7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG4gIGxldCB2YWx1ZSA9IHZhbHVlRm9yUmVmKHJlZmVyZW5jZSk7XG4gIGxldCBuYW1lc3BhY2UgPSBfbmFtZXNwYWNlID8gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lc3BhY2UpIDogbnVsbDtcblxuICBsZXQgYXR0cmlidXRlID0gdm0uZWxlbWVudHMoKS5zZXREeW5hbWljQXR0cmlidXRlKG5hbWUsIHZhbHVlLCB0cnVzdGluZywgbmFtZXNwYWNlKTtcblxuICBpZiAoIWlzQ29uc3RSZWYocmVmZXJlbmNlKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IFVwZGF0ZUR5bmFtaWNBdHRyaWJ1dGVPcGNvZGUocmVmZXJlbmNlLCBhdHRyaWJ1dGUpKTtcbiAgfVxufSk7XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVEeW5hbWljQXR0cmlidXRlT3Bjb2RlIGV4dGVuZHMgVXBkYXRpbmdPcGNvZGUge1xuICBwdWJsaWMgdHlwZSA9ICdwYXRjaC1lbGVtZW50JztcblxuICBwdWJsaWMgbGFzdFZhbHVlOiB1bmtub3duO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmZXJlbmNlOiBSZWZlcmVuY2U8dW5rbm93bj4sIHByaXZhdGUgYXR0cmlidXRlOiBEeW5hbWljQXR0cmlidXRlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlRm9yUmVmKHJlZmVyZW5jZSk7XG4gIH1cblxuICBldmFsdWF0ZSh2bTogVXBkYXRpbmdWTSkge1xuICAgIGxldCB7IGF0dHJpYnV0ZSwgcmVmZXJlbmNlLCBsYXN0VmFsdWUgfSA9IHRoaXM7XG4gICAgbGV0IGN1cnJlbnRWYWx1ZSA9IHZhbHVlRm9yUmVmKHJlZmVyZW5jZSk7XG5cbiAgICBpZiAoY3VycmVudFZhbHVlICE9PSBsYXN0VmFsdWUpIHtcbiAgICAgIGF0dHJpYnV0ZS51cGRhdGUoY3VycmVudFZhbHVlLCB2bS5lbnYpO1xuICAgICAgdGhpcy5sYXN0VmFsdWUgPSBjdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQW9CLFdBQXBCLEVBQWlDLFVBQWpDLFFBQW1ELG9CQUFuRDtBQUNBLFNBQXdCLFdBQXhCLEVBQXFDLFdBQXJDLEVBQWtELFVBQWxELFFBQW9FLG9CQUFwRTtBQVVBLFNBQVMsR0FBVCxRQUFvQixhQUFwQjtBQUNBLFNBQVMsY0FBVCxFQUF5QixjQUF6QixRQUErQyxlQUEvQztBQUVBLFNBQVMsTUFBVCxRQUF1QixNQUF2QjtBQUdBLFNBQVMsU0FBVCxRQUEwQixlQUExQjtBQUdBLGNBQWMsQ0FBQyxHQUFmLENBQWtCO0FBQUE7QUFBbEIsRUFBNEIsQ0FBQyxFQUFELEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBc0I7QUFDaEQsRUFBQSxFQUFFLENBQUMsUUFBSCxHQUFjLFVBQWQsQ0FBeUIsRUFBRSxDQUFDLFNBQUQsQ0FBRixDQUFjLFFBQWQsQ0FBdUIsSUFBdkIsQ0FBekI7QUFDRCxDQUZEO0FBSUEsY0FBYyxDQUFDLEdBQWYsQ0FBa0I7QUFBQTtBQUFsQixFQUErQixDQUFDLEVBQUQsRUFBSztBQUFFLEVBQUEsR0FBRyxFQUFFO0FBQVAsQ0FBTCxLQUFzQjtBQUNuRCxFQUFBLEVBQUUsQ0FBQyxRQUFILEdBQWMsYUFBZCxDQUE0QixFQUFFLENBQUMsU0FBRCxDQUFGLENBQWMsUUFBZCxDQUF1QixJQUF2QixDQUE1QjtBQUNELENBRkQ7QUFJQSxjQUFjLENBQUMsR0FBZixDQUFrQjtBQUFBO0FBQWxCLEVBQW1DLENBQUMsRUFBRCxFQUFLO0FBQUUsRUFBQSxHQUFHLEVBQUU7QUFBUCxDQUFMLEtBQXFCO0FBQ3RELEVBQUEsRUFBRSxDQUFDLFFBQUgsR0FBYyxXQUFkLENBQTBCLEVBQUUsQ0FBQyxTQUFELENBQUYsQ0FBYyxRQUFkLENBQXVCLEdB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LFNBQUssU0FBTCxHQUFpQixXQUFXLENBQUMsU0FBRCxDQUE1QjtBQUNEOztBQUVELEVBQUEsUUFBUSxDQUFDLEVBQUQsRUFBZTtBQUNyQixRQUFJO0FBQUUsTUFBQSxTQUFGO0FBQWEsTUFBQSxTQUFiO0FBQXdCLE1BQUE7QUFBeEIsUUFBc0MsSUFBMUM7QUFDQSxRQUFJLFlBQVksR0FBRyxXQUFXLENBQUMsU0FBRCxDQUE5Qjs7QUFFQSxRQUFJLFlBQVksS0FBSyxTQUFyQixFQUFnQztBQUM5QixNQUFBLFNBQVMsQ0FBQyxNQUFWLENBQWlCLFlBQWpCLEVBQStCLEVBQUUsQ0FBQyxHQUFsQztBQUNBLFdBQUssU0FBTCxHQUFpQixZQUFqQjtBQUNEO0FBQ0Y7O0FBbEI2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZmVyZW5jZSwgdmFsdWVGb3JSZWYsIGlzQ29uc3RSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgUmV2aXNpb24sIFRhZywgdmFsdWVGb3JUYWcsIHZhbGlkYXRlVGFnLCBjb25zdW1lVGFnIH0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcbmltcG9ydCB7XG4gIGNoZWNrLFxuICBDaGVja1N0cmluZyxcbiAgQ2hlY2tFbGVtZW50LFxuICBDaGVja09wdGlvbixcbiAgQ2hlY2tOb2RlLFxuICBDaGVja01heWJlLFxufSBmcm9tICdAZ2xpbW1lci9kZWJ1Zyc7XG5pbXBvcnQgeyBPcCwgT3B0aW9uLCBNb2RpZmllckRlZmluaXRpb24sIE1vZGlmaWVySW5zdGFuY2UgfSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7ICR0MCB9IGZyb20gJ0BnbGltbWVyL3ZtJztcbmltcG9ydCB7IEFQUEVORF9PUENPREVTLCBVcGRhdGluZ09wY29kZSB9IGZyb20gJy4uLy4uL29wY29kZXMnO1xuaW1wb3J0IHsgVXBkYXRpbmdWTSB9IGZyb20gJy4uLy4uL3ZtJztcbmltcG9ydCB7IEFzc2VydCB9IGZyb20gJy4vdm0nO1xuaW1wb3J0IHsgRHluYW1pY0F0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL3ZtL2F0dHJpYnV0ZXMvZHluYW1pYyc7XG5pbXBvcnQgeyBDaGVja1JlZmVyZW5jZSwgQ2hlY2tBcmd1bWVudHMsIENoZWNrT3BlcmF0aW9ucyB9IGZyb20gJy4vLWRlYnVnLXN0cmlwJztcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJy4uLy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5UZXh0LCAodm0sIHsgb3AxOiB0ZXh0IH0pID0+IHtcbiAgdm0uZWxlbWVudHMoKS5hcHBlbmRUZXh0KHZtW0NPTlNUQU5UU10uZ2V0VmFsdWUodGV4dCkpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Db21tZW50LCAodm0sIHsgb3AxOiB0ZXh0IH0pID0+IHtcbiAgdm0uZWxlbWVudHMoKS5hcHBlbmRDb21tZW50KHZtW0NPTlNUQU5UU10uZ2V0VmFsdWUodGV4dCkpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5PcGVuRWxlbWVudCwgKHZtLCB7IG9wMTogdGFnIH0pID0+IHtcbiAgdm0uZWxlbWVudHMoKS5vcGVuRWxlbWVudCh2bVtDT05TVEFOVFNdLmdldFZhbHVlKHRhZykpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5PcGVuRHluYW1pY0VsZW1lbnQsICh2bSkgPT4ge1xuICBsZXQgdGFnTmFtZSA9IGNoZWNrKHZhbHVlRm9yUmVmKGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKSksIENoZWNrU3RyaW5nKTtcbiAgdm0uZWxlbWVudHMoKS5vcGVuRWxlbWVudCh0YWdOYW1lKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUHVzaFJlbW90ZUVsZW1lbnQsICh2bSkgPT4ge1xuICBsZXQgZWxlbWVudFJlZiA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgbGV0IGluc2VydEJlZm9yZVJlZiA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgbGV0IGd1aWRSZWYgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG5cbiAgbGV0IGVsZW1lbnQgPSBjaGVjayh2YWx1ZUZvclJlZihlbGVtZW50UmVmKSwgQ2hlY2tFbGVtZW50KTtcbiAgbGV0IGluc2VydEJlZm9yZSA9IGNoZWNrKHZhbHVlRm9yUmVmKGluc2VydEJlZm9yZVJlZiksIENoZWNrTWF5YmUoQ2hlY2tPcHRpb24oQ2hlY2tOb2RlKSkpO1xuICBsZXQgZ3VpZCA9IHZhbHVlRm9yUmVmKGd1aWRSZWYpIGFzIHN0cmluZztcblxuICBpZiAoIWlzQ29uc3RSZWYoZWxlbWVudFJlZikpIHtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBBc3NlcnQoZWxlbWVudFJlZikpO1xuICB9XG5cbiAgaWYgKGluc2VydEJlZm9yZSAhPT0gdW5kZWZpbmVkICYmICFpc0NvbnN0UmVmKGluc2VydEJlZm9yZVJlZikpIHtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBBc3NlcnQoaW5zZXJ0QmVmb3JlUmVmKSk7XG4gIH1cblxuICBsZXQgYmxvY2sgPSB2bS5lbGVtZW50cygpLnB1c2hSZW1vdGVFbGVtZW50KGVsZW1lbnQsIGd1aWQsIGluc2VydEJlZm9yZSk7XG4gIGlmIChibG9jaykgdm0uYXNzb2NpYXRlRGVzdHJveWFibGUoYmxvY2spO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Qb3BSZW1vdGVFbGVtZW50LCAodm0pID0+IHtcbiAgdm0uZWxlbWVudHMoKS5wb3BSZW1vdGVFbGVtZW50KCk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkZsdXNoRWxlbWVudCwgKHZtKSA9PiB7XG4gIGxldCBvcGVyYXRpb25zID0gY2hlY2sodm0uZmV0Y2hWYWx1ZSgkdDApLCBDaGVja09wZXJhdGlvbnMpO1xuICBsZXQgbW9kaWZpZXJzOiBPcHRpb248TW9kaWZpZXJJbnN0YW5jZVtdPiA9IG51bGw7XG5cbiAgaWYgKG9wZXJhdGlvbnMpIHtcbiAgICBtb2RpZmllcnMgPSBvcGVyYXRpb25zLmZsdXNoKHZtKTtcbiAgICB2bS5sb2FkVmFsdWUoJHQwLCBudWxsKTtcbiAgfVxuXG4gIHZtLmVsZW1lbnRzKCkuZmx1c2hFbGVtZW50KG1vZGlmaWVycyk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkNsb3NlRWxlbWVudCwgKHZtKSA9PiB7XG4gIGxldCBtb2RpZmllcnMgPSB2bS5lbGVtZW50cygpLmNsb3NlRWxlbWVudCgpO1xuXG4gIGlmIChtb2RpZmllcnMpIHtcbiAgICBtb2RpZmllcnMuZm9yRWFjaCgobW9kaWZpZXIpID0+IHtcbiAgICAgIHZtLmVudi5zY2hlZHVsZUluc3RhbGxNb2RpZmllcihtb2RpZmllcik7XG4gICAgICBsZXQgeyBtYW5hZ2VyLCBzdGF0ZSB9ID0gbW9kaWZpZXI7XG4gICAgICBsZXQgZCA9IG1hbmFnZXIuZ2V0RGVzdHJveWFibGUoc3RhdGUpO1xuXG4gICAgICBpZiAoZCkge1xuICAgICAgICB2bS5hc3NvY2lhdGVEZXN0cm95YWJsZShkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Nb2RpZmllciwgKHZtLCB7IG9wMTogaGFuZGxlIH0pID0+IHtcbiAgaWYgKHZtLmVudi5pc0ludGVyYWN0aXZlID09PSBmYWxzZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCBkZWZpbml0aW9uID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxNb2RpZmllckRlZmluaXRpb24+KGhhbmRsZSk7XG4gIGxldCB7IG1hbmFnZXIgfSA9IGRlZmluaXRpb247XG5cbiAgbGV0IHN0YWNrID0gdm0uc3RhY2s7XG4gIGxldCBhcmdzID0gY2hlY2soc3RhY2sucG9wSnMoKSwgQ2hlY2tBcmd1bWVudHMpO1xuICBsZXQgeyBjb25zdHJ1Y3RpbmcsIHVwZGF0ZU9wZXJhdGlvbnMgfSA9IHZtLmVsZW1lbnRzKCk7XG4gIGxldCBkeW5hbWljU2NvcGUgPSB2bS5keW5hbWljU2NvcGUoKTtcblxuICBsZXQgc3RhdGUgPSBtYW5hZ2VyLmNyZWF0ZShcbiAgICB2bS5nZXRPd25lcigpLFxuICAgIGV4cGVjdChjb25zdHJ1Y3RpbmcsICdCVUc6IEVsZW1lbnRNb2RpZmllciBjb3VsZCBub3QgZmluZCB0aGUgZWxlbWVudCBpdCBhcHBsaWVzIHRvJyksXG4gICAgZGVmaW5pdGlvbi5zdGF0ZSxcbiAgICBhcmdzLFxuICAgIGR5bmFtaWNTY29wZSxcbiAgICB1cGRhdGVPcGVyYXRpb25zXG4gICk7XG5cbiAgbGV0IGluc3RhbmNlOiBNb2RpZmllckluc3RhbmNlID0ge1xuICAgIG1hbmFnZXIsXG4gICAgc3RhdGUsXG4gICAgZGVmaW5pdGlvbixcbiAgfTtcblxuICBsZXQgb3BlcmF0aW9ucyA9IGV4cGVjdChcbiAgICBjaGVjayh2bS5mZXRjaFZhbHVlKCR0MCksIENoZWNrT3BlcmF0aW9ucyksXG4gICAgJ0JVRzogRWxlbWVudE1vZGlmaWVyIGNvdWxkIG5vdCBmaW5kIG9wZXJhdGlvbnMgdG8gYXBwZW5kIHRvJ1xuICApO1xuXG4gIG9wZXJhdGlvbnMuYWRkTW9kaWZpZXIoaW5zdGFuY2UpO1xuXG4gIGxldCB0YWcgPSBtYW5hZ2VyLmdldFRhZyhzdGF0ZSk7XG5cbiAgaWYgKHRhZyAhPT0gbnVsbCkge1xuICAgIGNvbnN1bWVUYWcodGFnKTtcbiAgICB2bS51cGRhdGVXaXRoKG5ldyBVcGRhdGVNb2RpZmllck9wY29kZSh0YWcsIGluc3RhbmNlKSk7XG4gIH1cbn0pO1xuXG5leHBvcnQgY2xhc3MgVXBkYXRlTW9kaWZpZXJPcGNvZGUgZXh0ZW5kcyBVcGRhdGluZ09wY29kZSB7XG4gIHB1YmxpYyB0eXBlID0gJ3VwZGF0ZS1tb2RpZmllcic7XG4gIHByaXZhdGUgbGFzdFVwZGF0ZWQ6IFJldmlzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0YWc6IFRhZywgcHJpdmF0ZSBtb2RpZmllcjogTW9kaWZpZXJJbnN0YW5jZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sYXN0VXBkYXRlZCA9IHZhbHVlRm9yVGFnKHRhZyk7XG4gIH1cblxuICBldmFsdWF0ZSh2bTogVXBkYXRpbmdWTSkge1xuICAgIGxldCB7IG1vZGlmaWVyLCB0YWcsIGxhc3RVcGRhdGVkIH0gPSB0aGlzO1xuXG4gICAgY29uc3VtZVRhZyh0YWcpO1xuXG4gICAgaWYgKCF2YWxpZGF0ZVRhZyh0YWcsIGxhc3RVcGRhdGVkKSkge1xuICAgICAgdm0uZW52LnNjaGVkdWxlVXBkYXRlTW9kaWZpZXIobW9kaWZpZXIpO1xuICAgICAgdGhpcy5sYXN0VXBkYXRlZCA9IHZhbHVlRm9yVGFnKHRhZyk7XG4gICAgfVxuICB9XG59XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5TdGF0aWNBdHRyLCAodm0sIHsgb3AxOiBfbmFtZSwgb3AyOiBfdmFsdWUsIG9wMzogX25hbWVzcGFjZSB9KSA9PiB7XG4gIGxldCBuYW1lID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lKTtcbiAgbGV0IHZhbHVlID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF92YWx1ZSk7XG4gIGxldCBuYW1lc3BhY2UgPSBfbmFtZXNwYWNlID8gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lc3BhY2UpIDogbnVsbDtcblxuICB2bS5lbGVtZW50cygpLnNldFN0YXRpY0F0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgbmFtZXNwYWNlKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuRHluYW1pY0F0dHIsICh2bSwgeyBvcDE6IF9uYW1lLCBvcDI6IF90cnVzdGluZywgb3AzOiBfbmFtZXNwYWNlIH0pID0+IHtcbiAgbGV0IG5hbWUgPSB2bVtDT05TVEFOVFNdLmdldFZhbHVlPHN0cmluZz4oX25hbWUpO1xuICBsZXQgdHJ1c3RpbmcgPSB2bVtDT05TVEFOVFNdLmdldFZhbHVlPGJvb2xlYW4+KF90cnVzdGluZyk7XG4gIGxldCByZWZlcmVuY2UgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG4gIGxldCB2YWx1ZSA9IHZhbHVlRm9yUmVmKHJlZmVyZW5jZSk7XG4gIGxldCBuYW1lc3BhY2UgPSBfbmFtZXNwYWNlID8gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lc3BhY2UpIDogbnVsbDtcblxuICBsZXQgYXR0cmlidXRlID0gdm0uZWxlbWVudHMoKS5zZXREeW5hbWljQXR0cmlidXRlKG5hbWUsIHZhbHVlLCB0cnVzdGluZywgbmFtZXNwYWNlKTtcblxuICBpZiAoIWlzQ29uc3RSZWYocmVmZXJlbmNlKSkge1xuICAgIHZtLnVwZGF0ZVdpdGgobmV3IFVwZGF0ZUR5bmFtaWNBdHRyaWJ1dGVPcGNvZGUocmVmZXJlbmNlLCBhdHRyaWJ1dGUpKTtcbiAgfVxufSk7XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVEeW5hbWljQXR0cmlidXRlT3Bjb2RlIGV4dGVuZHMgVXBkYXRpbmdPcGNvZGUge1xuICBwdWJsaWMgdHlwZSA9ICdwYXRjaC1lbGVtZW50JztcblxuICBwdWJsaWMgbGFzdFZhbHVlOiB1bmtub3duO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmZXJlbmNlOiBSZWZlcmVuY2U8dW5rbm93bj4sIHByaXZhdGUgYXR0cmlidXRlOiBEeW5hbWljQXR0cmlidXRlKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlRm9yUmVmKHJlZmVyZW5jZSk7XG4gIH1cblxuICBldmFsdWF0ZSh2bTogVXBkYXRpbmdWTSkge1xuICAgIGxldCB7IGF0dHJpYnV0ZSwgcmVmZXJlbmNlLCBsYXN0VmFsdWUgfSA9IHRoaXM7XG4gICAgbGV0IGN1cnJlbnRWYWx1ZSA9IHZhbHVlRm9yUmVmKHJlZmVyZW5jZSk7XG5cbiAgICBpZiAoY3VycmVudFZhbHVlICE9PSBsYXN0VmFsdWUpIHtcbiAgICAgIGF0dHJpYnV0ZS51cGRhdGUoY3VycmVudFZhbHVlLCB2bS5lbnYpO1xuICAgICAgdGhpcy5sYXN0VmFsdWUgPSBjdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -1,7 +0,53 @@

import { childRefFor, UNDEFINED_REFERENCE, TRUE_REFERENCE, FALSE_REFERENCE } from '@glimmer/reference';
import { childRefFor, UNDEFINED_REFERENCE, TRUE_REFERENCE, FALSE_REFERENCE, valueForRef } from '@glimmer/reference';
import { $v0 } from '@glimmer/vm';
import { APPEND_OPCODES } from '../../opcodes';
import { createConcatRef } from '../expressions/concat';
import { assert } from '@glimmer/util';
import { assert, debugToString } from '@glimmer/util';
import { CONSTANTS } from '../../symbols';
import { DEBUG } from '@glimmer/env';
import { isCurriedHelperDefinition, resolveCurriedHelperDefinition } from '../../helpers/curried-helper';
import createCurryHelperRef from '../../references/curry-helper';
APPEND_OPCODES.add(108
/* CurryHelper */
, vm => {
let stack = vm.stack;
let definition = stack.popJs();
let capturedArgs = stack.popJs();
let owner = vm.getOwner();
vm.loadValue($v0, createCurryHelperRef(definition, owner, capturedArgs));
});
APPEND_OPCODES.add(107
/* DynamicHelper */
, (vm, {
op1: _definitionRegister
}) => {
let stack = vm.stack;
let args = stack.popJs();
let ref = vm.fetchValue(_definitionRegister);
let definition = valueForRef(ref);
if (isCurriedHelperDefinition(definition)) {
let [resolvedDef, owner] = resolveCurriedHelperDefinition(definition, args);
let helper = resolveHelper(vm[CONSTANTS], resolvedDef, ref);
vm.pushRootScope(0, owner);
vm.loadValue($v0, helper(args, vm));
vm.popScope();
} else if (typeof definition === 'function' || typeof definition === 'object' && definition !== null) {
let helper = resolveHelper(vm[CONSTANTS], definition, ref);
vm.loadValue($v0, helper(args, vm));
} else {
vm.loadValue($v0, UNDEFINED_REFERENCE);
}
});
function resolveHelper(constants, definition, ref) {
let handle = constants.helper(definition, null, true);
if (DEBUG && handle === null) {
throw new Error(`Expected a dynamic helper definition, but received an object or function that did not have a helper manager associated with it. The dynamic invocation was \`{{${ref.debugLabel}}}\` or \`(${ref.debugLabel})\`, and the incorrect definition is the value at the path \`${ref.debugLabel}\`, which was: ${debugToString(definition)}`);
}
return constants.getValue(handle);
}
APPEND_OPCODES.add(16

@@ -159,2 +205,2 @@ /* Helper */

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvZXhwcmVzc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsU0FFRSxXQUZGLEVBR0UsbUJBSEYsRUFJRSxjQUpGLEVBS0UsZUFMRixRQU1PLG9CQU5QO0FBT0EsU0FBUyxHQUFULFFBQW9CLGFBQXBCO0FBQ0EsU0FBUyxjQUFULFFBQStCLGVBQS9CO0FBQ0EsU0FBUyxlQUFULFFBQWdDLHVCQUFoQztBQUNBLFNBQVMsTUFBVCxRQUF1QixlQUF2QjtBQWtCQSxTQUFTLFNBQVQsUUFBMEIsZUFBMUI7QUFJQSxjQUFjLENBQUMsR0FBZixDQUFrQjtBQUFBO0FBQWxCLEVBQThCLENBQUMsRUFBRCxFQUFLO0FBQUUsRUFBQSxHQUFHLEVBQUU7QUFBUCxDQUFMLEtBQXdCO0FBQ3BELE1BQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFmO0FBQ0EsTUFBSSxNQUFNLEdBQVMsRUFBRSxDQUFDLFNBQUQsQ0FBRixDQUFjLFFBQWQsQ0FBdUIsTUFBdkIsQ0FBbkI7QUFDQSxNQUFJLElBQUksR0FBUyxLQUFLLENBQUMsS0FBTixFQUFqQjtBQUNBLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFELEVBQU8sRUFBUCxDQUFsQjtBQUVBLEVBQUEsRUFBRSxDQUFDLFNBQUgsQ0FBYSxHQUFiLEVBQWtCLEtBQWxCO0FBQ0QsQ0FQRDtBQVNBLGNBQWMsQ0FBQyxHQUFmLENBQWtCO0FBQUE7QUFBbEIsRUFBbUMsQ0FBQyxFQUFELEVBQUs7QUFBRSxFQUFBLEdBQUcsRUFBRTtBQUFQLENBQUwsS0FBd0I7QUFDekQsTUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLGtCQUFILENBQXNCLE1BQXRCLENBQVg7QUFFQSxFQUFBLEVBQUUsQ0FBQyxLQUFILENBQVMsTUFBVCxDQUFnQixJQUFoQjtBQUNELENBSkQ7QUFNQSxjQUFjLENBQUMsR0FBZixDQUFr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QUMsTUFBTixDQUFhLGVBQWI7QUFDRDtBQUNGLENBVEQ7QUFXQSxjQUFjLENBQUMsR0FBZixDQUFrQjtBQUFBO0FBQWxCLEVBQXVDLEVBQUQsSUFBTztBQUMzQztBQUNBLE1BQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFILENBQVMsR0FBVCxFQUFaO0FBQ0EsTUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUgsQ0FBUyxLQUFULEVBQVo7QUFJQSxNQUFJLEtBQUssR0FBUyxFQUFFLENBQUMsS0FBSCxDQUFTLEtBQVQsRUFBbEI7QUFFQSxNQUFJLGNBQWMsR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLFVBQU4sQ0FBaUIsTUFBL0M7QUFDQSxFQUFBLEVBQUUsQ0FBQyxLQUFILENBQVMsTUFBVCxDQUFnQixjQUFjLEdBQUcsY0FBSCxHQUFvQixlQUFsRDtBQUNELENBWEQ7QUFhQSxjQUFjLENBQUMsR0FBZixDQUFrQjtBQUFBO0FBQWxCLEVBQThCLENBQUMsRUFBRCxFQUFLO0FBQUUsRUFBQSxHQUFHLEVBQUU7QUFBUCxDQUFMLEtBQXVCO0FBQ25ELE1BQUksR0FBRyxHQUE4QixJQUFJLEtBQUosQ0FBVSxLQUFWLENBQXJDOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQUcsS0FBYixFQUFvQixDQUFDLEdBQUcsQ0FBeEIsRUFBMkIsQ0FBQyxFQUE1QixFQUFnQztBQUM5QixRQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBakI7QUFDQSxJQUFBLEdBQUcsQ0FBQyxNQUFELENBQUgsR0FBb0IsRUFBRSxDQUFDLEtBQUgsQ0FBUyxHQUFULEVBQXBCO0FBQ0Q7O0FBRUQsRUFBQSxFQUFFLENBQUMsS0FBSCxDQUFTLE1BQVQsQ0FBZ0IsZUFBZSxDQUFDLEdBQUQsQ0FBL0I7QUFDRCxDQVREIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3AsIFNjb3BlQmxvY2ssIFZNIGFzIFB1YmxpY1ZNIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBSZWZlcmVuY2UsXG4gIGNoaWxkUmVmRm9yLFxuICBVTkRFRklORURfUkVGRVJFTkNFLFxuICBUUlVFX1JFRkVSRU5DRSxcbiAgRkFMU0VfUkVGRVJFTkNFLFxufSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgJHYwIH0gZnJvbSAnQGdsaW1tZXIvdm0nO1xuaW1wb3J0IHsgQVBQRU5EX09QQ09ERVMgfSBmcm9tICcuLi8uLi9vcGNvZGVzJztcbmltcG9ydCB7IGNyZWF0ZUNvbmNhdFJlZiB9IGZyb20gJy4uL2V4cHJlc3Npb25zL2NvbmNhdCc7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7XG4gIGNoZWNrLFxuICBDaGVja09wdGlvbixcbiAgQ2hlY2tIYW5kbGUsXG4gIENoZWNrQmxvY2tTeW1ib2xUYWJsZSxcbiAgQ2hlY2tPcixcbiAgQ2hlY2tNYXliZSxcbn0gZnJvbSAnQGdsaW1tZXIvZGVidWcnO1xuaW1wb3J0IHtcbiAgQ2hlY2tBcmd1bWVudHMsXG4gIENoZWNrUmVmZXJlbmNlLFxuICBDaGVja0NvbXBpbGFibGVCbG9jayxcbiAgQ2hlY2tTY29wZSxcbiAgQ2hlY2tIZWxwZXIsXG4gIENoZWNrVW5kZWZpbmVkUmVmZXJlbmNlLFxuICBDaGVja1Njb3BlQmxvY2ssXG59IGZyb20gJy4vLWRlYnVnLXN0cmlwJztcbmltcG9ydCB7IENPTlNUQU5UUyB9IGZyb20gJy4uLy4uL3N5bWJvbHMnO1xuXG5leHBvcnQgdHlwZSBGdW5jdGlvbkV4cHJlc3Npb248VD4gPSAodm06IFB1YmxpY1ZNKSA9PiBSZWZlcmVuY2U8VD47XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5IZWxwZXIsICh2bSwgeyBvcDE6IGhhbmRsZSB9KSA9PiB7XG4gIGxldCBzdGFjayA9IHZtLnN0YWNrO1xuICBsZXQgaGVscGVyID0gY2hlY2sodm1bQ09OU1RBTlRTXS5nZXRWYWx1ZShoYW5kbGUpLCBDaGVja0hlbHBlcik7XG4gIGxldCBhcmdzID0gY2hlY2soc3RhY2sucG9wSnMoKSwgQ2hlY2tBcmd1bWVudHMpO1xuICBsZXQgdmFsdWUgPSBoZWxwZXIoYXJncywgdm0pO1xuXG4gIHZtLmxvYWRWYWx1ZSgkdjAsIHZhbHVlKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuR2V0VmFyaWFibGUsICh2bSwgeyBvcDE6IHN5bWJvbCB9KSA9PiB7XG4gIGxldCBleHByID0gdm0ucmVmZXJlbmNlRm9yU3ltYm9sKHN5bWJvbCk7XG5cbiAgdm0uc3RhY2sucHVzaEpzKGV4cHIpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5TZXRWYXJpYWJsZSwgKHZtLCB7IG9wMTogc3ltYm9sIH0pID0+IHtcbiAgbGV0IGV4cHIgPSBjaGVjayh2bS5zdGFjay5wb3AoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuICB2bS5zY29wZSgpLmJpbmRTeW1ib2woc3ltYm9sLCBleHByKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuU2V0QmxvY2ssICh2bSwgeyBvcDE6IHN5bWJvbCB9KSA9PiB7XG4gIGxldCBoYW5kbGUgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja0NvbXBpbGFibGVCbG9jayk7XG4gIGxldCBzY29wZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrU2NvcGUpO1xuICBsZXQgdGFibGUgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja0Jsb2NrU3ltYm9sVGFibGUpO1xuXG4gIHZtLnNjb3BlKCkuYmluZEJsb2NrKHN5bWJvbCwgW2hhbmRsZSwgc2NvcGUsIHRhYmxlXSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlJlc29sdmVNYXliZUxvY2FsLCAodm0sIHsgb3AxOiBfbmFtZSB9KSA9PiB7XG4gIGxldCBuYW1lID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9uYW1lKTtcbiAgbGV0IGxvY2FscyA9IHZtLnNjb3BlKCkuZ2V0UGFydGlhbE1hcCgpITtcblxuICBsZXQgcmVmID0gbG9jYWxzW25hbWVdO1xuICBpZiAocmVmID09PSB1bmRlZmluZWQpIHtcbiAgICByZWYgPSBjaGlsZFJlZkZvcih2bS5nZXRTZWxmKCksIG5hbWUpO1xuICB9XG5cbiAgdm0uc3RhY2sucHVzaEpzKHJlZik7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlJvb3RTY29wZSwgKHZtLCB7IG9wMTogc3ltYm9scyB9KSA9PiB7XG4gIHZtLnB1c2hSb290U2NvcGUoc3ltYm9scywgdm0uZ2V0T3duZXIoKSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkdldFByb3BlcnR5LCAodm0sIHsgb3AxOiBfa2V5IH0pID0+IHtcbiAgbGV0IGtleSA9IHZtW0NPTlNUQU5UU10uZ2V0VmFsdWU8c3RyaW5nPihfa2V5KTtcbiAgbGV0IGV4cHIgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja1JlZmVyZW5jZSk7XG4gIHZtLnN0YWNrLnB1c2hKcyhjaGlsZFJlZkZvcihleHByLCBrZXkpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuR2V0QmxvY2ssICh2bSwgeyBvcDE6IF9ibG9jayB9KSA9PiB7XG4gIGxldCB7IHN0YWNrIH0gPSB2bTtcbiAgbGV0IGJsb2NrID0gdm0uc2NvcGUoKS5nZXRCbG9jayhfYmxvY2spO1xuXG4gIGlmIChibG9jayA9PT0gbnVsbCkge1xuICAgIHN0YWNrLnB1c2hOdWxsKCk7XG4gIH0gZWxzZSB7XG4gICAgc3RhY2sucHVzaEpzKGJsb2NrKTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5TcHJlYWRCbG9jaywgKHZtKSA9PiB7XG4gIGxldCB7IHN0YWNrIH0gPSB2bTtcbiAgbGV0IGJsb2NrID0gY2hlY2soc3RhY2sucG9wSnMoKSwgQ2hlY2tPcHRpb24oQ2hlY2tPcihDaGVja1Njb3BlQmxvY2ssIENoZWNrVW5kZWZpbmVkUmVmZXJlbmNlKSkpO1xuXG4gIGlmIChibG9jayAmJiAhaXNVbmRlZmluZWRSZWZlcmVuY2UoYmxvY2spKSB7XG4gICAgbGV0IFtoYW5kbGVPckNvbXBpbGFibGUsIHNjb3BlLCB0YWJsZV0gPSBibG9jaztcblxuICAgIHN0YWNrLnB1c2hKcyh0YWJsZSk7XG4gICAgc3RhY2sucHVzaEpzKHNjb3BlKTtcblxuICAgIGlmICh0eXBlb2YgaGFuZGxlT3JDb21waWxhYmxlID09PSAnbnVtYmVyJykge1xuICAgICAgc3RhY2sucHVzaFNtYWxsSW50KGhhbmRsZU9yQ29tcGlsYWJsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YWNrLnB1c2hKcyhoYW5kbGVPckNvbXBpbGFibGUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBzdGFjay5wdXNoTnVsbCgpO1xuICAgIHN0YWNrLnB1c2hOdWxsKCk7XG4gICAgc3RhY2sucHVzaE51bGwoKTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIGlzVW5kZWZpbmVkUmVmZXJlbmNlKGlucHV0OiBTY29wZUJsb2NrIHwgUmVmZXJlbmNlKTogaW5wdXQgaXMgUmVmZXJlbmNlIHtcbiAgYXNzZXJ0KFxuICAgIEFycmF5LmlzQXJyYXkoaW5wdXQpIHx8IGlucHV0ID09PSBVTkRFRklORURfUkVGRVJFTkNFLFxuICAgICdhIHJlZmVyZW5jZSBvdGhlciB0aGFuIFVOREVGSU5FRF9SRUZFUkVOQ0UgaXMgaWxsZWdhbCBoZXJlJ1xuICApO1xuICByZXR1cm4gaW5wdXQgPT09IFVOREVGSU5FRF9SRUZFUkVOQ0U7XG59XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5IYXNCbG9jaywgKHZtKSA9PiB7XG4gIGxldCB7IHN0YWNrIH0gPSB2bTtcbiAgbGV0IGJsb2NrID0gY2hlY2soc3RhY2sucG9wKCksIENoZWNrT3B0aW9uKENoZWNrT3IoQ2hlY2tTY29wZUJsb2NrLCBDaGVja1VuZGVmaW5lZFJlZmVyZW5jZSkpKTtcblxuICBpZiAoYmxvY2sgJiYgIWlzVW5kZWZpbmVkUmVmZXJlbmNlKGJsb2NrKSkge1xuICAgIHN0YWNrLnB1c2hKcyhUUlVFX1JFRkVSRU5DRSk7XG4gIH0gZWxzZSB7XG4gICAgc3RhY2sucHVzaEpzKEZBTFNFX1JFRkVSRU5DRSk7XG4gIH1cbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuSGFzQmxvY2tQYXJhbXMsICh2bSkgPT4ge1xuICAvLyBGSVhNRShtbXVuKTogc2hvdWxkIG9ubHkgbmVlZCB0byBwdXNoIHRoZSBzeW1ib2wgdGFibGVcbiAgbGV0IGJsb2NrID0gdm0uc3RhY2sucG9wKCk7XG4gIGxldCBzY29wZSA9IHZtLnN0YWNrLnBvcEpzKCk7XG5cbiAgY2hlY2soYmxvY2ssIENoZWNrTWF5YmUoQ2hlY2tPcihDaGVja0hhbmRsZSwgQ2hlY2tDb21waWxhYmxlQmxvY2spKSk7XG4gIGNoZWNrKHNjb3BlLCBDaGVja01heWJlKENoZWNrU2NvcGUpKTtcbiAgbGV0IHRhYmxlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tNYXliZShDaGVja0Jsb2NrU3ltYm9sVGFibGUpKTtcblxuICBsZXQgaGFzQmxvY2tQYXJhbXMgPSB0YWJsZSAmJiB0YWJsZS5wYXJhbWV0ZXJzLmxlbmd0aDtcbiAgdm0uc3RhY2sucHVzaEpzKGhhc0Jsb2NrUGFyYW1zID8gVFJVRV9SRUZFUkVOQ0UgOiBGQUxTRV9SRUZFUkVOQ0UpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5Db25jYXQsICh2bSwgeyBvcDE6IGNvdW50IH0pID0+IHtcbiAgbGV0IG91dDogQXJyYXk8UmVmZXJlbmNlPHVua25vd24+PiA9IG5ldyBBcnJheShjb3VudCk7XG5cbiAgZm9yIChsZXQgaSA9IGNvdW50OyBpID4gMDsgaS0tKSB7XG4gICAgbGV0IG9mZnNldCA9IGkgLSAxO1xuICAgIG91dFtvZmZzZXRdID0gY2hlY2sodm0uc3RhY2sucG9wKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgfVxuXG4gIHZtLnN0YWNrLnB1c2hKcyhjcmVhdGVDb25jYXRSZWYob3V0KSk7XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBpbGVkL29wY29kZXMvZXhwcmVzc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsU0FFRSxXQUZGLEVBR0UsbUJBSEYsRUFJRSxjQUpGLEVBS0UsZUFMRixFQU1FLFdBTkYsUUFPTyxvQkFQUDtBQVFBLFNBQVMsR0FBVCxRQUFvQixhQUFwQjtBQUNBLFNBQVMsY0FBVCxRQUErQixlQUEvQjtBQUNBLFNBQVMsZUFBVCxRQUFnQyx1QkFBaEM7QUFDQSxTQUFTLE1BQVQsRUFBaUIsYUFBakIsUUFBc0MsZUFBdEM7QUFtQkEsU0FBUyxTQUFULFFBQTBCLGVBQTFCO0FBQ0EsU0FBUyxLQUFULFFBQXNCLGNBQXRCO0FBQ0EsU0FDRSx5QkFERixFQUVFLDhCQUZGLFFBR08sOEJBSFA7QUFJQSxPQUFPLG9CQUFQLE1BQWlDLCtCQUFqQztBQUlBLGNBQWMsQ0FBQyxHQUFmLENBQWtCO0FBQUE7QUFBbEIsRUFBb0MsRUFBRCxJQUFPO0FBQ3hDLE1BQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFmO0FBRUEsTUFBSSxVQUFVLEdBQVMsS0FBSyxDQUFDLEtBQU4sRUFBdkI7QUFDQSxNQUFJLFlBQVksR0FBUyxLQUFLLENBQUMsS0FBTixFQUF6QjtBQUNBLE1BQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxRQUFILEVBQVo7QUFFQSxFQUFBLEVBQUUsQ0FBQyxTQUFILENBQWEsR0FBYixFQUFrQixvQkFBb0IsQ0FBQyxVQUFELEVBQWEsS0FBYixFQUFvQixZQUFwQixDQUF0QztBQUNELENBUkQ7QUFVQSxjQUFjLENBQUMsR0FBZixDQUFrQjtBQUFBO0FBQWxCLEVBQXFDLENBQUMsRUFBRCxFQUFLO0FBQUUsRUFBQSxHQUFHLEVBQUU7QUFBUCxDQUFMLEtBQXFDO0FBQ3hFLE1BQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFmO0FBQ0EsTUFBSSxJQUFJLEdBQVMsS0FB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LE1BQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFILENBQVMsR0FBVCxFQUFaO0FBQ0EsTUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUgsQ0FBUyxLQUFULEVBQVo7QUFJQSxNQUFJLEtBQUssR0FBUyxFQUFFLENBQUMsS0FBSCxDQUFTLEtBQVQsRUFBbEI7QUFFQSxNQUFJLGNBQWMsR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLFVBQU4sQ0FBaUIsTUFBL0M7QUFDQSxFQUFBLEVBQUUsQ0FBQyxLQUFILENBQVMsTUFBVCxDQUFnQixjQUFjLEdBQUcsY0FBSCxHQUFvQixlQUFsRDtBQUNELENBWEQ7QUFhQSxjQUFjLENBQUMsR0FBZixDQUFrQjtBQUFBO0FBQWxCLEVBQThCLENBQUMsRUFBRCxFQUFLO0FBQUUsRUFBQSxHQUFHLEVBQUU7QUFBUCxDQUFMLEtBQXVCO0FBQ25ELE1BQUksR0FBRyxHQUE4QixJQUFJLEtBQUosQ0FBVSxLQUFWLENBQXJDOztBQUVBLE9BQUssSUFBSSxDQUFDLEdBQUcsS0FBYixFQUFvQixDQUFDLEdBQUcsQ0FBeEIsRUFBMkIsQ0FBQyxFQUE1QixFQUFnQztBQUM5QixRQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBakI7QUFDQSxJQUFBLEdBQUcsQ0FBQyxNQUFELENBQUgsR0FBb0IsRUFBRSxDQUFDLEtBQUgsQ0FBUyxHQUFULEVBQXBCO0FBQ0Q7O0FBRUQsRUFBQSxFQUFFLENBQUMsS0FBSCxDQUFTLE1BQVQsQ0FBZ0IsZUFBZSxDQUFDLEdBQUQsQ0FBL0I7QUFDRCxDQVREIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSGVscGVyLFxuICBIZWxwZXJEZWZpbml0aW9uU3RhdGUsXG4gIE9wLFxuICBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyxcbiAgUnVudGltZUNvbnN0YW50cyxcbiAgU2NvcGVCbG9jayxcbiAgVk0gYXMgUHVibGljVk0sXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgUmVmZXJlbmNlLFxuICBjaGlsZFJlZkZvcixcbiAgVU5ERUZJTkVEX1JFRkVSRU5DRSxcbiAgVFJVRV9SRUZFUkVOQ0UsXG4gIEZBTFNFX1JFRkVSRU5DRSxcbiAgdmFsdWVGb3JSZWYsXG59IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyAkdjAgfSBmcm9tICdAZ2xpbW1lci92bSc7XG5pbXBvcnQgeyBBUFBFTkRfT1BDT0RFUyB9IGZyb20gJy4uLy4uL29wY29kZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29uY2F0UmVmIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMvY29uY2F0JztcbmltcG9ydCB7IGFzc2VydCwgZGVidWdUb1N0cmluZyB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHtcbiAgY2hlY2ssXG4gIENoZWNrT3B0aW9uLFxuICBDaGVja0hhbmRsZSxcbiAgQ2hlY2tCbG9ja1N5bWJvbFRhYmxlLFxuICBDaGVja09yLFxuICBDaGVja01heWJlLFxufSBmcm9tICdAZ2xpbW1lci9kZWJ1Zyc7XG5pbXBvcnQge1xuICBDaGVja0FyZ3VtZW50cyxcbiAgQ2hlY2tSZWZlcmVuY2UsXG4gIENoZWNrQ29tcGlsYWJsZUJsb2NrLFxuICBDaGVja1Njb3BlLFxuICBDaGVja0hlbHBlcixcbiAgQ2hlY2tVbmRlZmluZWRSZWZlcmVuY2UsXG4gIENoZWNrU2NvcGVCbG9jayxcbiAgQ2hlY2tDYXB0dXJlZEFyZ3VtZW50cyxcbn0gZnJvbSAnLi8tZGVidWctc3RyaXAnO1xuaW1wb3J0IHsgQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vc3ltYm9scyc7XG5pbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBpc0N1cnJpZWRIZWxwZXJEZWZpbml0aW9uLFxuICByZXNvbHZlQ3VycmllZEhlbHBlckRlZmluaXRpb24sXG59IGZyb20gJy4uLy4uL2hlbHBlcnMvY3VycmllZC1oZWxwZXInO1xuaW1wb3J0IGNyZWF0ZUN1cnJ5SGVscGVyUmVmIGZyb20gJy4uLy4uL3JlZmVyZW5jZXMvY3VycnktaGVscGVyJztcblxuZXhwb3J0IHR5cGUgRnVuY3Rpb25FeHByZXNzaW9uPFQ+ID0gKHZtOiBQdWJsaWNWTSkgPT4gUmVmZXJlbmNlPFQ+O1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuQ3VycnlIZWxwZXIsICh2bSkgPT4ge1xuICBsZXQgc3RhY2sgPSB2bS5zdGFjaztcblxuICBsZXQgZGVmaW5pdGlvbiA9IGNoZWNrKHN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgbGV0IGNhcHR1cmVkQXJncyA9IGNoZWNrKHN0YWNrLnBvcEpzKCksIENoZWNrQ2FwdHVyZWRBcmd1bWVudHMpO1xuICBsZXQgb3duZXIgPSB2bS5nZXRPd25lcigpO1xuXG4gIHZtLmxvYWRWYWx1ZSgkdjAsIGNyZWF0ZUN1cnJ5SGVscGVyUmVmKGRlZmluaXRpb24sIG93bmVyLCBjYXB0dXJlZEFyZ3MpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuRHluYW1pY0hlbHBlciwgKHZtLCB7IG9wMTogX2RlZmluaXRpb25SZWdpc3RlciB9KSA9PiB7XG4gIGxldCBzdGFjayA9IHZtLnN0YWNrO1xuICBsZXQgYXJncyA9IGNoZWNrKHN0YWNrLnBvcEpzKCksIENoZWNrQXJndW1lbnRzKTtcbiAgbGV0IHJlZiA9IHZtLmZldGNoVmFsdWU8UmVmZXJlbmNlPihfZGVmaW5pdGlvblJlZ2lzdGVyKTtcbiAgbGV0IGRlZmluaXRpb24gPSB2YWx1ZUZvclJlZihyZWYpO1xuXG4gIGlmIChpc0N1cnJpZWRIZWxwZXJEZWZpbml0aW9uKGRlZmluaXRpb24pKSB7XG4gICAgbGV0IFtyZXNvbHZlZERlZiwgb3duZXJdID0gcmVzb2x2ZUN1cnJpZWRIZWxwZXJEZWZpbml0aW9uKGRlZmluaXRpb24sIGFyZ3MpO1xuXG4gICAgbGV0IGhlbHBlciA9IHJlc29sdmVIZWxwZXIodm1bQ09OU1RBTlRTXSwgcmVzb2x2ZWREZWYsIHJlZik7XG5cbiAgICB2bS5wdXNoUm9vdFNjb3BlKDAsIG93bmVyKTtcbiAgICB2bS5sb2FkVmFsdWUoJHYwLCBoZWxwZXIoYXJncywgdm0pKTtcbiAgICB2bS5wb3BTY29wZSgpO1xuICB9IGVsc2UgaWYgKFxuICAgIHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nIHx8XG4gICAgKHR5cGVvZiBkZWZpbml0aW9uID09PSAnb2JqZWN0JyAmJiBkZWZpbml0aW9uICE9PSBudWxsKVxuICApIHtcbiAgICBsZXQgaGVscGVyID0gcmVzb2x2ZUhlbHBlcih2bVtDT05TVEFOVFNdLCBkZWZpbml0aW9uLCByZWYpO1xuXG4gICAgdm0ubG9hZFZhbHVlKCR2MCwgaGVscGVyKGFyZ3MsIHZtKSk7XG4gIH0gZWxzZSB7XG4gICAgdm0ubG9hZFZhbHVlKCR2MCwgVU5ERUZJTkVEX1JFRkVSRU5DRSk7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiByZXNvbHZlSGVscGVyKFxuICBjb25zdGFudHM6IFJ1bnRpbWVDb25zdGFudHMgJiBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyxcbiAgZGVmaW5pdGlvbjogSGVscGVyRGVmaW5pdGlvblN0YXRlLFxuICByZWY6IFJlZmVyZW5jZVxuKTogSGVscGVyIHtcbiAgbGV0IGhhbmRsZSA9IGNvbnN0YW50cy5oZWxwZXIoZGVmaW5pdGlvbiwgbnVsbCwgdHJ1ZSkhO1xuXG4gIGlmIChERUJVRyAmJiBoYW5kbGUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRXhwZWN0ZWQgYSBkeW5hbWljIGhlbHBlciBkZWZpbml0aW9uLCBidXQgcmVjZWl2ZWQgYW4gb2JqZWN0IG9yIGZ1bmN0aW9uIHRoYXQgZGlkIG5vdCBoYXZlIGEgaGVscGVyIG1hbmFnZXIgYXNzb2NpYXRlZCB3aXRoIGl0LiBUaGUgZHluYW1pYyBpbnZvY2F0aW9uIHdhcyBcXGB7eyR7XG4gICAgICAgIHJlZi5kZWJ1Z0xhYmVsXG4gICAgICB9fX1cXGAgb3IgXFxgKCR7cmVmLmRlYnVnTGFiZWx9KVxcYCwgYW5kIHRoZSBpbmNvcnJlY3QgZGVmaW5pdGlvbiBpcyB0aGUgdmFsdWUgYXQgdGhlIHBhdGggXFxgJHtcbiAgICAgICAgcmVmLmRlYnVnTGFiZWxcbiAgICAgIH1cXGAsIHdoaWNoIHdhczogJHtkZWJ1Z1RvU3RyaW5nIShkZWZpbml0aW9uKX1gXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBjb25zdGFudHMuZ2V0VmFsdWUoaGFuZGxlKTtcbn1cblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkhlbHBlciwgKHZtLCB7IG9wMTogaGFuZGxlIH0pID0+IHtcbiAgbGV0IHN0YWNrID0gdm0uc3RhY2s7XG4gIGxldCBoZWxwZXIgPSBjaGVjayh2bVtDT05TVEFOVFNdLmdldFZhbHVlKGhhbmRsZSksIENoZWNrSGVscGVyKTtcbiAgbGV0IGFyZ3MgPSBjaGVjayhzdGFjay5wb3BKcygpLCBDaGVja0FyZ3VtZW50cyk7XG4gIGxldCB2YWx1ZSA9IGhlbHBlcihhcmdzLCB2bSk7XG5cbiAgdm0ubG9hZFZhbHVlKCR2MCwgdmFsdWUpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5HZXRWYXJpYWJsZSwgKHZtLCB7IG9wMTogc3ltYm9sIH0pID0+IHtcbiAgbGV0IGV4cHIgPSB2bS5yZWZlcmVuY2VGb3JTeW1ib2woc3ltYm9sKTtcblxuICB2bS5zdGFjay5wdXNoSnMoZXhwcik7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlNldFZhcmlhYmxlLCAodm0sIHsgb3AxOiBzeW1ib2wgfSkgPT4ge1xuICBsZXQgZXhwciA9IGNoZWNrKHZtLnN0YWNrLnBvcCgpLCBDaGVja1JlZmVyZW5jZSk7XG4gIHZtLnNjb3BlKCkuYmluZFN5bWJvbChzeW1ib2wsIGV4cHIpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5TZXRCbG9jaywgKHZtLCB7IG9wMTogc3ltYm9sIH0pID0+IHtcbiAgbGV0IGhhbmRsZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrQ29tcGlsYWJsZUJsb2NrKTtcbiAgbGV0IHNjb3BlID0gY2hlY2sodm0uc3RhY2sucG9wSnMoKSwgQ2hlY2tTY29wZSk7XG4gIGxldCB0YWJsZSA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrQmxvY2tTeW1ib2xUYWJsZSk7XG5cbiAgdm0uc2NvcGUoKS5iaW5kQmxvY2soc3ltYm9sLCBbaGFuZGxlLCBzY29wZSwgdGFibGVdKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUmVzb2x2ZU1heWJlTG9jYWwsICh2bSwgeyBvcDE6IF9uYW1lIH0pID0+IHtcbiAgbGV0IG5hbWUgPSB2bVtDT05TVEFOVFNdLmdldFZhbHVlPHN0cmluZz4oX25hbWUpO1xuICBsZXQgbG9jYWxzID0gdm0uc2NvcGUoKS5nZXRQYXJ0aWFsTWFwKCkhO1xuXG4gIGxldCByZWYgPSBsb2NhbHNbbmFtZV07XG4gIGlmIChyZWYgPT09IHVuZGVmaW5lZCkge1xuICAgIHJlZiA9IGNoaWxkUmVmRm9yKHZtLmdldFNlbGYoKSwgbmFtZSk7XG4gIH1cblxuICB2bS5zdGFjay5wdXNoSnMocmVmKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuUm9vdFNjb3BlLCAodm0sIHsgb3AxOiBzeW1ib2xzIH0pID0+IHtcbiAgdm0ucHVzaFJvb3RTY29wZShzeW1ib2xzLCB2bS5nZXRPd25lcigpKTtcbn0pO1xuXG5BUFBFTkRfT1BDT0RFUy5hZGQoT3AuR2V0UHJvcGVydHksICh2bSwgeyBvcDE6IF9rZXkgfSkgPT4ge1xuICBsZXQga2V5ID0gdm1bQ09OU1RBTlRTXS5nZXRWYWx1ZTxzdHJpbmc+KF9rZXkpO1xuICBsZXQgZXhwciA9IGNoZWNrKHZtLnN0YWNrLnBvcEpzKCksIENoZWNrUmVmZXJlbmNlKTtcbiAgdm0uc3RhY2sucHVzaEpzKGNoaWxkUmVmRm9yKGV4cHIsIGtleSkpO1xufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5HZXRCbG9jaywgKHZtLCB7IG9wMTogX2Jsb2NrIH0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSB2bS5zY29wZSgpLmdldEJsb2NrKF9ibG9jayk7XG5cbiAgaWYgKGJsb2NrID09PSBudWxsKSB7XG4gICAgc3RhY2sucHVzaE51bGwoKTtcbiAgfSBlbHNlIHtcbiAgICBzdGFjay5wdXNoSnMoYmxvY2spO1xuICB9XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLlNwcmVhZEJsb2NrLCAodm0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSBjaGVjayhzdGFjay5wb3BKcygpLCBDaGVja09wdGlvbihDaGVja09yKENoZWNrU2NvcGVCbG9jaywgQ2hlY2tVbmRlZmluZWRSZWZlcmVuY2UpKSk7XG5cbiAgaWYgKGJsb2NrICYmICFpc1VuZGVmaW5lZFJlZmVyZW5jZShibG9jaykpIHtcbiAgICBsZXQgW2hhbmRsZU9yQ29tcGlsYWJsZSwgc2NvcGUsIHRhYmxlXSA9IGJsb2NrO1xuXG4gICAgc3RhY2sucHVzaEpzKHRhYmxlKTtcbiAgICBzdGFjay5wdXNoSnMoc2NvcGUpO1xuXG4gICAgaWYgKHR5cGVvZiBoYW5kbGVPckNvbXBpbGFibGUgPT09ICdudW1iZXInKSB7XG4gICAgICBzdGFjay5wdXNoU21hbGxJbnQoaGFuZGxlT3JDb21waWxhYmxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhY2sucHVzaEpzKGhhbmRsZU9yQ29tcGlsYWJsZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN0YWNrLnB1c2hOdWxsKCk7XG4gICAgc3RhY2sucHVzaE51bGwoKTtcbiAgICBzdGFjay5wdXNoTnVsbCgpO1xuICB9XG59KTtcblxuZnVuY3Rpb24gaXNVbmRlZmluZWRSZWZlcmVuY2UoaW5wdXQ6IFNjb3BlQmxvY2sgfCBSZWZlcmVuY2UpOiBpbnB1dCBpcyBSZWZlcmVuY2Uge1xuICBhc3NlcnQoXG4gICAgQXJyYXkuaXNBcnJheShpbnB1dCkgfHwgaW5wdXQgPT09IFVOREVGSU5FRF9SRUZFUkVOQ0UsXG4gICAgJ2EgcmVmZXJlbmNlIG90aGVyIHRoYW4gVU5ERUZJTkVEX1JFRkVSRU5DRSBpcyBpbGxlZ2FsIGhlcmUnXG4gICk7XG4gIHJldHVybiBpbnB1dCA9PT0gVU5ERUZJTkVEX1JFRkVSRU5DRTtcbn1cblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkhhc0Jsb2NrLCAodm0pID0+IHtcbiAgbGV0IHsgc3RhY2sgfSA9IHZtO1xuICBsZXQgYmxvY2sgPSBjaGVjayhzdGFjay5wb3AoKSwgQ2hlY2tPcHRpb24oQ2hlY2tPcihDaGVja1Njb3BlQmxvY2ssIENoZWNrVW5kZWZpbmVkUmVmZXJlbmNlKSkpO1xuXG4gIGlmIChibG9jayAmJiAhaXNVbmRlZmluZWRSZWZlcmVuY2UoYmxvY2spKSB7XG4gICAgc3RhY2sucHVzaEpzKFRSVUVfUkVGRVJFTkNFKTtcbiAgfSBlbHNlIHtcbiAgICBzdGFjay5wdXNoSnMoRkFMU0VfUkVGRVJFTkNFKTtcbiAgfVxufSk7XG5cbkFQUEVORF9PUENPREVTLmFkZChPcC5IYXNCbG9ja1BhcmFtcywgKHZtKSA9PiB7XG4gIC8vIEZJWE1FKG1tdW4pOiBzaG91bGQgb25seSBuZWVkIHRvIHB1c2ggdGhlIHN5bWJvbCB0YWJsZVxuICBsZXQgYmxvY2sgPSB2bS5zdGFjay5wb3AoKTtcbiAgbGV0IHNjb3BlID0gdm0uc3RhY2sucG9wSnMoKTtcblxuICBjaGVjayhibG9jaywgQ2hlY2tNYXliZShDaGVja09yKENoZWNrSGFuZGxlLCBDaGVja0NvbXBpbGFibGVCbG9jaykpKTtcbiAgY2hlY2soc2NvcGUsIENoZWNrTWF5YmUoQ2hlY2tTY29wZSkpO1xuICBsZXQgdGFibGUgPSBjaGVjayh2bS5zdGFjay5wb3BKcygpLCBDaGVja01heWJlKENoZWNrQmxvY2tTeW1ib2xUYWJsZSkpO1xuXG4gIGxldCBoYXNCbG9ja1BhcmFtcyA9IHRhYmxlICYmIHRhYmxlLnBhcmFtZXRlcnMubGVuZ3RoO1xuICB2bS5zdGFjay5wdXNoSnMoaGFzQmxvY2tQYXJhbXMgPyBUUlVFX1JFRkVSRU5DRSA6IEZBTFNFX1JFRkVSRU5DRSk7XG59KTtcblxuQVBQRU5EX09QQ09ERVMuYWRkKE9wLkNvbmNhdCwgKHZtLCB7IG9wMTogY291bnQgfSkgPT4ge1xuICBsZXQgb3V0OiBBcnJheTxSZWZlcmVuY2U8dW5rbm93bj4+ID0gbmV3IEFycmF5KGNvdW50KTtcblxuICBmb3IgKGxldCBpID0gY291bnQ7IGkgPiAwOyBpLS0pIHtcbiAgICBsZXQgb2Zmc2V0ID0gaSAtIDE7XG4gICAgb3V0W29mZnNldF0gPSBjaGVjayh2bS5zdGFjay5wb3AoKSwgQ2hlY2tSZWZlcmVuY2UpO1xuICB9XG5cbiAgdm0uc3RhY2sucHVzaEpzKGNyZWF0ZUNvbmNhdFJlZihvdXQpKTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -51,3 +51,3 @@ import { NULL_REFERENCE } from '@glimmer/reference';

}
setInternalComponentManager(() => TEMPLATE_ONLY_COMPONENT_MANAGER, TemplateOnlyComponentDefinition.prototype);
setInternalComponentManager(TEMPLATE_ONLY_COMPONENT_MANAGER, TemplateOnlyComponentDefinition.prototype);
/**

@@ -81,2 +81,2 @@ This utility function is used to declare a given component has no backing class. When the rendering engine detects this it

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLFNBQVMsY0FBVCxRQUEwQyxvQkFBMUM7QUFDQSxTQUFTLDJCQUFULFFBQTRDLGtCQUE1QztBQUVBLE1BQU0sWUFBWSxHQUFrQztBQUNsRCxFQUFBLGFBQWEsRUFBRSxLQURtQztBQUVsRCxFQUFBLFVBQVUsRUFBRSxLQUZzQztBQUdsRCxFQUFBLFdBQVcsRUFBRSxLQUhxQztBQUlsRCxFQUFBLFVBQVUsRUFBRSxLQUpzQztBQUtsRCxFQUFBLGFBQWEsRUFBRSxLQUxtQztBQU1sRCxFQUFBLFdBQVcsRUFBRSxLQU5xQztBQU9sRCxFQUFBLFlBQVksRUFBRSxLQVBvQztBQVFsRCxFQUFBLFlBQVksRUFBRSxLQVJvQztBQVNsRCxFQUFBLFVBQVUsRUFBRSxLQVRzQztBQVVsRCxFQUFBLGNBQWMsRUFBRSxLQVZrQztBQVdsRCxFQUFBLE9BQU8sRUFBRSxLQVh5QztBQVlsRCxFQUFBLFdBQVcsRUFBRSxLQVpxQztBQWFsRCxFQUFBLFdBQVcsRUFBRTtBQWJxQyxDQUFwRDtBQWdCQSxPQUFNLE1BQU8sNEJBQVAsQ0FBbUM7QUFDdkMsRUFBQSxlQUFlLEdBQUE7QUFDYixXQUFPLFlBQVA7QUFDRDs7QUFFRCxFQUFBLFlBQVksQ0FBQztBQUFFLElBQUE7QUFBRixHQUFELEVBQTBDO0FBQ3BELFdBQU8sSUFBUDtBQUNEOztBQUVELEVBQUEsT0FBTyxHQUFBO0FBQ0wsV0FBTyxjQUFQO0FBQ0Q7O0FBRUQsRUFBQSxjQUFjLEdBQUE7QUFDWixXQUFPLElBQVA7QUFDRDs7QUFmc0M7QUFrQnpDLE9BQU8sTUFBTSwrQkFBK0IsR0FBRyxJQUFJLDRCQUFKLEVBQXhDLEMsQ0FFUDs7QUFDQSxPQUFNLE1BQU8sK0JBQVAsQ0FBc0M7QUFDMUMsRUFBQSxXQUFBLENBQ1MsVUFBQSxHQUFhLGtDQUR0QixFQUVTLElBQUEsR0FBTyxtQ0FGaEIsRUFFbUQ7QUFEMUMsU0FBQSxVQUFBLEdBQUEsVUFBQTtBQUNBLFNBQUEsSUFBQSxHQUFBLElBQUE7QUFDTDs7QUFFSixFQUFBLFFBQVEsR0FBQTtBQUNOLFdBQU8sS0FBSyxVQUFaO0FBQ0Q7O0FBUnlDO0FBVzVDLDJCQUEyQixDQUN6QixNQUFNLCtCQURtQixFQUV6QiwrQkFBK0IsQ0FBQyxTQUZQLENBQTNCO0FBS0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5QkEsT0FBTSxTQUFVLHFCQUFWLENBQ0osVUFESSxFQUVKLElBRkksRUFFUztBQUViLFNBQU8sSUFBSSwrQkFBSixDQUFvQyxVQUFwQyxFQUFnRCxJQUFoRCxDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcywgSW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOVUxMX1JFRkVSRU5DRSwgUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IHNldEludGVybmFsQ29tcG9uZW50TWFuYWdlciB9IGZyb20gJ0BnbGltbWVyL21hbmFnZXInO1xuXG5jb25zdCBDQVBBQklMSVRJRVM6IEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzID0ge1xuICBkeW5hbWljTGF5b3V0OiBmYWxzZSxcbiAgZHluYW1pY1RhZzogZmFsc2UsXG4gIHByZXBhcmVBcmdzOiBmYWxzZSxcbiAgY3JlYXRlQXJnczogZmFsc2UsXG4gIGF0dHJpYnV0ZUhvb2s6IGZhbHNlLFxuICBlbGVtZW50SG9vazogZmFsc2UsXG4gIGNyZWF0ZUNhbGxlcjogZmFsc2UsXG4gIGR5bmFtaWNTY29wZTogZmFsc2UsXG4gIHVwZGF0ZUhvb2s6IGZhbHNlLFxuICBjcmVhdGVJbnN0YW5jZTogZmFsc2UsXG4gIHdyYXBwZWQ6IGZhbHNlLFxuICB3aWxsRGVzdHJveTogZmFsc2UsXG4gIGhhc1N1Yk93bmVyOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZU9ubHlDb21wb25lbnRNYW5hZ2VyIGltcGxlbWVudHMgSW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyIHtcbiAgZ2V0Q2FwYWJpbGl0aWVzKCk6IEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzIHtcbiAgICByZXR1cm4gQ0FQQUJJTElUSUVTO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKHsgbmFtZSB9OiBUZW1wbGF0ZU9ubHlDb21wb25lbnREZWZpbml0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIGdldFNlbGYoKTogUmVmZXJlbmNlIHtcbiAgICByZXR1cm4gTlVMTF9SRUZFUkVOQ0U7XG4gIH1cblxuICBnZXREZXN0cm95YWJsZSgpOiBudWxsIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgVEVNUExBVEVfT05MWV9DT01QT05FTlRfTUFOQUdFUiA9IG5ldyBUZW1wbGF0ZU9ubHlDb21wb25lbnRNYW5hZ2VyKCk7XG5cbi8vIFRoaXMgaXMgb25seSBleHBvcnRlZCBmb3IgdHlwZXMsIGRvbid0IHVzZSB0aGlzIGNsYXNzIGRpcmVjdGx5XG5leHBvcnQgY2xhc3MgVGVtcGxhdGVPbmx5Q29tcG9uZW50RGVmaW5pdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBtb2R1bGVOYW1lID0gJ0BnbGltbWVyL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5JyxcbiAgICBwdWJsaWMgbmFtZSA9ICcodW5rbm93biB0ZW1wbGF0ZS1vbmx5IGNvbXBvbmVudCknXG4gICkge31cblxuICB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5tb2R1bGVOYW1lO1xuICB9XG59XG5cbnNldEludGVybmFsQ29tcG9uZW50TWFuYWdlcihcbiAgKCkgPT4gVEVNUExBVEVfT05MWV9DT01QT05FTlRfTUFOQUdFUixcbiAgVGVtcGxhdGVPbmx5Q29tcG9uZW50RGVmaW5pdGlvbi5wcm90b3R5cGVcbik7XG5cbi8qKlxuICBUaGlzIHV0aWxpdHkgZnVuY3Rpb24gaXMgdXNlZCB0byBkZWNsYXJlIGEgZ2l2ZW4gY29tcG9uZW50IGhhcyBubyBiYWNraW5nIGNsYXNzLiBXaGVuIHRoZSByZW5kZXJpbmcgZW5naW5lIGRldGVjdHMgdGhpcyBpdFxuICBpcyBhYmxlIHRvIHBlcmZvcm0gYSBudW1iZXIgb2Ygb3B0aW1pemF0aW9ucy4gVGVtcGxhdGVzIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCBgdGVtcGxhdGVPbmx5KClgIHdpbGwgYmUgcmVuZGVyZWQgX2FzIGlzX1xuICB3aXRob3V0IGFkZGluZyBhIHdyYXBwaW5nIGA8ZGl2PmAgKG9yIGFueSBvZiB0aGUgb3RoZXIgZWxlbWVudCBjdXN0b21pemF0aW9uIGJlaGF2aW9ycyBvZiBbQGVtYmVyL2NvbXBvbmVudF0oL2VtYmVyL3JlbGVhc2UvY2xhc3Nlcy9Db21wb25lbnQpKS5cbiAgU3BlY2lmaWNhbGx5LCB0aGlzIG1lYW5zIHRoYXQgdGhlIHRlbXBsYXRlIHdpbGwgYmUgcmVuZGVyZWQgYXMgXCJvdXRlciBIVE1MXCIuXG5cbiAgSW4gZ2VuZXJhbCwgdGhpcyBtZXRob2Qgd2lsbCBiZSB1c2VkIGJ5IGJ1aWxkIHRpbWUgdG9vbGluZyBhbmQgd291bGQgbm90IGJlIGRpcmVjdGx5IHdyaXR0ZW4gaW4gYW4gYXBwbGljYXRpb24uIEhvd2V2ZXIsXG4gIGF0IHRpbWVzIGl0IG1heSBiZSB1c2VmdWwgdG8gdXNlIGRpcmVjdGx5IHRvIGxldmVyYWdlIHRoZSBcIm91dGVyIEhUTUxcIiBzZW1hbnRpY3MgbWVudGlvbmVkIGFib3ZlLiBGb3IgZXhhbXBsZSwgaWYgYW4gYWRkb24gd291bGQgbGlrZVxuICB0byB1c2UgdGhlc2Ugc2VtYW50aWNzIGZvciBpdHMgdGVtcGxhdGVzIGJ1dCBjYW5ub3QgYmUgY2VydGFpbiBpdCB3aWxsIG9ubHkgYmUgY29uc3VtZWQgYnkgYXBwbGljYXRpb25zIHRoYXQgaGF2ZSBlbmFibGVkIHRoZVxuICBgdGVtcGxhdGUtb25seS1nbGltbWVyLWNvbXBvbmVudHNgIG9wdGlvbmFsIGZlYXR1cmUuXG5cbiAgQGV4YW1wbGVcblxuICBgYGBqc1xuICBpbXBvcnQgeyB0ZW1wbGF0ZU9ubHlDb21wb25lbnQgfSBmcm9tICdAZ2xpbW1lci9ydW50aW1lJztcblxuICBleHBvcnQgZGVmYXVsdCB0ZW1wbGF0ZU9ubHlDb21wb25lbnQoKTtcbiAgYGBgXG5cbiAgQHB1YmxpY1xuICBAbWV0aG9kIHRlbXBsYXRlT25seVxuICBAcGFyYW0ge1N0cmluZ30gbW9kdWxlTmFtZSB0aGUgbW9kdWxlIG5hbWUgdGhhdCB0aGUgdGVtcGxhdGUgb25seSBjb21wb25lbnQgcmVwcmVzZW50cywgdGhpcyB3aWxsIGJlIHVzZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlc1xuICBAY2F0ZWdvcnkgRU1CRVJfR0xJTU1FUl9TRVRfQ09NUE9ORU5UX1RFTVBMQVRFXG4qL1xuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGVPbmx5Q29tcG9uZW50KFxuICBtb2R1bGVOYW1lPzogc3RyaW5nLFxuICBuYW1lPzogc3RyaW5nXG4pOiBUZW1wbGF0ZU9ubHlDb21wb25lbnREZWZpbml0aW9uIHtcbiAgcmV0dXJuIG5ldyBUZW1wbGF0ZU9ubHlDb21wb25lbnREZWZpbml0aW9uKG1vZHVsZU5hbWUsIG5hbWUpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2NvbXBvbmVudC90ZW1wbGF0ZS1vbmx5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLFNBQVMsY0FBVCxRQUEwQyxvQkFBMUM7QUFDQSxTQUFTLDJCQUFULFFBQTRDLGtCQUE1QztBQUVBLE1BQU0sWUFBWSxHQUFrQztBQUNsRCxFQUFBLGFBQWEsRUFBRSxLQURtQztBQUVsRCxFQUFBLFVBQVUsRUFBRSxLQUZzQztBQUdsRCxFQUFBLFdBQVcsRUFBRSxLQUhxQztBQUlsRCxFQUFBLFVBQVUsRUFBRSxLQUpzQztBQUtsRCxFQUFBLGFBQWEsRUFBRSxLQUxtQztBQU1sRCxFQUFBLFdBQVcsRUFBRSxLQU5xQztBQU9sRCxFQUFBLFlBQVksRUFBRSxLQVBvQztBQVFsRCxFQUFBLFlBQVksRUFBRSxLQVJvQztBQVNsRCxFQUFBLFVBQVUsRUFBRSxLQVRzQztBQVVsRCxFQUFBLGNBQWMsRUFBRSxLQVZrQztBQVdsRCxFQUFBLE9BQU8sRUFBRSxLQVh5QztBQVlsRCxFQUFBLFdBQVcsRUFBRSxLQVpxQztBQWFsRCxFQUFBLFdBQVcsRUFBRTtBQWJxQyxDQUFwRDtBQWdCQSxPQUFNLE1BQU8sNEJBQVAsQ0FBbUM7QUFDdkMsRUFBQSxlQUFlLEdBQUE7QUFDYixXQUFPLFlBQVA7QUFDRDs7QUFFRCxFQUFBLFlBQVksQ0FBQztBQUFFLElBQUE7QUFBRixHQUFELEVBQTBDO0FBQ3BELFdBQU8sSUFBUDtBQUNEOztBQUVELEVBQUEsT0FBTyxHQUFBO0FBQ0wsV0FBTyxjQUFQO0FBQ0Q7O0FBRUQsRUFBQSxjQUFjLEdBQUE7QUFDWixXQUFPLElBQVA7QUFDRDs7QUFmc0M7QUFrQnpDLE9BQU8sTUFBTSwrQkFBK0IsR0FBRyxJQUFJLDRCQUFKLEVBQXhDLEMsQ0FFUDs7QUFDQSxPQUFNLE1BQU8sK0JBQVAsQ0FBc0M7QUFDMUMsRUFBQSxXQUFBLENBQ1MsVUFBQSxHQUFhLGtDQUR0QixFQUVTLElBQUEsR0FBTyxtQ0FGaEIsRUFFbUQ7QUFEMUMsU0FBQSxVQUFBLEdBQUEsVUFBQTtBQUNBLFNBQUEsSUFBQSxHQUFBLElBQUE7QUFDTDs7QUFFSixFQUFBLFFBQVEsR0FBQTtBQUNOLFdBQU8sS0FBSyxVQUFaO0FBQ0Q7O0FBUnlDO0FBVzVDLDJCQUEyQixDQUN6QiwrQkFEeUIsRUFFekIsK0JBQStCLENBQUMsU0FGUCxDQUEzQjtBQUtBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLE9BQU0sU0FBVSxxQkFBVixDQUNKLFVBREksRUFFSixJQUZJLEVBRVM7QUFFYixTQUFPLElBQUksK0JBQUosQ0FBb0MsVUFBcEMsRUFBZ0QsSUFBaEQsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXRpZXMsIEludGVybmFsQ29tcG9uZW50TWFuYWdlciB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTlVMTF9SRUZFUkVOQ0UsIFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBzZXRJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIgfSBmcm9tICdAZ2xpbW1lci9tYW5hZ2VyJztcblxuY29uc3QgQ0FQQUJJTElUSUVTOiBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyA9IHtcbiAgZHluYW1pY0xheW91dDogZmFsc2UsXG4gIGR5bmFtaWNUYWc6IGZhbHNlLFxuICBwcmVwYXJlQXJnczogZmFsc2UsXG4gIGNyZWF0ZUFyZ3M6IGZhbHNlLFxuICBhdHRyaWJ1dGVIb29rOiBmYWxzZSxcbiAgZWxlbWVudEhvb2s6IGZhbHNlLFxuICBjcmVhdGVDYWxsZXI6IGZhbHNlLFxuICBkeW5hbWljU2NvcGU6IGZhbHNlLFxuICB1cGRhdGVIb29rOiBmYWxzZSxcbiAgY3JlYXRlSW5zdGFuY2U6IGZhbHNlLFxuICB3cmFwcGVkOiBmYWxzZSxcbiAgd2lsbERlc3Ryb3k6IGZhbHNlLFxuICBoYXNTdWJPd25lcjogZmFsc2UsXG59O1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVPbmx5Q29tcG9uZW50TWFuYWdlciBpbXBsZW1lbnRzIEludGVybmFsQ29tcG9uZW50TWFuYWdlciB7XG4gIGdldENhcGFiaWxpdGllcygpOiBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyB7XG4gICAgcmV0dXJuIENBUEFCSUxJVElFUztcbiAgfVxuXG4gIGdldERlYnVnTmFtZSh7IG5hbWUgfTogVGVtcGxhdGVPbmx5Q29tcG9uZW50RGVmaW5pdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuICBnZXRTZWxmKCk6IFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIE5VTExfUkVGRVJFTkNFO1xuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoKTogbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFRFTVBMQVRFX09OTFlfQ09NUE9ORU5UX01BTkFHRVIgPSBuZXcgVGVtcGxhdGVPbmx5Q29tcG9uZW50TWFuYWdlcigpO1xuXG4vLyBUaGlzIGlzIG9ubHkgZXhwb3J0ZWQgZm9yIHR5cGVzLCBkb24ndCB1c2UgdGhpcyBjbGFzcyBkaXJlY3RseVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlT25seUNvbXBvbmVudERlZmluaXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbW9kdWxlTmFtZSA9ICdAZ2xpbW1lci9jb21wb25lbnQvdGVtcGxhdGUtb25seScsXG4gICAgcHVibGljIG5hbWUgPSAnKHVua25vd24gdGVtcGxhdGUtb25seSBjb21wb25lbnQpJ1xuICApIHt9XG5cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kdWxlTmFtZTtcbiAgfVxufVxuXG5zZXRJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIoXG4gIFRFTVBMQVRFX09OTFlfQ09NUE9ORU5UX01BTkFHRVIsXG4gIFRlbXBsYXRlT25seUNvbXBvbmVudERlZmluaXRpb24ucHJvdG90eXBlXG4pO1xuXG4vKipcbiAgVGhpcyB1dGlsaXR5IGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGVjbGFyZSBhIGdpdmVuIGNvbXBvbmVudCBoYXMgbm8gYmFja2luZyBjbGFzcy4gV2hlbiB0aGUgcmVuZGVyaW5nIGVuZ2luZSBkZXRlY3RzIHRoaXMgaXRcbiAgaXMgYWJsZSB0byBwZXJmb3JtIGEgbnVtYmVyIG9mIG9wdGltaXphdGlvbnMuIFRlbXBsYXRlcyB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggYHRlbXBsYXRlT25seSgpYCB3aWxsIGJlIHJlbmRlcmVkIF9hcyBpc19cbiAgd2l0aG91dCBhZGRpbmcgYSB3cmFwcGluZyBgPGRpdj5gIChvciBhbnkgb2YgdGhlIG90aGVyIGVsZW1lbnQgY3VzdG9taXphdGlvbiBiZWhhdmlvcnMgb2YgW0BlbWJlci9jb21wb25lbnRdKC9lbWJlci9yZWxlYXNlL2NsYXNzZXMvQ29tcG9uZW50KSkuXG4gIFNwZWNpZmljYWxseSwgdGhpcyBtZWFucyB0aGF0IHRoZSB0ZW1wbGF0ZSB3aWxsIGJlIHJlbmRlcmVkIGFzIFwib3V0ZXIgSFRNTFwiLlxuXG4gIEluIGdlbmVyYWwsIHRoaXMgbWV0aG9kIHdpbGwgYmUgdXNlZCBieSBidWlsZCB0aW1lIHRvb2xpbmcgYW5kIHdvdWxkIG5vdCBiZSBkaXJlY3RseSB3cml0dGVuIGluIGFuIGFwcGxpY2F0aW9uLiBIb3dldmVyLFxuICBhdCB0aW1lcyBpdCBtYXkgYmUgdXNlZnVsIHRvIHVzZSBkaXJlY3RseSB0byBsZXZlcmFnZSB0aGUgXCJvdXRlciBIVE1MXCIgc2VtYW50aWNzIG1lbnRpb25lZCBhYm92ZS4gRm9yIGV4YW1wbGUsIGlmIGFuIGFkZG9uIHdvdWxkIGxpa2VcbiAgdG8gdXNlIHRoZXNlIHNlbWFudGljcyBmb3IgaXRzIHRlbXBsYXRlcyBidXQgY2Fubm90IGJlIGNlcnRhaW4gaXQgd2lsbCBvbmx5IGJlIGNvbnN1bWVkIGJ5IGFwcGxpY2F0aW9ucyB0aGF0IGhhdmUgZW5hYmxlZCB0aGVcbiAgYHRlbXBsYXRlLW9ubHktZ2xpbW1lci1jb21wb25lbnRzYCBvcHRpb25hbCBmZWF0dXJlLlxuXG4gIEBleGFtcGxlXG5cbiAgYGBganNcbiAgaW1wb3J0IHsgdGVtcGxhdGVPbmx5Q29tcG9uZW50IH0gZnJvbSAnQGdsaW1tZXIvcnVudGltZSc7XG5cbiAgZXhwb3J0IGRlZmF1bHQgdGVtcGxhdGVPbmx5Q29tcG9uZW50KCk7XG4gIGBgYFxuXG4gIEBwdWJsaWNcbiAgQG1ldGhvZCB0ZW1wbGF0ZU9ubHlcbiAgQHBhcmFtIHtTdHJpbmd9IG1vZHVsZU5hbWUgdGhlIG1vZHVsZSBuYW1lIHRoYXQgdGhlIHRlbXBsYXRlIG9ubHkgY29tcG9uZW50IHJlcHJlc2VudHMsIHRoaXMgd2lsbCBiZSB1c2VkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXNcbiAgQGNhdGVnb3J5IEVNQkVSX0dMSU1NRVJfU0VUX0NPTVBPTkVOVF9URU1QTEFURVxuKi9cblxuZXhwb3J0IGZ1bmN0aW9uIHRlbXBsYXRlT25seUNvbXBvbmVudChcbiAgbW9kdWxlTmFtZT86IHN0cmluZyxcbiAgbmFtZT86IHN0cmluZ1xuKTogVGVtcGxhdGVPbmx5Q29tcG9uZW50RGVmaW5pdGlvbiB7XG4gIHJldHVybiBuZXcgVGVtcGxhdGVPbmx5Q29tcG9uZW50RGVmaW5pdGlvbihtb2R1bGVOYW1lLCBuYW1lKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -43,3 +43,3 @@ import { DEBUG } from '@glimmer/env';

const owner = getOwner(context);
const internalManager = getInternalHelperManager(owner, definition); // TODO: figure out why assert isn't using the TS assert thing
const internalManager = getInternalHelperManager(definition); // TODO: figure out why assert isn't using the TS assert thing

@@ -54,3 +54,3 @@ if (DEBUG && !internalManager) {

const manager = internalManager;
const manager = internalManager.getDelegateFor(owner);
let args = new SimpleArgsProxy(context, computeArgs);

@@ -80,2 +80,2 @@ let bucket = manager.createHelper(definition, args);

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2hlbHBlcnMvaW52b2tlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsS0FBVCxRQUFzQixjQUF0QjtBQUNBLFNBQWdCLFdBQWhCLEVBQTZCLFFBQTdCLFFBQTZDLG9CQUE3QztBQUVBLFNBQVMsYUFBVCxRQUE4QixlQUE5QjtBQUNBLFNBQVMsd0JBQVQsRUFBbUMsY0FBbkMsRUFBbUQsUUFBbkQsUUFBbUUsa0JBQW5FO0FBRUEsU0FBUyxVQUFULEVBQXFCLFdBQXJCLEVBQWtDLGdCQUFsQyxRQUEwRCxpQkFBMUQ7QUFDQSxTQUFTLFFBQVQsUUFBeUIsZ0JBQXpCO0FBQ0EsU0FBUyx5QkFBVCxFQUFvQyxXQUFwQyxFQUFpRCxZQUFqRCxRQUFxRSxzQkFBckU7QUFFQSxJQUFJLFdBQVcsR0FBRyxLQUFLLEdBQUcsSUFBSSxPQUFKLEVBQUgsR0FBK0QsU0FBdEY7O0FBRUEsU0FBUyxPQUFULENBQWlCLEtBQWpCLEVBQXVDO0FBQ3JDLFNBQU8sUUFBUSxDQUFDLEtBQUssR0FBRyxXQUFZLENBQUMsR0FBYixDQUFpQixLQUFqQixDQUFILEdBQThCLEtBQUssQ0FBQyxTQUExQyxDQUFmO0FBQ0Q7O0FBRUQsTUFBTSxlQUFOLENBQXFCO0FBR25CLEVBQUEsV0FBQSxDQUNFLE9BREYsRUFFRSxXQUFBLEdBQXVELE1BQU0sVUFGL0QsRUFFeUU7QUFFdkUsUUFBSSxTQUFTLEdBQUcsV0FBVyxDQUFDLE1BQU0sV0FBVyxDQUFDLE9BQUQsQ0FBbEIsQ0FBM0I7O0FBRUEsUUFBSSxLQUFKLEVBQVc7QUFDVCxNQUFBLFdBQVksQ0FBQyxHQUFiLENBQWlCLElBQWpCLEVBQXVCLFNBQXZCO0FBQ0EsTUFBQSxNQUFNLENBQUMsTUFBUCxDQUFjLElBQWQ7QUFDRCxLQUhELE1BR087QUFDTCxXQUFLLFNBQUwsR0FBaUIsU0FBakI7QUFDRDtBQUNGOztBQUVELE1BQUksS0FBSixHQUFTO0FBQ1AsV0FBTyxPQUFPLENBQUMsSUFBRCxDQUFQLENBQWMsS0FBZCxJQUF1QixXQUE5QjtBQUNEOztBQUVELE1BQUksVUFBSixHQUFjO0FBQ1osV0FBTyxPQUFPLENBQUMsSUFBRCxDQUFQLENBQWMsVUFBZCxJQUE0QixnQkFBbkM7QUFDRDs7QUF2QmtCLEMsQ0EwQnJCOzs7QUFFQSxPQUFNLFNBQVUsWUFBVixDQUNKLE9BREksRUFFSixVQUZJLEVBR0osV0FISSxFQUdpRDtBQUVyRCxNQUFJLEtBQUssS0FBSyxPQUFPLE9BQVAsS0FBbUIsUUFBbkIsSUFBK0IsT0FBTyxLQUFLLElBQWhELENBQVQsRUFBZ0U7QUFDOUQsVUFBTSxJQUFJLEtBQUosQ0FDSixzRkFBc0YsT0FBTyxFQUR6RixDQUFOO0FBR0Q7O0FBRUQsUUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQUQsQ0FBdEI7QUFDQSxRQUFNLGVBQWUsR0FBRyx3QkFBd0IsQ0FBQyxLQUFELEVBQVEsVUFBUixDQUFoRCxDQVRxRCxDQVdyRDs7QUFDQSxNQUFJLEtBQUssSUFBSSxDQUFDLGVBQWQsRUFBK0I7QUFDN0IsVUFBTSxJQUFJLEtBQUosQ0FDSixrS0FBa0ssYUFBYyxDQUM5SyxVQUQ4SyxDQUUvSyxpRkFIRyxDQUFOO0FBS0Q7O0FBRUQsTUFBSSxLQUFLLElBQUksT0FBTyxlQUFQLEtBQTJCLFVBQXhDLEVBQW9EO0FBQ2xELFVBQU0sSUFBSSxLQUFKLENBQ0osK0hBREksQ0FBTjtBQUdEOztBQUVELFFBQU0sT0FBTyxHQUFHLGVBQWhCO0FBQ0EsTUFBSSxJQUFJLEdBQUcsSUFBSSxlQUFKLENBQW9CLE9BQXBCLEVBQTZCLFdBQTdCLENBQVg7QUFDQSxNQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBUixDQUFxQixVQUFyQixFQUFpQyxJQUFqQyxDQUFiO0FBRUEsTUFBSSxLQUFKOztBQUVBLE1BQUksUUFBUSxDQUFDLE9BQUQsQ0FBWixFQUF1QjtBQUNyQixJQUFBLEtBQUssR0FBRyxXQUFXLENBQUMsTUFBSztBQUN2QixVQUFJLEtBQUssS0FBSyxZQUFZLENBQUMsS0FBRCxDQUFaLElBQXVCLFdBQVcsQ0FBQyxLQUFELENBQXZDLENBQVQsRUFBMEQ7QUFDeEQsY0FBTSxJQUFJLEtBQUosQ0FDSixpR0FESSxDQUFOO0FBR0Q7O0FBRUQsYUFBTyxPQUFPLENBQUMsUUFBUixDQUFpQixNQUFqQixDQUFQO0FBQ0QsS0FSa0IsQ0FBbkI7QUFVQSxJQUFBLHlCQUF5QixDQUFDLE9BQUQsRUFBVSxLQUFWLENBQXpCO0FBQ0QsR0FaRCxNQVlPO0FBQ0wsVUFBTSxJQUFJLEtBQUosQ0FBVSw4REFBVixDQUFOO0FBQ0Q7O0FBRUQsTUFBSSxjQUFjLENBQUMsT0FBRCxDQUFsQixFQUE2QjtBQUMzQixRQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBUixDQUF1QixNQUF2QixDQUFsQjtBQUVBLElBQUEseUJBQXlCLENBQUMsS0FBRCxFQUFRLFdBQVIsQ0FBekI7QUFDRDs7QUFFRCxTQUFPLEtBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7IENhY2hlLCBjcmVhdGVDYWNoZSwgZ2V0VmFsdWUgfSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHsgQXJndW1lbnRzLCBIZWxwZXJNYW5hZ2VyIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBkZWJ1Z1RvU3RyaW5nIH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBnZXRJbnRlcm5hbEhlbHBlck1hbmFnZXIsIGhhc0Rlc3Ryb3lhYmxlLCBoYXNWYWx1ZSB9IGZyb20gJ0BnbGltbWVyL21hbmFnZXInO1xuXG5pbXBvcnQgeyBFTVBUWV9BUkdTLCBFTVBUWV9OQU1FRCwgRU1QVFlfUE9TSVRJT05BTCB9IGZyb20gJy4uL3ZtL2FyZ3VtZW50cyc7XG5pbXBvcnQgeyBnZXRPd25lciB9IGZyb20gJ0BnbGltbWVyL293bmVyJztcbmltcG9ydCB7IGFzc29jaWF0ZURlc3Ryb3lhYmxlQ2hpbGQsIGlzRGVzdHJveWVkLCBpc0Rlc3Ryb3lpbmcgfSBmcm9tICdAZ2xpbW1lci9kZXN0cm95YWJsZSc7XG5cbmxldCBBUkdTX0NBQ0hFUyA9IERFQlVHID8gbmV3IFdlYWtNYXA8U2ltcGxlQXJnc1Byb3h5LCBDYWNoZTxQYXJ0aWFsPEFyZ3VtZW50cz4+PigpIDogdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBnZXRBcmdzKHByb3h5OiBTaW1wbGVBcmdzUHJveHkpOiBQYXJ0aWFsPEFyZ3VtZW50cz4ge1xuICByZXR1cm4gZ2V0VmFsdWUoREVCVUcgPyBBUkdTX0NBQ0hFUyEuZ2V0KHByb3h5KSEgOiBwcm94eS5hcmdzQ2FjaGUhKSE7XG59XG5cbmNsYXNzIFNpbXBsZUFyZ3NQcm94eSB7XG4gIGFyZ3NDYWNoZT86IENhY2hlPFBhcnRpYWw8QXJndW1lbnRzPj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29udGV4dDogb2JqZWN0LFxuICAgIGNvbXB1dGVBcmdzOiAoY29udGV4dDogb2JqZWN0KSA9PiBQYXJ0aWFsPEFyZ3VtZW50cz4gPSAoKSA9PiBFTVBUWV9BUkdTXG4gICkge1xuICAgIGxldCBhcmdzQ2FjaGUgPSBjcmVhdGVDYWNoZSgoKSA9PiBjb21wdXRlQXJncyhjb250ZXh0KSk7XG5cbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIEFSR1NfQ0FDSEVTIS5zZXQodGhpcywgYXJnc0NhY2hlKTtcbiAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXJnc0NhY2hlID0gYXJnc0NhY2hlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBuYW1lZCgpIHtcbiAgICByZXR1cm4gZ2V0QXJncyh0aGlzKS5uYW1lZCB8fCBFTVBUWV9OQU1FRDtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbmFsKCkge1xuICAgIHJldHVybiBnZXRBcmdzKHRoaXMpLnBvc2l0aW9uYWwgfHwgRU1QVFlfUE9TSVRJT05BTDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy9cblxuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUhlbHBlcihcbiAgY29udGV4dDogb2JqZWN0LFxuICBkZWZpbml0aW9uOiBvYmplY3QsXG4gIGNvbXB1dGVBcmdzPzogKGNvbnRleHQ6IG9iamVjdCkgPT4gUGFydGlhbDxBcmd1bWVudHM+XG4pOiBDYWNoZTx1bmtub3duPiB7XG4gIGlmIChERUJVRyAmJiAodHlwZW9mIGNvbnRleHQgIT09ICdvYmplY3QnIHx8IGNvbnRleHQgPT09IG51bGwpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEV4cGVjdGVkIGEgY29udGV4dCBvYmplY3QgdG8gYmUgcGFzc2VkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8gaW52b2tlSGVscGVyLCBnb3QgJHtjb250ZXh0fWBcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgb3duZXIgPSBnZXRPd25lcihjb250ZXh0KTtcbiAgY29uc3QgaW50ZXJuYWxNYW5hZ2VyID0gZ2V0SW50ZXJuYWxIZWxwZXJNYW5hZ2VyKG93bmVyLCBkZWZpbml0aW9uKSE7XG5cbiAgLy8gVE9ETzogZmlndXJlIG91dCB3aHkgYXNzZXJ0IGlzbid0IHVzaW5nIHRoZSBUUyBhc3NlcnQgdGhpbmdcbiAgaWYgKERFQlVHICYmICFpbnRlcm5hbE1hbmFnZXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRXhwZWN0ZWQgYSBoZWxwZXIgZGVmaW5pdGlvbiB0byBiZSBwYXNzZWQgYXMgdGhlIHNlY29uZCBwYXJhbWV0ZXIgdG8gaW52b2tlSGVscGVyLCBidXQgbm8gaGVscGVyIG1hbmFnZXIgd2FzIGZvdW5kLiBUaGUgZGVmaW5pdGlvbiB2YWx1ZSB0aGF0IHdhcyBwYXNzZWQgd2FzIFxcYCR7ZGVidWdUb1N0cmluZyEoXG4gICAgICAgIGRlZmluaXRpb25cbiAgICAgICl9XFxgLiBEaWQgeW91IHVzZSBzZXRIZWxwZXJNYW5hZ2VyIHRvIGFzc29jaWF0ZSBhIGhlbHBlciBtYW5hZ2VyIHdpdGggdGhpcyB2YWx1ZT9gXG4gICAgKTtcbiAgfVxuXG4gIGlmIChERUJVRyAmJiB0eXBlb2YgaW50ZXJuYWxNYW5hZ2VyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0ZvdW5kIGEgaGVscGVyIG1hbmFnZXIsIGJ1dCBpdCB3YXMgYW4gaW50ZXJuYWwgYnVpbHQtaW4gaGVscGVyIG1hbmFnZXIuIGBpbnZva2VIZWxwZXJgIGRvZXMgbm90IHN1cHBvcnQgaW50ZXJuYWwgaGVscGVycyB5ZXQuJ1xuICAgICk7XG4gIH1cblxuICBjb25zdCBtYW5hZ2VyID0gaW50ZXJuYWxNYW5hZ2VyIGFzIEhlbHBlck1hbmFnZXI8dW5rbm93bj47XG4gIGxldCBhcmdzID0gbmV3IFNpbXBsZUFyZ3NQcm94eShjb250ZXh0LCBjb21wdXRlQXJncyk7XG4gIGxldCBidWNrZXQgPSBtYW5hZ2VyLmNyZWF0ZUhlbHBlcihkZWZpbml0aW9uLCBhcmdzKTtcblxuICBsZXQgY2FjaGU6IENhY2hlPHVua25vd24+O1xuXG4gIGlmIChoYXNWYWx1ZShtYW5hZ2VyKSkge1xuICAgIGNhY2hlID0gY3JlYXRlQ2FjaGUoKCkgPT4ge1xuICAgICAgaWYgKERFQlVHICYmIChpc0Rlc3Ryb3lpbmcoY2FjaGUpIHx8IGlzRGVzdHJveWVkKGNhY2hlKSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBZb3UgYXR0ZW1wdGVkIHRvIGdldCB0aGUgdmFsdWUgb2YgYSBoZWxwZXIgYWZ0ZXIgdGhlIGhlbHBlciB3YXMgZGVzdHJveWVkLCB3aGljaCBpcyBub3QgYWxsb3dlZGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hbmFnZXIuZ2V0VmFsdWUoYnVja2V0KTtcbiAgICB9KTtcblxuICAgIGFzc29jaWF0ZURlc3Ryb3lhYmxlQ2hpbGQoY29udGV4dCwgY2FjaGUpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignVE9ETzogdW5yZWFjaGFibGUsIHRvIGJlIGltcGxlbWVudGVkIHdpdGggaGFzU2NoZWR1bGVkRWZmZWN0Jyk7XG4gIH1cblxuICBpZiAoaGFzRGVzdHJveWFibGUobWFuYWdlcikpIHtcbiAgICBsZXQgZGVzdHJveWFibGUgPSBtYW5hZ2VyLmdldERlc3Ryb3lhYmxlKGJ1Y2tldCk7XG5cbiAgICBhc3NvY2lhdGVEZXN0cm95YWJsZUNoaWxkKGNhY2hlLCBkZXN0cm95YWJsZSk7XG4gIH1cblxuICByZXR1cm4gY2FjaGU7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2hlbHBlcnMvaW52b2tlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsS0FBVCxRQUFzQixjQUF0QjtBQUNBLFNBQWdCLFdBQWhCLEVBQTZCLFFBQTdCLFFBQTZDLG9CQUE3QztBQUVBLFNBQVMsYUFBVCxRQUE4QixlQUE5QjtBQUNBLFNBQVMsd0JBQVQsRUFBbUMsY0FBbkMsRUFBbUQsUUFBbkQsUUFBbUUsa0JBQW5FO0FBRUEsU0FBUyxVQUFULEVBQXFCLFdBQXJCLEVBQWtDLGdCQUFsQyxRQUEwRCxpQkFBMUQ7QUFDQSxTQUFTLFFBQVQsUUFBeUIsZ0JBQXpCO0FBQ0EsU0FBUyx5QkFBVCxFQUFvQyxXQUFwQyxFQUFpRCxZQUFqRCxRQUFxRSxzQkFBckU7QUFFQSxJQUFJLFdBQVcsR0FBRyxLQUFLLEdBQUcsSUFBSSxPQUFKLEVBQUgsR0FBK0QsU0FBdEY7O0FBRUEsU0FBUyxPQUFULENBQWlCLEtBQWpCLEVBQXVDO0FBQ3JDLFNBQU8sUUFBUSxDQUFDLEtBQUssR0FBRyxXQUFZLENBQUMsR0FBYixDQUFpQixLQUFqQixDQUFILEdBQThCLEtBQUssQ0FBQyxTQUExQyxDQUFmO0FBQ0Q7O0FBRUQsTUFBTSxlQUFOLENBQXFCO0FBR25CLEVBQUEsV0FBQSxDQUNFLE9BREYsRUFFRSxXQUFBLEdBQXVELE1BQU0sVUFGL0QsRUFFeUU7QUFFdkUsUUFBSSxTQUFTLEdBQUcsV0FBVyxDQUFDLE1BQU0sV0FBVyxDQUFDLE9BQUQsQ0FBbEIsQ0FBM0I7O0FBRUEsUUFBSSxLQUFKLEVBQVc7QUFDVCxNQUFBLFdBQVksQ0FBQyxHQUFiLENBQWlCLElBQWpCLEVBQXVCLFNBQXZCO0FBQ0EsTUFBQSxNQUFNLENBQUMsTUFBUCxDQUFjLElBQWQ7QUFDRCxLQUhELE1BR087QUFDTCxXQUFLLFNBQUwsR0FBaUIsU0FBakI7QUFDRDtBQUNGOztBQUVELE1BQUksS0FBSixHQUFTO0FBQ1AsV0FBTyxPQUFPLENBQUMsSUFBRCxDQUFQLENBQWMsS0FBZCxJQUF1QixXQUE5QjtBQUNEOztBQUVELE1BQUksVUFBSixHQUFjO0FBQ1osV0FBTyxPQUFPLENBQUMsSUFBRCxDQUFQLENBQWMsVUFBZCxJQUE0QixnQkFBbkM7QUFDRDs7QUF2QmtCLEMsQ0EwQnJCOzs7QUFFQSxPQUFNLFNBQVUsWUFBVixDQUNKLE9BREksRUFFSixVQUZJLEVBR0osV0FISSxFQUdpRDtBQUVyRCxNQUFJLEtBQUssS0FBSyxPQUFPLE9BQVAsS0FBbUIsUUFBbkIsSUFBK0IsT0FBTyxLQUFLLElBQWhELENBQVQsRUFBZ0U7QUFDOUQsVUFBTSxJQUFJLEtBQUosQ0FDSixzRkFBc0YsT0FBTyxFQUR6RixDQUFOO0FBR0Q7O0FBRUQsUUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQUQsQ0FBdEI7QUFDQSxRQUFNLGVBQWUsR0FBRyx3QkFBd0IsQ0FBQyxVQUFELENBQWhELENBVHFELENBV3JEOztBQUNBLE1BQUksS0FBSyxJQUFJLENBQUMsZUFBZCxFQUErQjtBQUM3QixVQUFNLElBQUksS0FBSixDQUNKLGtLQUFrSyxhQUFjLENBQzlLLFVBRDhLLENBRS9LLGlGQUhHLENBQU47QUFLRDs7QUFFRCxNQUFJLEtBQUssSUFBSSxPQUFPLGVBQVAsS0FBMkIsVUFBeEMsRUFBb0Q7QUFDbEQsVUFBTSxJQUFJLEtBQUosQ0FDSiwrSEFESSxDQUFOO0FBR0Q7O0FBRUQsUUFBTSxPQUFPLEdBQUksZUFBaUQsQ0FBQyxjQUFsRCxDQUFpRSxLQUFqRSxDQUFqQjtBQUNBLE1BQUksSUFBSSxHQUFHLElBQUksZUFBSixDQUFvQixPQUFwQixFQUE2QixXQUE3QixDQUFYO0FBQ0EsTUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVIsQ0FBcUIsVUFBckIsRUFBaUMsSUFBakMsQ0FBYjtBQUVBLE1BQUksS0FBSjs7QUFFQSxNQUFJLFFBQVEsQ0FBQyxPQUFELENBQVosRUFBdUI7QUFDckIsSUFBQSxLQUFLLEdBQUcsV0FBVyxDQUFDLE1BQUs7QUFDdkIsVUFBSSxLQUFLLEtBQUssWUFBWSxDQUFDLEtBQUQsQ0FBWixJQUF1QixXQUFXLENBQUMsS0FBRCxDQUF2QyxDQUFULEVBQTBEO0FBQ3hELGNBQU0sSUFBSSxLQUFKLENBQ0osaUdBREksQ0FBTjtBQUdEOztBQUVELGFBQU8sT0FBTyxDQUFDLFFBQVIsQ0FBaUIsTUFBakIsQ0FBUDtBQUNELEtBUmtCLENBQW5CO0FBVUEsSUFBQSx5QkFBeUIsQ0FBQyxPQUFELEVBQVUsS0FBVixDQUF6QjtBQUNELEdBWkQsTUFZTztBQUNMLFVBQU0sSUFBSSxLQUFKLENBQVUsOERBQVYsQ0FBTjtBQUNEOztBQUVELE1BQUksY0FBYyxDQUFDLE9BQUQsQ0FBbEIsRUFBNkI7QUFDM0IsUUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQVIsQ0FBdUIsTUFBdkIsQ0FBbEI7QUFFQSxJQUFBLHlCQUF5QixDQUFDLEtBQUQsRUFBUSxXQUFSLENBQXpCO0FBQ0Q7O0FBRUQsU0FBTyxLQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQgeyBDYWNoZSwgY3JlYXRlQ2FjaGUsIGdldFZhbHVlIH0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcbmltcG9ydCB7IEFyZ3VtZW50cywgSW50ZXJuYWxIZWxwZXJNYW5hZ2VyIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBkZWJ1Z1RvU3RyaW5nIH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBnZXRJbnRlcm5hbEhlbHBlck1hbmFnZXIsIGhhc0Rlc3Ryb3lhYmxlLCBoYXNWYWx1ZSB9IGZyb20gJ0BnbGltbWVyL21hbmFnZXInO1xuXG5pbXBvcnQgeyBFTVBUWV9BUkdTLCBFTVBUWV9OQU1FRCwgRU1QVFlfUE9TSVRJT05BTCB9IGZyb20gJy4uL3ZtL2FyZ3VtZW50cyc7XG5pbXBvcnQgeyBnZXRPd25lciB9IGZyb20gJ0BnbGltbWVyL293bmVyJztcbmltcG9ydCB7IGFzc29jaWF0ZURlc3Ryb3lhYmxlQ2hpbGQsIGlzRGVzdHJveWVkLCBpc0Rlc3Ryb3lpbmcgfSBmcm9tICdAZ2xpbW1lci9kZXN0cm95YWJsZSc7XG5cbmxldCBBUkdTX0NBQ0hFUyA9IERFQlVHID8gbmV3IFdlYWtNYXA8U2ltcGxlQXJnc1Byb3h5LCBDYWNoZTxQYXJ0aWFsPEFyZ3VtZW50cz4+PigpIDogdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBnZXRBcmdzKHByb3h5OiBTaW1wbGVBcmdzUHJveHkpOiBQYXJ0aWFsPEFyZ3VtZW50cz4ge1xuICByZXR1cm4gZ2V0VmFsdWUoREVCVUcgPyBBUkdTX0NBQ0hFUyEuZ2V0KHByb3h5KSEgOiBwcm94eS5hcmdzQ2FjaGUhKSE7XG59XG5cbmNsYXNzIFNpbXBsZUFyZ3NQcm94eSB7XG4gIGFyZ3NDYWNoZT86IENhY2hlPFBhcnRpYWw8QXJndW1lbnRzPj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29udGV4dDogb2JqZWN0LFxuICAgIGNvbXB1dGVBcmdzOiAoY29udGV4dDogb2JqZWN0KSA9PiBQYXJ0aWFsPEFyZ3VtZW50cz4gPSAoKSA9PiBFTVBUWV9BUkdTXG4gICkge1xuICAgIGxldCBhcmdzQ2FjaGUgPSBjcmVhdGVDYWNoZSgoKSA9PiBjb21wdXRlQXJncyhjb250ZXh0KSk7XG5cbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIEFSR1NfQ0FDSEVTIS5zZXQodGhpcywgYXJnc0NhY2hlKTtcbiAgICAgIE9iamVjdC5mcmVlemUodGhpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXJnc0NhY2hlID0gYXJnc0NhY2hlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBuYW1lZCgpIHtcbiAgICByZXR1cm4gZ2V0QXJncyh0aGlzKS5uYW1lZCB8fCBFTVBUWV9OQU1FRDtcbiAgfVxuXG4gIGdldCBwb3NpdGlvbmFsKCkge1xuICAgIHJldHVybiBnZXRBcmdzKHRoaXMpLnBvc2l0aW9uYWwgfHwgRU1QVFlfUE9TSVRJT05BTDtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy9cblxuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUhlbHBlcihcbiAgY29udGV4dDogb2JqZWN0LFxuICBkZWZpbml0aW9uOiBvYmplY3QsXG4gIGNvbXB1dGVBcmdzPzogKGNvbnRleHQ6IG9iamVjdCkgPT4gUGFydGlhbDxBcmd1bWVudHM+XG4pOiBDYWNoZTx1bmtub3duPiB7XG4gIGlmIChERUJVRyAmJiAodHlwZW9mIGNvbnRleHQgIT09ICdvYmplY3QnIHx8IGNvbnRleHQgPT09IG51bGwpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYEV4cGVjdGVkIGEgY29udGV4dCBvYmplY3QgdG8gYmUgcGFzc2VkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8gaW52b2tlSGVscGVyLCBnb3QgJHtjb250ZXh0fWBcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgb3duZXIgPSBnZXRPd25lcihjb250ZXh0KTtcbiAgY29uc3QgaW50ZXJuYWxNYW5hZ2VyID0gZ2V0SW50ZXJuYWxIZWxwZXJNYW5hZ2VyKGRlZmluaXRpb24pITtcblxuICAvLyBUT0RPOiBmaWd1cmUgb3V0IHdoeSBhc3NlcnQgaXNuJ3QgdXNpbmcgdGhlIFRTIGFzc2VydCB0aGluZ1xuICBpZiAoREVCVUcgJiYgIWludGVybmFsTWFuYWdlcikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBFeHBlY3RlZCBhIGhlbHBlciBkZWZpbml0aW9uIHRvIGJlIHBhc3NlZCBhcyB0aGUgc2Vjb25kIHBhcmFtZXRlciB0byBpbnZva2VIZWxwZXIsIGJ1dCBubyBoZWxwZXIgbWFuYWdlciB3YXMgZm91bmQuIFRoZSBkZWZpbml0aW9uIHZhbHVlIHRoYXQgd2FzIHBhc3NlZCB3YXMgXFxgJHtkZWJ1Z1RvU3RyaW5nIShcbiAgICAgICAgZGVmaW5pdGlvblxuICAgICAgKX1cXGAuIERpZCB5b3UgdXNlIHNldEhlbHBlck1hbmFnZXIgdG8gYXNzb2NpYXRlIGEgaGVscGVyIG1hbmFnZXIgd2l0aCB0aGlzIHZhbHVlP2BcbiAgICApO1xuICB9XG5cbiAgaWYgKERFQlVHICYmIHR5cGVvZiBpbnRlcm5hbE1hbmFnZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnRm91bmQgYSBoZWxwZXIgbWFuYWdlciwgYnV0IGl0IHdhcyBhbiBpbnRlcm5hbCBidWlsdC1pbiBoZWxwZXIgbWFuYWdlci4gYGludm9rZUhlbHBlcmAgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcm5hbCBoZWxwZXJzIHlldC4nXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IG1hbmFnZXIgPSAoaW50ZXJuYWxNYW5hZ2VyIGFzIEludGVybmFsSGVscGVyTWFuYWdlcjxvYmplY3Q+KS5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG4gIGxldCBhcmdzID0gbmV3IFNpbXBsZUFyZ3NQcm94eShjb250ZXh0LCBjb21wdXRlQXJncyk7XG4gIGxldCBidWNrZXQgPSBtYW5hZ2VyLmNyZWF0ZUhlbHBlcihkZWZpbml0aW9uLCBhcmdzKTtcblxuICBsZXQgY2FjaGU6IENhY2hlPHVua25vd24+O1xuXG4gIGlmIChoYXNWYWx1ZShtYW5hZ2VyKSkge1xuICAgIGNhY2hlID0gY3JlYXRlQ2FjaGUoKCkgPT4ge1xuICAgICAgaWYgKERFQlVHICYmIChpc0Rlc3Ryb3lpbmcoY2FjaGUpIHx8IGlzRGVzdHJveWVkKGNhY2hlKSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBZb3UgYXR0ZW1wdGVkIHRvIGdldCB0aGUgdmFsdWUgb2YgYSBoZWxwZXIgYWZ0ZXIgdGhlIGhlbHBlciB3YXMgZGVzdHJveWVkLCB3aGljaCBpcyBub3QgYWxsb3dlZGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hbmFnZXIuZ2V0VmFsdWUoYnVja2V0KTtcbiAgICB9KTtcblxuICAgIGFzc29jaWF0ZURlc3Ryb3lhYmxlQ2hpbGQoY29udGV4dCwgY2FjaGUpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignVE9ETzogdW5yZWFjaGFibGUsIHRvIGJlIGltcGxlbWVudGVkIHdpdGggaGFzU2NoZWR1bGVkRWZmZWN0Jyk7XG4gIH1cblxuICBpZiAoaGFzRGVzdHJveWFibGUobWFuYWdlcikpIHtcbiAgICBsZXQgZGVzdHJveWFibGUgPSBtYW5hZ2VyLmdldERlc3Ryb3lhYmxlKGJ1Y2tldCk7XG5cbiAgICBhc3NvY2lhdGVEZXN0cm95YWJsZUNoaWxkKGNhY2hlLCBkZXN0cm95YWJsZSk7XG4gIH1cblxuICByZXR1cm4gY2FjaGU7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -27,4 +27,4 @@ import { DEBUG } from '@glimmer/env';

curriedDefinition = curry(constants.resolvedComponent(resolvedDefinition, value), owner, args);
} else if (typeof value === 'object' && value !== null) {
curriedDefinition = curry(constants.component(owner, value), owner, args);
} else if (typeof value === 'function' || typeof value === 'object' && value !== null) {
curriedDefinition = curry(constants.component(value), owner, args);
} else {

@@ -38,2 +38,2 @@ curriedDefinition = null;

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlZmVyZW5jZXMvY3VycnktY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsS0FBVCxRQUFzQixjQUF0QjtBQVVBLFNBQVMsZ0JBQVQsRUFBc0MsV0FBdEMsUUFBeUQsb0JBQXpEO0FBQ0EsU0FFRSxLQUZGLEVBR0UsNEJBSEYsUUFJTyxnQ0FKUDtBQU1BLGVBQWMsU0FBVSx1QkFBVixDQUNaLEtBRFksRUFFWixRQUZZLEVBR1osU0FIWSxFQUlaLEtBSlksRUFLWixJQUxZLEVBTVosUUFOWSxFQU1LO0FBRWpCLE1BQUksU0FBSixFQUFxQyxpQkFBckM7QUFFQSxTQUFPLGdCQUFnQixDQUFDLE1BQUs7QUFDM0IsUUFBSSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUQsQ0FBdkI7O0FBRUEsUUFBSSxLQUFLLEtBQUssU0FBZCxFQUF5QjtBQUN2QixhQUFPLGlCQUFQO0FBQ0Q7O0FBRUQsUUFBSSw0QkFBNEIsQ0FBQyxLQUFELENBQWhDLEVBQXlDO0FBQ3ZDLE1BQUEsaUJBQWlCLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFELEVBQVEsS0FBUixFQUFlLElBQWYsQ0FBUixHQUErQixJQUF2RDtBQUNELEtBRkQsTUFFTyxJQUFJLE9BQU8sS0FBUCxLQUFpQixRQUFqQixJQUE2QixLQUFqQyxFQUF3QztBQUM3QyxVQUFJLEtBQUssSUFBSSxRQUFiLEVBQXVCO0FBQ3JCLGNBQU0sSUFBSSxLQUFKLENBQ0osd0VBQXdFLEtBQUssa0xBRHpFLENBQU47QUFHRDs7QUFFRCxVQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxlQUFULENBQXlCLEtBQXpCLEVBQWdDLEtBQWhDLENBQXpCOztBQUVBLFVBQUksS0FBSyxJQUFJLENBQUMsa0JBQWQsRUFBa0M7QUFDaEMsY0FBTSxJQUFJLEtBQUosQ0FDSiwwQkFBMEIsSUFBSSxrRUFEMUIsQ0FBTjtBQUdEOztBQUVELE1BQUEsaUJBQWlCLEdBQUcsS0FBSyxDQUN2QixTQUFTLENBQUMsaUJBQVYsQ0FBNEIsa0JBQTVCLEVBQWlELEtBQWpELENBRHVCLEVBRXZCLEtBRnVCLEVBR3ZCLElBSHVCLENBQXpCO0FBS0QsS0FwQk0sTUFvQkEsSUFBSSxPQUFPLEtBQVAsS0FBaUIsUUFBakIsSUFBNkIsS0FBSyxLQUFLLElBQTNDLEVBQWlEO0FBQ3RELE1BQUEsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFWLENBQW9CLEtBQXBCLEVBQTJCLEtBQTNCLENBQUQsRUFBb0MsS0FBcEMsRUFBMkMsSUFBM0MsQ0FBekI7QUFDRCxLQUZNLE1BRUE7QUFDTCxNQUFBLGlCQUFpQixHQUFHLElBQXBCO0FBQ0Q7O0FBRUQsSUFBQSxTQUFTLEdBQUcsS0FBWjtBQUVBLFdBQU8saUJBQVA7QUFDRCxHQXRDc0IsQ0FBdkI7QUF1Q0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgRGljdCxcbiAgTWF5YmUsXG4gIE9wdGlvbixcbiAgUnVudGltZVJlc29sdmVyLFxuICBPd25lcixcbiAgUmVzb2x1dGlvblRpbWVDb25zdGFudHMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29tcHV0ZVJlZiwgUmVmZXJlbmNlLCB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQge1xuICBDdXJyaWVkQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgY3VycnksXG4gIGlzQ3VycmllZENvbXBvbmVudERlZmluaXRpb24sXG59IGZyb20gJy4uL2NvbXBvbmVudC9jdXJyaWVkLWNvbXBvbmVudCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUN1cnJ5Q29tcG9uZW50UmVmKFxuICBpbm5lcjogUmVmZXJlbmNlLFxuICByZXNvbHZlcjogUnVudGltZVJlc29sdmVyLFxuICBjb25zdGFudHM6IFJlc29sdXRpb25UaW1lQ29uc3RhbnRzLFxuICBvd25lcjogT3duZXIsXG4gIGFyZ3M6IE9wdGlvbjxDYXB0dXJlZEFyZ3VtZW50cz4sXG4gIGlzU3RyaWN0OiBib29sZWFuXG4pIHtcbiAgbGV0IGxhc3RWYWx1ZTogTWF5YmU8RGljdD4gfCBzdHJpbmcsIGN1cnJpZWREZWZpbml0aW9uOiBPcHRpb248Q3VycmllZENvbXBvbmVudERlZmluaXRpb24+O1xuXG4gIHJldHVybiBjcmVhdGVDb21wdXRlUmVmKCgpID0+IHtcbiAgICBsZXQgdmFsdWUgPSB2YWx1ZUZvclJlZihpbm5lcikgYXMgTWF5YmU8RGljdD4gfCBzdHJpbmc7XG5cbiAgICBpZiAodmFsdWUgPT09IGxhc3RWYWx1ZSkge1xuICAgICAgcmV0dXJuIGN1cnJpZWREZWZpbml0aW9uO1xuICAgIH1cblxuICAgIGlmIChpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uKHZhbHVlKSkge1xuICAgICAgY3VycmllZERlZmluaXRpb24gPSBhcmdzID8gY3VycnkodmFsdWUsIG93bmVyLCBhcmdzKSA6IGFyZ3M7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlKSB7XG4gICAgICBpZiAoREVCVUcgJiYgaXNTdHJpY3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBdHRlbXB0ZWQgdG8gcmVzb2x2ZSBhIGR5bmFtaWMgY29tcG9uZW50IHdpdGggYSBzdHJpbmcgZGVmaW5pdGlvbiwgXFxgJHt2YWx1ZX1cXGAgaW4gYSBzdHJpY3QgbW9kZSB0ZW1wbGF0ZS4gSW4gc3RyaWN0IG1vZGUsIHVzaW5nIHN0cmluZ3MgdG8gcmVzb2x2ZSBjb21wb25lbnQgZGVmaW5pdGlvbnMgaXMgcHJvaGliaXRlZC4gWW91IGNhbiBpbnN0ZWFkIGltcG9ydCB0aGUgY29tcG9uZW50IGRlZmluaXRpb24gYW5kIHVzZSBpdCBkaXJlY3RseS5gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGxldCByZXNvbHZlZERlZmluaXRpb24gPSByZXNvbHZlci5sb29rdXBDb21wb25lbnQodmFsdWUsIG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFyZXNvbHZlZERlZmluaXRpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBBdHRlbXB0ZWQgdG8gcmVzb2x2ZSBcXGAke25hbWV9XFxgLCB3aGljaCB3YXMgZXhwZWN0ZWQgdG8gYmUgYSBjb21wb25lbnQsIGJ1dCBub3RoaW5nIHdhcyBmb3VuZC5gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGN1cnJpZWREZWZpbml0aW9uID0gY3VycnkoXG4gICAgICAgIGNvbnN0YW50cy5yZXNvbHZlZENvbXBvbmVudChyZXNvbHZlZERlZmluaXRpb24hLCB2YWx1ZSksXG4gICAgICAgIG93bmVyLFxuICAgICAgICBhcmdzXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgY3VycmllZERlZmluaXRpb24gPSBjdXJyeShjb25zdGFudHMuY29tcG9uZW50KG93bmVyLCB2YWx1ZSksIG93bmVyLCBhcmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmllZERlZmluaXRpb24gPSBudWxsO1xuICAgIH1cblxuICAgIGxhc3RWYWx1ZSA9IHZhbHVlO1xuXG4gICAgcmV0dXJuIGN1cnJpZWREZWZpbml0aW9uO1xuICB9KTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlZmVyZW5jZXMvY3VycnktY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsS0FBVCxRQUFzQixjQUF0QjtBQVVBLFNBQVMsZ0JBQVQsRUFBc0MsV0FBdEMsUUFBeUQsb0JBQXpEO0FBQ0EsU0FFRSxLQUZGLEVBR0UsNEJBSEYsUUFJTyxnQ0FKUDtBQU1BLGVBQWMsU0FBVSx1QkFBVixDQUNaLEtBRFksRUFFWixRQUZZLEVBR1osU0FIWSxFQUlaLEtBSlksRUFLWixJQUxZLEVBTVosUUFOWSxFQU1LO0FBRWpCLE1BQUksU0FBSixFQUFxQyxpQkFBckM7QUFFQSxTQUFPLGdCQUFnQixDQUFDLE1BQUs7QUFDM0IsUUFBSSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUQsQ0FBdkI7O0FBRUEsUUFBSSxLQUFLLEtBQUssU0FBZCxFQUF5QjtBQUN2QixhQUFPLGlCQUFQO0FBQ0Q7O0FBRUQsUUFBSSw0QkFBNEIsQ0FBQyxLQUFELENBQWhDLEVBQXlDO0FBQ3ZDLE1BQUEsaUJBQWlCLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFELEVBQVEsS0FBUixFQUFlLElBQWYsQ0FBUixHQUErQixJQUF2RDtBQUNELEtBRkQsTUFFTyxJQUFJLE9BQU8sS0FBUCxLQUFpQixRQUFqQixJQUE2QixLQUFqQyxFQUF3QztBQUM3QyxVQUFJLEtBQUssSUFBSSxRQUFiLEVBQXVCO0FBQ3JCLGNBQU0sSUFBSSxLQUFKLENBQ0osd0VBQXdFLEtBQUssa0xBRHpFLENBQU47QUFHRDs7QUFFRCxVQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxlQUFULENBQXlCLEtBQXpCLEVBQWdDLEtBQWhDLENBQXpCOztBQUVBLFVBQUksS0FBSyxJQUFJLENBQUMsa0JBQWQsRUFBa0M7QUFDaEMsY0FBTSxJQUFJLEtBQUosQ0FDSiwwQkFBMEIsSUFBSSxrRUFEMUIsQ0FBTjtBQUdEOztBQUVELE1BQUEsaUJBQWlCLEdBQUcsS0FBSyxDQUN2QixTQUFTLENBQUMsaUJBQVYsQ0FBNEIsa0JBQTVCLEVBQWlELEtBQWpELENBRHVCLEVBRXZCLEtBRnVCLEVBR3ZCLElBSHVCLENBQXpCO0FBS0QsS0FwQk0sTUFvQkEsSUFBSSxPQUFPLEtBQVAsS0FBaUIsVUFBakIsSUFBZ0MsT0FBTyxLQUFQLEtBQWlCLFFBQWpCLElBQTZCLEtBQUssS0FBSyxJQUEzRSxFQUFrRjtBQUN2RixNQUFBLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBVixDQUFvQixLQUFwQixDQUFELEVBQTZCLEtBQTdCLEVBQW9DLElBQXBDLENBQXpCO0FBQ0QsS0FGTSxNQUVBO0FBQ0wsTUFBQSxpQkFBaUIsR0FBRyxJQUFwQjtBQUNEOztBQUVELElBQUEsU0FBUyxHQUFHLEtBQVo7QUFFQSxXQUFPLGlCQUFQO0FBQ0QsR0F0Q3NCLENBQXZCO0FBdUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQ2FwdHVyZWRBcmd1bWVudHMsXG4gIERpY3QsXG4gIE1heWJlLFxuICBPcHRpb24sXG4gIFJ1bnRpbWVSZXNvbHZlcixcbiAgT3duZXIsXG4gIFJlc29sdXRpb25UaW1lQ29uc3RhbnRzLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUNvbXB1dGVSZWYsIFJlZmVyZW5jZSwgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHtcbiAgQ3VycmllZENvbXBvbmVudERlZmluaXRpb24sXG4gIGN1cnJ5LFxuICBpc0N1cnJpZWRDb21wb25lbnREZWZpbml0aW9uLFxufSBmcm9tICcuLi9jb21wb25lbnQvY3VycmllZC1jb21wb25lbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDdXJyeUNvbXBvbmVudFJlZihcbiAgaW5uZXI6IFJlZmVyZW5jZSxcbiAgcmVzb2x2ZXI6IFJ1bnRpbWVSZXNvbHZlcixcbiAgY29uc3RhbnRzOiBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyxcbiAgb3duZXI6IE93bmVyLFxuICBhcmdzOiBPcHRpb248Q2FwdHVyZWRBcmd1bWVudHM+LFxuICBpc1N0cmljdDogYm9vbGVhblxuKSB7XG4gIGxldCBsYXN0VmFsdWU6IE1heWJlPERpY3Q+IHwgc3RyaW5nLCBjdXJyaWVkRGVmaW5pdGlvbjogT3B0aW9uPEN1cnJpZWRDb21wb25lbnREZWZpbml0aW9uPjtcblxuICByZXR1cm4gY3JlYXRlQ29tcHV0ZVJlZigoKSA9PiB7XG4gICAgbGV0IHZhbHVlID0gdmFsdWVGb3JSZWYoaW5uZXIpIGFzIE1heWJlPERpY3Q+IHwgc3RyaW5nO1xuXG4gICAgaWYgKHZhbHVlID09PSBsYXN0VmFsdWUpIHtcbiAgICAgIHJldHVybiBjdXJyaWVkRGVmaW5pdGlvbjtcbiAgICB9XG5cbiAgICBpZiAoaXNDdXJyaWVkQ29tcG9uZW50RGVmaW5pdGlvbih2YWx1ZSkpIHtcbiAgICAgIGN1cnJpZWREZWZpbml0aW9uID0gYXJncyA/IGN1cnJ5KHZhbHVlLCBvd25lciwgYXJncykgOiBhcmdzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSkge1xuICAgICAgaWYgKERFQlVHICYmIGlzU3RyaWN0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQXR0ZW1wdGVkIHRvIHJlc29sdmUgYSBkeW5hbWljIGNvbXBvbmVudCB3aXRoIGEgc3RyaW5nIGRlZmluaXRpb24sIFxcYCR7dmFsdWV9XFxgIGluIGEgc3RyaWN0IG1vZGUgdGVtcGxhdGUuIEluIHN0cmljdCBtb2RlLCB1c2luZyBzdHJpbmdzIHRvIHJlc29sdmUgY29tcG9uZW50IGRlZmluaXRpb25zIGlzIHByb2hpYml0ZWQuIFlvdSBjYW4gaW5zdGVhZCBpbXBvcnQgdGhlIGNvbXBvbmVudCBkZWZpbml0aW9uIGFuZCB1c2UgaXQgZGlyZWN0bHkuYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBsZXQgcmVzb2x2ZWREZWZpbml0aW9uID0gcmVzb2x2ZXIubG9va3VwQ29tcG9uZW50KHZhbHVlLCBvd25lcik7XG5cbiAgICAgIGlmIChERUJVRyAmJiAhcmVzb2x2ZWREZWZpbml0aW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQXR0ZW1wdGVkIHRvIHJlc29sdmUgXFxgJHtuYW1lfVxcYCwgd2hpY2ggd2FzIGV4cGVjdGVkIHRvIGJlIGEgY29tcG9uZW50LCBidXQgbm90aGluZyB3YXMgZm91bmQuYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjdXJyaWVkRGVmaW5pdGlvbiA9IGN1cnJ5KFxuICAgICAgICBjb25zdGFudHMucmVzb2x2ZWRDb21wb25lbnQocmVzb2x2ZWREZWZpbml0aW9uISwgdmFsdWUpLFxuICAgICAgICBvd25lcixcbiAgICAgICAgYXJnc1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkpIHtcbiAgICAgIGN1cnJpZWREZWZpbml0aW9uID0gY3VycnkoY29uc3RhbnRzLmNvbXBvbmVudCh2YWx1ZSksIG93bmVyLCBhcmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmllZERlZmluaXRpb24gPSBudWxsO1xuICAgIH1cblxuICAgIGxhc3RWYWx1ZSA9IHZhbHVlO1xuXG4gICAgcmV0dXJuIGN1cnJpZWREZWZpbml0aW9uO1xuICB9KTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

@@ -55,3 +55,3 @@ import { childRefFor, createConstRef } from '@glimmer/reference';

const argNames = argList.map(([name]) => `@${name}`);
let reified = vm[CONSTANTS].component(owner, definition);
let reified = vm[CONSTANTS].component(definition, false, owner);
vm.pushFrame(); // Push blocks on to the stack, three stack values per block

@@ -101,2 +101,2 @@

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxTQUFTLFdBQVQsRUFBc0IsY0FBdEIsUUFBdUQsb0JBQXZEO0FBQ0EsU0FBaUIsWUFBakIsUUFBcUMsZUFBckM7QUFDQSxTQUFTLElBQVQsRUFBZSxTQUFmLFFBQWdDLFdBQWhDO0FBQ0EsT0FBTyxFQUFQLE1BQStCLGFBQS9CO0FBQ0EsU0FBUyxnQkFBVCxRQUFpQyxTQUFqQztBQUNBLFNBQVMsYUFBVCxRQUE4QixlQUE5QjtBQUNBLFNBQVMsS0FBVCxRQUFzQixjQUF0QjtBQUNBLFNBQVMsd0JBQVQsUUFBeUMsb0JBQXpDOztBQUVBLE1BQU0sb0JBQU4sQ0FBMEI7QUFDeEIsRUFBQSxXQUFBLENBQW9CLEVBQXBCLEVBQWtDO0FBQWQsU0FBQSxFQUFBLEdBQUEsRUFBQTtBQUFrQjs7QUFDdEMsRUFBQSxJQUFJLEdBQUE7QUFDRixXQUFPLEtBQUssRUFBTCxDQUFRLElBQVIsRUFBUDtBQUNEOztBQUVELEVBQUEsSUFBSSxHQUFBO0FBQ0YsUUFBSSxLQUFKLEVBQVc7QUFDVCxhQUFPLHdCQUF5QixDQUFDLE1BQU0sS0FBSyxFQUFMLENBQVEsT0FBUixFQUFQLEVBQTBCLG9CQUExQixDQUFoQztBQUNELEtBRkQsTUFFTztBQUNMLGFBQU8sS0FBSyxFQUFMLENBQVEsT0FBUixFQUFQO0FBQ0Q7QUFDRjs7QUFadUI7O0FBZTFCLE9BQU0sU0FBVSxVQUFWLENBQXFCLEdBQXJCLEVBQXVDLFFBQXZDLEVBQWlFO0FBQ3JFLE1BQUksTUFBSjtBQUVBLEVBQUEsYUFBYSxDQUFDLEdBQUQsRUFBTSxNQUFPLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBVCxFQUF0QixDQUFiO0FBRUEsU0FBTyxNQUFQO0FBQ0Q7QUFFRCxPQUFNLFNBQVUsVUFBVixDQUNKLE9BREksRUFFSixPQUZJLEVBR0osS0FISSxFQUlKLElBSkksRUFLSixXQUxJLEVBTUosTUFOSSxFQU9KLFlBQUEsR0FBNkIsSUFBSSxnQkFBSixFQVB6QixFQU8rQztBQUVuRCxNQUFJLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQVAsQ0FBZSxPQUFmLENBQUQsQ0FBekI7QUFDQSxNQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBUCxDQUFtQixPQUFuQixDQUEyQixNQUE1QztBQUNBLE1BQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFILENBQVcsT0FBWCxFQUFvQixPQUFwQixFQUE2QjtBQUNwQyxJQUFBLElBRG9DO0FBRXBDLElBQUEsWUFGb0M7QUFHcEMsSUFBQSxXQUhvQztBQUlwQyxJQUFBLE1BSm9DO0FBS3BDLElBQUEsVUFMb0M7QUFNcEMsSUFBQTtBQU5vQyxHQUE3QixDQUFUO0FBUUEsU0FBTyxJQUFJLG9CQUFKLENBQXlCLEVBQXpCLENBQVA7QUFDRDs7QUFFRCxTQUFTLGdCQUFULENBQ0UsRUFERixFQUVFLE9BRkYsRUFHRSxLQUhGLEVBSUUsVUFKRixFQUtFLElBTEYsRUFLaUM7QUFFL0I7QUFDQTtBQUNBLFFBQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFQLENBQVksSUFBWixFQUFrQixHQUFsQixDQUF1QixHQUFELElBQVMsQ0FBQyxHQUFELEVBQU0sSUFBSSxDQUFDLEdBQUQsQ0FBVixDQUEvQixDQUFoQjtBQUVBLFFBQU0sVUFBVSxHQUFHLENBQUMsTUFBRCxFQUFTLE1BQVQsRUFBaUIsT0FBakIsQ0FBbkIsQ0FOK0IsQ0FPL0I7O0FBQ0EsUUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQVIsQ0FBWSxDQUFDLENBQUMsSUFBRCxDQUFELEtBQVksSUFBSSxJQUFJLEVBQWhDLENBQWpCO0FBRUEsTUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLFNBQUQsQ0FBRixDQUFjLFNBQWQsQ0FBd0IsS0FBeEIsRUFBK0IsVUFBL0IsQ0FBZDtBQUVBLEVBQUEsRUFBRSxDQUFDLFNBQUgsR0FaK0IsQ0FjL0I7O0FBQ0EsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFiLEVBQWdCLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFuQyxFQUEyQyxDQUFDLEVBQTVDLEVBQWdEO0FBQzlDLElBQUEsRUFBRSxDQUFDLEtBQUgsQ0FBUyxRQUFUO0FBQ0Q7O0FBRUQsRUFBQSxFQUFFLENBQUMsS0FBSCxDQUFTLFFBQVQsR0FuQitCLENBcUIvQjs7QUFDQSxFQUFBLE9BQU8sQ0FBQyxPQUFSLENBQWdCLENBQUMsR0FBRyxTQUFILENBQUQsS0FBa0I7QUFDaEMsSUFBQSxFQUFFLENBQUMsS0FBSCxDQUFTLE1BQVQsQ0FBZ0IsU0FBaEI7QUFDRCxHQUZELEVBdEIrQixDQTBCL0I7O0FBQ0EsRUFBQSxFQUFFLENBQUMsSUFBRCxDQUFGLENBQVMsS0FBVCxDQUFlLEVBQUUsQ0FBQyxLQUFsQixFQUF5QixRQUF6QixFQUFtQyxVQUFuQyxFQUErQyxDQUEvQyxFQUFrRCxJQUFsRDtBQUVBLFFBQU0sVUFBVSxHQUNkLE9BQU8sQ0FBQyxVQURWO0FBSUEsUUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFYLENBQW1CLE9BQW5CLENBQUQsQ0FBakM7QUFDQSxRQUFNLFVBQVUsR0FBRztBQUFFLElBQUEsTUFBTSxFQUFFLFlBQVY7QUFBd0IsSUFBQSxXQUFXLEVBQUUsVUFBVSxDQUFDO0FBQWhELEdBQW5CLENBbEMrQixDQW9DL0I7QUFDQTs7QUFDQSxFQUFBLEVBQUUsQ0FBQyxLQUFILENBQVMsTUFBVCxDQUFnQixFQUFFLENBQUMsSUFBRCxDQUFsQjtBQUNBLEVBQUEsRUFBRSxDQUFDLEtBQUgsQ0FBUyxNQUFULENBQWdCLFVBQWhCO0FBQ0EsRUFBQSxFQUFFLENBQUMsS0FBSCxDQUFTLE1BQVQsQ0FBZ0IsT0FBaEI7QUFFQSxTQUFPLElBQUksb0JBQUosQ0FBeUIsRUFBekIsQ0FBUDtBQUNEOztBQUVELE9BQU0sU0FBVSxlQUFWLENBQ0osT0FESSxFQUVKLFdBRkksRUFHSixPQUhJLEVBSUosS0FKSSxFQUtKLFVBTEksRUFNSixJQUFBLEdBQWdDLEVBTjVCLEVBT0osWUFBQSxHQUE2QixJQUFJLGdCQUFKLEVBUHpCLEVBTytDO0FBRW5ELE1BQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFILENBQ1AsT0FETyxFQUVQO0FBQUUsSUFBQSxXQUFGO0FBQWUsSUFBQSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQVIsQ0FBZSxJQUF0QztBQUE0QyxJQUFBLFlBQTVDO0FBQTBELElBQUE7QUFBMUQsR0FGTyxFQUdQLE9BSE8sQ0FBVDtBQUtBLFNBQU8sZ0JBQWdCLENBQUMsRUFBRCxFQUFLLE9BQUwsRUFBYyxLQUFkLEVBQXFCLFVBQXJCLEVBQWlDLGlCQUFpQixDQUFDLElBQUQsQ0FBbEQsQ0FBdkI7QUFDRDs7QUFFRCxTQUFTLGlCQUFULENBQTJCLE1BQTNCLEVBQTBEO0FBQ3hELFFBQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxNQUFELEVBQVMsTUFBVCxDQUEzQjtBQUVBLFNBQU8sTUFBTSxDQUFDLElBQVAsQ0FBWSxNQUFaLEVBQW9CLE1BQXBCLENBQTJCLENBQUMsR0FBRCxFQUFNLEdBQU4sS0FBYTtBQUM3QyxJQUFBLEdBQUcsQ0FBQyxHQUFELENBQUgsR0FBVyxXQUFXLENBQUMsSUFBRCxFQUFPLEdBQVAsQ0FBdEI7QUFDQSxXQUFPLEdBQVA7QUFDRCxHQUhNLEVBR0osRUFISSxDQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEeW5hbWljU2NvcGUsXG4gIEVudmlyb25tZW50LFxuICBSZW5kZXJSZXN1bHQsXG4gIFJpY2hJdGVyYXRvclJlc3VsdCxcbiAgVGVtcGxhdGVJdGVyYXRvcixcbiAgUnVudGltZUNvbnRleHQsXG4gIEVsZW1lbnRCdWlsZGVyLFxuICBDb21waWxhYmxlUHJvZ3JhbSxcbiAgQ29tcGlsZVRpbWVDb21waWxhdGlvbkNvbnRleHQsXG4gIENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgT3duZXIsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY2hpbGRSZWZGb3IsIGNyZWF0ZUNvbnN0UmVmLCBSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgZXhwZWN0LCB1bndyYXBIYW5kbGUgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IEFSR1MsIENPTlNUQU5UUyB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgVk0sIHsgSW50ZXJuYWxWTSB9IGZyb20gJy4vdm0vYXBwZW5kJztcbmltcG9ydCB7IER5bmFtaWNTY29wZUltcGwgfSBmcm9tICcuL3Njb3BlJztcbmltcG9ydCB7IGluVHJhbnNhY3Rpb24gfSBmcm9tICcuL2Vudmlyb25tZW50JztcbmltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7IHJ1bkluVHJhY2tpbmdUcmFuc2FjdGlvbiB9IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5cbmNsYXNzIFRlbXBsYXRlSXRlcmF0b3JJbXBsIGltcGxlbWVudHMgVGVtcGxhdGVJdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdm06IEludGVybmFsVk0pIHt9XG4gIG5leHQoKTogUmljaEl0ZXJhdG9yUmVzdWx0PG51bGwsIFJlbmRlclJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnZtLm5leHQoKTtcbiAgfVxuXG4gIHN5bmMoKTogUmVuZGVyUmVzdWx0IHtcbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIHJldHVybiBydW5JblRyYWNraW5nVHJhbnNhY3Rpb24hKCgpID0+IHRoaXMudm0uZXhlY3V0ZSgpLCAnLSBXaGlsZSByZW5kZXJpbmc6Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnZtLmV4ZWN1dGUoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclN5bmMoZW52OiBFbnZpcm9ubWVudCwgaXRlcmF0b3I6IFRlbXBsYXRlSXRlcmF0b3IpOiBSZW5kZXJSZXN1bHQge1xuICBsZXQgcmVzdWx0OiBSZW5kZXJSZXN1bHQ7XG5cbiAgaW5UcmFuc2FjdGlvbihlbnYsICgpID0+IChyZXN1bHQgPSBpdGVyYXRvci5zeW5jKCkpKTtcblxuICByZXR1cm4gcmVzdWx0ITtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlck1haW4oXG4gIHJ1bnRpbWU6IFJ1bnRpbWVDb250ZXh0LFxuICBjb250ZXh0OiBDb21waWxlVGltZUNvbXBpbGF0aW9uQ29udGV4dCxcbiAgb3duZXI6IE93bmVyLFxuICBzZWxmOiBSZWZlcmVuY2UsXG4gIHRyZWVCdWlsZGVyOiBFbGVtZW50QnVpbGRlcixcbiAgbGF5b3V0OiBDb21waWxhYmxlUHJvZ3JhbSxcbiAgZHluYW1pY1Njb3BlOiBEeW5hbWljU2NvcGUgPSBuZXcgRHluYW1pY1Njb3BlSW1wbCgpXG4pOiBUZW1wbGF0ZUl0ZXJhdG9yIHtcbiAgbGV0IGhhbmRsZSA9IHVud3JhcEhhbmRsZShsYXlvdXQuY29tcGlsZShjb250ZXh0KSk7XG4gIGxldCBudW1TeW1ib2xzID0gbGF5b3V0LnN5bWJvbFRhYmxlLnN5bWJvbHMubGVuZ3RoO1xuICBsZXQgdm0gPSBWTS5pbml0aWFsKHJ1bnRpbWUsIGNvbnRleHQsIHtcbiAgICBzZWxmLFxuICAgIGR5bmFtaWNTY29wZSxcbiAgICB0cmVlQnVpbGRlcixcbiAgICBoYW5kbGUsXG4gICAgbnVtU3ltYm9scyxcbiAgICBvd25lcixcbiAgfSk7XG4gIHJldHVybiBuZXcgVGVtcGxhdGVJdGVyYXRvckltcGwodm0pO1xufVxuXG5mdW5jdGlvbiByZW5kZXJJbnZvY2F0aW9uKFxuICB2bTogSW50ZXJuYWxWTSxcbiAgY29udGV4dDogQ29tcGlsZVRpbWVDb21waWxhdGlvbkNvbnRleHQsXG4gIG93bmVyOiBPd25lcixcbiAgZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICBhcmdzOiBSZWNvcmQ8c3RyaW5nLCBSZWZlcmVuY2U+XG4pOiBUZW1wbGF0ZUl0ZXJhdG9yIHtcbiAgLy8gR2V0IGEgbGlzdCBvZiB0dXBsZXMgb2YgYXJndW1lbnQgbmFtZXMgYW5kIHJlZmVyZW5jZXMsIGxpa2VcbiAgLy8gW1sndGl0bGUnLCByZWZlcmVuY2VdLCBbJ25hbWUnLCByZWZlcmVuY2VdXVxuICBjb25zdCBhcmdMaXN0ID0gT2JqZWN0LmtleXMoYXJncykubWFwKChrZXkpID0+IFtrZXksIGFyZ3Nba2V5XV0pO1xuXG4gIGNvbnN0IGJsb2NrTmFtZXMgPSBbJ21haW4nLCAnZWxzZScsICdhdHRycyddO1xuICAvLyBQcmVmaXggYXJndW1lbnQgbmFtZXMgd2l0aCBgQGAgc3ltYm9sXG4gIGNvbnN0IGFyZ05hbWVzID0gYXJnTGlzdC5tYXAoKFtuYW1lXSkgPT4gYEAke25hbWV9YCk7XG5cbiAgbGV0IHJlaWZpZWQgPSB2bVtDT05TVEFOVFNdLmNvbXBvbmVudChvd25lciwgZGVmaW5pdGlvbik7XG5cbiAgdm0ucHVzaEZyYW1lKCk7XG5cbiAgLy8gUHVzaCBibG9ja3Mgb24gdG8gdGhlIHN0YWNrLCB0aHJlZSBzdGFjayB2YWx1ZXMgcGVyIGJsb2NrXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMyAqIGJsb2NrTmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2bS5zdGFjay5wdXNoTnVsbCgpO1xuICB9XG5cbiAgdm0uc3RhY2sucHVzaE51bGwoKTtcblxuICAvLyBGb3IgZWFjaCBhcmd1bWVudCwgcHVzaCBpdHMgYmFja2luZyByZWZlcmVuY2Ugb24gdG8gdGhlIHN0YWNrXG4gIGFyZ0xpc3QuZm9yRWFjaCgoWywgcmVmZXJlbmNlXSkgPT4ge1xuICAgIHZtLnN0YWNrLnB1c2hKcyhyZWZlcmVuY2UpO1xuICB9KTtcblxuICAvLyBDb25maWd1cmUgVk0gYmFzZWQgb24gYmxvY2tzIGFuZCBhcmdzIGp1c3QgcHVzaGVkIG9uIHRvIHRoZSBzdGFjay5cbiAgdm1bQVJHU10uc2V0dXAodm0uc3RhY2ssIGFyZ05hbWVzLCBibG9ja05hbWVzLCAwLCB0cnVlKTtcblxuICBjb25zdCBjb21waWxhYmxlID0gZXhwZWN0KFxuICAgIHJlaWZpZWQuY29tcGlsYWJsZSxcbiAgICAnQlVHOiBFeHBlY3RlZCB0aGUgcm9vdCBjb21wb25lbnQgcmVuZGVyZWQgd2l0aCByZW5kZXJDb21wb25lbnQgdG8gaGF2ZSBhbiBhc3NvY2lhdGVkIHRlbXBsYXRlLCBzZXQgd2l0aCBzZXRDb21wb25lbnRUZW1wbGF0ZSdcbiAgKTtcbiAgY29uc3QgbGF5b3V0SGFuZGxlID0gdW53cmFwSGFuZGxlKGNvbXBpbGFibGUuY29tcGlsZShjb250ZXh0KSk7XG4gIGNvbnN0IGludm9jYXRpb24gPSB7IGhhbmRsZTogbGF5b3V0SGFuZGxlLCBzeW1ib2xUYWJsZTogY29tcGlsYWJsZS5zeW1ib2xUYWJsZSB9O1xuXG4gIC8vIE5lZWRlZCBmb3IgdGhlIE9wLk1haW4gb3Bjb2RlOiBhcmd1bWVudHMsIGNvbXBvbmVudCBpbnZvY2F0aW9uIG9iamVjdCwgYW5kXG4gIC8vIGNvbXBvbmVudCBkZWZpbml0aW9uLlxuICB2bS5zdGFjay5wdXNoSnModm1bQVJHU10pO1xuICB2bS5zdGFjay5wdXNoSnMoaW52b2NhdGlvbik7XG4gIHZtLnN0YWNrLnB1c2hKcyhyZWlmaWVkKTtcblxuICByZXR1cm4gbmV3IFRlbXBsYXRlSXRlcmF0b3JJbXBsKHZtKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckNvbXBvbmVudChcbiAgcnVudGltZTogUnVudGltZUNvbnRleHQsXG4gIHRyZWVCdWlsZGVyOiBFbGVtZW50QnVpbGRlcixcbiAgY29udGV4dDogQ29tcGlsZVRpbWVDb21waWxhdGlvbkNvbnRleHQsXG4gIG93bmVyOiBPd25lcixcbiAgZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICBhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuICBkeW5hbWljU2NvcGU6IER5bmFtaWNTY29wZSA9IG5ldyBEeW5hbWljU2NvcGVJbXBsKClcbik6IFRlbXBsYXRlSXRlcmF0b3Ige1xuICBsZXQgdm0gPSBWTS5lbXB0eShcbiAgICBydW50aW1lLFxuICAgIHsgdHJlZUJ1aWxkZXIsIGhhbmRsZTogY29udGV4dC5zdGRsaWIubWFpbiwgZHluYW1pY1Njb3BlLCBvd25lciB9LFxuICAgIGNvbnRleHRcbiAgKTtcbiAgcmV0dXJuIHJlbmRlckludm9jYXRpb24odm0sIGNvbnRleHQsIG93bmVyLCBkZWZpbml0aW9uLCByZWNvcmRUb1JlZmVyZW5jZShhcmdzKSk7XG59XG5cbmZ1bmN0aW9uIHJlY29yZFRvUmVmZXJlbmNlKHJlY29yZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCBSZWZlcmVuY2U+IHtcbiAgY29uc3Qgcm9vdCA9IGNyZWF0ZUNvbnN0UmVmKHJlY29yZCwgJ2FyZ3MnKTtcblxuICByZXR1cm4gT2JqZWN0LmtleXMocmVjb3JkKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgYWNjW2tleV0gPSBjaGlsZFJlZkZvcihyb290LCBrZXkpO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIFJlZmVyZW5jZT4pO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxTQUFTLFdBQVQsRUFBc0IsY0FBdEIsUUFBdUQsb0JBQXZEO0FBQ0EsU0FBaUIsWUFBakIsUUFBcUMsZUFBckM7QUFDQSxTQUFTLElBQVQsRUFBZSxTQUFmLFFBQWdDLFdBQWhDO0FBQ0EsT0FBTyxFQUFQLE1BQStCLGFBQS9CO0FBQ0EsU0FBUyxnQkFBVCxRQUFpQyxTQUFqQztBQUNBLFNBQVMsYUFBVCxRQUE4QixlQUE5QjtBQUNBLFNBQVMsS0FBVCxRQUFzQixjQUF0QjtBQUNBLFNBQVMsd0JBQVQsUUFBeUMsb0JBQXpDOztBQUVBLE1BQU0sb0JBQU4sQ0FBMEI7QUFDeEIsRUFBQSxXQUFBLENBQW9CLEVBQXBCLEVBQWtDO0FBQWQsU0FBQSxFQUFBLEdBQUEsRUFBQTtBQUFrQjs7QUFDdEMsRUFBQSxJQUFJLEdBQUE7QUFDRixXQUFPLEtBQUssRUFBTCxDQUFRLElBQVIsRUFBUDtBQUNEOztBQUVELEVBQUEsSUFBSSxHQUFBO0FBQ0YsUUFBSSxLQUFKLEVBQVc7QUFDVCxhQUFPLHdCQUF5QixDQUFDLE1BQU0sS0FBSyxFQUFMLENBQVEsT0FBUixFQUFQLEVBQTBCLG9CQUExQixDQUFoQztBQUNELEtBRkQsTUFFTztBQUNMLGFBQU8sS0FBSyxFQUFMLENBQVEsT0FBUixFQUFQO0FBQ0Q7QUFDRjs7QUFadUI7O0FBZTFCLE9BQU0sU0FBVSxVQUFWLENBQXFCLEdBQXJCLEVBQXVDLFFBQXZDLEVBQWlFO0FBQ3JFLE1BQUksTUFBSjtBQUVBLEVBQUEsYUFBYSxDQUFDLEdBQUQsRUFBTSxNQUFPLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBVCxFQUF0QixDQUFiO0FBRUEsU0FBTyxNQUFQO0FBQ0Q7QUFFRCxPQUFNLFNBQVUsVUFBVixDQUNKLE9BREksRUFFSixPQUZJLEVBR0osS0FISSxFQUlKLElBSkksRUFLSixX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LEdBQWdDLEVBTjVCLEVBT0osWUFBQSxHQUE2QixJQUFJLGdCQUFKLEVBUHpCLEVBTytDO0FBRW5ELE1BQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFILENBQ1AsT0FETyxFQUVQO0FBQUUsSUFBQSxXQUFGO0FBQWUsSUFBQSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQVIsQ0FBZSxJQUF0QztBQUE0QyxJQUFBLFlBQTVDO0FBQTBELElBQUE7QUFBMUQsR0FGTyxFQUdQLE9BSE8sQ0FBVDtBQUtBLFNBQU8sZ0JBQWdCLENBQUMsRUFBRCxFQUFLLE9BQUwsRUFBYyxLQUFkLEVBQXFCLFVBQXJCLEVBQWlDLGlCQUFpQixDQUFDLElBQUQsQ0FBbEQsQ0FBdkI7QUFDRDs7QUFFRCxTQUFTLGlCQUFULENBQTJCLE1BQTNCLEVBQTBEO0FBQ3hELFFBQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxNQUFELEVBQVMsTUFBVCxDQUEzQjtBQUVBLFNBQU8sTUFBTSxDQUFDLElBQVAsQ0FBWSxNQUFaLEVBQW9CLE1BQXBCLENBQTJCLENBQUMsR0FBRCxFQUFNLEdBQU4sS0FBYTtBQUM3QyxJQUFBLEdBQUcsQ0FBQyxHQUFELENBQUgsR0FBVyxXQUFXLENBQUMsSUFBRCxFQUFPLEdBQVAsQ0FBdEI7QUFDQSxXQUFPLEdBQVA7QUFDRCxHQUhNLEVBR0osRUFISSxDQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEeW5hbWljU2NvcGUsXG4gIEVudmlyb25tZW50LFxuICBSZW5kZXJSZXN1bHQsXG4gIFJpY2hJdGVyYXRvclJlc3VsdCxcbiAgVGVtcGxhdGVJdGVyYXRvcixcbiAgUnVudGltZUNvbnRleHQsXG4gIEVsZW1lbnRCdWlsZGVyLFxuICBDb21waWxhYmxlUHJvZ3JhbSxcbiAgQ29tcGlsZVRpbWVDb21waWxhdGlvbkNvbnRleHQsXG4gIENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgT3duZXIsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY2hpbGRSZWZGb3IsIGNyZWF0ZUNvbnN0UmVmLCBSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgZXhwZWN0LCB1bndyYXBIYW5kbGUgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IEFSR1MsIENPTlNUQU5UUyB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgVk0sIHsgSW50ZXJuYWxWTSB9IGZyb20gJy4vdm0vYXBwZW5kJztcbmltcG9ydCB7IER5bmFtaWNTY29wZUltcGwgfSBmcm9tICcuL3Njb3BlJztcbmltcG9ydCB7IGluVHJhbnNhY3Rpb24gfSBmcm9tICcuL2Vudmlyb25tZW50JztcbmltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7IHJ1bkluVHJhY2tpbmdUcmFuc2FjdGlvbiB9IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5cbmNsYXNzIFRlbXBsYXRlSXRlcmF0b3JJbXBsIGltcGxlbWVudHMgVGVtcGxhdGVJdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdm06IEludGVybmFsVk0pIHt9XG4gIG5leHQoKTogUmljaEl0ZXJhdG9yUmVzdWx0PG51bGwsIFJlbmRlclJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnZtLm5leHQoKTtcbiAgfVxuXG4gIHN5bmMoKTogUmVuZGVyUmVzdWx0IHtcbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIHJldHVybiBydW5JblRyYWNraW5nVHJhbnNhY3Rpb24hKCgpID0+IHRoaXMudm0uZXhlY3V0ZSgpLCAnLSBXaGlsZSByZW5kZXJpbmc6Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnZtLmV4ZWN1dGUoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclN5bmMoZW52OiBFbnZpcm9ubWVudCwgaXRlcmF0b3I6IFRlbXBsYXRlSXRlcmF0b3IpOiBSZW5kZXJSZXN1bHQge1xuICBsZXQgcmVzdWx0OiBSZW5kZXJSZXN1bHQ7XG5cbiAgaW5UcmFuc2FjdGlvbihlbnYsICgpID0+IChyZXN1bHQgPSBpdGVyYXRvci5zeW5jKCkpKTtcblxuICByZXR1cm4gcmVzdWx0ITtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlck1haW4oXG4gIHJ1bnRpbWU6IFJ1bnRpbWVDb250ZXh0LFxuICBjb250ZXh0OiBDb21waWxlVGltZUNvbXBpbGF0aW9uQ29udGV4dCxcbiAgb3duZXI6IE93bmVyLFxuICBzZWxmOiBSZWZlcmVuY2UsXG4gIHRyZWVCdWlsZGVyOiBFbGVtZW50QnVpbGRlcixcbiAgbGF5b3V0OiBDb21waWxhYmxlUHJvZ3JhbSxcbiAgZHluYW1pY1Njb3BlOiBEeW5hbWljU2NvcGUgPSBuZXcgRHluYW1pY1Njb3BlSW1wbCgpXG4pOiBUZW1wbGF0ZUl0ZXJhdG9yIHtcbiAgbGV0IGhhbmRsZSA9IHVud3JhcEhhbmRsZShsYXlvdXQuY29tcGlsZShjb250ZXh0KSk7XG4gIGxldCBudW1TeW1ib2xzID0gbGF5b3V0LnN5bWJvbFRhYmxlLnN5bWJvbHMubGVuZ3RoO1xuICBsZXQgdm0gPSBWTS5pbml0aWFsKHJ1bnRpbWUsIGNvbnRleHQsIHtcbiAgICBzZWxmLFxuICAgIGR5bmFtaWNTY29wZSxcbiAgICB0cmVlQnVpbGRlcixcbiAgICBoYW5kbGUsXG4gICAgbnVtU3ltYm9scyxcbiAgICBvd25lcixcbiAgfSk7XG4gIHJldHVybiBuZXcgVGVtcGxhdGVJdGVyYXRvckltcGwodm0pO1xufVxuXG5mdW5jdGlvbiByZW5kZXJJbnZvY2F0aW9uKFxuICB2bTogSW50ZXJuYWxWTSxcbiAgY29udGV4dDogQ29tcGlsZVRpbWVDb21waWxhdGlvbkNvbnRleHQsXG4gIG93bmVyOiBPd25lcixcbiAgZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICBhcmdzOiBSZWNvcmQ8c3RyaW5nLCBSZWZlcmVuY2U+XG4pOiBUZW1wbGF0ZUl0ZXJhdG9yIHtcbiAgLy8gR2V0IGEgbGlzdCBvZiB0dXBsZXMgb2YgYXJndW1lbnQgbmFtZXMgYW5kIHJlZmVyZW5jZXMsIGxpa2VcbiAgLy8gW1sndGl0bGUnLCByZWZlcmVuY2VdLCBbJ25hbWUnLCByZWZlcmVuY2VdXVxuICBjb25zdCBhcmdMaXN0ID0gT2JqZWN0LmtleXMoYXJncykubWFwKChrZXkpID0+IFtrZXksIGFyZ3Nba2V5XV0pO1xuXG4gIGNvbnN0IGJsb2NrTmFtZXMgPSBbJ21haW4nLCAnZWxzZScsICdhdHRycyddO1xuICAvLyBQcmVmaXggYXJndW1lbnQgbmFtZXMgd2l0aCBgQGAgc3ltYm9sXG4gIGNvbnN0IGFyZ05hbWVzID0gYXJnTGlzdC5tYXAoKFtuYW1lXSkgPT4gYEAke25hbWV9YCk7XG5cbiAgbGV0IHJlaWZpZWQgPSB2bVtDT05TVEFOVFNdLmNvbXBvbmVudChkZWZpbml0aW9uLCBmYWxzZSwgb3duZXIpO1xuXG4gIHZtLnB1c2hGcmFtZSgpO1xuXG4gIC8vIFB1c2ggYmxvY2tzIG9uIHRvIHRoZSBzdGFjaywgdGhyZWUgc3RhY2sgdmFsdWVzIHBlciBibG9ja1xuICBmb3IgKGxldCBpID0gMDsgaSA8IDMgKiBibG9ja05hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdm0uc3RhY2sucHVzaE51bGwoKTtcbiAgfVxuXG4gIHZtLnN0YWNrLnB1c2hOdWxsKCk7XG5cbiAgLy8gRm9yIGVhY2ggYXJndW1lbnQsIHB1c2ggaXRzIGJhY2tpbmcgcmVmZXJlbmNlIG9uIHRvIHRoZSBzdGFja1xuICBhcmdMaXN0LmZvckVhY2goKFssIHJlZmVyZW5jZV0pID0+IHtcbiAgICB2bS5zdGFjay5wdXNoSnMocmVmZXJlbmNlKTtcbiAgfSk7XG5cbiAgLy8gQ29uZmlndXJlIFZNIGJhc2VkIG9uIGJsb2NrcyBhbmQgYXJncyBqdXN0IHB1c2hlZCBvbiB0byB0aGUgc3RhY2suXG4gIHZtW0FSR1NdLnNldHVwKHZtLnN0YWNrLCBhcmdOYW1lcywgYmxvY2tOYW1lcywgMCwgdHJ1ZSk7XG5cbiAgY29uc3QgY29tcGlsYWJsZSA9IGV4cGVjdChcbiAgICByZWlmaWVkLmNvbXBpbGFibGUsXG4gICAgJ0JVRzogRXhwZWN0ZWQgdGhlIHJvb3QgY29tcG9uZW50IHJlbmRlcmVkIHdpdGggcmVuZGVyQ29tcG9uZW50IHRvIGhhdmUgYW4gYXNzb2NpYXRlZCB0ZW1wbGF0ZSwgc2V0IHdpdGggc2V0Q29tcG9uZW50VGVtcGxhdGUnXG4gICk7XG4gIGNvbnN0IGxheW91dEhhbmRsZSA9IHVud3JhcEhhbmRsZShjb21waWxhYmxlLmNvbXBpbGUoY29udGV4dCkpO1xuICBjb25zdCBpbnZvY2F0aW9uID0geyBoYW5kbGU6IGxheW91dEhhbmRsZSwgc3ltYm9sVGFibGU6IGNvbXBpbGFibGUuc3ltYm9sVGFibGUgfTtcblxuICAvLyBOZWVkZWQgZm9yIHRoZSBPcC5NYWluIG9wY29kZTogYXJndW1lbnRzLCBjb21wb25lbnQgaW52b2NhdGlvbiBvYmplY3QsIGFuZFxuICAvLyBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAgdm0uc3RhY2sucHVzaEpzKHZtW0FSR1NdKTtcbiAgdm0uc3RhY2sucHVzaEpzKGludm9jYXRpb24pO1xuICB2bS5zdGFjay5wdXNoSnMocmVpZmllZCk7XG5cbiAgcmV0dXJuIG5ldyBUZW1wbGF0ZUl0ZXJhdG9ySW1wbCh2bSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJDb21wb25lbnQoXG4gIHJ1bnRpbWU6IFJ1bnRpbWVDb250ZXh0LFxuICB0cmVlQnVpbGRlcjogRWxlbWVudEJ1aWxkZXIsXG4gIGNvbnRleHQ6IENvbXBpbGVUaW1lQ29tcGlsYXRpb25Db250ZXh0LFxuICBvd25lcjogT3duZXIsXG4gIGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbiAgZHluYW1pY1Njb3BlOiBEeW5hbWljU2NvcGUgPSBuZXcgRHluYW1pY1Njb3BlSW1wbCgpXG4pOiBUZW1wbGF0ZUl0ZXJhdG9yIHtcbiAgbGV0IHZtID0gVk0uZW1wdHkoXG4gICAgcnVudGltZSxcbiAgICB7IHRyZWVCdWlsZGVyLCBoYW5kbGU6IGNvbnRleHQuc3RkbGliLm1haW4sIGR5bmFtaWNTY29wZSwgb3duZXIgfSxcbiAgICBjb250ZXh0XG4gICk7XG4gIHJldHVybiByZW5kZXJJbnZvY2F0aW9uKHZtLCBjb250ZXh0LCBvd25lciwgZGVmaW5pdGlvbiwgcmVjb3JkVG9SZWZlcmVuY2UoYXJncykpO1xufVxuXG5mdW5jdGlvbiByZWNvcmRUb1JlZmVyZW5jZShyZWNvcmQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgUmVmZXJlbmNlPiB7XG4gIGNvbnN0IHJvb3QgPSBjcmVhdGVDb25zdFJlZihyZWNvcmQsICdhcmdzJyk7XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHJlY29yZCkucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgIGFjY1trZXldID0gY2hpbGRSZWZGb3Iocm9vdCwga2V5KTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBSZWZlcmVuY2U+KTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
{
"name": "@glimmer/runtime",
"version": "0.70.0",
"version": "0.71.0",
"description": "Minimal runtime needed to render Glimmer templates",

@@ -9,19 +9,19 @@ "repository": "https://github.com/glimmerjs/glimmer-vm/tree/master/packages/@glimmer/runtime",

"@glimmer/env": "0.1.7",
"@glimmer/global-context": "0.70.0",
"@glimmer/low-level": "0.70.0",
"@glimmer/util": "0.70.0",
"@glimmer/reference": "0.70.0",
"@glimmer/validator": "0.70.0",
"@glimmer/wire-format": "0.70.0",
"@glimmer/interfaces": "0.70.0",
"@glimmer/destroyable": "0.70.0",
"@glimmer/owner": "0.70.0",
"@glimmer/program": "0.70.0",
"@glimmer/vm": "0.70.0",
"@glimmer/global-context": "0.71.0",
"@glimmer/low-level": "0.71.0",
"@glimmer/util": "0.71.0",
"@glimmer/reference": "0.71.0",
"@glimmer/validator": "0.71.0",
"@glimmer/wire-format": "0.71.0",
"@glimmer/interfaces": "0.71.0",
"@glimmer/destroyable": "0.71.0",
"@glimmer/owner": "0.71.0",
"@glimmer/program": "0.71.0",
"@glimmer/vm": "0.71.0",
"@simple-dom/interface": "^1.4.0"
},
"devDependencies": {
"@glimmer/local-debug-flags": "0.70.0",
"@glimmer/opcode-compiler": "0.70.0",
"@glimmer/debug": "0.70.0",
"@glimmer/local-debug-flags": "0.71.0",
"@glimmer/opcode-compiler": "0.71.0",
"@glimmer/debug": "0.71.0",
"@types/qunit": "^2.9.0"

@@ -28,0 +28,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc