New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@briebug/ngrx-auto-entity

Package Overview
Dependencies
Maintainers
6
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@briebug/ngrx-auto-entity - npm Package Compare versions

Comparing version 0.6.0-alpha.1 to 0.6.0-alpha.2

5

esm2015/lib/decorators/key-decorator.js

@@ -15,3 +15,4 @@ /**

target[NAE_KEY_NAMES] = target[NAE_KEY_NAMES] ? [...target[NAE_KEY_NAMES], keyName] : [keyName];
Object.defineProperty(target, NAE_KEYS, { get: (/**
// tslint:disable-next-line:no-unused-expression
!target[NAE_KEYS] && Object.defineProperty(target, NAE_KEYS, { get: (/**
* @return {?}

@@ -21,2 +22,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BicmllYnVnL25ncngtYXV0by1lbnRpdHkvIiwic291cmNlcyI6WyJsaWIvZGVjb3JhdG9ycy9rZXktZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQVExRCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUF3QjtJQUNsRCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUc7OztRQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQSxFQUFFLENBQUMsQ0FBQztBQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTkFFX0tFWV9OQU1FUywgTkFFX0tFWVMgfSBmcm9tICcuL2VudGl0eS10b2tlbnMnO1xuXG4vKipcbiAqIFVzZWQgdG8gZGVzaWduYXRlIHRoZSBrZXkgcHJvcGVydHkgZm9yIHRoZSBlbnRpdHlcbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSBlbnRpdHkncyBjbGFzc1xuICogQHBhcmFtIGtleU5hbWUgdGhlIGtleSdzIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEtleSh0YXJnZXQsIGtleU5hbWU6IHN0cmluZyB8IHN5bWJvbCk6IHZvaWQge1xuICB0YXJnZXRbTkFFX0tFWV9OQU1FU10gPSB0YXJnZXRbTkFFX0tFWV9OQU1FU10gPyBbLi4udGFyZ2V0W05BRV9LRVlfTkFNRVNdLCBrZXlOYW1lXSA6IFtrZXlOYW1lXTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTkFFX0tFWVMsIHsgZ2V0OiAoKSA9PiB0YXJnZXRbTkFFX0tFWV9OQU1FU10gfSk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BicmllYnVnL25ncngtYXV0by1lbnRpdHkvIiwic291cmNlcyI6WyJsaWIvZGVjb3JhdG9ycy9rZXktZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQVExRCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUF3QjtJQUNsRCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hHLGdEQUFnRDtJQUNoRCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHOzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUEsRUFBRSxDQUFDLENBQUM7QUFDckcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5BRV9LRVlfTkFNRVMsIE5BRV9LRVlTIH0gZnJvbSAnLi9lbnRpdHktdG9rZW5zJztcblxuLyoqXG4gKiBVc2VkIHRvIGRlc2lnbmF0ZSB0aGUga2V5IHByb3BlcnR5IGZvciB0aGUgZW50aXR5XG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgZW50aXR5J3MgY2xhc3NcbiAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXkncyBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBLZXkodGFyZ2V0LCBrZXlOYW1lOiBzdHJpbmcgfCBzeW1ib2wpOiB2b2lkIHtcbiAgdGFyZ2V0W05BRV9LRVlfTkFNRVNdID0gdGFyZ2V0W05BRV9LRVlfTkFNRVNdID8gWy4uLnRhcmdldFtOQUVfS0VZX05BTUVTXSwga2V5TmFtZV0gOiBba2V5TmFtZV07XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAhdGFyZ2V0W05BRV9LRVlTXSAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBOQUVfS0VZUywgeyBnZXQ6ICgpID0+IHRhcmdldFtOQUVfS0VZX05BTUVTXSB9KTtcbn1cbiJdfQ==

6

esm2015/lib/util/entity-state.js

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

/** @type {?|undefined} */
IEntityState.prototype.updatedAt;
/** @type {?|undefined} */
IEntityState.prototype.replacedAt;
/** @type {?|undefined} */
IEntityState.prototype.deletedAt;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL2VudGl0eS1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBT0EsdUNBRUM7Ozs7Ozs7QUFNRCxrQ0FpQkM7OztJQWhCQyxnQ0FBb0M7O0lBQ3BDLDJCQUFzQjs7SUFDdEIsd0NBQWtDOztJQUNsQywyQ0FBdUM7O0lBQ3ZDLG9DQUErQjs7SUFDL0IsK0JBQWtCOztJQUNsQixtQ0FBbUI7O0lBQ25CLG9DQUFxQjs7SUFDckIsMENBQTRCOztJQUM1QixpQ0FBb0I7O0lBQ3BCLGdDQUFtQjs7SUFDbkIsa0NBQXFCOztJQUNyQixnQ0FBa0I7O0lBQ2xCLCtCQUFpQjs7SUFDakIsaUNBQW1COztJQUNuQixpQ0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlLCBSYW5nZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBFbnRpdHlJZGVudGl0eSB9IGZyb20gJy4uL3R5cGVzL2VudGl0eS1pZGVudGl0eSc7XG5cbi8qKlxuICogU3RydWN0dXJlIGZvciBob3cgZW50aXRpZXMgYXJlIHN0b3JlZCB3aXRoaW4gdGhlIGBlbnRpdGllc2Agc3RhdGUgcHJvcGVydHk6XG4gKiBhIHNpbmdsZSBvYmplY3Qgd2l0aCB0aGUga2V5IGJlaW5nIGVhY2ggZW50aXR5J3MgQEtleSB2YWx1ZSBhbmQgdGhlIHZhbHVlIGJlaW5nIHRoZSBlbnRpdHkgaXRzZWxmXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPiB7XG4gIFtrZXk6IHN0cmluZ106IFRNb2RlbDtcbn1cblxuLyoqXG4gKiBTdHJ1Y3R1cmUgZm9yIGhvdyBlbnRpdGllcyBhcmUgc3RvcmVkLCBpbmNsdWRpbmcgdXNlZnVsIGNvbXB1dGVkIHByb3BlcnRpZXNcbiAqIHN1Y2ggYXMgYW4gYXJyYXkgb2YgdGhlaXIga2V5cywgc3RhdHVzIGZsYWdzLCB0aW1lc3RhbXBzLCBldGMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eVN0YXRlPFRNb2RlbD4ge1xuICBlbnRpdGllczogSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPjtcbiAgaWRzOiBFbnRpdHlJZGVudGl0eVtdO1xuICBjdXJyZW50RW50aXR5S2V5PzogRW50aXR5SWRlbnRpdHk7XG4gIGN1cnJlbnRFbnRpdGllc0tleXM/OiBFbnRpdHlJZGVudGl0eVtdO1xuICBlZGl0ZWRFbnRpdHk/OiBQYXJ0aWFsPFRNb2RlbD47XG4gIGlzRGlydHk/OiBib29sZWFuO1xuICBjdXJyZW50UGFnZT86IFBhZ2U7XG4gIGN1cnJlbnRSYW5nZT86IFJhbmdlO1xuICB0b3RhbFBhZ2VhYmxlQ291bnQ/OiBudW1iZXI7XG4gIGlzTG9hZGluZz86IGJvb2xlYW47XG4gIGlzU2F2aW5nPzogYm9vbGVhbjtcbiAgaXNEZWxldGluZz86IGJvb2xlYW47XG4gIGxvYWRlZEF0PzogbnVtYmVyO1xuICBzYXZlZEF0PzogbnVtYmVyO1xuICBjcmVhdGVkQXQ/OiBudW1iZXI7XG4gIGRlbGV0ZWRBdD86IG51bWJlcjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL2VudGl0eS1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBT0EsdUNBRUM7Ozs7Ozs7QUFNRCxrQ0FtQkM7OztJQWxCQyxnQ0FBb0M7O0lBQ3BDLDJCQUFzQjs7SUFDdEIsd0NBQWtDOztJQUNsQywyQ0FBdUM7O0lBQ3ZDLG9DQUErQjs7SUFDL0IsK0JBQWtCOztJQUNsQixtQ0FBbUI7O0lBQ25CLG9DQUFxQjs7SUFDckIsMENBQTRCOztJQUM1QixpQ0FBb0I7O0lBQ3BCLGdDQUFtQjs7SUFDbkIsa0NBQXFCOztJQUNyQixnQ0FBa0I7O0lBQ2xCLCtCQUFpQjs7SUFDakIsaUNBQW1COztJQUNuQixpQ0FBbUI7O0lBQ25CLGtDQUFvQjs7SUFDcEIsaUNBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZSwgUmFuZ2UgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRW50aXR5SWRlbnRpdHkgfSBmcm9tICcuLi90eXBlcy9lbnRpdHktaWRlbnRpdHknO1xuXG4vKipcbiAqIFN0cnVjdHVyZSBmb3IgaG93IGVudGl0aWVzIGFyZSBzdG9yZWQgd2l0aGluIHRoZSBgZW50aXRpZXNgIHN0YXRlIHByb3BlcnR5OlxuICogYSBzaW5nbGUgb2JqZWN0IHdpdGggdGhlIGtleSBiZWluZyBlYWNoIGVudGl0eSdzIEBLZXkgdmFsdWUgYW5kIHRoZSB2YWx1ZSBiZWluZyB0aGUgZW50aXR5IGl0c2VsZlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4ge1xuICBba2V5OiBzdHJpbmddOiBUTW9kZWw7XG59XG5cbi8qKlxuICogU3RydWN0dXJlIGZvciBob3cgZW50aXRpZXMgYXJlIHN0b3JlZCwgaW5jbHVkaW5nIHVzZWZ1bCBjb21wdXRlZCBwcm9wZXJ0aWVzXG4gKiBzdWNoIGFzIGFuIGFycmF5IG9mIHRoZWlyIGtleXMsIHN0YXR1cyBmbGFncywgdGltZXN0YW1wcywgZXRjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlTdGF0ZTxUTW9kZWw+IHtcbiAgZW50aXRpZXM6IElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD47XG4gIGlkczogRW50aXR5SWRlbnRpdHlbXTtcbiAgY3VycmVudEVudGl0eUtleT86IEVudGl0eUlkZW50aXR5O1xuICBjdXJyZW50RW50aXRpZXNLZXlzPzogRW50aXR5SWRlbnRpdHlbXTtcbiAgZWRpdGVkRW50aXR5PzogUGFydGlhbDxUTW9kZWw+O1xuICBpc0RpcnR5PzogYm9vbGVhbjtcbiAgY3VycmVudFBhZ2U/OiBQYWdlO1xuICBjdXJyZW50UmFuZ2U/OiBSYW5nZTtcbiAgdG90YWxQYWdlYWJsZUNvdW50PzogbnVtYmVyO1xuICBpc0xvYWRpbmc/OiBib29sZWFuO1xuICBpc1NhdmluZz86IGJvb2xlYW47XG4gIGlzRGVsZXRpbmc/OiBib29sZWFuO1xuICBsb2FkZWRBdD86IG51bWJlcjtcbiAgc2F2ZWRBdD86IG51bWJlcjtcbiAgY3JlYXRlZEF0PzogbnVtYmVyO1xuICB1cGRhdGVkQXQ/OiBudW1iZXI7XG4gIHJlcGxhY2VkQXQ/OiBudW1iZXI7XG4gIGRlbGV0ZWRBdD86IG51bWJlcjtcbn1cbiJdfQ==

@@ -45,2 +45,5 @@ /**

this.total$ = this.store.select(selectors.selectTotal);
this.hasEntities$ = this.store.select(selectors.selectHasEntities);
this.hasNoEntities$ = this.store.select(selectors.selectHasNoEntities);
this.total$ = this.store.select(selectors.selectTotal);
this.current$ = this.store.select(selectors.selectCurrentEntity);

@@ -61,2 +64,4 @@ this.currentKey$ = this.store.select(selectors.selectCurrentEntityKey);

this.createdAt$ = this.store.select(selectors.selectCreatedAt);
this.updatedAt$ = this.store.select(selectors.selectUpdatedAt);
this.replacedAt$ = this.store.select(selectors.selectReplacedAt);
this.deletedAt$ = this.store.select(selectors.selectDeletedAt);

@@ -513,2 +518,2 @@ }

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3V0aWwvZmFjYWRlLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hC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QixDQUFDOzs7Ozs7O1FBRUQsZ0JBQWdCLENBQUMsSUFBc0IsRUFBRSxRQUFjLEVBQUUsYUFBc0I7O2tCQUN2RSxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUM5QixDQUFDOzs7OztRQUVELEtBQUssQ0FBQyxhQUFzQjs7a0JBQ3BCLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQztZQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDOUIsQ0FBQztLQUVGO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENsZWFyIH0gZnJvbSAnLi4vYWN0aW9ucy9hY3Rpb25zJztcbmltcG9ydCB7IENyZWF0ZSwgQ3JlYXRlTWFueSB9IGZyb20gJy4uL2FjdGlvbnMvY3JlYXRlLWFjdGlvbnMnO1xuaW1wb3J0IHsgRGVsZXRlLCBEZWxldGVNYW55IH0gZnJvbSAnLi4vYWN0aW9ucy9kZWxldGUtYWN0aW9ucyc7XG5pbXBvcnQgeyBEZWxldGVCeUtleSwgRGVsZXRlTWFueUJ5S2V5cyB9IGZyb20gJy4uL2FjdGlvbnMvZGVsZXRlLWJ5LWtleS1hY3Rpb25zJztcbmltcG9ydCB7IERlc2VsZWN0LCBEZXNlbGVjdEFsbCwgRGVzZWxlY3RNYW55LCBEZXNlbGVjdE1hbnlCeUtleXMgfSBmcm9tICcuLi9hY3Rpb25zL2Rlc2VsZWN0aW9uLWFjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlLCBFZGl0LCBFZGl0QnlLZXksIEVkaXROZXcsIEVuZEVkaXQgfSBmcm9tICcuLi9hY3Rpb25zL2VkaXQtYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2FkLCBMb2FkSWZOZWNlc3NhcnkgfSBmcm9tICcuLi9hY3Rpb25zL2xvYWQtYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2FkQWxsLCBMb2FkQWxsSWZOZWNlc3NhcnkgfSBmcm9tICcuLi9hY3Rpb25zL2xvYWQtYWxsLWFjdGlvbnMnO1xuaW1wb3J0IHsgTG9hZE1hbnksIExvYWRNYW55SWZOZWNlc3NhcnkgfSBmcm9tICcuLi9hY3Rpb25zL2xvYWQtbWFueS1hY3Rpb25zJztcbmltcG9ydCB7IExvYWRQYWdlLCBMb2FkUGFnZUlmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLXBhZ2UtYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2FkUmFuZ2UsIExvYWRSYW5nZUlmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLXJhbmdlLWFjdGlvbnMnO1xuaW1wb3J0IHsgUmVwbGFjZSwgUmVwbGFjZU1hbnkgfSBmcm9tICcuLi9hY3Rpb25zL3JlcGxhY2UtYWN0aW9ucyc7XG5pbXBvcnQge1xuICBTZWxlY3QsXG4gIFNlbGVjdEJ5S2V5LFxuICBTZWxlY3RNYW55LFxuICBTZWxlY3RNYW55QnlLZXlzLFxuICBTZWxlY3RNb3JlLFxuICBTZWxlY3RNb3JlQnlLZXlzXG59IGZyb20gJy4uL2FjdGlvbnMvc2VsZWN0aW9uLWFjdGlvbnMnO1xuaW1wb3J0IHsgVXBkYXRlLCBVcGRhdGVNYW55IH0gZnJvbSAnLi4vYWN0aW9ucy91cGRhdGUtYWN0aW9ucyc7XG5pbXBvcnQgeyBVcHNlcnQsIFVwc2VydE1hbnkgfSBmcm9tICcuLi9hY3Rpb25zL3Vwc2VydC1hY3Rpb25zJztcbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEVudGl0eUlkZW50aXR5IH0gZnJvbSAnLi4vdHlwZXMvZW50aXR5LWlkZW50aXR5JztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5IH0gZnJvbSAnLi9lbnRpdHktc3RhdGUnO1xuaW1wb3J0IHsgSUVudGl0eUZhY2FkZSB9IGZyb20gJy4vZmFjYWRlJztcbmltcG9ydCB7IElTZWxlY3Rvck1hcCB9IGZyb20gJy4vc2VsZWN0b3ItbWFwJztcblxuLyoqXG4gKiBCdWlsZHMgYSBuZXcgZmFjYWRlIGNsYXNzIGZvciB0aGUgc3BlY2lmaWVkIGVudGl0eSBtb2RlbCBhbmQgcGFyZW50IHN0YXRlLlxuICogQHBhcmFtIHNlbGVjdG9ycyAtIHRoZSBzZWxlY3RvciBtYXAgZm9yIHRoZSBzcGVjaWZpZWQgZW50aXR5XG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEZhY2FkZSA9IDxUTW9kZWwsIFRQYXJlbnRTdGF0ZT4oc2VsZWN0b3JzOiBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+KSA9PiB7XG4gIGNvbnN0IEJhc2VGYWNhZGUgPSBjbGFzcyBGYWNhZGUgaW1wbGVtZW50cyBJRW50aXR5RmFjYWRlPFRNb2RlbD4ge1xuICAgIG1vZGVsVHlwZTogbmV3ICgpID0+IFRNb2RlbDtcbiAgICBzdG9yZTogU3RvcmU8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKG1vZGVsVHlwZTogbmV3ICgpID0+IFRNb2RlbCwgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICAgIHRoaXMubW9kZWxUeXBlID0gbW9kZWxUeXBlO1xuICAgICAgdGhpcy5zdG9yZSA9IHN0b3JlO1xuXG4gICAgICB0aGlzLmFsbCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0QWxsKTtcbiAgICAgIHRoaXMuc29ydGVkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RBbGxTb3J0ZWQpO1xuICAgICAgdGhpcy5lbnRpdGllcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0RW50aXRpZXMpO1xuICAgICAgdGhpcy5pZHMkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdElkcyk7XG4gICAgICB0aGlzLnRvdGFsJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RUb3RhbCk7XG4gICAgICB0aGlzLmN1cnJlbnQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1cnJlbnRFbnRpdHkpO1xuICAgICAgdGhpcy5jdXJyZW50S2V5JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50RW50aXR5S2V5KTtcbiAgICAgIHRoaXMuY3VycmVudFNldCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3VycmVudEVudGl0aWVzKTtcbiAgICAgIHRoaXMuY3VycmVudFNldEtleXMkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1cnJlbnRFbnRpdGllc0tleXMpO1xuICAgICAgdGhpcy5lZGl0ZWQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEVkaXRlZEVudGl0eSk7XG4gICAgICB0aGlzLmlzRGlydHkkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdElzRGlydHkpO1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3VycmVudFBhZ2UpO1xuICAgICAgdGhpcy5jdXJyZW50UmFuZ2UkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1cnJlbnRSYW5nZSk7XG4gICAgICB0aGlzLnRvdGFsUGFnZWFibGUkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdFRvdGFsUGFnZWFibGUpO1xuICAgICAgdGhpcy5pc0xvYWRpbmckID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdElzTG9hZGluZyk7XG4gICAgICB0aGlzLmlzU2F2aW5nJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJc1NhdmluZyk7XG4gICAgICB0aGlzLmlzRGVsZXRpbmckID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdElzRGVsZXRpbmcpO1xuICAgICAgdGhpcy5sb2FkZWRBdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0TG9hZGVkQXQpO1xuICAgICAgdGhpcy5zYXZlZEF0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RTYXZlZEF0KTtcbiAgICAgIHRoaXMuY3JlYXRlZEF0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDcmVhdGVkQXQpO1xuICAgICAgdGhpcy5kZWxldGVkQXQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdERlbGV0ZWRBdCk7XG4gICAgfVxuXG4gICAgLy8gcmVnaW9uIFNlbGVjdGlvbnNcbiAgICBhbGwkOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcbiAgICBzb3J0ZWQkOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcbiAgICBlbnRpdGllcyQ6IE9ic2VydmFibGU8SUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPj47XG4gICAgaWRzJDogT2JzZXJ2YWJsZTxFbnRpdHlJZGVudGl0eVtdPjtcbiAgICB0b3RhbCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBjdXJyZW50JDogT2JzZXJ2YWJsZTxUTW9kZWw+O1xuICAgIGN1cnJlbnRLZXkkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5PjtcbiAgICBjdXJyZW50U2V0JDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gICAgY3VycmVudFNldEtleXMkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5W10+O1xuICAgIGVkaXRlZCQ6IE9ic2VydmFibGU8UGFydGlhbDxUTW9kZWw+PjtcbiAgICBpc0RpcnR5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjdXJyZW50UGFnZSQ6IE9ic2VydmFibGU8UGFnZT47XG4gICAgY3VycmVudFJhbmdlJDogT2JzZXJ2YWJsZTxSYW5nZT47XG4gICAgdG90YWxQYWdlYWJsZSQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBpc0xvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzU2F2aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc0RlbGV0aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBsb2FkZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gICAgc2F2ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gICAgY3JlYXRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgICBkZWxldGVkQXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuXG4gICAgY3VzdG9tU29ydGVkJChuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRNb2RlbFtdPiB7XG4gICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1c3RvbVNvcnRlZCwgeyBuYW1lIH0pO1xuICAgIH1cbiAgICAvLyBlbmRyZWdpb25cblxuICAgIC8vIHJlZ2lvbiBBY3Rpdml0aWVzXG4gICAgc2VsZWN0KGVudGl0eTogVE1vZGVsLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBTZWxlY3QodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgc2VsZWN0QnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgU2VsZWN0QnlLZXkodGhpcy5tb2RlbFR5cGUsIGtleSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgc2VsZWN0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdE1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBzZWxlY3RNb3JlKGVudGl0aWVzOiBUTW9kZWxbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgU2VsZWN0TW9yZSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHNlbGVjdE1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgU2VsZWN0TWFueUJ5S2V5cyh0aGlzLm1vZGVsVHlwZSwga2V5cywgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgc2VsZWN0TW9yZUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBTZWxlY3RNb3JlQnlLZXlzKHRoaXMubW9kZWxUeXBlLCBrZXlzLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZXNlbGVjdChjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZXNlbGVjdCh0aGlzLm1vZGVsVHlwZSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVzZWxlY3RNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVzZWxlY3RNYW55KHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVzZWxlY3RNYW55QnlLZXlzKGtleXM6IEVudGl0eUlkZW50aXR5W10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlc2VsZWN0TWFueUJ5S2V5cyh0aGlzLm1vZGVsVHlwZSwga2V5cywgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVzZWxlY3RBbGwoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVzZWxlY3RBbGwodGhpcy5tb2RlbFR5cGUsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGVkaXQoZW50aXR5OiBQYXJ0aWFsPFRNb2RlbD4sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IEVkaXQodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZWRpdE5ldyhlbnRpdHk/OiBQYXJ0aWFsPFRNb2RlbD4sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IEVkaXROZXcodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZWRpdEJ5S2V5KGtleTogRW50aXR5SWRlbnRpdHksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IEVkaXRCeUtleSh0aGlzLm1vZGVsVHlwZSwga2V5LCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBjaGFuZ2UoZW50aXR5OiBQYXJ0aWFsPFRNb2RlbD4sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IENoYW5nZSh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBlbmRFZGl0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IEVuZEVkaXQodGhpcy5tb2RlbFR5cGUsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWQoa2V5cz86IGFueSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWQodGhpcy5tb2RlbFR5cGUsIGtleXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkSWZOZWNlc3Nhcnkoa2V5cz86IGFueSwgY3JpdGVyaWE/OiBhbnksIG1heEFnZT86IG51bWJlciwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZElmTmVjZXNzYXJ5KHRoaXMubW9kZWxUeXBlLCBrZXlzLCBtYXhBZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkTWFueShjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZE1hbnkodGhpcy5tb2RlbFR5cGUsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkTWFueUlmTmVjZXNzYXJ5KGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRNYW55SWZOZWNlc3NhcnkodGhpcy5tb2RlbFR5cGUsIG1heEFnZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRBbGwoY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRBbGwodGhpcy5tb2RlbFR5cGUsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkQWxsSWZOZWNlc3NhcnkoY3JpdGVyaWE/OiBhbnksIG1heEFnZT86IG51bWJlciwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZEFsbElmTmVjZXNzYXJ5KHRoaXMubW9kZWxUeXBlLCBtYXhBZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkUGFnZShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZFBhZ2UodGhpcy5tb2RlbFR5cGUsIHBhZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkUGFnZUlmTmVjZXNzYXJ5KHBhZ2U6IFBhZ2UsIGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRQYWdlSWZOZWNlc3NhcnkodGhpcy5tb2RlbFR5cGUsIHBhZ2UsIG1heEFnZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRSYW5nZShyYW5nZTogUmFuZ2UsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkUmFuZ2UodGhpcy5tb2RlbFR5cGUsIHJhbmdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZFJhbmdlSWZOZWNlc3NhcnkocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkUmFuZ2VJZk5lY2Vzc2FyeSh0aGlzLm1vZGVsVHlwZSwgcmFuZ2UsIG1heEFnZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGNyZWF0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IENyZWF0ZSh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgY3JlYXRlTWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBDcmVhdGVNYW55KHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHVwZGF0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFVwZGF0ZSh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgdXBkYXRlTWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBVcGRhdGVNYW55KHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHVwc2VydChlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFVwc2VydCh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgdXBzZXJ0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBVcHNlcnRNYW55KHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHJlcGxhY2UoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBSZXBsYWNlKHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICByZXBsYWNlTWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBSZXBsYWNlTWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZWxldGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZWxldGUodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlbGV0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVsZXRlTWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZWxldGVCeUtleShrZXk6IHN0cmluZyB8IG51bWJlciwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlbGV0ZUJ5S2V5KHRoaXMubW9kZWxUeXBlLCBrZXksIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZWxldGVNYW55QnlLZXlzKGtleXM6IEVudGl0eUlkZW50aXR5W10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZWxldGVNYW55QnlLZXlzKHRoaXMubW9kZWxUeXBlLCBrZXlzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgY2xlYXIoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQ2xlYXIodGhpcy5tb2RlbFR5cGUsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cbiAgICAvLyBlbmRyZWdpb25cbiAgfTtcblxuICByZXR1cm4gQmFzZUZhY2FkZTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3V0aWwvZmFjYWRlLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hC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cmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENsZWFyIH0gZnJvbSAnLi4vYWN0aW9ucy9hY3Rpb25zJztcbmltcG9ydCB7IENyZWF0ZSwgQ3JlYXRlTWFueSB9IGZyb20gJy4uL2FjdGlvbnMvY3JlYXRlLWFjdGlvbnMnO1xuaW1wb3J0IHsgRGVsZXRlLCBEZWxldGVNYW55IH0gZnJvbSAnLi4vYWN0aW9ucy9kZWxldGUtYWN0aW9ucyc7XG5pbXBvcnQgeyBEZWxldGVCeUtleSwgRGVsZXRlTWFueUJ5S2V5cyB9IGZyb20gJy4uL2FjdGlvbnMvZGVsZXRlLWJ5LWtleS1hY3Rpb25zJztcbmltcG9ydCB7IERlc2VsZWN0LCBEZXNlbGVjdEFsbCwgRGVzZWxlY3RNYW55LCBEZXNlbGVjdE1hbnlCeUtleXMgfSBmcm9tICcuLi9hY3Rpb25zL2Rlc2VsZWN0aW9uLWFjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlLCBFZGl0LCBFZGl0QnlLZXksIEVkaXROZXcsIEVuZEVkaXQgfSBmcm9tICcuLi9hY3Rpb25zL2VkaXQtYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2FkLCBMb2FkSWZOZWNlc3NhcnkgfSBmcm9tICcuLi9hY3Rpb25zL2xvYWQtYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2FkQWxsLCBMb2FkQWxsSWZOZWNlc3NhcnkgfSBmcm9tICcuLi9hY3Rpb25zL2xvYWQtYWxsLWFjdGlvbnMnO1xuaW1wb3J0IHsgTG9hZE1hbnksIExvYWRNYW55SWZOZWNlc3NhcnkgfSBmcm9tICcuLi9hY3Rpb25zL2xvYWQtbWFueS1hY3Rpb25zJztcbmltcG9ydCB7IExvYWRQYWdlLCBMb2FkUGFnZUlmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLXBhZ2UtYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2FkUmFuZ2UsIExvYWRSYW5nZUlmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLXJhbmdlLWFjdGlvbnMnO1xuaW1wb3J0IHsgUmVwbGFjZSwgUmVwbGFjZU1hbnkgfSBmcm9tICcuLi9hY3Rpb25zL3JlcGxhY2UtYWN0aW9ucyc7XG5pbXBvcnQge1xuICBTZWxlY3QsXG4gIFNlbGVjdEJ5S2V5LFxuICBTZWxlY3RNYW55LFxuICBTZWxlY3RNYW55QnlLZXlzLFxuICBTZWxlY3RNb3JlLFxuICBTZWxlY3RNb3JlQnlLZXlzXG59IGZyb20gJy4uL2FjdGlvbnMvc2VsZWN0aW9uLWFjdGlvbnMnO1xuaW1wb3J0IHsgVXBkYXRlLCBVcGRhdGVNYW55IH0gZnJvbSAnLi4vYWN0aW9ucy91cGRhdGUtYWN0aW9ucyc7XG5pbXBvcnQgeyBVcHNlcnQsIFVwc2VydE1hbnkgfSBmcm9tICcuLi9hY3Rpb25zL3Vwc2VydC1hY3Rpb25zJztcbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEVudGl0eUlkZW50aXR5IH0gZnJvbSAnLi4vdHlwZXMvZW50aXR5LWlkZW50aXR5JztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5IH0gZnJvbSAnLi9lbnRpdHktc3RhdGUnO1xuaW1wb3J0IHsgSUVudGl0eUZhY2FkZSB9IGZyb20gJy4vZmFjYWRlJztcbmltcG9ydCB7IElTZWxlY3Rvck1hcCB9IGZyb20gJy4vc2VsZWN0b3ItbWFwJztcblxuLyoqXG4gKiBCdWlsZHMgYSBuZXcgZmFjYWRlIGNsYXNzIGZvciB0aGUgc3BlY2lmaWVkIGVudGl0eSBtb2RlbCBhbmQgcGFyZW50IHN0YXRlLlxuICogQHBhcmFtIHNlbGVjdG9ycyAtIHRoZSBzZWxlY3RvciBtYXAgZm9yIHRoZSBzcGVjaWZpZWQgZW50aXR5XG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEZhY2FkZSA9IDxUTW9kZWwsIFRQYXJlbnRTdGF0ZT4oc2VsZWN0b3JzOiBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+KSA9PiB7XG4gIGNvbnN0IEJhc2VGYWNhZGUgPSBjbGFzcyBGYWNhZGUgaW1wbGVtZW50cyBJRW50aXR5RmFjYWRlPFRNb2RlbD4ge1xuICAgIG1vZGVsVHlwZTogbmV3ICgpID0+IFRNb2RlbDtcbiAgICBzdG9yZTogU3RvcmU8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKG1vZGVsVHlwZTogbmV3ICgpID0+IFRNb2RlbCwgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICAgIHRoaXMubW9kZWxUeXBlID0gbW9kZWxUeXBlO1xuICAgICAgdGhpcy5zdG9yZSA9IHN0b3JlO1xuXG4gICAgICB0aGlzLmFsbCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0QWxsKTtcbiAgICAgIHRoaXMuc29ydGVkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RBbGxTb3J0ZWQpO1xuICAgICAgdGhpcy5lbnRpdGllcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0RW50aXRpZXMpO1xuICAgICAgdGhpcy5pZHMkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdElkcyk7XG4gICAgICB0aGlzLnRvdGFsJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RUb3RhbCk7XG4gICAgICB0aGlzLmhhc0VudGl0aWVzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RIYXNFbnRpdGllcyk7XG4gICAgICB0aGlzLmhhc05vRW50aXRpZXMkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEhhc05vRW50aXRpZXMpO1xuICAgICAgdGhpcy50b3RhbCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0VG90YWwpO1xuICAgICAgdGhpcy5jdXJyZW50JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50RW50aXR5KTtcbiAgICAgIHRoaXMuY3VycmVudEtleSQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3VycmVudEVudGl0eUtleSk7XG4gICAgICB0aGlzLmN1cnJlbnRTZXQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1cnJlbnRFbnRpdGllcyk7XG4gICAgICB0aGlzLmN1cnJlbnRTZXRLZXlzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50RW50aXRpZXNLZXlzKTtcbiAgICAgIHRoaXMuZWRpdGVkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RFZGl0ZWRFbnRpdHkpO1xuICAgICAgdGhpcy5pc0RpcnR5JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJc0RpcnR5KTtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1cnJlbnRQYWdlKTtcbiAgICAgIHRoaXMuY3VycmVudFJhbmdlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50UmFuZ2UpO1xuICAgICAgdGhpcy50b3RhbFBhZ2VhYmxlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RUb3RhbFBhZ2VhYmxlKTtcbiAgICAgIHRoaXMuaXNMb2FkaW5nJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJc0xvYWRpbmcpO1xuICAgICAgdGhpcy5pc1NhdmluZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0SXNTYXZpbmcpO1xuICAgICAgdGhpcy5pc0RlbGV0aW5nJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJc0RlbGV0aW5nKTtcbiAgICAgIHRoaXMubG9hZGVkQXQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdExvYWRlZEF0KTtcbiAgICAgIHRoaXMuc2F2ZWRBdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0U2F2ZWRBdCk7XG4gICAgICB0aGlzLmNyZWF0ZWRBdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3JlYXRlZEF0KTtcbiAgICAgIHRoaXMudXBkYXRlZEF0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RVcGRhdGVkQXQpO1xuICAgICAgdGhpcy5yZXBsYWNlZEF0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RSZXBsYWNlZEF0KTtcbiAgICAgIHRoaXMuZGVsZXRlZEF0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3REZWxldGVkQXQpO1xuICAgIH1cblxuICAgIC8vIHJlZ2lvbiBTZWxlY3Rpb25zXG4gICAgYWxsJDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gICAgc29ydGVkJDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gICAgZW50aXRpZXMkOiBPYnNlcnZhYmxlPElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4+O1xuICAgIGlkcyQ6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHlbXT47XG4gICAgdG90YWwkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgaGFzRW50aXRpZXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhhc05vRW50aXRpZXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGN1cnJlbnQkOiBPYnNlcnZhYmxlPFRNb2RlbD47XG4gICAgY3VycmVudEtleSQ6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHk+O1xuICAgIGN1cnJlbnRTZXQkOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcbiAgICBjdXJyZW50U2V0S2V5cyQ6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHlbXT47XG4gICAgZWRpdGVkJDogT2JzZXJ2YWJsZTxQYXJ0aWFsPFRNb2RlbD4+O1xuICAgIGlzRGlydHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGN1cnJlbnRQYWdlJDogT2JzZXJ2YWJsZTxQYWdlPjtcbiAgICBjdXJyZW50UmFuZ2UkOiBPYnNlcnZhYmxlPFJhbmdlPjtcbiAgICB0b3RhbFBhZ2VhYmxlJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIGlzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaXNTYXZpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzRGVsZXRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGxvYWRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgICBzYXZlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgICBjcmVhdGVkQXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuICAgIHVwZGF0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gICAgcmVwbGFjZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gICAgZGVsZXRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcblxuICAgIGN1c3RvbVNvcnRlZCQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUTW9kZWxbXT4ge1xuICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXN0b21Tb3J0ZWQsIHsgbmFtZSB9KTtcbiAgICB9XG4gICAgLy8gZW5kcmVnaW9uXG5cbiAgICAvLyByZWdpb24gQWN0aXZpdGllc1xuICAgIHNlbGVjdChlbnRpdHk6IFRNb2RlbCwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgU2VsZWN0KHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHNlbGVjdEJ5S2V5KGtleTogRW50aXR5SWRlbnRpdHksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdEJ5S2V5KHRoaXMubW9kZWxUeXBlLCBrZXksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHNlbGVjdE1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBTZWxlY3RNYW55KHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgc2VsZWN0TW9yZShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdE1vcmUodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBzZWxlY3RNYW55QnlLZXlzKGtleXM6IEVudGl0eUlkZW50aXR5W10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdE1hbnlCeUtleXModGhpcy5tb2RlbFR5cGUsIGtleXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHNlbGVjdE1vcmVCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgU2VsZWN0TW9yZUJ5S2V5cyh0aGlzLm1vZGVsVHlwZSwga2V5cywgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVzZWxlY3QodGhpcy5tb2RlbFR5cGUsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlc2VsZWN0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlc2VsZWN0TWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlc2VsZWN0TWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZXNlbGVjdE1hbnlCeUtleXModGhpcy5tb2RlbFR5cGUsIGtleXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlc2VsZWN0QWxsKGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlc2VsZWN0QWxsKHRoaXMubW9kZWxUeXBlLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBlZGl0KGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBFZGl0KHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGVkaXROZXcoZW50aXR5PzogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBFZGl0TmV3KHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGVkaXRCeUtleShrZXk6IEVudGl0eUlkZW50aXR5LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBFZGl0QnlLZXkodGhpcy5tb2RlbFR5cGUsIGtleSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgY2hhbmdlKGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBDaGFuZ2UodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZW5kRWRpdChjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBFbmRFZGl0KHRoaXMubW9kZWxUeXBlLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkKGtleXM/OiBhbnksIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkKHRoaXMubW9kZWxUeXBlLCBrZXlzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZElmTmVjZXNzYXJ5KGtleXM/OiBhbnksIGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRJZk5lY2Vzc2FyeSh0aGlzLm1vZGVsVHlwZSwga2V5cywgbWF4QWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZE1hbnkoY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRNYW55KHRoaXMubW9kZWxUeXBlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZE1hbnlJZk5lY2Vzc2FyeShjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkTWFueUlmTmVjZXNzYXJ5KHRoaXMubW9kZWxUeXBlLCBtYXhBZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkQWxsKGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkQWxsKHRoaXMubW9kZWxUeXBlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZEFsbElmTmVjZXNzYXJ5KGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRBbGxJZk5lY2Vzc2FyeSh0aGlzLm1vZGVsVHlwZSwgbWF4QWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZFBhZ2UocGFnZTogUGFnZSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRQYWdlKHRoaXMubW9kZWxUeXBlLCBwYWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZFBhZ2VJZk5lY2Vzc2FyeShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkUGFnZUlmTmVjZXNzYXJ5KHRoaXMubW9kZWxUeXBlLCBwYWdlLCBtYXhBZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkUmFuZ2UocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZFJhbmdlKHRoaXMubW9kZWxUeXBlLCByYW5nZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRSYW5nZUlmTmVjZXNzYXJ5KHJhbmdlOiBSYW5nZSwgY3JpdGVyaWE/OiBhbnksIG1heEFnZT86IG51bWJlciwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZFJhbmdlSWZOZWNlc3NhcnkodGhpcy5tb2RlbFR5cGUsIHJhbmdlLCBtYXhBZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBjcmVhdGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBDcmVhdGUodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGNyZWF0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQ3JlYXRlTWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICB1cGRhdGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBVcGRhdGUodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHVwZGF0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgVXBkYXRlTWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICB1cHNlcnQoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBVcHNlcnQodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHVwc2VydE1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgVXBzZXJ0TWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICByZXBsYWNlKGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgUmVwbGFjZSh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgcmVwbGFjZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgUmVwbGFjZU1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVsZXRlKGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVsZXRlKHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZWxldGVNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlbGV0ZU1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVsZXRlQnlLZXkoa2V5OiBzdHJpbmcgfCBudW1iZXIsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZWxldGVCeUtleSh0aGlzLm1vZGVsVHlwZSwga2V5LCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVsZXRlTWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVsZXRlTWFueUJ5S2V5cyh0aGlzLm1vZGVsVHlwZSwga2V5cywgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGNsZWFyKGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IENsZWFyKHRoaXMubW9kZWxUeXBlLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG4gICAgLy8gZW5kcmVnaW9uXG4gIH07XG5cbiAgcmV0dXJuIEJhc2VGYWNhZGU7XG59O1xuIl19

@@ -23,2 +23,6 @@ /**

/** @type {?} */
IEntityFacade.prototype.hasEntities$;
/** @type {?} */
IEntityFacade.prototype.hasNoEntities$;
/** @type {?} */
IEntityFacade.prototype.current$;

@@ -54,2 +58,6 @@ /** @type {?} */

/** @type {?} */
IEntityFacade.prototype.updatedAt$;
/** @type {?} */
IEntityFacade.prototype.replacedAt$;
/** @type {?} */
IEntityFacade.prototype.deletedAt$;

@@ -309,2 +317,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL2ZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQSxtQ0F1RUM7OztJQXRFQyw2QkFBMkI7O0lBQzNCLGdDQUE4Qjs7SUFDOUIsa0NBQWlEOztJQUNqRCw2QkFBbUM7O0lBQ25DLCtCQUEyQjs7SUFDM0IsaUNBQTZCOztJQUM3QixvQ0FBd0M7O0lBQ3hDLG9DQUFrQzs7SUFDbEMsd0NBQThDOztJQUM5QyxnQ0FBcUM7O0lBQ3JDLGlDQUE4Qjs7SUFDOUIscUNBQStCOztJQUMvQixzQ0FBaUM7O0lBQ2pDLHVDQUFtQzs7SUFDbkMsbUNBQWdDOztJQUNoQyxrQ0FBK0I7O0lBQy9CLG9DQUFpQzs7SUFDakMsa0NBQTRCOztJQUM1QixpQ0FBMkI7O0lBQzNCLG1DQUE2Qjs7SUFDN0IsbUNBQTZCOzs7OztJQUM3Qiw0REFBa0Q7Ozs7OztJQUVsRCxzRUFBdUQ7Ozs7OztJQUN2RCx3RUFBaUU7Ozs7OztJQUNqRSw0RUFBK0Q7Ozs7OztJQUMvRCw0RUFBK0Q7Ozs7OztJQUMvRCw4RUFBeUU7Ozs7OztJQUN6RSw4RUFBeUU7Ozs7O0lBRXpFLGdFQUF5Qzs7Ozs7O0lBQ3pDLDhFQUFpRTs7Ozs7O0lBQ2pFLGdGQUEyRTs7Ozs7SUFDM0UsbUVBQTRDOzs7Ozs7SUFFNUMsdUVBQWtFOzs7Ozs7SUFDbEUsb0VBQThEOzs7Ozs7SUFDOUQsc0VBQStEOzs7Ozs7SUFDL0Qsc0VBQWdFOzs7OztJQUNoRSwrREFBd0M7Ozs7Ozs7SUFFeEMsNEVBQWlFOzs7Ozs7OztJQUNqRSwrRkFBNkY7Ozs7OztJQUM3RiwwRUFBeUQ7Ozs7Ozs7SUFDekQsNkZBQXFGOzs7Ozs7SUFDckYseUVBQXdEOzs7Ozs7O0lBQ3hELDRGQUFvRjs7Ozs7OztJQUNwRixnRkFBcUU7Ozs7Ozs7O0lBQ3JFLG1HQUFpRzs7Ozs7OztJQUNqRyxrRkFBd0U7Ozs7Ozs7O0lBQ3hFLHFHQUFvRzs7Ozs7OztJQUVwRyxnRkFBdUU7Ozs7Ozs7SUFDdkUsc0ZBQStFOzs7Ozs7O0lBRS9FLGdGQUF1RTs7Ozs7OztJQUN2RSxzRkFBK0U7Ozs7Ozs7SUFFL0UsZ0ZBQXVFOzs7Ozs7O0lBQ3ZFLHNGQUErRTs7Ozs7OztJQUUvRSxpRkFBd0U7Ozs7Ozs7SUFDeEUsdUZBQWdGOzs7Ozs7O0lBRWhGLGdGQUF1RTs7Ozs7OztJQUN2RSxzRkFBK0U7Ozs7Ozs7SUFDL0Usa0ZBQWlGOzs7Ozs7O0lBQ2pGLHdGQUF5Rjs7Ozs7SUFFekYsNkRBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50aXR5SWRlbnRpdHkgfSBmcm9tICcuLi90eXBlcy9lbnRpdHktaWRlbnRpdHknO1xuXG5pbXBvcnQgeyBQYWdlLCBSYW5nZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBJRW50aXR5RGljdGlvbmFyeSB9IGZyb20gJy4vZW50aXR5LXN0YXRlJztcblxuLyoqXG4gKiBUaGUgZGVmaW5pdGlvbiBvZiBhbiBBdXRvLUVudGl0eSBmYWNhZGUgY2xhc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5RmFjYWRlPFRNb2RlbD4ge1xuICBhbGwkOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcbiAgc29ydGVkJDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gIGVudGl0aWVzJDogT2JzZXJ2YWJsZTxJRW50aXR5RGljdGlvbmFyeTxUTW9kZWw+PjtcbiAgaWRzJDogT2JzZXJ2YWJsZTxFbnRpdHlJZGVudGl0eVtdPjtcbiAgdG90YWwkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGN1cnJlbnQkOiBPYnNlcnZhYmxlPFRNb2RlbD47XG4gIGN1cnJlbnRLZXkkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5PjtcbiAgY3VycmVudFNldCQ6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuICBjdXJyZW50U2V0S2V5cyQ6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHlbXT47XG4gIGVkaXRlZCQ6IE9ic2VydmFibGU8UGFydGlhbDxUTW9kZWw+PjtcbiAgaXNEaXJ0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGN1cnJlbnRQYWdlJDogT2JzZXJ2YWJsZTxQYWdlPjtcbiAgY3VycmVudFJhbmdlJDogT2JzZXJ2YWJsZTxSYW5nZT47XG4gIHRvdGFsUGFnZWFibGUkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGlzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGlzU2F2aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNEZWxldGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGxvYWRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgc2F2ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGNyZWF0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGRlbGV0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGN1c3RvbVNvcnRlZCQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgc2VsZWN0KGVudGl0eTogVE1vZGVsLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBzZWxlY3RCeUtleShrZXk6IEVudGl0eUlkZW50aXR5LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBzZWxlY3RNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgc2VsZWN0TW9yZShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHNlbGVjdE1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgc2VsZWN0TW9yZUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGRlc2VsZWN0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlc2VsZWN0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlc2VsZWN0TWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBkZXNlbGVjdEFsbChjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGVkaXROZXcoZW50aXR5PzogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlZGl0KGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlZGl0QnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgY2hhbmdlKGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlbmRFZGl0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgbG9hZChrZXlzPzogYW55LCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZElmTmVjZXNzYXJ5KGtleXM/OiBhbnksIGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRNYW55KGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkTWFueUlmTmVjZXNzYXJ5KGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRBbGwoY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRBbGxJZk5lY2Vzc2FyeShjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkUGFnZShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZFBhZ2VJZk5lY2Vzc2FyeShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkUmFuZ2UocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZFJhbmdlSWZOZWNlc3NhcnkocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGNyZWF0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGNyZWF0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcblxuICB1cGRhdGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICB1cGRhdGVNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgdXBzZXJ0KGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgdXBzZXJ0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIHJlcGxhY2UoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICByZXBsYWNlTWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGRlbGV0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlbGV0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgZGVsZXRlQnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlbGV0ZU1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgY2xlYXIoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL2ZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQSxtQ0EyRUM7OztJQTFFQyw2QkFBMkI7O0lBQzNCLGdDQUE4Qjs7SUFDOUIsa0NBQWlEOztJQUNqRCw2QkFBbUM7O0lBQ25DLCtCQUEyQjs7SUFDM0IscUNBQWtDOztJQUNsQyx1Q0FBb0M7O0lBQ3BDLGlDQUE2Qjs7SUFDN0Isb0NBQXdDOztJQUN4QyxvQ0FBa0M7O0lBQ2xDLHdDQUE4Qzs7SUFDOUMsZ0NBQXFDOztJQUNyQyxpQ0FBOEI7O0lBQzlCLHFDQUErQjs7SUFDL0Isc0NBQWlDOztJQUNqQyx1Q0FBbUM7O0lBQ25DLG1DQUFnQzs7SUFDaEMsa0NBQStCOztJQUMvQixvQ0FBaUM7O0lBQ2pDLGtDQUE0Qjs7SUFDNUIsaUNBQTJCOztJQUMzQixtQ0FBNkI7O0lBQzdCLG1DQUE2Qjs7SUFDN0Isb0NBQThCOztJQUM5QixtQ0FBNkI7Ozs7O0lBQzdCLDREQUFrRDs7Ozs7O0lBRWxELHNFQUF1RDs7Ozs7O0lBQ3ZELHdFQUFpRTs7Ozs7O0lBQ2pFLDRFQUErRDs7Ozs7O0lBQy9ELDRFQUErRDs7Ozs7O0lBQy9ELDhFQUF5RTs7Ozs7O0lBQ3pFLDhFQUF5RTs7Ozs7SUFFekUsZ0VBQXlDOzs7Ozs7SUFDekMsOEVBQWlFOzs7Ozs7SUFDakUsZ0ZBQTJFOzs7OztJQUMzRSxtRUFBNEM7Ozs7OztJQUU1Qyx1RUFBa0U7Ozs7OztJQUNsRSxvRUFBOEQ7Ozs7OztJQUM5RCxzRUFBK0Q7Ozs7OztJQUMvRCxzRUFBZ0U7Ozs7O0lBQ2hFLCtEQUF3Qzs7Ozs7OztJQUV4Qyw0RUFBaUU7Ozs7Ozs7O0lBQ2pFLCtGQUE2Rjs7Ozs7O0lBQzdGLDBFQUF5RDs7Ozs7OztJQUN6RCw2RkFBcUY7Ozs7OztJQUNyRix5RUFBd0Q7Ozs7Ozs7SUFDeEQsNEZBQW9GOzs7Ozs7O0lBQ3BGLGdGQUFxRTs7Ozs7Ozs7SUFDckUsbUdBQWlHOzs7Ozs7O0lBQ2pHLGtGQUF3RTs7Ozs7Ozs7SUFDeEUscUdBQW9HOzs7Ozs7O0lBRXBHLGdGQUF1RTs7Ozs7OztJQUN2RSxzRkFBK0U7Ozs7Ozs7SUFFL0UsZ0ZBQXVFOzs7Ozs7O0lBQ3ZFLHNGQUErRTs7Ozs7OztJQUUvRSxnRkFBdUU7Ozs7Ozs7SUFDdkUsc0ZBQStFOzs7Ozs7O0lBRS9FLGlGQUF3RTs7Ozs7OztJQUN4RSx1RkFBZ0Y7Ozs7Ozs7SUFFaEYsZ0ZBQXVFOzs7Ozs7O0lBQ3ZFLHNGQUErRTs7Ozs7OztJQUMvRSxrRkFBaUY7Ozs7Ozs7SUFDakYsd0ZBQXlGOzs7OztJQUV6Riw2REFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbnRpdHlJZGVudGl0eSB9IGZyb20gJy4uL3R5cGVzL2VudGl0eS1pZGVudGl0eSc7XG5cbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5IH0gZnJvbSAnLi9lbnRpdHktc3RhdGUnO1xuXG4vKipcbiAqIFRoZSBkZWZpbml0aW9uIG9mIGFuIEF1dG8tRW50aXR5IGZhY2FkZSBjbGFzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlGYWNhZGU8VE1vZGVsPiB7XG4gIGFsbCQ6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuICBzb3J0ZWQkOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcbiAgZW50aXRpZXMkOiBPYnNlcnZhYmxlPElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4+O1xuICBpZHMkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5W10+O1xuICB0b3RhbCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgaGFzRW50aXRpZXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBoYXNOb0VudGl0aWVzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgY3VycmVudCQ6IE9ic2VydmFibGU8VE1vZGVsPjtcbiAgY3VycmVudEtleSQ6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHk+O1xuICBjdXJyZW50U2V0JDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gIGN1cnJlbnRTZXRLZXlzJDogT2JzZXJ2YWJsZTxFbnRpdHlJZGVudGl0eVtdPjtcbiAgZWRpdGVkJDogT2JzZXJ2YWJsZTxQYXJ0aWFsPFRNb2RlbD4+O1xuICBpc0RpcnR5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPFBhZ2U+O1xuICBjdXJyZW50UmFuZ2UkOiBPYnNlcnZhYmxlPFJhbmdlPjtcbiAgdG90YWxQYWdlYWJsZSQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgaXNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNTYXZpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc0RlbGV0aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgbG9hZGVkQXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuICBzYXZlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgY3JlYXRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgdXBkYXRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgcmVwbGFjZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGRlbGV0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGN1c3RvbVNvcnRlZCQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgc2VsZWN0KGVudGl0eTogVE1vZGVsLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBzZWxlY3RCeUtleShrZXk6IEVudGl0eUlkZW50aXR5LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBzZWxlY3RNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgc2VsZWN0TW9yZShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHNlbGVjdE1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgc2VsZWN0TW9yZUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGRlc2VsZWN0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlc2VsZWN0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlc2VsZWN0TWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBkZXNlbGVjdEFsbChjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGVkaXROZXcoZW50aXR5PzogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlZGl0KGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlZGl0QnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgY2hhbmdlKGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlbmRFZGl0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgbG9hZChrZXlzPzogYW55LCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZElmTmVjZXNzYXJ5KGtleXM/OiBhbnksIGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRNYW55KGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkTWFueUlmTmVjZXNzYXJ5KGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRBbGwoY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRBbGxJZk5lY2Vzc2FyeShjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkUGFnZShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZFBhZ2VJZk5lY2Vzc2FyeShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkUmFuZ2UocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZFJhbmdlSWZOZWNlc3NhcnkocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGNyZWF0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGNyZWF0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcblxuICB1cGRhdGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICB1cGRhdGVNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgdXBzZXJ0KGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgdXBzZXJ0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIHJlcGxhY2UoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICByZXBsYWNlTWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGRlbGV0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlbGV0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgZGVsZXRlQnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlbGV0ZU1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgY2xlYXIoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbn1cbiJdfQ==

@@ -63,2 +63,18 @@ /**

/** @type {?} */
export const mapToHasEntities = (/**
* @template TState, TModel, TExtra
* @param {?} state
* @return {?}
*/
(state) => !state || !state.ids ? false : !!state.ids.length);
// prettier-ignore
/** @type {?} */
export const mapToHasNoEntities = (/**
* @template TState, TModel, TExtra
* @param {?} state
* @return {?}
*/
(state) => !state || !state.ids ? true : !state.ids.length);
// prettier-ignore
/** @type {?} */
export const mapToCurrentEntity = (/**

@@ -190,2 +206,18 @@ * @template TState, TModel, TExtra

/** @type {?} */
export const mapToUpdatedAt = (/**
* @template TState, TModel, TExtra
* @param {?} state
* @return {?}
*/
(state) => (!state || !state.updatedAt ? null : new Date(state.updatedAt)));
// prettier-ignore
/** @type {?} */
export const mapToReplacedAt = (/**
* @template TState, TModel, TExtra
* @param {?} state
* @return {?}
*/
(state) => (!state || !state.replacedAt ? null : new Date(state.replacedAt)));
// prettier-ignore
/** @type {?} */
export const mapToDeletedAt = (/**

@@ -212,2 +244,6 @@ * @template TState, TModel, TExtra

/** @type {?} */
const selectHasEntities = createSelector(getState, mapToHasEntities);
/** @type {?} */
const selectHasNoEntities = createSelector(getState, mapToHasNoEntities);
/** @type {?} */
const selectAll = createSelector(selectEntities, selectIds, mapToEntityArray);

@@ -249,2 +285,6 @@ /** @type {?} */

/** @type {?} */
const selectUpdatedAt = createSelector(getState, mapToUpdatedAt);
/** @type {?} */
const selectReplacedAt = createSelector(getState, mapToReplacedAt);
/** @type {?} */
const selectDeletedAt = createSelector(getState, mapToDeletedAt);

@@ -258,2 +298,4 @@ return (/** @type {?} */ ({

selectTotal,
selectHasEntities,
selectHasNoEntities,
selectCurrentEntity,

@@ -274,5 +316,7 @@ selectCurrentEntityKey,

selectCreatedAt,
selectUpdatedAt,
selectReplacedAt,
selectDeletedAt
}));
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWFwLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3V0aWwvc2VsZWN0b3ItbWFwLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQThCLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTzNELE1BQU0sT0FBTyxnQkFBZ0I7Ozs7OztBQUMzQixDQUFTLFFBQW1DLEVBQUUsR0FBcUIsRUFBWSxFQUFFLENBQy9FLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUc7Ozs7QUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUE7OztBQUcxRCxNQUFNLE9BQU8sc0JBQXNCOzs7OztBQUNqQyxDQUFTLEdBQWEsRUFBWSxFQUFFLENBQ2xDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7OztBQUc3QyxNQUFNLE9BQU8sNEJBQTRCOzs7Ozs7QUFDdkMsQ0FBUyxHQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBWSxFQUFFLENBQzVDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBOzs7QUFHbkQsTUFBTSxPQUFPLGFBQWE7Ozs7O0FBQ3hCLENBQXNELEtBQXNCLEVBQTZCLEVBQUUsQ0FDekcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEtB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bnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IsIE1lbW9pemVkU2VsZWN0b3IsIFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgZW50aXR5Q29tcGFyZXIgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2VudGl0eS11dGlsJztcbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEVudGl0eUlkZW50aXR5IH0gZnJvbSAnLi4vdHlwZXMvZW50aXR5LWlkZW50aXR5JztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5LCBJRW50aXR5U3RhdGUgfSBmcm9tICcuL2VudGl0eS1zdGF0ZSc7XG5pbXBvcnQgeyBJU2VsZWN0b3JNYXAgfSBmcm9tICcuL3NlbGVjdG9yLW1hcCc7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvRW50aXR5QXJyYXkgPVxuICA8VE1vZGVsPihlbnRpdGllczogSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPiwgaWRzOiBFbnRpdHlJZGVudGl0eVtdKTogVE1vZGVsW10gPT5cbiAgICAoIWlkcyB8fCAhZW50aXRpZXMgPyBbXSA6IGlkcy5tYXAoaWQgPT4gZW50aXRpZXNbaWRdKSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvU29ydGVkRW50aXR5QXJyYXkgPVxuICA8VE1vZGVsPihhbGw6IFRNb2RlbFtdKTogVE1vZGVsW10gPT5cbiAgICAhYWxsID8gW10gOiBhbGwuc29ydChlbnRpdHlDb21wYXJlcihhbGwpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DdXN0b21Tb3J0ZWRFbnRpdHlBcnJheSA9XG4gIDxUTW9kZWw+KGFsbDogVE1vZGVsW10sIHsgbmFtZSB9KTogVE1vZGVsW10gPT5cbiAgICAhYWxsID8gW10gOiBhbGwuc29ydChlbnRpdHlDb21wYXJlcihhbGwsIG5hbWUpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9FbnRpdGllcyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBJRW50aXR5RGljdGlvbmFyeTxUTW9kZWw+ID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuZW50aXRpZXMgPyB7fSA6IHN0YXRlLmVudGl0aWVzKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9JZHMgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRW50aXR5SWRlbnRpdHlbXSA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmlkcyA/IFtdIDogc3RhdGUuaWRzKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Ub3RhbCA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBudW1iZXIgPT5cbiAgICAhc3RhdGUgfHwgIXN0YXRlLmlkcyA/IDAgOiBzdGF0ZS5pZHMubGVuZ3RoO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRFbnRpdHkgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogVE1vZGVsIHwgbnVsbCA9PlxuICAgICFzdGF0ZSB8fCAhc3RhdGUuZW50aXRpZXMgfHwgIXN0YXRlLmN1cnJlbnRFbnRpdHlLZXkgPyBudWxsIDogc3RhdGUuZW50aXRpZXNbc3RhdGUuY3VycmVudEVudGl0eUtleV07XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudEVudGl0eUtleSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBFbnRpdHlJZGVudGl0eSB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmN1cnJlbnRFbnRpdHlLZXkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRFbnRpdGllcyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBUTW9kZWxbXSA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmN1cnJlbnRFbnRpdGllc0tleXMgfHwgIXN0YXRlLmVudGl0aWVzKVxuICAgICAgPyBbXVxuICAgICAgOiBzdGF0ZS5jdXJyZW50RW50aXRpZXNLZXlzLm1hcChrZXkgPT4gc3RhdGUuZW50aXRpZXNba2V5XSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudEVudGl0aWVzS2V5cyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBFbnRpdHlJZGVudGl0eVtdID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuY3VycmVudEVudGl0aWVzS2V5cykgPyBbXSA6IHN0YXRlLmN1cnJlbnRFbnRpdGllc0tleXM7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvRWRpdGVkRW50aXR5ID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IFBhcnRpYWw8VE1vZGVsPiB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmVkaXRlZEVudGl0eSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNEaXJ0eSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBib29sZWFuID0+XG4gICAgKCFzdGF0ZSA/IGZhbHNlIDogISFzdGF0ZS5pc0RpcnR5KTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DdXJyZW50UGFnZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBQYWdlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgPyBudWxsIDogc3RhdGUuY3VycmVudFBhZ2UpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRSYW5nZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBSYW5nZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmN1cnJlbnRSYW5nZSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvVG90YWxQYWdlYWJsZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBudW1iZXIgPT5cbiAgICAoIXN0YXRlID8gMCA6IHN0YXRlLnRvdGFsUGFnZWFibGVDb3VudCk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNMb2FkaW5nID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IGJvb2xlYW4gPT5cbiAgICAoIXN0YXRlID8gZmFsc2UgOiAhIXN0YXRlLmlzTG9hZGluZyk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNTYXZpbmcgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICghc3RhdGUgPyBmYWxzZSA6ICEhc3RhdGUuaXNTYXZpbmcpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0lzRGVsZXRpbmcgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICghc3RhdGUgPyBmYWxzZSA6ICEhc3RhdGUuaXNEZWxldGluZyk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvTG9hZGVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5sb2FkZWRBdCA/IG51bGwgOiBuZXcgRGF0ZShzdGF0ZS5sb2FkZWRBdCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb1NhdmVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5zYXZlZEF0ID8gbnVsbCA6IG5ldyBEYXRlKHN0YXRlLnNhdmVkQXQpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DcmVhdGVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5jcmVhdGVkQXQgPyBudWxsIDogbmV3IERhdGUoc3RhdGUuY3JlYXRlZEF0KSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvRGVsZXRlZEF0ID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IERhdGUgfCBudWxsID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuZGVsZXRlZEF0ID8gbnVsbCA6IG5ldyBEYXRlKHN0YXRlLmRlbGV0ZWRBdCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBidWlsZFNlbGVjdG9yTWFwID0gPFRQYXJlbnRTdGF0ZSwgVFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihcbiAgZ2V0U3RhdGU6IFNlbGVjdG9yPFRQYXJlbnRTdGF0ZSwgVFN0YXRlICYgVEV4dHJhPiB8IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUU3RhdGUgJiBURXh0cmE+XG4pOiBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+ID0+IHtcbiAgY29uc3Qgc2VsZWN0RW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9FbnRpdGllcyk7XG4gIGNvbnN0IHNlbGVjdElkcyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lkcyk7XG4gIGNvbnN0IHNlbGVjdFRvdGFsID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvVG90YWwpO1xuICBjb25zdCBzZWxlY3RBbGwgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RFbnRpdGllcywgc2VsZWN0SWRzLCBtYXBUb0VudGl0eUFycmF5KTtcbiAgY29uc3Qgc2VsZWN0QWxsU29ydGVkID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0QWxsLCBtYXBUb1NvcnRlZEVudGl0eUFycmF5KTtcbiAgY29uc3Qgc2VsZWN0Q3VzdG9tU29ydGVkID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0QWxsLCBtYXBUb0N1c3RvbVNvcnRlZEVudGl0eUFycmF5KTtcbiAgY29uc3Qgc2VsZWN0Q3VycmVudEVudGl0eSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRFbnRpdHkpO1xuICBjb25zdCBzZWxlY3RDdXJyZW50RW50aXR5S2V5ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3VycmVudEVudGl0eUtleSk7XG4gIGNvbnN0IHNlbGVjdEN1cnJlbnRFbnRpdGllcyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRFbnRpdGllcyk7XG4gIGNvbnN0IHNlbGVjdEN1cnJlbnRFbnRpdGllc0tleXMgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DdXJyZW50RW50aXRpZXNLZXlzKTtcbiAgY29uc3Qgc2VsZWN0RWRpdGVkRW50aXR5ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvRWRpdGVkRW50aXR5KTtcbiAgY29uc3Qgc2VsZWN0SXNEaXJ0eSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lzRGlydHkpO1xuICBjb25zdCBzZWxlY3RDdXJyZW50UGFnZSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRQYWdlKTtcbiAgY29uc3Qgc2VsZWN0Q3VycmVudFJhbmdlID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3VycmVudFJhbmdlKTtcbiAgY29uc3Qgc2VsZWN0VG90YWxQYWdlYWJsZSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb1RvdGFsUGFnZWFibGUpO1xuICBjb25zdCBzZWxlY3RJc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9Jc0xvYWRpbmcpO1xuICBjb25zdCBzZWxlY3RJc1NhdmluZyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lzU2F2aW5nKTtcbiAgY29uc3Qgc2VsZWN0SXNEZWxldGluZyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lzRGVsZXRpbmcpO1xuICBjb25zdCBzZWxlY3RMb2FkZWRBdCA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0xvYWRlZEF0KTtcbiAgY29uc3Qgc2VsZWN0U2F2ZWRBdCA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb1NhdmVkQXQpO1xuICBjb25zdCBzZWxlY3RDcmVhdGVkQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DcmVhdGVkQXQpO1xuICBjb25zdCBzZWxlY3REZWxldGVkQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9EZWxldGVkQXQpO1xuXG4gIHJldHVybiB7XG4gICAgc2VsZWN0QWxsLFxuICAgIHNlbGVjdEFsbFNvcnRlZCxcbiAgICBzZWxlY3RDdXN0b21Tb3J0ZWQsXG4gICAgc2VsZWN0RW50aXRpZXMsXG4gICAgc2VsZWN0SWRzLFxuICAgIHNlbGVjdFRvdGFsLFxuICAgIHNlbGVjdEN1cnJlbnRFbnRpdHksXG4gICAgc2VsZWN0Q3VycmVudEVudGl0eUtleSxcbiAgICBzZWxlY3RDdXJyZW50RW50aXRpZXMsXG4gICAgc2VsZWN0Q3VycmVudEVudGl0aWVzS2V5cyxcbiAgICBzZWxlY3RFZGl0ZWRFbnRpdHksXG4gICAgc2VsZWN0SXNEaXJ0eSxcbiAgICBzZWxlY3RDdXJyZW50UGFnZSxcbiAgICBzZWxlY3RDdXJyZW50UmFuZ2UsXG4gICAgc2VsZWN0VG90YWxQYWdlYWJsZSxcbiAgICBzZWxlY3RJc0xvYWRpbmcsXG4gICAgc2VsZWN0SXNTYXZpbmcsXG4gICAgc2VsZWN0SXNEZWxldGluZyxcbiAgICBzZWxlY3RMb2FkZWRBdCxcbiAgICBzZWxlY3RTYXZlZEF0LFxuICAgIHNlbGVjdENyZWF0ZWRBdCxcbiAgICBzZWxlY3REZWxldGVkQXRcbiAgfSBhcyBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+O1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWFwLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3V0aWwvc2VsZWN0b3ItbWFwLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQThCLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTzNELE1BQU0sT0FBTyxnQkFBZ0I7Ozs7OztBQUMzQixDQUFTLFFBQW1DLEVBQUUsR0FBcUIsRUFBWSxFQUFFLENBQy9FLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUc7Ozs7QUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUE7OztBQUcxRCxNQUFNLE9BQU8sc0JBQXNCOzs7OztBQUNqQyxDQUFTLEdBQWEsRUFBWSxFQUFFLENBQ2xDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7OztBQUc3QyxNQUFNLE9BQU8sNEJBQTRCOzs7Ozs7QUFDdkMsQ0FBUyxHQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBWSxFQUFFLENBQzVDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBOzs7QUFHbkQsTUFBTSxPQUFPLGFBQWE7Ozs7O0FBQ3hCLENBQXNELEtBQXNCLEVBQTZCLEVBQUUsQ0FDekcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEtB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QWU7S0FDaEIsRUFBc0MsQ0FBQztBQUMxQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciwgTWVtb2l6ZWRTZWxlY3RvciwgU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBlbnRpdHlDb21wYXJlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvZW50aXR5LXV0aWwnO1xuaW1wb3J0IHsgUGFnZSwgUmFuZ2UgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRW50aXR5SWRlbnRpdHkgfSBmcm9tICcuLi90eXBlcy9lbnRpdHktaWRlbnRpdHknO1xuaW1wb3J0IHsgSUVudGl0eURpY3Rpb25hcnksIElFbnRpdHlTdGF0ZSB9IGZyb20gJy4vZW50aXR5LXN0YXRlJztcbmltcG9ydCB7IElTZWxlY3Rvck1hcCB9IGZyb20gJy4vc2VsZWN0b3ItbWFwJztcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9FbnRpdHlBcnJheSA9XG4gIDxUTW9kZWw+KGVudGl0aWVzOiBJRW50aXR5RGljdGlvbmFyeTxUTW9kZWw+LCBpZHM6IEVudGl0eUlkZW50aXR5W10pOiBUTW9kZWxbXSA9PlxuICAgICghaWRzIHx8ICFlbnRpdGllcyA/IFtdIDogaWRzLm1hcChpZCA9PiBlbnRpdGllc1tpZF0pKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Tb3J0ZWRFbnRpdHlBcnJheSA9XG4gIDxUTW9kZWw+KGFsbDogVE1vZGVsW10pOiBUTW9kZWxbXSA9PlxuICAgICFhbGwgPyBbXSA6IGFsbC5zb3J0KGVudGl0eUNvbXBhcmVyKGFsbCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1c3RvbVNvcnRlZEVudGl0eUFycmF5ID1cbiAgPFRNb2RlbD4oYWxsOiBUTW9kZWxbXSwgeyBuYW1lIH0pOiBUTW9kZWxbXSA9PlxuICAgICFhbGwgPyBbXSA6IGFsbC5zb3J0KGVudGl0eUNvbXBhcmVyKGFsbCwgbmFtZSkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0VudGl0aWVzID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4gPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5lbnRpdGllcyA/IHt9IDogc3RhdGUuZW50aXRpZXMpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0lkcyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBFbnRpdHlJZGVudGl0eVtdID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuaWRzID8gW10gOiBzdGF0ZS5pZHMpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb1RvdGFsID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IG51bWJlciA9PlxuICAgICFzdGF0ZSB8fCAhc3RhdGUuaWRzID8gMCA6IHN0YXRlLmlkcy5sZW5ndGg7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSGFzRW50aXRpZXMgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICFzdGF0ZSB8fCAhc3RhdGUuaWRzID8gZmFsc2UgOiAhIXN0YXRlLmlkcy5sZW5ndGg7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSGFzTm9FbnRpdGllcyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBib29sZWFuID0+XG4gICAgIXN0YXRlIHx8ICFzdGF0ZS5pZHMgPyB0cnVlIDogIXN0YXRlLmlkcy5sZW5ndGg7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudEVudGl0eSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBUTW9kZWwgfCBudWxsID0+XG4gICAgIXN0YXRlIHx8ICFzdGF0ZS5lbnRpdGllcyB8fCAhc3RhdGUuY3VycmVudEVudGl0eUtleSA/IG51bGwgOiBzdGF0ZS5lbnRpdGllc1tzdGF0ZS5jdXJyZW50RW50aXR5S2V5XTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DdXJyZW50RW50aXR5S2V5ID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IEVudGl0eUlkZW50aXR5IHwgbnVsbCA9PlxuICAgICghc3RhdGUgPyBudWxsIDogc3RhdGUuY3VycmVudEVudGl0eUtleSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudEVudGl0aWVzID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IFRNb2RlbFtdID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuY3VycmVudEVudGl0aWVzS2V5cyB8fCAhc3RhdGUuZW50aXRpZXMpXG4gICAgICA/IFtdXG4gICAgICA6IHN0YXRlLmN1cnJlbnRFbnRpdGllc0tleXMubWFwKGtleSA9PiBzdGF0ZS5lbnRpdGllc1trZXldKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DdXJyZW50RW50aXRpZXNLZXlzID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IEVudGl0eUlkZW50aXR5W10gPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5jdXJyZW50RW50aXRpZXNLZXlzKSA/IFtdIDogc3RhdGUuY3VycmVudEVudGl0aWVzS2V5cztcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9FZGl0ZWRFbnRpdHkgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogUGFydGlhbDxUTW9kZWw+IHwgbnVsbCA9PlxuICAgICghc3RhdGUgPyBudWxsIDogc3RhdGUuZWRpdGVkRW50aXR5KTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Jc0RpcnR5ID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IGJvb2xlYW4gPT5cbiAgICAoIXN0YXRlID8gZmFsc2UgOiAhIXN0YXRlLmlzRGlydHkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRQYWdlID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IFBhZ2UgfCBudWxsID0+XG4gICAgKCFzdGF0ZSA/IG51bGwgOiBzdGF0ZS5jdXJyZW50UGFnZSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudFJhbmdlID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IFJhbmdlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgPyBudWxsIDogc3RhdGUuY3VycmVudFJhbmdlKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Ub3RhbFBhZ2VhYmxlID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IG51bWJlciA9PlxuICAgICghc3RhdGUgPyAwIDogc3RhdGUudG90YWxQYWdlYWJsZUNvdW50KTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Jc0xvYWRpbmcgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICghc3RhdGUgPyBmYWxzZSA6ICEhc3RhdGUuaXNMb2FkaW5nKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Jc1NhdmluZyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBib29sZWFuID0+XG4gICAgKCFzdGF0ZSA/IGZhbHNlIDogISFzdGF0ZS5pc1NhdmluZyk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNEZWxldGluZyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBib29sZWFuID0+XG4gICAgKCFzdGF0ZSA/IGZhbHNlIDogISFzdGF0ZS5pc0RlbGV0aW5nKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Mb2FkZWRBdCA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBEYXRlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmxvYWRlZEF0ID8gbnVsbCA6IG5ldyBEYXRlKHN0YXRlLmxvYWRlZEF0KSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvU2F2ZWRBdCA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBEYXRlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLnNhdmVkQXQgPyBudWxsIDogbmV3IERhdGUoc3RhdGUuc2F2ZWRBdCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0NyZWF0ZWRBdCA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBEYXRlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmNyZWF0ZWRBdCA/IG51bGwgOiBuZXcgRGF0ZShzdGF0ZS5jcmVhdGVkQXQpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9VcGRhdGVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS51cGRhdGVkQXQgPyBudWxsIDogbmV3IERhdGUoc3RhdGUudXBkYXRlZEF0KSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvUmVwbGFjZWRBdCA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBEYXRlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLnJlcGxhY2VkQXQgPyBudWxsIDogbmV3IERhdGUoc3RhdGUucmVwbGFjZWRBdCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0RlbGV0ZWRBdCA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBEYXRlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmRlbGV0ZWRBdCA/IG51bGwgOiBuZXcgRGF0ZShzdGF0ZS5kZWxldGVkQXQpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgYnVpbGRTZWxlY3Rvck1hcCA9IDxUUGFyZW50U3RhdGUsIFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oXG4gIGdldFN0YXRlOiBTZWxlY3RvcjxUUGFyZW50U3RhdGUsIFRTdGF0ZSAmIFRFeHRyYT4gfCBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgVFN0YXRlICYgVEV4dHJhPlxuKTogSVNlbGVjdG9yTWFwPFRQYXJlbnRTdGF0ZSwgVE1vZGVsPiA9PiB7XG4gIGNvbnN0IHNlbGVjdEVudGl0aWVzID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvRW50aXRpZXMpO1xuICBjb25zdCBzZWxlY3RJZHMgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9JZHMpO1xuICBjb25zdCBzZWxlY3RUb3RhbCA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb1RvdGFsKTtcbiAgY29uc3Qgc2VsZWN0SGFzRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9IYXNFbnRpdGllcyk7XG4gIGNvbnN0IHNlbGVjdEhhc05vRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9IYXNOb0VudGl0aWVzKTtcbiAgY29uc3Qgc2VsZWN0QWxsID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0RW50aXRpZXMsIHNlbGVjdElkcywgbWFwVG9FbnRpdHlBcnJheSk7XG4gIGNvbnN0IHNlbGVjdEFsbFNvcnRlZCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEFsbCwgbWFwVG9Tb3J0ZWRFbnRpdHlBcnJheSk7XG4gIGNvbnN0IHNlbGVjdEN1c3RvbVNvcnRlZCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEFsbCwgbWFwVG9DdXN0b21Tb3J0ZWRFbnRpdHlBcnJheSk7XG4gIGNvbnN0IHNlbGVjdEN1cnJlbnRFbnRpdHkgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DdXJyZW50RW50aXR5KTtcbiAgY29uc3Qgc2VsZWN0Q3VycmVudEVudGl0eUtleSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRFbnRpdHlLZXkpO1xuICBjb25zdCBzZWxlY3RDdXJyZW50RW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DdXJyZW50RW50aXRpZXMpO1xuICBjb25zdCBzZWxlY3RDdXJyZW50RW50aXRpZXNLZXlzID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3VycmVudEVudGl0aWVzS2V5cyk7XG4gIGNvbnN0IHNlbGVjdEVkaXRlZEVudGl0eSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0VkaXRlZEVudGl0eSk7XG4gIGNvbnN0IHNlbGVjdElzRGlydHkgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9Jc0RpcnR5KTtcbiAgY29uc3Qgc2VsZWN0Q3VycmVudFBhZ2UgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DdXJyZW50UGFnZSk7XG4gIGNvbnN0IHNlbGVjdEN1cnJlbnRSYW5nZSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRSYW5nZSk7XG4gIGNvbnN0IHNlbGVjdFRvdGFsUGFnZWFibGUgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9Ub3RhbFBhZ2VhYmxlKTtcbiAgY29uc3Qgc2VsZWN0SXNMb2FkaW5nID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvSXNMb2FkaW5nKTtcbiAgY29uc3Qgc2VsZWN0SXNTYXZpbmcgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9Jc1NhdmluZyk7XG4gIGNvbnN0IHNlbGVjdElzRGVsZXRpbmcgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9Jc0RlbGV0aW5nKTtcbiAgY29uc3Qgc2VsZWN0TG9hZGVkQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9Mb2FkZWRBdCk7XG4gIGNvbnN0IHNlbGVjdFNhdmVkQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9TYXZlZEF0KTtcbiAgY29uc3Qgc2VsZWN0Q3JlYXRlZEF0ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3JlYXRlZEF0KTtcbiAgY29uc3Qgc2VsZWN0VXBkYXRlZEF0ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvVXBkYXRlZEF0KTtcbiAgY29uc3Qgc2VsZWN0UmVwbGFjZWRBdCA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb1JlcGxhY2VkQXQpO1xuICBjb25zdCBzZWxlY3REZWxldGVkQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9EZWxldGVkQXQpO1xuXG4gIHJldHVybiB7XG4gICAgc2VsZWN0QWxsLFxuICAgIHNlbGVjdEFsbFNvcnRlZCxcbiAgICBzZWxlY3RDdXN0b21Tb3J0ZWQsXG4gICAgc2VsZWN0RW50aXRpZXMsXG4gICAgc2VsZWN0SWRzLFxuICAgIHNlbGVjdFRvdGFsLFxuICAgIHNlbGVjdEhhc0VudGl0aWVzLFxuICAgIHNlbGVjdEhhc05vRW50aXRpZXMsXG4gICAgc2VsZWN0Q3VycmVudEVudGl0eSxcbiAgICBzZWxlY3RDdXJyZW50RW50aXR5S2V5LFxuICAgIHNlbGVjdEN1cnJlbnRFbnRpdGllcyxcbiAgICBzZWxlY3RDdXJyZW50RW50aXRpZXNLZXlzLFxuICAgIHNlbGVjdEVkaXRlZEVudGl0eSxcbiAgICBzZWxlY3RJc0RpcnR5LFxuICAgIHNlbGVjdEN1cnJlbnRQYWdlLFxuICAgIHNlbGVjdEN1cnJlbnRSYW5nZSxcbiAgICBzZWxlY3RUb3RhbFBhZ2VhYmxlLFxuICAgIHNlbGVjdElzTG9hZGluZyxcbiAgICBzZWxlY3RJc1NhdmluZyxcbiAgICBzZWxlY3RJc0RlbGV0aW5nLFxuICAgIHNlbGVjdExvYWRlZEF0LFxuICAgIHNlbGVjdFNhdmVkQXQsXG4gICAgc2VsZWN0Q3JlYXRlZEF0LFxuICAgIHNlbGVjdFVwZGF0ZWRBdCxcbiAgICBzZWxlY3RSZXBsYWNlZEF0LFxuICAgIHNlbGVjdERlbGV0ZWRBdFxuICB9IGFzIElTZWxlY3Rvck1hcDxUUGFyZW50U3RhdGUsIFRNb2RlbD47XG59O1xuIl19

@@ -26,2 +26,6 @@ /**

/** @type {?} */
ISelectorMap.prototype.selectHasEntities;
/** @type {?} */
ISelectorMap.prototype.selectHasNoEntities;
/** @type {?} */
ISelectorMap.prototype.selectCurrentEntity;

@@ -57,4 +61,8 @@ /** @type {?} */

/** @type {?} */
ISelectorMap.prototype.selectUpdatedAt;
/** @type {?} */
ISelectorMap.prototype.selectReplacedAt;
/** @type {?} */
ISelectorMap.prototype.selectDeletedAt;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWFwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL3NlbGVjdG9yLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBU0Esa0NBdUJDOzs7SUF0QkMsaUNBQXFFOztJQUNyRSxzQ0FBbUY7O0lBQ25GLGlDQUE2RDs7SUFDN0QsdUNBQW1FOztJQUNuRSwwQ0FBc0U7O0lBQ3RFLG1DQUE2RDs7SUFDN0QsMkNBQTRFOztJQUM1RSw4Q0FBdUY7O0lBQ3ZGLDZDQUF5RTs7SUFDekUsaURBQXFGOztJQUNyRiwwQ0FBb0Y7O0lBQ3BGLHFDQUFnRTs7SUFDaEUseUNBQXdFOztJQUN4RSwwQ0FBMEU7O0lBQzFFLDJDQUFxRTs7SUFDckUsdUNBQWtFOztJQUNsRSxzQ0FBaUU7O0lBQ2pFLHdDQUFtRTs7SUFDbkUsc0NBQXFFOztJQUNyRSxxQ0FBb0U7O0lBQ3BFLHVDQUFzRTs7SUFDdEUsdUNBQXNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEVudGl0eUlkZW50aXR5IH0gZnJvbSAnLi4vdHlwZXMvZW50aXR5LWlkZW50aXR5JztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5IH0gZnJvbSAnLi9lbnRpdHktc3RhdGUnO1xuXG4vKipcbiAqIFN0cnVjdHVyZSBvZiBhIFNlbGVjdG9yIE1hcCBkZWZpbmluZyBhbGwgdGhlIHNlbGVjdG9ycyB0aGF0IG1heVxuICogYmUgdXNlZCB0byByZXRyaWV2ZSBzdGF0ZSBtYW5hZ2VkIGJ5IEF1dG8tRW50aXR5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdG9yTWFwPFRQYXJlbnRTdGF0ZSwgVE1vZGVsPiB7XG4gIHNlbGVjdElkczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIEVudGl0eUlkZW50aXR5W10+O1xuICBzZWxlY3RFbnRpdGllczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4+O1xuICBzZWxlY3RBbGw6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUTW9kZWxbXT47XG4gIHNlbGVjdEFsbFNvcnRlZDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFRNb2RlbFtdPjtcbiAgc2VsZWN0Q3VzdG9tU29ydGVkOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgVE1vZGVsW10+O1xuICBzZWxlY3RUb3RhbDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIG51bWJlcj47XG4gIHNlbGVjdEN1cnJlbnRFbnRpdHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUTW9kZWwgfCBudWxsPjtcbiAgc2VsZWN0Q3VycmVudEVudGl0eUtleTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIEVudGl0eUlkZW50aXR5IHwgbnVsbD47XG4gIHNlbGVjdEN1cnJlbnRFbnRpdGllczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFRNb2RlbFtdPjtcbiAgc2VsZWN0Q3VycmVudEVudGl0aWVzS2V5czogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIEVudGl0eUlkZW50aXR5W10+O1xuICBzZWxlY3RFZGl0ZWRFbnRpdHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBQYXJ0aWFsPFRNb2RlbD4gfCBudWxsPjtcbiAgc2VsZWN0SXNEaXJ0eTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RDdXJyZW50UGFnZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFBhZ2UgfCBudWxsPjtcbiAgc2VsZWN0Q3VycmVudFJhbmdlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgUmFuZ2UgfCBudWxsPjtcbiAgc2VsZWN0VG90YWxQYWdlYWJsZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIG51bWJlcj47XG4gIHNlbGVjdElzTG9hZGluZzogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RJc1NhdmluZzogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RJc0RlbGV0aW5nOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgYm9vbGVhbj47XG4gIHNlbGVjdExvYWRlZEF0OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgRGF0ZSB8IG51bGw+O1xuICBzZWxlY3RTYXZlZEF0OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgRGF0ZSB8IG51bGw+O1xuICBzZWxlY3RDcmVhdGVkQXQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBEYXRlIHwgbnVsbD47XG4gIHNlbGVjdERlbGV0ZWRBdDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIERhdGUgfCBudWxsPjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWFwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL3NlbGVjdG9yLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBU0Esa0NBMkJDOzs7SUExQkMsaUNBQXFFOztJQUNyRSxzQ0FBbUY7O0lBQ25GLGlDQUE2RDs7SUFDN0QsdUNBQW1FOztJQUNuRSwwQ0FBc0U7O0lBQ3RFLG1DQUE2RDs7SUFDN0QseUNBQW9FOztJQUNwRSwyQ0FBc0U7O0lBQ3RFLDJDQUE0RTs7SUFDNUUsOENBQXVGOztJQUN2Riw2Q0FBeUU7O0lBQ3pFLGlEQUFxRjs7SUFDckYsMENBQW9GOztJQUNwRixxQ0FBZ0U7O0lBQ2hFLHlDQUF3RTs7SUFDeEUsMENBQTBFOztJQUMxRSwyQ0FBcUU7O0lBQ3JFLHVDQUFrRTs7SUFDbEUsc0NBQWlFOztJQUNqRSx3Q0FBbUU7O0lBQ25FLHNDQUFxRTs7SUFDckUscUNBQW9FOztJQUNwRSx1Q0FBc0U7O0lBQ3RFLHVDQUFzRTs7SUFDdEUsd0NBQXVFOztJQUN2RSx1Q0FBc0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUGFnZSwgUmFuZ2UgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRW50aXR5SWRlbnRpdHkgfSBmcm9tICcuLi90eXBlcy9lbnRpdHktaWRlbnRpdHknO1xuaW1wb3J0IHsgSUVudGl0eURpY3Rpb25hcnkgfSBmcm9tICcuL2VudGl0eS1zdGF0ZSc7XG5cbi8qKlxuICogU3RydWN0dXJlIG9mIGEgU2VsZWN0b3IgTWFwIGRlZmluaW5nIGFsbCB0aGUgc2VsZWN0b3JzIHRoYXQgbWF5XG4gKiBiZSB1c2VkIHRvIHJldHJpZXZlIHN0YXRlIG1hbmFnZWQgYnkgQXV0by1FbnRpdHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+IHtcbiAgc2VsZWN0SWRzOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgRW50aXR5SWRlbnRpdHlbXT47XG4gIHNlbGVjdEVudGl0aWVzOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPj47XG4gIHNlbGVjdEFsbDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFRNb2RlbFtdPjtcbiAgc2VsZWN0QWxsU29ydGVkOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgVE1vZGVsW10+O1xuICBzZWxlY3RDdXN0b21Tb3J0ZWQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUTW9kZWxbXT47XG4gIHNlbGVjdFRvdGFsOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgbnVtYmVyPjtcbiAgc2VsZWN0SGFzRW50aXRpZXM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBib29sZWFuPjtcbiAgc2VsZWN0SGFzTm9FbnRpdGllczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RDdXJyZW50RW50aXR5OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgVE1vZGVsIHwgbnVsbD47XG4gIHNlbGVjdEN1cnJlbnRFbnRpdHlLZXk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBFbnRpdHlJZGVudGl0eSB8IG51bGw+O1xuICBzZWxlY3RDdXJyZW50RW50aXRpZXM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUTW9kZWxbXT47XG4gIHNlbGVjdEN1cnJlbnRFbnRpdGllc0tleXM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBFbnRpdHlJZGVudGl0eVtdPjtcbiAgc2VsZWN0RWRpdGVkRW50aXR5OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgUGFydGlhbDxUTW9kZWw+IHwgbnVsbD47XG4gIHNlbGVjdElzRGlydHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBib29sZWFuPjtcbiAgc2VsZWN0Q3VycmVudFBhZ2U6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBQYWdlIHwgbnVsbD47XG4gIHNlbGVjdEN1cnJlbnRSYW5nZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFJhbmdlIHwgbnVsbD47XG4gIHNlbGVjdFRvdGFsUGFnZWFibGU6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBudW1iZXI+O1xuICBzZWxlY3RJc0xvYWRpbmc6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBib29sZWFuPjtcbiAgc2VsZWN0SXNTYXZpbmc6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBib29sZWFuPjtcbiAgc2VsZWN0SXNEZWxldGluZzogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RMb2FkZWRBdDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIERhdGUgfCBudWxsPjtcbiAgc2VsZWN0U2F2ZWRBdDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIERhdGUgfCBudWxsPjtcbiAgc2VsZWN0Q3JlYXRlZEF0OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgRGF0ZSB8IG51bGw+O1xuICBzZWxlY3RVcGRhdGVkQXQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBEYXRlIHwgbnVsbD47XG4gIHNlbGVjdFJlcGxhY2VkQXQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBEYXRlIHwgbnVsbD47XG4gIHNlbGVjdERlbGV0ZWRBdDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIERhdGUgfCBudWxsPjtcbn1cbiJdfQ==

@@ -16,3 +16,4 @@ /**

target[NAE_KEY_NAMES] = target[NAE_KEY_NAMES] ? tslib_1.__spread(target[NAE_KEY_NAMES], [keyName]) : [keyName];
Object.defineProperty(target, NAE_KEYS, { get: (/**
// tslint:disable-next-line:no-unused-expression
!target[NAE_KEYS] && Object.defineProperty(target, NAE_KEYS, { get: (/**
* @return {?}

@@ -22,2 +23,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BicmllYnVnL25ncngtYXV0by1lbnRpdHkvIiwic291cmNlcyI6WyJsaWIvZGVjb3JhdG9ycy9rZXktZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFRMUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBd0I7SUFDbEQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGtCQUFLLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRSxPQUFPLEdBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRzs7O1FBQUUsY0FBTSxPQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBckIsQ0FBcUIsQ0FBQSxFQUFFLENBQUMsQ0FBQztBQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTkFFX0tFWV9OQU1FUywgTkFFX0tFWVMgfSBmcm9tICcuL2VudGl0eS10b2tlbnMnO1xuXG4vKipcbiAqIFVzZWQgdG8gZGVzaWduYXRlIHRoZSBrZXkgcHJvcGVydHkgZm9yIHRoZSBlbnRpdHlcbiAqXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSBlbnRpdHkncyBjbGFzc1xuICogQHBhcmFtIGtleU5hbWUgdGhlIGtleSdzIG5hbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEtleSh0YXJnZXQsIGtleU5hbWU6IHN0cmluZyB8IHN5bWJvbCk6IHZvaWQge1xuICB0YXJnZXRbTkFFX0tFWV9OQU1FU10gPSB0YXJnZXRbTkFFX0tFWV9OQU1FU10gPyBbLi4udGFyZ2V0W05BRV9LRVlfTkFNRVNdLCBrZXlOYW1lXSA6IFtrZXlOYW1lXTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgTkFFX0tFWVMsIHsgZ2V0OiAoKSA9PiB0YXJnZXRbTkFFX0tFWV9OQU1FU10gfSk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BicmllYnVnL25ncngtYXV0by1lbnRpdHkvIiwic291cmNlcyI6WyJsaWIvZGVjb3JhdG9ycy9rZXktZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFRMUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBd0I7SUFDbEQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGtCQUFLLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRSxPQUFPLEdBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEcsZ0RBQWdEO0lBQ2hELENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUc7OztRQUFFLGNBQU0sT0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQXJCLENBQXFCLENBQUEsRUFBRSxDQUFDLENBQUM7QUFDckcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5BRV9LRVlfTkFNRVMsIE5BRV9LRVlTIH0gZnJvbSAnLi9lbnRpdHktdG9rZW5zJztcblxuLyoqXG4gKiBVc2VkIHRvIGRlc2lnbmF0ZSB0aGUga2V5IHByb3BlcnR5IGZvciB0aGUgZW50aXR5XG4gKlxuICogQHBhcmFtIHRhcmdldCB0aGUgZW50aXR5J3MgY2xhc3NcbiAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXkncyBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBLZXkodGFyZ2V0LCBrZXlOYW1lOiBzdHJpbmcgfCBzeW1ib2wpOiB2b2lkIHtcbiAgdGFyZ2V0W05BRV9LRVlfTkFNRVNdID0gdGFyZ2V0W05BRV9LRVlfTkFNRVNdID8gWy4uLnRhcmdldFtOQUVfS0VZX05BTUVTXSwga2V5TmFtZV0gOiBba2V5TmFtZV07XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAhdGFyZ2V0W05BRV9LRVlTXSAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBOQUVfS0VZUywgeyBnZXQ6ICgpID0+IHRhcmdldFtOQUVfS0VZX05BTUVTXSB9KTtcbn1cbiJdfQ==

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

/** @type {?|undefined} */
IEntityState.prototype.updatedAt;
/** @type {?|undefined} */
IEntityState.prototype.replacedAt;
/** @type {?|undefined} */
IEntityState.prototype.deletedAt;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL2VudGl0eS1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBT0EsdUNBRUM7Ozs7Ozs7QUFNRCxrQ0FpQkM7OztJQWhCQyxnQ0FBb0M7O0lBQ3BDLDJCQUFzQjs7SUFDdEIsd0NBQWtDOztJQUNsQywyQ0FBdUM7O0lBQ3ZDLG9DQUErQjs7SUFDL0IsK0JBQWtCOztJQUNsQixtQ0FBbUI7O0lBQ25CLG9DQUFxQjs7SUFDckIsMENBQTRCOztJQUM1QixpQ0FBb0I7O0lBQ3BCLGdDQUFtQjs7SUFDbkIsa0NBQXFCOztJQUNyQixnQ0FBa0I7O0lBQ2xCLCtCQUFpQjs7SUFDakIsaUNBQW1COztJQUNuQixpQ0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlLCBSYW5nZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBFbnRpdHlJZGVudGl0eSB9IGZyb20gJy4uL3R5cGVzL2VudGl0eS1pZGVudGl0eSc7XG5cbi8qKlxuICogU3RydWN0dXJlIGZvciBob3cgZW50aXRpZXMgYXJlIHN0b3JlZCB3aXRoaW4gdGhlIGBlbnRpdGllc2Agc3RhdGUgcHJvcGVydHk6XG4gKiBhIHNpbmdsZSBvYmplY3Qgd2l0aCB0aGUga2V5IGJlaW5nIGVhY2ggZW50aXR5J3MgQEtleSB2YWx1ZSBhbmQgdGhlIHZhbHVlIGJlaW5nIHRoZSBlbnRpdHkgaXRzZWxmXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPiB7XG4gIFtrZXk6IHN0cmluZ106IFRNb2RlbDtcbn1cblxuLyoqXG4gKiBTdHJ1Y3R1cmUgZm9yIGhvdyBlbnRpdGllcyBhcmUgc3RvcmVkLCBpbmNsdWRpbmcgdXNlZnVsIGNvbXB1dGVkIHByb3BlcnRpZXNcbiAqIHN1Y2ggYXMgYW4gYXJyYXkgb2YgdGhlaXIga2V5cywgc3RhdHVzIGZsYWdzLCB0aW1lc3RhbXBzLCBldGMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eVN0YXRlPFRNb2RlbD4ge1xuICBlbnRpdGllczogSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPjtcbiAgaWRzOiBFbnRpdHlJZGVudGl0eVtdO1xuICBjdXJyZW50RW50aXR5S2V5PzogRW50aXR5SWRlbnRpdHk7XG4gIGN1cnJlbnRFbnRpdGllc0tleXM/OiBFbnRpdHlJZGVudGl0eVtdO1xuICBlZGl0ZWRFbnRpdHk/OiBQYXJ0aWFsPFRNb2RlbD47XG4gIGlzRGlydHk/OiBib29sZWFuO1xuICBjdXJyZW50UGFnZT86IFBhZ2U7XG4gIGN1cnJlbnRSYW5nZT86IFJhbmdlO1xuICB0b3RhbFBhZ2VhYmxlQ291bnQ/OiBudW1iZXI7XG4gIGlzTG9hZGluZz86IGJvb2xlYW47XG4gIGlzU2F2aW5nPzogYm9vbGVhbjtcbiAgaXNEZWxldGluZz86IGJvb2xlYW47XG4gIGxvYWRlZEF0PzogbnVtYmVyO1xuICBzYXZlZEF0PzogbnVtYmVyO1xuICBjcmVhdGVkQXQ/OiBudW1iZXI7XG4gIGRlbGV0ZWRBdD86IG51bWJlcjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL2VudGl0eS1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBT0EsdUNBRUM7Ozs7Ozs7QUFNRCxrQ0FtQkM7OztJQWxCQyxnQ0FBb0M7O0lBQ3BDLDJCQUFzQjs7SUFDdEIsd0NBQWtDOztJQUNsQywyQ0FBdUM7O0lBQ3ZDLG9DQUErQjs7SUFDL0IsK0JBQWtCOztJQUNsQixtQ0FBbUI7O0lBQ25CLG9DQUFxQjs7SUFDckIsMENBQTRCOztJQUM1QixpQ0FBb0I7O0lBQ3BCLGdDQUFtQjs7SUFDbkIsa0NBQXFCOztJQUNyQixnQ0FBa0I7O0lBQ2xCLCtCQUFpQjs7SUFDakIsaUNBQW1COztJQUNuQixpQ0FBbUI7O0lBQ25CLGtDQUFvQjs7SUFDcEIsaUNBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZSwgUmFuZ2UgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRW50aXR5SWRlbnRpdHkgfSBmcm9tICcuLi90eXBlcy9lbnRpdHktaWRlbnRpdHknO1xuXG4vKipcbiAqIFN0cnVjdHVyZSBmb3IgaG93IGVudGl0aWVzIGFyZSBzdG9yZWQgd2l0aGluIHRoZSBgZW50aXRpZXNgIHN0YXRlIHByb3BlcnR5OlxuICogYSBzaW5nbGUgb2JqZWN0IHdpdGggdGhlIGtleSBiZWluZyBlYWNoIGVudGl0eSdzIEBLZXkgdmFsdWUgYW5kIHRoZSB2YWx1ZSBiZWluZyB0aGUgZW50aXR5IGl0c2VsZlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4ge1xuICBba2V5OiBzdHJpbmddOiBUTW9kZWw7XG59XG5cbi8qKlxuICogU3RydWN0dXJlIGZvciBob3cgZW50aXRpZXMgYXJlIHN0b3JlZCwgaW5jbHVkaW5nIHVzZWZ1bCBjb21wdXRlZCBwcm9wZXJ0aWVzXG4gKiBzdWNoIGFzIGFuIGFycmF5IG9mIHRoZWlyIGtleXMsIHN0YXR1cyBmbGFncywgdGltZXN0YW1wcywgZXRjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlTdGF0ZTxUTW9kZWw+IHtcbiAgZW50aXRpZXM6IElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD47XG4gIGlkczogRW50aXR5SWRlbnRpdHlbXTtcbiAgY3VycmVudEVudGl0eUtleT86IEVudGl0eUlkZW50aXR5O1xuICBjdXJyZW50RW50aXRpZXNLZXlzPzogRW50aXR5SWRlbnRpdHlbXTtcbiAgZWRpdGVkRW50aXR5PzogUGFydGlhbDxUTW9kZWw+O1xuICBpc0RpcnR5PzogYm9vbGVhbjtcbiAgY3VycmVudFBhZ2U/OiBQYWdlO1xuICBjdXJyZW50UmFuZ2U/OiBSYW5nZTtcbiAgdG90YWxQYWdlYWJsZUNvdW50PzogbnVtYmVyO1xuICBpc0xvYWRpbmc/OiBib29sZWFuO1xuICBpc1NhdmluZz86IGJvb2xlYW47XG4gIGlzRGVsZXRpbmc/OiBib29sZWFuO1xuICBsb2FkZWRBdD86IG51bWJlcjtcbiAgc2F2ZWRBdD86IG51bWJlcjtcbiAgY3JlYXRlZEF0PzogbnVtYmVyO1xuICB1cGRhdGVkQXQ/OiBudW1iZXI7XG4gIHJlcGxhY2VkQXQ/OiBudW1iZXI7XG4gIGRlbGV0ZWRBdD86IG51bWJlcjtcbn1cbiJdfQ==

@@ -41,2 +41,5 @@ /**

this.total$ = this.store.select(selectors.selectTotal);
this.hasEntities$ = this.store.select(selectors.selectHasEntities);
this.hasNoEntities$ = this.store.select(selectors.selectHasNoEntities);
this.total$ = this.store.select(selectors.selectTotal);
this.current$ = this.store.select(selectors.selectCurrentEntity);

@@ -57,2 +60,4 @@ this.currentKey$ = this.store.select(selectors.selectCurrentEntityKey);

this.createdAt$ = this.store.select(selectors.selectCreatedAt);
this.updatedAt$ = this.store.select(selectors.selectUpdatedAt);
this.replacedAt$ = this.store.select(selectors.selectReplacedAt);
this.deletedAt$ = this.store.select(selectors.selectDeletedAt);

@@ -728,2 +733,2 @@ }

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3V0aWwvZmFjYWRlLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hC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Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDbGVhciB9IGZyb20gJy4uL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyBDcmVhdGUsIENyZWF0ZU1hbnkgfSBmcm9tICcuLi9hY3Rpb25zL2NyZWF0ZS1hY3Rpb25zJztcbmltcG9ydCB7IERlbGV0ZSwgRGVsZXRlTWFueSB9IGZyb20gJy4uL2FjdGlvbnMvZGVsZXRlLWFjdGlvbnMnO1xuaW1wb3J0IHsgRGVsZXRlQnlLZXksIERlbGV0ZU1hbnlCeUtleXMgfSBmcm9tICcuLi9hY3Rpb25zL2RlbGV0ZS1ieS1rZXktYWN0aW9ucyc7XG5pbXBvcnQgeyBEZXNlbGVjdCwgRGVzZWxlY3RBbGwsIERlc2VsZWN0TWFueSwgRGVzZWxlY3RNYW55QnlLZXlzIH0gZnJvbSAnLi4vYWN0aW9ucy9kZXNlbGVjdGlvbi1hY3Rpb25zJztcbmltcG9ydCB7IENoYW5nZSwgRWRpdCwgRWRpdEJ5S2V5LCBFZGl0TmV3LCBFbmRFZGl0IH0gZnJvbSAnLi4vYWN0aW9ucy9lZGl0LWFjdGlvbnMnO1xuaW1wb3J0IHsgTG9hZCwgTG9hZElmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLWFjdGlvbnMnO1xuaW1wb3J0IHsgTG9hZEFsbCwgTG9hZEFsbElmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLWFsbC1hY3Rpb25zJztcbmltcG9ydCB7IExvYWRNYW55LCBMb2FkTWFueUlmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLW1hbnktYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2FkUGFnZSwgTG9hZFBhZ2VJZk5lY2Vzc2FyeSB9IGZyb20gJy4uL2FjdGlvbnMvbG9hZC1wYWdlLWFjdGlvbnMnO1xuaW1wb3J0IHsgTG9hZFJhbmdlLCBMb2FkUmFuZ2VJZk5lY2Vzc2FyeSB9IGZyb20gJy4uL2FjdGlvbnMvbG9hZC1yYW5nZS1hY3Rpb25zJztcbmltcG9ydCB7IFJlcGxhY2UsIFJlcGxhY2VNYW55IH0gZnJvbSAnLi4vYWN0aW9ucy9yZXBsYWNlLWFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgU2VsZWN0LFxuICBTZWxlY3RCeUtleSxcbiAgU2VsZWN0TWFueSxcbiAgU2VsZWN0TWFueUJ5S2V5cyxcbiAgU2VsZWN0TW9yZSxcbiAgU2VsZWN0TW9yZUJ5S2V5c1xufSBmcm9tICcuLi9hY3Rpb25zL3NlbGVjdGlvbi1hY3Rpb25zJztcbmltcG9ydCB7IFVwZGF0ZSwgVXBkYXRlTWFueSB9IGZyb20gJy4uL2FjdGlvbnMvdXBkYXRlLWFjdGlvbnMnO1xuaW1wb3J0IHsgVXBzZXJ0LCBVcHNlcnRNYW55IH0gZnJvbSAnLi4vYWN0aW9ucy91cHNlcnQtYWN0aW9ucyc7XG5pbXBvcnQgeyBQYWdlLCBSYW5nZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBFbnRpdHlJZGVudGl0eSB9IGZyb20gJy4uL3R5cGVzL2VudGl0eS1pZGVudGl0eSc7XG5pbXBvcnQgeyBJRW50aXR5RGljdGlvbmFyeSB9IGZyb20gJy4vZW50aXR5LXN0YXRlJztcbmltcG9ydCB7IElFbnRpdHlGYWNhZGUgfSBmcm9tICcuL2ZhY2FkZSc7XG5pbXBvcnQgeyBJU2VsZWN0b3JNYXAgfSBmcm9tICcuL3NlbGVjdG9yLW1hcCc7XG5cbi8qKlxuICogQnVpbGRzIGEgbmV3IGZhY2FkZSBjbGFzcyBmb3IgdGhlIHNwZWNpZmllZCBlbnRpdHkgbW9kZWwgYW5kIHBhcmVudCBzdGF0ZS5cbiAqIEBwYXJhbSBzZWxlY3RvcnMgLSB0aGUgc2VsZWN0b3IgbWFwIGZvciB0aGUgc3BlY2lmaWVkIGVudGl0eVxuICovXG5leHBvcnQgY29uc3QgYnVpbGRGYWNhZGUgPSA8VE1vZGVsLCBUUGFyZW50U3RhdGU+KHNlbGVjdG9yczogSVNlbGVjdG9yTWFwPFRQYXJlbnRTdGF0ZSwgVE1vZGVsPikgPT4ge1xuICBjb25zdCBCYXNlRmFjYWRlID0gY2xhc3MgRmFjYWRlIGltcGxlbWVudHMgSUVudGl0eUZhY2FkZTxUTW9kZWw+IHtcbiAgICBtb2RlbFR5cGU6IG5ldyAoKSA9PiBUTW9kZWw7XG4gICAgc3RvcmU6IFN0b3JlPGFueT47XG5cbiAgICBjb25zdHJ1Y3Rvcihtb2RlbFR5cGU6IG5ldyAoKSA9PiBUTW9kZWwsIHN0b3JlOiBTdG9yZTxhbnk+KSB7XG4gICAgICB0aGlzLm1vZGVsVHlwZSA9IG1vZGVsVHlwZTtcbiAgICAgIHRoaXMuc3RvcmUgPSBzdG9yZTtcblxuICAgICAgdGhpcy5hbGwkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEFsbCk7XG4gICAgICB0aGlzLnNvcnRlZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0QWxsU29ydGVkKTtcbiAgICAgIHRoaXMuZW50aXRpZXMkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEVudGl0aWVzKTtcbiAgICAgIHRoaXMuaWRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJZHMpO1xuICAgICAgdGhpcy50b3RhbCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0VG90YWwpO1xuICAgICAgdGhpcy5jdXJyZW50JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50RW50aXR5KTtcbiAgICAgIHRoaXMuY3VycmVudEtleSQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3VycmVudEVudGl0eUtleSk7XG4gICAgICB0aGlzLmN1cnJlbnRTZXQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1cnJlbnRFbnRpdGllcyk7XG4gICAgICB0aGlzLmN1cnJlbnRTZXRLZXlzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50RW50aXRpZXNLZXlzKTtcbiAgICAgIHRoaXMuZWRpdGVkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RFZGl0ZWRFbnRpdHkpO1xuICAgICAgdGhpcy5pc0RpcnR5JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJc0RpcnR5KTtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1cnJlbnRQYWdlKTtcbiAgICAgIHRoaXMuY3VycmVudFJhbmdlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50UmFuZ2UpO1xuICAgICAgdGhpcy50b3RhbFBhZ2VhYmxlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RUb3RhbFBhZ2VhYmxlKTtcbiAgICAgIHRoaXMuaXNMb2FkaW5nJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJc0xvYWRpbmcpO1xuICAgICAgdGhpcy5pc1NhdmluZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0SXNTYXZpbmcpO1xuICAgICAgdGhpcy5pc0RlbGV0aW5nJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJc0RlbGV0aW5nKTtcbiAgICAgIHRoaXMubG9hZGVkQXQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdExvYWRlZEF0KTtcbiAgICAgIHRoaXMuc2F2ZWRBdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0U2F2ZWRBdCk7XG4gICAgICB0aGlzLmNyZWF0ZWRBdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3JlYXRlZEF0KTtcbiAgICAgIHRoaXMuZGVsZXRlZEF0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3REZWxldGVkQXQpO1xuICAgIH1cblxuICAgIC8vIHJlZ2lvbiBTZWxlY3Rpb25zXG4gICAgYWxsJDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gICAgc29ydGVkJDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gICAgZW50aXRpZXMkOiBPYnNlcnZhYmxlPElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4+O1xuICAgIGlkcyQ6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHlbXT47XG4gICAgdG90YWwkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgY3VycmVudCQ6IE9ic2VydmFibGU8VE1vZGVsPjtcbiAgICBjdXJyZW50S2V5JDogT2JzZXJ2YWJsZTxFbnRpdHlJZGVudGl0eT47XG4gICAgY3VycmVudFNldCQ6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuICAgIGN1cnJlbnRTZXRLZXlzJDogT2JzZXJ2YWJsZTxFbnRpdHlJZGVudGl0eVtdPjtcbiAgICBlZGl0ZWQkOiBPYnNlcnZhYmxlPFBhcnRpYWw8VE1vZGVsPj47XG4gICAgaXNEaXJ0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPFBhZ2U+O1xuICAgIGN1cnJlbnRSYW5nZSQ6IE9ic2VydmFibGU8UmFuZ2U+O1xuICAgIHRvdGFsUGFnZWFibGUkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgaXNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc1NhdmluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaXNEZWxldGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgbG9hZGVkQXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuICAgIHNhdmVkQXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuICAgIGNyZWF0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gICAgZGVsZXRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcblxuICAgIGN1c3RvbVNvcnRlZCQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUTW9kZWxbXT4ge1xuICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXN0b21Tb3J0ZWQsIHsgbmFtZSB9KTtcbiAgICB9XG4gICAgLy8gZW5kcmVnaW9uXG5cbiAgICAvLyByZWdpb24gQWN0aXZpdGllc1xuICAgIHNlbGVjdChlbnRpdHk6IFRNb2RlbCwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgU2VsZWN0KHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHNlbGVjdEJ5S2V5KGtleTogRW50aXR5SWRlbnRpdHksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdEJ5S2V5KHRoaXMubW9kZWxUeXBlLCBrZXksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHNlbGVjdE1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBTZWxlY3RNYW55KHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgc2VsZWN0TW9yZShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdE1vcmUodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBzZWxlY3RNYW55QnlLZXlzKGtleXM6IEVudGl0eUlkZW50aXR5W10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdE1hbnlCeUtleXModGhpcy5tb2RlbFR5cGUsIGtleXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHNlbGVjdE1vcmVCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgU2VsZWN0TW9yZUJ5S2V5cyh0aGlzLm1vZGVsVHlwZSwga2V5cywgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVzZWxlY3QodGhpcy5tb2RlbFR5cGUsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlc2VsZWN0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlc2VsZWN0TWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlc2VsZWN0TWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZXNlbGVjdE1hbnlCeUtleXModGhpcy5tb2RlbFR5cGUsIGtleXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlc2VsZWN0QWxsKGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlc2VsZWN0QWxsKHRoaXMubW9kZWxUeXBlLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBlZGl0KGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBFZGl0KHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGVkaXROZXcoZW50aXR5PzogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBFZGl0TmV3KHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGVkaXRCeUtleShrZXk6IEVudGl0eUlkZW50aXR5LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBFZGl0QnlLZXkodGhpcy5tb2RlbFR5cGUsIGtleSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgY2hhbmdlKGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBDaGFuZ2UodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZW5kRWRpdChjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBFbmRFZGl0KHRoaXMubW9kZWxUeXBlLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkKGtleXM/OiBhbnksIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkKHRoaXMubW9kZWxUeXBlLCBrZXlzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZElmTmVjZXNzYXJ5KGtleXM/OiBhbnksIGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRJZk5lY2Vzc2FyeSh0aGlzLm1vZGVsVHlwZSwga2V5cywgbWF4QWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZE1hbnkoY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRNYW55KHRoaXMubW9kZWxUeXBlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZE1hbnlJZk5lY2Vzc2FyeShjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkTWFueUlmTmVjZXNzYXJ5KHRoaXMubW9kZWxUeXBlLCBtYXhBZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkQWxsKGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkQWxsKHRoaXMubW9kZWxUeXBlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZEFsbElmTmVjZXNzYXJ5KGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRBbGxJZk5lY2Vzc2FyeSh0aGlzLm1vZGVsVHlwZSwgbWF4QWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZFBhZ2UocGFnZTogUGFnZSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRQYWdlKHRoaXMubW9kZWxUeXBlLCBwYWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZFBhZ2VJZk5lY2Vzc2FyeShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkUGFnZUlmTmVjZXNzYXJ5KHRoaXMubW9kZWxUeXBlLCBwYWdlLCBtYXhBZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkUmFuZ2UocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZFJhbmdlKHRoaXMubW9kZWxUeXBlLCByYW5nZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRSYW5nZUlmTmVjZXNzYXJ5KHJhbmdlOiBSYW5nZSwgY3JpdGVyaWE/OiBhbnksIG1heEFnZT86IG51bWJlciwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZFJhbmdlSWZOZWNlc3NhcnkodGhpcy5tb2RlbFR5cGUsIHJhbmdlLCBtYXhBZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBjcmVhdGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBDcmVhdGUodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGNyZWF0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQ3JlYXRlTWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICB1cGRhdGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBVcGRhdGUodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHVwZGF0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgVXBkYXRlTWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICB1cHNlcnQoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBVcHNlcnQodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHVwc2VydE1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgVXBzZXJ0TWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICByZXBsYWNlKGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgUmVwbGFjZSh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgcmVwbGFjZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgUmVwbGFjZU1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVsZXRlKGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVsZXRlKHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZWxldGVNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlbGV0ZU1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVsZXRlQnlLZXkoa2V5OiBzdHJpbmcgfCBudW1iZXIsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZWxldGVCeUtleSh0aGlzLm1vZGVsVHlwZSwga2V5LCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVsZXRlTWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVsZXRlTWFueUJ5S2V5cyh0aGlzLm1vZGVsVHlwZSwga2V5cywgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGNsZWFyKGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IENsZWFyKHRoaXMubW9kZWxUeXBlLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG4gICAgLy8gZW5kcmVnaW9uXG4gIH07XG5cbiAgcmV0dXJuIEJhc2VGYWNhZGU7XG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3V0aWwvZmFjYWRlLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hC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LGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7WUFDbEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQzlCLENBQUM7Ozs7O1FBRUQsc0JBQUs7Ozs7UUFBTCxVQUFNLGFBQXNCOztnQkFDcEIsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUM5QixDQUFDO1FBRUgsYUFBQztJQUFELENBQUMsQUF6U2tCLEdBeVNsQjtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDbGVhciB9IGZyb20gJy4uL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyBDcmVhdGUsIENyZWF0ZU1hbnkgfSBmcm9tICcuLi9hY3Rpb25zL2NyZWF0ZS1hY3Rpb25zJztcbmltcG9ydCB7IERlbGV0ZSwgRGVsZXRlTWFueSB9IGZyb20gJy4uL2FjdGlvbnMvZGVsZXRlLWFjdGlvbnMnO1xuaW1wb3J0IHsgRGVsZXRlQnlLZXksIERlbGV0ZU1hbnlCeUtleXMgfSBmcm9tICcuLi9hY3Rpb25zL2RlbGV0ZS1ieS1rZXktYWN0aW9ucyc7XG5pbXBvcnQgeyBEZXNlbGVjdCwgRGVzZWxlY3RBbGwsIERlc2VsZWN0TWFueSwgRGVzZWxlY3RNYW55QnlLZXlzIH0gZnJvbSAnLi4vYWN0aW9ucy9kZXNlbGVjdGlvbi1hY3Rpb25zJztcbmltcG9ydCB7IENoYW5nZSwgRWRpdCwgRWRpdEJ5S2V5LCBFZGl0TmV3LCBFbmRFZGl0IH0gZnJvbSAnLi4vYWN0aW9ucy9lZGl0LWFjdGlvbnMnO1xuaW1wb3J0IHsgTG9hZCwgTG9hZElmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLWFjdGlvbnMnO1xuaW1wb3J0IHsgTG9hZEFsbCwgTG9hZEFsbElmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLWFsbC1hY3Rpb25zJztcbmltcG9ydCB7IExvYWRNYW55LCBMb2FkTWFueUlmTmVjZXNzYXJ5IH0gZnJvbSAnLi4vYWN0aW9ucy9sb2FkLW1hbnktYWN0aW9ucyc7XG5pbXBvcnQgeyBMb2FkUGFnZSwgTG9hZFBhZ2VJZk5lY2Vzc2FyeSB9IGZyb20gJy4uL2FjdGlvbnMvbG9hZC1wYWdlLWFjdGlvbnMnO1xuaW1wb3J0IHsgTG9hZFJhbmdlLCBMb2FkUmFuZ2VJZk5lY2Vzc2FyeSB9IGZyb20gJy4uL2FjdGlvbnMvbG9hZC1yYW5nZS1hY3Rpb25zJztcbmltcG9ydCB7IFJlcGxhY2UsIFJlcGxhY2VNYW55IH0gZnJvbSAnLi4vYWN0aW9ucy9yZXBsYWNlLWFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgU2VsZWN0LFxuICBTZWxlY3RCeUtleSxcbiAgU2VsZWN0TWFueSxcbiAgU2VsZWN0TWFueUJ5S2V5cyxcbiAgU2VsZWN0TW9yZSxcbiAgU2VsZWN0TW9yZUJ5S2V5c1xufSBmcm9tICcuLi9hY3Rpb25zL3NlbGVjdGlvbi1hY3Rpb25zJztcbmltcG9ydCB7IFVwZGF0ZSwgVXBkYXRlTWFueSB9IGZyb20gJy4uL2FjdGlvbnMvdXBkYXRlLWFjdGlvbnMnO1xuaW1wb3J0IHsgVXBzZXJ0LCBVcHNlcnRNYW55IH0gZnJvbSAnLi4vYWN0aW9ucy91cHNlcnQtYWN0aW9ucyc7XG5pbXBvcnQgeyBQYWdlLCBSYW5nZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBFbnRpdHlJZGVudGl0eSB9IGZyb20gJy4uL3R5cGVzL2VudGl0eS1pZGVudGl0eSc7XG5pbXBvcnQgeyBJRW50aXR5RGljdGlvbmFyeSB9IGZyb20gJy4vZW50aXR5LXN0YXRlJztcbmltcG9ydCB7IElFbnRpdHlGYWNhZGUgfSBmcm9tICcuL2ZhY2FkZSc7XG5pbXBvcnQgeyBJU2VsZWN0b3JNYXAgfSBmcm9tICcuL3NlbGVjdG9yLW1hcCc7XG5cbi8qKlxuICogQnVpbGRzIGEgbmV3IGZhY2FkZSBjbGFzcyBmb3IgdGhlIHNwZWNpZmllZCBlbnRpdHkgbW9kZWwgYW5kIHBhcmVudCBzdGF0ZS5cbiAqIEBwYXJhbSBzZWxlY3RvcnMgLSB0aGUgc2VsZWN0b3IgbWFwIGZvciB0aGUgc3BlY2lmaWVkIGVudGl0eVxuICovXG5leHBvcnQgY29uc3QgYnVpbGRGYWNhZGUgPSA8VE1vZGVsLCBUUGFyZW50U3RhdGU+KHNlbGVjdG9yczogSVNlbGVjdG9yTWFwPFRQYXJlbnRTdGF0ZSwgVE1vZGVsPikgPT4ge1xuICBjb25zdCBCYXNlRmFjYWRlID0gY2xhc3MgRmFjYWRlIGltcGxlbWVudHMgSUVudGl0eUZhY2FkZTxUTW9kZWw+IHtcbiAgICBtb2RlbFR5cGU6IG5ldyAoKSA9PiBUTW9kZWw7XG4gICAgc3RvcmU6IFN0b3JlPGFueT47XG5cbiAgICBjb25zdHJ1Y3Rvcihtb2RlbFR5cGU6IG5ldyAoKSA9PiBUTW9kZWwsIHN0b3JlOiBTdG9yZTxhbnk+KSB7XG4gICAgICB0aGlzLm1vZGVsVHlwZSA9IG1vZGVsVHlwZTtcbiAgICAgIHRoaXMuc3RvcmUgPSBzdG9yZTtcblxuICAgICAgdGhpcy5hbGwkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEFsbCk7XG4gICAgICB0aGlzLnNvcnRlZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0QWxsU29ydGVkKTtcbiAgICAgIHRoaXMuZW50aXRpZXMkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEVudGl0aWVzKTtcbiAgICAgIHRoaXMuaWRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RJZHMpO1xuICAgICAgdGhpcy50b3RhbCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0VG90YWwpO1xuICAgICAgdGhpcy5oYXNFbnRpdGllcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0SGFzRW50aXRpZXMpO1xuICAgICAgdGhpcy5oYXNOb0VudGl0aWVzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RIYXNOb0VudGl0aWVzKTtcbiAgICAgIHRoaXMudG90YWwkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdFRvdGFsKTtcbiAgICAgIHRoaXMuY3VycmVudCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3VycmVudEVudGl0eSk7XG4gICAgICB0aGlzLmN1cnJlbnRLZXkkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdEN1cnJlbnRFbnRpdHlLZXkpO1xuICAgICAgdGhpcy5jdXJyZW50U2V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50RW50aXRpZXMpO1xuICAgICAgdGhpcy5jdXJyZW50U2V0S2V5cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3VycmVudEVudGl0aWVzS2V5cyk7XG4gICAgICB0aGlzLmVkaXRlZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0RWRpdGVkRW50aXR5KTtcbiAgICAgIHRoaXMuaXNEaXJ0eSQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0SXNEaXJ0eSk7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RDdXJyZW50UGFnZSk7XG4gICAgICB0aGlzLmN1cnJlbnRSYW5nZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3VycmVudFJhbmdlKTtcbiAgICAgIHRoaXMudG90YWxQYWdlYWJsZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0VG90YWxQYWdlYWJsZSk7XG4gICAgICB0aGlzLmlzTG9hZGluZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0SXNMb2FkaW5nKTtcbiAgICAgIHRoaXMuaXNTYXZpbmckID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdElzU2F2aW5nKTtcbiAgICAgIHRoaXMuaXNEZWxldGluZyQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0SXNEZWxldGluZyk7XG4gICAgICB0aGlzLmxvYWRlZEF0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KHNlbGVjdG9ycy5zZWxlY3RMb2FkZWRBdCk7XG4gICAgICB0aGlzLnNhdmVkQXQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdFNhdmVkQXQpO1xuICAgICAgdGhpcy5jcmVhdGVkQXQkID0gdGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0b3JzLnNlbGVjdENyZWF0ZWRBdCk7XG4gICAgICB0aGlzLnVwZGF0ZWRBdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0VXBkYXRlZEF0KTtcbiAgICAgIHRoaXMucmVwbGFjZWRBdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0UmVwbGFjZWRBdCk7XG4gICAgICB0aGlzLmRlbGV0ZWRBdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0RGVsZXRlZEF0KTtcbiAgICB9XG5cbiAgICAvLyByZWdpb24gU2VsZWN0aW9uc1xuICAgIGFsbCQ6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuICAgIHNvcnRlZCQ6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuICAgIGVudGl0aWVzJDogT2JzZXJ2YWJsZTxJRW50aXR5RGljdGlvbmFyeTxUTW9kZWw+PjtcbiAgICBpZHMkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5W10+O1xuICAgIHRvdGFsJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIGhhc0VudGl0aWVzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoYXNOb0VudGl0aWVzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjdXJyZW50JDogT2JzZXJ2YWJsZTxUTW9kZWw+O1xuICAgIGN1cnJlbnRLZXkkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5PjtcbiAgICBjdXJyZW50U2V0JDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gICAgY3VycmVudFNldEtleXMkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5W10+O1xuICAgIGVkaXRlZCQ6IE9ic2VydmFibGU8UGFydGlhbDxUTW9kZWw+PjtcbiAgICBpc0RpcnR5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBjdXJyZW50UGFnZSQ6IE9ic2VydmFibGU8UGFnZT47XG4gICAgY3VycmVudFJhbmdlJDogT2JzZXJ2YWJsZTxSYW5nZT47XG4gICAgdG90YWxQYWdlYWJsZSQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBpc0xvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzU2F2aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc0RlbGV0aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBsb2FkZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gICAgc2F2ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gICAgY3JlYXRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgICB1cGRhdGVkQXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuICAgIHJlcGxhY2VkQXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuICAgIGRlbGV0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG5cbiAgICBjdXN0b21Tb3J0ZWQkKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VE1vZGVsW10+IHtcbiAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChzZWxlY3RvcnMuc2VsZWN0Q3VzdG9tU29ydGVkLCB7IG5hbWUgfSk7XG4gICAgfVxuICAgIC8vIGVuZHJlZ2lvblxuXG4gICAgLy8gcmVnaW9uIEFjdGl2aXRpZXNcbiAgICBzZWxlY3QoZW50aXR5OiBUTW9kZWwsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdCh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBzZWxlY3RCeUtleShrZXk6IEVudGl0eUlkZW50aXR5LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBTZWxlY3RCeUtleSh0aGlzLm1vZGVsVHlwZSwga2V5LCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBzZWxlY3RNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgU2VsZWN0TWFueSh0aGlzLm1vZGVsVHlwZSwgZW50aXRpZXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHNlbGVjdE1vcmUoZW50aXRpZXM6IFRNb2RlbFtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBTZWxlY3RNb3JlKHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgc2VsZWN0TWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBTZWxlY3RNYW55QnlLZXlzKHRoaXMubW9kZWxUeXBlLCBrZXlzLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBzZWxlY3RNb3JlQnlLZXlzKGtleXM6IEVudGl0eUlkZW50aXR5W10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFNlbGVjdE1vcmVCeUtleXModGhpcy5tb2RlbFR5cGUsIGtleXMsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlc2VsZWN0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlc2VsZWN0KHRoaXMubW9kZWxUeXBlLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZXNlbGVjdE1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZXNlbGVjdE1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZXNlbGVjdE1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVzZWxlY3RNYW55QnlLZXlzKHRoaXMubW9kZWxUeXBlLCBrZXlzLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBkZXNlbGVjdEFsbChjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZXNlbGVjdEFsbCh0aGlzLm1vZGVsVHlwZSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZWRpdChlbnRpdHk6IFBhcnRpYWw8VE1vZGVsPiwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRWRpdCh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBlZGl0TmV3KGVudGl0eT86IFBhcnRpYWw8VE1vZGVsPiwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRWRpdE5ldyh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBlZGl0QnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRWRpdEJ5S2V5KHRoaXMubW9kZWxUeXBlLCBrZXksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGNoYW5nZShlbnRpdHk6IFBhcnRpYWw8VE1vZGVsPiwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQ2hhbmdlKHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGVuZEVkaXQoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRW5kRWRpdCh0aGlzLm1vZGVsVHlwZSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZChrZXlzPzogYW55LCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZCh0aGlzLm1vZGVsVHlwZSwga2V5cywgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRJZk5lY2Vzc2FyeShrZXlzPzogYW55LCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkSWZOZWNlc3NhcnkodGhpcy5tb2RlbFR5cGUsIGtleXMsIG1heEFnZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRNYW55KGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkTWFueSh0aGlzLm1vZGVsVHlwZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRNYW55SWZOZWNlc3NhcnkoY3JpdGVyaWE/OiBhbnksIG1heEFnZT86IG51bWJlciwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZE1hbnlJZk5lY2Vzc2FyeSh0aGlzLm1vZGVsVHlwZSwgbWF4QWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZEFsbChjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZEFsbCh0aGlzLm1vZGVsVHlwZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRBbGxJZk5lY2Vzc2FyeShjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkQWxsSWZOZWNlc3NhcnkodGhpcy5tb2RlbFR5cGUsIG1heEFnZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRQYWdlKHBhZ2U6IFBhZ2UsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBMb2FkUGFnZSh0aGlzLm1vZGVsVHlwZSwgcGFnZSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGxvYWRQYWdlSWZOZWNlc3NhcnkocGFnZTogUGFnZSwgY3JpdGVyaWE/OiBhbnksIG1heEFnZT86IG51bWJlciwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgTG9hZFBhZ2VJZk5lY2Vzc2FyeSh0aGlzLm1vZGVsVHlwZSwgcGFnZSwgbWF4QWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgbG9hZFJhbmdlKHJhbmdlOiBSYW5nZSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRSYW5nZSh0aGlzLm1vZGVsVHlwZSwgcmFuZ2UsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBsb2FkUmFuZ2VJZk5lY2Vzc2FyeShyYW5nZTogUmFuZ2UsIGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IExvYWRSYW5nZUlmTmVjZXNzYXJ5KHRoaXMubW9kZWxUeXBlLCByYW5nZSwgbWF4QWdlLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgY3JlYXRlKGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQ3JlYXRlKHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBjcmVhdGVNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IENyZWF0ZU1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgdXBkYXRlKGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgVXBkYXRlKHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICB1cGRhdGVNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFVwZGF0ZU1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgdXBzZXJ0KGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgVXBzZXJ0KHRoaXMubW9kZWxUeXBlLCBlbnRpdHksIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICB1cHNlcnRNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFVwc2VydE1hbnkodGhpcy5tb2RlbFR5cGUsIGVudGl0aWVzLCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgcmVwbGFjZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFJlcGxhY2UodGhpcy5tb2RlbFR5cGUsIGVudGl0eSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIHJlcGxhY2VNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFJlcGxhY2VNYW55KHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlbGV0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlbGV0ZSh0aGlzLm1vZGVsVHlwZSwgZW50aXR5LCBjcml0ZXJpYSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuXG4gICAgZGVsZXRlTWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBEZWxldGVNYW55KHRoaXMubW9kZWxUeXBlLCBlbnRpdGllcywgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlbGV0ZUJ5S2V5KGtleTogc3RyaW5nIHwgbnVtYmVyLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBuZXcgRGVsZXRlQnlLZXkodGhpcy5tb2RlbFR5cGUsIGtleSwgY3JpdGVyaWEsIGNvcnJlbGF0aW9uSWQpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5jb3JyZWxhdGlvbklkO1xuICAgIH1cblxuICAgIGRlbGV0ZU1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IERlbGV0ZU1hbnlCeUtleXModGhpcy5tb2RlbFR5cGUsIGtleXMsIGNyaXRlcmlhLCBjb3JyZWxhdGlvbklkKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICAgIHJldHVybiBhY3Rpb24uY29ycmVsYXRpb25JZDtcbiAgICB9XG5cbiAgICBjbGVhcihjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBDbGVhcih0aGlzLm1vZGVsVHlwZSwgY29ycmVsYXRpb25JZCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgICByZXR1cm4gYWN0aW9uLmNvcnJlbGF0aW9uSWQ7XG4gICAgfVxuICAgIC8vIGVuZHJlZ2lvblxuICB9O1xuXG4gIHJldHVybiBCYXNlRmFjYWRlO1xufTtcbiJdfQ==

@@ -23,2 +23,6 @@ /**

/** @type {?} */
IEntityFacade.prototype.hasEntities$;
/** @type {?} */
IEntityFacade.prototype.hasNoEntities$;
/** @type {?} */
IEntityFacade.prototype.current$;

@@ -54,2 +58,6 @@ /** @type {?} */

/** @type {?} */
IEntityFacade.prototype.updatedAt$;
/** @type {?} */
IEntityFacade.prototype.replacedAt$;
/** @type {?} */
IEntityFacade.prototype.deletedAt$;

@@ -309,2 +317,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL2ZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQSxtQ0F1RUM7OztJQXRFQyw2QkFBMkI7O0lBQzNCLGdDQUE4Qjs7SUFDOUIsa0NBQWlEOztJQUNqRCw2QkFBbUM7O0lBQ25DLCtCQUEyQjs7SUFDM0IsaUNBQTZCOztJQUM3QixvQ0FBd0M7O0lBQ3hDLG9DQUFrQzs7SUFDbEMsd0NBQThDOztJQUM5QyxnQ0FBcUM7O0lBQ3JDLGlDQUE4Qjs7SUFDOUIscUNBQStCOztJQUMvQixzQ0FBaUM7O0lBQ2pDLHVDQUFtQzs7SUFDbkMsbUNBQWdDOztJQUNoQyxrQ0FBK0I7O0lBQy9CLG9DQUFpQzs7SUFDakMsa0NBQTRCOztJQUM1QixpQ0FBMkI7O0lBQzNCLG1DQUE2Qjs7SUFDN0IsbUNBQTZCOzs7OztJQUM3Qiw0REFBa0Q7Ozs7OztJQUVsRCxzRUFBdUQ7Ozs7OztJQUN2RCx3RUFBaUU7Ozs7OztJQUNqRSw0RUFBK0Q7Ozs7OztJQUMvRCw0RUFBK0Q7Ozs7OztJQUMvRCw4RUFBeUU7Ozs7OztJQUN6RSw4RUFBeUU7Ozs7O0lBRXpFLGdFQUF5Qzs7Ozs7O0lBQ3pDLDhFQUFpRTs7Ozs7O0lBQ2pFLGdGQUEyRTs7Ozs7SUFDM0UsbUVBQTRDOzs7Ozs7SUFFNUMsdUVBQWtFOzs7Ozs7SUFDbEUsb0VBQThEOzs7Ozs7SUFDOUQsc0VBQStEOzs7Ozs7SUFDL0Qsc0VBQWdFOzs7OztJQUNoRSwrREFBd0M7Ozs7Ozs7SUFFeEMsNEVBQWlFOzs7Ozs7OztJQUNqRSwrRkFBNkY7Ozs7OztJQUM3RiwwRUFBeUQ7Ozs7Ozs7SUFDekQsNkZBQXFGOzs7Ozs7SUFDckYseUVBQXdEOzs7Ozs7O0lBQ3hELDRGQUFvRjs7Ozs7OztJQUNwRixnRkFBcUU7Ozs7Ozs7O0lBQ3JFLG1HQUFpRzs7Ozs7OztJQUNqRyxrRkFBd0U7Ozs7Ozs7O0lBQ3hFLHFHQUFvRzs7Ozs7OztJQUVwRyxnRkFBdUU7Ozs7Ozs7SUFDdkUsc0ZBQStFOzs7Ozs7O0lBRS9FLGdGQUF1RTs7Ozs7OztJQUN2RSxzRkFBK0U7Ozs7Ozs7SUFFL0UsZ0ZBQXVFOzs7Ozs7O0lBQ3ZFLHNGQUErRTs7Ozs7OztJQUUvRSxpRkFBd0U7Ozs7Ozs7SUFDeEUsdUZBQWdGOzs7Ozs7O0lBRWhGLGdGQUF1RTs7Ozs7OztJQUN2RSxzRkFBK0U7Ozs7Ozs7SUFDL0Usa0ZBQWlGOzs7Ozs7O0lBQ2pGLHdGQUF5Rjs7Ozs7SUFFekYsNkRBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50aXR5SWRlbnRpdHkgfSBmcm9tICcuLi90eXBlcy9lbnRpdHktaWRlbnRpdHknO1xuXG5pbXBvcnQgeyBQYWdlLCBSYW5nZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBJRW50aXR5RGljdGlvbmFyeSB9IGZyb20gJy4vZW50aXR5LXN0YXRlJztcblxuLyoqXG4gKiBUaGUgZGVmaW5pdGlvbiBvZiBhbiBBdXRvLUVudGl0eSBmYWNhZGUgY2xhc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRW50aXR5RmFjYWRlPFRNb2RlbD4ge1xuICBhbGwkOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcbiAgc29ydGVkJDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gIGVudGl0aWVzJDogT2JzZXJ2YWJsZTxJRW50aXR5RGljdGlvbmFyeTxUTW9kZWw+PjtcbiAgaWRzJDogT2JzZXJ2YWJsZTxFbnRpdHlJZGVudGl0eVtdPjtcbiAgdG90YWwkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGN1cnJlbnQkOiBPYnNlcnZhYmxlPFRNb2RlbD47XG4gIGN1cnJlbnRLZXkkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5PjtcbiAgY3VycmVudFNldCQ6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuICBjdXJyZW50U2V0S2V5cyQ6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHlbXT47XG4gIGVkaXRlZCQ6IE9ic2VydmFibGU8UGFydGlhbDxUTW9kZWw+PjtcbiAgaXNEaXJ0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGN1cnJlbnRQYWdlJDogT2JzZXJ2YWJsZTxQYWdlPjtcbiAgY3VycmVudFJhbmdlJDogT2JzZXJ2YWJsZTxSYW5nZT47XG4gIHRvdGFsUGFnZWFibGUkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGlzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGlzU2F2aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNEZWxldGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGxvYWRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgc2F2ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGNyZWF0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGRlbGV0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGN1c3RvbVNvcnRlZCQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgc2VsZWN0KGVudGl0eTogVE1vZGVsLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBzZWxlY3RCeUtleShrZXk6IEVudGl0eUlkZW50aXR5LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBzZWxlY3RNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgc2VsZWN0TW9yZShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHNlbGVjdE1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgc2VsZWN0TW9yZUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGRlc2VsZWN0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlc2VsZWN0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlc2VsZWN0TWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBkZXNlbGVjdEFsbChjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGVkaXROZXcoZW50aXR5PzogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlZGl0KGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlZGl0QnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgY2hhbmdlKGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlbmRFZGl0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgbG9hZChrZXlzPzogYW55LCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZElmTmVjZXNzYXJ5KGtleXM/OiBhbnksIGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRNYW55KGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkTWFueUlmTmVjZXNzYXJ5KGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRBbGwoY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRBbGxJZk5lY2Vzc2FyeShjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkUGFnZShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZFBhZ2VJZk5lY2Vzc2FyeShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkUmFuZ2UocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZFJhbmdlSWZOZWNlc3NhcnkocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGNyZWF0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGNyZWF0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcblxuICB1cGRhdGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICB1cGRhdGVNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgdXBzZXJ0KGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgdXBzZXJ0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIHJlcGxhY2UoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICByZXBsYWNlTWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGRlbGV0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlbGV0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgZGVsZXRlQnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlbGV0ZU1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgY2xlYXIoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjYWRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL2ZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQSxtQ0EyRUM7OztJQTFFQyw2QkFBMkI7O0lBQzNCLGdDQUE4Qjs7SUFDOUIsa0NBQWlEOztJQUNqRCw2QkFBbUM7O0lBQ25DLCtCQUEyQjs7SUFDM0IscUNBQWtDOztJQUNsQyx1Q0FBb0M7O0lBQ3BDLGlDQUE2Qjs7SUFDN0Isb0NBQXdDOztJQUN4QyxvQ0FBa0M7O0lBQ2xDLHdDQUE4Qzs7SUFDOUMsZ0NBQXFDOztJQUNyQyxpQ0FBOEI7O0lBQzlCLHFDQUErQjs7SUFDL0Isc0NBQWlDOztJQUNqQyx1Q0FBbUM7O0lBQ25DLG1DQUFnQzs7SUFDaEMsa0NBQStCOztJQUMvQixvQ0FBaUM7O0lBQ2pDLGtDQUE0Qjs7SUFDNUIsaUNBQTJCOztJQUMzQixtQ0FBNkI7O0lBQzdCLG1DQUE2Qjs7SUFDN0Isb0NBQThCOztJQUM5QixtQ0FBNkI7Ozs7O0lBQzdCLDREQUFrRDs7Ozs7O0lBRWxELHNFQUF1RDs7Ozs7O0lBQ3ZELHdFQUFpRTs7Ozs7O0lBQ2pFLDRFQUErRDs7Ozs7O0lBQy9ELDRFQUErRDs7Ozs7O0lBQy9ELDhFQUF5RTs7Ozs7O0lBQ3pFLDhFQUF5RTs7Ozs7SUFFekUsZ0VBQXlDOzs7Ozs7SUFDekMsOEVBQWlFOzs7Ozs7SUFDakUsZ0ZBQTJFOzs7OztJQUMzRSxtRUFBNEM7Ozs7OztJQUU1Qyx1RUFBa0U7Ozs7OztJQUNsRSxvRUFBOEQ7Ozs7OztJQUM5RCxzRUFBK0Q7Ozs7OztJQUMvRCxzRUFBZ0U7Ozs7O0lBQ2hFLCtEQUF3Qzs7Ozs7OztJQUV4Qyw0RUFBaUU7Ozs7Ozs7O0lBQ2pFLCtGQUE2Rjs7Ozs7O0lBQzdGLDBFQUF5RDs7Ozs7OztJQUN6RCw2RkFBcUY7Ozs7OztJQUNyRix5RUFBd0Q7Ozs7Ozs7SUFDeEQsNEZBQW9GOzs7Ozs7O0lBQ3BGLGdGQUFxRTs7Ozs7Ozs7SUFDckUsbUdBQWlHOzs7Ozs7O0lBQ2pHLGtGQUF3RTs7Ozs7Ozs7SUFDeEUscUdBQW9HOzs7Ozs7O0lBRXBHLGdGQUF1RTs7Ozs7OztJQUN2RSxzRkFBK0U7Ozs7Ozs7SUFFL0UsZ0ZBQXVFOzs7Ozs7O0lBQ3ZFLHNGQUErRTs7Ozs7OztJQUUvRSxnRkFBdUU7Ozs7Ozs7SUFDdkUsc0ZBQStFOzs7Ozs7O0lBRS9FLGlGQUF3RTs7Ozs7OztJQUN4RSx1RkFBZ0Y7Ozs7Ozs7SUFFaEYsZ0ZBQXVFOzs7Ozs7O0lBQ3ZFLHNGQUErRTs7Ozs7OztJQUMvRSxrRkFBaUY7Ozs7Ozs7SUFDakYsd0ZBQXlGOzs7OztJQUV6Riw2REFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbnRpdHlJZGVudGl0eSB9IGZyb20gJy4uL3R5cGVzL2VudGl0eS1pZGVudGl0eSc7XG5cbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5IH0gZnJvbSAnLi9lbnRpdHktc3RhdGUnO1xuXG4vKipcbiAqIFRoZSBkZWZpbml0aW9uIG9mIGFuIEF1dG8tRW50aXR5IGZhY2FkZSBjbGFzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHlGYWNhZGU8VE1vZGVsPiB7XG4gIGFsbCQ6IE9ic2VydmFibGU8VE1vZGVsW10+O1xuICBzb3J0ZWQkOiBPYnNlcnZhYmxlPFRNb2RlbFtdPjtcbiAgZW50aXRpZXMkOiBPYnNlcnZhYmxlPElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4+O1xuICBpZHMkOiBPYnNlcnZhYmxlPEVudGl0eUlkZW50aXR5W10+O1xuICB0b3RhbCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgaGFzRW50aXRpZXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBoYXNOb0VudGl0aWVzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgY3VycmVudCQ6IE9ic2VydmFibGU8VE1vZGVsPjtcbiAgY3VycmVudEtleSQ6IE9ic2VydmFibGU8RW50aXR5SWRlbnRpdHk+O1xuICBjdXJyZW50U2V0JDogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG4gIGN1cnJlbnRTZXRLZXlzJDogT2JzZXJ2YWJsZTxFbnRpdHlJZGVudGl0eVtdPjtcbiAgZWRpdGVkJDogT2JzZXJ2YWJsZTxQYXJ0aWFsPFRNb2RlbD4+O1xuICBpc0RpcnR5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgY3VycmVudFBhZ2UkOiBPYnNlcnZhYmxlPFBhZ2U+O1xuICBjdXJyZW50UmFuZ2UkOiBPYnNlcnZhYmxlPFJhbmdlPjtcbiAgdG90YWxQYWdlYWJsZSQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgaXNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNTYXZpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc0RlbGV0aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgbG9hZGVkQXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuICBzYXZlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgY3JlYXRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgdXBkYXRlZEF0JDogT2JzZXJ2YWJsZTxEYXRlPjtcbiAgcmVwbGFjZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGRlbGV0ZWRBdCQ6IE9ic2VydmFibGU8RGF0ZT47XG4gIGN1c3RvbVNvcnRlZCQobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUTW9kZWxbXT47XG5cbiAgc2VsZWN0KGVudGl0eTogVE1vZGVsLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBzZWxlY3RCeUtleShrZXk6IEVudGl0eUlkZW50aXR5LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBzZWxlY3RNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgc2VsZWN0TW9yZShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIHNlbGVjdE1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgc2VsZWN0TW9yZUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGRlc2VsZWN0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlc2VsZWN0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlc2VsZWN0TWFueUJ5S2V5cyhrZXlzOiBFbnRpdHlJZGVudGl0eVtdLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBkZXNlbGVjdEFsbChjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGVkaXROZXcoZW50aXR5PzogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlZGl0KGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlZGl0QnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgY2hhbmdlKGVudGl0eTogUGFydGlhbDxUTW9kZWw+LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBlbmRFZGl0KGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgbG9hZChrZXlzPzogYW55LCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZElmTmVjZXNzYXJ5KGtleXM/OiBhbnksIGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRNYW55KGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkTWFueUlmTmVjZXNzYXJ5KGNyaXRlcmlhPzogYW55LCBtYXhBZ2U/OiBudW1iZXIsIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRBbGwoY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGxvYWRBbGxJZk5lY2Vzc2FyeShjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkUGFnZShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZFBhZ2VJZk5lY2Vzc2FyeShwYWdlOiBQYWdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICBsb2FkUmFuZ2UocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgbG9hZFJhbmdlSWZOZWNlc3NhcnkocmFuZ2U6IFJhbmdlLCBjcml0ZXJpYT86IGFueSwgbWF4QWdlPzogbnVtYmVyLCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGNyZWF0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGNyZWF0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcblxuICB1cGRhdGUoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICB1cGRhdGVNYW55KGVudGl0aWVzOiBUTW9kZWxbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgdXBzZXJ0KGVudGl0eTogVE1vZGVsLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgdXBzZXJ0TWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIHJlcGxhY2UoZW50aXR5OiBUTW9kZWwsIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuICByZXBsYWNlTWFueShlbnRpdGllczogVE1vZGVsW10sIGNyaXRlcmlhPzogYW55LCBjb3JyZWxhdGlvbklkPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGRlbGV0ZShlbnRpdHk6IFRNb2RlbCwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlbGV0ZU1hbnkoZW50aXRpZXM6IFRNb2RlbFtdLCBjcml0ZXJpYT86IGFueSwgY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbiAgZGVsZXRlQnlLZXkoa2V5OiBFbnRpdHlJZGVudGl0eSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG4gIGRlbGV0ZU1hbnlCeUtleXMoa2V5czogRW50aXR5SWRlbnRpdHlbXSwgY3JpdGVyaWE/OiBhbnksIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgY2xlYXIoY29ycmVsYXRpb25JZD86IHN0cmluZyk6IHN0cmluZztcbn1cbiJdfQ==

@@ -76,2 +76,22 @@ /**

/** @type {?} */
export var mapToHasEntities = (/**
* @template TState, TModel, TExtra
* @param {?} state
* @return {?}
*/
function (state) {
return !state || !state.ids ? false : !!state.ids.length;
});
// prettier-ignore
/** @type {?} */
export var mapToHasNoEntities = (/**
* @template TState, TModel, TExtra
* @param {?} state
* @return {?}
*/
function (state) {
return !state || !state.ids ? true : !state.ids.length;
});
// prettier-ignore
/** @type {?} */
export var mapToCurrentEntity = (/**

@@ -233,2 +253,22 @@ * @template TState, TModel, TExtra

/** @type {?} */
export var mapToUpdatedAt = (/**
* @template TState, TModel, TExtra
* @param {?} state
* @return {?}
*/
function (state) {
return (!state || !state.updatedAt ? null : new Date(state.updatedAt));
});
// prettier-ignore
/** @type {?} */
export var mapToReplacedAt = (/**
* @template TState, TModel, TExtra
* @param {?} state
* @return {?}
*/
function (state) {
return (!state || !state.replacedAt ? null : new Date(state.replacedAt));
});
// prettier-ignore
/** @type {?} */
export var mapToDeletedAt = (/**

@@ -257,2 +297,6 @@ * @template TState, TModel, TExtra

/** @type {?} */
var selectHasEntities = createSelector(getState, mapToHasEntities);
/** @type {?} */
var selectHasNoEntities = createSelector(getState, mapToHasNoEntities);
/** @type {?} */
var selectAll = createSelector(selectEntities, selectIds, mapToEntityArray);

@@ -294,2 +338,6 @@ /** @type {?} */

/** @type {?} */
var selectUpdatedAt = createSelector(getState, mapToUpdatedAt);
/** @type {?} */
var selectReplacedAt = createSelector(getState, mapToReplacedAt);
/** @type {?} */
var selectDeletedAt = createSelector(getState, mapToDeletedAt);

@@ -303,2 +351,4 @@ return (/** @type {?} */ ({

selectTotal: selectTotal,
selectHasEntities: selectHasEntities,
selectHasNoEntities: selectHasNoEntities,
selectCurrentEntity: selectCurrentEntity,

@@ -319,5 +369,7 @@ selectCurrentEntityKey: selectCurrentEntityKey,

selectCreatedAt: selectCreatedAt,
selectUpdatedAt: selectUpdatedAt,
selectReplacedAt: selectReplacedAt,
selectDeletedAt: selectDeletedAt
}));
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWFwLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3V0aWwvc2VsZWN0b3ItbWFwLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQThCLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTzNELE1BQU0sS0FBTyxnQkFBZ0I7Ozs7OztBQUMzQixVQUFTLFFBQW1DLEVBQUUsR0FBcUI7SUFDakUsT0FBQSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHOzs7O0lBQUMsVUFBQSxFQUFFLElBQUksT0FBQSxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQVosQ0FBWSxFQUFDLENBQUM7QUFBdEQsQ0FBc0QsQ0FBQTs7O0FBRzFELE1BQU0sS0FBTyxzQkFBc0I7Ozs7O0FBQ2pDLFVBQVMsR0FBYTtJQUNwQixPQUFBLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQXpDLENBQXlDLENBQUE7OztBQUc3QyxNQUFNLEtBQU8sNEJBQTRCOzs7Ozs7QUFDdkMsVUFBUyxHQUFhLEVBQUUsRUFBUTtRQUFOLGNBQUk7SUFDNUIsT0FBQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFBL0MsQ0FBK0MsQ0FBQTs7O0FBR25ELE1BQU0sS0FBTyxhQUFhOzs7OztBQUN4QixVQUFzRCxLQUFzQjtJQUMxRSxPQUFBLENB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cUJBQXFCLHVCQUFBO1FBQ3JCLHlCQUF5QiwyQkFBQTtRQUN6QixrQkFBa0Isb0JBQUE7UUFDbEIsYUFBYSxlQUFBO1FBQ2IsaUJBQWlCLG1CQUFBO1FBQ2pCLGtCQUFrQixvQkFBQTtRQUNsQixtQkFBbUIscUJBQUE7UUFDbkIsZUFBZSxpQkFBQTtRQUNmLGNBQWMsZ0JBQUE7UUFDZCxnQkFBZ0Isa0JBQUE7UUFDaEIsY0FBYyxnQkFBQTtRQUNkLGFBQWEsZUFBQTtRQUNiLGVBQWUsaUJBQUE7UUFDZixlQUFlLGlCQUFBO0tBQ2hCLEVBQXNDLENBQUM7QUFDMUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IsIE1lbW9pemVkU2VsZWN0b3IsIFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgZW50aXR5Q29tcGFyZXIgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2VudGl0eS11dGlsJztcbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEVudGl0eUlkZW50aXR5IH0gZnJvbSAnLi4vdHlwZXMvZW50aXR5LWlkZW50aXR5JztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5LCBJRW50aXR5U3RhdGUgfSBmcm9tICcuL2VudGl0eS1zdGF0ZSc7XG5pbXBvcnQgeyBJU2VsZWN0b3JNYXAgfSBmcm9tICcuL3NlbGVjdG9yLW1hcCc7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvRW50aXR5QXJyYXkgPVxuICA8VE1vZGVsPihlbnRpdGllczogSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPiwgaWRzOiBFbnRpdHlJZGVudGl0eVtdKTogVE1vZGVsW10gPT5cbiAgICAoIWlkcyB8fCAhZW50aXRpZXMgPyBbXSA6IGlkcy5tYXAoaWQgPT4gZW50aXRpZXNbaWRdKSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvU29ydGVkRW50aXR5QXJyYXkgPVxuICA8VE1vZGVsPihhbGw6IFRNb2RlbFtdKTogVE1vZGVsW10gPT5cbiAgICAhYWxsID8gW10gOiBhbGwuc29ydChlbnRpdHlDb21wYXJlcihhbGwpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DdXN0b21Tb3J0ZWRFbnRpdHlBcnJheSA9XG4gIDxUTW9kZWw+KGFsbDogVE1vZGVsW10sIHsgbmFtZSB9KTogVE1vZGVsW10gPT5cbiAgICAhYWxsID8gW10gOiBhbGwuc29ydChlbnRpdHlDb21wYXJlcihhbGwsIG5hbWUpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9FbnRpdGllcyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBJRW50aXR5RGljdGlvbmFyeTxUTW9kZWw+ID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuZW50aXRpZXMgPyB7fSA6IHN0YXRlLmVudGl0aWVzKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9JZHMgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRW50aXR5SWRlbnRpdHlbXSA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmlkcyA/IFtdIDogc3RhdGUuaWRzKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Ub3RhbCA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBudW1iZXIgPT5cbiAgICAhc3RhdGUgfHwgIXN0YXRlLmlkcyA/IDAgOiBzdGF0ZS5pZHMubGVuZ3RoO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRFbnRpdHkgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogVE1vZGVsIHwgbnVsbCA9PlxuICAgICFzdGF0ZSB8fCAhc3RhdGUuZW50aXRpZXMgfHwgIXN0YXRlLmN1cnJlbnRFbnRpdHlLZXkgPyBudWxsIDogc3RhdGUuZW50aXRpZXNbc3RhdGUuY3VycmVudEVudGl0eUtleV07XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudEVudGl0eUtleSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBFbnRpdHlJZGVudGl0eSB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmN1cnJlbnRFbnRpdHlLZXkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRFbnRpdGllcyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBUTW9kZWxbXSA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmN1cnJlbnRFbnRpdGllc0tleXMgfHwgIXN0YXRlLmVudGl0aWVzKVxuICAgICAgPyBbXVxuICAgICAgOiBzdGF0ZS5jdXJyZW50RW50aXRpZXNLZXlzLm1hcChrZXkgPT4gc3RhdGUuZW50aXRpZXNba2V5XSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudEVudGl0aWVzS2V5cyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBFbnRpdHlJZGVudGl0eVtdID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuY3VycmVudEVudGl0aWVzS2V5cykgPyBbXSA6IHN0YXRlLmN1cnJlbnRFbnRpdGllc0tleXM7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvRWRpdGVkRW50aXR5ID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IFBhcnRpYWw8VE1vZGVsPiB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmVkaXRlZEVudGl0eSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNEaXJ0eSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBib29sZWFuID0+XG4gICAgKCFzdGF0ZSA/IGZhbHNlIDogISFzdGF0ZS5pc0RpcnR5KTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DdXJyZW50UGFnZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBQYWdlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgPyBudWxsIDogc3RhdGUuY3VycmVudFBhZ2UpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRSYW5nZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBSYW5nZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmN1cnJlbnRSYW5nZSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvVG90YWxQYWdlYWJsZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBudW1iZXIgPT5cbiAgICAoIXN0YXRlID8gMCA6IHN0YXRlLnRvdGFsUGFnZWFibGVDb3VudCk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNMb2FkaW5nID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IGJvb2xlYW4gPT5cbiAgICAoIXN0YXRlID8gZmFsc2UgOiAhIXN0YXRlLmlzTG9hZGluZyk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNTYXZpbmcgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICghc3RhdGUgPyBmYWxzZSA6ICEhc3RhdGUuaXNTYXZpbmcpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0lzRGVsZXRpbmcgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICghc3RhdGUgPyBmYWxzZSA6ICEhc3RhdGUuaXNEZWxldGluZyk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvTG9hZGVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5sb2FkZWRBdCA/IG51bGwgOiBuZXcgRGF0ZShzdGF0ZS5sb2FkZWRBdCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb1NhdmVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5zYXZlZEF0ID8gbnVsbCA6IG5ldyBEYXRlKHN0YXRlLnNhdmVkQXQpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DcmVhdGVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5jcmVhdGVkQXQgPyBudWxsIDogbmV3IERhdGUoc3RhdGUuY3JlYXRlZEF0KSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvRGVsZXRlZEF0ID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IERhdGUgfCBudWxsID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuZGVsZXRlZEF0ID8gbnVsbCA6IG5ldyBEYXRlKHN0YXRlLmRlbGV0ZWRBdCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBidWlsZFNlbGVjdG9yTWFwID0gPFRQYXJlbnRTdGF0ZSwgVFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihcbiAgZ2V0U3RhdGU6IFNlbGVjdG9yPFRQYXJlbnRTdGF0ZSwgVFN0YXRlICYgVEV4dHJhPiB8IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUU3RhdGUgJiBURXh0cmE+XG4pOiBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+ID0+IHtcbiAgY29uc3Qgc2VsZWN0RW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9FbnRpdGllcyk7XG4gIGNvbnN0IHNlbGVjdElkcyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lkcyk7XG4gIGNvbnN0IHNlbGVjdFRvdGFsID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvVG90YWwpO1xuICBjb25zdCBzZWxlY3RBbGwgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RFbnRpdGllcywgc2VsZWN0SWRzLCBtYXBUb0VudGl0eUFycmF5KTtcbiAgY29uc3Qgc2VsZWN0QWxsU29ydGVkID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0QWxsLCBtYXBUb1NvcnRlZEVudGl0eUFycmF5KTtcbiAgY29uc3Qgc2VsZWN0Q3VzdG9tU29ydGVkID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0QWxsLCBtYXBUb0N1c3RvbVNvcnRlZEVudGl0eUFycmF5KTtcbiAgY29uc3Qgc2VsZWN0Q3VycmVudEVudGl0eSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRFbnRpdHkpO1xuICBjb25zdCBzZWxlY3RDdXJyZW50RW50aXR5S2V5ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3VycmVudEVudGl0eUtleSk7XG4gIGNvbnN0IHNlbGVjdEN1cnJlbnRFbnRpdGllcyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRFbnRpdGllcyk7XG4gIGNvbnN0IHNlbGVjdEN1cnJlbnRFbnRpdGllc0tleXMgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DdXJyZW50RW50aXRpZXNLZXlzKTtcbiAgY29uc3Qgc2VsZWN0RWRpdGVkRW50aXR5ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvRWRpdGVkRW50aXR5KTtcbiAgY29uc3Qgc2VsZWN0SXNEaXJ0eSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lzRGlydHkpO1xuICBjb25zdCBzZWxlY3RDdXJyZW50UGFnZSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRQYWdlKTtcbiAgY29uc3Qgc2VsZWN0Q3VycmVudFJhbmdlID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3VycmVudFJhbmdlKTtcbiAgY29uc3Qgc2VsZWN0VG90YWxQYWdlYWJsZSA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb1RvdGFsUGFnZWFibGUpO1xuICBjb25zdCBzZWxlY3RJc0xvYWRpbmcgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9Jc0xvYWRpbmcpO1xuICBjb25zdCBzZWxlY3RJc1NhdmluZyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lzU2F2aW5nKTtcbiAgY29uc3Qgc2VsZWN0SXNEZWxldGluZyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lzRGVsZXRpbmcpO1xuICBjb25zdCBzZWxlY3RMb2FkZWRBdCA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0xvYWRlZEF0KTtcbiAgY29uc3Qgc2VsZWN0U2F2ZWRBdCA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb1NhdmVkQXQpO1xuICBjb25zdCBzZWxlY3RDcmVhdGVkQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DcmVhdGVkQXQpO1xuICBjb25zdCBzZWxlY3REZWxldGVkQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9EZWxldGVkQXQpO1xuXG4gIHJldHVybiB7XG4gICAgc2VsZWN0QWxsLFxuICAgIHNlbGVjdEFsbFNvcnRlZCxcbiAgICBzZWxlY3RDdXN0b21Tb3J0ZWQsXG4gICAgc2VsZWN0RW50aXRpZXMsXG4gICAgc2VsZWN0SWRzLFxuICAgIHNlbGVjdFRvdGFsLFxuICAgIHNlbGVjdEN1cnJlbnRFbnRpdHksXG4gICAgc2VsZWN0Q3VycmVudEVudGl0eUtleSxcbiAgICBzZWxlY3RDdXJyZW50RW50aXRpZXMsXG4gICAgc2VsZWN0Q3VycmVudEVudGl0aWVzS2V5cyxcbiAgICBzZWxlY3RFZGl0ZWRFbnRpdHksXG4gICAgc2VsZWN0SXNEaXJ0eSxcbiAgICBzZWxlY3RDdXJyZW50UGFnZSxcbiAgICBzZWxlY3RDdXJyZW50UmFuZ2UsXG4gICAgc2VsZWN0VG90YWxQYWdlYWJsZSxcbiAgICBzZWxlY3RJc0xvYWRpbmcsXG4gICAgc2VsZWN0SXNTYXZpbmcsXG4gICAgc2VsZWN0SXNEZWxldGluZyxcbiAgICBzZWxlY3RMb2FkZWRBdCxcbiAgICBzZWxlY3RTYXZlZEF0LFxuICAgIHNlbGVjdENyZWF0ZWRBdCxcbiAgICBzZWxlY3REZWxldGVkQXRcbiAgfSBhcyBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+O1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWFwLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYnJpZWJ1Zy9uZ3J4LWF1dG8tZW50aXR5LyIsInNvdXJjZXMiOlsibGliL3V0aWwvc2VsZWN0b3ItbWFwLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQThCLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTzNELE1BQU0sS0FBTyxnQkFBZ0I7Ozs7OztBQUMzQixVQUFTLFFBQW1DLEVBQUUsR0FBcUI7SUFDakUsT0FBQSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHOzs7O0lBQUMsVUFBQSxFQUFFLElBQUksT0FBQSxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQVosQ0FBWSxFQUFDLENBQUM7QUFBdEQsQ0FBc0QsQ0FBQTs7O0FBRzFELE1BQU0sS0FBTyxzQkFBc0I7Ozs7O0FBQ2pDLFVBQVMsR0FBYTtJQUNwQixPQUFBLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQXpDLENBQXlDLENBQUE7OztBQUc3QyxNQUFNLEtBQU8sNEJBQTRCOzs7Ozs7QUFDdkMsVUFBUyxHQUFhLEVBQUUsRUFBUTtRQUFOLGNBQUk7SUFDNUIsT0FBQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFBL0MsQ0FBK0MsQ0FBQTs7O0FBR25ELE1BQU0sS0FBTyxhQUFhOzs7OztBQUN4QixVQUFzRCxLQUFzQjtJQUMxRSxPQUFBLENB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QUFBO1FBQ2pCLG1CQUFtQixxQkFBQTtRQUNuQixtQkFBbUIscUJBQUE7UUFDbkIsc0JBQXNCLHdCQUFBO1FBQ3RCLHFCQUFxQix1QkFBQTtRQUNyQix5QkFBeUIsMkJBQUE7UUFDekIsa0JBQWtCLG9CQUFBO1FBQ2xCLGFBQWEsZUFBQTtRQUNiLGlCQUFpQixtQkFBQTtRQUNqQixrQkFBa0Isb0JBQUE7UUFDbEIsbUJBQW1CLHFCQUFBO1FBQ25CLGVBQWUsaUJBQUE7UUFDZixjQUFjLGdCQUFBO1FBQ2QsZ0JBQWdCLGtCQUFBO1FBQ2hCLGNBQWMsZ0JBQUE7UUFDZCxhQUFhLGVBQUE7UUFDYixlQUFlLGlCQUFBO1FBQ2YsZUFBZSxpQkFBQTtRQUNmLGdCQUFnQixrQkFBQTtRQUNoQixlQUFlLGlCQUFBO0tBQ2hCLEVBQXNDLENBQUM7QUFDMUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IsIE1lbW9pemVkU2VsZWN0b3IsIFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgZW50aXR5Q29tcGFyZXIgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2VudGl0eS11dGlsJztcbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEVudGl0eUlkZW50aXR5IH0gZnJvbSAnLi4vdHlwZXMvZW50aXR5LWlkZW50aXR5JztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5LCBJRW50aXR5U3RhdGUgfSBmcm9tICcuL2VudGl0eS1zdGF0ZSc7XG5pbXBvcnQgeyBJU2VsZWN0b3JNYXAgfSBmcm9tICcuL3NlbGVjdG9yLW1hcCc7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvRW50aXR5QXJyYXkgPVxuICA8VE1vZGVsPihlbnRpdGllczogSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPiwgaWRzOiBFbnRpdHlJZGVudGl0eVtdKTogVE1vZGVsW10gPT5cbiAgICAoIWlkcyB8fCAhZW50aXRpZXMgPyBbXSA6IGlkcy5tYXAoaWQgPT4gZW50aXRpZXNbaWRdKSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvU29ydGVkRW50aXR5QXJyYXkgPVxuICA8VE1vZGVsPihhbGw6IFRNb2RlbFtdKTogVE1vZGVsW10gPT5cbiAgICAhYWxsID8gW10gOiBhbGwuc29ydChlbnRpdHlDb21wYXJlcihhbGwpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DdXN0b21Tb3J0ZWRFbnRpdHlBcnJheSA9XG4gIDxUTW9kZWw+KGFsbDogVE1vZGVsW10sIHsgbmFtZSB9KTogVE1vZGVsW10gPT5cbiAgICAhYWxsID8gW10gOiBhbGwuc29ydChlbnRpdHlDb21wYXJlcihhbGwsIG5hbWUpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9FbnRpdGllcyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBJRW50aXR5RGljdGlvbmFyeTxUTW9kZWw+ID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuZW50aXRpZXMgPyB7fSA6IHN0YXRlLmVudGl0aWVzKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9JZHMgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRW50aXR5SWRlbnRpdHlbXSA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmlkcyA/IFtdIDogc3RhdGUuaWRzKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9Ub3RhbCA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBudW1iZXIgPT5cbiAgICAhc3RhdGUgfHwgIXN0YXRlLmlkcyA/IDAgOiBzdGF0ZS5pZHMubGVuZ3RoO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0hhc0VudGl0aWVzID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IGJvb2xlYW4gPT5cbiAgICAhc3RhdGUgfHwgIXN0YXRlLmlkcyA/IGZhbHNlIDogISFzdGF0ZS5pZHMubGVuZ3RoO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0hhc05vRW50aXRpZXMgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICFzdGF0ZSB8fCAhc3RhdGUuaWRzID8gdHJ1ZSA6ICFzdGF0ZS5pZHMubGVuZ3RoO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRFbnRpdHkgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogVE1vZGVsIHwgbnVsbCA9PlxuICAgICFzdGF0ZSB8fCAhc3RhdGUuZW50aXRpZXMgfHwgIXN0YXRlLmN1cnJlbnRFbnRpdHlLZXkgPyBudWxsIDogc3RhdGUuZW50aXRpZXNbc3RhdGUuY3VycmVudEVudGl0eUtleV07XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudEVudGl0eUtleSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBFbnRpdHlJZGVudGl0eSB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmN1cnJlbnRFbnRpdHlLZXkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRFbnRpdGllcyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBUTW9kZWxbXSA9PlxuICAgICghc3RhdGUgfHwgIXN0YXRlLmN1cnJlbnRFbnRpdGllc0tleXMgfHwgIXN0YXRlLmVudGl0aWVzKVxuICAgICAgPyBbXVxuICAgICAgOiBzdGF0ZS5jdXJyZW50RW50aXRpZXNLZXlzLm1hcChrZXkgPT4gc3RhdGUuZW50aXRpZXNba2V5XSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvQ3VycmVudEVudGl0aWVzS2V5cyA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBFbnRpdHlJZGVudGl0eVtdID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUuY3VycmVudEVudGl0aWVzS2V5cykgPyBbXSA6IHN0YXRlLmN1cnJlbnRFbnRpdGllc0tleXM7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvRWRpdGVkRW50aXR5ID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IFBhcnRpYWw8VE1vZGVsPiB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmVkaXRlZEVudGl0eSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNEaXJ0eSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBib29sZWFuID0+XG4gICAgKCFzdGF0ZSA/IGZhbHNlIDogISFzdGF0ZS5pc0RpcnR5KTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DdXJyZW50UGFnZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBQYWdlIHwgbnVsbCA9PlxuICAgICghc3RhdGUgPyBudWxsIDogc3RhdGUuY3VycmVudFBhZ2UpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0N1cnJlbnRSYW5nZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBSYW5nZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlID8gbnVsbCA6IHN0YXRlLmN1cnJlbnRSYW5nZSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvVG90YWxQYWdlYWJsZSA9XG4gIDxUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KHN0YXRlOiBUU3RhdGUgJiBURXh0cmEpOiBudW1iZXIgPT5cbiAgICAoIXN0YXRlID8gMCA6IHN0YXRlLnRvdGFsUGFnZWFibGVDb3VudCk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNMb2FkaW5nID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IGJvb2xlYW4gPT5cbiAgICAoIXN0YXRlID8gZmFsc2UgOiAhIXN0YXRlLmlzTG9hZGluZyk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvSXNTYXZpbmcgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICghc3RhdGUgPyBmYWxzZSA6ICEhc3RhdGUuaXNTYXZpbmcpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb0lzRGVsZXRpbmcgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogYm9vbGVhbiA9PlxuICAgICghc3RhdGUgPyBmYWxzZSA6ICEhc3RhdGUuaXNEZWxldGluZyk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvTG9hZGVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5sb2FkZWRBdCA/IG51bGwgOiBuZXcgRGF0ZShzdGF0ZS5sb2FkZWRBdCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb1NhdmVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5zYXZlZEF0ID8gbnVsbCA6IG5ldyBEYXRlKHN0YXRlLnNhdmVkQXQpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9DcmVhdGVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5jcmVhdGVkQXQgPyBudWxsIDogbmV3IERhdGUoc3RhdGUuY3JlYXRlZEF0KSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IG1hcFRvVXBkYXRlZEF0ID1cbiAgPFRTdGF0ZSBleHRlbmRzIElFbnRpdHlTdGF0ZTxUTW9kZWw+LCBUTW9kZWwsIFRFeHRyYT4oc3RhdGU6IFRTdGF0ZSAmIFRFeHRyYSk6IERhdGUgfCBudWxsID0+XG4gICAgKCFzdGF0ZSB8fCAhc3RhdGUudXBkYXRlZEF0ID8gbnVsbCA6IG5ldyBEYXRlKHN0YXRlLnVwZGF0ZWRBdCkpO1xuXG4vLyBwcmV0dGllci1pZ25vcmVcbmV4cG9ydCBjb25zdCBtYXBUb1JlcGxhY2VkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5yZXBsYWNlZEF0ID8gbnVsbCA6IG5ldyBEYXRlKHN0YXRlLnJlcGxhY2VkQXQpKTtcblxuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgbWFwVG9EZWxldGVkQXQgPVxuICA8VFN0YXRlIGV4dGVuZHMgSUVudGl0eVN0YXRlPFRNb2RlbD4sIFRNb2RlbCwgVEV4dHJhPihzdGF0ZTogVFN0YXRlICYgVEV4dHJhKTogRGF0ZSB8IG51bGwgPT5cbiAgICAoIXN0YXRlIHx8ICFzdGF0ZS5kZWxldGVkQXQgPyBudWxsIDogbmV3IERhdGUoc3RhdGUuZGVsZXRlZEF0KSk7XG5cbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IGJ1aWxkU2VsZWN0b3JNYXAgPSA8VFBhcmVudFN0YXRlLCBUU3RhdGUgZXh0ZW5kcyBJRW50aXR5U3RhdGU8VE1vZGVsPiwgVE1vZGVsLCBURXh0cmE+KFxuICBnZXRTdGF0ZTogU2VsZWN0b3I8VFBhcmVudFN0YXRlLCBUU3RhdGUgJiBURXh0cmE+IHwgTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFRTdGF0ZSAmIFRFeHRyYT5cbik6IElTZWxlY3Rvck1hcDxUUGFyZW50U3RhdGUsIFRNb2RlbD4gPT4ge1xuICBjb25zdCBzZWxlY3RFbnRpdGllcyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0VudGl0aWVzKTtcbiAgY29uc3Qgc2VsZWN0SWRzID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvSWRzKTtcbiAgY29uc3Qgc2VsZWN0VG90YWwgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9Ub3RhbCk7XG4gIGNvbnN0IHNlbGVjdEhhc0VudGl0aWVzID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvSGFzRW50aXRpZXMpO1xuICBjb25zdCBzZWxlY3RIYXNOb0VudGl0aWVzID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvSGFzTm9FbnRpdGllcyk7XG4gIGNvbnN0IHNlbGVjdEFsbCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdEVudGl0aWVzLCBzZWxlY3RJZHMsIG1hcFRvRW50aXR5QXJyYXkpO1xuICBjb25zdCBzZWxlY3RBbGxTb3J0ZWQgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RBbGwsIG1hcFRvU29ydGVkRW50aXR5QXJyYXkpO1xuICBjb25zdCBzZWxlY3RDdXN0b21Tb3J0ZWQgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RBbGwsIG1hcFRvQ3VzdG9tU29ydGVkRW50aXR5QXJyYXkpO1xuICBjb25zdCBzZWxlY3RDdXJyZW50RW50aXR5ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3VycmVudEVudGl0eSk7XG4gIGNvbnN0IHNlbGVjdEN1cnJlbnRFbnRpdHlLZXkgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DdXJyZW50RW50aXR5S2V5KTtcbiAgY29uc3Qgc2VsZWN0Q3VycmVudEVudGl0aWVzID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3VycmVudEVudGl0aWVzKTtcbiAgY29uc3Qgc2VsZWN0Q3VycmVudEVudGl0aWVzS2V5cyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0N1cnJlbnRFbnRpdGllc0tleXMpO1xuICBjb25zdCBzZWxlY3RFZGl0ZWRFbnRpdHkgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9FZGl0ZWRFbnRpdHkpO1xuICBjb25zdCBzZWxlY3RJc0RpcnR5ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvSXNEaXJ0eSk7XG4gIGNvbnN0IHNlbGVjdEN1cnJlbnRQYWdlID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvQ3VycmVudFBhZ2UpO1xuICBjb25zdCBzZWxlY3RDdXJyZW50UmFuZ2UgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9DdXJyZW50UmFuZ2UpO1xuICBjb25zdCBzZWxlY3RUb3RhbFBhZ2VhYmxlID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvVG90YWxQYWdlYWJsZSk7XG4gIGNvbnN0IHNlbGVjdElzTG9hZGluZyA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0lzTG9hZGluZyk7XG4gIGNvbnN0IHNlbGVjdElzU2F2aW5nID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvSXNTYXZpbmcpO1xuICBjb25zdCBzZWxlY3RJc0RlbGV0aW5nID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvSXNEZWxldGluZyk7XG4gIGNvbnN0IHNlbGVjdExvYWRlZEF0ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvTG9hZGVkQXQpO1xuICBjb25zdCBzZWxlY3RTYXZlZEF0ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvU2F2ZWRBdCk7XG4gIGNvbnN0IHNlbGVjdENyZWF0ZWRBdCA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb0NyZWF0ZWRBdCk7XG4gIGNvbnN0IHNlbGVjdFVwZGF0ZWRBdCA9IGNyZWF0ZVNlbGVjdG9yKGdldFN0YXRlLCBtYXBUb1VwZGF0ZWRBdCk7XG4gIGNvbnN0IHNlbGVjdFJlcGxhY2VkQXQgPSBjcmVhdGVTZWxlY3RvcihnZXRTdGF0ZSwgbWFwVG9SZXBsYWNlZEF0KTtcbiAgY29uc3Qgc2VsZWN0RGVsZXRlZEF0ID0gY3JlYXRlU2VsZWN0b3IoZ2V0U3RhdGUsIG1hcFRvRGVsZXRlZEF0KTtcblxuICByZXR1cm4ge1xuICAgIHNlbGVjdEFsbCxcbiAgICBzZWxlY3RBbGxTb3J0ZWQsXG4gICAgc2VsZWN0Q3VzdG9tU29ydGVkLFxuICAgIHNlbGVjdEVudGl0aWVzLFxuICAgIHNlbGVjdElkcyxcbiAgICBzZWxlY3RUb3RhbCxcbiAgICBzZWxlY3RIYXNFbnRpdGllcyxcbiAgICBzZWxlY3RIYXNOb0VudGl0aWVzLFxuICAgIHNlbGVjdEN1cnJlbnRFbnRpdHksXG4gICAgc2VsZWN0Q3VycmVudEVudGl0eUtleSxcbiAgICBzZWxlY3RDdXJyZW50RW50aXRpZXMsXG4gICAgc2VsZWN0Q3VycmVudEVudGl0aWVzS2V5cyxcbiAgICBzZWxlY3RFZGl0ZWRFbnRpdHksXG4gICAgc2VsZWN0SXNEaXJ0eSxcbiAgICBzZWxlY3RDdXJyZW50UGFnZSxcbiAgICBzZWxlY3RDdXJyZW50UmFuZ2UsXG4gICAgc2VsZWN0VG90YWxQYWdlYWJsZSxcbiAgICBzZWxlY3RJc0xvYWRpbmcsXG4gICAgc2VsZWN0SXNTYXZpbmcsXG4gICAgc2VsZWN0SXNEZWxldGluZyxcbiAgICBzZWxlY3RMb2FkZWRBdCxcbiAgICBzZWxlY3RTYXZlZEF0LFxuICAgIHNlbGVjdENyZWF0ZWRBdCxcbiAgICBzZWxlY3RVcGRhdGVkQXQsXG4gICAgc2VsZWN0UmVwbGFjZWRBdCxcbiAgICBzZWxlY3REZWxldGVkQXRcbiAgfSBhcyBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+O1xufTtcbiJdfQ==

@@ -26,2 +26,6 @@ /**

/** @type {?} */
ISelectorMap.prototype.selectHasEntities;
/** @type {?} */
ISelectorMap.prototype.selectHasNoEntities;
/** @type {?} */
ISelectorMap.prototype.selectCurrentEntity;

@@ -57,4 +61,8 @@ /** @type {?} */

/** @type {?} */
ISelectorMap.prototype.selectUpdatedAt;
/** @type {?} */
ISelectorMap.prototype.selectReplacedAt;
/** @type {?} */
ISelectorMap.prototype.selectDeletedAt;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWFwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL3NlbGVjdG9yLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBU0Esa0NBdUJDOzs7SUF0QkMsaUNBQXFFOztJQUNyRSxzQ0FBbUY7O0lBQ25GLGlDQUE2RDs7SUFDN0QsdUNBQW1FOztJQUNuRSwwQ0FBc0U7O0lBQ3RFLG1DQUE2RDs7SUFDN0QsMkNBQTRFOztJQUM1RSw4Q0FBdUY7O0lBQ3ZGLDZDQUF5RTs7SUFDekUsaURBQXFGOztJQUNyRiwwQ0FBb0Y7O0lBQ3BGLHFDQUFnRTs7SUFDaEUseUNBQXdFOztJQUN4RSwwQ0FBMEU7O0lBQzFFLDJDQUFxRTs7SUFDckUsdUNBQWtFOztJQUNsRSxzQ0FBaUU7O0lBQ2pFLHdDQUFtRTs7SUFDbkUsc0NBQXFFOztJQUNyRSxxQ0FBb0U7O0lBQ3BFLHVDQUFzRTs7SUFDdEUsdUNBQXNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVtb2l6ZWRTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFBhZ2UsIFJhbmdlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IEVudGl0eUlkZW50aXR5IH0gZnJvbSAnLi4vdHlwZXMvZW50aXR5LWlkZW50aXR5JztcbmltcG9ydCB7IElFbnRpdHlEaWN0aW9uYXJ5IH0gZnJvbSAnLi9lbnRpdHktc3RhdGUnO1xuXG4vKipcbiAqIFN0cnVjdHVyZSBvZiBhIFNlbGVjdG9yIE1hcCBkZWZpbmluZyBhbGwgdGhlIHNlbGVjdG9ycyB0aGF0IG1heVxuICogYmUgdXNlZCB0byByZXRyaWV2ZSBzdGF0ZSBtYW5hZ2VkIGJ5IEF1dG8tRW50aXR5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdG9yTWFwPFRQYXJlbnRTdGF0ZSwgVE1vZGVsPiB7XG4gIHNlbGVjdElkczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIEVudGl0eUlkZW50aXR5W10+O1xuICBzZWxlY3RFbnRpdGllczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIElFbnRpdHlEaWN0aW9uYXJ5PFRNb2RlbD4+O1xuICBzZWxlY3RBbGw6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUTW9kZWxbXT47XG4gIHNlbGVjdEFsbFNvcnRlZDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFRNb2RlbFtdPjtcbiAgc2VsZWN0Q3VzdG9tU29ydGVkOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgVE1vZGVsW10+O1xuICBzZWxlY3RUb3RhbDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIG51bWJlcj47XG4gIHNlbGVjdEN1cnJlbnRFbnRpdHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUTW9kZWwgfCBudWxsPjtcbiAgc2VsZWN0Q3VycmVudEVudGl0eUtleTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIEVudGl0eUlkZW50aXR5IHwgbnVsbD47XG4gIHNlbGVjdEN1cnJlbnRFbnRpdGllczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFRNb2RlbFtdPjtcbiAgc2VsZWN0Q3VycmVudEVudGl0aWVzS2V5czogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIEVudGl0eUlkZW50aXR5W10+O1xuICBzZWxlY3RFZGl0ZWRFbnRpdHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBQYXJ0aWFsPFRNb2RlbD4gfCBudWxsPjtcbiAgc2VsZWN0SXNEaXJ0eTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RDdXJyZW50UGFnZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFBhZ2UgfCBudWxsPjtcbiAgc2VsZWN0Q3VycmVudFJhbmdlOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgUmFuZ2UgfCBudWxsPjtcbiAgc2VsZWN0VG90YWxQYWdlYWJsZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIG51bWJlcj47XG4gIHNlbGVjdElzTG9hZGluZzogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RJc1NhdmluZzogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RJc0RlbGV0aW5nOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgYm9vbGVhbj47XG4gIHNlbGVjdExvYWRlZEF0OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgRGF0ZSB8IG51bGw+O1xuICBzZWxlY3RTYXZlZEF0OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgRGF0ZSB8IG51bGw+O1xuICBzZWxlY3RDcmVhdGVkQXQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBEYXRlIHwgbnVsbD47XG4gIHNlbGVjdERlbGV0ZWRBdDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIERhdGUgfCBudWxsPjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItbWFwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJyaWVidWcvbmdyeC1hdXRvLWVudGl0eS8iLCJzb3VyY2VzIjpbImxpYi91dGlsL3NlbGVjdG9yLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBU0Esa0NBMkJDOzs7SUExQkMsaUNBQXFFOztJQUNyRSxzQ0FBbUY7O0lBQ25GLGlDQUE2RDs7SUFDN0QsdUNBQW1FOztJQUNuRSwwQ0FBc0U7O0lBQ3RFLG1DQUE2RDs7SUFDN0QseUNBQW9FOztJQUNwRSwyQ0FBc0U7O0lBQ3RFLDJDQUE0RTs7SUFDNUUsOENBQXVGOztJQUN2Riw2Q0FBeUU7O0lBQ3pFLGlEQUFxRjs7SUFDckYsMENBQW9GOztJQUNwRixxQ0FBZ0U7O0lBQ2hFLHlDQUF3RTs7SUFDeEUsMENBQTBFOztJQUMxRSwyQ0FBcUU7O0lBQ3JFLHVDQUFrRTs7SUFDbEUsc0NBQWlFOztJQUNqRSx3Q0FBbUU7O0lBQ25FLHNDQUFxRTs7SUFDckUscUNBQW9FOztJQUNwRSx1Q0FBc0U7O0lBQ3RFLHVDQUFzRTs7SUFDdEUsd0NBQXVFOztJQUN2RSx1Q0FBc0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUGFnZSwgUmFuZ2UgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRW50aXR5SWRlbnRpdHkgfSBmcm9tICcuLi90eXBlcy9lbnRpdHktaWRlbnRpdHknO1xuaW1wb3J0IHsgSUVudGl0eURpY3Rpb25hcnkgfSBmcm9tICcuL2VudGl0eS1zdGF0ZSc7XG5cbi8qKlxuICogU3RydWN0dXJlIG9mIGEgU2VsZWN0b3IgTWFwIGRlZmluaW5nIGFsbCB0aGUgc2VsZWN0b3JzIHRoYXQgbWF5XG4gKiBiZSB1c2VkIHRvIHJldHJpZXZlIHN0YXRlIG1hbmFnZWQgYnkgQXV0by1FbnRpdHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0b3JNYXA8VFBhcmVudFN0YXRlLCBUTW9kZWw+IHtcbiAgc2VsZWN0SWRzOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgRW50aXR5SWRlbnRpdHlbXT47XG4gIHNlbGVjdEVudGl0aWVzOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgSUVudGl0eURpY3Rpb25hcnk8VE1vZGVsPj47XG4gIHNlbGVjdEFsbDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFRNb2RlbFtdPjtcbiAgc2VsZWN0QWxsU29ydGVkOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgVE1vZGVsW10+O1xuICBzZWxlY3RDdXN0b21Tb3J0ZWQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUTW9kZWxbXT47XG4gIHNlbGVjdFRvdGFsOiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgbnVtYmVyPjtcbiAgc2VsZWN0SGFzRW50aXRpZXM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBib29sZWFuPjtcbiAgc2VsZWN0SGFzTm9FbnRpdGllczogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RDdXJyZW50RW50aXR5OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgVE1vZGVsIHwgbnVsbD47XG4gIHNlbGVjdEN1cnJlbnRFbnRpdHlLZXk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBFbnRpdHlJZGVudGl0eSB8IG51bGw+O1xuICBzZWxlY3RDdXJyZW50RW50aXRpZXM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBUTW9kZWxbXT47XG4gIHNlbGVjdEN1cnJlbnRFbnRpdGllc0tleXM6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBFbnRpdHlJZGVudGl0eVtdPjtcbiAgc2VsZWN0RWRpdGVkRW50aXR5OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgUGFydGlhbDxUTW9kZWw+IHwgbnVsbD47XG4gIHNlbGVjdElzRGlydHk6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBib29sZWFuPjtcbiAgc2VsZWN0Q3VycmVudFBhZ2U6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBQYWdlIHwgbnVsbD47XG4gIHNlbGVjdEN1cnJlbnRSYW5nZTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIFJhbmdlIHwgbnVsbD47XG4gIHNlbGVjdFRvdGFsUGFnZWFibGU6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBudW1iZXI+O1xuICBzZWxlY3RJc0xvYWRpbmc6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBib29sZWFuPjtcbiAgc2VsZWN0SXNTYXZpbmc6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBib29sZWFuPjtcbiAgc2VsZWN0SXNEZWxldGluZzogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIGJvb2xlYW4+O1xuICBzZWxlY3RMb2FkZWRBdDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIERhdGUgfCBudWxsPjtcbiAgc2VsZWN0U2F2ZWRBdDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIERhdGUgfCBudWxsPjtcbiAgc2VsZWN0Q3JlYXRlZEF0OiBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCB8IFRQYXJlbnRTdGF0ZSwgRGF0ZSB8IG51bGw+O1xuICBzZWxlY3RVcGRhdGVkQXQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBEYXRlIHwgbnVsbD47XG4gIHNlbGVjdFJlcGxhY2VkQXQ6IE1lbW9pemVkU2VsZWN0b3I8b2JqZWN0IHwgVFBhcmVudFN0YXRlLCBEYXRlIHwgbnVsbD47XG4gIHNlbGVjdERlbGV0ZWRBdDogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QgfCBUUGFyZW50U3RhdGUsIERhdGUgfCBudWxsPjtcbn1cbiJdfQ==

@@ -30,3 +30,5 @@ import { Page, Range } from '../models';

createdAt?: number;
updatedAt?: number;
replacedAt?: number;
deletedAt?: number;
}

@@ -19,2 +19,4 @@ import { Store } from '@ngrx/store';

total$: Observable<number>;
hasEntities$: Observable<boolean>;
hasNoEntities$: Observable<boolean>;
current$: Observable<TModel>;

@@ -35,2 +37,4 @@ currentKey$: Observable<string | number>;

createdAt$: Observable<Date>;
updatedAt$: Observable<Date>;
replacedAt$: Observable<Date>;
deletedAt$: Observable<Date>;

@@ -37,0 +41,0 @@ customSorted$(name: string): Observable<TModel[]>;

@@ -14,2 +14,4 @@ import { Observable } from 'rxjs';

total$: Observable<number>;
hasEntities$: Observable<boolean>;
hasNoEntities$: Observable<boolean>;
current$: Observable<TModel>;

@@ -30,2 +32,4 @@ currentKey$: Observable<EntityIdentity>;

createdAt$: Observable<Date>;
updatedAt$: Observable<Date>;
replacedAt$: Observable<Date>;
deletedAt$: Observable<Date>;

@@ -32,0 +36,0 @@ customSorted$(name: string): Observable<TModel[]>;

@@ -13,2 +13,4 @@ import { MemoizedSelector, Selector } from '@ngrx/store';

export declare const mapToTotal: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => number;
export declare const mapToHasEntities: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => boolean;
export declare const mapToHasNoEntities: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => boolean;
export declare const mapToCurrentEntity: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => TModel;

@@ -29,3 +31,5 @@ export declare const mapToCurrentEntityKey: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => string | number;

export declare const mapToCreatedAt: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => Date;
export declare const mapToUpdatedAt: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => Date;
export declare const mapToReplacedAt: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => Date;
export declare const mapToDeletedAt: <TState extends IEntityState<TModel>, TModel, TExtra>(state: TState & TExtra) => Date;
export declare const buildSelectorMap: <TParentState, TState extends IEntityState<TModel>, TModel, TExtra>(getState: Selector<TParentState, TState & TExtra> | MemoizedSelector<object | TParentState, TState & TExtra, import("@ngrx/store/src/selector").DefaultProjectorFn<TState & TExtra>>) => ISelectorMap<TParentState, TModel>;

@@ -16,2 +16,4 @@ import { MemoizedSelector } from '@ngrx/store';

selectTotal: MemoizedSelector<object | TParentState, number>;
selectHasEntities: MemoizedSelector<object | TParentState, boolean>;
selectHasNoEntities: MemoizedSelector<object | TParentState, boolean>;
selectCurrentEntity: MemoizedSelector<object | TParentState, TModel | null>;

@@ -32,3 +34,5 @@ selectCurrentEntityKey: MemoizedSelector<object | TParentState, EntityIdentity | null>;

selectCreatedAt: MemoizedSelector<object | TParentState, Date | null>;
selectUpdatedAt: MemoizedSelector<object | TParentState, Date | null>;
selectReplacedAt: MemoizedSelector<object | TParentState, Date | null>;
selectDeletedAt: MemoizedSelector<object | TParentState, Date | null>;
}
{
"version": "0.6.0-alpha.1",
"version": "0.6.0-alpha.2",
"name": "@briebug/ngrx-auto-entity",

@@ -4,0 +4,0 @@ "description": "Automatic Entity State and Facades for NgRx. Simplifying reactive state!",

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

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

Sorry, the diff of this file is not supported yet

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

Sorry, the diff of this file is not supported yet

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

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

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

Sorry, the diff of this file is not supported yet

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

Sorry, the diff of this file is not supported yet

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