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

@codebakery/origami

Package Overview
Dependencies
Maintainers
2
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@codebakery/origami - npm Package Compare versions

Comparing version 3.0.0-beta.1 to 3.0.0-beta.2

2

bin/lib/log.js

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

function error(message, fatal) {
log(message, chalk_1.default.red);
log(message instanceof Error ? message.stack : message, chalk_1.default.red);
if (fatal) {

@@ -16,0 +16,0 @@ process.exit(1);

@@ -78,2 +78,4 @@ "use strict";

function isEs5(tsconfig) {
// TODO: follow extends and handle no compilerOptions/target, which defaults
// to es5
return tsconfig.compilerOptions.target.toLowerCase() === 'es5';

@@ -80,0 +82,0 @@ }

@@ -60,3 +60,3 @@ #!/usr/bin/env node

console.log('\n');
log_1.error(err_1.message, true);
log_1.error(err_1, true);
return [3 /*break*/, 6];

@@ -97,3 +97,3 @@ case 6:

err_2 = _a.sent();
log_1.error(err_2.message);
log_1.error(err_2);
log_1.error('Failed to add polyfills', true);

@@ -100,0 +100,0 @@ return [3 /*break*/, 3];

@@ -39,6 +39,3 @@ (function (global, factory) {

/** @type {?} */
var desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (!desc) {
desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), propertyKey);
}
var desc = getPropertyDescriptor(target, propertyKey);
/** @type {?} */

@@ -89,2 +86,23 @@ var properties = new WeakMap();

}
/**
* Similar to `Object.getOwnPropertyDescriptor()`, but this function will
* search through the target's prototype chain when looking for the property's
* descriptor.
*
* @param {?} target object that contains the property
* @param {?} propertyKey name of the property
* @return {?} the property descriptor if one exists
*/
function getPropertyDescriptor(target, propertyKey) {
while (target) {
/** @type {?} */
var desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (desc) {
return desc;
}
else {
target = Object.getPrototypeOf(target);
}
}
}

@@ -157,2 +175,3 @@ /**

exports.wrapDescriptor = wrapDescriptor;
exports.getPropertyDescriptor = getPropertyDescriptor;
exports.whenSet = whenSet;

@@ -164,2 +183,2 @@

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLnVtZC5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vQGNvZGViYWtlcnkvb3JpZ2FtaS91dGlsL3NyYy9kZXNjcmlwdG9ycy50cyIsIm5nOi8vQGNvZGViYWtlcnkvb3JpZ2FtaS91dGlsL3NyYy93aGVuLXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlc2NyaXB0b3IgaG9va3MgdGhhdCBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIHByb3BlcnR5J3MgZ2V0dGVyIGFuZCBzZXR0ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY3JpcHRvckhvb2tzPFQ+IHtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGJlZm9yZSBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0LiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSxcbiAgICogdGhlIHByb3BlcnR5IHdpbGwgYmUgc2V0LiBPdGhlcndpc2UsIHRoZSBwcm9wZXJ0eSB3aWxsIG5vdCBiZSB1cGRhdGVkLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHJlcXVlc3RlZCB0byBzZXRcbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIHNldCwgb3RoZXJ3aXNlIGZhbHNlXG4gICAqL1xuICBzaG91bGRTZXQ/KHZhbHVlOiBUKTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGJlZm9yZSBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0IGFuZCBhZnRlciBhbnkgYHNob3VsZFNldCgpYCBoYXNcbiAgICogcmV0dXJuZWQgdHJ1ZS4gVGhpcyBhbGxvd3MgdGhlIHZhbHVlIHRvIGJlIG1hbmlwdWxhdGVkIGJlZm9yZSBzZXR0aW5nIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHJlcXVlc3RlZCB0byBzZXRcbiAgICogQHJldHVybnMgdGhlIHZhbHVlIHRvIGFjdHVhbGx5IHNldFxuICAgKi9cbiAgYmVmb3JlU2V0Pyh2YWx1ZTogVCk6IFQ7XG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhZnRlciBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0LiBUaGlzIGFsbG93cyBzaWRlIGVmZmVjdHMgdG8gYmVcbiAgICogcGVyZm9ybWVkIG9uIHRoZSBuZXcgdmFsdWUgb3IgdG8gZGV0ZXJtaW5lIGlmIGEgdmFsdWUgY2hhbmdlZC5cbiAgICpcbiAgICogQHBhcmFtIGNoYW5nZWQgaW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBjaGFuZ2VkXG4gICAqIEBwYXJhbSBjdXJyZW50IHRoZSBuZXcgdmFsdWVcbiAgICogQHBhcmFtIHByZXZpb3VzIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgKi9cbiAgYWZ0ZXJTZXQ/KGNoYW5nZWQ6IGJvb2xlYW4sIGN1cnJlbnQ6IFQsIHByZXZpb3VzOiBUKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZWRlZmluZXMgYW4gb2JqZWN0J3MgcHJvcGVydHkgd2l0aCBkZXNjcmlwdG9yIGhvb2tzIHRoYXQgaW5qZWN0IHNpZGUgZWZmZWN0c1xuICogaW50byB0aGUgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci4gSWYgdGhlIHByb3BlcnR5IGhhcyBhbiBleGlzdGluZ1xuICogZ2V0dGVyIG9yIHNldHRlciwgdGhleSB3aWxsIGJlIHByZXNlcnZlZC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSBvYmplY3QgdGFyZ2V0IGZvciB0aGUgZGVzY3JpcHRvclxuICogQHBhcmFtIHByb3BlcnR5S2V5IHRoZSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0IHRhcmdldFxuICogQHBhcmFtIGhvb2tzIHRoZSBob29rcyB0byBpbmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBBbmREZWZpbmVEZXNjcmlwdG9yPFQ+KFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgaG9va3M6IERlc2NyaXB0b3JIb29rczxUPlxuKSB7XG4gIGNvbnN0IGRlc2MgPSB3cmFwRGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5LCBob29rcyk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCBkZXNjKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcHJvcGVydHkgZGVzY3JpcHRvciB0aGF0IGluamVjdHMgaG9va3MgaW50byBhIHByb3BlcnR5J3MgZ2V0dGVyIGFuZFxuICogc2V0dGVyIHRvIGV4ZWN1dGUgc2lkZSBlZmZlY3RzLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICogQHJldHVybnMgYSBkZXNjcmlwdG9yIHRoYXQgY2FuIGJlIHVzZWQgaW4gYE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcERlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sLFxuICBob29rczogRGVzY3JpcHRvckhvb2tzPFQ+XG4pOiBQcm9wZXJ0eURlc2NyaXB0b3Ige1xuICBsZXQgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gIGlmICghZGVzYykge1xuICAgIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCksXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH1cblxuICBjb25zdCBwcm9wZXJ0aWVzID0gbmV3IFdlYWtNYXAoKTtcbiAgcmV0dXJuIHtcbiAgICBlbnVtZXJhYmxlOiBkZXNjID8gZGVzYy5lbnVtZXJhYmxlIDogdHJ1ZSxcbiAgICBnZXQoKSB7XG4gICAgICBpZiAoZGVzYyAmJiBkZXNjLmdldCkge1xuICAgICAgICByZXR1cm4gZGVzYy5nZXQuYXBwbHkodGhpcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwcm9wcyA9IHByb3BlcnRpZXMuZ2V0KHRoaXMpO1xuICAgICAgICByZXR1cm4gcHJvcHMgJiYgcHJvcHNbcHJvcGVydHlLZXldO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2V0KG9yaWdpbmFsOiBUKSB7XG4gICAgICBsZXQgdmFsdWUgPSBvcmlnaW5hbDtcbiAgICAgIGlmICghaG9va3Muc2hvdWxkU2V0IHx8IGhvb2tzLnNob3VsZFNldC5hcHBseSh0aGlzLCBbdmFsdWVdKSkge1xuICAgICAgICBpZiAoaG9va3MuYmVmb3JlU2V0KSB7XG4gICAgICAgICAgdmFsdWUgPSBob29rcy5iZWZvcmVTZXQuYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcHJvcHMgPSBwcm9wZXJ0aWVzLmdldCh0aGlzKTtcbiAgICAgICAgaWYgKCFwcm9wcykge1xuICAgICAgICAgIHByb3BzID0ge307XG4gICAgICAgICAgcHJvcGVydGllcy5zZXQodGhpcywgcHJvcHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2hhbmdlZCA9IHZhbHVlICE9PSBwcm9wc1twcm9wZXJ0eUtleV07XG4gICAgICAgIHByb3BzW3Byb3BlcnR5S2V5XSA9IHZhbHVlO1xuICAgICAgICBpZiAoZGVzYyAmJiBkZXNjLnNldCkge1xuICAgICAgICAgIGRlc2Muc2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvb2tzLmFmdGVyU2V0KSB7XG4gICAgICAgICAgaG9va3MuYWZ0ZXJTZXQuYXBwbHkodGhpcywgW2NoYW5nZWQsIHZhbHVlLCBvcmlnaW5hbF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIiwiLyoqXG4gKiBSZXNvbHZlcyB3aGVuIHRoZSBwcm92aWRlZCBwcm9wZXJ0eSBpcyBzZXQgdG8gYSBub24tdW5kZWZpbmVkIHZhbHVlIG9uIHRoZVxuICogdGFyZ2V0LlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCB0byBsaXN0ZW4gdG9cbiAqIEBwYXJhbSBwcm9wZXJ0eSB0aGUgcHJvcGVydHkgdG8gd2FpdCBmb3JcbiAqIEBwYXJhbSBwcmVkaWNhdGUgdGhlIHByZWRpY2F0ZSB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdGhlIFByb21pc2VcbiAqICAgc2hvdWxkIHJlc29sdmUgZm9yIGEgbmV3IHZhbHVlLiBUaGUgZGVmYXVsdCBpcyB0byBjaGVjayBpZiB0aGUgdmFsdWUgaXNcbiAqICAgbm90IHVuZGVmaW5lZC5cbiAqIEByZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIG5ldyB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gd2hlblNldDxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIHRhcmdldDogVCxcbiAgcHJvcGVydHk6IEssXG4gIHByZWRpY2F0ZSA9ICh2YWx1ZTogYW55KSA9PiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnXG4pOiBQcm9taXNlPFRbS10+IHtcbiAgbGV0IGN1cnJlbnRWYWx1ZSA9IHRhcmdldFtwcm9wZXJ0eV07XG4gIGlmIChwcmVkaWNhdGUoY3VycmVudFZhbHVlKSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGFyZ2V0W3Byb3BlcnR5XSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHksIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQoKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHZhbHVlOiBUW0tdKSB7XG4gICAgICAgICAgY3VycmVudFZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5LCB7XG4gICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdDQSxxQ0FDRSxNQUFXLEVBQ1gsV0FBbUIsRUFDbkIsS0FBeUI7O1FBRXpCLElBQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNsRDs7Ozs7Ozs7Ozs7QUFXRCw0QkFDRSxNQUFXLEVBQ1gsV0FBcUMsRUFDckMsS0FBeUI7O1FBRXpCLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQ3BDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQzdCLFdBQVcsQ0FDWixDQUFDO1NBQ0g7O1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsVUFB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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLnVtZC5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vQGNvZGViYWtlcnkvb3JpZ2FtaS91dGlsL3NyYy9kZXNjcmlwdG9ycy50cyIsIm5nOi8vQGNvZGViYWtlcnkvb3JpZ2FtaS91dGlsL3NyYy93aGVuLXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlc2NyaXB0b3IgaG9va3MgdGhhdCBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIHByb3BlcnR5J3MgZ2V0dGVyIGFuZCBzZXR0ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY3JpcHRvckhvb2tzPFQ+IHtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGJlZm9yZSBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0LiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSxcbiAgICogdGhlIHByb3BlcnR5IHdpbGwgYmUgc2V0LiBPdGhlcndpc2UsIHRoZSBwcm9wZXJ0eSB3aWxsIG5vdCBiZSB1cGRhdGVkLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHJlcXVlc3RlZCB0byBzZXRcbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIHNldCwgb3RoZXJ3aXNlIGZhbHNlXG4gICAqL1xuICBzaG91bGRTZXQ/KHZhbHVlOiBUKTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGJlZm9yZSBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0IGFuZCBhZnRlciBhbnkgYHNob3VsZFNldCgpYCBoYXNcbiAgICogcmV0dXJuZWQgdHJ1ZS4gVGhpcyBhbGxvd3MgdGhlIHZhbHVlIHRvIGJlIG1hbmlwdWxhdGVkIGJlZm9yZSBzZXR0aW5nIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHJlcXVlc3RlZCB0byBzZXRcbiAgICogQHJldHVybnMgdGhlIHZhbHVlIHRvIGFjdHVhbGx5IHNldFxuICAgKi9cbiAgYmVmb3JlU2V0Pyh2YWx1ZTogVCk6IFQ7XG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhZnRlciBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0LiBUaGlzIGFsbG93cyBzaWRlIGVmZmVjdHMgdG8gYmVcbiAgICogcGVyZm9ybWVkIG9uIHRoZSBuZXcgdmFsdWUgb3IgdG8gZGV0ZXJtaW5lIGlmIGEgdmFsdWUgY2hhbmdlZC5cbiAgICpcbiAgICogQHBhcmFtIGNoYW5nZWQgaW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBjaGFuZ2VkXG4gICAqIEBwYXJhbSBjdXJyZW50IHRoZSBuZXcgdmFsdWVcbiAgICogQHBhcmFtIHByZXZpb3VzIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgKi9cbiAgYWZ0ZXJTZXQ/KGNoYW5nZWQ6IGJvb2xlYW4sIGN1cnJlbnQ6IFQsIHByZXZpb3VzOiBUKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZWRlZmluZXMgYW4gb2JqZWN0J3MgcHJvcGVydHkgd2l0aCBkZXNjcmlwdG9yIGhvb2tzIHRoYXQgaW5qZWN0IHNpZGUgZWZmZWN0c1xuICogaW50byB0aGUgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci4gSWYgdGhlIHByb3BlcnR5IGhhcyBhbiBleGlzdGluZ1xuICogZ2V0dGVyIG9yIHNldHRlciwgdGhleSB3aWxsIGJlIHByZXNlcnZlZC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSBvYmplY3QgdGFyZ2V0IGZvciB0aGUgZGVzY3JpcHRvclxuICogQHBhcmFtIHByb3BlcnR5S2V5IHRoZSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0IHRhcmdldFxuICogQHBhcmFtIGhvb2tzIHRoZSBob29rcyB0byBpbmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBBbmREZWZpbmVEZXNjcmlwdG9yPFQ+KFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgaG9va3M6IERlc2NyaXB0b3JIb29rczxUPlxuKSB7XG4gIGNvbnN0IGRlc2MgPSB3cmFwRGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5LCBob29rcyk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCBkZXNjKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcHJvcGVydHkgZGVzY3JpcHRvciB0aGF0IGluamVjdHMgaG9va3MgaW50byBhIHByb3BlcnR5J3MgZ2V0dGVyIGFuZFxuICogc2V0dGVyIHRvIGV4ZWN1dGUgc2lkZSBlZmZlY3RzLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICogQHJldHVybnMgYSBkZXNjcmlwdG9yIHRoYXQgY2FuIGJlIHVzZWQgaW4gYE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcERlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogUHJvcGVydHlLZXksXG4gIGhvb2tzOiBEZXNjcmlwdG9ySG9va3M8VD5cbik6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gIGNvbnN0IGRlc2MgPSBnZXRQcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6IGRlc2MgPyBkZXNjLmVudW1lcmFibGUgOiB0cnVlLFxuICAgIGdldCgpIHtcbiAgICAgIGlmIChkZXNjICYmIGRlc2MuZ2V0KSB7XG4gICAgICAgIHJldHVybiBkZXNjLmdldC5hcHBseSh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIHJldHVybiBwcm9wcyAmJiBwcm9wc1twcm9wZXJ0eUtleV07XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQob3JpZ2luYWw6IFQpIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9yaWdpbmFsO1xuICAgICAgaWYgKCFob29rcy5zaG91bGRTZXQgfHwgaG9va3Muc2hvdWxkU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pKSB7XG4gICAgICAgIGlmIChob29rcy5iZWZvcmVTZXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGhvb2tzLmJlZm9yZVNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwcm9wcyA9IHByb3BlcnRpZXMuZ2V0KHRoaXMpO1xuICAgICAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgICAgcHJvcHMgPSB7fTtcbiAgICAgICAgICBwcm9wZXJ0aWVzLnNldCh0aGlzLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgICAgcHJvcHNbcHJvcGVydHlLZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Muc2V0KSB7XG4gICAgICAgICAgZGVzYy5zZXQuYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9va3MuYWZ0ZXJTZXQpIHtcbiAgICAgICAgICBob29rcy5hZnRlclNldC5hcHBseSh0aGlzLCBbY2hhbmdlZCwgdmFsdWUsIG9yaWdpbmFsXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogU2ltaWxhciB0byBgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcigpYCwgYnV0IHRoaXMgZnVuY3Rpb24gd2lsbFxuICogc2VhcmNoIHRocm91Z2ggdGhlIHRhcmdldCdzIHByb3RvdHlwZSBjaGFpbiB3aGVuIGxvb2tpbmcgZm9yIHRoZSBwcm9wZXJ0eSdzXG4gKiBkZXNjcmlwdG9yLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgbmFtZSBvZiB0aGUgcHJvcGVydHlcbiAqIEByZXR1cm5zIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGlmIG9uZSBleGlzdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3BlcnR5RGVzY3JpcHRvcihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBQcm9wZXJ0eUtleVxuKTogUHJvcGVydHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgd2hpbGUgKHRhcmdldCkge1xuICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIGlmIChkZXNjKSB7XG4gICAgICByZXR1cm4gZGVzYztcbiAgICB9IGVsc2Uge1xuICAgICAgdGFyZ2V0ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIFJlc29sdmVzIHdoZW4gdGhlIHByb3ZpZGVkIHByb3BlcnR5IGlzIHNldCB0byBhIG5vbi11bmRlZmluZWQgdmFsdWUgb24gdGhlXG4gKiB0YXJnZXQuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IHRvIGxpc3RlbiB0b1xuICogQHBhcmFtIHByb3BlcnR5IHRoZSBwcm9wZXJ0eSB0byB3YWl0IGZvclxuICogQHBhcmFtIHByZWRpY2F0ZSB0aGUgcHJlZGljYXRlIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGUgUHJvbWlzZVxuICogICBzaG91bGQgcmVzb2x2ZSBmb3IgYSBuZXcgdmFsdWUuIFRoZSBkZWZhdWx0IGlzIHRvIGNoZWNrIGlmIHRoZSB2YWx1ZSBpc1xuICogICBub3QgdW5kZWZpbmVkLlxuICogQHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgbmV3IHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aGVuU2V0PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgdGFyZ2V0OiBULFxuICBwcm9wZXJ0eTogSyxcbiAgcHJlZGljYXRlID0gKHZhbHVlOiBhbnkpID0+IHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCdcbik6IFByb21pc2U8VFtLXT4ge1xuICBsZXQgY3VycmVudFZhbHVlID0gdGFyZ2V0W3Byb3BlcnR5XTtcbiAgaWYgKHByZWRpY2F0ZShjdXJyZW50VmFsdWUpKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0YXJnZXRbcHJvcGVydHldKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eSwge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCgpIHtcbiAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICBzZXQodmFsdWU6IFRbS10pIHtcbiAgICAgICAgICBjdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHksIHtcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7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

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("@codebakery/origami/util",["exports"],t):t((e.codebakery=e.codebakery||{},e.codebakery.origami=e.codebakery.origami||{},e.codebakery.origami.util={}))}(this,function(e){"use strict";function o(e,o,n){var a=Object.getOwnPropertyDescriptor(e,o);a||(a=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),o));var c=new WeakMap;return{enumerable:!a||a.enumerable,get:function(){if(a&&a.get)return a.get.apply(this);var e=c.get(this);return e&&e[o]},set:function(e){var t=e;if(!n.shouldSet||n.shouldSet.apply(this,[t])){n.beforeSet&&(t=n.beforeSet.apply(this,[t]));var r=c.get(this);r||(r={},c.set(this,r));var i=t!==r[o];r[o]=t,a&&a.set&&a.set.apply(this,[t]),n.afterSet&&n.afterSet.apply(this,[i,t,e])}}}}e.wrapAndDefineDescriptor=function t(e,t,r){var i=o(e,t,r);Object.defineProperty(e,t,i)},e.wrapDescriptor=o,e.whenSet=function r(r,i,o){void 0===o&&(o=function(e){return void 0!==e});var n=r[i];return o(n)?Promise.resolve(r[i]):new Promise(function(t){Object.defineProperty(r,i,{configurable:!0,get:function(){return n},set:function(e){o(n=e)&&(Object.defineProperty(r,i,{value:e,configurable:!0,enumerable:!0,writable:!0}),t(e))}})})},Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("@codebakery/origami/util",["exports"],t):t((e.codebakery=e.codebakery||{},e.codebakery.origami=e.codebakery.origami||{},e.codebakery.origami.util={}))}(this,function(e){"use strict";function o(e,o,n){var a=t(e,o),f=new WeakMap;return{enumerable:!a||a.enumerable,get:function(){if(a&&a.get)return a.get.apply(this);var e=f.get(this);return e&&e[o]},set:function(e){var t=e;if(!n.shouldSet||n.shouldSet.apply(this,[t])){n.beforeSet&&(t=n.beforeSet.apply(this,[t]));var r=f.get(this);r||(r={},f.set(this,r));var i=t!==r[o];r[o]=t,a&&a.set&&a.set.apply(this,[t]),n.afterSet&&n.afterSet.apply(this,[i,t,e])}}}}function t(e,t){for(;e;){var r=Object.getOwnPropertyDescriptor(e,t);if(r)return r;e=Object.getPrototypeOf(e)}}e.wrapAndDefineDescriptor=function r(e,t,r){var i=o(e,t,r);Object.defineProperty(e,t,i)},e.wrapDescriptor=o,e.getPropertyDescriptor=t,e.whenSet=function i(r,i,o){void 0===o&&(o=function(e){return void 0!==e});var n=r[i];return o(n)?Promise.resolve(r[i]):new Promise(function(t){Object.defineProperty(r,i,{configurable:!0,get:function(){return n},set:function(e){o(n=e)&&(Object.defineProperty(r,i,{value:e,configurable:!0,enumerable:!0,writable:!0}),t(e))}})})},Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=origami-util.umd.min.js.map

@@ -8,4 +8,4 @@ /**

*/
export { wrapAndDefineDescriptor, wrapDescriptor, whenSet } from './public_api';
export { wrapAndDefineDescriptor, wrapDescriptor, getPropertyDescriptor, whenSet } from './public_api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvZGViYWtlcnkvb3JpZ2FtaS91dGlsLyIsInNvdXJjZXMiOlsib3JpZ2FtaS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxpRUFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvZGViYWtlcnkvb3JpZ2FtaS91dGlsLyIsInNvdXJjZXMiOlsib3JpZ2FtaS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx3RkFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=

@@ -5,5 +5,5 @@ /**

*/
export { wrapAndDefineDescriptor, wrapDescriptor } from './src/descriptors';
export { wrapAndDefineDescriptor, wrapDescriptor, getPropertyDescriptor } from './src/descriptors';
export { whenSet } from './src/when-set';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2RlYmFrZXJ5L29yaWdhbWkvdXRpbC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdEQUFjLG1CQUFtQixDQUFDO0FBQ2xDLHdCQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvZGVzY3JpcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvd2hlbi1zZXQnO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2RlYmFrZXJ5L29yaWdhbWkvdXRpbC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLCtFQUFjLG1CQUFtQixDQUFDO0FBQ2xDLHdCQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvZGVzY3JpcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvd2hlbi1zZXQnO1xuIl19

@@ -67,6 +67,3 @@ /**

/** @type {?} */
let desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (!desc) {
desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), propertyKey);
}
const desc = getPropertyDescriptor(target, propertyKey);
/** @type {?} */

@@ -119,3 +116,24 @@ const properties = new WeakMap();

}
/**
* Similar to `Object.getOwnPropertyDescriptor()`, but this function will
* search through the target's prototype chain when looking for the property's
* descriptor.
*
* @param {?} target object that contains the property
* @param {?} propertyKey name of the property
* @return {?} the property descriptor if one exists
*/
export function getPropertyDescriptor(target, propertyKey) {
while (target) {
/** @type {?} */
const desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (desc) {
return desc;
}
else {
target = Object.getPrototypeOf(target);
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvIiwic291cmNlcyI6WyJzcmMvZGVzY3JpcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdDQSxNQUFNLGtDQUNKLE1BQVcsRUFDWCxXQUFtQixFQUNuQixLQUF5Qjs7SUFFekIsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0NBQ2xEOzs7Ozs7Ozs7OztBQVdELE1BQU0seUJBQ0osTUFBVyxFQUNYLFdBQXFDLEVBQ3JDLEtBQXlCOztJQUV6QixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUNwQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUM3QixXQUFXLENBQ1osQ0FBQztLQUNIOztJQUVELE1BQU0sVUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDakMsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUk7Ozs7UUFDekMsR0FBRztZQUNELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7aUJBQU07O2dCQUNMLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwQztTQUNGOzs7OztRQUNELEdBQUcsQ0FBQyxRQUFXOztZQUNiLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUM1RCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7b0JBQ25CLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUM5Qzs7Z0JBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNYLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUM3Qjs7Z0JBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDM0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDL0I7Z0JBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNsQixLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQ3hEO2FBQ0Y7U0FDRjtLQUNGLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVzY3JpcHRvciBob29rcyB0aGF0IGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNjcmlwdG9ySG9va3M8VD4ge1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLFxuICAgKiB0aGUgcHJvcGVydHkgd2lsbCBiZSBzZXQuIE90aGVyd2lzZSwgdGhlIHByb3BlcnR5IHdpbGwgbm90IGJlIHVwZGF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0LCBvdGhlcndpc2UgZmFsc2VcbiAgICovXG4gIHNob3VsZFNldD8odmFsdWU6IFQpOiBib29sZWFuO1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQgYW5kIGFmdGVyIGFueSBgc2hvdWxkU2V0KClgIGhhc1xuICAgKiByZXR1cm5lZCB0cnVlLiBUaGlzIGFsbG93cyB0aGUgdmFsdWUgdG8gYmUgbWFuaXB1bGF0ZWQgYmVmb3JlIHNldHRpbmcgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgdG8gYWN0dWFsbHkgc2V0XG4gICAqL1xuICBiZWZvcmVTZXQ/KHZhbHVlOiBUKTogVDtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGFmdGVyIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIFRoaXMgYWxsb3dzIHNpZGUgZWZmZWN0cyB0byBiZVxuICAgKiBwZXJmb3JtZWQgb24gdGhlIG5ldyB2YWx1ZSBvciB0byBkZXRlcm1pbmUgaWYgYSB2YWx1ZSBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlZCBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHZhbHVlIGNoYW5nZWRcbiAgICogQHBhcmFtIGN1cnJlbnQgdGhlIG5ldyB2YWx1ZVxuICAgKiBAcGFyYW0gcHJldmlvdXMgdGhlIHByZXZpb3VzIHZhbHVlXG4gICAqL1xuICBhZnRlclNldD8oY2hhbmdlZDogYm9vbGVhbiwgY3VycmVudDogVCwgcHJldmlvdXM6IFQpOiB2b2lkO1xufVxuXG4vKipcbiAqIFJlZGVmaW5lcyBhbiBvYmplY3QncyBwcm9wZXJ0eSB3aXRoIGRlc2NyaXB0b3IgaG9va3MgdGhhdCBpbmplY3Qgc2lkZSBlZmZlY3RzXG4gKiBpbnRvIHRoZSBwcm9wZXJ0eSdzIGdldHRlciBhbmQgc2V0dGVyLiBJZiB0aGUgcHJvcGVydHkgaGFzIGFuIGV4aXN0aW5nXG4gKiBnZXR0ZXIgb3Igc2V0dGVyLCB0aGV5IHdpbGwgYmUgcHJlc2VydmVkLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcEFuZERlZmluZURlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBob29rczogRGVzY3JpcHRvckhvb2tzPFQ+XG4pIHtcbiAgY29uc3QgZGVzYyA9IHdyYXBEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXksIGhvb2tzKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIGRlc2MpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRoYXQgaW5qZWN0cyBob29rcyBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kXG4gKiBzZXR0ZXIgdG8gZXhlY3V0ZSBzaWRlIGVmZmVjdHMuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgb2JqZWN0IHRhcmdldCBmb3IgdGhlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSB0aGUgcHJvcGVydHkgb2YgdGhlIG9iamVjdCB0YXJnZXRcbiAqIEBwYXJhbSBob29rcyB0aGUgaG9va3MgdG8gaW5qZWN0XG4gKiBAcmV0dXJucyBhIGRlc2NyaXB0b3IgdGhhdCBjYW4gYmUgdXNlZCBpbiBgT2JqZWN0LmRlZmluZVByb3BlcnR5KClgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwRGVzY3JpcHRvcjxUPihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsXG4gIGhvb2tzOiBEZXNjcmlwdG9ySG9va3M8VD5cbik6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gIGxldCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgaWYgKCFkZXNjKSB7XG4gICAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KSxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6IGRlc2MgPyBkZXNjLmVudW1lcmFibGUgOiB0cnVlLFxuICAgIGdldCgpIHtcbiAgICAgIGlmIChkZXNjICYmIGRlc2MuZ2V0KSB7XG4gICAgICAgIHJldHVybiBkZXNjLmdldC5hcHBseSh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIHJldHVybiBwcm9wcyAmJiBwcm9wc1twcm9wZXJ0eUtleV07XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQob3JpZ2luYWw6IFQpIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9yaWdpbmFsO1xuICAgICAgaWYgKCFob29rcy5zaG91bGRTZXQgfHwgaG9va3Muc2hvdWxkU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pKSB7XG4gICAgICAgIGlmIChob29rcy5iZWZvcmVTZXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGhvb2tzLmJlZm9yZVNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwcm9wcyA9IHByb3BlcnRpZXMuZ2V0KHRoaXMpO1xuICAgICAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgICAgcHJvcHMgPSB7fTtcbiAgICAgICAgICBwcm9wZXJ0aWVzLnNldCh0aGlzLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgICAgcHJvcHNbcHJvcGVydHlLZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Muc2V0KSB7XG4gICAgICAgICAgZGVzYy5zZXQuYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9va3MuYWZ0ZXJTZXQpIHtcbiAgICAgICAgICBob29rcy5hZnRlclNldC5hcHBseSh0aGlzLCBbY2hhbmdlZCwgdmFsdWUsIG9yaWdpbmFsXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvIiwic291cmNlcyI6WyJzcmMvZGVzY3JpcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdDQSxNQUFNLGtDQUNKLE1BQVcsRUFDWCxXQUFtQixFQUNuQixLQUF5Qjs7SUFFekIsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0NBQ2xEOzs7Ozs7Ozs7OztBQVdELE1BQU0seUJBQ0osTUFBVyxFQUNYLFdBQXdCLEVBQ3hCLEtBQXlCOztJQUV6QixNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7O0lBQ3hELE1BQU0sVUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDakMsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUk7Ozs7UUFDekMsR0FBRztZQUNELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7aUJBQU07O2dCQUNMLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwQztTQUNGOzs7OztRQUNELEdBQUcsQ0FBQyxRQUFXOztZQUNiLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUM1RCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7b0JBQ25CLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUM5Qzs7Z0JBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNYLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUM3Qjs7Z0JBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDM0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDL0I7Z0JBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNsQixLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQ3hEO2FBQ0Y7U0FDRjtLQUNGLENBQUM7Q0FDSDs7Ozs7Ozs7OztBQVdELE1BQU0sZ0NBQ0osTUFBVyxFQUNYLFdBQXdCO0lBRXhCLE9BQU8sTUFBTSxFQUFFOztRQUNiLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEUsSUFBSSxJQUFJLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN4QztLQUNGO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlc2NyaXB0b3IgaG9va3MgdGhhdCBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIHByb3BlcnR5J3MgZ2V0dGVyIGFuZCBzZXR0ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY3JpcHRvckhvb2tzPFQ+IHtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGJlZm9yZSBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0LiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSxcbiAgICogdGhlIHByb3BlcnR5IHdpbGwgYmUgc2V0LiBPdGhlcndpc2UsIHRoZSBwcm9wZXJ0eSB3aWxsIG5vdCBiZSB1cGRhdGVkLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHJlcXVlc3RlZCB0byBzZXRcbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIHNldCwgb3RoZXJ3aXNlIGZhbHNlXG4gICAqL1xuICBzaG91bGRTZXQ/KHZhbHVlOiBUKTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGJlZm9yZSBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0IGFuZCBhZnRlciBhbnkgYHNob3VsZFNldCgpYCBoYXNcbiAgICogcmV0dXJuZWQgdHJ1ZS4gVGhpcyBhbGxvd3MgdGhlIHZhbHVlIHRvIGJlIG1hbmlwdWxhdGVkIGJlZm9yZSBzZXR0aW5nIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHJlcXVlc3RlZCB0byBzZXRcbiAgICogQHJldHVybnMgdGhlIHZhbHVlIHRvIGFjdHVhbGx5IHNldFxuICAgKi9cbiAgYmVmb3JlU2V0Pyh2YWx1ZTogVCk6IFQ7XG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhZnRlciBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0LiBUaGlzIGFsbG93cyBzaWRlIGVmZmVjdHMgdG8gYmVcbiAgICogcGVyZm9ybWVkIG9uIHRoZSBuZXcgdmFsdWUgb3IgdG8gZGV0ZXJtaW5lIGlmIGEgdmFsdWUgY2hhbmdlZC5cbiAgICpcbiAgICogQHBhcmFtIGNoYW5nZWQgaW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBjaGFuZ2VkXG4gICAqIEBwYXJhbSBjdXJyZW50IHRoZSBuZXcgdmFsdWVcbiAgICogQHBhcmFtIHByZXZpb3VzIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgKi9cbiAgYWZ0ZXJTZXQ/KGNoYW5nZWQ6IGJvb2xlYW4sIGN1cnJlbnQ6IFQsIHByZXZpb3VzOiBUKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZWRlZmluZXMgYW4gb2JqZWN0J3MgcHJvcGVydHkgd2l0aCBkZXNjcmlwdG9yIGhvb2tzIHRoYXQgaW5qZWN0IHNpZGUgZWZmZWN0c1xuICogaW50byB0aGUgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci4gSWYgdGhlIHByb3BlcnR5IGhhcyBhbiBleGlzdGluZ1xuICogZ2V0dGVyIG9yIHNldHRlciwgdGhleSB3aWxsIGJlIHByZXNlcnZlZC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSBvYmplY3QgdGFyZ2V0IGZvciB0aGUgZGVzY3JpcHRvclxuICogQHBhcmFtIHByb3BlcnR5S2V5IHRoZSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0IHRhcmdldFxuICogQHBhcmFtIGhvb2tzIHRoZSBob29rcyB0byBpbmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBBbmREZWZpbmVEZXNjcmlwdG9yPFQ+KFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgaG9va3M6IERlc2NyaXB0b3JIb29rczxUPlxuKSB7XG4gIGNvbnN0IGRlc2MgPSB3cmFwRGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5LCBob29rcyk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCBkZXNjKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcHJvcGVydHkgZGVzY3JpcHRvciB0aGF0IGluamVjdHMgaG9va3MgaW50byBhIHByb3BlcnR5J3MgZ2V0dGVyIGFuZFxuICogc2V0dGVyIHRvIGV4ZWN1dGUgc2lkZSBlZmZlY3RzLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICogQHJldHVybnMgYSBkZXNjcmlwdG9yIHRoYXQgY2FuIGJlIHVzZWQgaW4gYE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcERlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogUHJvcGVydHlLZXksXG4gIGhvb2tzOiBEZXNjcmlwdG9ySG9va3M8VD5cbik6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gIGNvbnN0IGRlc2MgPSBnZXRQcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6IGRlc2MgPyBkZXNjLmVudW1lcmFibGUgOiB0cnVlLFxuICAgIGdldCgpIHtcbiAgICAgIGlmIChkZXNjICYmIGRlc2MuZ2V0KSB7XG4gICAgICAgIHJldHVybiBkZXNjLmdldC5hcHBseSh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIHJldHVybiBwcm9wcyAmJiBwcm9wc1twcm9wZXJ0eUtleV07XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQob3JpZ2luYWw6IFQpIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9yaWdpbmFsO1xuICAgICAgaWYgKCFob29rcy5zaG91bGRTZXQgfHwgaG9va3Muc2hvdWxkU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pKSB7XG4gICAgICAgIGlmIChob29rcy5iZWZvcmVTZXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGhvb2tzLmJlZm9yZVNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwcm9wcyA9IHByb3BlcnRpZXMuZ2V0KHRoaXMpO1xuICAgICAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgICAgcHJvcHMgPSB7fTtcbiAgICAgICAgICBwcm9wZXJ0aWVzLnNldCh0aGlzLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgICAgcHJvcHNbcHJvcGVydHlLZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Muc2V0KSB7XG4gICAgICAgICAgZGVzYy5zZXQuYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9va3MuYWZ0ZXJTZXQpIHtcbiAgICAgICAgICBob29rcy5hZnRlclNldC5hcHBseSh0aGlzLCBbY2hhbmdlZCwgdmFsdWUsIG9yaWdpbmFsXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogU2ltaWxhciB0byBgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcigpYCwgYnV0IHRoaXMgZnVuY3Rpb24gd2lsbFxuICogc2VhcmNoIHRocm91Z2ggdGhlIHRhcmdldCdzIHByb3RvdHlwZSBjaGFpbiB3aGVuIGxvb2tpbmcgZm9yIHRoZSBwcm9wZXJ0eSdzXG4gKiBkZXNjcmlwdG9yLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgbmFtZSBvZiB0aGUgcHJvcGVydHlcbiAqIEByZXR1cm5zIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGlmIG9uZSBleGlzdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3BlcnR5RGVzY3JpcHRvcihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBQcm9wZXJ0eUtleVxuKTogUHJvcGVydHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgd2hpbGUgKHRhcmdldCkge1xuICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIGlmIChkZXNjKSB7XG4gICAgICByZXR1cm4gZGVzYztcbiAgICB9IGVsc2Uge1xuICAgICAgdGFyZ2V0ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XG4gICAgfVxuICB9XG59XG4iXX0=

@@ -8,4 +8,4 @@ /**

*/
export { wrapAndDefineDescriptor, wrapDescriptor, whenSet } from './public_api';
export { wrapAndDefineDescriptor, wrapDescriptor, getPropertyDescriptor, whenSet } from './public_api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvZGViYWtlcnkvb3JpZ2FtaS91dGlsLyIsInNvdXJjZXMiOlsib3JpZ2FtaS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxpRUFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvZGViYWtlcnkvb3JpZ2FtaS91dGlsLyIsInNvdXJjZXMiOlsib3JpZ2FtaS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx3RkFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=

@@ -5,5 +5,5 @@ /**

*/
export { wrapAndDefineDescriptor, wrapDescriptor } from './src/descriptors';
export { wrapAndDefineDescriptor, wrapDescriptor, getPropertyDescriptor } from './src/descriptors';
export { whenSet } from './src/when-set';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2RlYmFrZXJ5L29yaWdhbWkvdXRpbC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdEQUFjLG1CQUFtQixDQUFDO0FBQ2xDLHdCQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvZGVzY3JpcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvd2hlbi1zZXQnO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2RlYmFrZXJ5L29yaWdhbWkvdXRpbC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLCtFQUFjLG1CQUFtQixDQUFDO0FBQ2xDLHdCQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvZGVzY3JpcHRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvd2hlbi1zZXQnO1xuIl19

@@ -67,6 +67,3 @@ /**

/** @type {?} */
var desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (!desc) {
desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), propertyKey);
}
var desc = getPropertyDescriptor(target, propertyKey);
/** @type {?} */

@@ -119,3 +116,24 @@ var properties = new WeakMap();

}
/**
* Similar to `Object.getOwnPropertyDescriptor()`, but this function will
* search through the target's prototype chain when looking for the property's
* descriptor.
*
* @param {?} target object that contains the property
* @param {?} propertyKey name of the property
* @return {?} the property descriptor if one exists
*/
export function getPropertyDescriptor(target, propertyKey) {
while (target) {
/** @type {?} */
var desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (desc) {
return desc;
}
else {
target = Object.getPrototypeOf(target);
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvIiwic291cmNlcyI6WyJzcmMvZGVzY3JpcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdDQSxNQUFNLGtDQUNKLE1BQVcsRUFDWCxXQUFtQixFQUNuQixLQUF5Qjs7SUFFekIsSUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0NBQ2xEOzs7Ozs7Ozs7OztBQVdELE1BQU0seUJBQ0osTUFBVyxFQUNYLFdBQXFDLEVBQ3JDLEtBQXlCOztJQUV6QixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUNwQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUM3QixXQUFXLENBQ1osQ0FBQztLQUNIOztJQUVELElBQU0sVUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDakMsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDekMsR0FBRzs7OztZQUNELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7aUJBQU07O2dCQUNMLElBQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwQztTQUNGO1FBQ0QsR0FBRzs7OztrQkFBQyxRQUFXOztZQUNiLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUM1RCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7b0JBQ25CLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUM5Qzs7Z0JBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNYLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUM3Qjs7Z0JBRUQsSUFBTSxPQUFPLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDM0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDL0I7Z0JBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNsQixLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQ3hEO2FBQ0Y7U0FDRjtLQUNGLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVzY3JpcHRvciBob29rcyB0aGF0IGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNjcmlwdG9ySG9va3M8VD4ge1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLFxuICAgKiB0aGUgcHJvcGVydHkgd2lsbCBiZSBzZXQuIE90aGVyd2lzZSwgdGhlIHByb3BlcnR5IHdpbGwgbm90IGJlIHVwZGF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0LCBvdGhlcndpc2UgZmFsc2VcbiAgICovXG4gIHNob3VsZFNldD8odmFsdWU6IFQpOiBib29sZWFuO1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQgYW5kIGFmdGVyIGFueSBgc2hvdWxkU2V0KClgIGhhc1xuICAgKiByZXR1cm5lZCB0cnVlLiBUaGlzIGFsbG93cyB0aGUgdmFsdWUgdG8gYmUgbWFuaXB1bGF0ZWQgYmVmb3JlIHNldHRpbmcgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgdG8gYWN0dWFsbHkgc2V0XG4gICAqL1xuICBiZWZvcmVTZXQ/KHZhbHVlOiBUKTogVDtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGFmdGVyIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIFRoaXMgYWxsb3dzIHNpZGUgZWZmZWN0cyB0byBiZVxuICAgKiBwZXJmb3JtZWQgb24gdGhlIG5ldyB2YWx1ZSBvciB0byBkZXRlcm1pbmUgaWYgYSB2YWx1ZSBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlZCBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHZhbHVlIGNoYW5nZWRcbiAgICogQHBhcmFtIGN1cnJlbnQgdGhlIG5ldyB2YWx1ZVxuICAgKiBAcGFyYW0gcHJldmlvdXMgdGhlIHByZXZpb3VzIHZhbHVlXG4gICAqL1xuICBhZnRlclNldD8oY2hhbmdlZDogYm9vbGVhbiwgY3VycmVudDogVCwgcHJldmlvdXM6IFQpOiB2b2lkO1xufVxuXG4vKipcbiAqIFJlZGVmaW5lcyBhbiBvYmplY3QncyBwcm9wZXJ0eSB3aXRoIGRlc2NyaXB0b3IgaG9va3MgdGhhdCBpbmplY3Qgc2lkZSBlZmZlY3RzXG4gKiBpbnRvIHRoZSBwcm9wZXJ0eSdzIGdldHRlciBhbmQgc2V0dGVyLiBJZiB0aGUgcHJvcGVydHkgaGFzIGFuIGV4aXN0aW5nXG4gKiBnZXR0ZXIgb3Igc2V0dGVyLCB0aGV5IHdpbGwgYmUgcHJlc2VydmVkLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcEFuZERlZmluZURlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBob29rczogRGVzY3JpcHRvckhvb2tzPFQ+XG4pIHtcbiAgY29uc3QgZGVzYyA9IHdyYXBEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXksIGhvb2tzKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIGRlc2MpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRoYXQgaW5qZWN0cyBob29rcyBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kXG4gKiBzZXR0ZXIgdG8gZXhlY3V0ZSBzaWRlIGVmZmVjdHMuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgb2JqZWN0IHRhcmdldCBmb3IgdGhlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSB0aGUgcHJvcGVydHkgb2YgdGhlIG9iamVjdCB0YXJnZXRcbiAqIEBwYXJhbSBob29rcyB0aGUgaG9va3MgdG8gaW5qZWN0XG4gKiBAcmV0dXJucyBhIGRlc2NyaXB0b3IgdGhhdCBjYW4gYmUgdXNlZCBpbiBgT2JqZWN0LmRlZmluZVByb3BlcnR5KClgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwRGVzY3JpcHRvcjxUPihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsXG4gIGhvb2tzOiBEZXNjcmlwdG9ySG9va3M8VD5cbik6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gIGxldCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgaWYgKCFkZXNjKSB7XG4gICAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KSxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6IGRlc2MgPyBkZXNjLmVudW1lcmFibGUgOiB0cnVlLFxuICAgIGdldCgpIHtcbiAgICAgIGlmIChkZXNjICYmIGRlc2MuZ2V0KSB7XG4gICAgICAgIHJldHVybiBkZXNjLmdldC5hcHBseSh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIHJldHVybiBwcm9wcyAmJiBwcm9wc1twcm9wZXJ0eUtleV07XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQob3JpZ2luYWw6IFQpIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9yaWdpbmFsO1xuICAgICAgaWYgKCFob29rcy5zaG91bGRTZXQgfHwgaG9va3Muc2hvdWxkU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pKSB7XG4gICAgICAgIGlmIChob29rcy5iZWZvcmVTZXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGhvb2tzLmJlZm9yZVNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwcm9wcyA9IHByb3BlcnRpZXMuZ2V0KHRoaXMpO1xuICAgICAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgICAgcHJvcHMgPSB7fTtcbiAgICAgICAgICBwcm9wZXJ0aWVzLnNldCh0aGlzLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgICAgcHJvcHNbcHJvcGVydHlLZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Muc2V0KSB7XG4gICAgICAgICAgZGVzYy5zZXQuYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9va3MuYWZ0ZXJTZXQpIHtcbiAgICAgICAgICBob29rcy5hZnRlclNldC5hcHBseSh0aGlzLCBbY2hhbmdlZCwgdmFsdWUsIG9yaWdpbmFsXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvIiwic291cmNlcyI6WyJzcmMvZGVzY3JpcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdDQSxNQUFNLGtDQUNKLE1BQVcsRUFDWCxXQUFtQixFQUNuQixLQUF5Qjs7SUFFekIsSUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0NBQ2xEOzs7Ozs7Ozs7OztBQVdELE1BQU0seUJBQ0osTUFBVyxFQUNYLFdBQXdCLEVBQ3hCLEtBQXlCOztJQUV6QixJQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7O0lBQ3hELElBQU0sVUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDakMsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDekMsR0FBRzs7OztZQUNELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0I7aUJBQU07O2dCQUNMLElBQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNwQztTQUNGO1FBQ0QsR0FBRzs7OztrQkFBQyxRQUFXOztZQUNiLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUM1RCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7b0JBQ25CLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUM5Qzs7Z0JBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNYLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUM3Qjs7Z0JBRUQsSUFBTSxPQUFPLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDM0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDL0I7Z0JBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNsQixLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQ3hEO2FBQ0Y7U0FDRjtLQUNGLENBQUM7Q0FDSDs7Ozs7Ozs7OztBQVdELE1BQU0sZ0NBQ0osTUFBVyxFQUNYLFdBQXdCO0lBRXhCLE9BQU8sTUFBTSxFQUFFOztRQUNiLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEUsSUFBSSxJQUFJLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN4QztLQUNGO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlc2NyaXB0b3IgaG9va3MgdGhhdCBjYW4gYmUgaW5qZWN0ZWQgaW50byBhIHByb3BlcnR5J3MgZ2V0dGVyIGFuZCBzZXR0ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY3JpcHRvckhvb2tzPFQ+IHtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGJlZm9yZSBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0LiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSxcbiAgICogdGhlIHByb3BlcnR5IHdpbGwgYmUgc2V0LiBPdGhlcndpc2UsIHRoZSBwcm9wZXJ0eSB3aWxsIG5vdCBiZSB1cGRhdGVkLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHJlcXVlc3RlZCB0byBzZXRcbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIHNldCwgb3RoZXJ3aXNlIGZhbHNlXG4gICAqL1xuICBzaG91bGRTZXQ/KHZhbHVlOiBUKTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGJlZm9yZSBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0IGFuZCBhZnRlciBhbnkgYHNob3VsZFNldCgpYCBoYXNcbiAgICogcmV0dXJuZWQgdHJ1ZS4gVGhpcyBhbGxvd3MgdGhlIHZhbHVlIHRvIGJlIG1hbmlwdWxhdGVkIGJlZm9yZSBzZXR0aW5nIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHJlcXVlc3RlZCB0byBzZXRcbiAgICogQHJldHVybnMgdGhlIHZhbHVlIHRvIGFjdHVhbGx5IHNldFxuICAgKi9cbiAgYmVmb3JlU2V0Pyh2YWx1ZTogVCk6IFQ7XG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhZnRlciBhIHByb3BlcnR5J3MgdmFsdWUgaXMgc2V0LiBUaGlzIGFsbG93cyBzaWRlIGVmZmVjdHMgdG8gYmVcbiAgICogcGVyZm9ybWVkIG9uIHRoZSBuZXcgdmFsdWUgb3IgdG8gZGV0ZXJtaW5lIGlmIGEgdmFsdWUgY2hhbmdlZC5cbiAgICpcbiAgICogQHBhcmFtIGNoYW5nZWQgaW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBjaGFuZ2VkXG4gICAqIEBwYXJhbSBjdXJyZW50IHRoZSBuZXcgdmFsdWVcbiAgICogQHBhcmFtIHByZXZpb3VzIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgKi9cbiAgYWZ0ZXJTZXQ/KGNoYW5nZWQ6IGJvb2xlYW4sIGN1cnJlbnQ6IFQsIHByZXZpb3VzOiBUKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZWRlZmluZXMgYW4gb2JqZWN0J3MgcHJvcGVydHkgd2l0aCBkZXNjcmlwdG9yIGhvb2tzIHRoYXQgaW5qZWN0IHNpZGUgZWZmZWN0c1xuICogaW50byB0aGUgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci4gSWYgdGhlIHByb3BlcnR5IGhhcyBhbiBleGlzdGluZ1xuICogZ2V0dGVyIG9yIHNldHRlciwgdGhleSB3aWxsIGJlIHByZXNlcnZlZC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSBvYmplY3QgdGFyZ2V0IGZvciB0aGUgZGVzY3JpcHRvclxuICogQHBhcmFtIHByb3BlcnR5S2V5IHRoZSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0IHRhcmdldFxuICogQHBhcmFtIGhvb2tzIHRoZSBob29rcyB0byBpbmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBBbmREZWZpbmVEZXNjcmlwdG9yPFQ+KFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgaG9va3M6IERlc2NyaXB0b3JIb29rczxUPlxuKSB7XG4gIGNvbnN0IGRlc2MgPSB3cmFwRGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5LCBob29rcyk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCBkZXNjKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcHJvcGVydHkgZGVzY3JpcHRvciB0aGF0IGluamVjdHMgaG9va3MgaW50byBhIHByb3BlcnR5J3MgZ2V0dGVyIGFuZFxuICogc2V0dGVyIHRvIGV4ZWN1dGUgc2lkZSBlZmZlY3RzLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICogQHJldHVybnMgYSBkZXNjcmlwdG9yIHRoYXQgY2FuIGJlIHVzZWQgaW4gYE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcERlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogUHJvcGVydHlLZXksXG4gIGhvb2tzOiBEZXNjcmlwdG9ySG9va3M8VD5cbik6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gIGNvbnN0IGRlc2MgPSBnZXRQcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6IGRlc2MgPyBkZXNjLmVudW1lcmFibGUgOiB0cnVlLFxuICAgIGdldCgpIHtcbiAgICAgIGlmIChkZXNjICYmIGRlc2MuZ2V0KSB7XG4gICAgICAgIHJldHVybiBkZXNjLmdldC5hcHBseSh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIHJldHVybiBwcm9wcyAmJiBwcm9wc1twcm9wZXJ0eUtleV07XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQob3JpZ2luYWw6IFQpIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9yaWdpbmFsO1xuICAgICAgaWYgKCFob29rcy5zaG91bGRTZXQgfHwgaG9va3Muc2hvdWxkU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pKSB7XG4gICAgICAgIGlmIChob29rcy5iZWZvcmVTZXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGhvb2tzLmJlZm9yZVNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwcm9wcyA9IHByb3BlcnRpZXMuZ2V0KHRoaXMpO1xuICAgICAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgICAgcHJvcHMgPSB7fTtcbiAgICAgICAgICBwcm9wZXJ0aWVzLnNldCh0aGlzLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgICAgcHJvcHNbcHJvcGVydHlLZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Muc2V0KSB7XG4gICAgICAgICAgZGVzYy5zZXQuYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9va3MuYWZ0ZXJTZXQpIHtcbiAgICAgICAgICBob29rcy5hZnRlclNldC5hcHBseSh0aGlzLCBbY2hhbmdlZCwgdmFsdWUsIG9yaWdpbmFsXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogU2ltaWxhciB0byBgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcigpYCwgYnV0IHRoaXMgZnVuY3Rpb24gd2lsbFxuICogc2VhcmNoIHRocm91Z2ggdGhlIHRhcmdldCdzIHByb3RvdHlwZSBjaGFpbiB3aGVuIGxvb2tpbmcgZm9yIHRoZSBwcm9wZXJ0eSdzXG4gKiBkZXNjcmlwdG9yLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgbmFtZSBvZiB0aGUgcHJvcGVydHlcbiAqIEByZXR1cm5zIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGlmIG9uZSBleGlzdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3BlcnR5RGVzY3JpcHRvcihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBQcm9wZXJ0eUtleVxuKTogUHJvcGVydHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgd2hpbGUgKHRhcmdldCkge1xuICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIGlmIChkZXNjKSB7XG4gICAgICByZXR1cm4gZGVzYztcbiAgICB9IGVsc2Uge1xuICAgICAgdGFyZ2V0ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XG4gICAgfVxuICB9XG59XG4iXX0=

@@ -33,6 +33,3 @@ /**

/** @type {?} */
let desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (!desc) {
desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), propertyKey);
}
const desc = getPropertyDescriptor(target, propertyKey);
/** @type {?} */

@@ -85,2 +82,23 @@ const properties = new WeakMap();

}
/**
* Similar to `Object.getOwnPropertyDescriptor()`, but this function will
* search through the target's prototype chain when looking for the property's
* descriptor.
*
* @param {?} target object that contains the property
* @param {?} propertyKey name of the property
* @return {?} the property descriptor if one exists
*/
function getPropertyDescriptor(target, propertyKey) {
while (target) {
/** @type {?} */
const desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (desc) {
return desc;
}
else {
target = Object.getPrototypeOf(target);
}
}
}

@@ -150,4 +168,4 @@ /**

export { wrapAndDefineDescriptor, wrapDescriptor, whenSet };
export { wrapAndDefineDescriptor, wrapDescriptor, getPropertyDescriptor, whenSet };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvc3JjL2Rlc2NyaXB0b3JzLnRzIiwibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvc3JjL3doZW4tc2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVzY3JpcHRvciBob29rcyB0aGF0IGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNjcmlwdG9ySG9va3M8VD4ge1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLFxuICAgKiB0aGUgcHJvcGVydHkgd2lsbCBiZSBzZXQuIE90aGVyd2lzZSwgdGhlIHByb3BlcnR5IHdpbGwgbm90IGJlIHVwZGF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0LCBvdGhlcndpc2UgZmFsc2VcbiAgICovXG4gIHNob3VsZFNldD8odmFsdWU6IFQpOiBib29sZWFuO1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQgYW5kIGFmdGVyIGFueSBgc2hvdWxkU2V0KClgIGhhc1xuICAgKiByZXR1cm5lZCB0cnVlLiBUaGlzIGFsbG93cyB0aGUgdmFsdWUgdG8gYmUgbWFuaXB1bGF0ZWQgYmVmb3JlIHNldHRpbmcgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgdG8gYWN0dWFsbHkgc2V0XG4gICAqL1xuICBiZWZvcmVTZXQ/KHZhbHVlOiBUKTogVDtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGFmdGVyIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIFRoaXMgYWxsb3dzIHNpZGUgZWZmZWN0cyB0byBiZVxuICAgKiBwZXJmb3JtZWQgb24gdGhlIG5ldyB2YWx1ZSBvciB0byBkZXRlcm1pbmUgaWYgYSB2YWx1ZSBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlZCBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHZhbHVlIGNoYW5nZWRcbiAgICogQHBhcmFtIGN1cnJlbnQgdGhlIG5ldyB2YWx1ZVxuICAgKiBAcGFyYW0gcHJldmlvdXMgdGhlIHByZXZpb3VzIHZhbHVlXG4gICAqL1xuICBhZnRlclNldD8oY2hhbmdlZDogYm9vbGVhbiwgY3VycmVudDogVCwgcHJldmlvdXM6IFQpOiB2b2lkO1xufVxuXG4vKipcbiAqIFJlZGVmaW5lcyBhbiBvYmplY3QncyBwcm9wZXJ0eSB3aXRoIGRlc2NyaXB0b3IgaG9va3MgdGhhdCBpbmplY3Qgc2lkZSBlZmZlY3RzXG4gKiBpbnRvIHRoZSBwcm9wZXJ0eSdzIGdldHRlciBhbmQgc2V0dGVyLiBJZiB0aGUgcHJvcGVydHkgaGFzIGFuIGV4aXN0aW5nXG4gKiBnZXR0ZXIgb3Igc2V0dGVyLCB0aGV5IHdpbGwgYmUgcHJlc2VydmVkLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcEFuZERlZmluZURlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBob29rczogRGVzY3JpcHRvckhvb2tzPFQ+XG4pIHtcbiAgY29uc3QgZGVzYyA9IHdyYXBEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXksIGhvb2tzKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIGRlc2MpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRoYXQgaW5qZWN0cyBob29rcyBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kXG4gKiBzZXR0ZXIgdG8gZXhlY3V0ZSBzaWRlIGVmZmVjdHMuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgb2JqZWN0IHRhcmdldCBmb3IgdGhlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSB0aGUgcHJvcGVydHkgb2YgdGhlIG9iamVjdCB0YXJnZXRcbiAqIEBwYXJhbSBob29rcyB0aGUgaG9va3MgdG8gaW5qZWN0XG4gKiBAcmV0dXJucyBhIGRlc2NyaXB0b3IgdGhhdCBjYW4gYmUgdXNlZCBpbiBgT2JqZWN0LmRlZmluZVByb3BlcnR5KClgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwRGVzY3JpcHRvcjxUPihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsXG4gIGhvb2tzOiBEZXNjcmlwdG9ySG9va3M8VD5cbik6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gIGxldCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgaWYgKCFkZXNjKSB7XG4gICAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KSxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6IGRlc2MgPyBkZXNjLmVudW1lcmFibGUgOiB0cnVlLFxuICAgIGdldCgpIHtcbiAgICAgIGlmIChkZXNjICYmIGRlc2MuZ2V0KSB7XG4gICAgICAgIHJldHVybiBkZXNjLmdldC5hcHBseSh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIHJldHVybiBwcm9wcyAmJiBwcm9wc1twcm9wZXJ0eUtleV07XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQob3JpZ2luYWw6IFQpIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9yaWdpbmFsO1xuICAgICAgaWYgKCFob29rcy5zaG91bGRTZXQgfHwgaG9va3Muc2hvdWxkU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pKSB7XG4gICAgICAgIGlmIChob29rcy5iZWZvcmVTZXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGhvb2tzLmJlZm9yZVNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwcm9wcyA9IHByb3BlcnRpZXMuZ2V0KHRoaXMpO1xuICAgICAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgICAgcHJvcHMgPSB7fTtcbiAgICAgICAgICBwcm9wZXJ0aWVzLnNldCh0aGlzLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgICAgcHJvcHNbcHJvcGVydHlLZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Muc2V0KSB7XG4gICAgICAgICAgZGVzYy5zZXQuYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9va3MuYWZ0ZXJTZXQpIHtcbiAgICAgICAgICBob29rcy5hZnRlclNldC5hcHBseSh0aGlzLCBbY2hhbmdlZCwgdmFsdWUsIG9yaWdpbmFsXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iLCIvKipcbiAqIFJlc29sdmVzIHdoZW4gdGhlIHByb3ZpZGVkIHByb3BlcnR5IGlzIHNldCB0byBhIG5vbi11bmRlZmluZWQgdmFsdWUgb24gdGhlXG4gKiB0YXJnZXQuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IHRvIGxpc3RlbiB0b1xuICogQHBhcmFtIHByb3BlcnR5IHRoZSBwcm9wZXJ0eSB0byB3YWl0IGZvclxuICogQHBhcmFtIHByZWRpY2F0ZSB0aGUgcHJlZGljYXRlIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGUgUHJvbWlzZVxuICogICBzaG91bGQgcmVzb2x2ZSBmb3IgYSBuZXcgdmFsdWUuIFRoZSBkZWZhdWx0IGlzIHRvIGNoZWNrIGlmIHRoZSB2YWx1ZSBpc1xuICogICBub3QgdW5kZWZpbmVkLlxuICogQHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgbmV3IHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aGVuU2V0PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgdGFyZ2V0OiBULFxuICBwcm9wZXJ0eTogSyxcbiAgcHJlZGljYXRlID0gKHZhbHVlOiBhbnkpID0+IHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCdcbik6IFByb21pc2U8VFtLXT4ge1xuICBsZXQgY3VycmVudFZhbHVlID0gdGFyZ2V0W3Byb3BlcnR5XTtcbiAgaWYgKHByZWRpY2F0ZShjdXJyZW50VmFsdWUpKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0YXJnZXRbcHJvcGVydHldKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eSwge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCgpIHtcbiAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICBzZXQodmFsdWU6IFRbS10pIHtcbiAgICAgICAgICBjdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHksIHtcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBd0NBLGlDQUNFLE1BQVcsRUFDWCxXQUFtQixFQUNuQixLQUF5Qjs7SUFFekIsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0NBQ2xEOzs7Ozs7Ozs7OztBQVdELHdCQUNFLE1BQVcsRUFDWCxXQUFxQyxFQUNyQyxLQUF5Qjs7SUFFekIsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNoRSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDcEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDN0IsV0FBVyxDQUNaLENBQUM7S0FDSDs7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLE9BQU87UUFDTCxVQUFVLEVBQUUsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFB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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvc3JjL2Rlc2NyaXB0b3JzLnRzIiwibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvc3JjL3doZW4tc2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVzY3JpcHRvciBob29rcyB0aGF0IGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNjcmlwdG9ySG9va3M8VD4ge1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLFxuICAgKiB0aGUgcHJvcGVydHkgd2lsbCBiZSBzZXQuIE90aGVyd2lzZSwgdGhlIHByb3BlcnR5IHdpbGwgbm90IGJlIHVwZGF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0LCBvdGhlcndpc2UgZmFsc2VcbiAgICovXG4gIHNob3VsZFNldD8odmFsdWU6IFQpOiBib29sZWFuO1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQgYW5kIGFmdGVyIGFueSBgc2hvdWxkU2V0KClgIGhhc1xuICAgKiByZXR1cm5lZCB0cnVlLiBUaGlzIGFsbG93cyB0aGUgdmFsdWUgdG8gYmUgbWFuaXB1bGF0ZWQgYmVmb3JlIHNldHRpbmcgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgdG8gYWN0dWFsbHkgc2V0XG4gICAqL1xuICBiZWZvcmVTZXQ/KHZhbHVlOiBUKTogVDtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGFmdGVyIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIFRoaXMgYWxsb3dzIHNpZGUgZWZmZWN0cyB0byBiZVxuICAgKiBwZXJmb3JtZWQgb24gdGhlIG5ldyB2YWx1ZSBvciB0byBkZXRlcm1pbmUgaWYgYSB2YWx1ZSBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlZCBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHZhbHVlIGNoYW5nZWRcbiAgICogQHBhcmFtIGN1cnJlbnQgdGhlIG5ldyB2YWx1ZVxuICAgKiBAcGFyYW0gcHJldmlvdXMgdGhlIHByZXZpb3VzIHZhbHVlXG4gICAqL1xuICBhZnRlclNldD8oY2hhbmdlZDogYm9vbGVhbiwgY3VycmVudDogVCwgcHJldmlvdXM6IFQpOiB2b2lkO1xufVxuXG4vKipcbiAqIFJlZGVmaW5lcyBhbiBvYmplY3QncyBwcm9wZXJ0eSB3aXRoIGRlc2NyaXB0b3IgaG9va3MgdGhhdCBpbmplY3Qgc2lkZSBlZmZlY3RzXG4gKiBpbnRvIHRoZSBwcm9wZXJ0eSdzIGdldHRlciBhbmQgc2V0dGVyLiBJZiB0aGUgcHJvcGVydHkgaGFzIGFuIGV4aXN0aW5nXG4gKiBnZXR0ZXIgb3Igc2V0dGVyLCB0aGV5IHdpbGwgYmUgcHJlc2VydmVkLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcEFuZERlZmluZURlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBob29rczogRGVzY3JpcHRvckhvb2tzPFQ+XG4pIHtcbiAgY29uc3QgZGVzYyA9IHdyYXBEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXksIGhvb2tzKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIGRlc2MpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRoYXQgaW5qZWN0cyBob29rcyBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kXG4gKiBzZXR0ZXIgdG8gZXhlY3V0ZSBzaWRlIGVmZmVjdHMuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgb2JqZWN0IHRhcmdldCBmb3IgdGhlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSB0aGUgcHJvcGVydHkgb2YgdGhlIG9iamVjdCB0YXJnZXRcbiAqIEBwYXJhbSBob29rcyB0aGUgaG9va3MgdG8gaW5qZWN0XG4gKiBAcmV0dXJucyBhIGRlc2NyaXB0b3IgdGhhdCBjYW4gYmUgdXNlZCBpbiBgT2JqZWN0LmRlZmluZVByb3BlcnR5KClgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwRGVzY3JpcHRvcjxUPihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBQcm9wZXJ0eUtleSxcbiAgaG9va3M6IERlc2NyaXB0b3JIb29rczxUPlxuKTogUHJvcGVydHlEZXNjcmlwdG9yIHtcbiAgY29uc3QgZGVzYyA9IGdldFByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgY29uc3QgcHJvcGVydGllcyA9IG5ldyBXZWFrTWFwKCk7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogZGVzYyA/IGRlc2MuZW51bWVyYWJsZSA6IHRydWUsXG4gICAgZ2V0KCkge1xuICAgICAgaWYgKGRlc2MgJiYgZGVzYy5nZXQpIHtcbiAgICAgICAgcmV0dXJuIGRlc2MuZ2V0LmFwcGx5KHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcHJvcHMgPSBwcm9wZXJ0aWVzLmdldCh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHByb3BzICYmIHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldChvcmlnaW5hbDogVCkge1xuICAgICAgbGV0IHZhbHVlID0gb3JpZ2luYWw7XG4gICAgICBpZiAoIWhvb2tzLnNob3VsZFNldCB8fCBob29rcy5zaG91bGRTZXQuYXBwbHkodGhpcywgW3ZhbHVlXSkpIHtcbiAgICAgICAgaWYgKGhvb2tzLmJlZm9yZVNldCkge1xuICAgICAgICAgIHZhbHVlID0gaG9va3MuYmVmb3JlU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIGlmICghcHJvcHMpIHtcbiAgICAgICAgICBwcm9wcyA9IHt9O1xuICAgICAgICAgIHByb3BlcnRpZXMuc2V0KHRoaXMsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoYW5nZWQgPSB2YWx1ZSAhPT0gcHJvcHNbcHJvcGVydHlLZXldO1xuICAgICAgICBwcm9wc1twcm9wZXJ0eUtleV0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKGRlc2MgJiYgZGVzYy5zZXQpIHtcbiAgICAgICAgICBkZXNjLnNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob29rcy5hZnRlclNldCkge1xuICAgICAgICAgIGhvb2tzLmFmdGVyU2V0LmFwcGx5KHRoaXMsIFtjaGFuZ2VkLCB2YWx1ZSwgb3JpZ2luYWxdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBTaW1pbGFyIHRvIGBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKClgLCBidXQgdGhpcyBmdW5jdGlvbiB3aWxsXG4gKiBzZWFyY2ggdGhyb3VnaCB0aGUgdGFyZ2V0J3MgcHJvdG90eXBlIGNoYWluIHdoZW4gbG9va2luZyBmb3IgdGhlIHByb3BlcnR5J3NcbiAqIGRlc2NyaXB0b3IuXG4gKlxuICogQHBhcmFtIHRhcmdldCBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHlcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSBuYW1lIG9mIHRoZSBwcm9wZXJ0eVxuICogQHJldHVybnMgdGhlIHByb3BlcnR5IGRlc2NyaXB0b3IgaWYgb25lIGV4aXN0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvcGVydHlEZXNjcmlwdG9yKFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IFByb3BlcnR5S2V5XG4pOiBQcm9wZXJ0eURlc2NyaXB0b3IgfCB1bmRlZmluZWQge1xuICB3aGlsZSAodGFyZ2V0KSB7XG4gICAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gICAgaWYgKGRlc2MpIHtcbiAgICAgIHJldHVybiBkZXNjO1xuICAgIH0gZWxzZSB7XG4gICAgICB0YXJnZXQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogUmVzb2x2ZXMgd2hlbiB0aGUgcHJvdmlkZWQgcHJvcGVydHkgaXMgc2V0IHRvIGEgbm9uLXVuZGVmaW5lZCB2YWx1ZSBvbiB0aGVcbiAqIHRhcmdldC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgdG8gbGlzdGVuIHRvXG4gKiBAcGFyYW0gcHJvcGVydHkgdGhlIHByb3BlcnR5IHRvIHdhaXQgZm9yXG4gKiBAcGFyYW0gcHJlZGljYXRlIHRoZSBwcmVkaWNhdGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZSBQcm9taXNlXG4gKiAgIHNob3VsZCByZXNvbHZlIGZvciBhIG5ldyB2YWx1ZS4gVGhlIGRlZmF1bHQgaXMgdG8gY2hlY2sgaWYgdGhlIHZhbHVlIGlzXG4gKiAgIG5vdCB1bmRlZmluZWQuXG4gKiBAcmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBuZXcgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdoZW5TZXQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+KFxuICB0YXJnZXQ6IFQsXG4gIHByb3BlcnR5OiBLLFxuICBwcmVkaWNhdGUgPSAodmFsdWU6IGFueSkgPT4gdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJ1xuKTogUHJvbWlzZTxUW0tdPiB7XG4gIGxldCBjdXJyZW50VmFsdWUgPSB0YXJnZXRbcHJvcGVydHldO1xuICBpZiAocHJlZGljYXRlKGN1cnJlbnRWYWx1ZSkpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRhcmdldFtwcm9wZXJ0eV0pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5LCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0KCkge1xuICAgICAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIHNldCh2YWx1ZTogVFtLXSkge1xuICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUpKSB7XG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eSwge1xuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUF3Q0Es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

@@ -33,6 +33,3 @@ /**

/** @type {?} */
var desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (!desc) {
desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), propertyKey);
}
var desc = getPropertyDescriptor(target, propertyKey);
/** @type {?} */

@@ -85,2 +82,23 @@ var properties = new WeakMap();

}
/**
* Similar to `Object.getOwnPropertyDescriptor()`, but this function will
* search through the target's prototype chain when looking for the property's
* descriptor.
*
* @param {?} target object that contains the property
* @param {?} propertyKey name of the property
* @return {?} the property descriptor if one exists
*/
function getPropertyDescriptor(target, propertyKey) {
while (target) {
/** @type {?} */
var desc = Object.getOwnPropertyDescriptor(target, propertyKey);
if (desc) {
return desc;
}
else {
target = Object.getPrototypeOf(target);
}
}
}

@@ -151,4 +169,4 @@ /**

export { wrapAndDefineDescriptor, wrapDescriptor, whenSet };
export { wrapAndDefineDescriptor, wrapDescriptor, getPropertyDescriptor, whenSet };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvc3JjL2Rlc2NyaXB0b3JzLnRzIiwibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvc3JjL3doZW4tc2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVzY3JpcHRvciBob29rcyB0aGF0IGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNjcmlwdG9ySG9va3M8VD4ge1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLFxuICAgKiB0aGUgcHJvcGVydHkgd2lsbCBiZSBzZXQuIE90aGVyd2lzZSwgdGhlIHByb3BlcnR5IHdpbGwgbm90IGJlIHVwZGF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0LCBvdGhlcndpc2UgZmFsc2VcbiAgICovXG4gIHNob3VsZFNldD8odmFsdWU6IFQpOiBib29sZWFuO1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQgYW5kIGFmdGVyIGFueSBgc2hvdWxkU2V0KClgIGhhc1xuICAgKiByZXR1cm5lZCB0cnVlLiBUaGlzIGFsbG93cyB0aGUgdmFsdWUgdG8gYmUgbWFuaXB1bGF0ZWQgYmVmb3JlIHNldHRpbmcgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgdG8gYWN0dWFsbHkgc2V0XG4gICAqL1xuICBiZWZvcmVTZXQ/KHZhbHVlOiBUKTogVDtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGFmdGVyIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIFRoaXMgYWxsb3dzIHNpZGUgZWZmZWN0cyB0byBiZVxuICAgKiBwZXJmb3JtZWQgb24gdGhlIG5ldyB2YWx1ZSBvciB0byBkZXRlcm1pbmUgaWYgYSB2YWx1ZSBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlZCBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHZhbHVlIGNoYW5nZWRcbiAgICogQHBhcmFtIGN1cnJlbnQgdGhlIG5ldyB2YWx1ZVxuICAgKiBAcGFyYW0gcHJldmlvdXMgdGhlIHByZXZpb3VzIHZhbHVlXG4gICAqL1xuICBhZnRlclNldD8oY2hhbmdlZDogYm9vbGVhbiwgY3VycmVudDogVCwgcHJldmlvdXM6IFQpOiB2b2lkO1xufVxuXG4vKipcbiAqIFJlZGVmaW5lcyBhbiBvYmplY3QncyBwcm9wZXJ0eSB3aXRoIGRlc2NyaXB0b3IgaG9va3MgdGhhdCBpbmplY3Qgc2lkZSBlZmZlY3RzXG4gKiBpbnRvIHRoZSBwcm9wZXJ0eSdzIGdldHRlciBhbmQgc2V0dGVyLiBJZiB0aGUgcHJvcGVydHkgaGFzIGFuIGV4aXN0aW5nXG4gKiBnZXR0ZXIgb3Igc2V0dGVyLCB0aGV5IHdpbGwgYmUgcHJlc2VydmVkLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcEFuZERlZmluZURlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBob29rczogRGVzY3JpcHRvckhvb2tzPFQ+XG4pIHtcbiAgY29uc3QgZGVzYyA9IHdyYXBEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXksIGhvb2tzKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIGRlc2MpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRoYXQgaW5qZWN0cyBob29rcyBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kXG4gKiBzZXR0ZXIgdG8gZXhlY3V0ZSBzaWRlIGVmZmVjdHMuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgb2JqZWN0IHRhcmdldCBmb3IgdGhlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSB0aGUgcHJvcGVydHkgb2YgdGhlIG9iamVjdCB0YXJnZXRcbiAqIEBwYXJhbSBob29rcyB0aGUgaG9va3MgdG8gaW5qZWN0XG4gKiBAcmV0dXJucyBhIGRlc2NyaXB0b3IgdGhhdCBjYW4gYmUgdXNlZCBpbiBgT2JqZWN0LmRlZmluZVByb3BlcnR5KClgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwRGVzY3JpcHRvcjxUPihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsXG4gIGhvb2tzOiBEZXNjcmlwdG9ySG9va3M8VD5cbik6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gIGxldCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgaWYgKCFkZXNjKSB7XG4gICAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KSxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBuZXcgV2Vha01hcCgpO1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6IGRlc2MgPyBkZXNjLmVudW1lcmFibGUgOiB0cnVlLFxuICAgIGdldCgpIHtcbiAgICAgIGlmIChkZXNjICYmIGRlc2MuZ2V0KSB7XG4gICAgICAgIHJldHVybiBkZXNjLmdldC5hcHBseSh0aGlzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIHJldHVybiBwcm9wcyAmJiBwcm9wc1twcm9wZXJ0eUtleV07XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXQob3JpZ2luYWw6IFQpIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9yaWdpbmFsO1xuICAgICAgaWYgKCFob29rcy5zaG91bGRTZXQgfHwgaG9va3Muc2hvdWxkU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pKSB7XG4gICAgICAgIGlmIChob29rcy5iZWZvcmVTZXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGhvb2tzLmJlZm9yZVNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwcm9wcyA9IHByb3BlcnRpZXMuZ2V0KHRoaXMpO1xuICAgICAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgICAgcHJvcHMgPSB7fTtcbiAgICAgICAgICBwcm9wZXJ0aWVzLnNldCh0aGlzLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgICAgcHJvcHNbcHJvcGVydHlLZXldID0gdmFsdWU7XG4gICAgICAgIGlmIChkZXNjICYmIGRlc2Muc2V0KSB7XG4gICAgICAgICAgZGVzYy5zZXQuYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG9va3MuYWZ0ZXJTZXQpIHtcbiAgICAgICAgICBob29rcy5hZnRlclNldC5hcHBseSh0aGlzLCBbY2hhbmdlZCwgdmFsdWUsIG9yaWdpbmFsXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iLCIvKipcbiAqIFJlc29sdmVzIHdoZW4gdGhlIHByb3ZpZGVkIHByb3BlcnR5IGlzIHNldCB0byBhIG5vbi11bmRlZmluZWQgdmFsdWUgb24gdGhlXG4gKiB0YXJnZXQuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IHRvIGxpc3RlbiB0b1xuICogQHBhcmFtIHByb3BlcnR5IHRoZSBwcm9wZXJ0eSB0byB3YWl0IGZvclxuICogQHBhcmFtIHByZWRpY2F0ZSB0aGUgcHJlZGljYXRlIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGUgUHJvbWlzZVxuICogICBzaG91bGQgcmVzb2x2ZSBmb3IgYSBuZXcgdmFsdWUuIFRoZSBkZWZhdWx0IGlzIHRvIGNoZWNrIGlmIHRoZSB2YWx1ZSBpc1xuICogICBub3QgdW5kZWZpbmVkLlxuICogQHJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgbmV3IHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aGVuU2V0PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgdGFyZ2V0OiBULFxuICBwcm9wZXJ0eTogSyxcbiAgcHJlZGljYXRlID0gKHZhbHVlOiBhbnkpID0+IHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCdcbik6IFByb21pc2U8VFtLXT4ge1xuICBsZXQgY3VycmVudFZhbHVlID0gdGFyZ2V0W3Byb3BlcnR5XTtcbiAgaWYgKHByZWRpY2F0ZShjdXJyZW50VmFsdWUpKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0YXJnZXRbcHJvcGVydHldKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eSwge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCgpIHtcbiAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICBzZXQodmFsdWU6IFRbS10pIHtcbiAgICAgICAgICBjdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHksIHtcbiAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBd0NBLGlDQUNFLE1BQVcsRUFDWCxXQUFtQixFQUNuQixLQUF5Qjs7SUFFekIsSUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0NBQ2xEOzs7Ozs7Ozs7OztBQVdELHdCQUNFLE1BQVcsRUFDWCxXQUFxQyxFQUNyQyxLQUF5Qjs7SUFFekIsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNoRSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDcEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDN0IsV0FBVyxDQUNaLENBQUM7S0FDSDs7SUFFRCxJQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLE9BQU87UUFDTCxVQUFVLEVBQUUsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFB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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2FtaS11dGlsLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvc3JjL2Rlc2NyaXB0b3JzLnRzIiwibmc6Ly9AY29kZWJha2VyeS9vcmlnYW1pL3V0aWwvc3JjL3doZW4tc2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVzY3JpcHRvciBob29rcyB0aGF0IGNhbiBiZSBpbmplY3RlZCBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kIHNldHRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNjcmlwdG9ySG9va3M8VD4ge1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlLFxuICAgKiB0aGUgcHJvcGVydHkgd2lsbCBiZSBzZXQuIE90aGVyd2lzZSwgdGhlIHByb3BlcnR5IHdpbGwgbm90IGJlIHVwZGF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0LCBvdGhlcndpc2UgZmFsc2VcbiAgICovXG4gIHNob3VsZFNldD8odmFsdWU6IFQpOiBib29sZWFuO1xuICAvKipcbiAgICogRXhlY3V0ZXMgYmVmb3JlIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQgYW5kIGFmdGVyIGFueSBgc2hvdWxkU2V0KClgIGhhc1xuICAgKiByZXR1cm5lZCB0cnVlLiBUaGlzIGFsbG93cyB0aGUgdmFsdWUgdG8gYmUgbWFuaXB1bGF0ZWQgYmVmb3JlIHNldHRpbmcgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgcmVxdWVzdGVkIHRvIHNldFxuICAgKiBAcmV0dXJucyB0aGUgdmFsdWUgdG8gYWN0dWFsbHkgc2V0XG4gICAqL1xuICBiZWZvcmVTZXQ/KHZhbHVlOiBUKTogVDtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGFmdGVyIGEgcHJvcGVydHkncyB2YWx1ZSBpcyBzZXQuIFRoaXMgYWxsb3dzIHNpZGUgZWZmZWN0cyB0byBiZVxuICAgKiBwZXJmb3JtZWQgb24gdGhlIG5ldyB2YWx1ZSBvciB0byBkZXRlcm1pbmUgaWYgYSB2YWx1ZSBjaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlZCBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIHZhbHVlIGNoYW5nZWRcbiAgICogQHBhcmFtIGN1cnJlbnQgdGhlIG5ldyB2YWx1ZVxuICAgKiBAcGFyYW0gcHJldmlvdXMgdGhlIHByZXZpb3VzIHZhbHVlXG4gICAqL1xuICBhZnRlclNldD8oY2hhbmdlZDogYm9vbGVhbiwgY3VycmVudDogVCwgcHJldmlvdXM6IFQpOiB2b2lkO1xufVxuXG4vKipcbiAqIFJlZGVmaW5lcyBhbiBvYmplY3QncyBwcm9wZXJ0eSB3aXRoIGRlc2NyaXB0b3IgaG9va3MgdGhhdCBpbmplY3Qgc2lkZSBlZmZlY3RzXG4gKiBpbnRvIHRoZSBwcm9wZXJ0eSdzIGdldHRlciBhbmQgc2V0dGVyLiBJZiB0aGUgcHJvcGVydHkgaGFzIGFuIGV4aXN0aW5nXG4gKiBnZXR0ZXIgb3Igc2V0dGVyLCB0aGV5IHdpbGwgYmUgcHJlc2VydmVkLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0YXJnZXQgZm9yIHRoZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHlLZXkgdGhlIHByb3BlcnR5IG9mIHRoZSBvYmplY3QgdGFyZ2V0XG4gKiBAcGFyYW0gaG9va3MgdGhlIGhvb2tzIHRvIGluamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcEFuZERlZmluZURlc2NyaXB0b3I8VD4oXG4gIHRhcmdldDogYW55LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBob29rczogRGVzY3JpcHRvckhvb2tzPFQ+XG4pIHtcbiAgY29uc3QgZGVzYyA9IHdyYXBEZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHlLZXksIGhvb2tzKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIGRlc2MpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRoYXQgaW5qZWN0cyBob29rcyBpbnRvIGEgcHJvcGVydHkncyBnZXR0ZXIgYW5kXG4gKiBzZXR0ZXIgdG8gZXhlY3V0ZSBzaWRlIGVmZmVjdHMuXG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgb2JqZWN0IHRhcmdldCBmb3IgdGhlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSB0aGUgcHJvcGVydHkgb2YgdGhlIG9iamVjdCB0YXJnZXRcbiAqIEBwYXJhbSBob29rcyB0aGUgaG9va3MgdG8gaW5qZWN0XG4gKiBAcmV0dXJucyBhIGRlc2NyaXB0b3IgdGhhdCBjYW4gYmUgdXNlZCBpbiBgT2JqZWN0LmRlZmluZVByb3BlcnR5KClgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwRGVzY3JpcHRvcjxUPihcbiAgdGFyZ2V0OiBhbnksXG4gIHByb3BlcnR5S2V5OiBQcm9wZXJ0eUtleSxcbiAgaG9va3M6IERlc2NyaXB0b3JIb29rczxUPlxuKTogUHJvcGVydHlEZXNjcmlwdG9yIHtcbiAgY29uc3QgZGVzYyA9IGdldFByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgY29uc3QgcHJvcGVydGllcyA9IG5ldyBXZWFrTWFwKCk7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogZGVzYyA/IGRlc2MuZW51bWVyYWJsZSA6IHRydWUsXG4gICAgZ2V0KCkge1xuICAgICAgaWYgKGRlc2MgJiYgZGVzYy5nZXQpIHtcbiAgICAgICAgcmV0dXJuIGRlc2MuZ2V0LmFwcGx5KHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcHJvcHMgPSBwcm9wZXJ0aWVzLmdldCh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHByb3BzICYmIHByb3BzW3Byb3BlcnR5S2V5XTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldChvcmlnaW5hbDogVCkge1xuICAgICAgbGV0IHZhbHVlID0gb3JpZ2luYWw7XG4gICAgICBpZiAoIWhvb2tzLnNob3VsZFNldCB8fCBob29rcy5zaG91bGRTZXQuYXBwbHkodGhpcywgW3ZhbHVlXSkpIHtcbiAgICAgICAgaWYgKGhvb2tzLmJlZm9yZVNldCkge1xuICAgICAgICAgIHZhbHVlID0gaG9va3MuYmVmb3JlU2V0LmFwcGx5KHRoaXMsIFt2YWx1ZV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHByb3BzID0gcHJvcGVydGllcy5nZXQodGhpcyk7XG4gICAgICAgIGlmICghcHJvcHMpIHtcbiAgICAgICAgICBwcm9wcyA9IHt9O1xuICAgICAgICAgIHByb3BlcnRpZXMuc2V0KHRoaXMsIHByb3BzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoYW5nZWQgPSB2YWx1ZSAhPT0gcHJvcHNbcHJvcGVydHlLZXldO1xuICAgICAgICBwcm9wc1twcm9wZXJ0eUtleV0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKGRlc2MgJiYgZGVzYy5zZXQpIHtcbiAgICAgICAgICBkZXNjLnNldC5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob29rcy5hZnRlclNldCkge1xuICAgICAgICAgIGhvb2tzLmFmdGVyU2V0LmFwcGx5KHRoaXMsIFtjaGFuZ2VkLCB2YWx1ZSwgb3JpZ2luYWxdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBTaW1pbGFyIHRvIGBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKClgLCBidXQgdGhpcyBmdW5jdGlvbiB3aWxsXG4gKiBzZWFyY2ggdGhyb3VnaCB0aGUgdGFyZ2V0J3MgcHJvdG90eXBlIGNoYWluIHdoZW4gbG9va2luZyBmb3IgdGhlIHByb3BlcnR5J3NcbiAqIGRlc2NyaXB0b3IuXG4gKlxuICogQHBhcmFtIHRhcmdldCBvYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHlcbiAqIEBwYXJhbSBwcm9wZXJ0eUtleSBuYW1lIG9mIHRoZSBwcm9wZXJ0eVxuICogQHJldHVybnMgdGhlIHByb3BlcnR5IGRlc2NyaXB0b3IgaWYgb25lIGV4aXN0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvcGVydHlEZXNjcmlwdG9yKFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IFByb3BlcnR5S2V5XG4pOiBQcm9wZXJ0eURlc2NyaXB0b3IgfCB1bmRlZmluZWQge1xuICB3aGlsZSAodGFyZ2V0KSB7XG4gICAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gICAgaWYgKGRlc2MpIHtcbiAgICAgIHJldHVybiBkZXNjO1xuICAgIH0gZWxzZSB7XG4gICAgICB0YXJnZXQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogUmVzb2x2ZXMgd2hlbiB0aGUgcHJvdmlkZWQgcHJvcGVydHkgaXMgc2V0IHRvIGEgbm9uLXVuZGVmaW5lZCB2YWx1ZSBvbiB0aGVcbiAqIHRhcmdldC5cbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgdG8gbGlzdGVuIHRvXG4gKiBAcGFyYW0gcHJvcGVydHkgdGhlIHByb3BlcnR5IHRvIHdhaXQgZm9yXG4gKiBAcGFyYW0gcHJlZGljYXRlIHRoZSBwcmVkaWNhdGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZSBQcm9taXNlXG4gKiAgIHNob3VsZCByZXNvbHZlIGZvciBhIG5ldyB2YWx1ZS4gVGhlIGRlZmF1bHQgaXMgdG8gY2hlY2sgaWYgdGhlIHZhbHVlIGlzXG4gKiAgIG5vdCB1bmRlZmluZWQuXG4gKiBAcmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBuZXcgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdoZW5TZXQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+KFxuICB0YXJnZXQ6IFQsXG4gIHByb3BlcnR5OiBLLFxuICBwcmVkaWNhdGUgPSAodmFsdWU6IGFueSkgPT4gdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJ1xuKTogUHJvbWlzZTxUW0tdPiB7XG4gIGxldCBjdXJyZW50VmFsdWUgPSB0YXJnZXRbcHJvcGVydHldO1xuICBpZiAocHJlZGljYXRlKGN1cnJlbnRWYWx1ZSkpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRhcmdldFtwcm9wZXJ0eV0pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5LCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0KCkge1xuICAgICAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIHNldCh2YWx1ZTogVFtLXSkge1xuICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgIGlmIChwcmVkaWNhdGUodmFsdWUpKSB7XG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eSwge1xuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUF3Q0Es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
{
"$schema": "./node_modules/ng-packagr/package.schema.json",
"name": "@codebakery/origami",
"version": "3.0.0-beta.1",
"version": "3.0.0-beta.2",
"description": "Angular + Polymer",

@@ -6,0 +6,0 @@ "keywords": [

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"DescriptorHooks":{"__symbolic":"interface"},"wrapAndDefineDescriptor":{"__symbolic":"function"},"wrapDescriptor":{"__symbolic":"function"},"whenSet":{"__symbolic":"function"}},"origins":{"DescriptorHooks":"./src/descriptors","wrapAndDefineDescriptor":"./src/descriptors","wrapDescriptor":"./src/descriptors","whenSet":"./src/when-set"},"importAs":"@codebakery/origami/util"}
{"__symbolic":"module","version":4,"metadata":{"DescriptorHooks":{"__symbolic":"interface"},"wrapAndDefineDescriptor":{"__symbolic":"function"},"wrapDescriptor":{"__symbolic":"function"},"getPropertyDescriptor":{"__symbolic":"function"},"whenSet":{"__symbolic":"function"}},"origins":{"DescriptorHooks":"./src/descriptors","wrapAndDefineDescriptor":"./src/descriptors","wrapDescriptor":"./src/descriptors","getPropertyDescriptor":"./src/descriptors","whenSet":"./src/when-set"},"importAs":"@codebakery/origami/util"}

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

*/
export declare function wrapDescriptor<T>(target: any, propertyKey: string | number | symbol, hooks: DescriptorHooks<T>): PropertyDescriptor;
export declare function wrapDescriptor<T>(target: any, propertyKey: PropertyKey, hooks: DescriptorHooks<T>): PropertyDescriptor;
/**
* Similar to `Object.getOwnPropertyDescriptor()`, but this function will
* search through the target's prototype chain when looking for the property's
* descriptor.
*
* @param target object that contains the property
* @param propertyKey name of the property
* @returns the property descriptor if one exists
*/
export declare function getPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor | undefined;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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