@coolon/angular-ui-powerups 0.0.54 → 0.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,6 @@ var _a;
4
4
  * @fileoverview added by tsickle
5
5
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6
6
  */
7
- import { Trace } from '@coolon/pectin';
8
7
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
9
8
  import { ParameterDefinition } from './parameter-definition.class';
10
9
  import { RouteParameterValue } from './route-parameter-value';
@@ -244,12 +243,6 @@ tslib_1.__decorate([
244
243
  tslib_1.__metadata("design:paramtypes", []),
245
244
  tslib_1.__metadata("design:returntype", Array)
246
245
  ], ParameterSnapshot.prototype, "getRouteParameters", null);
247
- tslib_1.__decorate([
248
- Trace(),
249
- tslib_1.__metadata("design:type", Function),
250
- tslib_1.__metadata("design:paramtypes", []),
251
- tslib_1.__metadata("design:returntype", void 0)
252
- ], ParameterSnapshot.prototype, "getFormattedParameters", null);
253
246
  if (false) {
254
247
  /** @type {?} */
255
248
  ParameterSnapshot.prototype.placeDefinition;
@@ -401,4 +394,4 @@ if (false) {
401
394
  ParamMapAdapter.prototype.params;
402
395
  }
403
396
  })(ParameterSnapshot || (ParameterSnapshot = {}));
404
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE1BQU0sT0FBTyxpQkFBaUI7Ozs7O0lBRTVCLFlBQXFCLGVBQWdDLEVBQW1CLFVBQWdEO1FBQW5HLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFtQixlQUFVLEdBQVYsVUFBVSxDQUFzQztJQUN4SCxDQUFDOzs7Ozs7SUFFRCxVQUFVLENBQUMsS0FBd0IsRUFBRSxLQUFLLEdBQUcsS0FBSzs7Y0FDMUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxFQUFDO1FBQ0YsSUFBSSxPQUFPLElBQUksS0FBSyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDN0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNuQixNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2FBQzdDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FB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TUFBK0I7WUFBL0IsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDNUQsQ0FBQzs7Ozs7UUFFRCxHQUFHLENBQUMsSUFBWTtZQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDOzs7OztRQUVELE1BQU0sQ0FBQyxJQUFZOztrQkFDWCxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDNUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQzs7Ozs7UUFFRCxHQUFHLENBQUMsSUFBWTtZQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQzs7OztRQUVELElBQUksSUFBSTtZQUNOLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztLQUVGOzs7Ozs7UUFwQmEsaUNBQWdEOztBQXVCaEUsQ0FBQyxFQWpFZ0IsaUJBQWlCLEtBQWpCLGlCQUFpQixRQWlFakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFyYW1NYXAsIFVybFNlZ21lbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yL2Rpc3Qvc3JjJztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBSb3V0ZVBhcmFtZXRlclZhbHVlIH0gZnJvbSAnLi9yb3V0ZS1wYXJhbWV0ZXItdmFsdWUnO1xuXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVyU25hcHNob3QgaW1wbGVtZW50cyBWaXNpdCB7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24sIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1ldGVyczogUm91dGVQYXJhbWV0ZXJWYWx1ZTxhbnksIGFueSwgYW55PltdKSB7XG4gIH1cblxuICBoYXNDaGFuZ2VkKG90aGVyOiBQYXJhbWV0ZXJTbmFwc2hvdCwgZGVidWcgPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLnBhcmFtZXRlcnMuZmluZCgocikgPT4ge1xuICAgICAgcmV0dXJuIHIuaGFzQ2hhbmdlZChvdGhlci5nZXRWYWx1ZU9mKHIuZGVmaW5pdGlvbikpO1xuICAgIH0pO1xuICAgIGlmIChjaGFuZ2VkICYmIGRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyh7XG4gICAgICAgIG5hbWU6IGNoYW5nZWQuZGVmaW5pdGlvbi5uYW1lLFxuICAgICAgICBtaW5lOiBjaGFuZ2VkLnZhbHVlLFxuICAgICAgICB0aGVpcnM6IG90aGVyLmdldFZhbHVlT2YoY2hhbmdlZC5kZWZpbml0aW9uKVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAhIWNoYW5nZWQ7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldFBhcmFtZXRlcjxULCBTPihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4pOiBSb3V0ZVBhcmFtZXRlclZhbHVlPFMsIFQsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMuZmluZChyID0+IHIuZGVmaW5pdGlvbiA9PT0gcGFyYW1ldGVyRGVmKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0VmFsdWVPZjxULCBTPihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4pOiBTIHtcbiAgICBjb25zdCByZXNvbHZlZFBhcmFtZXRlciA9IHRoaXMuZ2V0UGFyYW1ldGVyKHBhcmFtZXRlckRlZik7XG4gICAgcmV0dXJuIHJlc29sdmVkUGFyYW1ldGVyID8gcmVzb2x2ZWRQYXJhbWV0ZXIudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgZ2V0Um91dGVJZFZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Um91dGVJZFBhcmFtZXRlcigpID8gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCkudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRQYXJhbWV0ZXJWYWx1ZShuYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVyID0gdGhpcy5wYXJhbWV0ZXJzLmZpbmQociA9PiByLmRlZmluaXRpb24ubmFtZSA9PT0gbmFtZSk7XG4gICAgcmV0dXJuIHJlc29sdmVkUGFyYW1ldGVyID8gcmVzb2x2ZWRQYXJhbWV0ZXIudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBwcml2YXRlIGdldFJvdXRlSWRQYXJhbWV0ZXIoKTogUm91dGVQYXJhbWV0ZXJWYWx1ZS5TY2FsYXI8YW55PiB7XG4gICAgLy8gUm91dGVJZCdzIGFyZSBuZXZlciBhcnJheXM6IHNlZSBwYXJhbWV0ZXItZGVjb3JhdG9ycy50cyBjcmVhdGVEZWZpbml0aW9uIG1ldGhvZHMuIEl0IHdvdWxkIGJlIG5pY2UgdG9cbiAgICAvLyBjYXB0dXJlIHRoaXMgaW4gdGhlIHR5cGUgc3lzdGVtIHRob3VnaFxuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMuZmluZChwID0+IHAuZGVmaW5pdGlvbi5pc1JvdXRlSWQpIGFzIFJvdXRlUGFyYW1ldGVyVmFsdWUuU2NhbGFyPGFueT47XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIHByaXZhdGUgZ2V0Um91dGVQYXJhbWV0ZXJzKCk6IFJvdXRlUGFyYW1ldGVyVmFsdWU8YW55LCBhbnksIGFueT5bXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycy5maWx0ZXIociA9PiAhci5kZWZpbml0aW9uLmlzUm91dGVJZCk7XG4gIH1cblxuICBoYXNSb3V0ZUlkKCkge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0Um91dGVJZFBhcmFtZXRlcigpO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkUm91dGVJZCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJvdXRlSWRQYXJhbSA9IHRoaXMuZ2V0Um91dGVJZFBhcmFtZXRlcigpO1xuICAgIHJldHVybiByb3V0ZUlkUGFyYW0gPyByb3V0ZUlkUGFyYW0uZm9ybWF0dGVkVmFsdWUoKSA6IG51bGw7XG4gIH1cblxuICBnZXROb25FbXB0eVBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycy5maWx0ZXIocCA9PiAhcC5pc0VtcHR5KCkpO1xuICB9XG5cbiAgQFRyYWNlKClcbiAgZ2V0Rm9ybWF0dGVkUGFyYW1ldGVycygpIHtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBjb25zdCByb3V0ZUlkUGFyYW0gPSB0aGlzLmdldE5vbkVtcHR5UGFyYW1ldGVycygpXG4gICAgICAuZmlsdGVyKHAgPT4gIXAuZGVmaW5pdGlvbi5pc1JvdXRlSWQpXG4gICAgICAuZm9yRWFjaChwID0+IHBhcmFtc1twLmRlZmluaXRpb24ubmFtZV0gPSBwLmZvcm1hdHRlZFZhbHVlKCkpO1xuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBnZXRBbGxQYXJhbWV0ZXJzKCkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIGNvbnN0IHJvdXRlSWRQYXJhbSA9IHRoaXMucGFyYW1ldGVycy5mb3JFYWNoKHAgPT4ge1xuICAgICAgcGFyYW1zW3AuZGVmaW5pdGlvbi5uYW1lXSA9IHAudmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHJlcGxhY2U8VCwgUz4ocGFyYW1ldGVyOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+LCB2YWx1ZTogUyk6IFBhcmFtZXRlclNuYXBzaG90IHtcbiAgICByZXR1cm4gbmV3IFBhcmFtZXRlclNuYXBzaG90KHRoaXMucGxhY2VEZWZpbml0aW9uLCB0aGlzLnBhcmFtZXRlcnMubWFwKHAgPT4ge1xuICAgICAgcmV0dXJuIHAuZGVmaW5pdGlvbiA9PT0gcGFyYW1ldGVyID8gcC5yZXBsYWNlKHZhbHVlKSA6IHA7XG4gICAgfSkpO1xuICB9XG5cbiAgYXN5bmMgc2FuaXRpc2UoaW5qZWN0b3I6IEluamVjdG9yKTogUHJvbWlzZTxQYXJhbWV0ZXJTbmFwc2hvdD4ge1xuICAgIGlmICh0aGlzLmhhc1JvdXRlSWQoKSkge1xuICAgICAgY29uc3Qgcm91dGVJZCA9IHRoaXMuZ2V0Um91dGVJZFBhcmFtZXRlcigpO1xuICAgICAgY29uc3Qgc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCByb3V0ZUlkLnNhbml0aXNlKHRoaXMsIGluamVjdG9yKTtcbiAgICAgIGlmIChyb3V0ZUlkLmhhc0NoYW5nZWQoc2FuaXRpc2VkVmFsdWUpKSB7XG4gICAgICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBoYXMgY2hhbmdlZCB3ZSByZWRpcmVjdCBpbW1lZGlhdGVseSBhcyBvdGhlclxuICAgICAgICAvLyBwYXJhbWV0ZXIgc2FuaXRpc2VycyBtaWdodCB1c2UgaXQuXG4gICAgICAgIHJldHVybiB0aGlzLnJlcGxhY2Uocm91dGVJZC5kZWZpbml0aW9uLCBzYW5pdGlzZWRWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCByZXN1bHQ6IFBhcmFtZXRlclNuYXBzaG90ID0gdGhpcztcbiAgICBjb25zdCByb3V0ZVBhcmFtZXRlcnMgPSB0aGlzLmdldFJvdXRlUGFyYW1ldGVycygpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm91dGVQYXJhbWV0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCByb3V0ZVBhcmFtZXRlciA9IHJvdXRlUGFyYW1ldGVyc1tpXTtcbiAgICAgIGNvbnN0IHNhbml0aXNlZFZhbHVlID0gYXdhaXQgcm91dGVQYXJhbWV0ZXIuc2FuaXRpc2UodGhpcywgaW5qZWN0b3IpO1xuICAgICAgaWYgKHJvdXRlUGFyYW1ldGVyLmhhc0NoYW5nZWQoc2FuaXRpc2VkVmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKHJvdXRlUGFyYW1ldGVyLmRlZmluaXRpb24sIHNhbml0aXNlZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGFyYW1ldGVyU25hcHNob3Qge1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGUocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbiwgcGFyYW1zOiBQYXJhbU1hcCwgdXJsU2VnbWVudHM6IFVybFNlZ21lbnRbXSk6IFBhcmFtZXRlclNuYXBzaG90IHtcbiAgICBjb25zdCBwYXJhbU1hcCA9IG5ldyBDb25zb2xpZGF0ZWRQYXJhbWV0ZXJNYXAocGFyYW1zLCB1cmxTZWdtZW50cyk7XG4gICAgY29uc3QgcmVzb2x2ZWRQYXJhbWV0ZXJzID0gcGxhY2VEZWYuZ2V0Um91dGVQYXJhbWV0ZXJzKCkubWFwKGRlZiA9PiBSb3V0ZVBhcmFtZXRlclZhbHVlLmNyZWF0ZShkZWYsIHBhcmFtTWFwKSk7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTbmFwc2hvdChwbGFjZURlZiwgcmVzb2x2ZWRQYXJhbWV0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGEgd29yayBhcm91bmQgZm9yIHRoZSBmYWN0IHRoYXQgYW4gYWN0aXZhdGVkIHJvdXRlIHdpdGggbXVsdGlwbGUgc2VnbWVudHMgZG9lc24ndFxuICAgKiBpbmNsdWRlIHRoZSBzZWdtZW50IHBhcmFtcyBpbiB0aGUgcGFyYW1NYXAgYXMgd2VsbCBhcyBlYWNoIHNlZ21lbnQgcmV0dXJucyBhbiBlbXB0eVxuICAgKiBwYXJhbSBtYXAgZXZlbiB3aGVuIGBwYXJhbWV0ZXJgcyBoYXMgY29udGVudC5cbiAgICovXG4gIGNsYXNzIENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcCBpbXBsZW1lbnRzIFBhcmFtTWFwIHtcblxuICAgIHByaXZhdGUgcGFyYW1NYXBzOiBQYXJhbU1hcFtdO1xuXG4gICAgY29uc3RydWN0b3IocGFyYW1NYXA6IFBhcmFtTWFwLCB1cmxTZWdtZW50czogVXJsU2VnbWVudFtdKSB7XG4gICAgICB0aGlzLnBhcmFtTWFwcyA9IFtwYXJhbU1hcF0uY29uY2F0KFxuICAgICAgICAodXJsU2VnbWVudHMgfHwgW10pLm1hcChzID0+IG5ldyBQYXJhbU1hcEFkYXB0ZXIocy5wYXJhbWV0ZXJzKSlcbiAgICAgICkuZmlsdGVyKG0gPT4gISFtKTsgLy8gdGhlIGFjdGl2YXRlZCByb3V0ZSBwYXJhbSBtYXAgY2FuIGJlIG51bGxcbiAgICB9XG5cbiAgICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJhbU1hcHMuZmluZChtID0+IG0uaGFzKG5hbWUpKS5nZXQobmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0QWxsKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtTWFwcy5maW5kKG0gPT4gbS5oYXMobmFtZSkpLmdldEFsbChuYW1lKTtcbiAgICB9XG5cbiAgICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gISF0aGlzLnBhcmFtTWFwcy5maW5kKG0gPT4gbS5oYXMobmFtZSkpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJhbU1hcHMucmVkdWNlKChyZXN1bHQsIHBhcmFtcykgPT4gcmVzdWx0LmNvbmNhdChwYXJhbXMua2V5cyksIFtdKTtcbiAgICB9XG4gIH1cblxuICBjbGFzcyBQYXJhbU1hcEFkYXB0ZXIgaW1wbGVtZW50cyBQYXJhbU1hcCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYXJhbXM6IHsgW3A6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgfVxuXG4gICAgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1zW25hbWVdO1xuICAgIH1cblxuICAgIGdldEFsbChuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KG5hbWUpO1xuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgIH1cblxuICAgIGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmtleXMuaW5jbHVkZXMobmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0IGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMucGFyYW1zKTtcbiAgICB9XG5cbiAgfVxuXG5cbn1cbiJdfQ==
397
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7SUFFNUIsWUFBcUIsZUFBZ0MsRUFBbUIsVUFBZ0Q7UUFBbkcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQXNDO0lBQ3hILENBQUM7Ozs7OztJQUVELFVBQVUsQ0FBQyxLQUF3QixFQUFFLEtBQUssR0FBRyxLQUFLOztjQUMxQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDLEVBQUM7UUFDRixJQUFJLE9BQU8sSUFBSSxLQUFLLEVBQUU7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDVixJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUM3QixJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQ25CLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7YUFDN0MsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkIsQ0FBQzs7Ozs7O0lBR0QsWUFBWSxDQUFPLFlBQXVDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFlBQVksRUFBQyxDQUFDO0lBQ2xFLENBQUM7Ozs7OztJQUdELFVBQVUsQ0FBTyxZQUF1Qzs7Y0FDaEQsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7UUFDekQsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUQsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM5RSxDQUFDOzs7OztJQUdELGlCQUFpQixDQUFDLElBQVk7O2NBQ3RCLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFDO1FBQy9FLE9BQU8saUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVELENBQUM7Ozs7O0lBR08sbUJBQW1CO1FBQ3pCLHdHQUF3RztRQUN4Ryx5Q0FBeUM7UUFDekMsT0FBTyxtQkFBQSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFDLEVBQW1DLENBQUM7SUFDOUYsQ0FBQzs7Ozs7SUFHTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUMsQ0FBQztJQUM5RCxDQUFDOzs7O0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Ozs7SUFFRCxtQkFBbUI7O2NBQ1gsWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtRQUMvQyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0QsQ0FBQzs7OztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQztJQUNuRCxDQUFDOzs7O0lBRUQsc0JBQXNCOztjQUNkLE1BQU0sR0FBRyxFQUFFOztjQUNYLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUU7YUFDOUMsTUFBTTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBQzthQUNwQyxPQUFPOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUM7UUFDL0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7OztJQUVELGdCQUFnQjs7Y0FDUixNQUFNLEdBQUcsRUFBRTs7Y0FDWCxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN0QyxDQUFDLEVBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs7Ozs7O0lBRUQsT0FBTyxDQUFPLFNBQW9DLEVBQUUsS0FBUTtRQUMxRCxPQUFPLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUc7Ozs7UUFBQyxDQUFDLENBQUMsRUFBRTtZQUN6RSxPQUFPLENBQUMsQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Ozs7O0lBRUssUUFBUSxDQUFDLFFBQWtCOztZQUMvQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTs7c0JBQ2YsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRTs7c0JBQ3BDLGNBQWMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztnQkFDN0QsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFO29CQUN0QywrREFBK0Q7b0JBQy9ELHFDQUFxQztvQkFDckMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7aUJBQ3pEO2FBQ0Y7O2dCQUNHLE1BQU0sR0FBc0IsSUFBSTs7a0JBQzlCLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDakQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7O3NCQUN6QyxjQUFjLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQzs7c0JBQ25DLGNBQWMsR0FBRyxNQUFNLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztnQkFDcEUsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFO29CQUM3QyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2lCQUNwRTthQUNGO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztLQUFBO0NBRUY7QUF6RkM7SUFEQyxPQUFPLEVBQUU7OzZDQUN1QixtQkFBbUI7NENBQVMsbUJBQW1CO3FEQUUvRTtBQUdEO0lBREMsT0FBTyxFQUFFOzs2Q0FDcUIsbUJBQW1CO2dFQUFTLENBQUMsb0JBQUQsQ0FBQzttREFHM0Q7QUFPRDtJQURDLE9BQU8sRUFBRTs7OzswREFJVDtBQUdEO0lBREMsT0FBTyxFQUFFOzs7NENBQ3FCLG1CQUFtQixDQUFDLE1BQU07NERBSXhEO0FBR0Q7SUFEQyxPQUFPLEVBQUU7Ozs7MkRBR1Q7OztJQWhEVyw0Q0FBeUM7Ozs7O0lBQUUsdUNBQWlFOztBQTZHMUgsV0FBaUIsaUJBQWlCOzs7Ozs7O0lBRWhDLFNBQWdCLE1BQU0sQ0FBQyxRQUF5QixFQUFFLE1BQWdCLEVBQUUsV0FBeUI7O2NBQ3JGLFFBQVEsR0FBRyxJQUFJLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7O2NBQzVELGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEdBQUc7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUM7UUFDOUcsT0FBTyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFKZSx3QkFBTSxTQUlyQixDQUFBOzs7Ozs7SUFPRCxNQUFNLHdCQUF3Qjs7Ozs7UUFJNUIsWUFBWSxRQUFrQixFQUFFLFdBQXlCO1lBQ3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ2hDLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUc7Ozs7WUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBQyxDQUNoRSxDQUFDLE1BQU07Ozs7WUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLDRDQUE0QztRQUNsRSxDQUFDOzs7OztRQUVELEdBQUcsQ0FBQyxJQUFZO1lBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUk7Ozs7WUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsQ0FBQzs7Ozs7UUFFRCxNQUFNLENBQUMsSUFBWTtZQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSTs7OztZQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxDQUFDOzs7OztRQUVELEdBQUcsQ0FBQyxJQUFZO1lBQ2QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUM7UUFDakQsQ0FBQzs7OztRQUdELElBQUksSUFBSTtZQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNOzs7OztZQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkYsQ0FBQztLQUNGO0lBSEM7UUFEQyxPQUFPLEVBQUU7Ozt3REFHVDs7Ozs7O1FBdkJELDZDQUE4Qjs7SUEwQmhDLE1BQU0sZUFBZTs7OztRQUNuQixZQUE2QixNQUErQjtZQUEvQixXQUFNLEdBQU4sTUFBTSxDQUF5QjtRQUM1RCxDQUFDOzs7OztRQUVELEdBQUcsQ0FBQyxJQUFZO1lBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUM7Ozs7O1FBRUQsTUFBTSxDQUFDLElBQVk7O2tCQUNYLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUM1QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxDQUFDOzs7OztRQUVELEdBQUcsQ0FBQyxJQUFZO1lBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDOzs7O1FBRUQsSUFBSSxJQUFJO1lBQ04sT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDO0tBRUY7Ozs7OztRQXBCYSxpQ0FBZ0Q7O0FBdUJoRSxDQUFDLEVBakVnQixpQkFBaUIsS0FBakIsaUJBQWlCLFFBaUVqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbU1hcCwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVyVmFsdWUgfSBmcm9tICcuL3JvdXRlLXBhcmFtZXRlci12YWx1ZSc7XG5cbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJTbmFwc2hvdCBpbXBsZW1lbnRzIFZpc2l0IHtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbiwgcHJpdmF0ZSByZWFkb25seSBwYXJhbWV0ZXJzOiBSb3V0ZVBhcmFtZXRlclZhbHVlPGFueSwgYW55LCBhbnk+W10pIHtcbiAgfVxuXG4gIGhhc0NoYW5nZWQob3RoZXI6IFBhcmFtZXRlclNuYXBzaG90LCBkZWJ1ZyA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhbmdlZCA9IHRoaXMucGFyYW1ldGVycy5maW5kKChyKSA9PiB7XG4gICAgICByZXR1cm4gci5oYXNDaGFuZ2VkKG90aGVyLmdldFZhbHVlT2Yoci5kZWZpbml0aW9uKSk7XG4gICAgfSk7XG4gICAgaWYgKGNoYW5nZWQgJiYgZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKHtcbiAgICAgICAgbmFtZTogY2hhbmdlZC5kZWZpbml0aW9uLm5hbWUsXG4gICAgICAgIG1pbmU6IGNoYW5nZWQudmFsdWUsXG4gICAgICAgIHRoZWlyczogb3RoZXIuZ2V0VmFsdWVPZihjaGFuZ2VkLmRlZmluaXRpb24pXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuICEhY2hhbmdlZDtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0UGFyYW1ldGVyPFQsIFM+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPik6IFJvdXRlUGFyYW1ldGVyVmFsdWU8UywgVCwgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycy5maW5kKHIgPT4gci5kZWZpbml0aW9uID09PSBwYXJhbWV0ZXJEZWYpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRWYWx1ZU9mPFQsIFM+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPik6IFMge1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVyID0gdGhpcy5nZXRQYXJhbWV0ZXIocGFyYW1ldGVyRGVmKTtcbiAgICByZXR1cm4gcmVzb2x2ZWRQYXJhbWV0ZXIgPyByZXNvbHZlZFBhcmFtZXRlci52YWx1ZSA6IG51bGw7XG4gIH1cblxuICBnZXRSb3V0ZUlkVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCkgPyB0aGlzLmdldFJvdXRlSWRQYXJhbWV0ZXIoKS52YWx1ZSA6IG51bGw7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldFBhcmFtZXRlclZhbHVlKG5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgcmVzb2x2ZWRQYXJhbWV0ZXIgPSB0aGlzLnBhcmFtZXRlcnMuZmluZChyID0+IHIuZGVmaW5pdGlvbi5uYW1lID09PSBuYW1lKTtcbiAgICByZXR1cm4gcmVzb2x2ZWRQYXJhbWV0ZXIgPyByZXNvbHZlZFBhcmFtZXRlci52YWx1ZSA6IG51bGw7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIHByaXZhdGUgZ2V0Um91dGVJZFBhcmFtZXRlcigpOiBSb3V0ZVBhcmFtZXRlclZhbHVlLlNjYWxhcjxhbnk+IHtcbiAgICAvLyBSb3V0ZUlkJ3MgYXJlIG5ldmVyIGFycmF5czogc2VlIHBhcmFtZXRlci1kZWNvcmF0b3JzLnRzIGNyZWF0ZURlZmluaXRpb24gbWV0aG9kcy4gSXQgd291bGQgYmUgbmljZSB0b1xuICAgIC8vIGNhcHR1cmUgdGhpcyBpbiB0aGUgdHlwZSBzeXN0ZW0gdGhvdWdoXG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycy5maW5kKHAgPT4gcC5kZWZpbml0aW9uLmlzUm91dGVJZCkgYXMgUm91dGVQYXJhbWV0ZXJWYWx1ZS5TY2FsYXI8YW55PjtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgcHJpdmF0ZSBnZXRSb3V0ZVBhcmFtZXRlcnMoKTogUm91dGVQYXJhbWV0ZXJWYWx1ZTxhbnksIGFueSwgYW55PltdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmZpbHRlcihyID0+ICFyLmRlZmluaXRpb24uaXNSb3V0ZUlkKTtcbiAgfVxuXG4gIGhhc1JvdXRlSWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRSb3V0ZUlkKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gICAgcmV0dXJuIHJvdXRlSWRQYXJhbSA/IHJvdXRlSWRQYXJhbS5mb3JtYXR0ZWRWYWx1ZSgpIDogbnVsbDtcbiAgfVxuXG4gIGdldE5vbkVtcHR5UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmZpbHRlcihwID0+ICFwLmlzRW1wdHkoKSk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIGNvbnN0IHJvdXRlSWRQYXJhbSA9IHRoaXMuZ2V0Tm9uRW1wdHlQYXJhbWV0ZXJzKClcbiAgICAgIC5maWx0ZXIocCA9PiAhcC5kZWZpbml0aW9uLmlzUm91dGVJZClcbiAgICAgIC5mb3JFYWNoKHAgPT4gcGFyYW1zW3AuZGVmaW5pdGlvbi5uYW1lXSA9IHAuZm9ybWF0dGVkVmFsdWUoKSk7XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIGdldEFsbFBhcmFtZXRlcnMoKSB7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2gocCA9PiB7XG4gICAgICBwYXJhbXNbcC5kZWZpbml0aW9uLm5hbWVdID0gcC52YWx1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcmVwbGFjZTxULCBTPihwYXJhbWV0ZXI6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4sIHZhbHVlOiBTKTogUGFyYW1ldGVyU25hcHNob3Qge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU25hcHNob3QodGhpcy5wbGFjZURlZmluaXRpb24sIHRoaXMucGFyYW1ldGVycy5tYXAocCA9PiB7XG4gICAgICByZXR1cm4gcC5kZWZpbml0aW9uID09PSBwYXJhbWV0ZXIgPyBwLnJlcGxhY2UodmFsdWUpIDogcDtcbiAgICB9KSk7XG4gIH1cblxuICBhc3luYyBzYW5pdGlzZShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPFBhcmFtZXRlclNuYXBzaG90PiB7XG4gICAgaWYgKHRoaXMuaGFzUm91dGVJZCgpKSB7XG4gICAgICBjb25zdCByb3V0ZUlkID0gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gICAgICBjb25zdCBzYW5pdGlzZWRWYWx1ZSA9IGF3YWl0IHJvdXRlSWQuc2FuaXRpc2UodGhpcywgaW5qZWN0b3IpO1xuICAgICAgaWYgKHJvdXRlSWQuaGFzQ2hhbmdlZChzYW5pdGlzZWRWYWx1ZSkpIHtcbiAgICAgICAgLy8gaWYgdGhlIHJvdXRlIGlkIGhhcyBjaGFuZ2VkIHdlIHJlZGlyZWN0IGltbWVkaWF0ZWx5IGFzIG90aGVyXG4gICAgICAgIC8vIHBhcmFtZXRlciBzYW5pdGlzZXJzIG1pZ2h0IHVzZSBpdC5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVwbGFjZShyb3V0ZUlkLmRlZmluaXRpb24sIHNhbml0aXNlZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHJlc3VsdDogUGFyYW1ldGVyU25hcHNob3QgPSB0aGlzO1xuICAgIGNvbnN0IHJvdXRlUGFyYW1ldGVycyA9IHRoaXMuZ2V0Um91dGVQYXJhbWV0ZXJzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3V0ZVBhcmFtZXRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHJvdXRlUGFyYW1ldGVyID0gcm91dGVQYXJhbWV0ZXJzW2ldO1xuICAgICAgY29uc3Qgc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCByb3V0ZVBhcmFtZXRlci5zYW5pdGlzZSh0aGlzLCBpbmplY3Rvcik7XG4gICAgICBpZiAocm91dGVQYXJhbWV0ZXIuaGFzQ2hhbmdlZChzYW5pdGlzZWRWYWx1ZSkpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2Uocm91dGVQYXJhbWV0ZXIuZGVmaW5pdGlvbiwgc2FuaXRpc2VkVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJTbmFwc2hvdCB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uLCBwYXJhbXM6IFBhcmFtTWFwLCB1cmxTZWdtZW50czogVXJsU2VnbWVudFtdKTogUGFyYW1ldGVyU25hcHNob3Qge1xuICAgIGNvbnN0IHBhcmFtTWFwID0gbmV3IENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcChwYXJhbXMsIHVybFNlZ21lbnRzKTtcbiAgICBjb25zdCByZXNvbHZlZFBhcmFtZXRlcnMgPSBwbGFjZURlZi5nZXRSb3V0ZVBhcmFtZXRlcnMoKS5tYXAoZGVmID0+IFJvdXRlUGFyYW1ldGVyVmFsdWUuY3JlYXRlKGRlZiwgcGFyYW1NYXApKTtcbiAgICByZXR1cm4gbmV3IFBhcmFtZXRlclNuYXBzaG90KHBsYWNlRGVmLCByZXNvbHZlZFBhcmFtZXRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgYSB3b3JrIGFyb3VuZCBmb3IgdGhlIGZhY3QgdGhhdCBhbiBhY3RpdmF0ZWQgcm91dGUgd2l0aCBtdWx0aXBsZSBzZWdtZW50cyBkb2Vzbid0XG4gICAqIGluY2x1ZGUgdGhlIHNlZ21lbnQgcGFyYW1zIGluIHRoZSBwYXJhbU1hcCBhcyB3ZWxsIGFzIGVhY2ggc2VnbWVudCByZXR1cm5zIGFuIGVtcHR5XG4gICAqIHBhcmFtIG1hcCBldmVuIHdoZW4gYHBhcmFtZXRlcmBzIGhhcyBjb250ZW50LlxuICAgKi9cbiAgY2xhc3MgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwIGltcGxlbWVudHMgUGFyYW1NYXAge1xuXG4gICAgcHJpdmF0ZSBwYXJhbU1hcHM6IFBhcmFtTWFwW107XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJhbU1hcDogUGFyYW1NYXAsIHVybFNlZ21lbnRzOiBVcmxTZWdtZW50W10pIHtcbiAgICAgIHRoaXMucGFyYW1NYXBzID0gW3BhcmFtTWFwXS5jb25jYXQoXG4gICAgICAgICh1cmxTZWdtZW50cyB8fCBbXSkubWFwKHMgPT4gbmV3IFBhcmFtTWFwQWRhcHRlcihzLnBhcmFtZXRlcnMpKVxuICAgICAgKS5maWx0ZXIobSA9PiAhIW0pOyAvLyB0aGUgYWN0aXZhdGVkIHJvdXRlIHBhcmFtIG1hcCBjYW4gYmUgbnVsbFxuICAgIH1cblxuICAgIGdldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtTWFwcy5maW5kKG0gPT4gbS5oYXMobmFtZSkpLmdldChuYW1lKTtcbiAgICB9XG5cbiAgICBnZXRBbGwobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSkuZ2V0QWxsKG5hbWUpO1xuICAgIH1cblxuICAgIGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhIXRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtTWFwcy5yZWR1Y2UoKHJlc3VsdCwgcGFyYW1zKSA9PiByZXN1bHQuY29uY2F0KHBhcmFtcy5rZXlzKSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIGNsYXNzIFBhcmFtTWFwQWRhcHRlciBpbXBsZW1lbnRzIFBhcmFtTWFwIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhcmFtczogeyBbcDogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICB9XG5cbiAgICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJhbXNbbmFtZV07XG4gICAgfVxuXG4gICAgZ2V0QWxsKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQobmFtZSk7XG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgfVxuXG4gICAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMua2V5cy5pbmNsdWRlcyhuYW1lKTtcbiAgICB9XG5cbiAgICBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wYXJhbXMpO1xuICAgIH1cblxuICB9XG5cblxufVxuIl19
@@ -3,7 +3,6 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  import * as tslib_1 from "tslib";
6
- import { Trace } from '@coolon/pectin';
7
6
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
8
7
  import { ParameterDefinition } from './parameter-definition.class';
9
8
  import { RouteParameterValue } from './route-parameter-value';
@@ -306,12 +305,6 @@ var ParameterSnapshot = /** @class */ (function () {
306
305
  tslib_1.__metadata("design:paramtypes", []),
307
306
  tslib_1.__metadata("design:returntype", Array)
308
307
  ], ParameterSnapshot.prototype, "getRouteParameters", null);
309
- tslib_1.__decorate([
310
- Trace(),
311
- tslib_1.__metadata("design:type", Function),
312
- tslib_1.__metadata("design:paramtypes", []),
313
- tslib_1.__metadata("design:returntype", void 0)
314
- ], ParameterSnapshot.prototype, "getFormattedParameters", null);
315
308
  return ParameterSnapshot;
316
309
  }());
317
310
  export { ParameterSnapshot };
@@ -493,4 +486,4 @@ if (false) {
493
486
  ParamMapAdapter.prototype.params;
494
487
  }
495
488
  })(ParameterSnapshot || (ParameterSnapshot = {}));
496
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQ7SUFFRSwyQkFBcUIsZUFBZ0MsRUFBbUIsVUFBZ0Q7UUFBbkcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQXNDO0lBQ3hILENBQUM7Ozs7OztJQUVELHNDQUFVOzs7OztJQUFWLFVBQVcsS0FBd0IsRUFBRSxLQUFhO1FBQWIsc0JBQUEsRUFBQSxhQUFhOztZQUMxQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJOzs7O1FBQUMsVUFBQyxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUMsRUFBQztRQUNGLElBQUksT0FBTyxJQUFJLEtBQUssRUFBRTtZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUNWLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQzdCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDbkIsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQzthQUM3QyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sQ0FBQyxDQUFD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QUFyQkQsSUFxQkM7Ozs7OztRQXBCYSxpQ0FBZ0Q7O0FBdUJoRSxDQUFDLEVBakVnQixpQkFBaUIsS0FBakIsaUJBQWlCLFFBaUVqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbU1hcCwgVXJsU2VnbWVudCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3IvZGlzdC9zcmMnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVyVmFsdWUgfSBmcm9tICcuL3JvdXRlLXBhcmFtZXRlci12YWx1ZSc7XG5cbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJTbmFwc2hvdCBpbXBsZW1lbnRzIFZpc2l0IHtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbiwgcHJpdmF0ZSByZWFkb25seSBwYXJhbWV0ZXJzOiBSb3V0ZVBhcmFtZXRlclZhbHVlPGFueSwgYW55LCBhbnk+W10pIHtcbiAgfVxuXG4gIGhhc0NoYW5nZWQob3RoZXI6IFBhcmFtZXRlclNuYXBzaG90LCBkZWJ1ZyA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hhbmdlZCA9IHRoaXMucGFyYW1ldGVycy5maW5kKChyKSA9PiB7XG4gICAgICByZXR1cm4gci5oYXNDaGFuZ2VkKG90aGVyLmdldFZhbHVlT2Yoci5kZWZpbml0aW9uKSk7XG4gICAgfSk7XG4gICAgaWYgKGNoYW5nZWQgJiYgZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKHtcbiAgICAgICAgbmFtZTogY2hhbmdlZC5kZWZpbml0aW9uLm5hbWUsXG4gICAgICAgIG1pbmU6IGNoYW5nZWQudmFsdWUsXG4gICAgICAgIHRoZWlyczogb3RoZXIuZ2V0VmFsdWVPZihjaGFuZ2VkLmRlZmluaXRpb24pXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuICEhY2hhbmdlZDtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0UGFyYW1ldGVyPFQsIFM+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPik6IFJvdXRlUGFyYW1ldGVyVmFsdWU8UywgVCwgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycy5maW5kKHIgPT4gci5kZWZpbml0aW9uID09PSBwYXJhbWV0ZXJEZWYpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRWYWx1ZU9mPFQsIFM+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPik6IFMge1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVyID0gdGhpcy5nZXRQYXJhbWV0ZXIocGFyYW1ldGVyRGVmKTtcbiAgICByZXR1cm4gcmVzb2x2ZWRQYXJhbWV0ZXIgPyByZXNvbHZlZFBhcmFtZXRlci52YWx1ZSA6IG51bGw7XG4gIH1cblxuICBnZXRSb3V0ZUlkVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCkgPyB0aGlzLmdldFJvdXRlSWRQYXJhbWV0ZXIoKS52YWx1ZSA6IG51bGw7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldFBhcmFtZXRlclZhbHVlKG5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgcmVzb2x2ZWRQYXJhbWV0ZXIgPSB0aGlzLnBhcmFtZXRlcnMuZmluZChyID0+IHIuZGVmaW5pdGlvbi5uYW1lID09PSBuYW1lKTtcbiAgICByZXR1cm4gcmVzb2x2ZWRQYXJhbWV0ZXIgPyByZXNvbHZlZFBhcmFtZXRlci52YWx1ZSA6IG51bGw7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIHByaXZhdGUgZ2V0Um91dGVJZFBhcmFtZXRlcigpOiBSb3V0ZVBhcmFtZXRlclZhbHVlLlNjYWxhcjxhbnk+IHtcbiAgICAvLyBSb3V0ZUlkJ3MgYXJlIG5ldmVyIGFycmF5czogc2VlIHBhcmFtZXRlci1kZWNvcmF0b3JzLnRzIGNyZWF0ZURlZmluaXRpb24gbWV0aG9kcy4gSXQgd291bGQgYmUgbmljZSB0b1xuICAgIC8vIGNhcHR1cmUgdGhpcyBpbiB0aGUgdHlwZSBzeXN0ZW0gdGhvdWdoXG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycy5maW5kKHAgPT4gcC5kZWZpbml0aW9uLmlzUm91dGVJZCkgYXMgUm91dGVQYXJhbWV0ZXJWYWx1ZS5TY2FsYXI8YW55PjtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgcHJpdmF0ZSBnZXRSb3V0ZVBhcmFtZXRlcnMoKTogUm91dGVQYXJhbWV0ZXJWYWx1ZTxhbnksIGFueSwgYW55PltdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmZpbHRlcihyID0+ICFyLmRlZmluaXRpb24uaXNSb3V0ZUlkKTtcbiAgfVxuXG4gIGhhc1JvdXRlSWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRSb3V0ZUlkKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gICAgcmV0dXJuIHJvdXRlSWRQYXJhbSA/IHJvdXRlSWRQYXJhbS5mb3JtYXR0ZWRWYWx1ZSgpIDogbnVsbDtcbiAgfVxuXG4gIGdldE5vbkVtcHR5UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmZpbHRlcihwID0+ICFwLmlzRW1wdHkoKSk7XG4gIH1cblxuICBAVHJhY2UoKVxuICBnZXRGb3JtYXR0ZWRQYXJhbWV0ZXJzKCkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIGNvbnN0IHJvdXRlSWRQYXJhbSA9IHRoaXMuZ2V0Tm9uRW1wdHlQYXJhbWV0ZXJzKClcbiAgICAgIC5maWx0ZXIocCA9PiAhcC5kZWZpbml0aW9uLmlzUm91dGVJZClcbiAgICAgIC5mb3JFYWNoKHAgPT4gcGFyYW1zW3AuZGVmaW5pdGlvbi5uYW1lXSA9IHAuZm9ybWF0dGVkVmFsdWUoKSk7XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIGdldEFsbFBhcmFtZXRlcnMoKSB7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5wYXJhbWV0ZXJzLmZvckVhY2gocCA9PiB7XG4gICAgICBwYXJhbXNbcC5kZWZpbml0aW9uLm5hbWVdID0gcC52YWx1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgcmVwbGFjZTxULCBTPihwYXJhbWV0ZXI6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4sIHZhbHVlOiBTKTogUGFyYW1ldGVyU25hcHNob3Qge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU25hcHNob3QodGhpcy5wbGFjZURlZmluaXRpb24sIHRoaXMucGFyYW1ldGVycy5tYXAocCA9PiB7XG4gICAgICByZXR1cm4gcC5kZWZpbml0aW9uID09PSBwYXJhbWV0ZXIgPyBwLnJlcGxhY2UodmFsdWUpIDogcDtcbiAgICB9KSk7XG4gIH1cblxuICBhc3luYyBzYW5pdGlzZShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPFBhcmFtZXRlclNuYXBzaG90PiB7XG4gICAgaWYgKHRoaXMuaGFzUm91dGVJZCgpKSB7XG4gICAgICBjb25zdCByb3V0ZUlkID0gdGhpcy5nZXRSb3V0ZUlkUGFyYW1ldGVyKCk7XG4gICAgICBjb25zdCBzYW5pdGlzZWRWYWx1ZSA9IGF3YWl0IHJvdXRlSWQuc2FuaXRpc2UodGhpcywgaW5qZWN0b3IpO1xuICAgICAgaWYgKHJvdXRlSWQuaGFzQ2hhbmdlZChzYW5pdGlzZWRWYWx1ZSkpIHtcbiAgICAgICAgLy8gaWYgdGhlIHJvdXRlIGlkIGhhcyBjaGFuZ2VkIHdlIHJlZGlyZWN0IGltbWVkaWF0ZWx5IGFzIG90aGVyXG4gICAgICAgIC8vIHBhcmFtZXRlciBzYW5pdGlzZXJzIG1pZ2h0IHVzZSBpdC5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVwbGFjZShyb3V0ZUlkLmRlZmluaXRpb24sIHNhbml0aXNlZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHJlc3VsdDogUGFyYW1ldGVyU25hcHNob3QgPSB0aGlzO1xuICAgIGNvbnN0IHJvdXRlUGFyYW1ldGVycyA9IHRoaXMuZ2V0Um91dGVQYXJhbWV0ZXJzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3V0ZVBhcmFtZXRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHJvdXRlUGFyYW1ldGVyID0gcm91dGVQYXJhbWV0ZXJzW2ldO1xuICAgICAgY29uc3Qgc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCByb3V0ZVBhcmFtZXRlci5zYW5pdGlzZSh0aGlzLCBpbmplY3Rvcik7XG4gICAgICBpZiAocm91dGVQYXJhbWV0ZXIuaGFzQ2hhbmdlZChzYW5pdGlzZWRWYWx1ZSkpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2Uocm91dGVQYXJhbWV0ZXIuZGVmaW5pdGlvbiwgc2FuaXRpc2VkVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJTbmFwc2hvdCB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uLCBwYXJhbXM6IFBhcmFtTWFwLCB1cmxTZWdtZW50czogVXJsU2VnbWVudFtdKTogUGFyYW1ldGVyU25hcHNob3Qge1xuICAgIGNvbnN0IHBhcmFtTWFwID0gbmV3IENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcChwYXJhbXMsIHVybFNlZ21lbnRzKTtcbiAgICBjb25zdCByZXNvbHZlZFBhcmFtZXRlcnMgPSBwbGFjZURlZi5nZXRSb3V0ZVBhcmFtZXRlcnMoKS5tYXAoZGVmID0+IFJvdXRlUGFyYW1ldGVyVmFsdWUuY3JlYXRlKGRlZiwgcGFyYW1NYXApKTtcbiAgICByZXR1cm4gbmV3IFBhcmFtZXRlclNuYXBzaG90KHBsYWNlRGVmLCByZXNvbHZlZFBhcmFtZXRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgYSB3b3JrIGFyb3VuZCBmb3IgdGhlIGZhY3QgdGhhdCBhbiBhY3RpdmF0ZWQgcm91dGUgd2l0aCBtdWx0aXBsZSBzZWdtZW50cyBkb2Vzbid0XG4gICAqIGluY2x1ZGUgdGhlIHNlZ21lbnQgcGFyYW1zIGluIHRoZSBwYXJhbU1hcCBhcyB3ZWxsIGFzIGVhY2ggc2VnbWVudCByZXR1cm5zIGFuIGVtcHR5XG4gICAqIHBhcmFtIG1hcCBldmVuIHdoZW4gYHBhcmFtZXRlcmBzIGhhcyBjb250ZW50LlxuICAgKi9cbiAgY2xhc3MgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwIGltcGxlbWVudHMgUGFyYW1NYXAge1xuXG4gICAgcHJpdmF0ZSBwYXJhbU1hcHM6IFBhcmFtTWFwW107XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJhbU1hcDogUGFyYW1NYXAsIHVybFNlZ21lbnRzOiBVcmxTZWdtZW50W10pIHtcbiAgICAgIHRoaXMucGFyYW1NYXBzID0gW3BhcmFtTWFwXS5jb25jYXQoXG4gICAgICAgICh1cmxTZWdtZW50cyB8fCBbXSkubWFwKHMgPT4gbmV3IFBhcmFtTWFwQWRhcHRlcihzLnBhcmFtZXRlcnMpKVxuICAgICAgKS5maWx0ZXIobSA9PiAhIW0pOyAvLyB0aGUgYWN0aXZhdGVkIHJvdXRlIHBhcmFtIG1hcCBjYW4gYmUgbnVsbFxuICAgIH1cblxuICAgIGdldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtTWFwcy5maW5kKG0gPT4gbS5oYXMobmFtZSkpLmdldChuYW1lKTtcbiAgICB9XG5cbiAgICBnZXRBbGwobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSkuZ2V0QWxsKG5hbWUpO1xuICAgIH1cblxuICAgIGhhcyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhIXRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtTWFwcy5yZWR1Y2UoKHJlc3VsdCwgcGFyYW1zKSA9PiByZXN1bHQuY29uY2F0KHBhcmFtcy5rZXlzKSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIGNsYXNzIFBhcmFtTWFwQWRhcHRlciBpbXBsZW1lbnRzIFBhcmFtTWFwIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhcmFtczogeyBbcDogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICB9XG5cbiAgICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJhbXNbbmFtZV07XG4gICAgfVxuXG4gICAgZ2V0QWxsKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQobmFtZSk7XG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgfVxuXG4gICAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMua2V5cy5pbmNsdWRlcyhuYW1lKTtcbiAgICB9XG5cbiAgICBnZXQga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wYXJhbXMpO1xuICAgIH1cblxuICB9XG5cblxufVxuIl19
489
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUczRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RDtJQUVFLDJCQUFxQixlQUFnQyxFQUFtQixVQUFnRDtRQUFuRyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBbUIsZUFBVSxHQUFWLFVBQVUsQ0FBc0M7SUFDeEgsQ0FBQzs7Ozs7O0lBRUQsc0NBQVU7Ozs7O0lBQVYsVUFBVyxLQUF3QixFQUFFLEtBQWE7UUFBYixzQkFBQSxFQUFBLGFBQWE7O1lBQzFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7Ozs7UUFBQyxVQUFDLENBQUM7WUFDckMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxFQUFDO1FBQ0YsSUFBSSxPQUFPLElBQUksS0FBSyxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDN0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNuQixNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2FBQzdDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ25CLENBQUM7Ozs7OztJQUdELHdDQUFZOzs7OztJ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RWpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcmFtTWFwLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvci9kaXN0L3NyYyc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgUm91dGVQYXJhbWV0ZXJWYWx1ZSB9IGZyb20gJy4vcm91dGUtcGFyYW1ldGVyLXZhbHVlJztcblxuZXhwb3J0IGNsYXNzIFBhcmFtZXRlclNuYXBzaG90IGltcGxlbWVudHMgVmlzaXQge1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uLCBwcml2YXRlIHJlYWRvbmx5IHBhcmFtZXRlcnM6IFJvdXRlUGFyYW1ldGVyVmFsdWU8YW55LCBhbnksIGFueT5bXSkge1xuICB9XG5cbiAgaGFzQ2hhbmdlZChvdGhlcjogUGFyYW1ldGVyU25hcHNob3QsIGRlYnVnID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdGhpcy5wYXJhbWV0ZXJzLmZpbmQoKHIpID0+IHtcbiAgICAgIHJldHVybiByLmhhc0NoYW5nZWQob3RoZXIuZ2V0VmFsdWVPZihyLmRlZmluaXRpb24pKTtcbiAgICB9KTtcbiAgICBpZiAoY2hhbmdlZCAmJiBkZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coe1xuICAgICAgICBuYW1lOiBjaGFuZ2VkLmRlZmluaXRpb24ubmFtZSxcbiAgICAgICAgbWluZTogY2hhbmdlZC52YWx1ZSxcbiAgICAgICAgdGhlaXJzOiBvdGhlci5nZXRWYWx1ZU9mKGNoYW5nZWQuZGVmaW5pdGlvbilcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gISFjaGFuZ2VkO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRQYXJhbWV0ZXI8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KTogUm91dGVQYXJhbWV0ZXJWYWx1ZTxTLCBULCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmZpbmQociA9PiByLmRlZmluaXRpb24gPT09IHBhcmFtZXRlckRlZik7XG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIGdldFZhbHVlT2Y8VCwgUz4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+KTogUyB7XG4gICAgY29uc3QgcmVzb2x2ZWRQYXJhbWV0ZXIgPSB0aGlzLmdldFBhcmFtZXRlcihwYXJhbWV0ZXJEZWYpO1xuICAgIHJldHVybiByZXNvbHZlZFBhcmFtZXRlciA/IHJlc29sdmVkUGFyYW1ldGVyLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIGdldFJvdXRlSWRWYWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmdldFJvdXRlSWRQYXJhbWV0ZXIoKSA/IHRoaXMuZ2V0Um91dGVJZFBhcmFtZXRlcigpLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0UGFyYW1ldGVyVmFsdWUobmFtZTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCByZXNvbHZlZFBhcmFtZXRlciA9IHRoaXMucGFyYW1ldGVycy5maW5kKHIgPT4gci5kZWZpbml0aW9uLm5hbWUgPT09IG5hbWUpO1xuICAgIHJldHVybiByZXNvbHZlZFBhcmFtZXRlciA/IHJlc29sdmVkUGFyYW1ldGVyLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgcHJpdmF0ZSBnZXRSb3V0ZUlkUGFyYW1ldGVyKCk6IFJvdXRlUGFyYW1ldGVyVmFsdWUuU2NhbGFyPGFueT4ge1xuICAgIC8vIFJvdXRlSWQncyBhcmUgbmV2ZXIgYXJyYXlzOiBzZWUgcGFyYW1ldGVyLWRlY29yYXRvcnMudHMgY3JlYXRlRGVmaW5pdGlvbiBtZXRob2RzLiBJdCB3b3VsZCBiZSBuaWNlIHRvXG4gICAgLy8gY2FwdHVyZSB0aGlzIGluIHRoZSB0eXBlIHN5c3RlbSB0aG91Z2hcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmZpbmQocCA9PiBwLmRlZmluaXRpb24uaXNSb3V0ZUlkKSBhcyBSb3V0ZVBhcmFtZXRlclZhbHVlLlNjYWxhcjxhbnk+O1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBwcml2YXRlIGdldFJvdXRlUGFyYW1ldGVycygpOiBSb3V0ZVBhcmFtZXRlclZhbHVlPGFueSwgYW55LCBhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMuZmlsdGVyKHIgPT4gIXIuZGVmaW5pdGlvbi5pc1JvdXRlSWQpO1xuICB9XG5cbiAgaGFzUm91dGVJZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFJvdXRlSWRQYXJhbWV0ZXIoKTtcbiAgfVxuXG4gIGdldEZvcm1hdHRlZFJvdXRlSWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCByb3V0ZUlkUGFyYW0gPSB0aGlzLmdldFJvdXRlSWRQYXJhbWV0ZXIoKTtcbiAgICByZXR1cm4gcm91dGVJZFBhcmFtID8gcm91dGVJZFBhcmFtLmZvcm1hdHRlZFZhbHVlKCkgOiBudWxsO1xuICB9XG5cbiAgZ2V0Tm9uRW1wdHlQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMuZmlsdGVyKHAgPT4gIXAuaXNFbXB0eSgpKTtcbiAgfVxuXG4gIGdldEZvcm1hdHRlZFBhcmFtZXRlcnMoKSB7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3Qgcm91dGVJZFBhcmFtID0gdGhpcy5nZXROb25FbXB0eVBhcmFtZXRlcnMoKVxuICAgICAgLmZpbHRlcihwID0+ICFwLmRlZmluaXRpb24uaXNSb3V0ZUlkKVxuICAgICAgLmZvckVhY2gocCA9PiBwYXJhbXNbcC5kZWZpbml0aW9uLm5hbWVdID0gcC5mb3JtYXR0ZWRWYWx1ZSgpKTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgZ2V0QWxsUGFyYW1ldGVycygpIHtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBjb25zdCByb3V0ZUlkUGFyYW0gPSB0aGlzLnBhcmFtZXRlcnMuZm9yRWFjaChwID0+IHtcbiAgICAgIHBhcmFtc1twLmRlZmluaXRpb24ubmFtZV0gPSBwLnZhbHVlO1xuICAgIH0pO1xuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICByZXBsYWNlPFQsIFM+KHBhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiwgdmFsdWU6IFMpOiBQYXJhbWV0ZXJTbmFwc2hvdCB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTbmFwc2hvdCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgdGhpcy5wYXJhbWV0ZXJzLm1hcChwID0+IHtcbiAgICAgIHJldHVybiBwLmRlZmluaXRpb24gPT09IHBhcmFtZXRlciA/IHAucmVwbGFjZSh2YWx1ZSkgOiBwO1xuICAgIH0pKTtcbiAgfVxuXG4gIGFzeW5jIHNhbml0aXNlKGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8UGFyYW1ldGVyU25hcHNob3Q+IHtcbiAgICBpZiAodGhpcy5oYXNSb3V0ZUlkKCkpIHtcbiAgICAgIGNvbnN0IHJvdXRlSWQgPSB0aGlzLmdldFJvdXRlSWRQYXJhbWV0ZXIoKTtcbiAgICAgIGNvbnN0IHNhbml0aXNlZFZhbHVlID0gYXdhaXQgcm91dGVJZC5zYW5pdGlzZSh0aGlzLCBpbmplY3Rvcik7XG4gICAgICBpZiAocm91dGVJZC5oYXNDaGFuZ2VkKHNhbml0aXNlZFZhbHVlKSkge1xuICAgICAgICAvLyBpZiB0aGUgcm91dGUgaWQgaGFzIGNoYW5nZWQgd2UgcmVkaXJlY3QgaW1tZWRpYXRlbHkgYXMgb3RoZXJcbiAgICAgICAgLy8gcGFyYW1ldGVyIHNhbml0aXNlcnMgbWlnaHQgdXNlIGl0LlxuICAgICAgICByZXR1cm4gdGhpcy5yZXBsYWNlKHJvdXRlSWQuZGVmaW5pdGlvbiwgc2FuaXRpc2VkVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcmVzdWx0OiBQYXJhbWV0ZXJTbmFwc2hvdCA9IHRoaXM7XG4gICAgY29uc3Qgcm91dGVQYXJhbWV0ZXJzID0gdGhpcy5nZXRSb3V0ZVBhcmFtZXRlcnMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdXRlUGFyYW1ldGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgcm91dGVQYXJhbWV0ZXIgPSByb3V0ZVBhcmFtZXRlcnNbaV07XG4gICAgICBjb25zdCBzYW5pdGlzZWRWYWx1ZSA9IGF3YWl0IHJvdXRlUGFyYW1ldGVyLnNhbml0aXNlKHRoaXMsIGluamVjdG9yKTtcbiAgICAgIGlmIChyb3V0ZVBhcmFtZXRlci5oYXNDaGFuZ2VkKHNhbml0aXNlZFZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShyb3V0ZVBhcmFtZXRlci5kZWZpbml0aW9uLCBzYW5pdGlzZWRWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBhcmFtZXRlclNuYXBzaG90IHtcblxuICBleHBvcnQgZnVuY3Rpb24gY3JlYXRlKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24sIHBhcmFtczogUGFyYW1NYXAsIHVybFNlZ21lbnRzOiBVcmxTZWdtZW50W10pOiBQYXJhbWV0ZXJTbmFwc2hvdCB7XG4gICAgY29uc3QgcGFyYW1NYXAgPSBuZXcgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwKHBhcmFtcywgdXJsU2VnbWVudHMpO1xuICAgIGNvbnN0IHJlc29sdmVkUGFyYW1ldGVycyA9IHBsYWNlRGVmLmdldFJvdXRlUGFyYW1ldGVycygpLm1hcChkZWYgPT4gUm91dGVQYXJhbWV0ZXJWYWx1ZS5jcmVhdGUoZGVmLCBwYXJhbU1hcCkpO1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU25hcHNob3QocGxhY2VEZWYsIHJlc29sdmVkUGFyYW1ldGVycyk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBhIHdvcmsgYXJvdW5kIGZvciB0aGUgZmFjdCB0aGF0IGFuIGFjdGl2YXRlZCByb3V0ZSB3aXRoIG11bHRpcGxlIHNlZ21lbnRzIGRvZXNuJ3RcbiAgICogaW5jbHVkZSB0aGUgc2VnbWVudCBwYXJhbXMgaW4gdGhlIHBhcmFtTWFwIGFzIHdlbGwgYXMgZWFjaCBzZWdtZW50IHJldHVybnMgYW4gZW1wdHlcbiAgICogcGFyYW0gbWFwIGV2ZW4gd2hlbiBgcGFyYW1ldGVyYHMgaGFzIGNvbnRlbnQuXG4gICAqL1xuICBjbGFzcyBDb25zb2xpZGF0ZWRQYXJhbWV0ZXJNYXAgaW1wbGVtZW50cyBQYXJhbU1hcCB7XG5cbiAgICBwcml2YXRlIHBhcmFtTWFwczogUGFyYW1NYXBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHBhcmFtTWFwOiBQYXJhbU1hcCwgdXJsU2VnbWVudHM6IFVybFNlZ21lbnRbXSkge1xuICAgICAgdGhpcy5wYXJhbU1hcHMgPSBbcGFyYW1NYXBdLmNvbmNhdChcbiAgICAgICAgKHVybFNlZ21lbnRzIHx8IFtdKS5tYXAocyA9PiBuZXcgUGFyYW1NYXBBZGFwdGVyKHMucGFyYW1ldGVycykpXG4gICAgICApLmZpbHRlcihtID0+ICEhbSk7IC8vIHRoZSBhY3RpdmF0ZWQgcm91dGUgcGFyYW0gbWFwIGNhbiBiZSBudWxsXG4gICAgfVxuXG4gICAgZ2V0KG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1NYXBzLmZpbmQobSA9PiBtLmhhcyhuYW1lKSkuZ2V0KG5hbWUpO1xuICAgIH1cblxuICAgIGdldEFsbChuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJhbU1hcHMuZmluZChtID0+IG0uaGFzKG5hbWUpKS5nZXRBbGwobmFtZSk7XG4gICAgfVxuXG4gICAgaGFzKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuICEhdGhpcy5wYXJhbU1hcHMuZmluZChtID0+IG0uaGFzKG5hbWUpKTtcbiAgICB9XG5cbiAgICBATWVtb2l6ZSgpXG4gICAgZ2V0IGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1NYXBzLnJlZHVjZSgocmVzdWx0LCBwYXJhbXMpID0+IHJlc3VsdC5jb25jYXQocGFyYW1zLmtleXMpLCBbXSk7XG4gICAgfVxuICB9XG5cbiAgY2xhc3MgUGFyYW1NYXBBZGFwdGVyIGltcGxlbWVudHMgUGFyYW1NYXAge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiB7IFtwOiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIH1cblxuICAgIGdldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtc1tuYW1lXTtcbiAgICB9XG5cbiAgICBnZXRBbGwobmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldChuYW1lKTtcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgICB9XG5cbiAgICBoYXMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5rZXlzLmluY2x1ZGVzKG5hbWUpO1xuICAgIH1cblxuICAgIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnBhcmFtcyk7XG4gICAgfVxuXG4gIH1cblxuXG59XG4iXX0=
@@ -5,7 +5,7 @@ import { MatDialog, MatButtonModule, MatDialogModule, MatTabsModule, MatProgress
5
5
  import { MatTabsModule as MatTabsModule$1 } from '@angular/material/tabs';
6
6
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7
7
  import { __decorate, __metadata, __awaiter } from 'tslib';
8
- import { GarbageCollector, DelegatingFormValueModel, UseDelegate, ValueModel, ListModel, StoreInListModel, assert, UnaryCommand, lang, Dsl, Logger, EventListenerList, DelegatingValueModel, MutableListModel, StoreInValueModel, Binding, Trace, MutableValueModel, Guard, OptionsHelper, ValueHolder } from '@coolon/pectin';
8
+ import { GarbageCollector, DelegatingFormValueModel, UseDelegate, ValueModel, ListModel, StoreInListModel, assert, UnaryCommand, lang, Dsl, Logger, EventListenerList, DelegatingValueModel, MutableListModel, StoreInValueModel, Binding, MutableValueModel, Guard, OptionsHelper, ValueHolder } from '@coolon/pectin';
9
9
  import { PortalModule } from '@angular/cdk/portal';
10
10
  import { Deferred } from '@coolon/pectin/lib/promise/deferred.class';
11
11
  import { assert as assert$1, Klass, Opts } from '@coolon/typescript-utilities';
@@ -2561,12 +2561,6 @@ __decorate([
2561
2561
  __metadata("design:paramtypes", []),
2562
2562
  __metadata("design:returntype", Array)
2563
2563
  ], ParameterSnapshot.prototype, "getRouteParameters", null);
2564
- __decorate([
2565
- Trace(),
2566
- __metadata("design:type", Function),
2567
- __metadata("design:paramtypes", []),
2568
- __metadata("design:returntype", void 0)
2569
- ], ParameterSnapshot.prototype, "getFormattedParameters", null);
2570
2564
  if (false) {
2571
2565
  /** @type {?} */
2572
2566
  ParameterSnapshot.prototype.placeDefinition;