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

@glimmer/manager

Package Overview
Dependencies
Maintainers
12
Versions
73
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@glimmer/manager - npm Package Compare versions

Comparing version 0.81.0 to 0.82.0

4

dist/commonjs/es2017/lib/public/component.js

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

// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error(`Custom component managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.4' | '3.13')\` (imported via \`import { capabilities } from '@ember/component';\`). Received: \`${JSON.stringify(delegate.capabilities)}\` for: \`${delegate}\``);
throw new Error(`Custom component managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.13')\` (imported via \`import { capabilities } from '@ember/component';\`). Received: \`${JSON.stringify(delegate.capabilities)}\` for: \`${delegate}\``);
}

@@ -216,2 +216,2 @@

exports.CustomComponentState = CustomComponentState;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBa0JBOztBQUNBOztBQUNBOztBQUNBOztBQUdBLE1BQU0sWUFBWSxHQUFHO0FBQ25CLEVBQUEsYUFBYSxFQURNLEtBQUE7QUFFbkIsRUFBQSxVQUFVLEVBRlMsS0FBQTtBQUduQixFQUFBLFdBQVcsRUFIUSxLQUFBO0FBSW5CLEVBQUEsVUFBVSxFQUpTLElBQUE7QUFLbkIsRUFBQSxhQUFhLEVBTE0sS0FBQTtBQU1uQixFQUFBLFdBQVcsRUFOUSxLQUFBO0FBT25CLEVBQUEsWUFBWSxFQVBPLEtBQUE7QUFRbkIsRUFBQSxZQUFZLEVBUk8sSUFBQTtBQVNuQixFQUFBLFVBQVUsRUFUUyxJQUFBO0FBVW5CLEVBQUEsY0FBYyxFQVZLLElBQUE7QUFXbkIsRUFBQSxPQUFPLEVBWFksS0FBQTtBQVluQixFQUFBLFdBQVcsRUFaUSxLQUFBO0FBYW5CLEVBQUEsV0FBVyxFQUFFO0FBYk0sQ0FBckI7O0FBZ0JNLFNBQUEscUJBQUEsQ0FBQSxVQUFBLEVBRUosT0FBQSxHQUZJLEVBQUEsRUFFZ0Q7QUFFcEQsTUFBSSxjQUFTLFVBQVUsS0FBdkIsTUFBQSxFQUFvQztBQUNsQyxVQUFNLElBQUEsS0FBQSxDQUFOLG1EQUFNLENBQU47QUFDRDs7QUFFRCxNQUFJLFVBQVUsR0FBRyxPQUFPLENBQUUsT0FBaUQsQ0FBM0UsVUFBd0IsQ0FBeEI7QUFFQSxTQUFPLHFDQUFrQjtBQUN2QixJQUFBLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBRGpCLHVCQUNTLENBRFQ7QUFFdkIsSUFBQSxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FGSixVQUVKLENBRkk7QUFHdkIsSUFBQTtBQUh1QixHQUFsQixDQUFQO0FBS0Q7O0FBRUssU0FBQSwwQkFBQSxDQUFBLFFBQUEsRUFDeUM7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QUNoQyxNQUFBLFFBQVEsQ0FBUixrQkFBQSxDQUFBLFNBQUE7QUFDRDtBQUNGOztBQUVELEVBQUEsZUFBZSxHQUFBLENBQVc7O0FBRTFCLEVBQUEsZUFBZSxHQUFBLENBQVc7O0FBRTFCLEVBQUEsT0FBTyxDQUFDO0FBQUEsSUFBQSxTQUFBO0FBQWEsSUFBQTtBQUFiLEdBQUQsRUFBaUU7QUFDdEUsV0FBTywrQkFBZSxRQUFRLENBQVIsVUFBQSxDQUFELFNBQUMsQ0FBZixFQUFQLE1BQU8sQ0FBUDtBQUNEOztBQUVELEVBQUEsY0FBYyxDQUFBLE1BQUEsRUFBZ0Q7QUFDNUQsVUFBTTtBQUFFLE1BQUE7QUFBRixRQUFOLE1BQUE7O0FBRUEsUUFBSSxjQUFjLENBQWxCLFFBQWtCLENBQWxCLEVBQThCO0FBQzVCLFlBQU07QUFBRSxRQUFBO0FBQUYsVUFBTixNQUFBO0FBRUEsMkNBQWtCLE1BQWxCLEVBQTJCLE1BQU0sUUFBUSxDQUFSLGdCQUFBLENBQWpDLFNBQWlDLENBQWpDO0FBQ0EsYUFBQSxNQUFBO0FBQ0Q7O0FBRUQsV0FBQSxJQUFBO0FBQ0Q7O0FBRUQsRUFBQSxlQUFlLEdBQUE7QUFDYixXQUFBLFlBQUE7QUFDRDs7QUExRmdDO0FBNkZuQzs7Ozs7OztBQUdNLE1BQUEsb0JBQUEsQ0FBMkI7QUFDL0IsRUFBQSxXQUFBLENBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxJQUFBLEVBR3dCO0FBRmYsU0FBQSxTQUFBLEdBQUEsU0FBQTtBQUNBLFNBQUEsUUFBQSxHQUFBLFFBQUE7QUFDQSxTQUFBLElBQUEsR0FBQSxJQUFBO0FBQ0w7O0FBTDJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDb21wb25lbnRDYXBhYmlsaXRpZXMsXG4gIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBDb21wb25lbnREZWZpbml0aW9uU3RhdGUsXG4gIENvbXBvbmVudE1hbmFnZXIsXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3MsXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNVcGRhdGVIb29rLFxuICBDb21wb25lbnRNYW5hZ2VyV2l0aERlc3RydWN0b3JzLFxuICBDb21wb25lbnRNYW5hZ2VyV2l0aFVwZGF0ZUhvb2ssXG4gIERlc3Ryb3lhYmxlLFxuICBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyxcbiAgSW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyLFxuICBPcHRpb24sXG4gIE93bmVyLFxuICBWTUFyZ3VtZW50cyxcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb25zdFJlZiwgUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IGJ1aWxkQ2FwYWJpbGl0aWVzLCBGUk9NX0NBUEFCSUxJVElFUyB9IGZyb20gJy4uL3V0aWwvY2FwYWJpbGl0aWVzJztcbmltcG9ydCB7IGFyZ3NQcm94eUZvciB9IGZyb20gJy4uL3V0aWwvYXJncy1wcm94eSc7XG5pbXBvcnQgeyBNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4vaW5kZXgnO1xuXG5jb25zdCBDQVBBQklMSVRJRVMgPSB7XG4gIGR5bmFtaWNMYXlvdXQ6IGZhbHNlLFxuICBkeW5hbWljVGFnOiBmYWxzZSxcbiAgcHJlcGFyZUFyZ3M6IGZhbHNlLFxuICBjcmVhdGVBcmdzOiB0cnVlLFxuICBhdHRyaWJ1dGVIb29rOiBmYWxzZSxcbiAgZWxlbWVudEhvb2s6IGZhbHNlLFxuICBjcmVhdGVDYWxsZXI6IGZhbHNlLFxuICBkeW5hbWljU2NvcGU6IHRydWUsXG4gIHVwZGF0ZUhvb2s6IHRydWUsXG4gIGNyZWF0ZUluc3RhbmNlOiB0cnVlLFxuICB3cmFwcGVkOiBmYWxzZSxcbiAgd2lsbERlc3Ryb3k6IGZhbHNlLFxuICBoYXNTdWJPd25lcjogZmFsc2UsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcG9uZW50Q2FwYWJpbGl0aWVzPFZlcnNpb24gZXh0ZW5kcyBrZXlvZiBDb21wb25lbnRDYXBhYmlsaXRpZXNWZXJzaW9ucz4oXG4gIG1hbmFnZXJBUEk6IFZlcnNpb24sXG4gIG9wdGlvbnM6IENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zW1ZlcnNpb25dID0ge31cbik6IENvbXBvbmVudENhcGFiaWxpdGllcyB7XG4gIGlmIChERUJVRyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4xMycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29tcG9uZW50IG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIGxldCB1cGRhdGVIb29rID0gQm9vbGVhbigob3B0aW9ucyBhcyBDb21wb25lbnRDYXBhYmlsaXRpZXNWZXJzaW9uc1snMy4xMyddKS51cGRhdGVIb29rKTtcblxuICByZXR1cm4gYnVpbGRDYXBhYmlsaXRpZXMoe1xuICAgIGFzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzOiBCb29sZWFuKG9wdGlvbnMuYXN5bmNMaWZlY3ljbGVDYWxsYmFja3MpLFxuICAgIGRlc3RydWN0b3I6IEJvb2xlYW4ob3B0aW9ucy5kZXN0cnVjdG9yKSxcbiAgICB1cGRhdGVIb29rLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzPENvbXBvbmVudEluc3RhbmNlPihcbiAgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+XG4pOiBkZWxlZ2F0ZSBpcyBDb21wb25lbnRNYW5hZ2VyV2l0aEFzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMuYXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPihcbiAgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+XG4pOiBkZWxlZ2F0ZSBpcyBDb21wb25lbnRNYW5hZ2VyV2l0aFVwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGRlbGVnYXRlLmNhcGFiaWxpdGllcy51cGRhdGVIb29rO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQXN5bmNVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPihcbiAgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+XG4pOiBkZWxlZ2F0ZSBpcyBDb21wb25lbnRNYW5hZ2VyV2l0aEFzeW5jVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3MoZGVsZWdhdGUpICYmIGhhc1VwZGF0ZUhvb2soZGVsZWdhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRGVzdHJ1Y3RvcnM8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoRGVzdHJ1Y3RvcnM8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGRlbGVnYXRlLmNhcGFiaWxpdGllcy5kZXN0cnVjdG9yO1xufVxuXG4vKipcbiAgVGhlIEN1c3RvbUNvbXBvbmVudE1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBjb21wb25lbnRcbiAgaW1wbGVtZW50YXRpb25zIHRoYXQgaW50ZWdyYXRlIHNlYW1sZXNzbHkgaW50byBFbWJlci4gVGhpcyBpcyBhY2NvbXBsaXNoZWRcbiAgdGhyb3VnaCBhIGRlbGVnYXRlLCByZWdpc3RlcmVkIHdpdGggdGhlIGN1c3RvbSBjb21wb25lbnQgbWFuYWdlciwgd2hpY2hcbiAgaW1wbGVtZW50cyBhIHNldCBvZiBob29rcyB0aGF0IGRldGVybWluZSBjb21wb25lbnQgYmVoYXZpb3IuXG5cbiAgVG8gY3JlYXRlIGEgY3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Db21wb25lbnRNYW5hZ2VyXG4gIGNsYXNzIGFuZCBwYXNzIHRoZSBkZWxlZ2F0ZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQ6XG5cbiAgYGBganNcbiAgbGV0IG1hbmFnZXIgPSBuZXcgQ3VzdG9tQ29tcG9uZW50TWFuYWdlcih7XG4gICAgLy8gLi4uZGVsZWdhdGUgaW1wbGVtZW50YXRpb24uLi5cbiAgfSk7XG4gIGBgYFxuXG4gICMjIERlbGVnYXRlIEhvb2tzXG5cbiAgVGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIGEgY29tcG9uZW50LCB0aGUgY29tcG9uZW50IG1hbmFnZXIgd2lsbCBpbnZva2VcbiAgZGVsZWdhdGUgaG9va3MgdGhhdCBhcmUgcmVzcG9uc2libGUgZm9yIHN1cmZhY2luZyB0aG9zZSBsaWZlY3ljbGUgY2hhbmdlcyB0b1xuICB0aGUgZW5kIGRldmVsb3Blci5cblxuICAqIGBjcmVhdGUoKWAgLSBpbnZva2VkIHdoZW4gYSBuZXcgaW5zdGFuY2Ugb2YgYSBjb21wb25lbnQgc2hvdWxkIGJlIGNyZWF0ZWRcbiAgKiBgdXBkYXRlKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgY29tcG9uZW50IGNoYW5nZVxuICAqIGBnZXRDb250ZXh0KClgIC0gcmV0dXJucyB0aGUgb2JqZWN0IHRoYXQgc2hvdWxkIGJlXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbXBvbmVudE1hbmFnZXI8TyBleHRlbmRzIE93bmVyLCBDb21wb25lbnRJbnN0YW5jZT5cbiAgaW1wbGVtZW50cyBJbnRlcm5hbENvbXBvbmVudE1hbmFnZXI8Q3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+PiB7XG4gIHByaXZhdGUgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyA9IG5ldyBXZWFrTWFwPE8sIENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogTWFuYWdlckZhY3Rvcnk8TywgQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VycyBtdXN0IGhhdmUgYSBcXGBjYXBhYmlsaXRpZXNcXGAgcHJvcGVydHkgdGhhdCBpcyB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIFxcYGNhcGFiaWxpdGllcygnMy40JyB8ICczLjEzJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50JztcXGApLiBSZWNlaXZlZDogXFxgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIGRlbGVnYXRlLmNhcGFiaWxpdGllc1xuICAgICAgICAgICl9XFxgIGZvcjogXFxgJHtkZWxlZ2F0ZX1cXGBgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuc2V0KG93bmVyLCBkZWxlZ2F0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbGVnYXRlO1xuICB9XG5cbiAgY3JlYXRlKFxuICAgIG93bmVyOiBPLFxuICAgIGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgICB2bUFyZ3M6IFZNQXJndW1lbnRzXG4gICk6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPiB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG4gICAgbGV0IGFyZ3MgPSBhcmdzUHJveHlGb3Iodm1BcmdzLmNhcHR1cmUoKSwgJ2NvbXBvbmVudCcpO1xuXG4gICAgbGV0IGNvbXBvbmVudDogQ29tcG9uZW50SW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVDb21wb25lbnQoZGVmaW5pdGlvbiwgYXJncyk7XG5cbiAgICByZXR1cm4gbmV3IEN1c3RvbUNvbXBvbmVudFN0YXRlKGNvbXBvbmVudCEsIGRlbGVnYXRlLCBhcmdzKTtcbiAgfVxuXG4gIGdldERlYnVnTmFtZShkZWZpbml0aW9uOiBDb21wb25lbnREZWZpbml0aW9uU3RhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgfVxuXG4gIHVwZGF0ZShidWNrZXQ6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGxldCB7IGRlbGVnYXRlIH0gPSBidWNrZXQ7XG4gICAgaWYgKGhhc1VwZGF0ZUhvb2soZGVsZWdhdGUpKSB7XG4gICAgICBsZXQgeyBjb21wb25lbnQsIGFyZ3MgfSA9IGJ1Y2tldDtcblxuICAgICAgZGVsZWdhdGUudXBkYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZGlkQ3JlYXRlKHsgY29tcG9uZW50LCBkZWxlZ2F0ZSB9OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3MoZGVsZWdhdGUpKSB7XG4gICAgICBkZWxlZ2F0ZS5kaWRDcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICB9XG4gIH1cblxuICBkaWRVcGRhdGUoeyBjb21wb25lbnQsIGRlbGVnYXRlIH06IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGlmIChoYXNBc3luY1VwZGF0ZUhvb2soZGVsZWdhdGUpKSB7XG4gICAgICBkZWxlZ2F0ZS5kaWRVcGRhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICB9XG4gIH1cblxuICBkaWRSZW5kZXJMYXlvdXQoKTogdm9pZCB7fVxuXG4gIGRpZFVwZGF0ZUxheW91dCgpOiB2b2lkIHt9XG5cbiAgZ2V0U2VsZih7IGNvbXBvbmVudCwgZGVsZWdhdGUgfTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogUmVmZXJlbmNlIHtcbiAgICByZXR1cm4gY3JlYXRlQ29uc3RSZWYoZGVsZWdhdGUuZ2V0Q29udGV4dChjb21wb25lbnQpLCAndGhpcycpO1xuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoYnVja2V0OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiBPcHRpb248RGVzdHJveWFibGU+IHtcbiAgICBjb25zdCB7IGRlbGVnYXRlIH0gPSBidWNrZXQ7XG5cbiAgICBpZiAoaGFzRGVzdHJ1Y3RvcnMoZGVsZWdhdGUpKSB7XG4gICAgICBjb25zdCB7IGNvbXBvbmVudCB9ID0gYnVja2V0O1xuXG4gICAgICByZWdpc3RlckRlc3RydWN0b3IoYnVja2V0LCAoKSA9PiBkZWxlZ2F0ZS5kZXN0cm95Q29tcG9uZW50KGNvbXBvbmVudCkpO1xuICAgICAgcmV0dXJuIGJ1Y2tldDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldENhcGFiaWxpdGllcygpOiBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyB7XG4gICAgcmV0dXJuIENBUEFCSUxJVElFUztcbiAgfVxufVxuXG4vKipcbiAqIFN0b3JlcyBpbnRlcm5hbCBzdGF0ZSBhYm91dCBhIGNvbXBvbmVudCBpbnN0YW5jZSBhZnRlciBpdCdzIGJlZW4gY3JlYXRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb21wb25lbnQ6IENvbXBvbmVudEluc3RhbmNlLFxuICAgIHB1YmxpYyBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4sXG4gICAgcHVibGljIGFyZ3M6IEFyZ3VtZW50c1xuICApIHt9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBa0JBOztBQUNBOztBQUNBOztBQUNBOztBQUdBLE1BQU0sWUFBWSxHQUFHO0FBQ25CLEVBQUEsYUFBYSxFQURNLEtBQUE7QUFFbkIsRUFBQSxVQUFVLEVBRlMsS0FBQTtBQUduQixFQUFBLFdBQVcsRUFIUSxLQUFBO0FBSW5CLEVBQUEsVUFBVSxFQUpTLElBQUE7QUFLbkIsRUFBQSxhQUFhLEVBTE0sS0FBQTtBQU1uQixFQUFBLFdBQVcsRUFOUSxLQUFBO0FBT25CLEVBQUEsWUFBWSxFQVBPLEtBQUE7QUFRbkIsRUFBQSxZQUFZLEVBUk8sSUFBQTtBQVNuQixFQUFBLFVBQVUsRUFUUyxJQUFBO0FBVW5CLEVBQUEsY0FBYyxFQVZLLElBQUE7QUFXbkIsRUFBQSxPQUFPLEVBWFksS0FBQTtBQVluQixFQUFBLFdBQVcsRUFaUSxLQUFBO0FBYW5CLEVBQUEsV0FBVyxFQUFFO0FBYk0sQ0FBckI7O0FBZ0JNLFNBQUEscUJBQUEsQ0FBQSxVQUFBLEVBRUosT0FBQSxHQUZJLEVBQUEsRUFFZ0Q7QUFFcEQsTUFBSSxjQUFTLFVBQVUsS0FBdkIsTUFBQSxFQUFvQztBQUNsQyxVQUFNLElBQUEsS0FBQSxDQUFOLG1EQUFNLENBQU47QUFDRDs7QUFFRCxNQUFJLFVBQVUsR0FBRyxPQUFPLENBQUUsT0FBaUQsQ0FBM0UsVUFBd0IsQ0FBeEI7QUFFQSxTQUFPLHFDQUFrQjtBQUN2QixJQUFBLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBRGpCLHVCQUNTLENBRFQ7QUFFdkIsSUFBQSxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FGSixVQUVKLENBRkk7QUFHdkIsSUFBQTtBQUh1QixHQUFsQixDQUFQO0FBS0Q7O0FBRUssU0FBQSwwQkFBQSxDQUFBLFFBQUEsRUFDeUM7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QUNoQyxNQUFBLFFBQVEsQ0FBUixrQkFBQSxDQUFBLFNBQUE7QUFDRDtBQUNGOztBQUVELEVBQUEsZUFBZSxHQUFBLENBQVc7O0FBRTFCLEVBQUEsZUFBZSxHQUFBLENBQVc7O0FBRTFCLEVBQUEsT0FBTyxDQUFDO0FBQUEsSUFBQSxTQUFBO0FBQWEsSUFBQTtBQUFiLEdBQUQsRUFBaUU7QUFDdEUsV0FBTywrQkFBZSxRQUFRLENBQVIsVUFBQSxDQUFELFNBQUMsQ0FBZixFQUFQLE1BQU8sQ0FBUDtBQUNEOztBQUVELEVBQUEsY0FBYyxDQUFBLE1BQUEsRUFBZ0Q7QUFDNUQsVUFBTTtBQUFFLE1BQUE7QUFBRixRQUFOLE1BQUE7O0FBRUEsUUFBSSxjQUFjLENBQWxCLFFBQWtCLENBQWxCLEVBQThCO0FBQzVCLFlBQU07QUFBRSxRQUFBO0FBQUYsVUFBTixNQUFBO0FBRUEsMkNBQWtCLE1BQWxCLEVBQTJCLE1BQU0sUUFBUSxDQUFSLGdCQUFBLENBQWpDLFNBQWlDLENBQWpDO0FBQ0EsYUFBQSxNQUFBO0FBQ0Q7O0FBRUQsV0FBQSxJQUFBO0FBQ0Q7O0FBRUQsRUFBQSxlQUFlLEdBQUE7QUFDYixXQUFBLFlBQUE7QUFDRDs7QUExRmdDO0FBNkZuQzs7Ozs7OztBQUdNLE1BQUEsb0JBQUEsQ0FBMkI7QUFDL0IsRUFBQSxXQUFBLENBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxJQUFBLEVBR3dCO0FBRmYsU0FBQSxTQUFBLEdBQUEsU0FBQTtBQUNBLFNBQUEsUUFBQSxHQUFBLFFBQUE7QUFDQSxTQUFBLElBQUEsR0FBQSxJQUFBO0FBQ0w7O0FBTDJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDb21wb25lbnRDYXBhYmlsaXRpZXMsXG4gIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBDb21wb25lbnREZWZpbml0aW9uU3RhdGUsXG4gIENvbXBvbmVudE1hbmFnZXIsXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3MsXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNVcGRhdGVIb29rLFxuICBDb21wb25lbnRNYW5hZ2VyV2l0aERlc3RydWN0b3JzLFxuICBDb21wb25lbnRNYW5hZ2VyV2l0aFVwZGF0ZUhvb2ssXG4gIERlc3Ryb3lhYmxlLFxuICBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyxcbiAgSW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyLFxuICBPcHRpb24sXG4gIE93bmVyLFxuICBWTUFyZ3VtZW50cyxcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb25zdFJlZiwgUmVmZXJlbmNlIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IGJ1aWxkQ2FwYWJpbGl0aWVzLCBGUk9NX0NBUEFCSUxJVElFUyB9IGZyb20gJy4uL3V0aWwvY2FwYWJpbGl0aWVzJztcbmltcG9ydCB7IGFyZ3NQcm94eUZvciB9IGZyb20gJy4uL3V0aWwvYXJncy1wcm94eSc7XG5pbXBvcnQgeyBNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4vaW5kZXgnO1xuXG5jb25zdCBDQVBBQklMSVRJRVMgPSB7XG4gIGR5bmFtaWNMYXlvdXQ6IGZhbHNlLFxuICBkeW5hbWljVGFnOiBmYWxzZSxcbiAgcHJlcGFyZUFyZ3M6IGZhbHNlLFxuICBjcmVhdGVBcmdzOiB0cnVlLFxuICBhdHRyaWJ1dGVIb29rOiBmYWxzZSxcbiAgZWxlbWVudEhvb2s6IGZhbHNlLFxuICBjcmVhdGVDYWxsZXI6IGZhbHNlLFxuICBkeW5hbWljU2NvcGU6IHRydWUsXG4gIHVwZGF0ZUhvb2s6IHRydWUsXG4gIGNyZWF0ZUluc3RhbmNlOiB0cnVlLFxuICB3cmFwcGVkOiBmYWxzZSxcbiAgd2lsbERlc3Ryb3k6IGZhbHNlLFxuICBoYXNTdWJPd25lcjogZmFsc2UsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcG9uZW50Q2FwYWJpbGl0aWVzPFZlcnNpb24gZXh0ZW5kcyBrZXlvZiBDb21wb25lbnRDYXBhYmlsaXRpZXNWZXJzaW9ucz4oXG4gIG1hbmFnZXJBUEk6IFZlcnNpb24sXG4gIG9wdGlvbnM6IENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zW1ZlcnNpb25dID0ge31cbik6IENvbXBvbmVudENhcGFiaWxpdGllcyB7XG4gIGlmIChERUJVRyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4xMycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29tcG9uZW50IG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIGxldCB1cGRhdGVIb29rID0gQm9vbGVhbigob3B0aW9ucyBhcyBDb21wb25lbnRDYXBhYmlsaXRpZXNWZXJzaW9uc1snMy4xMyddKS51cGRhdGVIb29rKTtcblxuICByZXR1cm4gYnVpbGRDYXBhYmlsaXRpZXMoe1xuICAgIGFzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzOiBCb29sZWFuKG9wdGlvbnMuYXN5bmNMaWZlY3ljbGVDYWxsYmFja3MpLFxuICAgIGRlc3RydWN0b3I6IEJvb2xlYW4ob3B0aW9ucy5kZXN0cnVjdG9yKSxcbiAgICB1cGRhdGVIb29rLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzPENvbXBvbmVudEluc3RhbmNlPihcbiAgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+XG4pOiBkZWxlZ2F0ZSBpcyBDb21wb25lbnRNYW5hZ2VyV2l0aEFzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMuYXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPihcbiAgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+XG4pOiBkZWxlZ2F0ZSBpcyBDb21wb25lbnRNYW5hZ2VyV2l0aFVwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGRlbGVnYXRlLmNhcGFiaWxpdGllcy51cGRhdGVIb29rO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQXN5bmNVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPihcbiAgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+XG4pOiBkZWxlZ2F0ZSBpcyBDb21wb25lbnRNYW5hZ2VyV2l0aEFzeW5jVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3MoZGVsZWdhdGUpICYmIGhhc1VwZGF0ZUhvb2soZGVsZWdhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRGVzdHJ1Y3RvcnM8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoRGVzdHJ1Y3RvcnM8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGRlbGVnYXRlLmNhcGFiaWxpdGllcy5kZXN0cnVjdG9yO1xufVxuXG4vKipcbiAgVGhlIEN1c3RvbUNvbXBvbmVudE1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBjb21wb25lbnRcbiAgaW1wbGVtZW50YXRpb25zIHRoYXQgaW50ZWdyYXRlIHNlYW1sZXNzbHkgaW50byBFbWJlci4gVGhpcyBpcyBhY2NvbXBsaXNoZWRcbiAgdGhyb3VnaCBhIGRlbGVnYXRlLCByZWdpc3RlcmVkIHdpdGggdGhlIGN1c3RvbSBjb21wb25lbnQgbWFuYWdlciwgd2hpY2hcbiAgaW1wbGVtZW50cyBhIHNldCBvZiBob29rcyB0aGF0IGRldGVybWluZSBjb21wb25lbnQgYmVoYXZpb3IuXG5cbiAgVG8gY3JlYXRlIGEgY3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Db21wb25lbnRNYW5hZ2VyXG4gIGNsYXNzIGFuZCBwYXNzIHRoZSBkZWxlZ2F0ZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQ6XG5cbiAgYGBganNcbiAgbGV0IG1hbmFnZXIgPSBuZXcgQ3VzdG9tQ29tcG9uZW50TWFuYWdlcih7XG4gICAgLy8gLi4uZGVsZWdhdGUgaW1wbGVtZW50YXRpb24uLi5cbiAgfSk7XG4gIGBgYFxuXG4gICMjIERlbGVnYXRlIEhvb2tzXG5cbiAgVGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIGEgY29tcG9uZW50LCB0aGUgY29tcG9uZW50IG1hbmFnZXIgd2lsbCBpbnZva2VcbiAgZGVsZWdhdGUgaG9va3MgdGhhdCBhcmUgcmVzcG9uc2libGUgZm9yIHN1cmZhY2luZyB0aG9zZSBsaWZlY3ljbGUgY2hhbmdlcyB0b1xuICB0aGUgZW5kIGRldmVsb3Blci5cblxuICAqIGBjcmVhdGUoKWAgLSBpbnZva2VkIHdoZW4gYSBuZXcgaW5zdGFuY2Ugb2YgYSBjb21wb25lbnQgc2hvdWxkIGJlIGNyZWF0ZWRcbiAgKiBgdXBkYXRlKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgY29tcG9uZW50IGNoYW5nZVxuICAqIGBnZXRDb250ZXh0KClgIC0gcmV0dXJucyB0aGUgb2JqZWN0IHRoYXQgc2hvdWxkIGJlXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbXBvbmVudE1hbmFnZXI8TyBleHRlbmRzIE93bmVyLCBDb21wb25lbnRJbnN0YW5jZT5cbiAgaW1wbGVtZW50cyBJbnRlcm5hbENvbXBvbmVudE1hbmFnZXI8Q3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+PiB7XG4gIHByaXZhdGUgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyA9IG5ldyBXZWFrTWFwPE8sIENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogTWFuYWdlckZhY3Rvcnk8TywgQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VycyBtdXN0IGhhdmUgYSBcXGBjYXBhYmlsaXRpZXNcXGAgcHJvcGVydHkgdGhhdCBpcyB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIFxcYGNhcGFiaWxpdGllcygnMy4xMycpXFxgIChpbXBvcnRlZCB2aWEgXFxgaW1wb3J0IHsgY2FwYWJpbGl0aWVzIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudCc7XFxgKS4gUmVjZWl2ZWQ6IFxcYCR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXNcbiAgICAgICAgICApfVxcYCBmb3I6IFxcYCR7ZGVsZWdhdGV9XFxgYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLnNldChvd25lciwgZGVsZWdhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxlZ2F0ZTtcbiAgfVxuXG4gIGNyZWF0ZShcbiAgICBvd25lcjogTyxcbiAgICBkZWZpbml0aW9uOiBDb21wb25lbnREZWZpbml0aW9uU3RhdGUsXG4gICAgdm1BcmdzOiBWTUFyZ3VtZW50c1xuICApOiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4ge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuICAgIGxldCBhcmdzID0gYXJnc1Byb3h5Rm9yKHZtQXJncy5jYXB0dXJlKCksICdjb21wb25lbnQnKTtcblxuICAgIGxldCBjb21wb25lbnQ6IENvbXBvbmVudEluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlQ29tcG9uZW50KGRlZmluaXRpb24sIGFyZ3MpO1xuXG4gICAgcmV0dXJuIG5ldyBDdXN0b21Db21wb25lbnRTdGF0ZShjb21wb25lbnQhLCBkZWxlZ2F0ZSwgYXJncyk7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicgPyBkZWZpbml0aW9uLm5hbWUgOiBkZWZpbml0aW9uLnRvU3RyaW5nKCk7XG4gIH1cblxuICB1cGRhdGUoYnVja2V0OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiB2b2lkIHtcbiAgICBsZXQgeyBkZWxlZ2F0ZSB9ID0gYnVja2V0O1xuICAgIGlmIChoYXNVcGRhdGVIb29rKGRlbGVnYXRlKSkge1xuICAgICAgbGV0IHsgY29tcG9uZW50LCBhcmdzIH0gPSBidWNrZXQ7XG5cbiAgICAgIGRlbGVnYXRlLnVwZGF0ZUNvbXBvbmVudChjb21wb25lbnQsIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIGRpZENyZWF0ZSh7IGNvbXBvbmVudCwgZGVsZWdhdGUgfTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogdm9pZCB7XG4gICAgaWYgKGhhc0FzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzKGRlbGVnYXRlKSkge1xuICAgICAgZGVsZWdhdGUuZGlkQ3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCk7XG4gICAgfVxuICB9XG5cbiAgZGlkVXBkYXRlKHsgY29tcG9uZW50LCBkZWxlZ2F0ZSB9OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQXN5bmNVcGRhdGVIb29rKGRlbGVnYXRlKSkge1xuICAgICAgZGVsZWdhdGUuZGlkVXBkYXRlQ29tcG9uZW50KGNvbXBvbmVudCk7XG4gICAgfVxuICB9XG5cbiAgZGlkUmVuZGVyTGF5b3V0KCk6IHZvaWQge31cblxuICBkaWRVcGRhdGVMYXlvdXQoKTogdm9pZCB7fVxuXG4gIGdldFNlbGYoeyBjb21wb25lbnQsIGRlbGVnYXRlIH06IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIGNyZWF0ZUNvbnN0UmVmKGRlbGVnYXRlLmdldENvbnRleHQoY29tcG9uZW50KSwgJ3RoaXMnKTtcbiAgfVxuXG4gIGdldERlc3Ryb3lhYmxlKGJ1Y2tldDogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogT3B0aW9uPERlc3Ryb3lhYmxlPiB7XG4gICAgY29uc3QgeyBkZWxlZ2F0ZSB9ID0gYnVja2V0O1xuXG4gICAgaWYgKGhhc0Rlc3RydWN0b3JzKGRlbGVnYXRlKSkge1xuICAgICAgY29uc3QgeyBjb21wb25lbnQgfSA9IGJ1Y2tldDtcblxuICAgICAgcmVnaXN0ZXJEZXN0cnVjdG9yKGJ1Y2tldCwgKCkgPT4gZGVsZWdhdGUuZGVzdHJveUNvbXBvbmVudChjb21wb25lbnQpKTtcbiAgICAgIHJldHVybiBidWNrZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRDYXBhYmlsaXRpZXMoKTogSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXRpZXMge1xuICAgIHJldHVybiBDQVBBQklMSVRJRVM7XG4gIH1cbn1cblxuLyoqXG4gKiBTdG9yZXMgaW50ZXJuYWwgc3RhdGUgYWJvdXQgYSBjb21wb25lbnQgaW5zdGFuY2UgYWZ0ZXIgaXQncyBiZWVuIGNyZWF0ZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tcG9uZW50OiBDb21wb25lbnRJbnN0YW5jZSxcbiAgICBwdWJsaWMgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+LFxuICAgIHB1YmxpYyBhcmdzOiBBcmd1bWVudHNcbiAgKSB7fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

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

// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error(`Custom modifier managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.13' | '3.22')\` (imported via \`import { capabilities } from '@ember/modifier';\`). Received: \`${JSON.stringify(delegate.capabilities)}\` for: \`${delegate}\``);
throw new Error(`Custom modifier managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.22')\` (imported via \`import { capabilities } from '@ember/modifier';\`). Received: \`${JSON.stringify(delegate.capabilities)}\` for: \`${delegate}\``);
}

@@ -180,2 +180,2 @@

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFHTSxTQUFBLG9CQUFBLENBQUEsVUFBQSxFQUVKLGdCQUFBLEdBRkksRUFBQSxFQUV3RDtBQUU1RCxNQUFJLGNBQVMsVUFBVSxLQUF2QixNQUFBLEVBQW9DO0FBQ2xDLFVBQU0sSUFBQSxLQUFBLENBQU4sa0RBQU0sQ0FBTjtBQUNEOztBQUVELFNBQU8scUNBQWtCO0FBQ3ZCLElBQUEsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFqQixtQkFBQTtBQURMLEdBQWxCLENBQVA7QUFHRDtBQVdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCTSxNQUFBLHFCQUFBLENBQTRCO0FBSWhDLEVBQUEsV0FBQSxDQUFBLE9BQUEsRUFBaUY7QUFBN0QsU0FBQSxPQUFBLEdBQUEsT0FBQTtBQUZaLFNBQUEseUJBQUEsR0FBNEIsSUFBNUIsT0FBNEIsRUFBNUI7QUFFNkU7O0FBRTdFLEVBQUEsY0FBYyxDQUFBLEtBQUEsRUFBUztBQUM3QixRQUFJO0FBQUUsTUFBQTtBQUFGLFFBQUosSUFBQTtBQUNBLFFBQUksUUFBUSxHQUFHLHlCQUF5QixDQUF6QixHQUFBLENBQWYsS0FBZSxDQUFmOztBQUVBLFFBQUksUUFBUSxLQUFaLFNBQUEsRUFBNEI7QUFDMUIsVUFBSTtBQUFFLFFBQUE7QUFBRixVQUFKLElBQUE7QUFDQSxNQUFBLFFBQVEsR0FBRyxPQUFPLENBQWxCLEtBQWtCLENBQWxCOztBQUVBLFVBQUksY0FBUyxDQUFDLGdDQUFBLEdBQUEsQ0FBdUIsUUFBUSxDQUE3QyxZQUFjLENBQWQsRUFBNkQ7QUFDM0Q7QUFDQSxjQUFNLElBQUEsS0FBQSxDQUNKLHNOQUFzTixJQUFJLENBQUosU0FBQSxDQUNw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SUFBQSxLQUFLLEVBREEsWUFBQTtBQUVMLElBQUEsVUFBVSxFQUFFO0FBRlAsR0FBUDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgSW50ZXJuYWxNb2RpZmllck1hbmFnZXIsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzLFxuICBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBNb2RpZmllck1hbmFnZXIsXG4gIE93bmVyLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IHZhbHVlRm9yUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IGNhc3RUb0Jyb3dzZXIsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IGNyZWF0ZVVwZGF0YWJsZVRhZywgdW50cmFjaywgVXBkYXRhYmxlVGFnIH0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcbmltcG9ydCB7IFNpbXBsZUVsZW1lbnQgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLic7XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RpZmllckNhcGFiaWxpdGllczxWZXJzaW9uIGV4dGVuZHMga2V5b2YgTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9ucz4oXG4gIG1hbmFnZXJBUEk6IFZlcnNpb24sXG4gIG9wdGlvbmFsRmVhdHVyZXM6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogTW9kaWZpZXJDYXBhYmlsaXRpZXMge1xuICBpZiAoREVCVUcgJiYgbWFuYWdlckFQSSAhPT0gJzMuMjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1vZGlmaWVyIG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgZGlzYWJsZUF1dG9UcmFja2luZzogQm9vbGVhbihvcHRpb25hbEZlYXR1cmVzLmRpc2FibGVBdXRvVHJhY2tpbmcpLFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+IHtcbiAgdGFnOiBVcGRhdGFibGVUYWc7XG4gIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQ7XG4gIG1vZGlmaWVyOiBNb2RpZmllckluc3RhbmNlO1xuICBkZWxlZ2F0ZTogTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+O1xuICBhcmdzOiBBcmd1bWVudHM7XG4gIGRlYnVnTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Nb2RpZmllck1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBtb2RpZmllclxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgbW9kaWZpZXIgYmVoYXZpb3IuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIG1vZGlmaWVyLCB0aGUgbW9kaWZpZXIgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuICAqIGBjcmVhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIG1vZGlmaWVyIHNob3VsZCBiZSBjcmVhdGVkXG4gICogYGluc3RhbGxNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgaW5zdGFsbGVkIG9uIHRoZSBlbGVtZW50XG4gICogYHVwZGF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgbW9kaWZpZXIgY2hhbmdlXG4gICogYGRlc3Ryb3lNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbU1vZGlmaWVyTWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIE1vZGlmaWVySW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxNb2RpZmllck1hbmFnZXI8Q3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIG1vZGlmaWVyIG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjEzJyB8ICczLjIyJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUob3duZXI6IE8sIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIGRlZmluaXRpb246IG9iamVjdCwgY2FwdHVyZWRBcmdzOiBDYXB0dXJlZEFyZ3VtZW50cykge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuXG4gICAgbGV0IGFyZ3MgPSBhcmdzUHJveHlGb3IoY2FwdHVyZWRBcmdzLCAnbW9kaWZpZXInKTtcbiAgICBsZXQgaW5zdGFuY2U6IE1vZGlmaWVySW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVNb2RpZmllcihkZWZpbml0aW9uLCBhcmdzKTtcblxuICAgIGxldCB0YWcgPSBjcmVhdGVVcGRhdGFibGVUYWcoKTtcbiAgICBsZXQgc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT47XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIHRhZyxcbiAgICAgIGVsZW1lbnQsXG4gICAgICBkZWxlZ2F0ZSxcbiAgICAgIGFyZ3MsXG4gICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgIH07XG5cbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIHN0YXRlLmRlYnVnTmFtZSA9IHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nID8gZGVmaW5pdGlvbi5uYW1lIDogZGVmaW5pdGlvbi50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJ1Y3RvcihzdGF0ZSwgKCkgPT4gZGVsZWdhdGUuZGVzdHJveU1vZGlmaWVyKGluc3RhbmNlLCBhcmdzKSk7XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoeyBkZWJ1Z05hbWUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBkZWJ1Z05hbWUhO1xuICB9XG5cbiAgZ2V0VGFnKHsgdGFnIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgaW5zdGFsbCh7IGVsZW1lbnQsIGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKHsgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVpZnlBcmdzKHtcbiAgbmFtZWQsXG4gIHBvc2l0aW9uYWwsXG59OiBDYXB0dXJlZEFyZ3VtZW50cyk6IHsgbmFtZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+OyBwb3NpdGlvbmFsOiB1bmtub3duW10gfSB7XG4gIGxldCByZWlmaWVkTmFtZWQgPSBkaWN0KCk7XG5cbiAgZm9yIChsZXQga2V5IGluIG5hbWVkKSB7XG4gICAgcmVpZmllZE5hbWVkW2tleV0gPSB2YWx1ZUZvclJlZihuYW1lZFtrZXldKTtcbiAgfVxuXG4gIGxldCByZWlmaWVkUG9zaXRpb25hbCA9IHBvc2l0aW9uYWwubWFwKHZhbHVlRm9yUmVmKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWVkOiByZWlmaWVkTmFtZWQsXG4gICAgcG9zaXRpb25hbDogcmVpZmllZFBvc2l0aW9uYWwsXG4gIH07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFHTSxTQUFBLG9CQUFBLENBQUEsVUFBQSxFQUVKLGdCQUFBLEdBRkksRUFBQSxFQUV3RDtBQUU1RCxNQUFJLGNBQVMsVUFBVSxLQUF2QixNQUFBLEVBQW9DO0FBQ2xDLFVBQU0sSUFBQSxLQUFBLENBQU4sa0RBQU0sQ0FBTjtBQUNEOztBQUVELFNBQU8scUNBQWtCO0FBQ3ZCLElBQUEsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFqQixtQkFBQTtBQURMLEdBQWxCLENBQVA7QUFHRDtBQVdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCTSxNQUFBLHFCQUFBLENBQTRCO0FBSWhDLEVBQUEsV0FBQSxDQUFBLE9BQUEsRUFBaUY7QUFBN0QsU0FBQSxPQUFBLEdBQUEsT0FBQTtBQUZaLFNBQUEseUJBQUEsR0FBNEIsSUFBNUIsT0FBNEIsRUFBNUI7QUFFNkU7O0FBRTdFLEVBQUEsY0FBYyxDQUFBLEtBQUEsRUFBUztBQUM3QixRQUFJO0FBQUUsTUFBQTtBQUFGLFFBQUosSUFBQTtBQUNBLFFBQUksUUFBUSxHQUFHLHlCQUF5QixDQUF6QixHQUFBLENBQWYsS0FBZSxDQUFmOztBQUVBLFFBQUksUUFBUSxLQUFaLFNBQUEsRUFBNEI7QUFDMUIsVUFBSTtBQUFFLFFBQUE7QUFBRixVQUFKLElBQUE7QUFDQSxNQUFBLFFBQVEsR0FBRyxPQUFPLENBQWxCLEtBQWtCLENBQWxCOztBQUVBLFVBQUksY0FBUyxDQUFDLGdDQUFBLEdBQUEsQ0FBdUIsUUFBUSxDQUE3QyxZQUFjLENBQWQsRUFBNkQ7QUFDM0Q7QUFDQSxjQUFNLElBQUEsS0FBQSxDQUNKLDZNQUE2TSxJQUFJLENBQUosU0FBQSxDQUMz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SUFBQSxLQUFLLEVBREEsWUFBQTtBQUVMLElBQUEsVUFBVSxFQUFFO0FBRlAsR0FBUDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgSW50ZXJuYWxNb2RpZmllck1hbmFnZXIsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzLFxuICBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBNb2RpZmllck1hbmFnZXIsXG4gIE93bmVyLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IHZhbHVlRm9yUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IGNhc3RUb0Jyb3dzZXIsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IGNyZWF0ZVVwZGF0YWJsZVRhZywgdW50cmFjaywgVXBkYXRhYmxlVGFnIH0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcbmltcG9ydCB7IFNpbXBsZUVsZW1lbnQgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLic7XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RpZmllckNhcGFiaWxpdGllczxWZXJzaW9uIGV4dGVuZHMga2V5b2YgTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9ucz4oXG4gIG1hbmFnZXJBUEk6IFZlcnNpb24sXG4gIG9wdGlvbmFsRmVhdHVyZXM6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogTW9kaWZpZXJDYXBhYmlsaXRpZXMge1xuICBpZiAoREVCVUcgJiYgbWFuYWdlckFQSSAhPT0gJzMuMjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1vZGlmaWVyIG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgZGlzYWJsZUF1dG9UcmFja2luZzogQm9vbGVhbihvcHRpb25hbEZlYXR1cmVzLmRpc2FibGVBdXRvVHJhY2tpbmcpLFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+IHtcbiAgdGFnOiBVcGRhdGFibGVUYWc7XG4gIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQ7XG4gIG1vZGlmaWVyOiBNb2RpZmllckluc3RhbmNlO1xuICBkZWxlZ2F0ZTogTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+O1xuICBhcmdzOiBBcmd1bWVudHM7XG4gIGRlYnVnTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Nb2RpZmllck1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBtb2RpZmllclxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgbW9kaWZpZXIgYmVoYXZpb3IuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIG1vZGlmaWVyLCB0aGUgbW9kaWZpZXIgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuICAqIGBjcmVhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIG1vZGlmaWVyIHNob3VsZCBiZSBjcmVhdGVkXG4gICogYGluc3RhbGxNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgaW5zdGFsbGVkIG9uIHRoZSBlbGVtZW50XG4gICogYHVwZGF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgbW9kaWZpZXIgY2hhbmdlXG4gICogYGRlc3Ryb3lNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbU1vZGlmaWVyTWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIE1vZGlmaWVySW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxNb2RpZmllck1hbmFnZXI8Q3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIG1vZGlmaWVyIG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjIyJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUob3duZXI6IE8sIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIGRlZmluaXRpb246IG9iamVjdCwgY2FwdHVyZWRBcmdzOiBDYXB0dXJlZEFyZ3VtZW50cykge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuXG4gICAgbGV0IGFyZ3MgPSBhcmdzUHJveHlGb3IoY2FwdHVyZWRBcmdzLCAnbW9kaWZpZXInKTtcbiAgICBsZXQgaW5zdGFuY2U6IE1vZGlmaWVySW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVNb2RpZmllcihkZWZpbml0aW9uLCBhcmdzKTtcblxuICAgIGxldCB0YWcgPSBjcmVhdGVVcGRhdGFibGVUYWcoKTtcbiAgICBsZXQgc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT47XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIHRhZyxcbiAgICAgIGVsZW1lbnQsXG4gICAgICBkZWxlZ2F0ZSxcbiAgICAgIGFyZ3MsXG4gICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgIH07XG5cbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIHN0YXRlLmRlYnVnTmFtZSA9IHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nID8gZGVmaW5pdGlvbi5uYW1lIDogZGVmaW5pdGlvbi50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJ1Y3RvcihzdGF0ZSwgKCkgPT4gZGVsZWdhdGUuZGVzdHJveU1vZGlmaWVyKGluc3RhbmNlLCBhcmdzKSk7XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoeyBkZWJ1Z05hbWUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBkZWJ1Z05hbWUhO1xuICB9XG5cbiAgZ2V0VGFnKHsgdGFnIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgaW5zdGFsbCh7IGVsZW1lbnQsIGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKHsgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVpZnlBcmdzKHtcbiAgbmFtZWQsXG4gIHBvc2l0aW9uYWwsXG59OiBDYXB0dXJlZEFyZ3VtZW50cyk6IHsgbmFtZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+OyBwb3NpdGlvbmFsOiB1bmtub3duW10gfSB7XG4gIGxldCByZWlmaWVkTmFtZWQgPSBkaWN0KCk7XG5cbiAgZm9yIChsZXQga2V5IGluIG5hbWVkKSB7XG4gICAgcmVpZmllZE5hbWVkW2tleV0gPSB2YWx1ZUZvclJlZihuYW1lZFtrZXldKTtcbiAgfVxuXG4gIGxldCByZWlmaWVkUG9zaXRpb25hbCA9IHBvc2l0aW9uYWwubWFwKHZhbHVlRm9yUmVmKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWVkOiByZWlmaWVkTmFtZWQsXG4gICAgcG9zaXRpb25hbDogcmVpZmllZFBvc2l0aW9uYWwsXG4gIH07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

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

// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error("Custom component managers must have a `capabilities` property that is the result of calling the `capabilities('3.4' | '3.13')` (imported via `import { capabilities } from '@ember/component';`). Received: `" + JSON.stringify(delegate.capabilities) + "` for: `" + delegate + "`");
throw new Error("Custom component managers must have a `capabilities` property that is the result of calling the `capabilities('3.13')` (imported via `import { capabilities } from '@ember/component';`). Received: `" + JSON.stringify(delegate.capabilities) + "` for: `" + delegate + "`");
}

@@ -209,2 +209,2 @@

exports.CustomComponentState = CustomComponentState;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBa0JBOztBQUNBOztBQUNBOztBQUNBOztBQUdBLElBQU0sWUFBWSxHQUFHO0FBQ25CLEVBQUEsYUFBYSxFQURNLEtBQUE7QUFFbkIsRUFBQSxVQUFVLEVBRlMsS0FBQTtBQUduQixFQUFBLFdBQVcsRUFIUSxLQUFBO0FBSW5CLEVBQUEsVUFBVSxFQUpTLElBQUE7QUFLbkIsRUFBQSxhQUFhLEVBTE0sS0FBQTtBQU1uQixFQUFBLFdBQVcsRUFOUSxLQUFBO0FBT25CLEVBQUEsWUFBWSxFQVBPLEtBQUE7QUFRbkIsRUFBQSxZQUFZLEVBUk8sSUFBQTtBQVNuQixFQUFBLFVBQVUsRUFUUyxJQUFBO0FBVW5CLEVBQUEsY0FBYyxFQVZLLElBQUE7QUFXbkIsRUFBQSxPQUFPLEVBWFksS0FBQTtBQVluQixFQUFBLFdBQVcsRUFaUSxLQUFBO0FBYW5CLEVBQUEsV0FBVyxFQUFFO0FBYk0sQ0FBckI7O0FBZ0JNLFNBQUEscUJBQUEsQ0FBQSxVQUFBLEVBQUEsT0FBQSxFQUVnRDtBQUFBLE1BQXBELE9BQW9ELEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFBcEQsSUFBQSxPQUFvRCxHQUZoRCxFQUVKO0FBQW9EOztBQUVwRCxNQUFJLGNBQVMsVUFBVSxLQUF2QixNQUFBLEVBQW9DO0FBQ2xDLFVBQU0sSUFBQSxLQUFBLENBQU4sbURBQU0sQ0FBTjtBQUNEOztBQUVELE1BQUksVUFBVSxHQUFHLE9BQU8sQ0FBRSxPQUFpRCxDQUEzRSxVQUF3QixDQUF4QjtBQUVBLFNBQU8scUNBQWtCO0FBQ3ZCLElBQUEsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FEakIsdUJBQ1MsQ0FEVDtBQUV2QixJQUFBLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUZKLFVBRUosQ0FGSTtBQUd2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NUQsTUFENEQsQ0FBQSxRQUFBOztBQUc1RCxRQUFJLGNBQWMsQ0FBbEIsUUFBa0IsQ0FBbEIsRUFBOEI7QUFBQSxVQUNwQixTQURvQixHQUM1QixNQUQ0QixDQUFBLFNBQUE7QUFHNUIsMkNBQWtCLE1BQWxCLEVBQTJCLFlBQUE7QUFBQSxlQUFNLFFBQVEsQ0FBUixnQkFBQSxDQUFqQyxTQUFpQyxDQUFOO0FBQTNCLE9BQUE7QUFDQSxhQUFBLE1BQUE7QUFDRDs7QUFFRCxXQUFBLElBQUE7QUFyRkosR0FBQTs7QUFBQSxFQUFBLE1BQUEsQ0FBQSxlQUFBLEdBd0ZFLFNBQUEsZUFBQSxHQUFlO0FBQ2IsV0FBQSxZQUFBO0FBekZKLEdBQUE7O0FBQUEsU0FBQSxzQkFBQTtBQUFBLENBQUEsRUFBQTtBQTZGQTs7Ozs7OztBQUdBLElBQU0sb0JBQU4sR0FDRSxTQUFBLG9CQUFBLENBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxJQUFBLEVBR3dCO0FBRmYsT0FBQSxTQUFBLEdBQUEsU0FBQTtBQUNBLE9BQUEsUUFBQSxHQUFBLFFBQUE7QUFDQSxPQUFBLElBQUEsR0FBQSxJQUFBO0FBSlgsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7XG4gIEFyZ3VtZW50cyxcbiAgQ29tcG9uZW50Q2FwYWJpbGl0aWVzLFxuICBDb21wb25lbnRDYXBhYmlsaXRpZXNWZXJzaW9ucyxcbiAgQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICBDb21wb25lbnRNYW5hZ2VyLFxuICBDb21wb25lbnRNYW5hZ2VyV2l0aEFzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzLFxuICBDb21wb25lbnRNYW5hZ2VyV2l0aEFzeW5jVXBkYXRlSG9vayxcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhEZXN0cnVjdG9ycyxcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhVcGRhdGVIb29rLFxuICBEZXN0cm95YWJsZSxcbiAgSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXRpZXMsXG4gIEludGVybmFsQ29tcG9uZW50TWFuYWdlcixcbiAgT3B0aW9uLFxuICBPd25lcixcbiAgVk1Bcmd1bWVudHMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29uc3RSZWYsIFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZ2xpbW1lci9kZXN0cm95YWJsZSc7XG5pbXBvcnQgeyBidWlsZENhcGFiaWxpdGllcywgRlJPTV9DQVBBQklMSVRJRVMgfSBmcm9tICcuLi91dGlsL2NhcGFiaWxpdGllcyc7XG5pbXBvcnQgeyBhcmdzUHJveHlGb3IgfSBmcm9tICcuLi91dGlsL2FyZ3MtcHJveHknO1xuaW1wb3J0IHsgTWFuYWdlckZhY3RvcnkgfSBmcm9tICcuL2luZGV4JztcblxuY29uc3QgQ0FQQUJJTElUSUVTID0ge1xuICBkeW5hbWljTGF5b3V0OiBmYWxzZSxcbiAgZHluYW1pY1RhZzogZmFsc2UsXG4gIHByZXBhcmVBcmdzOiBmYWxzZSxcbiAgY3JlYXRlQXJnczogdHJ1ZSxcbiAgYXR0cmlidXRlSG9vazogZmFsc2UsXG4gIGVsZW1lbnRIb29rOiBmYWxzZSxcbiAgY3JlYXRlQ2FsbGVyOiBmYWxzZSxcbiAgZHluYW1pY1Njb3BlOiB0cnVlLFxuICB1cGRhdGVIb29rOiB0cnVlLFxuICBjcmVhdGVJbnN0YW5jZTogdHJ1ZSxcbiAgd3JhcHBlZDogZmFsc2UsXG4gIHdpbGxEZXN0cm95OiBmYWxzZSxcbiAgaGFzU3ViT3duZXI6IGZhbHNlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvbmVudENhcGFiaWxpdGllczxWZXJzaW9uIGV4dGVuZHMga2V5b2YgQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnM+KFxuICBtYW5hZ2VyQVBJOiBWZXJzaW9uLFxuICBvcHRpb25zOiBDb21wb25lbnRDYXBhYmlsaXRpZXNWZXJzaW9uc1tWZXJzaW9uXSA9IHt9XG4pOiBDb21wb25lbnRDYXBhYmlsaXRpZXMge1xuICBpZiAoREVCVUcgJiYgbWFuYWdlckFQSSAhPT0gJzMuMTMnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbXBvbmVudCBtYW5hZ2VyIGNvbXBhdGliaWxpdHkgc3BlY2lmaWVkJyk7XG4gIH1cblxuICBsZXQgdXBkYXRlSG9vayA9IEJvb2xlYW4oKG9wdGlvbnMgYXMgQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnNbJzMuMTMnXSkudXBkYXRlSG9vayk7XG5cbiAgcmV0dXJuIGJ1aWxkQ2FwYWJpbGl0aWVzKHtcbiAgICBhc3luY0xpZmVDeWNsZUNhbGxiYWNrczogQm9vbGVhbihvcHRpb25zLmFzeW5jTGlmZWN5Y2xlQ2FsbGJhY2tzKSxcbiAgICBkZXN0cnVjdG9yOiBCb29sZWFuKG9wdGlvbnMuZGVzdHJ1Y3RvciksXG4gICAgdXBkYXRlSG9vayxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrczxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY0xpZmVDeWNsZUNhbGxiYWNrczxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLmFzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMudXBkYXRlSG9vaztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FzeW5jVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGhhc0FzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzKGRlbGVnYXRlKSAmJiBoYXNVcGRhdGVIb29rKGRlbGVnYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0Rlc3RydWN0b3JzPENvbXBvbmVudEluc3RhbmNlPihcbiAgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+XG4pOiBkZWxlZ2F0ZSBpcyBDb21wb25lbnRNYW5hZ2VyV2l0aERlc3RydWN0b3JzPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMuZGVzdHJ1Y3Rvcjtcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Db21wb25lbnRNYW5hZ2VyIGFsbG93cyBhZGRvbnMgdG8gcHJvdmlkZSBjdXN0b20gY29tcG9uZW50XG4gIGltcGxlbWVudGF0aW9ucyB0aGF0IGludGVncmF0ZSBzZWFtbGVzc2x5IGludG8gRW1iZXIuIFRoaXMgaXMgYWNjb21wbGlzaGVkXG4gIHRocm91Z2ggYSBkZWxlZ2F0ZSwgcmVnaXN0ZXJlZCB3aXRoIHRoZSBjdXN0b20gY29tcG9uZW50IG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgY29tcG9uZW50IGJlaGF2aW9yLlxuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBjb21wb25lbnQgbWFuYWdlciwgaW5zdGFudGlhdGUgYSBuZXcgQ3VzdG9tQ29tcG9uZW50TWFuYWdlclxuICBjbGFzcyBhbmQgcGFzcyB0aGUgZGVsZWdhdGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50OlxuXG4gIGBgYGpzXG4gIGxldCBtYW5hZ2VyID0gbmV3IEN1c3RvbUNvbXBvbmVudE1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIGNvbXBvbmVudCwgdGhlIGNvbXBvbmVudCBtYW5hZ2VyIHdpbGwgaW52b2tlXG4gIGRlbGVnYXRlIGhvb2tzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBzdXJmYWNpbmcgdGhvc2UgbGlmZWN5Y2xlIGNoYW5nZXMgdG9cbiAgdGhlIGVuZCBkZXZlbG9wZXIuXG5cbiAgKiBgY3JlYXRlKClgIC0gaW52b2tlZCB3aGVuIGEgbmV3IGluc3RhbmNlIG9mIGEgY29tcG9uZW50IHNob3VsZCBiZSBjcmVhdGVkXG4gICogYHVwZGF0ZSgpYCAtIGludm9rZWQgd2hlbiB0aGUgYXJndW1lbnRzIHBhc3NlZCB0byBhIGNvbXBvbmVudCBjaGFuZ2VcbiAgKiBgZ2V0Q29udGV4dCgpYCAtIHJldHVybnMgdGhlIG9iamVjdCB0aGF0IHNob3VsZCBiZVxuKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21Db21wb25lbnRNYW5hZ2VyPE8gZXh0ZW5kcyBPd25lciwgQ29tcG9uZW50SW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyPEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IE1hbmFnZXJGYWN0b3J5PE8sIENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+Pikge31cblxuICBwcml2YXRlIGdldERlbGVnYXRlRm9yKG93bmVyOiBPKSB7XG4gICAgbGV0IHsgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyB9ID0gdGhpcztcbiAgICBsZXQgZGVsZWdhdGUgPSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLmdldChvd25lcik7XG5cbiAgICBpZiAoZGVsZWdhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHsgZmFjdG9yeSB9ID0gdGhpcztcbiAgICAgIGRlbGVnYXRlID0gZmFjdG9yeShvd25lcik7XG5cbiAgICAgIGlmIChERUJVRyAmJiAhRlJPTV9DQVBBQklMSVRJRVMhLmhhcyhkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMpKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgZXJyb3IgbWVzc2FnZSBzaG91bGQgbWFrZSBzZW5zZSBpbiBib3RoIEVtYmVyIGFuZCBHbGltbWVyIGh0dHBzOi8vZ2l0aHViLmNvbS9nbGltbWVyanMvZ2xpbW1lci12bS9pc3N1ZXMvMTIwMFxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEN1c3RvbSBjb21wb25lbnQgbWFuYWdlcnMgbXVzdCBoYXZlIGEgXFxgY2FwYWJpbGl0aWVzXFxgIHByb3BlcnR5IHRoYXQgaXMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBcXGBjYXBhYmlsaXRpZXMoJzMuNCcgfCAnMy4xMycpXFxgIChpbXBvcnRlZCB2aWEgXFxgaW1wb3J0IHsgY2FwYWJpbGl0aWVzIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudCc7XFxgKS4gUmVjZWl2ZWQ6IFxcYCR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXNcbiAgICAgICAgICApfVxcYCBmb3I6IFxcYCR7ZGVsZWdhdGV9XFxgYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLnNldChvd25lciwgZGVsZWdhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxlZ2F0ZTtcbiAgfVxuXG4gIGNyZWF0ZShcbiAgICBvd25lcjogTyxcbiAgICBkZWZpbml0aW9uOiBDb21wb25lbnREZWZpbml0aW9uU3RhdGUsXG4gICAgdm1BcmdzOiBWTUFyZ3VtZW50c1xuICApOiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4ge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuICAgIGxldCBhcmdzID0gYXJnc1Byb3h5Rm9yKHZtQXJncy5jYXB0dXJlKCksICdjb21wb25lbnQnKTtcblxuICAgIGxldCBjb21wb25lbnQ6IENvbXBvbmVudEluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlQ29tcG9uZW50KGRlZmluaXRpb24sIGFyZ3MpO1xuXG4gICAgcmV0dXJuIG5ldyBDdXN0b21Db21wb25lbnRTdGF0ZShjb21wb25lbnQhLCBkZWxlZ2F0ZSwgYXJncyk7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicgPyBkZWZpbml0aW9uLm5hbWUgOiBkZWZpbml0aW9uLnRvU3RyaW5nKCk7XG4gIH1cblxuICB1cGRhdGUoYnVja2V0OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiB2b2lkIHtcbiAgICBsZXQgeyBkZWxlZ2F0ZSB9ID0gYnVja2V0O1xuICAgIGlmIChoYXNVcGRhdGVIb29rKGRlbGVnYXRlKSkge1xuICAgICAgbGV0IHsgY29tcG9uZW50LCBhcmdzIH0gPSBidWNrZXQ7XG5cbiAgICAgIGRlbGVnYXRlLnVwZGF0ZUNvbXBvbmVudChjb21wb25lbnQsIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIGRpZENyZWF0ZSh7IGNvbXBvbmVudCwgZGVsZWdhdGUgfTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogdm9pZCB7XG4gICAgaWYgKGhhc0FzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzKGRlbGVnYXRlKSkge1xuICAgICAgZGVsZWdhdGUuZGlkQ3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCk7XG4gICAgfVxuICB9XG5cbiAgZGlkVXBkYXRlKHsgY29tcG9uZW50LCBkZWxlZ2F0ZSB9OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQXN5bmNVcGRhdGVIb29rKGRlbGVnYXRlKSkge1xuICAgICAgZGVsZWdhdGUuZGlkVXBkYXRlQ29tcG9uZW50KGNvbXBvbmVudCk7XG4gICAgfVxuICB9XG5cbiAgZGlkUmVuZGVyTGF5b3V0KCk6IHZvaWQge31cblxuICBkaWRVcGRhdGVMYXlvdXQoKTogdm9pZCB7fVxuXG4gIGdldFNlbGYoeyBjb21wb25lbnQsIGRlbGVnYXRlIH06IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIGNyZWF0ZUNvbnN0UmVmKGRlbGVnYXRlLmdldENvbnRleHQoY29tcG9uZW50KSwgJ3RoaXMnKTtcbiAgfVxuXG4gIGdldERlc3Ryb3lhYmxlKGJ1Y2tldDogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogT3B0aW9uPERlc3Ryb3lhYmxlPiB7XG4gICAgY29uc3QgeyBkZWxlZ2F0ZSB9ID0gYnVja2V0O1xuXG4gICAgaWYgKGhhc0Rlc3RydWN0b3JzKGRlbGVnYXRlKSkge1xuICAgICAgY29uc3QgeyBjb21wb25lbnQgfSA9IGJ1Y2tldDtcblxuICAgICAgcmVnaXN0ZXJEZXN0cnVjdG9yKGJ1Y2tldCwgKCkgPT4gZGVsZWdhdGUuZGVzdHJveUNvbXBvbmVudChjb21wb25lbnQpKTtcbiAgICAgIHJldHVybiBidWNrZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRDYXBhYmlsaXRpZXMoKTogSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXRpZXMge1xuICAgIHJldHVybiBDQVBBQklMSVRJRVM7XG4gIH1cbn1cblxuLyoqXG4gKiBTdG9yZXMgaW50ZXJuYWwgc3RhdGUgYWJvdXQgYSBjb21wb25lbnQgaW5zdGFuY2UgYWZ0ZXIgaXQncyBiZWVuIGNyZWF0ZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tcG9uZW50OiBDb21wb25lbnRJbnN0YW5jZSxcbiAgICBwdWJsaWMgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+LFxuICAgIHB1YmxpYyBhcmdzOiBBcmd1bWVudHNcbiAgKSB7fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBa0JBOztBQUNBOztBQUNBOztBQUNBOztBQUdBLElBQU0sWUFBWSxHQUFHO0FBQ25CLEVBQUEsYUFBYSxFQURNLEtBQUE7QUFFbkIsRUFBQSxVQUFVLEVBRlMsS0FBQTtBQUduQixFQUFBLFdBQVcsRUFIUSxLQUFBO0FBSW5CLEVBQUEsVUFBVSxFQUpTLElBQUE7QUFLbkIsRUFBQSxhQUFhLEVBTE0sS0FBQTtBQU1uQixFQUFBLFdBQVcsRUFOUSxLQUFBO0FBT25CLEVBQUEsWUFBWSxFQVBPLEtBQUE7QUFRbkIsRUFBQSxZQUFZLEVBUk8sSUFBQTtBQVNuQixFQUFBLFVBQVUsRUFUUyxJQUFBO0FBVW5CLEVBQUEsY0FBYyxFQVZLLElBQUE7QUFXbkIsRUFBQSxPQUFPLEVBWFksS0FBQTtBQVluQixFQUFBLFdBQVcsRUFaUSxLQUFBO0FBYW5CLEVBQUEsV0FBVyxFQUFFO0FBYk0sQ0FBckI7O0FBZ0JNLFNBQUEscUJBQUEsQ0FBQSxVQUFBLEVBQUEsT0FBQSxFQUVnRDtBQUFBLE1BQXBELE9BQW9ELEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFBcEQsSUFBQSxPQUFvRCxHQUZoRCxFQUVKO0FBQW9EOztBQUVwRCxNQUFJLGNBQVMsVUFBVSxLQUF2QixNQUFBLEVBQW9DO0FBQ2xDLFVBQU0sSUFBQSxLQUFBLENBQU4sbURBQU0sQ0FBTjtBQUNEOztBQUVELE1BQUksVUFBVSxHQUFHLE9BQU8sQ0FBRSxPQUFpRCxDQUEzRSxVQUF3QixDQUF4QjtBQUVBLFNBQU8scUNBQWtCO0FBQ3ZCLElBQUEsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FEakIsdUJBQ1MsQ0FEVDtBQUV2QixJQUFBLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUZKLFVBRUosQ0FGSTtBQUd2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NUQsTUFENEQsQ0FBQSxRQUFBOztBQUc1RCxRQUFJLGNBQWMsQ0FBbEIsUUFBa0IsQ0FBbEIsRUFBOEI7QUFBQSxVQUNwQixTQURvQixHQUM1QixNQUQ0QixDQUFBLFNBQUE7QUFHNUIsMkNBQWtCLE1BQWxCLEVBQTJCLFlBQUE7QUFBQSxlQUFNLFFBQVEsQ0FBUixnQkFBQSxDQUFqQyxTQUFpQyxDQUFOO0FBQTNCLE9BQUE7QUFDQSxhQUFBLE1BQUE7QUFDRDs7QUFFRCxXQUFBLElBQUE7QUFyRkosR0FBQTs7QUFBQSxFQUFBLE1BQUEsQ0FBQSxlQUFBLEdBd0ZFLFNBQUEsZUFBQSxHQUFlO0FBQ2IsV0FBQSxZQUFBO0FBekZKLEdBQUE7O0FBQUEsU0FBQSxzQkFBQTtBQUFBLENBQUEsRUFBQTtBQTZGQTs7Ozs7OztBQUdBLElBQU0sb0JBQU4sR0FDRSxTQUFBLG9CQUFBLENBQUEsU0FBQSxFQUFBLFFBQUEsRUFBQSxJQUFBLEVBR3dCO0FBRmYsT0FBQSxTQUFBLEdBQUEsU0FBQTtBQUNBLE9BQUEsUUFBQSxHQUFBLFFBQUE7QUFDQSxPQUFBLElBQUEsR0FBQSxJQUFBO0FBSlgsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7XG4gIEFyZ3VtZW50cyxcbiAgQ29tcG9uZW50Q2FwYWJpbGl0aWVzLFxuICBDb21wb25lbnRDYXBhYmlsaXRpZXNWZXJzaW9ucyxcbiAgQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICBDb21wb25lbnRNYW5hZ2VyLFxuICBDb21wb25lbnRNYW5hZ2VyV2l0aEFzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzLFxuICBDb21wb25lbnRNYW5hZ2VyV2l0aEFzeW5jVXBkYXRlSG9vayxcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhEZXN0cnVjdG9ycyxcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhVcGRhdGVIb29rLFxuICBEZXN0cm95YWJsZSxcbiAgSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXRpZXMsXG4gIEludGVybmFsQ29tcG9uZW50TWFuYWdlcixcbiAgT3B0aW9uLFxuICBPd25lcixcbiAgVk1Bcmd1bWVudHMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ29uc3RSZWYsIFJlZmVyZW5jZSB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZ2xpbW1lci9kZXN0cm95YWJsZSc7XG5pbXBvcnQgeyBidWlsZENhcGFiaWxpdGllcywgRlJPTV9DQVBBQklMSVRJRVMgfSBmcm9tICcuLi91dGlsL2NhcGFiaWxpdGllcyc7XG5pbXBvcnQgeyBhcmdzUHJveHlGb3IgfSBmcm9tICcuLi91dGlsL2FyZ3MtcHJveHknO1xuaW1wb3J0IHsgTWFuYWdlckZhY3RvcnkgfSBmcm9tICcuL2luZGV4JztcblxuY29uc3QgQ0FQQUJJTElUSUVTID0ge1xuICBkeW5hbWljTGF5b3V0OiBmYWxzZSxcbiAgZHluYW1pY1RhZzogZmFsc2UsXG4gIHByZXBhcmVBcmdzOiBmYWxzZSxcbiAgY3JlYXRlQXJnczogdHJ1ZSxcbiAgYXR0cmlidXRlSG9vazogZmFsc2UsXG4gIGVsZW1lbnRIb29rOiBmYWxzZSxcbiAgY3JlYXRlQ2FsbGVyOiBmYWxzZSxcbiAgZHluYW1pY1Njb3BlOiB0cnVlLFxuICB1cGRhdGVIb29rOiB0cnVlLFxuICBjcmVhdGVJbnN0YW5jZTogdHJ1ZSxcbiAgd3JhcHBlZDogZmFsc2UsXG4gIHdpbGxEZXN0cm95OiBmYWxzZSxcbiAgaGFzU3ViT3duZXI6IGZhbHNlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvbmVudENhcGFiaWxpdGllczxWZXJzaW9uIGV4dGVuZHMga2V5b2YgQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnM+KFxuICBtYW5hZ2VyQVBJOiBWZXJzaW9uLFxuICBvcHRpb25zOiBDb21wb25lbnRDYXBhYmlsaXRpZXNWZXJzaW9uc1tWZXJzaW9uXSA9IHt9XG4pOiBDb21wb25lbnRDYXBhYmlsaXRpZXMge1xuICBpZiAoREVCVUcgJiYgbWFuYWdlckFQSSAhPT0gJzMuMTMnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbXBvbmVudCBtYW5hZ2VyIGNvbXBhdGliaWxpdHkgc3BlY2lmaWVkJyk7XG4gIH1cblxuICBsZXQgdXBkYXRlSG9vayA9IEJvb2xlYW4oKG9wdGlvbnMgYXMgQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnNbJzMuMTMnXSkudXBkYXRlSG9vayk7XG5cbiAgcmV0dXJuIGJ1aWxkQ2FwYWJpbGl0aWVzKHtcbiAgICBhc3luY0xpZmVDeWNsZUNhbGxiYWNrczogQm9vbGVhbihvcHRpb25zLmFzeW5jTGlmZWN5Y2xlQ2FsbGJhY2tzKSxcbiAgICBkZXN0cnVjdG9yOiBCb29sZWFuKG9wdGlvbnMuZGVzdHJ1Y3RvciksXG4gICAgdXBkYXRlSG9vayxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrczxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY0xpZmVDeWNsZUNhbGxiYWNrczxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLmFzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMudXBkYXRlSG9vaztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FzeW5jVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGhhc0FzeW5jTGlmZUN5Y2xlQ2FsbGJhY2tzKGRlbGVnYXRlKSAmJiBoYXNVcGRhdGVIb29rKGRlbGVnYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0Rlc3RydWN0b3JzPENvbXBvbmVudEluc3RhbmNlPihcbiAgZGVsZWdhdGU6IENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+XG4pOiBkZWxlZ2F0ZSBpcyBDb21wb25lbnRNYW5hZ2VyV2l0aERlc3RydWN0b3JzPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMuZGVzdHJ1Y3Rvcjtcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Db21wb25lbnRNYW5hZ2VyIGFsbG93cyBhZGRvbnMgdG8gcHJvdmlkZSBjdXN0b20gY29tcG9uZW50XG4gIGltcGxlbWVudGF0aW9ucyB0aGF0IGludGVncmF0ZSBzZWFtbGVzc2x5IGludG8gRW1iZXIuIFRoaXMgaXMgYWNjb21wbGlzaGVkXG4gIHRocm91Z2ggYSBkZWxlZ2F0ZSwgcmVnaXN0ZXJlZCB3aXRoIHRoZSBjdXN0b20gY29tcG9uZW50IG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgY29tcG9uZW50IGJlaGF2aW9yLlxuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBjb21wb25lbnQgbWFuYWdlciwgaW5zdGFudGlhdGUgYSBuZXcgQ3VzdG9tQ29tcG9uZW50TWFuYWdlclxuICBjbGFzcyBhbmQgcGFzcyB0aGUgZGVsZWdhdGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50OlxuXG4gIGBgYGpzXG4gIGxldCBtYW5hZ2VyID0gbmV3IEN1c3RvbUNvbXBvbmVudE1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIGNvbXBvbmVudCwgdGhlIGNvbXBvbmVudCBtYW5hZ2VyIHdpbGwgaW52b2tlXG4gIGRlbGVnYXRlIGhvb2tzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBzdXJmYWNpbmcgdGhvc2UgbGlmZWN5Y2xlIGNoYW5nZXMgdG9cbiAgdGhlIGVuZCBkZXZlbG9wZXIuXG5cbiAgKiBgY3JlYXRlKClgIC0gaW52b2tlZCB3aGVuIGEgbmV3IGluc3RhbmNlIG9mIGEgY29tcG9uZW50IHNob3VsZCBiZSBjcmVhdGVkXG4gICogYHVwZGF0ZSgpYCAtIGludm9rZWQgd2hlbiB0aGUgYXJndW1lbnRzIHBhc3NlZCB0byBhIGNvbXBvbmVudCBjaGFuZ2VcbiAgKiBgZ2V0Q29udGV4dCgpYCAtIHJldHVybnMgdGhlIG9iamVjdCB0aGF0IHNob3VsZCBiZVxuKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21Db21wb25lbnRNYW5hZ2VyPE8gZXh0ZW5kcyBPd25lciwgQ29tcG9uZW50SW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyPEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IE1hbmFnZXJGYWN0b3J5PE8sIENvbXBvbmVudE1hbmFnZXI8Q29tcG9uZW50SW5zdGFuY2U+Pikge31cblxuICBwcml2YXRlIGdldERlbGVnYXRlRm9yKG93bmVyOiBPKSB7XG4gICAgbGV0IHsgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyB9ID0gdGhpcztcbiAgICBsZXQgZGVsZWdhdGUgPSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLmdldChvd25lcik7XG5cbiAgICBpZiAoZGVsZWdhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHsgZmFjdG9yeSB9ID0gdGhpcztcbiAgICAgIGRlbGVnYXRlID0gZmFjdG9yeShvd25lcik7XG5cbiAgICAgIGlmIChERUJVRyAmJiAhRlJPTV9DQVBBQklMSVRJRVMhLmhhcyhkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMpKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgZXJyb3IgbWVzc2FnZSBzaG91bGQgbWFrZSBzZW5zZSBpbiBib3RoIEVtYmVyIGFuZCBHbGltbWVyIGh0dHBzOi8vZ2l0aHViLmNvbS9nbGltbWVyanMvZ2xpbW1lci12bS9pc3N1ZXMvMTIwMFxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEN1c3RvbSBjb21wb25lbnQgbWFuYWdlcnMgbXVzdCBoYXZlIGEgXFxgY2FwYWJpbGl0aWVzXFxgIHByb3BlcnR5IHRoYXQgaXMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBcXGBjYXBhYmlsaXRpZXMoJzMuMTMnKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQnO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUoXG4gICAgb3duZXI6IE8sXG4gICAgZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICAgIHZtQXJnczogVk1Bcmd1bWVudHNcbiAgKTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgICBsZXQgZGVsZWdhdGUgPSB0aGlzLmdldERlbGVnYXRlRm9yKG93bmVyKTtcbiAgICBsZXQgYXJncyA9IGFyZ3NQcm94eUZvcih2bUFyZ3MuY2FwdHVyZSgpLCAnY29tcG9uZW50Jyk7XG5cbiAgICBsZXQgY29tcG9uZW50OiBDb21wb25lbnRJbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZUNvbXBvbmVudChkZWZpbml0aW9uLCBhcmdzKTtcblxuICAgIHJldHVybiBuZXcgQ3VzdG9tQ29tcG9uZW50U3RhdGUoY29tcG9uZW50ISwgZGVsZWdhdGUsIGFyZ3MpO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nID8gZGVmaW5pdGlvbi5uYW1lIDogZGVmaW5pdGlvbi50b1N0cmluZygpO1xuICB9XG5cbiAgdXBkYXRlKGJ1Y2tldDogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogdm9pZCB7XG4gICAgbGV0IHsgZGVsZWdhdGUgfSA9IGJ1Y2tldDtcbiAgICBpZiAoaGFzVXBkYXRlSG9vayhkZWxlZ2F0ZSkpIHtcbiAgICAgIGxldCB7IGNvbXBvbmVudCwgYXJncyB9ID0gYnVja2V0O1xuXG4gICAgICBkZWxlZ2F0ZS51cGRhdGVDb21wb25lbnQoY29tcG9uZW50LCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBkaWRDcmVhdGUoeyBjb21wb25lbnQsIGRlbGVnYXRlIH06IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGlmIChoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyhkZWxlZ2F0ZSkpIHtcbiAgICAgIGRlbGVnYXRlLmRpZENyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGRpZFVwZGF0ZSh7IGNvbXBvbmVudCwgZGVsZWdhdGUgfTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogdm9pZCB7XG4gICAgaWYgKGhhc0FzeW5jVXBkYXRlSG9vayhkZWxlZ2F0ZSkpIHtcbiAgICAgIGRlbGVnYXRlLmRpZFVwZGF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGRpZFJlbmRlckxheW91dCgpOiB2b2lkIHt9XG5cbiAgZGlkVXBkYXRlTGF5b3V0KCk6IHZvaWQge31cblxuICBnZXRTZWxmKHsgY29tcG9uZW50LCBkZWxlZ2F0ZSB9OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiBSZWZlcmVuY2Uge1xuICAgIHJldHVybiBjcmVhdGVDb25zdFJlZihkZWxlZ2F0ZS5nZXRDb250ZXh0KGNvbXBvbmVudCksICd0aGlzJyk7XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShidWNrZXQ6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IE9wdGlvbjxEZXN0cm95YWJsZT4ge1xuICAgIGNvbnN0IHsgZGVsZWdhdGUgfSA9IGJ1Y2tldDtcblxuICAgIGlmIChoYXNEZXN0cnVjdG9ycyhkZWxlZ2F0ZSkpIHtcbiAgICAgIGNvbnN0IHsgY29tcG9uZW50IH0gPSBidWNrZXQ7XG5cbiAgICAgIHJlZ2lzdGVyRGVzdHJ1Y3RvcihidWNrZXQsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lDb21wb25lbnQoY29tcG9uZW50KSk7XG4gICAgICByZXR1cm4gYnVja2V0O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZ2V0Q2FwYWJpbGl0aWVzKCk6IEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzIHtcbiAgICByZXR1cm4gQ0FQQUJJTElUSUVTO1xuICB9XG59XG5cbi8qKlxuICogU3RvcmVzIGludGVybmFsIHN0YXRlIGFib3V0IGEgY29tcG9uZW50IGluc3RhbmNlIGFmdGVyIGl0J3MgYmVlbiBjcmVhdGVkLlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbXBvbmVudDogQ29tcG9uZW50SW5zdGFuY2UsXG4gICAgcHVibGljIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPixcbiAgICBwdWJsaWMgYXJnczogQXJndW1lbnRzXG4gICkge31cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=

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

// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error("Custom modifier managers must have a `capabilities` property that is the result of calling the `capabilities('3.13' | '3.22')` (imported via `import { capabilities } from '@ember/modifier';`). Received: `" + JSON.stringify(delegate.capabilities) + "` for: `" + delegate + "`");
throw new Error("Custom modifier managers must have a `capabilities` property that is the result of calling the `capabilities('3.22')` (imported via `import { capabilities } from '@ember/modifier';`). Received: `" + JSON.stringify(delegate.capabilities) + "` for: `" + delegate + "`");
}

@@ -180,2 +180,2 @@

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFHTSxTQUFBLG9CQUFBLENBQUEsVUFBQSxFQUFBLGdCQUFBLEVBRXdEO0FBQUEsTUFBNUQsZ0JBQTRELEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFBNUQsSUFBQSxnQkFBNEQsR0FGeEQsRUFFSjtBQUE0RDs7QUFFNUQsTUFBSSxjQUFTLFVBQVUsS0FBdkIsTUFBQSxFQUFvQztBQUNsQyxVQUFNLElBQUEsS0FBQSxDQUFOLGtEQUFNLENBQU47QUFDRDs7QUFFRCxTQUFPLHFDQUFrQjtBQUN2QixJQUFBLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBakIsbUJBQUE7QUFETCxHQUFsQixDQUFQO0FBR0Q7QUFXRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsSUFBTSxxQkFBTixHQUFBLGFBQUEsWUFBQTtBQUlFLFdBQUEscUJBQUEsQ0FBQSxPQUFBLEVBQWlGO0FBQTdELFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFGWixTQUFBLHlCQUFBLEdBQTRCLElBQTVCLE9BQTRCLEVBQTVCO0FBRTZFOztBQUp2RixNQUFBLE1BQUEsR0FBQSxxQkFBQSxDQUFBLFNBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsY0FBQSxHQU1VLFNBQUEsY0FBQSxDQUFBLEtBQUEsRUFBdUI7QUFBQSxRQUN2Qix5QkFEdUIsR0FBQSxLQUFBLHlCQUFBO0FBRTdCLFFBQUksUUFBUSxHQUFHLHlCQUF5QixDQUF6QixHQUFBLENBQWYsS0FBZSxDQUFmOztBQUVBLFFBQUksUUFBUSxLQUFaLFNBQUEsRUFBNEI7QUFBQSxVQUNwQixPQURvQixHQUFBLEtBQUEsT0FBQTtBQUUxQixNQUFBLFFBQVEsR0FBRyxPQUFPLENBQWxCLEtBQWtCLENBQWxCOztBQUVBLFVBQUksY0FBUyxDQUFDLGdDQUFBLEdBQUEsQ0FBdUIsUUFBUSxDQUE3QyxZQUFjLENBQWQsRUFBNkQ7QUFDM0Q7QUFDQSxjQUFNLElBQUEsS0FBQSxDQUFBLGlOQUNrTixJQUFJLENBQUosU0FBQSxDQUNwTixRQUFRLENBRk4sWUFDa04sQ0FEbE4sR0FBQSxVQUFBLEdBQU4sUUFBTSxHQUFOLEdBQU0sQ0FBTjtBQUtEOztBQUVELE1BQUEseUJBQXlCLENBQXpCLEdBQUEsQ0FBQSxLQUFBLEVBQUEsUUFBQTtBQUNEOztBQUVELFdBQUEsUUFBQTtBQTFCSixHQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLE1BQUEsR0E2QkUsU0FBQSxNQUFBLENBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxVQUFBLEVBQUEsWUFBQSxFQUE0RjtBQUMxRixRQUFJLFFBQVEsR0FBRyxLQUFBLGNBQUEsQ0FBZixLQUFlLENBQWY7QUFFQSxRQUFJLElBQUksR0FBRyw2QkFBWSxZQUFaLEVBQVgsVUFBVyxDQUFYO0FBQ0EsUUFBSSxRQUFRLEdBQXFCLFFBQVEsQ0FBUixjQUFBLENBQUEsVUFBQSxFQUFqQyxJQUFpQyxDQUFqQztBQUVBLFFBQUksR0FBRyxHQUFQLG9DQUFBO0FBQ0EsUUFBQSxLQUFBO0FBRUEsSUFBQSxLQUFLLEdBQUc7QUFDTixNQUFBLEdBRE0sRUFBQSxHQUFBO0FBRU4sTUFBQSxPQUZNLEVBQUEsT0FBQTtBQUdOLE1BQUEsUUFITSxFQUFBLFFBQUE7QUFJTixNQUFBLElBSk0sRUFBQSxJQUFBO0FBS04sTUFBQSxRQUFRLEVBQUU7QUFMSixLQUFSOztBQVFBLFFBQUEsVUFBQSxFQUFXO0FBQ1QsTUFBQSxLQUFLLENBQUwsU0FBQSxHQUFrQixPQUFBLFVBQUEsS0FBQSxVQUFBLEdBQW1DLFVBQVUsQ0FBN0MsSUFBQSxHQUFxRCxVQUFVLENBQWpGLFFBQXVFLEVBQXZFO0FBQ0Q7O0FBRUQseUNBQWtCLEtBQWxCLEVBQTBCLFlBQUE7QUFBQSxhQUFNLFFBQVEsQ0FBUixlQUFBLENBQUEsUUFBQSxFQUFoQyxJQUFnQyxDQUFOO0FBQTFCLEtBQUE7QUFFQSxXQUFBLEtBQUE7QUFwREosR0FBQTs7QUFBQSxFQUFBLE1BQUEsQ0FBQSxZQUFBLEdBdURFLFNBQUEsWUFBQSxDQUFBLElBQUEsRUFBaUU7QUFBQSxRQUFsRCxTQUFrRCxHQUFBLElBQUEsQ0FBbEQsU0FBa0Q7QUFDL0QsV0FBQSxTQUFBO0FBeERKLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsTUFBQSxHQTJERSxTQUFBLE1BQUEsQ0FBQSxLQUFBLEVBQXFEO0FBQUEsUUFBNUMsR0FBNEMsR0FBQSxLQUFBLENBQTVDLEdBQTRDO0FBQ25ELFdBQUEsR0FBQTtBQTVESixHQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLE9BQUEsR0ErREUsU0FBQSxPQUFBLENBQUEsS0FBQSxFQUFvRjtBQUFBLFFBQTVFLE9BQTRFLEdBQUEsS0FBQSxDQUE1RSxPQUE0RTtBQUFBLFFBQTVFLElBQTRFLEdBQUEsS0FBQSxDQUE1RSxJQUE0RTtBQUFBLFFBQTVFLFFBQTRFLEdBQUEsS0FBQSxDQUE1RSxRQUE0RTtBQUFBLFFBQWpELFFBQWlELEdBQUEsS0FBQSxDQUFqRCxRQUFpRDtBQUFBLFFBQzVFLFlBRDRFLEdBQ2xGLFFBRGtGLENBQUEsWUFBQTs7QUFHbEYsUUFBSSxZQUFZLENBQVosbUJBQUEsS0FBSixJQUFBLEVBQStDO0FBQzdDLDhCQUFRLFlBQUE7QUFBQSxlQUFNLFFBQVEsQ0FBUixlQUFBLENBQUEsUUFBQSxFQUFBLE9BQUEsRUFBZCxJQUFjLENBQU47QUFBUixPQUFBO0FBREYsS0FBQSxNQUVPO0FBQ0wsTUFBQSxRQUFRLENBQVIsZUFBQSxDQUFBLFFBQUEsRUFBQSxPQUFBLEVBQUEsSUFBQTtBQUNEO0FBdEVMLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsTUFBQSxHQXlFRSxTQUFBLE1BQUEsQ0FBQSxLQUFBLEVBQTBFO0FBQUEsUUFBbkUsSUFBbUUsR0FBQSxLQUFBLENBQW5FLElBQW1FO0FBQUEsUUFBbkUsUUFBbUUsR0FBQSxLQUFBLENBQW5FLFFBQW1FO0FBQUEsUUFBakQsUUFBaUQsR0FBQSxLQUFBLENBQWpELFFBQWlEO0FBQUEsUUFDbEUsWUFEa0UsR0FDeEUsUUFEd0UsQ0FBQSxZQUFBOztBQUd4RSxRQUFJLFlBQVksQ0FBWixtQkFBQSxLQUFKLElBQUEsRUFBK0M7QUFDN0MsOEJBQVEsWUFBQTtBQUFBLGVBQU0sUUFBUSxDQUFSLGNBQUEsQ0FBQSxRQUFBLEVBQWQsSUFBYyxDQUFOO0FBQVIsT0FBQTtBQURGLEtBQUEsTUFFTztBQUNMLE1BQUEsUUFBUSxDQUFSLGNBQUEsQ0FBQSxRQUFBLEVBQUEsSUFBQTtBQUNEO0FBaEZMLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsY0FBQSxHQW1GRSxTQUFBLGNBQUEsQ0FBQSxLQUFBLEVBQTJEO0FBQ3pELFdBQUEsS0FBQTtBQXBGSixHQUFBOztBQUFBLFNBQUEscUJBQUE7QUFBQSxDQUFBLEVBQUE7Ozs7QUF3Rk0sU0FBQSxTQUFBLENBQUEsS0FBQSxFQUdjO0FBQUEsTUFITSxLQUdOLEdBQUEsS0FBQSxDQUhNLEtBR047QUFBQSxNQURsQixVQUNrQixHQUFBLEtBQUEsQ0FEbEIsVUFDa0I7QUFDbEIsTUFBSSxZQUFZLEdBQWhCLGlCQUFBOztBQUVBLE9BQUssSUFBTCxHQUFBLElBQUEsS0FBQSxFQUF1QjtBQUNyQixJQUFBLFlBQVksQ0FBWixHQUFZLENBQVosR0FBb0IsNEJBQVksS0FBSyxDQUFyQyxHQUFxQyxDQUFqQixDQUFwQjtBQUNEOztBQUVELE1BQUksaUJBQWlCLEdBQUcsVUFBVSxDQUFWLEdBQUEsQ0FBeEIsc0JBQXdCLENBQXhCO0FBRUEsU0FBTztBQUNMLElBQUEsS0FBSyxFQURBLFlBQUE7QUFFTCxJQUFBLFVBQVUsRUFBRTtBQUZQLEdBQVA7QUFJRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7XG4gIEFyZ3VtZW50cyxcbiAgQ2FwdHVyZWRBcmd1bWVudHMsXG4gIEludGVybmFsTW9kaWZpZXJNYW5hZ2VyLFxuICBNb2RpZmllckNhcGFiaWxpdGllcyxcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9ucyxcbiAgTW9kaWZpZXJNYW5hZ2VyLFxuICBPd25lcixcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZ2xpbW1lci9kZXN0cm95YWJsZSc7XG5pbXBvcnQgeyB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBjYXN0VG9Ccm93c2VyLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBjcmVhdGVVcGRhdGFibGVUYWcsIHVudHJhY2ssIFVwZGF0YWJsZVRhZyB9IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBTaW1wbGVFbGVtZW50IH0gZnJvbSAnQHNpbXBsZS1kb20vaW50ZXJmYWNlJztcbmltcG9ydCB7IGJ1aWxkQ2FwYWJpbGl0aWVzLCBGUk9NX0NBUEFCSUxJVElFUyB9IGZyb20gJy4uL3V0aWwvY2FwYWJpbGl0aWVzJztcbmltcG9ydCB7IGFyZ3NQcm94eUZvciB9IGZyb20gJy4uL3V0aWwvYXJncy1wcm94eSc7XG5pbXBvcnQgeyBNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4nO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZpZXJDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnM+KFxuICBtYW5hZ2VyQVBJOiBWZXJzaW9uLFxuICBvcHRpb25hbEZlYXR1cmVzOiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zW1ZlcnNpb25dID0ge31cbik6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjIyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RpZmllciBtYW5hZ2VyIGNvbXBhdGliaWxpdHkgc3BlY2lmaWVkJyk7XG4gIH1cblxuICByZXR1cm4gYnVpbGRDYXBhYmlsaXRpZXMoe1xuICAgIGRpc2FibGVBdXRvVHJhY2tpbmc6IEJvb2xlYW4ob3B0aW9uYWxGZWF0dXJlcy5kaXNhYmxlQXV0b1RyYWNraW5nKSxcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPiB7XG4gIHRhZzogVXBkYXRhYmxlVGFnO1xuICBlbGVtZW50OiBTaW1wbGVFbGVtZW50O1xuICBtb2RpZmllcjogTW9kaWZpZXJJbnN0YW5jZTtcbiAgZGVsZWdhdGU6IE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPjtcbiAgYXJnczogQXJndW1lbnRzO1xuICBkZWJ1Z05hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICBUaGUgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyIGFsbG93cyBhZGRvbnMgdG8gcHJvdmlkZSBjdXN0b20gbW9kaWZpZXJcbiAgaW1wbGVtZW50YXRpb25zIHRoYXQgaW50ZWdyYXRlIHNlYW1sZXNzbHkgaW50byBFbWJlci4gVGhpcyBpcyBhY2NvbXBsaXNoZWRcbiAgdGhyb3VnaCBhIGRlbGVnYXRlLCByZWdpc3RlcmVkIHdpdGggdGhlIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCB3aGljaFxuICBpbXBsZW1lbnRzIGEgc2V0IG9mIGhvb2tzIHRoYXQgZGV0ZXJtaW5lIG1vZGlmaWVyIGJlaGF2aW9yLlxuICBUbyBjcmVhdGUgYSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgaW5zdGFudGlhdGUgYSBuZXcgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyXG4gIGNsYXNzIGFuZCBwYXNzIHRoZSBkZWxlZ2F0ZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQ6XG5cbiAgYGBganNcbiAgbGV0IG1hbmFnZXIgPSBuZXcgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyKHtcbiAgICAvLyAuLi5kZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4uLlxuICB9KTtcbiAgYGBgXG5cbiAgIyMgRGVsZWdhdGUgSG9va3NcblxuICBUaHJvdWdob3V0IHRoZSBsaWZlY3ljbGUgb2YgYSBtb2RpZmllciwgdGhlIG1vZGlmaWVyIG1hbmFnZXIgd2lsbCBpbnZva2VcbiAgZGVsZWdhdGUgaG9va3MgdGhhdCBhcmUgcmVzcG9uc2libGUgZm9yIHN1cmZhY2luZyB0aG9zZSBsaWZlY3ljbGUgY2hhbmdlcyB0b1xuICB0aGUgZW5kIGRldmVsb3Blci5cbiAgKiBgY3JlYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gYSBuZXcgaW5zdGFuY2Ugb2YgYSBtb2RpZmllciBzaG91bGQgYmUgY3JlYXRlZFxuICAqIGBpbnN0YWxsTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIG1vZGlmaWVyIGlzIGluc3RhbGxlZCBvbiB0aGUgZWxlbWVudFxuICAqIGB1cGRhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgYXJndW1lbnRzIHBhc3NlZCB0byBhIG1vZGlmaWVyIGNoYW5nZVxuICAqIGBkZXN0cm95TW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIG1vZGlmaWVyIGlzIGFib3V0IHRvIGJlIGRlc3Ryb3llZFxuKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21Nb2RpZmllck1hbmFnZXI8TyBleHRlbmRzIE93bmVyLCBNb2RpZmllckluc3RhbmNlPlxuICBpbXBsZW1lbnRzIEludGVybmFsTW9kaWZpZXJNYW5hZ2VyPEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4+IHtcbiAgcHJpdmF0ZSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzID0gbmV3IFdlYWtNYXA8TywgTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogTWFuYWdlckZhY3Rvcnk8TywgTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+Pikge31cblxuICBwcml2YXRlIGdldERlbGVnYXRlRm9yKG93bmVyOiBPKSB7XG4gICAgbGV0IHsgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyB9ID0gdGhpcztcbiAgICBsZXQgZGVsZWdhdGUgPSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLmdldChvd25lcik7XG5cbiAgICBpZiAoZGVsZWdhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHsgZmFjdG9yeSB9ID0gdGhpcztcbiAgICAgIGRlbGVnYXRlID0gZmFjdG9yeShvd25lcik7XG5cbiAgICAgIGlmIChERUJVRyAmJiAhRlJPTV9DQVBBQklMSVRJRVMhLmhhcyhkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMpKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgZXJyb3IgbWVzc2FnZSBzaG91bGQgbWFrZSBzZW5zZSBpbiBib3RoIEVtYmVyIGFuZCBHbGltbWVyIGh0dHBzOi8vZ2l0aHViLmNvbS9nbGltbWVyanMvZ2xpbW1lci12bS9pc3N1ZXMvMTIwMFxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEN1c3RvbSBtb2RpZmllciBtYW5hZ2VycyBtdXN0IGhhdmUgYSBcXGBjYXBhYmlsaXRpZXNcXGAgcHJvcGVydHkgdGhhdCBpcyB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIFxcYGNhcGFiaWxpdGllcygnMy4xMycgfCAnMy4yMicpXFxgIChpbXBvcnRlZCB2aWEgXFxgaW1wb3J0IHsgY2FwYWJpbGl0aWVzIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcXGApLiBSZWNlaXZlZDogXFxgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIGRlbGVnYXRlLmNhcGFiaWxpdGllc1xuICAgICAgICAgICl9XFxgIGZvcjogXFxgJHtkZWxlZ2F0ZX1cXGBgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuc2V0KG93bmVyLCBkZWxlZ2F0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbGVnYXRlO1xuICB9XG5cbiAgY3JlYXRlKG93bmVyOiBPLCBlbGVtZW50OiBTaW1wbGVFbGVtZW50LCBkZWZpbml0aW9uOiBvYmplY3QsIGNhcHR1cmVkQXJnczogQ2FwdHVyZWRBcmd1bWVudHMpIHtcbiAgICBsZXQgZGVsZWdhdGUgPSB0aGlzLmdldERlbGVnYXRlRm9yKG93bmVyKTtcblxuICAgIGxldCBhcmdzID0gYXJnc1Byb3h5Rm9yKGNhcHR1cmVkQXJncywgJ21vZGlmaWVyJyk7XG4gICAgbGV0IGluc3RhbmNlOiBNb2RpZmllckluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlTW9kaWZpZXIoZGVmaW5pdGlvbiwgYXJncyk7XG5cbiAgICBsZXQgdGFnID0gY3JlYXRlVXBkYXRhYmxlVGFnKCk7XG4gICAgbGV0IHN0YXRlOiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+O1xuXG4gICAgc3RhdGUgPSB7XG4gICAgICB0YWcsXG4gICAgICBlbGVtZW50LFxuICAgICAgZGVsZWdhdGUsXG4gICAgICBhcmdzLFxuICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICB9O1xuXG4gICAgaWYgKERFQlVHKSB7XG4gICAgICBzdGF0ZS5kZWJ1Z05hbWUgPSB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3Ioc3RhdGUsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lNb2RpZmllcihpbnN0YW5jZSwgYXJncykpO1xuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKHsgZGVidWdOYW1lIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gZGVidWdOYW1lITtcbiAgfVxuXG4gIGdldFRhZyh7IHRhZyB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIGluc3RhbGwoeyBlbGVtZW50LCBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZSh7IGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaWZ5QXJncyh7XG4gIG5hbWVkLFxuICBwb3NpdGlvbmFsLFxufTogQ2FwdHVyZWRBcmd1bWVudHMpOiB7IG5hbWVkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcG9zaXRpb25hbDogdW5rbm93bltdIH0ge1xuICBsZXQgcmVpZmllZE5hbWVkID0gZGljdCgpO1xuXG4gIGZvciAobGV0IGtleSBpbiBuYW1lZCkge1xuICAgIHJlaWZpZWROYW1lZFtrZXldID0gdmFsdWVGb3JSZWYobmFtZWRba2V5XSk7XG4gIH1cblxuICBsZXQgcmVpZmllZFBvc2l0aW9uYWwgPSBwb3NpdGlvbmFsLm1hcCh2YWx1ZUZvclJlZik7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lZDogcmVpZmllZE5hbWVkLFxuICAgIHBvc2l0aW9uYWw6IHJlaWZpZWRQb3NpdGlvbmFsLFxuICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFHTSxTQUFBLG9CQUFBLENBQUEsVUFBQSxFQUFBLGdCQUFBLEVBRXdEO0FBQUEsTUFBNUQsZ0JBQTRELEtBQUEsS0FBQSxDQUFBLEVBQUE7QUFBNUQsSUFBQSxnQkFBNEQsR0FGeEQsRUFFSjtBQUE0RDs7QUFFNUQsTUFBSSxjQUFTLFVBQVUsS0FBdkIsTUFBQSxFQUFvQztBQUNsQyxVQUFNLElBQUEsS0FBQSxDQUFOLGtEQUFNLENBQU47QUFDRDs7QUFFRCxTQUFPLHFDQUFrQjtBQUN2QixJQUFBLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBakIsbUJBQUE7QUFETCxHQUFsQixDQUFQO0FBR0Q7QUFXRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsSUFBTSxxQkFBTixHQUFBLGFBQUEsWUFBQTtBQUlFLFdBQUEscUJBQUEsQ0FBQSxPQUFBLEVBQWlGO0FBQTdELFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFGWixTQUFBLHlCQUFBLEdBQTRCLElBQTVCLE9BQTRCLEVBQTVCO0FBRTZFOztBQUp2RixNQUFBLE1BQUEsR0FBQSxxQkFBQSxDQUFBLFNBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsY0FBQSxHQU1VLFNBQUEsY0FBQSxDQUFBLEtBQUEsRUFBdUI7QUFBQSxRQUN2Qix5QkFEdUIsR0FBQSxLQUFBLHlCQUFBO0FBRTdCLFFBQUksUUFBUSxHQUFHLHlCQUF5QixDQUF6QixHQUFBLENBQWYsS0FBZSxDQUFmOztBQUVBLFFBQUksUUFBUSxLQUFaLFNBQUEsRUFBNEI7QUFBQSxVQUNwQixPQURvQixHQUFBLEtBQUEsT0FBQTtBQUUxQixNQUFBLFFBQVEsR0FBRyxPQUFPLENBQWxCLEtB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LENBQW5FLFFBQW1FO0FBQUEsUUFBakQsUUFBaUQsR0FBQSxLQUFBLENBQWpELFFBQWlEO0FBQUEsUUFDbEUsWUFEa0UsR0FDeEUsUUFEd0UsQ0FBQSxZQUFBOztBQUd4RSxRQUFJLFlBQVksQ0FBWixtQkFBQSxLQUFKLElBQUEsRUFBK0M7QUFDN0MsOEJBQVEsWUFBQTtBQUFBLGVBQU0sUUFBUSxDQUFSLGNBQUEsQ0FBQSxRQUFBLEVBQWQsSUFBYyxDQUFOO0FBQVIsT0FBQTtBQURGLEtBQUEsTUFFTztBQUNMLE1BQUEsUUFBUSxDQUFSLGNBQUEsQ0FBQSxRQUFBLEVBQUEsSUFBQTtBQUNEO0FBaEZMLEdBQUE7O0FBQUEsRUFBQSxNQUFBLENBQUEsY0FBQSxHQW1GRSxTQUFBLGNBQUEsQ0FBQSxLQUFBLEVBQTJEO0FBQ3pELFdBQUEsS0FBQTtBQXBGSixHQUFBOztBQUFBLFNBQUEscUJBQUE7QUFBQSxDQUFBLEVBQUE7Ozs7QUF3Rk0sU0FBQSxTQUFBLENBQUEsS0FBQSxFQUdjO0FBQUEsTUFITSxLQUdOLEdBQUEsS0FBQSxDQUhNLEtBR047QUFBQSxNQURsQixVQUNrQixHQUFBLEtBQUEsQ0FEbEIsVUFDa0I7QUFDbEIsTUFBSSxZQUFZLEdBQWhCLGlCQUFBOztBQUVBLE9BQUssSUFBTCxHQUFBLElBQUEsS0FBQSxFQUF1QjtBQUNyQixJQUFBLFlBQVksQ0FBWixHQUFZLENBQVosR0FBb0IsNEJBQVksS0FBSyxDQUFyQyxHQUFxQyxDQUFqQixDQUFwQjtBQUNEOztBQUVELE1BQUksaUJBQWlCLEdBQUcsVUFBVSxDQUFWLEdBQUEsQ0FBeEIsc0JBQXdCLENBQXhCO0FBRUEsU0FBTztBQUNMLElBQUEsS0FBSyxFQURBLFlBQUE7QUFFTCxJQUFBLFVBQVUsRUFBRTtBQUZQLEdBQVA7QUFJRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFQlVHIH0gZnJvbSAnQGdsaW1tZXIvZW52JztcbmltcG9ydCB7XG4gIEFyZ3VtZW50cyxcbiAgQ2FwdHVyZWRBcmd1bWVudHMsXG4gIEludGVybmFsTW9kaWZpZXJNYW5hZ2VyLFxuICBNb2RpZmllckNhcGFiaWxpdGllcyxcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9ucyxcbiAgTW9kaWZpZXJNYW5hZ2VyLFxuICBPd25lcixcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyByZWdpc3RlckRlc3RydWN0b3IgfSBmcm9tICdAZ2xpbW1lci9kZXN0cm95YWJsZSc7XG5pbXBvcnQgeyB2YWx1ZUZvclJlZiB9IGZyb20gJ0BnbGltbWVyL3JlZmVyZW5jZSc7XG5pbXBvcnQgeyBjYXN0VG9Ccm93c2VyLCBkaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBjcmVhdGVVcGRhdGFibGVUYWcsIHVudHJhY2ssIFVwZGF0YWJsZVRhZyB9IGZyb20gJ0BnbGltbWVyL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBTaW1wbGVFbGVtZW50IH0gZnJvbSAnQHNpbXBsZS1kb20vaW50ZXJmYWNlJztcbmltcG9ydCB7IGJ1aWxkQ2FwYWJpbGl0aWVzLCBGUk9NX0NBUEFCSUxJVElFUyB9IGZyb20gJy4uL3V0aWwvY2FwYWJpbGl0aWVzJztcbmltcG9ydCB7IGFyZ3NQcm94eUZvciB9IGZyb20gJy4uL3V0aWwvYXJncy1wcm94eSc7XG5pbXBvcnQgeyBNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4nO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kaWZpZXJDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnM+KFxuICBtYW5hZ2VyQVBJOiBWZXJzaW9uLFxuICBvcHRpb25hbEZlYXR1cmVzOiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zW1ZlcnNpb25dID0ge31cbik6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjIyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtb2RpZmllciBtYW5hZ2VyIGNvbXBhdGliaWxpdHkgc3BlY2lmaWVkJyk7XG4gIH1cblxuICByZXR1cm4gYnVpbGRDYXBhYmlsaXRpZXMoe1xuICAgIGRpc2FibGVBdXRvVHJhY2tpbmc6IEJvb2xlYW4ob3B0aW9uYWxGZWF0dXJlcy5kaXNhYmxlQXV0b1RyYWNraW5nKSxcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPiB7XG4gIHRhZzogVXBkYXRhYmxlVGFnO1xuICBlbGVtZW50OiBTaW1wbGVFbGVtZW50O1xuICBtb2RpZmllcjogTW9kaWZpZXJJbnN0YW5jZTtcbiAgZGVsZWdhdGU6IE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPjtcbiAgYXJnczogQXJndW1lbnRzO1xuICBkZWJ1Z05hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICBUaGUgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyIGFsbG93cyBhZGRvbnMgdG8gcHJvdmlkZSBjdXN0b20gbW9kaWZpZXJcbiAgaW1wbGVtZW50YXRpb25zIHRoYXQgaW50ZWdyYXRlIHNlYW1sZXNzbHkgaW50byBFbWJlci4gVGhpcyBpcyBhY2NvbXBsaXNoZWRcbiAgdGhyb3VnaCBhIGRlbGVnYXRlLCByZWdpc3RlcmVkIHdpdGggdGhlIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCB3aGljaFxuICBpbXBsZW1lbnRzIGEgc2V0IG9mIGhvb2tzIHRoYXQgZGV0ZXJtaW5lIG1vZGlmaWVyIGJlaGF2aW9yLlxuICBUbyBjcmVhdGUgYSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgaW5zdGFudGlhdGUgYSBuZXcgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyXG4gIGNsYXNzIGFuZCBwYXNzIHRoZSBkZWxlZ2F0ZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQ6XG5cbiAgYGBganNcbiAgbGV0IG1hbmFnZXIgPSBuZXcgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyKHtcbiAgICAvLyAuLi5kZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4uLlxuICB9KTtcbiAgYGBgXG5cbiAgIyMgRGVsZWdhdGUgSG9va3NcblxuICBUaHJvdWdob3V0IHRoZSBsaWZlY3ljbGUgb2YgYSBtb2RpZmllciwgdGhlIG1vZGlmaWVyIG1hbmFnZXIgd2lsbCBpbnZva2VcbiAgZGVsZWdhdGUgaG9va3MgdGhhdCBhcmUgcmVzcG9uc2libGUgZm9yIHN1cmZhY2luZyB0aG9zZSBsaWZlY3ljbGUgY2hhbmdlcyB0b1xuICB0aGUgZW5kIGRldmVsb3Blci5cbiAgKiBgY3JlYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gYSBuZXcgaW5zdGFuY2Ugb2YgYSBtb2RpZmllciBzaG91bGQgYmUgY3JlYXRlZFxuICAqIGBpbnN0YWxsTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIG1vZGlmaWVyIGlzIGluc3RhbGxlZCBvbiB0aGUgZWxlbWVudFxuICAqIGB1cGRhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgYXJndW1lbnRzIHBhc3NlZCB0byBhIG1vZGlmaWVyIGNoYW5nZVxuICAqIGBkZXN0cm95TW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIG1vZGlmaWVyIGlzIGFib3V0IHRvIGJlIGRlc3Ryb3llZFxuKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21Nb2RpZmllck1hbmFnZXI8TyBleHRlbmRzIE93bmVyLCBNb2RpZmllckluc3RhbmNlPlxuICBpbXBsZW1lbnRzIEludGVybmFsTW9kaWZpZXJNYW5hZ2VyPEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4+IHtcbiAgcHJpdmF0ZSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzID0gbmV3IFdlYWtNYXA8TywgTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogTWFuYWdlckZhY3Rvcnk8TywgTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+Pikge31cblxuICBwcml2YXRlIGdldERlbGVnYXRlRm9yKG93bmVyOiBPKSB7XG4gICAgbGV0IHsgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyB9ID0gdGhpcztcbiAgICBsZXQgZGVsZWdhdGUgPSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLmdldChvd25lcik7XG5cbiAgICBpZiAoZGVsZWdhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHsgZmFjdG9yeSB9ID0gdGhpcztcbiAgICAgIGRlbGVnYXRlID0gZmFjdG9yeShvd25lcik7XG5cbiAgICAgIGlmIChERUJVRyAmJiAhRlJPTV9DQVBBQklMSVRJRVMhLmhhcyhkZWxlZ2F0ZS5jYXBhYmlsaXRpZXMpKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgZXJyb3IgbWVzc2FnZSBzaG91bGQgbWFrZSBzZW5zZSBpbiBib3RoIEVtYmVyIGFuZCBHbGltbWVyIGh0dHBzOi8vZ2l0aHViLmNvbS9nbGltbWVyanMvZ2xpbW1lci12bS9pc3N1ZXMvMTIwMFxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEN1c3RvbSBtb2RpZmllciBtYW5hZ2VycyBtdXN0IGhhdmUgYSBcXGBjYXBhYmlsaXRpZXNcXGAgcHJvcGVydHkgdGhhdCBpcyB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhlIFxcYGNhcGFiaWxpdGllcygnMy4yMicpXFxgIChpbXBvcnRlZCB2aWEgXFxgaW1wb3J0IHsgY2FwYWJpbGl0aWVzIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcXGApLiBSZWNlaXZlZDogXFxgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIGRlbGVnYXRlLmNhcGFiaWxpdGllc1xuICAgICAgICAgICl9XFxgIGZvcjogXFxgJHtkZWxlZ2F0ZX1cXGBgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuc2V0KG93bmVyLCBkZWxlZ2F0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbGVnYXRlO1xuICB9XG5cbiAgY3JlYXRlKG93bmVyOiBPLCBlbGVtZW50OiBTaW1wbGVFbGVtZW50LCBkZWZpbml0aW9uOiBvYmplY3QsIGNhcHR1cmVkQXJnczogQ2FwdHVyZWRBcmd1bWVudHMpIHtcbiAgICBsZXQgZGVsZWdhdGUgPSB0aGlzLmdldERlbGVnYXRlRm9yKG93bmVyKTtcblxuICAgIGxldCBhcmdzID0gYXJnc1Byb3h5Rm9yKGNhcHR1cmVkQXJncywgJ21vZGlmaWVyJyk7XG4gICAgbGV0IGluc3RhbmNlOiBNb2RpZmllckluc3RhbmNlID0gZGVsZWdhdGUuY3JlYXRlTW9kaWZpZXIoZGVmaW5pdGlvbiwgYXJncyk7XG5cbiAgICBsZXQgdGFnID0gY3JlYXRlVXBkYXRhYmxlVGFnKCk7XG4gICAgbGV0IHN0YXRlOiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+O1xuXG4gICAgc3RhdGUgPSB7XG4gICAgICB0YWcsXG4gICAgICBlbGVtZW50LFxuICAgICAgZGVsZWdhdGUsXG4gICAgICBhcmdzLFxuICAgICAgbW9kaWZpZXI6IGluc3RhbmNlISxcbiAgICB9O1xuXG4gICAgaWYgKERFQlVHKSB7XG4gICAgICBzdGF0ZS5kZWJ1Z05hbWUgPSB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlckRlc3RydWN0b3Ioc3RhdGUsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lNb2RpZmllcihpbnN0YW5jZSwgYXJncykpO1xuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKHsgZGVidWdOYW1lIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gZGVidWdOYW1lITtcbiAgfVxuXG4gIGdldFRhZyh7IHRhZyB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHRhZztcbiAgfVxuXG4gIGluc3RhbGwoeyBlbGVtZW50LCBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUuaW5zdGFsbE1vZGlmaWVyKG1vZGlmaWVyLCBjYXN0VG9Ccm93c2VyKGVsZW1lbnQsICdFTEVNRU5UJyksIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZSh7IGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS51cGRhdGVNb2RpZmllcihtb2RpZmllciwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlaWZ5QXJncyh7XG4gIG5hbWVkLFxuICBwb3NpdGlvbmFsLFxufTogQ2FwdHVyZWRBcmd1bWVudHMpOiB7IG5hbWVkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjsgcG9zaXRpb25hbDogdW5rbm93bltdIH0ge1xuICBsZXQgcmVpZmllZE5hbWVkID0gZGljdCgpO1xuXG4gIGZvciAobGV0IGtleSBpbiBuYW1lZCkge1xuICAgIHJlaWZpZWROYW1lZFtrZXldID0gdmFsdWVGb3JSZWYobmFtZWRba2V5XSk7XG4gIH1cblxuICBsZXQgcmVpZmllZFBvc2l0aW9uYWwgPSBwb3NpdGlvbmFsLm1hcCh2YWx1ZUZvclJlZik7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lZDogcmVpZmllZE5hbWVkLFxuICAgIHBvc2l0aW9uYWw6IHJlaWZpZWRQb3NpdGlvbmFsLFxuICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==

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

// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error(`Custom component managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.4' | '3.13')\` (imported via \`import { capabilities } from '@ember/component';\`). Received: \`${JSON.stringify(delegate.capabilities)}\` for: \`${delegate}\``);
throw new Error(`Custom component managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.13')\` (imported via \`import { capabilities } from '@ember/component';\`). Received: \`${JSON.stringify(delegate.capabilities)}\` for: \`${delegate}\``);
}

@@ -188,2 +188,2 @@

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxLQUFULFFBQXNCLGNBQXRCO0FBa0JBLFNBQVMsY0FBVCxRQUEwQyxvQkFBMUM7QUFDQSxTQUFTLGtCQUFULFFBQW1DLHNCQUFuQztBQUNBLFNBQVMsaUJBQVQsRUFBNEIsaUJBQTVCLFFBQXFELHNCQUFyRDtBQUNBLFNBQVMsWUFBVCxRQUE2QixvQkFBN0I7QUFHQSxNQUFNLFlBQVksR0FBRztBQUNuQixFQUFBLGFBQWEsRUFBRSxLQURJO0FBRW5CLEVBQUEsVUFBVSxFQUFFLEtBRk87QUFHbkIsRUFBQSxXQUFXLEVBQUUsS0FITTtBQUluQixFQUFBLFVBQVUsRUFBRSxJQUpPO0FBS25CLEVBQUEsYUFBYSxFQUFFLEtBTEk7QUFNbkIsRUFBQSxXQUFXLEVBQUUsS0FOTTtBQU9uQixFQUFBLFlBQVksRUFBRSxLQVBLO0FBUW5CLEVBQUEsWUFBWSxFQUFFLElBUks7QUFTbkIsRUFBQSxVQUFVLEVBQUUsSUFUTztBQVVuQixFQUFBLGNBQWMsRUFBRSxJQVZHO0FBV25CLEVBQUEsT0FBTyxFQUFFLEtBWFU7QUFZbkIsRUFBQSxXQUFXLEVBQUUsS0FaTTtBQWFuQixFQUFBLFdBQVcsRUFBRTtBQWJNLENBQXJCO0FBZ0JBLE9BQU0sU0FBVSxxQkFBVixDQUNKLFVBREksRUFFSixPQUFBLEdBQWtELEVBRjlDLEVBRWdEO0FBRXBELE1BQUksS0FBSyxJQUFJLFVBQVUsS0FBSyxNQUE1QixFQUFvQztBQUNsQyxVQUFNLElBQUksS0FBSixDQUFVLG1EQUFWLENBQU47QUFDRDs7QUFFRCxNQUFJLFVBQVUsR0FBRyxPQUFPLENBQUUsT0FBaUQsQ0FBQyxVQUFwRCxDQUF4QjtBQUVBLFNBQU8saUJBQWlCLENBQUM7QUFDdkIsSUFBQSx1QkFBdUIsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLHVC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QUE7QUFDTDs7QUFMMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENvbXBvbmVudENhcGFiaWxpdGllcyxcbiAgQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgQ29tcG9uZW50TWFuYWdlcixcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyxcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY1VwZGF0ZUhvb2ssXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoRGVzdHJ1Y3RvcnMsXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoVXBkYXRlSG9vayxcbiAgRGVzdHJveWFibGUsXG4gIEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzLFxuICBJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIsXG4gIE9wdGlvbixcbiAgT3duZXIsXG4gIFZNQXJndW1lbnRzLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnN0UmVmLCBSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLi9pbmRleCc7XG5cbmNvbnN0IENBUEFCSUxJVElFUyA9IHtcbiAgZHluYW1pY0xheW91dDogZmFsc2UsXG4gIGR5bmFtaWNUYWc6IGZhbHNlLFxuICBwcmVwYXJlQXJnczogZmFsc2UsXG4gIGNyZWF0ZUFyZ3M6IHRydWUsXG4gIGF0dHJpYnV0ZUhvb2s6IGZhbHNlLFxuICBlbGVtZW50SG9vazogZmFsc2UsXG4gIGNyZWF0ZUNhbGxlcjogZmFsc2UsXG4gIGR5bmFtaWNTY29wZTogdHJ1ZSxcbiAgdXBkYXRlSG9vazogdHJ1ZSxcbiAgY3JlYXRlSW5zdGFuY2U6IHRydWUsXG4gIHdyYXBwZWQ6IGZhbHNlLFxuICB3aWxsRGVzdHJveTogZmFsc2UsXG4gIGhhc1N1Yk93bmVyOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wb25lbnRDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uczogQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogQ29tcG9uZW50Q2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjEzJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb21wb25lbnQgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgbGV0IHVwZGF0ZUhvb2sgPSBCb29sZWFuKChvcHRpb25zIGFzIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zWyczLjEzJ10pLnVwZGF0ZUhvb2spO1xuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgYXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M6IEJvb2xlYW4ob3B0aW9ucy5hc3luY0xpZmVjeWNsZUNhbGxiYWNrcyksXG4gICAgZGVzdHJ1Y3RvcjogQm9vbGVhbihvcHRpb25zLmRlc3RydWN0b3IpLFxuICAgIHVwZGF0ZUhvb2ssXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGRlbGVnYXRlLmNhcGFiaWxpdGllcy5hc3luY0xpZmVDeWNsZUNhbGxiYWNrcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLnVwZGF0ZUhvb2s7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNBc3luY1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyhkZWxlZ2F0ZSkgJiYgaGFzVXBkYXRlSG9vayhkZWxlZ2F0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNEZXN0cnVjdG9yczxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhEZXN0cnVjdG9yczxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLmRlc3RydWN0b3I7XG59XG5cbi8qKlxuICBUaGUgQ3VzdG9tQ29tcG9uZW50TWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIGNvbXBvbmVudFxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VyLCB3aGljaFxuICBpbXBsZW1lbnRzIGEgc2V0IG9mIGhvb2tzIHRoYXQgZGV0ZXJtaW5lIGNvbXBvbmVudCBiZWhhdmlvci5cblxuICBUbyBjcmVhdGUgYSBjdXN0b20gY29tcG9uZW50IG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbUNvbXBvbmVudE1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Db21wb25lbnRNYW5hZ2VyKHtcbiAgICAvLyAuLi5kZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4uLlxuICB9KTtcbiAgYGBgXG5cbiAgIyMgRGVsZWdhdGUgSG9va3NcblxuICBUaHJvdWdob3V0IHRoZSBsaWZlY3ljbGUgb2YgYSBjb21wb25lbnQsIHRoZSBjb21wb25lbnQgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuXG4gICogYGNyZWF0ZSgpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIGNvbXBvbmVudCBzaG91bGQgYmUgY3JlYXRlZFxuICAqIGB1cGRhdGUoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBjb21wb25lbnQgY2hhbmdlXG4gICogYGdldENvbnRleHQoKWAgLSByZXR1cm5zIHRoZSBvYmplY3QgdGhhdCBzaG91bGQgYmVcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50TWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIENvbXBvbmVudEluc3RhbmNlPlxuICBpbXBsZW1lbnRzIEludGVybmFsQ29tcG9uZW50TWFuYWdlcjxDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4+IHtcbiAgcHJpdmF0ZSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzID0gbmV3IFdlYWtNYXA8TywgQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gY29tcG9uZW50IG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjQnIHwgJzMuMTMnKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQnO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUoXG4gICAgb3duZXI6IE8sXG4gICAgZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICAgIHZtQXJnczogVk1Bcmd1bWVudHNcbiAgKTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgICBsZXQgZGVsZWdhdGUgPSB0aGlzLmdldERlbGVnYXRlRm9yKG93bmVyKTtcbiAgICBsZXQgYXJncyA9IGFyZ3NQcm94eUZvcih2bUFyZ3MuY2FwdHVyZSgpLCAnY29tcG9uZW50Jyk7XG5cbiAgICBsZXQgY29tcG9uZW50OiBDb21wb25lbnRJbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZUNvbXBvbmVudChkZWZpbml0aW9uLCBhcmdzKTtcblxuICAgIHJldHVybiBuZXcgQ3VzdG9tQ29tcG9uZW50U3RhdGUoY29tcG9uZW50ISwgZGVsZWdhdGUsIGFyZ3MpO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nID8gZGVmaW5pdGlvbi5uYW1lIDogZGVmaW5pdGlvbi50b1N0cmluZygpO1xuICB9XG5cbiAgdXBkYXRlKGJ1Y2tldDogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogdm9pZCB7XG4gICAgbGV0IHsgZGVsZWdhdGUgfSA9IGJ1Y2tldDtcbiAgICBpZiAoaGFzVXBkYXRlSG9vayhkZWxlZ2F0ZSkpIHtcbiAgICAgIGxldCB7IGNvbXBvbmVudCwgYXJncyB9ID0gYnVja2V0O1xuXG4gICAgICBkZWxlZ2F0ZS51cGRhdGVDb21wb25lbnQoY29tcG9uZW50LCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBkaWRDcmVhdGUoeyBjb21wb25lbnQsIGRlbGVnYXRlIH06IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGlmIChoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyhkZWxlZ2F0ZSkpIHtcbiAgICAgIGRlbGVnYXRlLmRpZENyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGRpZFVwZGF0ZSh7IGNvbXBvbmVudCwgZGVsZWdhdGUgfTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogdm9pZCB7XG4gICAgaWYgKGhhc0FzeW5jVXBkYXRlSG9vayhkZWxlZ2F0ZSkpIHtcbiAgICAgIGRlbGVnYXRlLmRpZFVwZGF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGRpZFJlbmRlckxheW91dCgpOiB2b2lkIHt9XG5cbiAgZGlkVXBkYXRlTGF5b3V0KCk6IHZvaWQge31cblxuICBnZXRTZWxmKHsgY29tcG9uZW50LCBkZWxlZ2F0ZSB9OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiBSZWZlcmVuY2Uge1xuICAgIHJldHVybiBjcmVhdGVDb25zdFJlZihkZWxlZ2F0ZS5nZXRDb250ZXh0KGNvbXBvbmVudCksICd0aGlzJyk7XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShidWNrZXQ6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IE9wdGlvbjxEZXN0cm95YWJsZT4ge1xuICAgIGNvbnN0IHsgZGVsZWdhdGUgfSA9IGJ1Y2tldDtcblxuICAgIGlmIChoYXNEZXN0cnVjdG9ycyhkZWxlZ2F0ZSkpIHtcbiAgICAgIGNvbnN0IHsgY29tcG9uZW50IH0gPSBidWNrZXQ7XG5cbiAgICAgIHJlZ2lzdGVyRGVzdHJ1Y3RvcihidWNrZXQsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lDb21wb25lbnQoY29tcG9uZW50KSk7XG4gICAgICByZXR1cm4gYnVja2V0O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZ2V0Q2FwYWJpbGl0aWVzKCk6IEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzIHtcbiAgICByZXR1cm4gQ0FQQUJJTElUSUVTO1xuICB9XG59XG5cbi8qKlxuICogU3RvcmVzIGludGVybmFsIHN0YXRlIGFib3V0IGEgY29tcG9uZW50IGluc3RhbmNlIGFmdGVyIGl0J3MgYmVlbiBjcmVhdGVkLlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbXBvbmVudDogQ29tcG9uZW50SW5zdGFuY2UsXG4gICAgcHVibGljIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPixcbiAgICBwdWJsaWMgYXJnczogQXJndW1lbnRzXG4gICkge31cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxLQUFULFFBQXNCLGNBQXRCO0FBa0JBLFNBQVMsY0FBVCxRQUEwQyxvQkFBMUM7QUFDQSxTQUFTLGtCQUFULFFBQW1DLHNCQUFuQztBQUNBLFNBQVMsaUJBQVQsRUFBNEIsaUJBQTVCLFFBQXFELHNCQUFyRDtBQUNBLFNBQVMsWUFBVCxRQUE2QixvQkFBN0I7QUFHQSxNQUFNLFlBQVksR0FBRztBQUNuQixFQUFBLGFBQWEsRUFBRSxLQURJO0FBRW5CLEVBQUEsVUFBVSxFQUFFLEtBRk87QUFHbkIsRUFBQSxXQUFXLEVBQUUsS0FITTtBQUluQixFQUFBLFVBQVUsRUFBRSxJQUpPO0FBS25CLEVBQUEsYUFBYSxFQUFFLEtBTEk7QUFNbkIsRUFBQSxXQUFXLEVBQUUsS0FOTTtBQU9uQixFQUFBLFlBQVksRUFBRSxLQVBLO0FBUW5CLEVBQUEsWUFBWSxFQUFFLElBUks7QUFTbkIsRUFBQSxVQUFVLEVBQUUsSUFUTztBQVVuQixFQUFBLGNBQWMsRUFBRSxJQVZHO0FBV25CLEVBQUEsT0FBTyxFQUFFLEtBWFU7QUFZbkIsRUFBQSxXQUFXLEVBQUUsS0FaTTtBQWFuQixFQUFBLFdBQVcsRUFBRTtBQWJNLENBQXJCO0FBZ0JBLE9BQU0sU0FBVSxxQkFBVixDQUNKLFVBREksRUFFSixPQUFBLEdBQWtELEVBRjlDLEVBRWdEO0FBRXBELE1BQUksS0FBSyxJQUFJLFVBQVUsS0FBSyxNQUE1QixFQUFvQztBQUNsQyxVQUFNLElBQUksS0FBSixDQUFVLG1EQUFWLENBQU47QUFDRDs7QUFFRCxNQUFJLFVBQVUsR0FBRyxPQUFPLENBQUUsT0FBaUQsQ0FBQyxVQUFwRCxDQUF4QjtBQUVBLFNBQU8saUJBQWlCLENBQUM7QUFDdkIsSUFBQSx1QkFBdUIsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLHVC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QUE7QUFDTDs7QUFMMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENvbXBvbmVudENhcGFiaWxpdGllcyxcbiAgQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgQ29tcG9uZW50TWFuYWdlcixcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyxcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY1VwZGF0ZUhvb2ssXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoRGVzdHJ1Y3RvcnMsXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoVXBkYXRlSG9vayxcbiAgRGVzdHJveWFibGUsXG4gIEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzLFxuICBJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIsXG4gIE9wdGlvbixcbiAgT3duZXIsXG4gIFZNQXJndW1lbnRzLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnN0UmVmLCBSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLi9pbmRleCc7XG5cbmNvbnN0IENBUEFCSUxJVElFUyA9IHtcbiAgZHluYW1pY0xheW91dDogZmFsc2UsXG4gIGR5bmFtaWNUYWc6IGZhbHNlLFxuICBwcmVwYXJlQXJnczogZmFsc2UsXG4gIGNyZWF0ZUFyZ3M6IHRydWUsXG4gIGF0dHJpYnV0ZUhvb2s6IGZhbHNlLFxuICBlbGVtZW50SG9vazogZmFsc2UsXG4gIGNyZWF0ZUNhbGxlcjogZmFsc2UsXG4gIGR5bmFtaWNTY29wZTogdHJ1ZSxcbiAgdXBkYXRlSG9vazogdHJ1ZSxcbiAgY3JlYXRlSW5zdGFuY2U6IHRydWUsXG4gIHdyYXBwZWQ6IGZhbHNlLFxuICB3aWxsRGVzdHJveTogZmFsc2UsXG4gIGhhc1N1Yk93bmVyOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wb25lbnRDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uczogQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogQ29tcG9uZW50Q2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjEzJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb21wb25lbnQgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgbGV0IHVwZGF0ZUhvb2sgPSBCb29sZWFuKChvcHRpb25zIGFzIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zWyczLjEzJ10pLnVwZGF0ZUhvb2spO1xuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgYXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M6IEJvb2xlYW4ob3B0aW9ucy5hc3luY0xpZmVjeWNsZUNhbGxiYWNrcyksXG4gICAgZGVzdHJ1Y3RvcjogQm9vbGVhbihvcHRpb25zLmRlc3RydWN0b3IpLFxuICAgIHVwZGF0ZUhvb2ssXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGRlbGVnYXRlLmNhcGFiaWxpdGllcy5hc3luY0xpZmVDeWNsZUNhbGxiYWNrcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLnVwZGF0ZUhvb2s7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNBc3luY1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyhkZWxlZ2F0ZSkgJiYgaGFzVXBkYXRlSG9vayhkZWxlZ2F0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNEZXN0cnVjdG9yczxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhEZXN0cnVjdG9yczxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLmRlc3RydWN0b3I7XG59XG5cbi8qKlxuICBUaGUgQ3VzdG9tQ29tcG9uZW50TWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIGNvbXBvbmVudFxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VyLCB3aGljaFxuICBpbXBsZW1lbnRzIGEgc2V0IG9mIGhvb2tzIHRoYXQgZGV0ZXJtaW5lIGNvbXBvbmVudCBiZWhhdmlvci5cblxuICBUbyBjcmVhdGUgYSBjdXN0b20gY29tcG9uZW50IG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbUNvbXBvbmVudE1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Db21wb25lbnRNYW5hZ2VyKHtcbiAgICAvLyAuLi5kZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4uLlxuICB9KTtcbiAgYGBgXG5cbiAgIyMgRGVsZWdhdGUgSG9va3NcblxuICBUaHJvdWdob3V0IHRoZSBsaWZlY3ljbGUgb2YgYSBjb21wb25lbnQsIHRoZSBjb21wb25lbnQgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuXG4gICogYGNyZWF0ZSgpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIGNvbXBvbmVudCBzaG91bGQgYmUgY3JlYXRlZFxuICAqIGB1cGRhdGUoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBjb21wb25lbnQgY2hhbmdlXG4gICogYGdldENvbnRleHQoKWAgLSByZXR1cm5zIHRoZSBvYmplY3QgdGhhdCBzaG91bGQgYmVcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50TWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIENvbXBvbmVudEluc3RhbmNlPlxuICBpbXBsZW1lbnRzIEludGVybmFsQ29tcG9uZW50TWFuYWdlcjxDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4+IHtcbiAgcHJpdmF0ZSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzID0gbmV3IFdlYWtNYXA8TywgQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gY29tcG9uZW50IG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjEzJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50JztcXGApLiBSZWNlaXZlZDogXFxgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIGRlbGVnYXRlLmNhcGFiaWxpdGllc1xuICAgICAgICAgICl9XFxgIGZvcjogXFxgJHtkZWxlZ2F0ZX1cXGBgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuc2V0KG93bmVyLCBkZWxlZ2F0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbGVnYXRlO1xuICB9XG5cbiAgY3JlYXRlKFxuICAgIG93bmVyOiBPLFxuICAgIGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgICB2bUFyZ3M6IFZNQXJndW1lbnRzXG4gICk6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPiB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG4gICAgbGV0IGFyZ3MgPSBhcmdzUHJveHlGb3Iodm1BcmdzLmNhcHR1cmUoKSwgJ2NvbXBvbmVudCcpO1xuXG4gICAgbGV0IGNvbXBvbmVudDogQ29tcG9uZW50SW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVDb21wb25lbnQoZGVmaW5pdGlvbiwgYXJncyk7XG5cbiAgICByZXR1cm4gbmV3IEN1c3RvbUNvbXBvbmVudFN0YXRlKGNvbXBvbmVudCEsIGRlbGVnYXRlLCBhcmdzKTtcbiAgfVxuXG4gIGdldERlYnVnTmFtZShkZWZpbml0aW9uOiBDb21wb25lbnREZWZpbml0aW9uU3RhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgfVxuXG4gIHVwZGF0ZShidWNrZXQ6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGxldCB7IGRlbGVnYXRlIH0gPSBidWNrZXQ7XG4gICAgaWYgKGhhc1VwZGF0ZUhvb2soZGVsZWdhdGUpKSB7XG4gICAgICBsZXQgeyBjb21wb25lbnQsIGFyZ3MgfSA9IGJ1Y2tldDtcblxuICAgICAgZGVsZWdhdGUudXBkYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZGlkQ3JlYXRlKHsgY29tcG9uZW50LCBkZWxlZ2F0ZSB9OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3MoZGVsZWdhdGUpKSB7XG4gICAgICBkZWxlZ2F0ZS5kaWRDcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICB9XG4gIH1cblxuICBkaWRVcGRhdGUoeyBjb21wb25lbnQsIGRlbGVnYXRlIH06IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGlmIChoYXNBc3luY1VwZGF0ZUhvb2soZGVsZWdhdGUpKSB7XG4gICAgICBkZWxlZ2F0ZS5kaWRVcGRhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICB9XG4gIH1cblxuICBkaWRSZW5kZXJMYXlvdXQoKTogdm9pZCB7fVxuXG4gIGRpZFVwZGF0ZUxheW91dCgpOiB2b2lkIHt9XG5cbiAgZ2V0U2VsZih7IGNvbXBvbmVudCwgZGVsZWdhdGUgfTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogUmVmZXJlbmNlIHtcbiAgICByZXR1cm4gY3JlYXRlQ29uc3RSZWYoZGVsZWdhdGUuZ2V0Q29udGV4dChjb21wb25lbnQpLCAndGhpcycpO1xuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoYnVja2V0OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiBPcHRpb248RGVzdHJveWFibGU+IHtcbiAgICBjb25zdCB7IGRlbGVnYXRlIH0gPSBidWNrZXQ7XG5cbiAgICBpZiAoaGFzRGVzdHJ1Y3RvcnMoZGVsZWdhdGUpKSB7XG4gICAgICBjb25zdCB7IGNvbXBvbmVudCB9ID0gYnVja2V0O1xuXG4gICAgICByZWdpc3RlckRlc3RydWN0b3IoYnVja2V0LCAoKSA9PiBkZWxlZ2F0ZS5kZXN0cm95Q29tcG9uZW50KGNvbXBvbmVudCkpO1xuICAgICAgcmV0dXJuIGJ1Y2tldDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldENhcGFiaWxpdGllcygpOiBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyB7XG4gICAgcmV0dXJuIENBUEFCSUxJVElFUztcbiAgfVxufVxuXG4vKipcbiAqIFN0b3JlcyBpbnRlcm5hbCBzdGF0ZSBhYm91dCBhIGNvbXBvbmVudCBpbnN0YW5jZSBhZnRlciBpdCdzIGJlZW4gY3JlYXRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb21wb25lbnQ6IENvbXBvbmVudEluc3RhbmNlLFxuICAgIHB1YmxpYyBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4sXG4gICAgcHVibGljIGFyZ3M6IEFyZ3VtZW50c1xuICApIHt9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

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

// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error(`Custom modifier managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.13' | '3.22')\` (imported via \`import { capabilities } from '@ember/modifier';\`). Received: \`${JSON.stringify(delegate.capabilities)}\` for: \`${delegate}\``);
throw new Error(`Custom modifier managers must have a \`capabilities\` property that is the result of calling the \`capabilities('3.22')\` (imported via \`import { capabilities } from '@ember/modifier';\`). Received: \`${JSON.stringify(delegate.capabilities)}\` for: \`${delegate}\``);
}

@@ -160,2 +160,2 @@

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLEtBQVQsUUFBc0IsY0FBdEI7QUFVQSxTQUFTLGtCQUFULFFBQW1DLHNCQUFuQztBQUNBLFNBQVMsV0FBVCxRQUE0QixvQkFBNUI7QUFDQSxTQUF3QixJQUF4QixRQUFvQyxlQUFwQztBQUNBLFNBQVMsa0JBQVQsRUFBNkIsT0FBN0IsUUFBMEQsb0JBQTFEO0FBRUEsU0FBUyxpQkFBVCxFQUE0QixpQkFBNUIsUUFBcUQsc0JBQXJEO0FBQ0EsU0FBUyxZQUFULFFBQTZCLG9CQUE3QjtBQUdBLE9BQU0sU0FBVSxvQkFBVixDQUNKLFVBREksRUFFSixnQkFBQSxHQUEwRCxFQUZ0RCxFQUV3RDtBQUU1RCxNQUFJLEtBQUssSUFBSSxVQUFVLEtBQUssTUFBNUIsRUFBb0M7QUFDbEMsVUFBTSxJQUFJLEtBQUosQ0FBVSxrREFBVixDQUFOO0FBQ0Q7O0FBRUQsU0FBTyxpQkFBaUIsQ0FBQztBQUN2QixJQUFBLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbEI7QUFETCxHQUFELENBQXhCO0FBR0Q7QUFXRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCQSxPQUFNLE1BQU8scUJBQVAsQ0FBNEI7QUFJaEMsRUFBQSxXQUFBLENBQW9CLE9BQXBCLEVBQWlGO0FBQTdELFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFGWixTQUFBLHlCQUFBLEdBQTRCLElBQUksT0FBSixFQUE1QjtBQUU2RTs7QUFFN0UsRUFBQSxjQUFjLENBQUMsS0FBRCxFQUFTO0FBQzdCLFFBQUk7QUFBRSxNQUFBO0FBQUYsUUFBZ0MsSUFBcEM7QUFDQSxRQUFJLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQyxHQUExQixDQUE4QixLQUE5QixDQUFmOztBQUVBLFFBQUksUUFBUSxLQUFLLFNBQWpCLEVBQTRCO0FB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LFdBQU8sS0FBUDtBQUNEOztBQXJGK0I7QUF3RmxDLE9BQU0sU0FBVSxTQUFWLENBQW9CO0FBQ3hCLEVBQUEsS0FEd0I7QUFFeEIsRUFBQTtBQUZ3QixDQUFwQixFQUdjO0FBQ2xCLE1BQUksWUFBWSxHQUFHLElBQUksRUFBdkI7O0FBRUEsT0FBSyxJQUFJLEdBQVQsSUFBZ0IsS0FBaEIsRUFBdUI7QUFDckIsSUFBQSxZQUFZLENBQUMsR0FBRCxDQUFaLEdBQW9CLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRCxDQUFOLENBQS9CO0FBQ0Q7O0FBRUQsTUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsR0FBWCxDQUFlLFdBQWYsQ0FBeEI7QUFFQSxTQUFPO0FBQ0wsSUFBQSxLQUFLLEVBQUUsWUFERjtBQUVMLElBQUEsVUFBVSxFQUFFO0FBRlAsR0FBUDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgSW50ZXJuYWxNb2RpZmllck1hbmFnZXIsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzLFxuICBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBNb2RpZmllck1hbmFnZXIsXG4gIE93bmVyLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IHZhbHVlRm9yUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IGNhc3RUb0Jyb3dzZXIsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IGNyZWF0ZVVwZGF0YWJsZVRhZywgdW50cmFjaywgVXBkYXRhYmxlVGFnIH0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcbmltcG9ydCB7IFNpbXBsZUVsZW1lbnQgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLic7XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RpZmllckNhcGFiaWxpdGllczxWZXJzaW9uIGV4dGVuZHMga2V5b2YgTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9ucz4oXG4gIG1hbmFnZXJBUEk6IFZlcnNpb24sXG4gIG9wdGlvbmFsRmVhdHVyZXM6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogTW9kaWZpZXJDYXBhYmlsaXRpZXMge1xuICBpZiAoREVCVUcgJiYgbWFuYWdlckFQSSAhPT0gJzMuMjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1vZGlmaWVyIG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgZGlzYWJsZUF1dG9UcmFja2luZzogQm9vbGVhbihvcHRpb25hbEZlYXR1cmVzLmRpc2FibGVBdXRvVHJhY2tpbmcpLFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+IHtcbiAgdGFnOiBVcGRhdGFibGVUYWc7XG4gIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQ7XG4gIG1vZGlmaWVyOiBNb2RpZmllckluc3RhbmNlO1xuICBkZWxlZ2F0ZTogTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+O1xuICBhcmdzOiBBcmd1bWVudHM7XG4gIGRlYnVnTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Nb2RpZmllck1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBtb2RpZmllclxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgbW9kaWZpZXIgYmVoYXZpb3IuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIG1vZGlmaWVyLCB0aGUgbW9kaWZpZXIgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuICAqIGBjcmVhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIG1vZGlmaWVyIHNob3VsZCBiZSBjcmVhdGVkXG4gICogYGluc3RhbGxNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgaW5zdGFsbGVkIG9uIHRoZSBlbGVtZW50XG4gICogYHVwZGF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgbW9kaWZpZXIgY2hhbmdlXG4gICogYGRlc3Ryb3lNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbU1vZGlmaWVyTWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIE1vZGlmaWVySW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxNb2RpZmllck1hbmFnZXI8Q3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIG1vZGlmaWVyIG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjEzJyB8ICczLjIyJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUob3duZXI6IE8sIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIGRlZmluaXRpb246IG9iamVjdCwgY2FwdHVyZWRBcmdzOiBDYXB0dXJlZEFyZ3VtZW50cykge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuXG4gICAgbGV0IGFyZ3MgPSBhcmdzUHJveHlGb3IoY2FwdHVyZWRBcmdzLCAnbW9kaWZpZXInKTtcbiAgICBsZXQgaW5zdGFuY2U6IE1vZGlmaWVySW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVNb2RpZmllcihkZWZpbml0aW9uLCBhcmdzKTtcblxuICAgIGxldCB0YWcgPSBjcmVhdGVVcGRhdGFibGVUYWcoKTtcbiAgICBsZXQgc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT47XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIHRhZyxcbiAgICAgIGVsZW1lbnQsXG4gICAgICBkZWxlZ2F0ZSxcbiAgICAgIGFyZ3MsXG4gICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgIH07XG5cbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIHN0YXRlLmRlYnVnTmFtZSA9IHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nID8gZGVmaW5pdGlvbi5uYW1lIDogZGVmaW5pdGlvbi50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJ1Y3RvcihzdGF0ZSwgKCkgPT4gZGVsZWdhdGUuZGVzdHJveU1vZGlmaWVyKGluc3RhbmNlLCBhcmdzKSk7XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoeyBkZWJ1Z05hbWUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBkZWJ1Z05hbWUhO1xuICB9XG5cbiAgZ2V0VGFnKHsgdGFnIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgaW5zdGFsbCh7IGVsZW1lbnQsIGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKHsgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVpZnlBcmdzKHtcbiAgbmFtZWQsXG4gIHBvc2l0aW9uYWwsXG59OiBDYXB0dXJlZEFyZ3VtZW50cyk6IHsgbmFtZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+OyBwb3NpdGlvbmFsOiB1bmtub3duW10gfSB7XG4gIGxldCByZWlmaWVkTmFtZWQgPSBkaWN0KCk7XG5cbiAgZm9yIChsZXQga2V5IGluIG5hbWVkKSB7XG4gICAgcmVpZmllZE5hbWVkW2tleV0gPSB2YWx1ZUZvclJlZihuYW1lZFtrZXldKTtcbiAgfVxuXG4gIGxldCByZWlmaWVkUG9zaXRpb25hbCA9IHBvc2l0aW9uYWwubWFwKHZhbHVlRm9yUmVmKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWVkOiByZWlmaWVkTmFtZWQsXG4gICAgcG9zaXRpb25hbDogcmVpZmllZFBvc2l0aW9uYWwsXG4gIH07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLEtBQVQsUUFBc0IsY0FBdEI7QUFVQSxTQUFTLGtCQUFULFFBQW1DLHNCQUFuQztBQUNBLFNBQVMsV0FBVCxRQUE0QixvQkFBNUI7QUFDQSxTQUF3QixJQUF4QixRQUFvQyxlQUFwQztBQUNBLFNBQVMsa0JBQVQsRUFBNkIsT0FBN0IsUUFBMEQsb0JBQTFEO0FBRUEsU0FBUyxpQkFBVCxFQUE0QixpQkFBNUIsUUFBcUQsc0JBQXJEO0FBQ0EsU0FBUyxZQUFULFFBQTZCLG9CQUE3QjtBQUdBLE9BQU0sU0FBVSxvQkFBVixDQUNKLFVBREksRUFFSixnQkFBQSxHQUEwRCxFQUZ0RCxFQUV3RDtBQUU1RCxNQUFJLEtBQUssSUFBSSxVQUFVLEtBQUssTUFBNUIsRUFBb0M7QUFDbEMsVUFBTSxJQUFJLEtBQUosQ0FBVSxrREFBVixDQUFOO0FBQ0Q7O0FBRUQsU0FBTyxpQkFBaUIsQ0FBQztBQUN2QixJQUFBLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbEI7QUFETCxHQUFELENBQXhCO0FBR0Q7QUFXRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCQSxPQUFNLE1BQU8scUJBQVAsQ0FBNEI7QUFJaEMsRUFBQSxXQUFBLENBQW9CLE9BQXBCLEVBQWlGO0FBQTdELFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFGWixTQUFBLHlCQUFBLEdBQTRCLElBQUksT0FBSixFQUE1QjtBQUU2RTs7QUFFN0UsRUFBQSxjQUFjLENBQUMsS0FBRCxFQUFTO0FBQzdCLFFBQUk7QUFBRSxNQUFBO0FBQUYsUUFBZ0MsSUFBcEM7QUFDQSxRQUFJLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQyxHQUExQixDQUE4QixLQUE5QixDQUFmOztBQUVBLFFBQUksUUFBUSxLQUFLLFNBQWpCLEVBQTRCO0FB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LFdBQU8sS0FBUDtBQUNEOztBQXJGK0I7QUF3RmxDLE9BQU0sU0FBVSxTQUFWLENBQW9CO0FBQ3hCLEVBQUEsS0FEd0I7QUFFeEIsRUFBQTtBQUZ3QixDQUFwQixFQUdjO0FBQ2xCLE1BQUksWUFBWSxHQUFHLElBQUksRUFBdkI7O0FBRUEsT0FBSyxJQUFJLEdBQVQsSUFBZ0IsS0FBaEIsRUFBdUI7QUFDckIsSUFBQSxZQUFZLENBQUMsR0FBRCxDQUFaLEdBQW9CLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRCxDQUFOLENBQS9CO0FBQ0Q7O0FBRUQsTUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsR0FBWCxDQUFlLFdBQWYsQ0FBeEI7QUFFQSxTQUFPO0FBQ0wsSUFBQSxLQUFLLEVBQUUsWUFERjtBQUVMLElBQUEsVUFBVSxFQUFFO0FBRlAsR0FBUDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVCVUcgfSBmcm9tICdAZ2xpbW1lci9lbnYnO1xuaW1wb3J0IHtcbiAgQXJndW1lbnRzLFxuICBDYXB0dXJlZEFyZ3VtZW50cyxcbiAgSW50ZXJuYWxNb2RpZmllck1hbmFnZXIsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzLFxuICBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zLFxuICBNb2RpZmllck1hbmFnZXIsXG4gIE93bmVyLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVzdHJ1Y3RvciB9IGZyb20gJ0BnbGltbWVyL2Rlc3Ryb3lhYmxlJztcbmltcG9ydCB7IHZhbHVlRm9yUmVmIH0gZnJvbSAnQGdsaW1tZXIvcmVmZXJlbmNlJztcbmltcG9ydCB7IGNhc3RUb0Jyb3dzZXIsIGRpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IGNyZWF0ZVVwZGF0YWJsZVRhZywgdW50cmFjaywgVXBkYXRhYmxlVGFnIH0gZnJvbSAnQGdsaW1tZXIvdmFsaWRhdG9yJztcbmltcG9ydCB7IFNpbXBsZUVsZW1lbnQgfSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLic7XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RpZmllckNhcGFiaWxpdGllczxWZXJzaW9uIGV4dGVuZHMga2V5b2YgTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9ucz4oXG4gIG1hbmFnZXJBUEk6IFZlcnNpb24sXG4gIG9wdGlvbmFsRmVhdHVyZXM6IE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogTW9kaWZpZXJDYXBhYmlsaXRpZXMge1xuICBpZiAoREVCVUcgJiYgbWFuYWdlckFQSSAhPT0gJzMuMjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1vZGlmaWVyIG1hbmFnZXIgY29tcGF0aWJpbGl0eSBzcGVjaWZpZWQnKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgZGlzYWJsZUF1dG9UcmFja2luZzogQm9vbGVhbihvcHRpb25hbEZlYXR1cmVzLmRpc2FibGVBdXRvVHJhY2tpbmcpLFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+IHtcbiAgdGFnOiBVcGRhdGFibGVUYWc7XG4gIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQ7XG4gIG1vZGlmaWVyOiBNb2RpZmllckluc3RhbmNlO1xuICBkZWxlZ2F0ZTogTW9kaWZpZXJNYW5hZ2VyPE1vZGlmaWVySW5zdGFuY2U+O1xuICBhcmdzOiBBcmd1bWVudHM7XG4gIGRlYnVnTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gIFRoZSBDdXN0b21Nb2RpZmllck1hbmFnZXIgYWxsb3dzIGFkZG9ucyB0byBwcm92aWRlIGN1c3RvbSBtb2RpZmllclxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIHdoaWNoXG4gIGltcGxlbWVudHMgYSBzZXQgb2YgaG9va3MgdGhhdCBkZXRlcm1pbmUgbW9kaWZpZXIgYmVoYXZpb3IuXG4gIFRvIGNyZWF0ZSBhIGN1c3RvbSBtb2RpZmllciBtYW5hZ2VyLCBpbnN0YW50aWF0ZSBhIG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Nb2RpZmllck1hbmFnZXIoe1xuICAgIC8vIC4uLmRlbGVnYXRlIGltcGxlbWVudGF0aW9uLi4uXG4gIH0pO1xuICBgYGBcblxuICAjIyBEZWxlZ2F0ZSBIb29rc1xuXG4gIFRocm91Z2hvdXQgdGhlIGxpZmVjeWNsZSBvZiBhIG1vZGlmaWVyLCB0aGUgbW9kaWZpZXIgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuICAqIGBjcmVhdGVNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIG1vZGlmaWVyIHNob3VsZCBiZSBjcmVhdGVkXG4gICogYGluc3RhbGxNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgaW5zdGFsbGVkIG9uIHRoZSBlbGVtZW50XG4gICogYHVwZGF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIGEgbW9kaWZpZXIgY2hhbmdlXG4gICogYGRlc3Ryb3lNb2RpZmllcigpYCAtIGludm9rZWQgd2hlbiB0aGUgbW9kaWZpZXIgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkXG4qL1xuZXhwb3J0IGNsYXNzIEN1c3RvbU1vZGlmaWVyTWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIE1vZGlmaWVySW5zdGFuY2U+XG4gIGltcGxlbWVudHMgSW50ZXJuYWxNb2RpZmllck1hbmFnZXI8Q3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPj4ge1xuICBwcml2YXRlIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgPSBuZXcgV2Vha01hcDxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT4+KSB7fVxuXG4gIHByaXZhdGUgZ2V0RGVsZWdhdGVGb3Iob3duZXI6IE8pIHtcbiAgICBsZXQgeyBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzIH0gPSB0aGlzO1xuICAgIGxldCBkZWxlZ2F0ZSA9IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuZ2V0KG93bmVyKTtcblxuICAgIGlmIChkZWxlZ2F0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgeyBmYWN0b3J5IH0gPSB0aGlzO1xuICAgICAgZGVsZWdhdGUgPSBmYWN0b3J5KG93bmVyKTtcblxuICAgICAgaWYgKERFQlVHICYmICFGUk9NX0NBUEFCSUxJVElFUyEuaGFzKGRlbGVnYXRlLmNhcGFiaWxpdGllcykpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBtYWtlIHNlbnNlIGluIGJvdGggRW1iZXIgYW5kIEdsaW1tZXIgaHR0cHM6Ly9naXRodWIuY29tL2dsaW1tZXJqcy9nbGltbWVyLXZtL2lzc3Vlcy8xMjAwXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ3VzdG9tIG1vZGlmaWVyIG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjIyJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUob3duZXI6IE8sIGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIGRlZmluaXRpb246IG9iamVjdCwgY2FwdHVyZWRBcmdzOiBDYXB0dXJlZEFyZ3VtZW50cykge1xuICAgIGxldCBkZWxlZ2F0ZSA9IHRoaXMuZ2V0RGVsZWdhdGVGb3Iob3duZXIpO1xuXG4gICAgbGV0IGFyZ3MgPSBhcmdzUHJveHlGb3IoY2FwdHVyZWRBcmdzLCAnbW9kaWZpZXInKTtcbiAgICBsZXQgaW5zdGFuY2U6IE1vZGlmaWVySW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVNb2RpZmllcihkZWZpbml0aW9uLCBhcmdzKTtcblxuICAgIGxldCB0YWcgPSBjcmVhdGVVcGRhdGFibGVUYWcoKTtcbiAgICBsZXQgc3RhdGU6IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT47XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIHRhZyxcbiAgICAgIGVsZW1lbnQsXG4gICAgICBkZWxlZ2F0ZSxcbiAgICAgIGFyZ3MsXG4gICAgICBtb2RpZmllcjogaW5zdGFuY2UhLFxuICAgIH07XG5cbiAgICBpZiAoREVCVUcpIHtcbiAgICAgIHN0YXRlLmRlYnVnTmFtZSA9IHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nID8gZGVmaW5pdGlvbi5uYW1lIDogZGVmaW5pdGlvbi50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRGVzdHJ1Y3RvcihzdGF0ZSwgKCkgPT4gZGVsZWdhdGUuZGVzdHJveU1vZGlmaWVyKGluc3RhbmNlLCBhcmdzKSk7XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBnZXREZWJ1Z05hbWUoeyBkZWJ1Z05hbWUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBkZWJ1Z05hbWUhO1xuICB9XG5cbiAgZ2V0VGFnKHsgdGFnIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICByZXR1cm4gdGFnO1xuICB9XG5cbiAgaW5zdGFsbCh7IGVsZW1lbnQsIGFyZ3MsIG1vZGlmaWVyLCBkZWxlZ2F0ZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgbGV0IHsgY2FwYWJpbGl0aWVzIH0gPSBkZWxlZ2F0ZTtcblxuICAgIGlmIChjYXBhYmlsaXRpZXMuZGlzYWJsZUF1dG9UcmFja2luZyA9PT0gdHJ1ZSkge1xuICAgICAgdW50cmFjaygoKSA9PiBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxlZ2F0ZS5pbnN0YWxsTW9kaWZpZXIobW9kaWZpZXIsIGNhc3RUb0Jyb3dzZXIoZWxlbWVudCwgJ0VMRU1FTlQnKSwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKHsgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLnVwZGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVpZnlBcmdzKHtcbiAgbmFtZWQsXG4gIHBvc2l0aW9uYWwsXG59OiBDYXB0dXJlZEFyZ3VtZW50cyk6IHsgbmFtZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+OyBwb3NpdGlvbmFsOiB1bmtub3duW10gfSB7XG4gIGxldCByZWlmaWVkTmFtZWQgPSBkaWN0KCk7XG5cbiAgZm9yIChsZXQga2V5IGluIG5hbWVkKSB7XG4gICAgcmVpZmllZE5hbWVkW2tleV0gPSB2YWx1ZUZvclJlZihuYW1lZFtrZXldKTtcbiAgfVxuXG4gIGxldCByZWlmaWVkUG9zaXRpb25hbCA9IHBvc2l0aW9uYWwubWFwKHZhbHVlRm9yUmVmKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWVkOiByZWlmaWVkTmFtZWQsXG4gICAgcG9zaXRpb25hbDogcmVpZmllZFBvc2l0aW9uYWwsXG4gIH07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

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

// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error("Custom component managers must have a `capabilities` property that is the result of calling the `capabilities('3.4' | '3.13')` (imported via `import { capabilities } from '@ember/component';`). Received: `" + JSON.stringify(delegate.capabilities) + "` for: `" + delegate + "`");
throw new Error("Custom component managers must have a `capabilities` property that is the result of calling the `capabilities('3.13')` (imported via `import { capabilities } from '@ember/component';`). Received: `" + JSON.stringify(delegate.capabilities) + "` for: `" + delegate + "`");
}

@@ -181,2 +181,2 @@

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBQSxLQUFBLFFBQUEsY0FBQTtBQWtCQSxTQUFBLGNBQUEsUUFBQSxvQkFBQTtBQUNBLFNBQUEsa0JBQUEsUUFBQSxzQkFBQTtBQUNBLFNBQUEsaUJBQUEsRUFBQSxpQkFBQSxRQUFBLHNCQUFBO0FBQ0EsU0FBQSxZQUFBLFFBQUEsb0JBQUE7QUFHQSxJQUFNLFlBQVksR0FBRztBQUNuQixFQUFBLGFBQWEsRUFETSxLQUFBO0FBRW5CLEVBQUEsVUFBVSxFQUZTLEtBQUE7QUFHbkIsRUFBQSxXQUFXLEVBSFEsS0FBQTtBQUluQixFQUFBLFVBQVUsRUFKUyxJQUFBO0FBS25CLEVBQUEsYUFBYSxFQUxNLEtBQUE7QUFNbkIsRUFBQSxXQUFXLEVBTlEsS0FBQTtBQU9uQixFQUFBLFlBQVksRUFQTyxLQUFBO0FBUW5CLEVBQUEsWUFBWSxFQVJPLElBQUE7QUFTbkIsRUFBQSxVQUFVLEVBVFMsSUFBQTtBQVVuQixFQUFBLGNBQWMsRUFWSyxJQUFBO0FBV25CLEVBQUEsT0FBTyxFQVhZLEtBQUE7QUFZbkIsRUFBQSxXQUFXLEVBWlEsS0FBQTtBQWFuQixFQUFBLFdBQVcsRUFBRTtBQWJNLENBQXJCO0FBZ0JBLE9BQU0sU0FBQSxxQkFBQSxDQUFBLFVBQUEsRUFFSixPQUZJLEVBRWdEO0FBQUEsTUFBcEQsT0FBb0Q7QUFBcEQsSUFBQSxPQUFvRCxHQUZoRCxFQUVnRDtBQUFBOztBQUVwRCxNQUFJLEtBQUssSUFBSSxVQUFVLEtBQXZCLE1BQUEsRUFBb0M7QUFDbEMsVUFBTSxJQUFBLEtBQUEsQ0FBTixtREFBTSxDQUFOO0FBQ0Q7O0FBRUQsTUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFFLE9BQWlELENBQTNFLFVBQXdCLENBQXhCO0FBRUEsU0FBTyxpQkFBaUIsQ0FBQztBQUN2QixJQUFBLHVCQUF1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QUFULENBQWxCO0FBQ0EsYUFBQSxNQUFBO0FBQ0Q7O0FBRUQsV0FBQSxJQUFBO0FBQ0QsR0F0Rkg7O0FBQUEsU0F3RkUsZUF4RkYsR0F3RkUsMkJBQWU7QUFDYixXQUFBLFlBQUE7QUFDRCxHQTFGSDs7QUFBQTtBQUFBO0FBNkZBOzs7O0FBR0EsV0FBTSxvQkFBTixHQUNFLDhCQUFBLFNBQUEsRUFBQSxRQUFBLEVBQUEsSUFBQSxFQUd3QjtBQUZmLE9BQUEsU0FBQSxHQUFBLFNBQUE7QUFDQSxPQUFBLFFBQUEsR0FBQSxRQUFBO0FBQ0EsT0FBQSxJQUFBLEdBQUEsSUFBQTtBQUNMLENBTE4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENvbXBvbmVudENhcGFiaWxpdGllcyxcbiAgQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgQ29tcG9uZW50TWFuYWdlcixcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyxcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY1VwZGF0ZUhvb2ssXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoRGVzdHJ1Y3RvcnMsXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoVXBkYXRlSG9vayxcbiAgRGVzdHJveWFibGUsXG4gIEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzLFxuICBJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIsXG4gIE9wdGlvbixcbiAgT3duZXIsXG4gIFZNQXJndW1lbnRzLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnN0UmVmLCBSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLi9pbmRleCc7XG5cbmNvbnN0IENBUEFCSUxJVElFUyA9IHtcbiAgZHluYW1pY0xheW91dDogZmFsc2UsXG4gIGR5bmFtaWNUYWc6IGZhbHNlLFxuICBwcmVwYXJlQXJnczogZmFsc2UsXG4gIGNyZWF0ZUFyZ3M6IHRydWUsXG4gIGF0dHJpYnV0ZUhvb2s6IGZhbHNlLFxuICBlbGVtZW50SG9vazogZmFsc2UsXG4gIGNyZWF0ZUNhbGxlcjogZmFsc2UsXG4gIGR5bmFtaWNTY29wZTogdHJ1ZSxcbiAgdXBkYXRlSG9vazogdHJ1ZSxcbiAgY3JlYXRlSW5zdGFuY2U6IHRydWUsXG4gIHdyYXBwZWQ6IGZhbHNlLFxuICB3aWxsRGVzdHJveTogZmFsc2UsXG4gIGhhc1N1Yk93bmVyOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wb25lbnRDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uczogQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogQ29tcG9uZW50Q2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjEzJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb21wb25lbnQgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgbGV0IHVwZGF0ZUhvb2sgPSBCb29sZWFuKChvcHRpb25zIGFzIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zWyczLjEzJ10pLnVwZGF0ZUhvb2spO1xuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgYXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M6IEJvb2xlYW4ob3B0aW9ucy5hc3luY0xpZmVjeWNsZUNhbGxiYWNrcyksXG4gICAgZGVzdHJ1Y3RvcjogQm9vbGVhbihvcHRpb25zLmRlc3RydWN0b3IpLFxuICAgIHVwZGF0ZUhvb2ssXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGRlbGVnYXRlLmNhcGFiaWxpdGllcy5hc3luY0xpZmVDeWNsZUNhbGxiYWNrcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLnVwZGF0ZUhvb2s7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNBc3luY1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyhkZWxlZ2F0ZSkgJiYgaGFzVXBkYXRlSG9vayhkZWxlZ2F0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNEZXN0cnVjdG9yczxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhEZXN0cnVjdG9yczxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLmRlc3RydWN0b3I7XG59XG5cbi8qKlxuICBUaGUgQ3VzdG9tQ29tcG9uZW50TWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIGNvbXBvbmVudFxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VyLCB3aGljaFxuICBpbXBsZW1lbnRzIGEgc2V0IG9mIGhvb2tzIHRoYXQgZGV0ZXJtaW5lIGNvbXBvbmVudCBiZWhhdmlvci5cblxuICBUbyBjcmVhdGUgYSBjdXN0b20gY29tcG9uZW50IG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbUNvbXBvbmVudE1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Db21wb25lbnRNYW5hZ2VyKHtcbiAgICAvLyAuLi5kZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4uLlxuICB9KTtcbiAgYGBgXG5cbiAgIyMgRGVsZWdhdGUgSG9va3NcblxuICBUaHJvdWdob3V0IHRoZSBsaWZlY3ljbGUgb2YgYSBjb21wb25lbnQsIHRoZSBjb21wb25lbnQgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuXG4gICogYGNyZWF0ZSgpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIGNvbXBvbmVudCBzaG91bGQgYmUgY3JlYXRlZFxuICAqIGB1cGRhdGUoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBjb21wb25lbnQgY2hhbmdlXG4gICogYGdldENvbnRleHQoKWAgLSByZXR1cm5zIHRoZSBvYmplY3QgdGhhdCBzaG91bGQgYmVcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50TWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIENvbXBvbmVudEluc3RhbmNlPlxuICBpbXBsZW1lbnRzIEludGVybmFsQ29tcG9uZW50TWFuYWdlcjxDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4+IHtcbiAgcHJpdmF0ZSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzID0gbmV3IFdlYWtNYXA8TywgQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gY29tcG9uZW50IG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjQnIHwgJzMuMTMnKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9jb21wb25lbnQnO1xcYCkuIFJlY2VpdmVkOiBcXGAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVsZWdhdGUuY2FwYWJpbGl0aWVzXG4gICAgICAgICAgKX1cXGAgZm9yOiBcXGAke2RlbGVnYXRlfVxcYGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5zZXQob3duZXIsIGRlbGVnYXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZWdhdGU7XG4gIH1cblxuICBjcmVhdGUoXG4gICAgb3duZXI6IE8sXG4gICAgZGVmaW5pdGlvbjogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICAgIHZtQXJnczogVk1Bcmd1bWVudHNcbiAgKTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgICBsZXQgZGVsZWdhdGUgPSB0aGlzLmdldERlbGVnYXRlRm9yKG93bmVyKTtcbiAgICBsZXQgYXJncyA9IGFyZ3NQcm94eUZvcih2bUFyZ3MuY2FwdHVyZSgpLCAnY29tcG9uZW50Jyk7XG5cbiAgICBsZXQgY29tcG9uZW50OiBDb21wb25lbnRJbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZUNvbXBvbmVudChkZWZpbml0aW9uLCBhcmdzKTtcblxuICAgIHJldHVybiBuZXcgQ3VzdG9tQ29tcG9uZW50U3RhdGUoY29tcG9uZW50ISwgZGVsZWdhdGUsIGFyZ3MpO1xuICB9XG5cbiAgZ2V0RGVidWdOYW1lKGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nID8gZGVmaW5pdGlvbi5uYW1lIDogZGVmaW5pdGlvbi50b1N0cmluZygpO1xuICB9XG5cbiAgdXBkYXRlKGJ1Y2tldDogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogdm9pZCB7XG4gICAgbGV0IHsgZGVsZWdhdGUgfSA9IGJ1Y2tldDtcbiAgICBpZiAoaGFzVXBkYXRlSG9vayhkZWxlZ2F0ZSkpIHtcbiAgICAgIGxldCB7IGNvbXBvbmVudCwgYXJncyB9ID0gYnVja2V0O1xuXG4gICAgICBkZWxlZ2F0ZS51cGRhdGVDb21wb25lbnQoY29tcG9uZW50LCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICBkaWRDcmVhdGUoeyBjb21wb25lbnQsIGRlbGVnYXRlIH06IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGlmIChoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyhkZWxlZ2F0ZSkpIHtcbiAgICAgIGRlbGVnYXRlLmRpZENyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGRpZFVwZGF0ZSh7IGNvbXBvbmVudCwgZGVsZWdhdGUgfTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogdm9pZCB7XG4gICAgaWYgKGhhc0FzeW5jVXBkYXRlSG9vayhkZWxlZ2F0ZSkpIHtcbiAgICAgIGRlbGVnYXRlLmRpZFVwZGF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGRpZFJlbmRlckxheW91dCgpOiB2b2lkIHt9XG5cbiAgZGlkVXBkYXRlTGF5b3V0KCk6IHZvaWQge31cblxuICBnZXRTZWxmKHsgY29tcG9uZW50LCBkZWxlZ2F0ZSB9OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiBSZWZlcmVuY2Uge1xuICAgIHJldHVybiBjcmVhdGVDb25zdFJlZihkZWxlZ2F0ZS5nZXRDb250ZXh0KGNvbXBvbmVudCksICd0aGlzJyk7XG4gIH1cblxuICBnZXREZXN0cm95YWJsZShidWNrZXQ6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IE9wdGlvbjxEZXN0cm95YWJsZT4ge1xuICAgIGNvbnN0IHsgZGVsZWdhdGUgfSA9IGJ1Y2tldDtcblxuICAgIGlmIChoYXNEZXN0cnVjdG9ycyhkZWxlZ2F0ZSkpIHtcbiAgICAgIGNvbnN0IHsgY29tcG9uZW50IH0gPSBidWNrZXQ7XG5cbiAgICAgIHJlZ2lzdGVyRGVzdHJ1Y3RvcihidWNrZXQsICgpID0+IGRlbGVnYXRlLmRlc3Ryb3lDb21wb25lbnQoY29tcG9uZW50KSk7XG4gICAgICByZXR1cm4gYnVja2V0O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZ2V0Q2FwYWJpbGl0aWVzKCk6IEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzIHtcbiAgICByZXR1cm4gQ0FQQUJJTElUSUVTO1xuICB9XG59XG5cbi8qKlxuICogU3RvcmVzIGludGVybmFsIHN0YXRlIGFib3V0IGEgY29tcG9uZW50IGluc3RhbmNlIGFmdGVyIGl0J3MgYmVlbiBjcmVhdGVkLlxuICovXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbXBvbmVudDogQ29tcG9uZW50SW5zdGFuY2UsXG4gICAgcHVibGljIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPixcbiAgICBwdWJsaWMgYXJnczogQXJndW1lbnRzXG4gICkge31cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBQSxLQUFBLFFBQUEsY0FBQTtBQWtCQSxTQUFBLGNBQUEsUUFBQSxvQkFBQTtBQUNBLFNBQUEsa0JBQUEsUUFBQSxzQkFBQTtBQUNBLFNBQUEsaUJBQUEsRUFBQSxpQkFBQSxRQUFBLHNCQUFBO0FBQ0EsU0FBQSxZQUFBLFFBQUEsb0JBQUE7QUFHQSxJQUFNLFlBQVksR0FBRztBQUNuQixFQUFBLGFBQWEsRUFETSxLQUFBO0FBRW5CLEVBQUEsVUFBVSxFQUZTLEtBQUE7QUFHbkIsRUFBQSxXQUFXLEVBSFEsS0FBQTtBQUluQixFQUFBLFVBQVUsRUFKUyxJQUFBO0FBS25CLEVBQUEsYUFBYSxFQUxNLEtBQUE7QUFNbkIsRUFBQSxXQUFXLEVBTlEsS0FBQTtBQU9uQixFQUFBLFlBQVksRUFQTyxLQUFBO0FBUW5CLEVBQUEsWUFBWSxFQVJPLElBQUE7QUFTbkIsRUFBQSxVQUFVLEVBVFMsSUFBQTtBQVVuQixFQUFBLGNBQWMsRUFWSyxJQUFBO0FBV25CLEVBQUEsT0FBTyxFQVhZLEtBQUE7QUFZbkIsRUFBQSxXQUFXLEVBWlEsS0FBQTtBQWFuQixFQUFBLFdBQVcsRUFBRTtBQWJNLENBQXJCO0FBZ0JBLE9BQU0sU0FBQSxxQkFBQSxDQUFBLFVBQUEsRUFFSixPQUZJLEVBRWdEO0FBQUEsTUFBcEQsT0FBb0Q7QUFBcEQsSUFBQSxPQUFvRCxHQUZoRCxFQUVnRDtBQUFBOztBQUVwRCxNQUFJLEtBQUssSUFBSSxVQUFVLEtBQXZCLE1BQUEsRUFBb0M7QUFDbEMsVUFBTSxJQUFBLEtBQUEsQ0FBTixtREFBTSxDQUFOO0FBQ0Q7O0FBRUQsTUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFFLE9BQWlELENBQTNFLFVBQXdCLENBQXhCO0FBRUEsU0FBTyxpQkFBaUIsQ0FBQztBQUN2QixJQUFBLHVCQUF1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QUFULENBQWxCO0FBQ0EsYUFBQSxNQUFBO0FBQ0Q7O0FBRUQsV0FBQSxJQUFBO0FBQ0QsR0F0Rkg7O0FBQUEsU0F3RkUsZUF4RkYsR0F3RkUsMkJBQWU7QUFDYixXQUFBLFlBQUE7QUFDRCxHQTFGSDs7QUFBQTtBQUFBO0FBNkZBOzs7O0FBR0EsV0FBTSxvQkFBTixHQUNFLDhCQUFBLFNBQUEsRUFBQSxRQUFBLEVBQUEsSUFBQSxFQUd3QjtBQUZmLE9BQUEsU0FBQSxHQUFBLFNBQUE7QUFDQSxPQUFBLFFBQUEsR0FBQSxRQUFBO0FBQ0EsT0FBQSxJQUFBLEdBQUEsSUFBQTtBQUNMLENBTE4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENvbXBvbmVudENhcGFiaWxpdGllcyxcbiAgQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgQ29tcG9uZW50TWFuYWdlcixcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyxcbiAgQ29tcG9uZW50TWFuYWdlcldpdGhBc3luY1VwZGF0ZUhvb2ssXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoRGVzdHJ1Y3RvcnMsXG4gIENvbXBvbmVudE1hbmFnZXJXaXRoVXBkYXRlSG9vayxcbiAgRGVzdHJveWFibGUsXG4gIEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0aWVzLFxuICBJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIsXG4gIE9wdGlvbixcbiAgT3duZXIsXG4gIFZNQXJndW1lbnRzLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnN0UmVmLCBSZWZlcmVuY2UgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgYnVpbGRDYXBhYmlsaXRpZXMsIEZST01fQ0FQQUJJTElUSUVTIH0gZnJvbSAnLi4vdXRpbC9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgYXJnc1Byb3h5Rm9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzLXByb3h5JztcbmltcG9ydCB7IE1hbmFnZXJGYWN0b3J5IH0gZnJvbSAnLi9pbmRleCc7XG5cbmNvbnN0IENBUEFCSUxJVElFUyA9IHtcbiAgZHluYW1pY0xheW91dDogZmFsc2UsXG4gIGR5bmFtaWNUYWc6IGZhbHNlLFxuICBwcmVwYXJlQXJnczogZmFsc2UsXG4gIGNyZWF0ZUFyZ3M6IHRydWUsXG4gIGF0dHJpYnV0ZUhvb2s6IGZhbHNlLFxuICBlbGVtZW50SG9vazogZmFsc2UsXG4gIGNyZWF0ZUNhbGxlcjogZmFsc2UsXG4gIGR5bmFtaWNTY29wZTogdHJ1ZSxcbiAgdXBkYXRlSG9vazogdHJ1ZSxcbiAgY3JlYXRlSW5zdGFuY2U6IHRydWUsXG4gIHdyYXBwZWQ6IGZhbHNlLFxuICB3aWxsRGVzdHJveTogZmFsc2UsXG4gIGhhc1N1Yk93bmVyOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wb25lbnRDYXBhYmlsaXRpZXM8VmVyc2lvbiBleHRlbmRzIGtleW9mIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uczogQ29tcG9uZW50Q2FwYWJpbGl0aWVzVmVyc2lvbnNbVmVyc2lvbl0gPSB7fVxuKTogQ29tcG9uZW50Q2FwYWJpbGl0aWVzIHtcbiAgaWYgKERFQlVHICYmIG1hbmFnZXJBUEkgIT09ICczLjEzJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb21wb25lbnQgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgbGV0IHVwZGF0ZUhvb2sgPSBCb29sZWFuKChvcHRpb25zIGFzIENvbXBvbmVudENhcGFiaWxpdGllc1ZlcnNpb25zWyczLjEzJ10pLnVwZGF0ZUhvb2spO1xuXG4gIHJldHVybiBidWlsZENhcGFiaWxpdGllcyh7XG4gICAgYXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M6IEJvb2xlYW4ob3B0aW9ucy5hc3luY0xpZmVjeWNsZUNhbGxiYWNrcyksXG4gICAgZGVzdHJ1Y3RvcjogQm9vbGVhbihvcHRpb25zLmRlc3RydWN0b3IpLFxuICAgIHVwZGF0ZUhvb2ssXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3M8Q29tcG9uZW50SW5zdGFuY2U+IHtcbiAgcmV0dXJuIGRlbGVnYXRlLmNhcGFiaWxpdGllcy5hc3luY0xpZmVDeWNsZUNhbGxiYWNrcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoVXBkYXRlSG9vazxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLnVwZGF0ZUhvb2s7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNBc3luY1VwZGF0ZUhvb2s8Q29tcG9uZW50SW5zdGFuY2U+KFxuICBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT5cbik6IGRlbGVnYXRlIGlzIENvbXBvbmVudE1hbmFnZXJXaXRoQXN5bmNVcGRhdGVIb29rPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIHJldHVybiBoYXNBc3luY0xpZmVDeWNsZUNhbGxiYWNrcyhkZWxlZ2F0ZSkgJiYgaGFzVXBkYXRlSG9vayhkZWxlZ2F0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNEZXN0cnVjdG9yczxDb21wb25lbnRJbnN0YW5jZT4oXG4gIGRlbGVnYXRlOiBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPlxuKTogZGVsZWdhdGUgaXMgQ29tcG9uZW50TWFuYWdlcldpdGhEZXN0cnVjdG9yczxDb21wb25lbnRJbnN0YW5jZT4ge1xuICByZXR1cm4gZGVsZWdhdGUuY2FwYWJpbGl0aWVzLmRlc3RydWN0b3I7XG59XG5cbi8qKlxuICBUaGUgQ3VzdG9tQ29tcG9uZW50TWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIGNvbXBvbmVudFxuICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBpbnRlZ3JhdGUgc2VhbWxlc3NseSBpbnRvIEVtYmVyLiBUaGlzIGlzIGFjY29tcGxpc2hlZFxuICB0aHJvdWdoIGEgZGVsZWdhdGUsIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY3VzdG9tIGNvbXBvbmVudCBtYW5hZ2VyLCB3aGljaFxuICBpbXBsZW1lbnRzIGEgc2V0IG9mIGhvb2tzIHRoYXQgZGV0ZXJtaW5lIGNvbXBvbmVudCBiZWhhdmlvci5cblxuICBUbyBjcmVhdGUgYSBjdXN0b20gY29tcG9uZW50IG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbUNvbXBvbmVudE1hbmFnZXJcbiAgY2xhc3MgYW5kIHBhc3MgdGhlIGRlbGVnYXRlIGFzIHRoZSBmaXJzdCBhcmd1bWVudDpcblxuICBgYGBqc1xuICBsZXQgbWFuYWdlciA9IG5ldyBDdXN0b21Db21wb25lbnRNYW5hZ2VyKHtcbiAgICAvLyAuLi5kZWxlZ2F0ZSBpbXBsZW1lbnRhdGlvbi4uLlxuICB9KTtcbiAgYGBgXG5cbiAgIyMgRGVsZWdhdGUgSG9va3NcblxuICBUaHJvdWdob3V0IHRoZSBsaWZlY3ljbGUgb2YgYSBjb21wb25lbnQsIHRoZSBjb21wb25lbnQgbWFuYWdlciB3aWxsIGludm9rZVxuICBkZWxlZ2F0ZSBob29rcyB0aGF0IGFyZSByZXNwb25zaWJsZSBmb3Igc3VyZmFjaW5nIHRob3NlIGxpZmVjeWNsZSBjaGFuZ2VzIHRvXG4gIHRoZSBlbmQgZGV2ZWxvcGVyLlxuXG4gICogYGNyZWF0ZSgpYCAtIGludm9rZWQgd2hlbiBhIG5ldyBpbnN0YW5jZSBvZiBhIGNvbXBvbmVudCBzaG91bGQgYmUgY3JlYXRlZFxuICAqIGB1cGRhdGUoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBjb21wb25lbnQgY2hhbmdlXG4gICogYGdldENvbnRleHQoKWAgLSByZXR1cm5zIHRoZSBvYmplY3QgdGhhdCBzaG91bGQgYmVcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29tcG9uZW50TWFuYWdlcjxPIGV4dGVuZHMgT3duZXIsIENvbXBvbmVudEluc3RhbmNlPlxuICBpbXBsZW1lbnRzIEludGVybmFsQ29tcG9uZW50TWFuYWdlcjxDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4+IHtcbiAgcHJpdmF0ZSBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzID0gbmV3IFdlYWtNYXA8TywgQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBNYW5hZ2VyRmFjdG9yeTxPLCBDb21wb25lbnRNYW5hZ2VyPENvbXBvbmVudEluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gY29tcG9uZW50IG1hbmFnZXJzIG11c3QgaGF2ZSBhIFxcYGNhcGFiaWxpdGllc1xcYCBwcm9wZXJ0eSB0aGF0IGlzIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0aGUgXFxgY2FwYWJpbGl0aWVzKCczLjEzJylcXGAgKGltcG9ydGVkIHZpYSBcXGBpbXBvcnQgeyBjYXBhYmlsaXRpZXMgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50JztcXGApLiBSZWNlaXZlZDogXFxgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIGRlbGVnYXRlLmNhcGFiaWxpdGllc1xuICAgICAgICAgICl9XFxgIGZvcjogXFxgJHtkZWxlZ2F0ZX1cXGBgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMuc2V0KG93bmVyLCBkZWxlZ2F0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbGVnYXRlO1xuICB9XG5cbiAgY3JlYXRlKFxuICAgIG93bmVyOiBPLFxuICAgIGRlZmluaXRpb246IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgICB2bUFyZ3M6IFZNQXJndW1lbnRzXG4gICk6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPiB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG4gICAgbGV0IGFyZ3MgPSBhcmdzUHJveHlGb3Iodm1BcmdzLmNhcHR1cmUoKSwgJ2NvbXBvbmVudCcpO1xuXG4gICAgbGV0IGNvbXBvbmVudDogQ29tcG9uZW50SW5zdGFuY2UgPSBkZWxlZ2F0ZS5jcmVhdGVDb21wb25lbnQoZGVmaW5pdGlvbiwgYXJncyk7XG5cbiAgICByZXR1cm4gbmV3IEN1c3RvbUNvbXBvbmVudFN0YXRlKGNvbXBvbmVudCEsIGRlbGVnYXRlLCBhcmdzKTtcbiAgfVxuXG4gIGdldERlYnVnTmFtZShkZWZpbml0aW9uOiBDb21wb25lbnREZWZpbml0aW9uU3RhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGRlZmluaXRpb24ubmFtZSA6IGRlZmluaXRpb24udG9TdHJpbmcoKTtcbiAgfVxuXG4gIHVwZGF0ZShidWNrZXQ6IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGxldCB7IGRlbGVnYXRlIH0gPSBidWNrZXQ7XG4gICAgaWYgKGhhc1VwZGF0ZUhvb2soZGVsZWdhdGUpKSB7XG4gICAgICBsZXQgeyBjb21wb25lbnQsIGFyZ3MgfSA9IGJ1Y2tldDtcblxuICAgICAgZGVsZWdhdGUudXBkYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgYXJncyk7XG4gICAgfVxuICB9XG5cbiAgZGlkQ3JlYXRlKHsgY29tcG9uZW50LCBkZWxlZ2F0ZSB9OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQXN5bmNMaWZlQ3ljbGVDYWxsYmFja3MoZGVsZWdhdGUpKSB7XG4gICAgICBkZWxlZ2F0ZS5kaWRDcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICB9XG4gIH1cblxuICBkaWRVcGRhdGUoeyBjb21wb25lbnQsIGRlbGVnYXRlIH06IEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPik6IHZvaWQge1xuICAgIGlmIChoYXNBc3luY1VwZGF0ZUhvb2soZGVsZWdhdGUpKSB7XG4gICAgICBkZWxlZ2F0ZS5kaWRVcGRhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICB9XG4gIH1cblxuICBkaWRSZW5kZXJMYXlvdXQoKTogdm9pZCB7fVxuXG4gIGRpZFVwZGF0ZUxheW91dCgpOiB2b2lkIHt9XG5cbiAgZ2V0U2VsZih7IGNvbXBvbmVudCwgZGVsZWdhdGUgfTogQ3VzdG9tQ29tcG9uZW50U3RhdGU8Q29tcG9uZW50SW5zdGFuY2U+KTogUmVmZXJlbmNlIHtcbiAgICByZXR1cm4gY3JlYXRlQ29uc3RSZWYoZGVsZWdhdGUuZ2V0Q29udGV4dChjb21wb25lbnQpLCAndGhpcycpO1xuICB9XG5cbiAgZ2V0RGVzdHJveWFibGUoYnVja2V0OiBDdXN0b21Db21wb25lbnRTdGF0ZTxDb21wb25lbnRJbnN0YW5jZT4pOiBPcHRpb248RGVzdHJveWFibGU+IHtcbiAgICBjb25zdCB7IGRlbGVnYXRlIH0gPSBidWNrZXQ7XG5cbiAgICBpZiAoaGFzRGVzdHJ1Y3RvcnMoZGVsZWdhdGUpKSB7XG4gICAgICBjb25zdCB7IGNvbXBvbmVudCB9ID0gYnVja2V0O1xuXG4gICAgICByZWdpc3RlckRlc3RydWN0b3IoYnVja2V0LCAoKSA9PiBkZWxlZ2F0ZS5kZXN0cm95Q29tcG9uZW50KGNvbXBvbmVudCkpO1xuICAgICAgcmV0dXJuIGJ1Y2tldDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldENhcGFiaWxpdGllcygpOiBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdGllcyB7XG4gICAgcmV0dXJuIENBUEFCSUxJVElFUztcbiAgfVxufVxuXG4vKipcbiAqIFN0b3JlcyBpbnRlcm5hbCBzdGF0ZSBhYm91dCBhIGNvbXBvbmVudCBpbnN0YW5jZSBhZnRlciBpdCdzIGJlZW4gY3JlYXRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbXBvbmVudFN0YXRlPENvbXBvbmVudEluc3RhbmNlPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb21wb25lbnQ6IENvbXBvbmVudEluc3RhbmNlLFxuICAgIHB1YmxpYyBkZWxlZ2F0ZTogQ29tcG9uZW50TWFuYWdlcjxDb21wb25lbnRJbnN0YW5jZT4sXG4gICAgcHVibGljIGFyZ3M6IEFyZ3VtZW50c1xuICApIHt9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9

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

// TODO: This error message should make sense in both Ember and Glimmer https://github.com/glimmerjs/glimmer-vm/issues/1200
throw new Error("Custom modifier managers must have a `capabilities` property that is the result of calling the `capabilities('3.13' | '3.22')` (imported via `import { capabilities } from '@ember/modifier';`). Received: `" + JSON.stringify(delegate.capabilities) + "` for: `" + delegate + "`");
throw new Error("Custom modifier managers must have a `capabilities` property that is the result of calling the `capabilities('3.22')` (imported via `import { capabilities } from '@ember/modifier';`). Received: `" + JSON.stringify(delegate.capabilities) + "` for: `" + delegate + "`");
}

@@ -160,2 +160,2 @@

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFBLEtBQUEsUUFBQSxjQUFBO0FBVUEsU0FBQSxrQkFBQSxRQUFBLHNCQUFBO0FBQ0EsU0FBQSxXQUFBLFFBQUEsb0JBQUE7QUFDQSxTQUFBLElBQUEsUUFBQSxlQUFBO0FBQ0EsU0FBQSxrQkFBQSxFQUFBLE9BQUEsUUFBQSxvQkFBQTtBQUVBLFNBQUEsaUJBQUEsRUFBQSxpQkFBQSxRQUFBLHNCQUFBO0FBQ0EsU0FBQSxZQUFBLFFBQUEsb0JBQUE7QUFHQSxPQUFNLFNBQUEsb0JBQUEsQ0FBQSxVQUFBLEVBRUosZ0JBRkksRUFFd0Q7QUFBQSxNQUE1RCxnQkFBNEQ7QUFBNUQsSUFBQSxnQkFBNEQsR0FGeEQsRUFFd0Q7QUFBQTs7QUFFNUQsTUFBSSxLQUFLLElBQUksVUFBVSxLQUF2QixNQUFBLEVBQW9DO0FBQ2xDLFVBQU0sSUFBQSxLQUFBLENBQU4sa0RBQU0sQ0FBTjtBQUNEOztBQUVELFNBQU8saUJBQWlCLENBQUM7QUFDdkIsSUFBQSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQWpCLG1CQUFBO0FBREwsR0FBRCxDQUF4QjtBQUdEO0FBV0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsV0FBTSxxQkFBTjtBQUlFLGlDQUFBLE9BQUEsRUFBaUY7QUFBN0QsU0FBQSxPQUFBLEdBQUEsT0FBQTtBQUZaLFNBQUEseUJBQUEsR0FBNEIsSUFBNUIsT0FBNEIsRUFBNUI7QUFFNkU7O0FBSnZGOztBQUFBLFNBTVUsY0FOVixHQU1VLHdCQUFjLEtBQWQsRUFBdUI7QUFBQSxRQUN2Qix5QkFEdUIsR0FDN0IsSUFENkIsQ0FDdkIseUJBRHVCO0FBRTdCLFFBQUksUUFBUSxHQUFHLHlCQUF5QixDQUF6QixHQUFBLENBQWYsS0FBZSxDQUFmOztBQUVBLFFBQUksUUFBUSxL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QUFZLENBQVosbUJBQUEsS0FBSixJQUFBLEVBQStDO0FBQzdDLE1BQUEsT0FBTyxDQUFDO0FBQUEsZUFBTSxRQUFRLENBQVIsY0FBQSxDQUFBLFFBQUEsRUFBZCxJQUFjLENBQU47QUFBQSxPQUFELENBQVA7QUFERixLQUFBLE1BRU87QUFDTCxNQUFBLFFBQVEsQ0FBUixjQUFBLENBQUEsUUFBQSxFQUFBLElBQUE7QUFDRDtBQUNGLEdBakZIOztBQUFBLFNBbUZFLGNBbkZGLEdBbUZFLHdCQUFjLEtBQWQsRUFBMkQ7QUFDekQsV0FBQSxLQUFBO0FBQ0QsR0FyRkg7O0FBQUE7QUFBQTtBQXdGQSxPQUFNLFNBQUEsU0FBQSxRQUdjO0FBQUEsTUFITSxLQUdOLFNBSE0sS0FHTjtBQUFBLE1BRGxCLFVBQ2tCLFNBRGxCLFVBQ2tCO0FBQ2xCLE1BQUksWUFBWSxHQUFHLElBQW5CLEVBQUE7O0FBRUEsT0FBSyxJQUFMLEdBQUEsSUFBQSxLQUFBLEVBQXVCO0FBQ3JCLElBQUEsWUFBWSxDQUFaLEdBQVksQ0FBWixHQUFvQixXQUFXLENBQUMsS0FBSyxDQUFyQyxHQUFxQyxDQUFOLENBQS9CO0FBQ0Q7O0FBRUQsTUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQVYsR0FBQSxDQUF4QixXQUF3QixDQUF4QjtBQUVBLFNBQU87QUFDTCxJQUFBLEtBQUssRUFEQSxZQUFBO0FBRUwsSUFBQSxVQUFVLEVBQUU7QUFGUCxHQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENhcHR1cmVkQXJndW1lbnRzLFxuICBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcixcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXMsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIE1vZGlmaWVyTWFuYWdlcixcbiAgT3duZXIsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgY2FzdFRvQnJvd3NlciwgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgY3JlYXRlVXBkYXRhYmxlVGFnLCB1bnRyYWNrLCBVcGRhdGFibGVUYWcgfSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHsgU2ltcGxlRWxlbWVudCB9IGZyb20gJ0BzaW1wbGUtZG9tL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBidWlsZENhcGFiaWxpdGllcywgRlJPTV9DQVBBQklMSVRJRVMgfSBmcm9tICcuLi91dGlsL2NhcGFiaWxpdGllcyc7XG5pbXBvcnQgeyBhcmdzUHJveHlGb3IgfSBmcm9tICcuLi91dGlsL2FyZ3MtcHJveHknO1xuaW1wb3J0IHsgTWFuYWdlckZhY3RvcnkgfSBmcm9tICcuJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmaWVyQ2FwYWJpbGl0aWVzPFZlcnNpb24gZXh0ZW5kcyBrZXlvZiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uYWxGZWF0dXJlczogTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9uc1tWZXJzaW9uXSA9IHt9XG4pOiBNb2RpZmllckNhcGFiaWxpdGllcyB7XG4gIGlmIChERUJVRyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4yMicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kaWZpZXIgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkQ2FwYWJpbGl0aWVzKHtcbiAgICBkaXNhYmxlQXV0b1RyYWNraW5nOiBCb29sZWFuKG9wdGlvbmFsRmVhdHVyZXMuZGlzYWJsZUF1dG9UcmFja2luZyksXG4gIH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4ge1xuICB0YWc6IFVwZGF0YWJsZVRhZztcbiAgZWxlbWVudDogU2ltcGxlRWxlbWVudDtcbiAgbW9kaWZpZXI6IE1vZGlmaWVySW5zdGFuY2U7XG4gIGRlbGVnYXRlOiBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT47XG4gIGFyZ3M6IEFyZ3VtZW50cztcbiAgZGVidWdOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAgVGhlIEN1c3RvbU1vZGlmaWVyTWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIG1vZGlmaWVyXG4gIGltcGxlbWVudGF0aW9ucyB0aGF0IGludGVncmF0ZSBzZWFtbGVzc2x5IGludG8gRW1iZXIuIFRoaXMgaXMgYWNjb21wbGlzaGVkXG4gIHRocm91Z2ggYSBkZWxlZ2F0ZSwgcmVnaXN0ZXJlZCB3aXRoIHRoZSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgd2hpY2hcbiAgaW1wbGVtZW50cyBhIHNldCBvZiBob29rcyB0aGF0IGRldGVybWluZSBtb2RpZmllciBiZWhhdmlvci5cbiAgVG8gY3JlYXRlIGEgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlclxuICBjbGFzcyBhbmQgcGFzcyB0aGUgZGVsZWdhdGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50OlxuXG4gIGBgYGpzXG4gIGxldCBtYW5hZ2VyID0gbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlcih7XG4gICAgLy8gLi4uZGVsZWdhdGUgaW1wbGVtZW50YXRpb24uLi5cbiAgfSk7XG4gIGBgYFxuXG4gICMjIERlbGVnYXRlIEhvb2tzXG5cbiAgVGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIGEgbW9kaWZpZXIsIHRoZSBtb2RpZmllciBtYW5hZ2VyIHdpbGwgaW52b2tlXG4gIGRlbGVnYXRlIGhvb2tzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBzdXJmYWNpbmcgdGhvc2UgbGlmZWN5Y2xlIGNoYW5nZXMgdG9cbiAgdGhlIGVuZCBkZXZlbG9wZXIuXG4gICogYGNyZWF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIGEgbmV3IGluc3RhbmNlIG9mIGEgbW9kaWZpZXIgc2hvdWxkIGJlIGNyZWF0ZWRcbiAgKiBgaW5zdGFsbE1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBpbnN0YWxsZWQgb24gdGhlIGVsZW1lbnRcbiAgKiBgdXBkYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBtb2RpZmllciBjaGFuZ2VcbiAgKiBgZGVzdHJveU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWRcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyPE8gZXh0ZW5kcyBPd25lciwgTW9kaWZpZXJJbnN0YW5jZT5cbiAgaW1wbGVtZW50cyBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcjxDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+PiB7XG4gIHByaXZhdGUgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyA9IG5ldyBXZWFrTWFwPE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IE1hbmFnZXJGYWN0b3J5PE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gbW9kaWZpZXIgbWFuYWdlcnMgbXVzdCBoYXZlIGEgXFxgY2FwYWJpbGl0aWVzXFxgIHByb3BlcnR5IHRoYXQgaXMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBcXGBjYXBhYmlsaXRpZXMoJzMuMTMnIHwgJzMuMjInKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XFxgKS4gUmVjZWl2ZWQ6IFxcYCR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXNcbiAgICAgICAgICApfVxcYCBmb3I6IFxcYCR7ZGVsZWdhdGV9XFxgYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLnNldChvd25lciwgZGVsZWdhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxlZ2F0ZTtcbiAgfVxuXG4gIGNyZWF0ZShvd25lcjogTywgZWxlbWVudDogU2ltcGxlRWxlbWVudCwgZGVmaW5pdGlvbjogb2JqZWN0LCBjYXB0dXJlZEFyZ3M6IENhcHR1cmVkQXJndW1lbnRzKSB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG5cbiAgICBsZXQgYXJncyA9IGFyZ3NQcm94eUZvcihjYXB0dXJlZEFyZ3MsICdtb2RpZmllcicpO1xuICAgIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGRlZmluaXRpb24sIGFyZ3MpO1xuXG4gICAgbGV0IHRhZyA9IGNyZWF0ZVVwZGF0YWJsZVRhZygpO1xuICAgIGxldCBzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPjtcblxuICAgIHN0YXRlID0ge1xuICAgICAgdGFnLFxuICAgICAgZWxlbWVudCxcbiAgICAgIGRlbGVnYXRlLFxuICAgICAgYXJncyxcbiAgICAgIG1vZGlmaWVyOiBpbnN0YW5jZSEsXG4gICAgfTtcblxuICAgIGlmIChERUJVRykge1xuICAgICAgc3RhdGUuZGVidWdOYW1lID0gdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicgPyBkZWZpbml0aW9uLm5hbWUgOiBkZWZpbml0aW9uLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJEZXN0cnVjdG9yKHN0YXRlLCAoKSA9PiBkZWxlZ2F0ZS5kZXN0cm95TW9kaWZpZXIoaW5zdGFuY2UsIGFyZ3MpKTtcblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIGdldERlYnVnTmFtZSh7IGRlYnVnTmFtZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIGRlYnVnTmFtZSE7XG4gIH1cblxuICBnZXRUYWcoeyB0YWcgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiB0YWc7XG4gIH1cblxuICBpbnN0YWxsKHsgZWxlbWVudCwgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLmluc3RhbGxNb2RpZmllcihtb2RpZmllciwgY2FzdFRvQnJvd3NlcihlbGVtZW50LCAnRUxFTUVOVCcpLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLmluc3RhbGxNb2RpZmllcihtb2RpZmllciwgY2FzdFRvQnJvd3NlcihlbGVtZW50LCAnRUxFTUVOVCcpLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUoeyBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUudXBkYXRlTW9kaWZpZXIobW9kaWZpZXIsIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUudXBkYXRlTW9kaWZpZXIobW9kaWZpZXIsIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlc3Ryb3lhYmxlKHN0YXRlOiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWlmeUFyZ3Moe1xuICBuYW1lZCxcbiAgcG9zaXRpb25hbCxcbn06IENhcHR1cmVkQXJndW1lbnRzKTogeyBuYW1lZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47IHBvc2l0aW9uYWw6IHVua25vd25bXSB9IHtcbiAgbGV0IHJlaWZpZWROYW1lZCA9IGRpY3QoKTtcblxuICBmb3IgKGxldCBrZXkgaW4gbmFtZWQpIHtcbiAgICByZWlmaWVkTmFtZWRba2V5XSA9IHZhbHVlRm9yUmVmKG5hbWVkW2tleV0pO1xuICB9XG5cbiAgbGV0IHJlaWZpZWRQb3NpdGlvbmFsID0gcG9zaXRpb25hbC5tYXAodmFsdWVGb3JSZWYpO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZWQ6IHJlaWZpZWROYW1lZCxcbiAgICBwb3NpdGlvbmFsOiByZWlmaWVkUG9zaXRpb25hbCxcbiAgfTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL21hbmFnZXIvbGliL3B1YmxpYy9tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFBLEtBQUEsUUFBQSxjQUFBO0FBVUEsU0FBQSxrQkFBQSxRQUFBLHNCQUFBO0FBQ0EsU0FBQSxXQUFBLFFBQUEsb0JBQUE7QUFDQSxTQUFBLElBQUEsUUFBQSxlQUFBO0FBQ0EsU0FBQSxrQkFBQSxFQUFBLE9BQUEsUUFBQSxvQkFBQTtBQUVBLFNBQUEsaUJBQUEsRUFBQSxpQkFBQSxRQUFBLHNCQUFBO0FBQ0EsU0FBQSxZQUFBLFFBQUEsb0JBQUE7QUFHQSxPQUFNLFNBQUEsb0JBQUEsQ0FBQSxVQUFBLEVBRUosZ0JBRkksRUFFd0Q7QUFBQSxNQUE1RCxnQkFBNEQ7QUFBNUQsSUFBQSxnQkFBNEQsR0FGeEQsRUFFd0Q7QUFBQTs7QUFFNUQsTUFBSSxLQUFLLElBQUksVUFBVSxLQUF2QixNQUFBLEVBQW9DO0FBQ2xDLFVBQU0sSUFBQSxLQUFBLENBQU4sa0RBQU0sQ0FBTjtBQUNEOztBQUVELFNBQU8saUJBQWlCLENBQUM7QUFDdkIsSUFBQSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQWpCLG1CQUFBO0FBREwsR0FBRCxDQUF4QjtBQUdEO0FBV0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsV0FBTSxxQkFBTjtBQUlFLGlDQUFBLE9BQUEsRUFBaUY7QUFBN0QsU0FBQSxPQUFBLEdBQUEsT0FBQTtBQUZaLFNBQUEseUJBQUEsR0FBNEIsSUFBNUIsT0FBNEIsRUFBNUI7QUFFNkU7O0FBSnZGOztBQUFBLFNBTVUsY0FOVixHQU1VLHdCQUFjLEtBQWQsRUFBdUI7QUFBQSxRQUN2Qix5QkFEdUIsR0FDN0IsSUFENkIsQ0FDdkIseUJBRHVCO0FBRTdCLFFBQUksUUFBUSxHQUFHLHlCQUF5QixDQUF6QixHQUFBLENBQWYsS0FBZSxDQUFmOztBQUVBLFFBQUksUUFBUSxL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QUFZLENBQVosbUJBQUEsS0FBSixJQUFBLEVBQStDO0FBQzdDLE1BQUEsT0FBTyxDQUFDO0FBQUEsZUFBTSxRQUFRLENBQVIsY0FBQSxDQUFBLFFBQUEsRUFBZCxJQUFjLENBQU47QUFBQSxPQUFELENBQVA7QUFERixLQUFBLE1BRU87QUFDTCxNQUFBLFFBQVEsQ0FBUixjQUFBLENBQUEsUUFBQSxFQUFBLElBQUE7QUFDRDtBQUNGLEdBakZIOztBQUFBLFNBbUZFLGNBbkZGLEdBbUZFLHdCQUFjLEtBQWQsRUFBMkQ7QUFDekQsV0FBQSxLQUFBO0FBQ0QsR0FyRkg7O0FBQUE7QUFBQTtBQXdGQSxPQUFNLFNBQUEsU0FBQSxRQUdjO0FBQUEsTUFITSxLQUdOLFNBSE0sS0FHTjtBQUFBLE1BRGxCLFVBQ2tCLFNBRGxCLFVBQ2tCO0FBQ2xCLE1BQUksWUFBWSxHQUFHLElBQW5CLEVBQUE7O0FBRUEsT0FBSyxJQUFMLEdBQUEsSUFBQSxLQUFBLEVBQXVCO0FBQ3JCLElBQUEsWUFBWSxDQUFaLEdBQVksQ0FBWixHQUFvQixXQUFXLENBQUMsS0FBSyxDQUFyQyxHQUFxQyxDQUFOLENBQS9CO0FBQ0Q7O0FBRUQsTUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQVYsR0FBQSxDQUF4QixXQUF3QixDQUF4QjtBQUVBLFNBQU87QUFDTCxJQUFBLEtBQUssRUFEQSxZQUFBO0FBRUwsSUFBQSxVQUFVLEVBQUU7QUFGUCxHQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUJVRyB9IGZyb20gJ0BnbGltbWVyL2Vudic7XG5pbXBvcnQge1xuICBBcmd1bWVudHMsXG4gIENhcHR1cmVkQXJndW1lbnRzLFxuICBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcixcbiAgTW9kaWZpZXJDYXBhYmlsaXRpZXMsXG4gIE1vZGlmaWVyQ2FwYWJpbGl0aWVzVmVyc2lvbnMsXG4gIE1vZGlmaWVyTWFuYWdlcixcbiAgT3duZXIsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJEZXN0cnVjdG9yIH0gZnJvbSAnQGdsaW1tZXIvZGVzdHJveWFibGUnO1xuaW1wb3J0IHsgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuaW1wb3J0IHsgY2FzdFRvQnJvd3NlciwgZGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgY3JlYXRlVXBkYXRhYmxlVGFnLCB1bnRyYWNrLCBVcGRhdGFibGVUYWcgfSBmcm9tICdAZ2xpbW1lci92YWxpZGF0b3InO1xuaW1wb3J0IHsgU2ltcGxlRWxlbWVudCB9IGZyb20gJ0BzaW1wbGUtZG9tL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBidWlsZENhcGFiaWxpdGllcywgRlJPTV9DQVBBQklMSVRJRVMgfSBmcm9tICcuLi91dGlsL2NhcGFiaWxpdGllcyc7XG5pbXBvcnQgeyBhcmdzUHJveHlGb3IgfSBmcm9tICcuLi91dGlsL2FyZ3MtcHJveHknO1xuaW1wb3J0IHsgTWFuYWdlckZhY3RvcnkgfSBmcm9tICcuJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmaWVyQ2FwYWJpbGl0aWVzPFZlcnNpb24gZXh0ZW5kcyBrZXlvZiBNb2RpZmllckNhcGFiaWxpdGllc1ZlcnNpb25zPihcbiAgbWFuYWdlckFQSTogVmVyc2lvbixcbiAgb3B0aW9uYWxGZWF0dXJlczogTW9kaWZpZXJDYXBhYmlsaXRpZXNWZXJzaW9uc1tWZXJzaW9uXSA9IHt9XG4pOiBNb2RpZmllckNhcGFiaWxpdGllcyB7XG4gIGlmIChERUJVRyAmJiBtYW5hZ2VyQVBJICE9PSAnMy4yMicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbW9kaWZpZXIgbWFuYWdlciBjb21wYXRpYmlsaXR5IHNwZWNpZmllZCcpO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkQ2FwYWJpbGl0aWVzKHtcbiAgICBkaXNhYmxlQXV0b1RyYWNraW5nOiBCb29sZWFuKG9wdGlvbmFsRmVhdHVyZXMuZGlzYWJsZUF1dG9UcmFja2luZyksXG4gIH0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4ge1xuICB0YWc6IFVwZGF0YWJsZVRhZztcbiAgZWxlbWVudDogU2ltcGxlRWxlbWVudDtcbiAgbW9kaWZpZXI6IE1vZGlmaWVySW5zdGFuY2U7XG4gIGRlbGVnYXRlOiBNb2RpZmllck1hbmFnZXI8TW9kaWZpZXJJbnN0YW5jZT47XG4gIGFyZ3M6IEFyZ3VtZW50cztcbiAgZGVidWdOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAgVGhlIEN1c3RvbU1vZGlmaWVyTWFuYWdlciBhbGxvd3MgYWRkb25zIHRvIHByb3ZpZGUgY3VzdG9tIG1vZGlmaWVyXG4gIGltcGxlbWVudGF0aW9ucyB0aGF0IGludGVncmF0ZSBzZWFtbGVzc2x5IGludG8gRW1iZXIuIFRoaXMgaXMgYWNjb21wbGlzaGVkXG4gIHRocm91Z2ggYSBkZWxlZ2F0ZSwgcmVnaXN0ZXJlZCB3aXRoIHRoZSBjdXN0b20gbW9kaWZpZXIgbWFuYWdlciwgd2hpY2hcbiAgaW1wbGVtZW50cyBhIHNldCBvZiBob29rcyB0aGF0IGRldGVybWluZSBtb2RpZmllciBiZWhhdmlvci5cbiAgVG8gY3JlYXRlIGEgY3VzdG9tIG1vZGlmaWVyIG1hbmFnZXIsIGluc3RhbnRpYXRlIGEgbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlclxuICBjbGFzcyBhbmQgcGFzcyB0aGUgZGVsZWdhdGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50OlxuXG4gIGBgYGpzXG4gIGxldCBtYW5hZ2VyID0gbmV3IEN1c3RvbU1vZGlmaWVyTWFuYWdlcih7XG4gICAgLy8gLi4uZGVsZWdhdGUgaW1wbGVtZW50YXRpb24uLi5cbiAgfSk7XG4gIGBgYFxuXG4gICMjIERlbGVnYXRlIEhvb2tzXG5cbiAgVGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIGEgbW9kaWZpZXIsIHRoZSBtb2RpZmllciBtYW5hZ2VyIHdpbGwgaW52b2tlXG4gIGRlbGVnYXRlIGhvb2tzIHRoYXQgYXJlIHJlc3BvbnNpYmxlIGZvciBzdXJmYWNpbmcgdGhvc2UgbGlmZWN5Y2xlIGNoYW5nZXMgdG9cbiAgdGhlIGVuZCBkZXZlbG9wZXIuXG4gICogYGNyZWF0ZU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIGEgbmV3IGluc3RhbmNlIG9mIGEgbW9kaWZpZXIgc2hvdWxkIGJlIGNyZWF0ZWRcbiAgKiBgaW5zdGFsbE1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBpbnN0YWxsZWQgb24gdGhlIGVsZW1lbnRcbiAgKiBgdXBkYXRlTW9kaWZpZXIoKWAgLSBpbnZva2VkIHdoZW4gdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBtb2RpZmllciBjaGFuZ2VcbiAgKiBgZGVzdHJveU1vZGlmaWVyKClgIC0gaW52b2tlZCB3aGVuIHRoZSBtb2RpZmllciBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWRcbiovXG5leHBvcnQgY2xhc3MgQ3VzdG9tTW9kaWZpZXJNYW5hZ2VyPE8gZXh0ZW5kcyBPd25lciwgTW9kaWZpZXJJbnN0YW5jZT5cbiAgaW1wbGVtZW50cyBJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcjxDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+PiB7XG4gIHByaXZhdGUgY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcyA9IG5ldyBXZWFrTWFwPE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZhY3Rvcnk6IE1hbmFnZXJGYWN0b3J5PE8sIE1vZGlmaWVyTWFuYWdlcjxNb2RpZmllckluc3RhbmNlPj4pIHt9XG5cbiAgcHJpdmF0ZSBnZXREZWxlZ2F0ZUZvcihvd25lcjogTykge1xuICAgIGxldCB7IGNvbXBvbmVudE1hbmFnZXJEZWxlZ2F0ZXMgfSA9IHRoaXM7XG4gICAgbGV0IGRlbGVnYXRlID0gY29tcG9uZW50TWFuYWdlckRlbGVnYXRlcy5nZXQob3duZXIpO1xuXG4gICAgaWYgKGRlbGVnYXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IGZhY3RvcnkgfSA9IHRoaXM7XG4gICAgICBkZWxlZ2F0ZSA9IGZhY3Rvcnkob3duZXIpO1xuXG4gICAgICBpZiAoREVCVUcgJiYgIUZST01fQ0FQQUJJTElUSUVTIS5oYXMoZGVsZWdhdGUuY2FwYWJpbGl0aWVzKSkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIG1ha2Ugc2Vuc2UgaW4gYm90aCBFbWJlciBhbmQgR2xpbW1lciBodHRwczovL2dpdGh1Yi5jb20vZ2xpbW1lcmpzL2dsaW1tZXItdm0vaXNzdWVzLzEyMDBcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDdXN0b20gbW9kaWZpZXIgbWFuYWdlcnMgbXVzdCBoYXZlIGEgXFxgY2FwYWJpbGl0aWVzXFxgIHByb3BlcnR5IHRoYXQgaXMgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHRoZSBcXGBjYXBhYmlsaXRpZXMoJzMuMjInKVxcYCAoaW1wb3J0ZWQgdmlhIFxcYGltcG9ydCB7IGNhcGFiaWxpdGllcyB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XFxgKS4gUmVjZWl2ZWQ6IFxcYCR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBkZWxlZ2F0ZS5jYXBhYmlsaXRpZXNcbiAgICAgICAgICApfVxcYCBmb3I6IFxcYCR7ZGVsZWdhdGV9XFxgYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb21wb25lbnRNYW5hZ2VyRGVsZWdhdGVzLnNldChvd25lciwgZGVsZWdhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxlZ2F0ZTtcbiAgfVxuXG4gIGNyZWF0ZShvd25lcjogTywgZWxlbWVudDogU2ltcGxlRWxlbWVudCwgZGVmaW5pdGlvbjogb2JqZWN0LCBjYXB0dXJlZEFyZ3M6IENhcHR1cmVkQXJndW1lbnRzKSB7XG4gICAgbGV0IGRlbGVnYXRlID0gdGhpcy5nZXREZWxlZ2F0ZUZvcihvd25lcik7XG5cbiAgICBsZXQgYXJncyA9IGFyZ3NQcm94eUZvcihjYXB0dXJlZEFyZ3MsICdtb2RpZmllcicpO1xuICAgIGxldCBpbnN0YW5jZTogTW9kaWZpZXJJbnN0YW5jZSA9IGRlbGVnYXRlLmNyZWF0ZU1vZGlmaWVyKGRlZmluaXRpb24sIGFyZ3MpO1xuXG4gICAgbGV0IHRhZyA9IGNyZWF0ZVVwZGF0YWJsZVRhZygpO1xuICAgIGxldCBzdGF0ZTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPjtcblxuICAgIHN0YXRlID0ge1xuICAgICAgdGFnLFxuICAgICAgZWxlbWVudCxcbiAgICAgIGRlbGVnYXRlLFxuICAgICAgYXJncyxcbiAgICAgIG1vZGlmaWVyOiBpbnN0YW5jZSEsXG4gICAgfTtcblxuICAgIGlmIChERUJVRykge1xuICAgICAgc3RhdGUuZGVidWdOYW1lID0gdHlwZW9mIGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicgPyBkZWZpbml0aW9uLm5hbWUgOiBkZWZpbml0aW9uLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJEZXN0cnVjdG9yKHN0YXRlLCAoKSA9PiBkZWxlZ2F0ZS5kZXN0cm95TW9kaWZpZXIoaW5zdGFuY2UsIGFyZ3MpKTtcblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIGdldERlYnVnTmFtZSh7IGRlYnVnTmFtZSB9OiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIGRlYnVnTmFtZSE7XG4gIH1cblxuICBnZXRUYWcoeyB0YWcgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIHJldHVybiB0YWc7XG4gIH1cblxuICBpbnN0YWxsKHsgZWxlbWVudCwgYXJncywgbW9kaWZpZXIsIGRlbGVnYXRlIH06IEN1c3RvbU1vZGlmaWVyU3RhdGU8TW9kaWZpZXJJbnN0YW5jZT4pIHtcbiAgICBsZXQgeyBjYXBhYmlsaXRpZXMgfSA9IGRlbGVnYXRlO1xuXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kaXNhYmxlQXV0b1RyYWNraW5nID09PSB0cnVlKSB7XG4gICAgICB1bnRyYWNrKCgpID0+IGRlbGVnYXRlLmluc3RhbGxNb2RpZmllcihtb2RpZmllciwgY2FzdFRvQnJvd3NlcihlbGVtZW50LCAnRUxFTUVOVCcpLCBhcmdzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGVnYXRlLmluc3RhbGxNb2RpZmllcihtb2RpZmllciwgY2FzdFRvQnJvd3NlcihlbGVtZW50LCAnRUxFTUVOVCcpLCBhcmdzKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUoeyBhcmdzLCBtb2RpZmllciwgZGVsZWdhdGUgfTogQ3VzdG9tTW9kaWZpZXJTdGF0ZTxNb2RpZmllckluc3RhbmNlPikge1xuICAgIGxldCB7IGNhcGFiaWxpdGllcyB9ID0gZGVsZWdhdGU7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRpc2FibGVBdXRvVHJhY2tpbmcgPT09IHRydWUpIHtcbiAgICAgIHVudHJhY2soKCkgPT4gZGVsZWdhdGUudXBkYXRlTW9kaWZpZXIobW9kaWZpZXIsIGFyZ3MpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZWdhdGUudXBkYXRlTW9kaWZpZXIobW9kaWZpZXIsIGFyZ3MpO1xuICAgIH1cbiAgfVxuXG4gIGdldERlc3Ryb3lhYmxlKHN0YXRlOiBDdXN0b21Nb2RpZmllclN0YXRlPE1vZGlmaWVySW5zdGFuY2U+KSB7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWlmeUFyZ3Moe1xuICBuYW1lZCxcbiAgcG9zaXRpb25hbCxcbn06IENhcHR1cmVkQXJndW1lbnRzKTogeyBuYW1lZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47IHBvc2l0aW9uYWw6IHVua25vd25bXSB9IHtcbiAgbGV0IHJlaWZpZWROYW1lZCA9IGRpY3QoKTtcblxuICBmb3IgKGxldCBrZXkgaW4gbmFtZWQpIHtcbiAgICByZWlmaWVkTmFtZWRba2V5XSA9IHZhbHVlRm9yUmVmKG5hbWVkW2tleV0pO1xuICB9XG5cbiAgbGV0IHJlaWZpZWRQb3NpdGlvbmFsID0gcG9zaXRpb25hbC5tYXAodmFsdWVGb3JSZWYpO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZWQ6IHJlaWZpZWROYW1lZCxcbiAgICBwb3NpdGlvbmFsOiByZWlmaWVkUG9zaXRpb25hbCxcbiAgfTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=
{
"name": "@glimmer/manager",
"version": "0.81.0",
"version": "0.82.0",
"repository": "https://github.com/glimmerjs/glimmer-vm/tree/master/packages/@glimmer/program",
"dependencies": {
"@glimmer/env": "0.1.7",
"@glimmer/interfaces": "0.81.0",
"@glimmer/destroyable": "0.81.0",
"@glimmer/reference": "0.81.0",
"@glimmer/validator": "0.81.0",
"@glimmer/util": "0.81.0"
"@glimmer/interfaces": "0.82.0",
"@glimmer/destroyable": "0.82.0",
"@glimmer/reference": "0.82.0",
"@glimmer/validator": "0.82.0",
"@glimmer/util": "0.82.0"
},

@@ -13,0 +13,0 @@ "main": "dist/commonjs/es2017/index.js",

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

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