@ngxs/store 3.8.2-dev.master-e8a3d9f → 3.8.2-dev.master-a59c9ba

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { getActionTypeFromInstance } from '@ngxs/store/plugins';
3
2
  import { EMPTY, forkJoin, of, Subject, throwError } from 'rxjs';
4
- import { exhaustMap, filter, shareReplay, take } from 'rxjs/operators';
3
+ import { exhaustMap, filter, map, shareReplay, take } from 'rxjs/operators';
4
+ import { getActionTypeFromInstance } from '@ngxs/store/plugins';
5
5
  import { compose } from '../utils/compose';
6
6
  import { InternalErrorReporter, ngxsErrorHandler } from './error-handler';
7
7
  import { InternalActions } from '../actions-stream';
@@ -47,8 +47,8 @@ export class InternalDispatcher {
47
47
  dispatchByEvents(actionOrActions) {
48
48
  if (Array.isArray(actionOrActions)) {
49
49
  if (actionOrActions.length === 0)
50
- return of(this._stateStream.getValue());
51
- return forkJoin(actionOrActions.map(action => this.dispatchSingle(action)));
50
+ return of(undefined);
51
+ return forkJoin(actionOrActions.map(action => this.dispatchSingle(action))).pipe(map(() => undefined));
52
52
  }
53
53
  else {
54
54
  return this.dispatchSingle(actionOrActions);
@@ -85,6 +85,8 @@ export class InternalDispatcher {
85
85
  .pipe(exhaustMap((ctx) => {
86
86
  switch (ctx.status) {
87
87
  case "SUCCESSFUL" /* ActionStatus.Successful */:
88
+ // The `createDispatchObservable` function should return the
89
+ // state, as its result is utilized by plugins.
88
90
  return of(this._stateStream.getValue());
89
91
  case "ERRORED" /* ActionStatus.Errored */:
90
92
  return throwError(ctx.error);
@@ -101,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
101
103
  type: Injectable,
102
104
  args: [{ providedIn: 'root' }]
103
105
  }], ctorParameters: () => [{ type: i1.InternalActions }, { type: InternalDispatchedActionResults }, { type: i2.PluginManager }, { type: i3.StateStream }, { type: i4.InternalNgxsExecutionStrategy }, { type: i5.InternalErrorReporter }] });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQStCLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7QUFFOUY7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsT0FBc0I7aUlBQTlELCtCQUErQjtxSUFBL0IsK0JBQStCLGNBRGxCLE1BQU07OzJGQUNuQiwrQkFBK0I7a0JBRDNDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQUlsQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsUUFBeUIsRUFDekIsY0FBK0MsRUFDL0MsY0FBNkIsRUFDN0IsWUFBeUIsRUFDekIsc0JBQXFE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R0FBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sK0NBQTRCLENBQ3hGLEVBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFdBQVcsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU8sd0JBQXdCLENBQUMsYUFBd0M7UUFDdkUsT0FBTyxhQUFhO2FBQ2pCLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUU7WUFDaEMsUUFBUSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNsQjtvQkFDRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQzFDO29CQUNFLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0I7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7aUlBdkZVLGtCQUFrQjtxSUFBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlIH0gZnJvbSAnQG5neHMvc3RvcmUvcGx1Z2lucyc7XG5pbXBvcnQgeyBFTVBUWSwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmaWx0ZXIsIHNoYXJlUmVwbGF5LCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBjb21wb3NlIH0gZnJvbSAnLi4vdXRpbHMvY29tcG9zZSc7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsIG5neHNFcnJvckhhbmRsZXIgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXInO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dCwgQWN0aW9uU3RhdHVzLCBJbnRlcm5hbEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zLXN0cmVhbSc7XG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vc3RhdGUtc3RyZWFtJztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuLi9wbHVnaW4tbWFuYWdlcic7XG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4uL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbi8qKlxuICogSW50ZXJuYWwgQWN0aW9uIHJlc3VsdCBzdHJlYW0gdGhhdCBpcyBlbWl0dGVkIHdoZW4gYW4gYWN0aW9uIGlzIGNvbXBsZXRlZC5cbiAqIFRoaXMgaXMgdXNlZCBhcyBhIG1ldGhvZCBvZiByZXR1cm5pbmcgdGhlIGFjdGlvbiByZXN1bHQgdG8gdGhlIGRpc3BhdGNoZXJcbiAqIGZvciB0aGUgb2JzZXJ2YWJsZSByZXR1cm5lZCBieSB0aGUgZGlzcGF0Y2goLi4uKSBjYWxsLlxuICogVGhlIGRpc3BhdGNoZXIgdGhlbiBhc3luY2hyb25vdXNseSBwdXNoZXMgdGhlIHJlc3VsdCBmcm9tIHRoaXMgc3RyZWFtIG9udG8gdGhlIG1haW4gYWN0aW9uIHN0cmVhbSBhcyBhIHJlc3VsdC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzIGV4dGVuZHMgU3ViamVjdDxBY3Rpb25Db250ZXh0PiB7fVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRGlzcGF0Y2hlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FjdGlvbnM6IEludGVybmFsQWN0aW9ucyxcbiAgICBwcml2YXRlIF9hY3Rpb25SZXN1bHRzOiBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLFxuICAgIHByaXZhdGUgX3BsdWdpbk1hbmFnZXI6IFBsdWdpbk1hbmFnZXIsXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IFN0YXRlU3RyZWFtLFxuICAgIHByaXZhdGUgX25neHNFeGVjdXRpb25TdHJhdGVneTogSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3ksXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaGVzIGV2ZW50KHMpLlxuICAgKi9cbiAgZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICB0aGlzLmRpc3BhdGNoQnlFdmVudHMoYWN0aW9uT3JBY3Rpb25zKVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVzdWx0LnBpcGUoXG4gICAgICBuZ3hzRXJyb3JIYW5kbGVyKHRoaXMuX2ludGVybmFsRXJyb3JSZXBvcnRlciwgdGhpcy5fbmd4c0V4ZWN1dGlvblN0cmF0ZWd5KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoQnlFdmVudHMoYWN0aW9uT3JBY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYWN0aW9uT3JBY3Rpb25zKSkge1xuICAgICAgaWYgKGFjdGlvbk9yQWN0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBvZih0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpKTtcbiAgICAgIHJldHVybiBmb3JrSm9pbihhY3Rpb25PckFjdGlvbnMubWFwKGFjdGlvbiA9PiB0aGlzLmRpc3BhdGNoU2luZ2xlKGFjdGlvbikpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hTaW5nbGUoYWN0aW9uT3JBY3Rpb25zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoU2luZ2xlKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICBjb25zdCB0eXBlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbik7XG4gICAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICAgICAgYFRoaXMgYWN0aW9uIGRvZXNuJ3QgaGF2ZSBhIHR5cGUgcHJvcGVydHk6ICR7YWN0aW9uLmNvbnN0cnVjdG9yLm5hbWV9YFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBwbHVnaW5zID0gdGhpcy5fcGx1Z2luTWFuYWdlci5wbHVnaW5zO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGNvbXBvc2UoW1xuICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAobmV4dFN0YXRlOiBhbnksIG5leHRBY3Rpb246IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChuZXh0U3RhdGUgIT09IHByZXZTdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXh0U3RhdGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhY3Rpb25SZXN1bHQkID0gdGhpcy5nZXRBY3Rpb25SZXN1bHRTdHJlYW0obmV4dEFjdGlvbik7XG4gICAgICAgICAgYWN0aW9uUmVzdWx0JC5zdWJzY3JpYmUoY3R4ID0+IHRoaXMuX2FjdGlvbnMubmV4dChjdHgpKTtcbiAgICAgICAgICB0aGlzLl9hY3Rpb25zLm5leHQoeyBhY3Rpb246IG5leHRBY3Rpb24sIHN0YXR1czogQWN0aW9uU3RhdHVzLkRpc3BhdGNoZWQgfSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGlzcGF0Y2hPYnNlcnZhYmxlKGFjdGlvblJlc3VsdCQpO1xuICAgICAgICB9XG4gICAgICBdKShwcmV2U3RhdGUsIGFjdGlvbikgYXMgT2JzZXJ2YWJsZTxhbnk+XG4gICAgKS5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3Rpb25SZXN1bHRTdHJlYW0oYWN0aW9uOiBhbnkpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uUmVzdWx0cy5waXBlKFxuICAgICAgZmlsdGVyKFxuICAgICAgICAoY3R4OiBBY3Rpb25Db250ZXh0KSA9PiBjdHguYWN0aW9uID09PSBhY3Rpb24gJiYgY3R4LnN0YXR1cyAhPT0gQWN0aW9uU3RhdHVzLkRpc3BhdGNoZWRcbiAgICAgICksXG4gICAgICB0YWtlKDEpLFxuICAgICAgc2hhcmVSZXBsYXkoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURpc3BhdGNoT2JzZXJ2YWJsZShhY3Rpb25SZXN1bHQkOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHQ+KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gYWN0aW9uUmVzdWx0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIGV4aGF1c3RNYXAoKGN0eDogQWN0aW9uQ29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY3R4LnN0YXR1cykge1xuICAgICAgICAgICAgY2FzZSBBY3Rpb25TdGF0dXMuU3VjY2Vzc2Z1bDpcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgY2FzZSBBY3Rpb25TdGF0dXMuRXJyb3JlZDpcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoY3R4LmVycm9yKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShzaGFyZVJlcGxheSgpKTtcbiAgfVxufVxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7O0FBRTlGOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLE9BQXNCO2lJQUE5RCwrQkFBK0I7cUlBQS9CLCtCQUErQixjQURsQixNQUFNOzsyRkFDbkIsK0JBQStCO2tCQUQzQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFJbEMsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFFBQXlCLEVBQ3pCLGNBQStDLEVBQy9DLGNBQTZCLEVBQzdCLFlBQXlCLEVB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QUFDLGNBQWMsQ0FBQyxJQUFJLENBQzdCLE1BQU0sQ0FDSixDQUFDLEdBQWtCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLCtDQUE0QixDQUN4RixFQUNELElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxXQUFXLEVBQUUsQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVPLHdCQUF3QixDQUM5QixhQUF3QztRQUV4QyxPQUFPLGFBQWE7YUFDakIsSUFBSSxDQUNILFVBQVUsQ0FBQyxDQUFDLEdBQWtCLEVBQUUsRUFBRTtZQUNoQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xCO29CQUNFLDREQUE0RDtvQkFDNUQsK0NBQStDO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQzFDO29CQUNFLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0I7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7aUlBNUZVLGtCQUFrQjtxSUFBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IMm1UGxhaW5PYmplY3QgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSB9IGZyb20gJ0BuZ3hzL3N0b3JlL3BsdWdpbnMnO1xuXG5pbXBvcnQgeyBjb21wb3NlIH0gZnJvbSAnLi4vdXRpbHMvY29tcG9zZSc7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsIG5neHNFcnJvckhhbmRsZXIgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXInO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dCwgQWN0aW9uU3RhdHVzLCBJbnRlcm5hbEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zLXN0cmVhbSc7XG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vc3RhdGUtc3RyZWFtJztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuLi9wbHVnaW4tbWFuYWdlcic7XG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4uL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbi8qKlxuICogSW50ZXJuYWwgQWN0aW9uIHJlc3VsdCBzdHJlYW0gdGhhdCBpcyBlbWl0dGVkIHdoZW4gYW4gYWN0aW9uIGlzIGNvbXBsZXRlZC5cbiAqIFRoaXMgaXMgdXNlZCBhcyBhIG1ldGhvZCBvZiByZXR1cm5pbmcgdGhlIGFjdGlvbiByZXN1bHQgdG8gdGhlIGRpc3BhdGNoZXJcbiAqIGZvciB0aGUgb2JzZXJ2YWJsZSByZXR1cm5lZCBieSB0aGUgZGlzcGF0Y2goLi4uKSBjYWxsLlxuICogVGhlIGRpc3BhdGNoZXIgdGhlbiBhc3luY2hyb25vdXNseSBwdXNoZXMgdGhlIHJlc3VsdCBmcm9tIHRoaXMgc3RyZWFtIG9udG8gdGhlIG1haW4gYWN0aW9uIHN0cmVhbSBhcyBhIHJlc3VsdC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzIGV4dGVuZHMgU3ViamVjdDxBY3Rpb25Db250ZXh0PiB7fVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRGlzcGF0Y2hlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FjdGlvbnM6IEludGVybmFsQWN0aW9ucyxcbiAgICBwcml2YXRlIF9hY3Rpb25SZXN1bHRzOiBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLFxuICAgIHByaXZhdGUgX3BsdWdpbk1hbmFnZXI6IFBsdWdpbk1hbmFnZXIsXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IFN0YXRlU3RyZWFtLFxuICAgIHByaXZhdGUgX25neHNFeGVjdXRpb25TdHJhdGVneTogSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3ksXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaGVzIGV2ZW50KHMpLlxuICAgKi9cbiAgZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX25neHNFeGVjdXRpb25TdHJhdGVneS5lbnRlcigoKSA9PlxuICAgICAgdGhpcy5kaXNwYXRjaEJ5RXZlbnRzKGFjdGlvbk9yQWN0aW9ucylcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5waXBlKFxuICAgICAgbmd4c0Vycm9ySGFuZGxlcih0aGlzLl9pbnRlcm5hbEVycm9yUmVwb3J0ZXIsIHRoaXMuX25neHNFeGVjdXRpb25TdHJhdGVneSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaEJ5RXZlbnRzKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhY3Rpb25PckFjdGlvbnMpKSB7XG4gICAgICBpZiAoYWN0aW9uT3JBY3Rpb25zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG5cbiAgICAgIHJldHVybiBmb3JrSm9pbihhY3Rpb25PckFjdGlvbnMubWFwKGFjdGlvbiA9PiB0aGlzLmRpc3BhdGNoU2luZ2xlKGFjdGlvbikpKS5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hTaW5nbGUoYWN0aW9uT3JBY3Rpb25zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoU2luZ2xlKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgY29uc3QgdHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24pO1xuICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFxuICAgICAgICAgIGBUaGlzIGFjdGlvbiBkb2Vzbid0IGhhdmUgYSB0eXBlIHByb3BlcnR5OiAke2FjdGlvbi5jb25zdHJ1Y3Rvci5uYW1lfWBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCk7XG4gICAgY29uc3QgcGx1Z2lucyA9IHRoaXMuX3BsdWdpbk1hbmFnZXIucGx1Z2lucztcblxuICAgIHJldHVybiBjb21wb3NlKFtcbiAgICAgIC4uLnBsdWdpbnMsXG4gICAgICAobmV4dFN0YXRlOiBhbnksIG5leHRBY3Rpb246IGFueSkgPT4ge1xuICAgICAgICBpZiAobmV4dFN0YXRlICE9PSBwcmV2U3RhdGUpIHtcbiAgICAgICAgICB0aGlzLl9zdGF0ZVN0cmVhbS5uZXh0KG5leHRTdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWN0aW9uUmVzdWx0JCA9IHRoaXMuZ2V0QWN0aW9uUmVzdWx0U3RyZWFtKG5leHRBY3Rpb24pO1xuICAgICAgICBhY3Rpb25SZXN1bHQkLnN1YnNjcmliZShjdHggPT4gdGhpcy5fYWN0aW9ucy5uZXh0KGN0eCkpO1xuICAgICAgICB0aGlzLl9hY3Rpb25zLm5leHQoeyBhY3Rpb246IG5leHRBY3Rpb24sIHN0YXR1czogQWN0aW9uU3RhdHVzLkRpc3BhdGNoZWQgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZURpc3BhdGNoT2JzZXJ2YWJsZShhY3Rpb25SZXN1bHQkKTtcbiAgICAgIH1cbiAgICBdKShwcmV2U3RhdGUsIGFjdGlvbikucGlwZShzaGFyZVJlcGxheSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWN0aW9uUmVzdWx0U3RyZWFtKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvblJlc3VsdHMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKGN0eDogQWN0aW9uQ29udGV4dCkgPT4gY3R4LmFjdGlvbiA9PT0gYWN0aW9uICYmIGN0eC5zdGF0dXMgIT09IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkXG4gICAgICApLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHNoYXJlUmVwbGF5KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEaXNwYXRjaE9ic2VydmFibGUoXG4gICAgYWN0aW9uUmVzdWx0JDogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0PlxuICApOiBPYnNlcnZhYmxlPMm1UGxhaW5PYmplY3Q+IHtcbiAgICByZXR1cm4gYWN0aW9uUmVzdWx0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIGV4aGF1c3RNYXAoKGN0eDogQWN0aW9uQ29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY3R4LnN0YXR1cykge1xuICAgICAgICAgICAgY2FzZSBBY3Rpb25TdGF0dXMuU3VjY2Vzc2Z1bDpcbiAgICAgICAgICAgICAgLy8gVGhlIGBjcmVhdGVEaXNwYXRjaE9ic2VydmFibGVgIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gdGhlXG4gICAgICAgICAgICAgIC8vIHN0YXRlLCBhcyBpdHMgcmVzdWx0IGlzIHV0aWxpemVkIGJ5IHBsdWdpbnMuXG4gICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU3RhdHVzLkVycm9yZWQ6XG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGN0eC5lcnJvcik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
61
61
  type: Injectable,
62
62
  args: [{ providedIn: 'root' }]
63
63
  }], ctorParameters: () => [{ type: i0.Injector }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHcEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLHFCQUE0QyxFQUM1QyxxQkFBNEM7SUFFNUMsT0FBTyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtRQUMvQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixpRkFBaUY7Z0JBQ2pGLGtGQUFrRjtnQkFDbEYsMkJBQTJCO2dCQUMzQixxQkFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQy9CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsVUFBVSxFQUFFO3dCQUNmLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDL0IscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQy9DLENBQUM7cUJBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUdELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUh2QyxvREFBb0Q7UUFDNUMsa0JBQWEsR0FBaUIsSUFBSyxDQUFDO0lBRUYsQ0FBQztJQUUzQyxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDtRQUNELDZFQUE2RTtRQUM3RSwrRUFBK0U7UUFDL0UsZ0ZBQWdGO1FBQ2hGLHNEQUFzRDtRQUN0RCxJQUFJO1lBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFBQyxNQUFNLEdBQUU7SUFDWixDQUFDO2lJQWpCVSxxQkFBcUI7cUlBQXJCLHFCQUFxQixjQURSLE1BQU07OzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuLi9vcGVyYXRvcnMvbGVhdmUtbmd4cyc7XG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9leGVjdXRpb24vc3ltYm9scyc7XG5cbi8qKlxuICogVGhpcyBvcGVyYXRvciBpcyB1c2VkIGZvciBwaXBpbmcgdGhlIG9ic2VydmFibGUgcmVzdWx0XG4gKiBmcm9tIHRoZSBgZGlzcGF0Y2goKWAuIEl0IGhhcyBhIFwic21hcnRcIiBlcnJvciBoYW5kbGluZ1xuICogc3RyYXRlZ3kgdGhhdCBhbGxvd3MgdXMgdG8gZGVjaWRlIHdoZXRoZXIgd2UgcHJvcGFnYXRlXG4gKiBlcnJvcnMgdG8gQW5ndWxhcidzIGBFcnJvckhhbmRsZXJgIG9yIGVuYWJsZSB1c2VycyB0b1xuICogaGFuZGxlIHRoZW0gbWFudWFsbHkuIFdlIGNvbnNpZGVyIGZvbGxvd2luZyBjYXNlczpcbiAqIDEpIGBzdG9yZS5kaXNwYXRjaCgpYCAobm8gc3Vic2NyaWJlKSAtPiBjYWxsIGBoYW5kbGVFcnJvcigpYFxuICogMikgYHN0b3JlLmRpc3BhdGNoKCkuc3Vic2NyaWJlKClgIChubyBlcnJvciBjYWxsYmFjaykgLT4gY2FsbCBgaGFuZGxlRXJyb3IoKWBcbiAqIDMpIGBzdG9yZS5kaXNwYXRjaCgpLnN1YnNjcmliZSh7IGVycm9yOiAuLi4gfSlgIC0+IGRvbid0IGNhbGwgYGhhbmRsZUVycm9yKClgXG4gKiA0KSBgdG9Qcm9taXNlKClgIHdpdGhvdXQgYGNhdGNoYCAtPiBkbyBgaGFuZGxlRXJyb3IoKWBcbiAqIDUpIGB0b1Byb21pc2UoKWAgd2l0aCBgY2F0Y2hgIC0+IGRvbid0IGBoYW5kbGVFcnJvcigpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbmd4c0Vycm9ySGFuZGxlcjxUPihcbiAgaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsXG4gIG5neHNFeGVjdXRpb25TdHJhdGVneTogTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICBsZXQgc3Vic2NyaWJlZCA9IGZhbHNlO1xuXG4gICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xuICAgICAgICAvLyBEbyBub3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGZvciBhIG1pY3JvdGFzay4gVGhpcyBkZXBlbmRzIG9uIHRoZSBleGVjdXRpb25cbiAgICAgICAgLy8gc3RyYXRlZ3kgYmVpbmcgdXNlZCwgYnV0IHRoZSBkZWZhdWx0IGBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5YFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIEFuZ3VsYXIgem9uZS5cbiAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXN1YnNjcmliZWQpIHtcbiAgICAgICAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKCgpID0+XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yU2FmZWx5KGVycm9yKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgICBzdWJzY3JpYmVkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzb3VyY2UucGlwZShsZWF2ZU5neHMobmd4c0V4ZWN1dGlvblN0cmF0ZWd5KSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH0pO1xuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRXJyb3JSZXBvcnRlciB7XG4gIC8qKiBXaWxsIGJlIHNldCBsYXppbHkgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZS4gKi9cbiAgcHJpdmF0ZSBfZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIgPSBudWxsITtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgcmVwb3J0RXJyb3JTYWZlbHkoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lcnJvckhhbmRsZXIgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2Vycm9ySGFuZGxlciA9IHRoaXMuX2luamVjdG9yLmdldChFcnJvckhhbmRsZXIpO1xuICAgIH1cbiAgICAvLyBUaGUgYHRyeS1jYXRjaGAgaXMgdXNlZCB0byBhdm9pZCBoYW5kbGluZyB0aGUgZXJyb3IgdHdpY2UuIFN1cHBvc2Ugd2UgY2FsbFxuICAgIC8vIGBoYW5kbGVFcnJvcmAgd2hpY2ggcmUtdGhyb3dzIHRoZSBlcnJvciBpbnRlcm5hbGx5LiBUaGUgcmUtdGhyb3duIGVycm9yIHdpbGxcbiAgICAvLyBiZSBjYXVnaHQgYnkgem9uZS5qcyB3aGljaCB3aWxsIHRoZW4gZ2V0IHRvIHRoZSBgem9uZS5vbkVycm9yLmVtaXQoKWAgYW5kIHRoZVxuICAgIC8vIGBvbkVycm9yYCBzdWJzY3JpYmVyIHdpbGwgY2FsbCBgaGFuZGxlRXJyb3JgIGFnYWluLlxuICAgIHRyeSB7XG4gICAgICB0aGlzLl9lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHcEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLHFCQUE0QyxFQUM1QyxxQkFBNEM7SUFFNUMsT0FBTyxDQUFDLE1BQXdCLEVBQUUsRUFBRTtRQUNsQyxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixpRkFBaUY7Z0JBQ2pGLGtGQUFrRjtnQkFDbEYsMkJBQTJCO2dCQUMzQixxQkFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQy9CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsVUFBVSxFQUFFO3dCQUNmLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDL0IscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQy9DLENBQUM7cUJBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksVUFBVSxDQUFPLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUdELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUh2QyxvREFBb0Q7UUFDNUMsa0JBQWEsR0FBaUIsSUFBSyxDQUFDO0lBRUYsQ0FBQztJQUUzQyxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDtRQUNELDZFQUE2RTtRQUM3RSwrRUFBK0U7UUFDL0UsZ0ZBQWdGO1FBQ2hGLHNEQUFzRDtRQUN0RCxJQUFJO1lBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFBQyxNQUFNLEdBQUU7SUFDWixDQUFDO2lJQWpCVSxxQkFBcUI7cUlBQXJCLHFCQUFxQixjQURSLE1BQU07OzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuLi9vcGVyYXRvcnMvbGVhdmUtbmd4cyc7XG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9leGVjdXRpb24vc3ltYm9scyc7XG5cbi8qKlxuICogVGhpcyBvcGVyYXRvciBpcyB1c2VkIGZvciBwaXBpbmcgdGhlIG9ic2VydmFibGUgcmVzdWx0XG4gKiBmcm9tIHRoZSBgZGlzcGF0Y2goKWAuIEl0IGhhcyBhIFwic21hcnRcIiBlcnJvciBoYW5kbGluZ1xuICogc3RyYXRlZ3kgdGhhdCBhbGxvd3MgdXMgdG8gZGVjaWRlIHdoZXRoZXIgd2UgcHJvcGFnYXRlXG4gKiBlcnJvcnMgdG8gQW5ndWxhcidzIGBFcnJvckhhbmRsZXJgIG9yIGVuYWJsZSB1c2VycyB0b1xuICogaGFuZGxlIHRoZW0gbWFudWFsbHkuIFdlIGNvbnNpZGVyIGZvbGxvd2luZyBjYXNlczpcbiAqIDEpIGBzdG9yZS5kaXNwYXRjaCgpYCAobm8gc3Vic2NyaWJlKSAtPiBjYWxsIGBoYW5kbGVFcnJvcigpYFxuICogMikgYHN0b3JlLmRpc3BhdGNoKCkuc3Vic2NyaWJlKClgIChubyBlcnJvciBjYWxsYmFjaykgLT4gY2FsbCBgaGFuZGxlRXJyb3IoKWBcbiAqIDMpIGBzdG9yZS5kaXNwYXRjaCgpLnN1YnNjcmliZSh7IGVycm9yOiAuLi4gfSlgIC0+IGRvbid0IGNhbGwgYGhhbmRsZUVycm9yKClgXG4gKiA0KSBgdG9Qcm9taXNlKClgIHdpdGhvdXQgYGNhdGNoYCAtPiBkbyBgaGFuZGxlRXJyb3IoKWBcbiAqIDUpIGB0b1Byb21pc2UoKWAgd2l0aCBgY2F0Y2hgIC0+IGRvbid0IGBoYW5kbGVFcnJvcigpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbmd4c0Vycm9ySGFuZGxlcihcbiAgaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsXG4gIG5neHNFeGVjdXRpb25TdHJhdGVneTogTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8dm9pZD4pID0+IHtcbiAgICBsZXQgc3Vic2NyaWJlZCA9IGZhbHNlO1xuXG4gICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xuICAgICAgICAvLyBEbyBub3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGZvciBhIG1pY3JvdGFzay4gVGhpcyBkZXBlbmRzIG9uIHRoZSBleGVjdXRpb25cbiAgICAgICAgLy8gc3RyYXRlZ3kgYmVpbmcgdXNlZCwgYnV0IHRoZSBkZWZhdWx0IGBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5YFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIEFuZ3VsYXIgem9uZS5cbiAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXN1YnNjcmliZWQpIHtcbiAgICAgICAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKCgpID0+XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yU2FmZWx5KGVycm9yKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8dm9pZD4oc3Vic2NyaWJlciA9PiB7XG4gICAgICBzdWJzY3JpYmVkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzb3VyY2UucGlwZShsZWF2ZU5neHMobmd4c0V4ZWN1dGlvblN0cmF0ZWd5KSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH0pO1xuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRXJyb3JSZXBvcnRlciB7XG4gIC8qKiBXaWxsIGJlIHNldCBsYXppbHkgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZS4gKi9cbiAgcHJpdmF0ZSBfZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIgPSBudWxsITtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgcmVwb3J0RXJyb3JTYWZlbHkoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lcnJvckhhbmRsZXIgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2Vycm9ySGFuZGxlciA9IHRoaXMuX2luamVjdG9yLmdldChFcnJvckhhbmRsZXIpO1xuICAgIH1cbiAgICAvLyBUaGUgYHRyeS1jYXRjaGAgaXMgdXNlZCB0byBhdm9pZCBoYW5kbGluZyB0aGUgZXJyb3IgdHdpY2UuIFN1cHBvc2Ugd2UgY2FsbFxuICAgIC8vIGBoYW5kbGVFcnJvcmAgd2hpY2ggcmUtdGhyb3dzIHRoZSBlcnJvciBpbnRlcm5hbGx5LiBUaGUgcmUtdGhyb3duIGVycm9yIHdpbGxcbiAgICAvLyBiZSBjYXVnaHQgYnkgem9uZS5qcyB3aGljaCB3aWxsIHRoZW4gZ2V0IHRvIHRoZSBgem9uZS5vbkVycm9yLmVtaXQoKWAgYW5kIHRoZVxuICAgIC8vIGBvbkVycm9yYCBzdWJzY3JpYmVyIHdpbGwgY2FsbCBgaGFuZGxlRXJyb3JgIGFnYWluLlxuICAgIHRyeSB7XG4gICAgICB0aGlzLl9lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxufVxuIl19
@@ -1,20 +1,34 @@
1
1
  import { ɵmemoize, ɵgetStoreMetadata, ɵgetSelectorMetadata } from '@ngxs/store/internals';
2
+ const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
2
3
  export function createRootSelectorFactory(selectorMetaData, selectors, memoizedSelectorFn) {
3
4
  return (context) => {
4
5
  const { argumentSelectorFunctions, selectorOptions } = getRuntimeSelectorInfo(context, selectorMetaData, selectors);
6
+ const { suppressErrors } = selectorOptions;
5
7
  return function selectFromRoot(rootState) {
6
8
  // Determine arguments from the app state using the selectors
7
9
  const results = argumentSelectorFunctions.map(argFn => argFn(rootState));
8
- // if the lambda tries to access a something on the
9
- // state that doesn't exist, it will throw a TypeError.
10
- // since this is quite usual behaviour, we simply return undefined if so.
10
+ // If the lambda attempts to access something in the state that doesn't exist,
11
+ // it will throw a `TypeError`. Since this behavior is common, we simply return
12
+ // `undefined` in such cases.
11
13
  try {
12
14
  return memoizedSelectorFn(...results);
13
15
  }
14
16
  catch (ex) {
15
- if (ex instanceof TypeError && selectorOptions.suppressErrors) {
17
+ if (suppressErrors && ex instanceof TypeError) {
16
18
  return undefined;
17
19
  }
20
+ // We're logging an error in this function because it may be used by `select`,
21
+ // `selectSignal`, and `selectSnapshot`. Therefore, there's no need to catch
22
+ // exceptions there to log errors.
23
+ if (NG_DEV_MODE) {
24
+ const message = 'The selector below has thrown an error upon invocation. ' +
25
+ 'Please check for any unsafe property access that may result in null ' +
26
+ 'or undefined values.';
27
+ // Avoid concatenating the message with the original function, as this will
28
+ // invoke `toString()` on the function. Instead, log it as the second argument.
29
+ // This way, developers will be able to navigate to the actual code in the browser.
30
+ console.error(message, selectorMetaData.originalFn);
31
+ }
18
32
  throw ex;
19
33
  }
20
34
  };
@@ -70,4 +84,4 @@ export function getRootSelectorFactory(selector) {
70
84
  const metadata = ɵgetSelectorMetadata(selector) || ɵgetStoreMetadata(selector);
71
85
  return (metadata && metadata.makeRootSelector) || (() => selector);
72
86
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBR1IsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUdyQixNQUFNLHVCQUF1QixDQUFDO0FBSS9CLE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsZ0JBQXdDLEVBQ3hDLFNBQTRCLEVBQzVCLGtCQUFxQjtJQUVyQixPQUFPLENBQUMsT0FBZ0MsRUFBRSxFQUFFO1FBQzFDLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsR0FBRyxzQkFBc0IsQ0FDM0UsT0FBTyxFQUNQLGdCQUFnQixFQUNoQixTQUFTLENBQ1YsQ0FBQztRQUVGLE9BQU8sU0FBUyxjQUFjLENBQUMsU0FBYztZQUMzQyw2REFBNkQ7WUFDN0QsTUFBTSxPQUFPLEdBQUcseUJBQXlCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFFekUsbURBQW1EO1lBQ25ELHVEQUF1RDtZQUN2RCx5RUFBeUU7WUFDekUsSUFBSTtnQkFDRixPQUFPLGtCQUFrQixDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7YUFDdkM7WUFBQyxPQUFPLEVBQUUsRUFBRTtnQkFDWCxJQUFJLEVBQUUsWUFBWSxTQUFTLElBQUksZUFBZSxDQUFDLGNBQWMsRUFBRTtvQkFDN0QsT0FBTyxTQUFTLENBQUM7aUJBQ2xCO2dCQUVELE1BQU0sRUFBRSxDQUFDO2FBQ1Y7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxVQUFhLEVBQ2IsZ0JBQXVEO0lBRXZELE1BQU0sY0FBYyxHQUFHLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztJQUMzRSxNQUFNLFNBQVMsR0FBRyxTQUFTLGlCQUFpQixDQUFDLEdBQUcsSUFBVztRQUN6RCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRCxJQUFJLFdBQVcsWUFBWSxRQUFRLEVBQUU7WUFDbkMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzVELE9BQU8sZUFBZSxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBTSxDQUFDO0lBQ1AsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUM3QixPQUFnQyxFQUNoQyxnQkFBd0MsRUFDeEMsWUFBK0IsRUFBRTtJQUVqQyxNQUFNLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbkUsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDekUsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FDMUMsU0FBUyxFQUNULGVBQWUsRUFDZixnQkFBZ0IsQ0FBQyxjQUFjLENBQ2hDLENBQUM7SUFFRixNQUFNLHlCQUF5QixHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUNoRSxNQUFNLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztJQUNILE9BQU87UUFDTCxlQUFlO1FBQ2YseUJBQXlCO0tBQzFCLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsWUFBK0IsRUFBRSxFQUNqQyxlQUF1QyxFQUN2QyxjQUFtQjtJQUVuQixNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM1QixNQUFNLHVCQUF1QixHQUMzQixTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxlQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDakUsSUFBSSxjQUFjLElBQUksdUJBQXVCLEVBQUU7UUFDN0MscUVBQXFFO1FBQ3JFLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25ELElBQUksUUFBUSxFQUFFO1lBQ1osZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3ZDO0tBQ0Y7SUFDRCxJQUFJLFNBQVMsRUFBRTtRQUNiLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFFBQWE7SUFDbEQsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0UsT0FBTyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICDJtW1lbW9pemUsXG4gIMm1UnVudGltZVNlbGVjdG9yQ29udGV4dCxcbiAgybVTZWxlY3RvckZhY3RvcnksXG4gIMm1Z2V0U3RvcmVNZXRhZGF0YSxcbiAgybVnZXRTZWxlY3Rvck1ldGFkYXRhLFxuICDJtVNlbGVjdG9yTWV0YURhdGFNb2RlbCxcbiAgybVTaGFyZWRTZWxlY3Rvck9wdGlvbnNcbn0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgQ3JlYXRpb25NZXRhZGF0YSwgUnVudGltZVNlbGVjdG9ySW5mbyB9IGZyb20gJy4vc2VsZWN0b3ItbW9kZWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJvb3RTZWxlY3RvckZhY3Rvcnk8VCBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihcbiAgc2VsZWN0b3JNZXRhRGF0YTogybVTZWxlY3Rvck1ldGFEYXRhTW9kZWwsXG4gIHNlbGVjdG9yczogYW55W10gfCB1bmRlZmluZWQsXG4gIG1lbW9pemVkU2VsZWN0b3JGbjogVFxuKTogybVTZWxlY3RvckZhY3Rvcnkge1xuICByZXR1cm4gKGNvbnRleHQ6IMm1UnVudGltZVNlbGVjdG9yQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHsgYXJndW1lbnRTZWxlY3RvckZ1bmN0aW9ucywgc2VsZWN0b3JPcHRpb25zIH0gPSBnZXRSdW50aW1lU2VsZWN0b3JJbmZvKFxuICAgICAgY29udGV4dCxcbiAgICAgIHNlbGVjdG9yTWV0YURhdGEsXG4gICAgICBzZWxlY3RvcnNcbiAgICApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHNlbGVjdEZyb21Sb290KHJvb3RTdGF0ZTogYW55KSB7XG4gICAgICAvLyBEZXRlcm1pbmUgYXJndW1lbnRzIGZyb20gdGhlIGFwcCBzdGF0ZSB1c2luZyB0aGUgc2VsZWN0b3JzXG4gICAgICBjb25zdCByZXN1bHRzID0gYXJndW1lbnRTZWxlY3RvckZ1bmN0aW9ucy5tYXAoYXJnRm4gPT4gYXJnRm4ocm9vdFN0YXRlKSk7XG5cbiAgICAgIC8vIGlmIHRoZSBsYW1iZGEgdHJpZXMgdG8gYWNjZXNzIGEgc29tZXRoaW5nIG9uIHRoZVxuICAgICAgLy8gc3RhdGUgdGhhdCBkb2Vzbid0IGV4aXN0LCBpdCB3aWxsIHRocm93IGEgVHlwZUVycm9yLlxuICAgICAgLy8gc2luY2UgdGhpcyBpcyBxdWl0ZSB1c3VhbCBiZWhhdmlvdXIsIHdlIHNpbXBseSByZXR1cm4gdW5kZWZpbmVkIGlmIHNvLlxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1lbW9pemVkU2VsZWN0b3JGbiguLi5yZXN1bHRzKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIGlmIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBzZWxlY3Rvck9wdGlvbnMuc3VwcHJlc3NFcnJvcnMpIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXg7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1lbW9pemVkU2VsZWN0b3JGbjxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBvcmlnaW5hbEZuOiBULFxuICBjcmVhdGlvbk1ldGFkYXRhOiBQYXJ0aWFsPENyZWF0aW9uTWV0YWRhdGE+IHwgdW5kZWZpbmVkXG4pIHtcbiAgY29uc3QgY29udGFpbmVyQ2xhc3MgPSBjcmVhdGlvbk1ldGFkYXRhICYmIGNyZWF0aW9uTWV0YWRhdGEuY29udGFpbmVyQ2xhc3M7XG4gIGNvbnN0IHdyYXBwZWRGbiA9IGZ1bmN0aW9uIHdyYXBwZWRTZWxlY3RvckZuKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgY29uc3QgcmV0dXJuVmFsdWUgPSBvcmlnaW5hbEZuLmFwcGx5KGNvbnRhaW5lckNsYXNzLCBhcmdzKTtcbiAgICBpZiAocmV0dXJuVmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgY29uc3QgaW5uZXJNZW1vaXplZEZuID0gybVtZW1vaXplLmFwcGx5KG51bGwsIFtyZXR1cm5WYWx1ZV0pO1xuICAgICAgcmV0dXJuIGlubmVyTWVtb2l6ZWRGbjtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICB9IGFzIFQ7XG4gIGNvbnN0IG1lbW9pemVkRm4gPSDJtW1lbW9pemUod3JhcHBlZEZuKTtcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKG1lbW9pemVkRm4sIG9yaWdpbmFsRm4pO1xuICByZXR1cm4gbWVtb2l6ZWRGbjtcbn1cblxuZnVuY3Rpb24gZ2V0UnVudGltZVNlbGVjdG9ySW5mbyhcbiAgY29udGV4dDogybVSdW50aW1lU2VsZWN0b3JDb250ZXh0LFxuICBzZWxlY3Rvck1ldGFEYXRhOiDJtVNlbGVjdG9yTWV0YURhdGFNb2RlbCxcbiAgc2VsZWN0b3JzOiBhbnlbXSB8IHVuZGVmaW5lZCA9IFtdXG4pOiBSdW50aW1lU2VsZWN0b3JJbmZvIHtcbiAgY29uc3QgbG9jYWxTZWxlY3Rvck9wdGlvbnMgPSBzZWxlY3Rvck1ldGFEYXRhLmdldFNlbGVjdG9yT3B0aW9ucygpO1xuICBjb25zdCBzZWxlY3Rvck9wdGlvbnMgPSBjb250ZXh0LmdldFNlbGVjdG9yT3B0aW9ucyhsb2NhbFNlbGVjdG9yT3B0aW9ucyk7XG4gIGNvbnN0IHNlbGVjdG9yc1RvQXBwbHkgPSBnZXRTZWxlY3RvcnNUb0FwcGx5KFxuICAgIHNlbGVjdG9ycyxcbiAgICBzZWxlY3Rvck9wdGlvbnMsXG4gICAgc2VsZWN0b3JNZXRhRGF0YS5jb250YWluZXJDbGFzc1xuICApO1xuXG4gIGNvbnN0IGFyZ3VtZW50U2VsZWN0b3JGdW5jdGlvbnMgPSBzZWxlY3RvcnNUb0FwcGx5Lm1hcChzZWxlY3RvciA9PiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IGdldFJvb3RTZWxlY3RvckZhY3Rvcnkoc2VsZWN0b3IpO1xuICAgIHJldHVybiBmYWN0b3J5KGNvbnRleHQpO1xuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBzZWxlY3Rvck9wdGlvbnMsXG4gICAgYXJndW1lbnRTZWxlY3RvckZ1bmN0aW9uc1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRTZWxlY3RvcnNUb0FwcGx5KFxuICBzZWxlY3RvcnM6IGFueVtdIHwgdW5kZWZpbmVkID0gW10sXG4gIHNlbGVjdG9yT3B0aW9uczogybVTaGFyZWRTZWxlY3Rvck9wdGlvbnMsXG4gIGNvbnRhaW5lckNsYXNzOiBhbnlcbikge1xuICBjb25zdCBzZWxlY3RvcnNUb0FwcGx5ID0gW107XG4gIGNvbnN0IGNhbkluamVjdENvbnRhaW5lclN0YXRlID1cbiAgICBzZWxlY3RvcnMubGVuZ3RoID09PSAwIHx8IHNlbGVjdG9yT3B0aW9ucy5pbmplY3RDb250YWluZXJTdGF0ZTtcbiAgaWYgKGNvbnRhaW5lckNsYXNzICYmIGNhbkluamVjdENvbnRhaW5lclN0YXRlKSB7XG4gICAgLy8gSWYgd2UgYXJlIG9uIGEgc3RhdGUgY2xhc3MsIGFkZCBpdCBhcyB0aGUgZmlyc3Qgc2VsZWN0b3IgcGFyYW1ldGVyXG4gICAgY29uc3QgbWV0YWRhdGEgPSDJtWdldFN0b3JlTWV0YWRhdGEoY29udGFpbmVyQ2xhc3MpO1xuICAgIGlmIChtZXRhZGF0YSkge1xuICAgICAgc2VsZWN0b3JzVG9BcHBseS5wdXNoKGNvbnRhaW5lckNsYXNzKTtcbiAgICB9XG4gIH1cbiAgaWYgKHNlbGVjdG9ycykge1xuICAgIHNlbGVjdG9yc1RvQXBwbHkucHVzaCguLi5zZWxlY3RvcnMpO1xuICB9XG4gIHJldHVybiBzZWxlY3RvcnNUb0FwcGx5O1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgZmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIHNlbGVjdG9yIHRvIGdldCB0aGUgc2VsZWN0ZWQgc2xpY2UgZnJvbSB0aGUgYXBwIHN0YXRlXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb290U2VsZWN0b3JGYWN0b3J5KHNlbGVjdG9yOiBhbnkpOiDJtVNlbGVjdG9yRmFjdG9yeSB7XG4gIGNvbnN0IG1ldGFkYXRhID0gybVnZXRTZWxlY3Rvck1ldGFkYXRhKHNlbGVjdG9yKSB8fCDJtWdldFN0b3JlTWV0YWRhdGEoc2VsZWN0b3IpO1xuICByZXR1cm4gKG1ldGFkYXRhICYmIG1ldGFkYXRhLm1ha2VSb290U2VsZWN0b3IpIHx8ICgoKSA9PiBzZWxlY3Rvcik7XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL3NlbGVjdG9yLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBR1IsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUdyQixNQUFNLHVCQUF1QixDQUFDO0FBTS9CLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEUsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxnQkFBd0MsRUFDeEMsU0FBNEIsRUFDNUIsa0JBQXFCO0lBRXJCLE9BQU8sQ0FBQyxPQUFnQyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxHQUFHLHNCQUFzQixDQUMzRSxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFNBQVMsQ0FDVixDQUFDO1FBRUYsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLGVBQWUsQ0FBQztRQUUzQyxPQUFPLFNBQVMsY0FBYyxDQUFDLFNBQWM7WUFDM0MsNkRBQTZEO1lBQzdELE1BQU0sT0FBTyxHQUFHLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBRXpFLDhFQUE4RTtZQUM5RSwrRUFBK0U7WUFDL0UsNkJBQTZCO1lBQzdCLElBQUk7Z0JBQ0YsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZDO1lBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxjQUFjLElBQUksRUFBRSxZQUFZLFNBQVMsRUFBRTtvQkFDN0MsT0FBTyxTQUFTLENBQUM7aUJBQ2xCO2dCQUVELDhFQUE4RTtnQkFDOUUsNEVBQTRFO2dCQUM1RSxrQ0FBa0M7Z0JBQ2xDLElBQUksV0FBVyxFQUFFO29CQUNm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SUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICDJtW1lbW9pemUsXG4gIMm1UnVudGltZVNlbGVjdG9yQ29udGV4dCxcbiAgybVTZWxlY3RvckZhY3RvcnksXG4gIMm1Z2V0U3RvcmVNZXRhZGF0YSxcbiAgybVnZXRTZWxlY3Rvck1ldGFkYXRhLFxuICDJtVNlbGVjdG9yTWV0YURhdGFNb2RlbCxcbiAgybVTaGFyZWRTZWxlY3Rvck9wdGlvbnNcbn0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgQ3JlYXRpb25NZXRhZGF0YSwgUnVudGltZVNlbGVjdG9ySW5mbyB9IGZyb20gJy4vc2VsZWN0b3ItbW9kZWxzJztcblxuZGVjbGFyZSBjb25zdCBuZ0Rldk1vZGU6IGJvb2xlYW47XG5cbmNvbnN0IE5HX0RFVl9NT0RFID0gdHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm9vdFNlbGVjdG9yRmFjdG9yeTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBzZWxlY3Rvck1ldGFEYXRhOiDJtVNlbGVjdG9yTWV0YURhdGFNb2RlbCxcbiAgc2VsZWN0b3JzOiBhbnlbXSB8IHVuZGVmaW5lZCxcbiAgbWVtb2l6ZWRTZWxlY3RvckZuOiBUXG4pOiDJtVNlbGVjdG9yRmFjdG9yeSB7XG4gIHJldHVybiAoY29udGV4dDogybVSdW50aW1lU2VsZWN0b3JDb250ZXh0KSA9PiB7XG4gICAgY29uc3QgeyBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zLCBzZWxlY3Rvck9wdGlvbnMgfSA9IGdldFJ1bnRpbWVTZWxlY3RvckluZm8oXG4gICAgICBjb250ZXh0LFxuICAgICAgc2VsZWN0b3JNZXRhRGF0YSxcbiAgICAgIHNlbGVjdG9yc1xuICAgICk7XG5cbiAgICBjb25zdCB7IHN1cHByZXNzRXJyb3JzIH0gPSBzZWxlY3Rvck9wdGlvbnM7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gc2VsZWN0RnJvbVJvb3Qocm9vdFN0YXRlOiBhbnkpIHtcbiAgICAgIC8vIERldGVybWluZSBhcmd1bWVudHMgZnJvbSB0aGUgYXBwIHN0YXRlIHVzaW5nIHRoZSBzZWxlY3RvcnNcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zLm1hcChhcmdGbiA9PiBhcmdGbihyb290U3RhdGUpKTtcblxuICAgICAgLy8gSWYgdGhlIGxhbWJkYSBhdHRlbXB0cyB0byBhY2Nlc3Mgc29tZXRoaW5nIGluIHRoZSBzdGF0ZSB0aGF0IGRvZXNuJ3QgZXhpc3QsXG4gICAgICAvLyBpdCB3aWxsIHRocm93IGEgYFR5cGVFcnJvcmAuIFNpbmNlIHRoaXMgYmVoYXZpb3IgaXMgY29tbW9uLCB3ZSBzaW1wbHkgcmV0dXJuXG4gICAgICAvLyBgdW5kZWZpbmVkYCBpbiBzdWNoIGNhc2VzLlxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1lbW9pemVkU2VsZWN0b3JGbiguLi5yZXN1bHRzKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIGlmIChzdXBwcmVzc0Vycm9ycyAmJiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXZSdyZSBsb2dnaW5nIGFuIGVycm9yIGluIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBpdCBtYXkgYmUgdXNlZCBieSBgc2VsZWN0YCxcbiAgICAgICAgLy8gYHNlbGVjdFNpZ25hbGAsIGFuZCBgc2VsZWN0U25hcHNob3RgLiBUaGVyZWZvcmUsIHRoZXJlJ3Mgbm8gbmVlZCB0byBjYXRjaFxuICAgICAgICAvLyBleGNlcHRpb25zIHRoZXJlIHRvIGxvZyBlcnJvcnMuXG4gICAgICAgIGlmIChOR19ERVZfTU9ERSkge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgICAgICAgJ1RoZSBzZWxlY3RvciBiZWxvdyBoYXMgdGhyb3duIGFuIGVycm9yIHVwb24gaW52b2NhdGlvbi4gJyArXG4gICAgICAgICAgICAnUGxlYXNlIGNoZWNrIGZvciBhbnkgdW5zYWZlIHByb3BlcnR5IGFjY2VzcyB0aGF0IG1heSByZXN1bHQgaW4gbnVsbCAnICtcbiAgICAgICAgICAgICdvciB1bmRlZmluZWQgdmFsdWVzLic7XG5cbiAgICAgICAgICAvLyBBdm9pZCBjb25jYXRlbmF0aW5nIHRoZSBtZXNzYWdlIHdpdGggdGhlIG9yaWdpbmFsIGZ1bmN0aW9uLCBhcyB0aGlzIHdpbGxcbiAgICAgICAgICAvLyBpbnZva2UgYHRvU3RyaW5nKClgIG9uIHRoZSBmdW5jdGlvbi4gSW5zdGVhZCwgbG9nIGl0IGFzIHRoZSBzZWNvbmQgYXJndW1lbnQuXG4gICAgICAgICAgLy8gVGhpcyB3YXksIGRldmVsb3BlcnMgd2lsbCBiZSBhYmxlIHRvIG5hdmlnYXRlIHRvIHRoZSBhY3R1YWwgY29kZSBpbiB0aGUgYnJvd3Nlci5cbiAgICAgICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UsIHNlbGVjdG9yTWV0YURhdGEub3JpZ2luYWxGbik7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBleDtcbiAgICAgIH1cbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWVtb2l6ZWRTZWxlY3RvckZuPFQgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueT4oXG4gIG9yaWdpbmFsRm46IFQsXG4gIGNyZWF0aW9uTWV0YWRhdGE6IFBhcnRpYWw8Q3JlYXRpb25NZXRhZGF0YT4gfCB1bmRlZmluZWRcbikge1xuICBjb25zdCBjb250YWluZXJDbGFzcyA9IGNyZWF0aW9uTWV0YWRhdGEgJiYgY3JlYXRpb25NZXRhZGF0YS5jb250YWluZXJDbGFzcztcbiAgY29uc3Qgd3JhcHBlZEZuID0gZnVuY3Rpb24gd3JhcHBlZFNlbGVjdG9yRm4oLi4uYXJnczogYW55W10pIHtcbiAgICBjb25zdCByZXR1cm5WYWx1ZSA9IG9yaWdpbmFsRm4uYXBwbHkoY29udGFpbmVyQ2xhc3MsIGFyZ3MpO1xuICAgIGlmIChyZXR1cm5WYWx1ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICBjb25zdCBpbm5lck1lbW9pemVkRm4gPSDJtW1lbW9pemUuYXBwbHkobnVsbCwgW3JldHVyblZhbHVlXSk7XG4gICAgICByZXR1cm4gaW5uZXJNZW1vaXplZEZuO1xuICAgIH1cbiAgICByZXR1cm4gcmV0dXJuVmFsdWU7XG4gIH0gYXMgVDtcbiAgY29uc3QgbWVtb2l6ZWRGbiA9IMm1bWVtb2l6ZSh3cmFwcGVkRm4pO1xuICBPYmplY3Quc2V0UHJvdG90eXBlT2YobWVtb2l6ZWRGbiwgb3JpZ2luYWxGbik7XG4gIHJldHVybiBtZW1vaXplZEZuO1xufVxuXG5mdW5jdGlvbiBnZXRSdW50aW1lU2VsZWN0b3JJbmZvKFxuICBjb250ZXh0OiDJtVJ1bnRpbWVTZWxlY3RvckNvbnRleHQsXG4gIHNlbGVjdG9yTWV0YURhdGE6IMm1U2VsZWN0b3JNZXRhRGF0YU1vZGVsLFxuICBzZWxlY3RvcnM6IGFueVtdIHwgdW5kZWZpbmVkID0gW11cbik6IFJ1bnRpbWVTZWxlY3RvckluZm8ge1xuICBjb25zdCBsb2NhbFNlbGVjdG9yT3B0aW9ucyA9IHNlbGVjdG9yTWV0YURhdGEuZ2V0U2VsZWN0b3JPcHRpb25zKCk7XG4gIGNvbnN0IHNlbGVjdG9yT3B0aW9ucyA9IGNvbnRleHQuZ2V0U2VsZWN0b3JPcHRpb25zKGxvY2FsU2VsZWN0b3JPcHRpb25zKTtcbiAgY29uc3Qgc2VsZWN0b3JzVG9BcHBseSA9IGdldFNlbGVjdG9yc1RvQXBwbHkoXG4gICAgc2VsZWN0b3JzLFxuICAgIHNlbGVjdG9yT3B0aW9ucyxcbiAgICBzZWxlY3Rvck1ldGFEYXRhLmNvbnRhaW5lckNsYXNzXG4gICk7XG5cbiAgY29uc3QgYXJndW1lbnRTZWxlY3RvckZ1bmN0aW9ucyA9IHNlbGVjdG9yc1RvQXBwbHkubWFwKHNlbGVjdG9yID0+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeShzZWxlY3Rvcik7XG4gICAgcmV0dXJuIGZhY3RvcnkoY29udGV4dCk7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIHNlbGVjdG9yT3B0aW9ucyxcbiAgICBhcmd1bWVudFNlbGVjdG9yRnVuY3Rpb25zXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFNlbGVjdG9yc1RvQXBwbHkoXG4gIHNlbGVjdG9yczogYW55W10gfCB1bmRlZmluZWQgPSBbXSxcbiAgc2VsZWN0b3JPcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyxcbiAgY29udGFpbmVyQ2xhc3M6IGFueVxuKSB7XG4gIGNvbnN0IHNlbGVjdG9yc1RvQXBwbHkgPSBbXTtcbiAgY29uc3QgY2FuSW5qZWN0Q29udGFpbmVyU3RhdGUgPVxuICAgIHNlbGVjdG9ycy5sZW5ndGggPT09IDAgfHwgc2VsZWN0b3JPcHRpb25zLmluamVjdENvbnRhaW5lclN0YXRlO1xuICBpZiAoY29udGFpbmVyQ2xhc3MgJiYgY2FuSW5qZWN0Q29udGFpbmVyU3RhdGUpIHtcbiAgICAvLyBJZiB3ZSBhcmUgb24gYSBzdGF0ZSBjbGFzcywgYWRkIGl0IGFzIHRoZSBmaXJzdCBzZWxlY3RvciBwYXJhbWV0ZXJcbiAgICBjb25zdCBtZXRhZGF0YSA9IMm1Z2V0U3RvcmVNZXRhZGF0YShjb250YWluZXJDbGFzcyk7XG4gICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICBzZWxlY3RvcnNUb0FwcGx5LnB1c2goY29udGFpbmVyQ2xhc3MpO1xuICAgIH1cbiAgfVxuICBpZiAoc2VsZWN0b3JzKSB7XG4gICAgc2VsZWN0b3JzVG9BcHBseS5wdXNoKC4uLnNlbGVjdG9ycyk7XG4gIH1cbiAgcmV0dXJuIHNlbGVjdG9yc1RvQXBwbHk7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGUgc2VsZWN0b3IgdG8gZ2V0IHRoZSBzZWxlY3RlZCBzbGljZSBmcm9tIHRoZSBhcHAgc3RhdGVcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RTZWxlY3RvckZhY3Rvcnkoc2VsZWN0b3I6IGFueSk6IMm1U2VsZWN0b3JGYWN0b3J5IHtcbiAgY29uc3QgbWV0YWRhdGEgPSDJtWdldFNlbGVjdG9yTWV0YWRhdGEoc2VsZWN0b3IpIHx8IMm1Z2V0U3RvcmVNZXRhZGF0YShzZWxlY3Rvcik7XG4gIHJldHVybiAobWV0YWRhdGEgJiYgbWV0YWRhdGEubWFrZVJvb3RTZWxlY3RvcikgfHwgKCgpID0+IHNlbGVjdG9yKTtcbn1cbiJdfQ==
@@ -1,4 +1,3 @@
1
- // tslint:disable:unified-signatures
2
1
  import { Inject, Injectable, Optional, computed } from '@angular/core';
3
2
  import { of, throwError } from 'rxjs';
4
3
  import { catchError, distinctUntilChanged, map, shareReplay, take } from 'rxjs/operators';
@@ -39,14 +38,13 @@ export class Store {
39
38
  }
40
39
  select(selector) {
41
40
  const selectorFn = this.getStoreBoundSelectorFn(selector);
42
- return this._selectableStateStream.pipe(map(selectorFn), catchError((err) => {
41
+ return this._selectableStateStream.pipe(map(selectorFn), catchError((error) => {
43
42
  // if error is TypeError we swallow it to prevent usual errors with property access
44
- const { suppressErrors } = this._config.selectorOptions;
45
- if (err instanceof TypeError && suppressErrors) {
43
+ if (this._config.selectorOptions.suppressErrors && error instanceof TypeError) {
46
44
  return of(undefined);
47
45
  }
48
46
  // rethrow other errors
49
- return throwError(err);
47
+ return throwError(error);
50
48
  }), distinctUntilChanged(), leaveNgxs(this._internalExecutionStrategy));
51
49
  }
52
50
  selectOnce(selector) {
@@ -112,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
112
110
  type: Inject,
113
111
  args: [ɵINITIAL_STATE_TOKEN]
114
112
  }] }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBZ0IsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBYyxFQUFFLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG9CQUFvQixFQUE0QixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFJeEQsTUFBTSxPQUFPLEtBQUs7SUFXaEIsWUFDVSxZQUF5QixFQUN6Qix3QkFBaUQsRUFDakQsT0FBbUIsRUFDbkIsMEJBQXlELEVBQ3pELGFBQTJCLEVBR25DLGlCQUFzQjtRQVBkLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFDakQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQiwrQkFBMEIs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Qyx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RFLE9BQU8sY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxlQUFlLENBQUMsaUJBQXNCO1FBQzVDLE1BQU0sS0FBSyxHQUFpQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNwRCxNQUFNLFlBQVksR0FBWSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDeEUsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxvQkFBb0IsR0FBWSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN6RixNQUFNLFdBQVcsR0FBaUIsb0JBQW9CO2dCQUNwRCxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLEVBQUU7Z0JBQ3pELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUV0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7aUlBaElVLEtBQUssdUxBa0JOLG9CQUFvQjtxSUFsQm5CLEtBQUssY0FEUSxNQUFNOzsyRkFDbkIsS0FBSztrQkFEakIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQWtCN0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTp1bmlmaWVkLXNpZ25hdHVyZXNcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFNpZ25hbCwgVHlwZSwgY29tcHV0ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgybVJTklUSUFMX1NUQVRFX1RPS0VOLCDJtVBsYWluT2JqZWN0LCBTdGF0ZVRva2VuIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtb3BlcmF0aW9ucyc7XG5pbXBvcnQgeyBnZXRSb290U2VsZWN0b3JGYWN0b3J5IH0gZnJvbSAnLi9zZWxlY3RvcnMvc2VsZWN0b3ItdXRpbHMnO1xuaW1wb3J0IHsgU3RhdGVTdHJlYW0gfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLXN0cmVhbSc7XG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9ycyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuICAvKipcbiAgICogVGhpcyBpcyBhIGRlcml2ZWQgc3RhdGUgc3RyZWFtIHRoYXQgbGVhdmVzIE5HWFMgZXhlY3V0aW9uIHN0cmF0ZWd5IHRvIGVtaXQgc3RhdGUgY2hhbmdlcyB3aXRoaW4gdGhlIEFuZ3VsYXIgem9uZSxcbiAgICogYmVjYXVzZSBzdGF0ZSBpcyBiZWluZyBjaGFuZ2VkIGFjdHVhbGx5IHdpdGhpbiB0aGUgYDxyb290PmAgem9uZSwgc2VlIGBJbnRlcm5hbERpc3BhdGNoZXIjZGlzcGF0Y2hTaW5nbGVgLlxuICAgKiBBbGwgc2VsZWN0cyB3b3VsZCB1c2UgdGhpcyBzdHJlYW0sIGFuZCBpdCB3b3VsZCBjYWxsIGxlYXZlIG9ubHkgb25jZSBmb3IgYW55IHN0YXRlIGNoYW5nZSBhY3Jvc3MgYWxsIGFjdGl2ZSBzZWxlY3RvcnMuXG4gICAqL1xuICBwcml2YXRlIF9zZWxlY3RhYmxlU3RhdGVTdHJlYW0gPSB0aGlzLl9zdGF0ZVN0cmVhbS5waXBlKFxuICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IFN0YXRlU3RyZWFtLFxuICAgIHByaXZhdGUgX2ludGVybmFsU3RhdGVPcGVyYXRpb25zOiBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyxcbiAgICBwcml2YXRlIF9jb25maWc6IE5neHNDb25maWcsXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneTogSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3ksXG4gICAgcHJpdmF0ZSBfc3RhdGVGYWN0b3J5OiBTdGF0ZUZhY3RvcnksXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KMm1SU5JVElBTF9TVEFURV9UT0tFTilcbiAgICBpbml0aWFsU3RhdGVWYWx1ZTogYW55XG4gICkge1xuICAgIHRoaXMuaW5pdFN0YXRlU3RyZWFtKGluaXRpYWxTdGF0ZVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaGVzIGV2ZW50KHMpLlxuICAgKi9cbiAgZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5kaXNwYXRjaChhY3Rpb25PckFjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgc2VsZWN0PFQ+KHNlbGVjdG9yOiAoc3RhdGU6IGFueSwgLi4uc3RhdGVzOiBhbnlbXSkgPT4gVCk6IE9ic2VydmFibGU8VD47XG4gIHNlbGVjdDxUID0gYW55PihzZWxlY3Rvcjogc3RyaW5nIHwgVHlwZTxhbnk+KTogT2JzZXJ2YWJsZTxUPjtcbiAgc2VsZWN0PFQ+KHNlbGVjdG9yOiBTdGF0ZVRva2VuPFQ+KTogT2JzZXJ2YWJsZTxUPjtcbiAgc2VsZWN0KHNlbGVjdG9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlbGVjdG9yRm4gPSB0aGlzLmdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZVN0YXRlU3RyZWFtLnBpcGUoXG4gICAgICBtYXAoc2VsZWN0b3JGbiksXG4gICAgICBjYXRjaEVycm9yKChlcnI6IEVycm9yKTogT2JzZXJ2YWJsZTxuZXZlcj4gfCBPYnNlcnZhYmxlPHVuZGVmaW5lZD4gPT4ge1xuICAgICAgICAvLyBpZiBlcnJvciBpcyBUeXBlRXJyb3Igd2Ugc3dhbGxvdyBpdCB0byBwcmV2ZW50IHVzdWFsIGVycm9ycyB3aXRoIHByb3BlcnR5IGFjY2Vzc1xuICAgICAgICBjb25zdCB7IHN1cHByZXNzRXJyb3JzIH0gPSB0aGlzLl9jb25maWcuc2VsZWN0b3JPcHRpb25zO1xuXG4gICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgc3VwcHJlc3NFcnJvcnMpIHtcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJldGhyb3cgb3RoZXIgZXJyb3JzXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBsZWF2ZU5neHModGhpcy5faW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBvbmUgc2xpY2Ugb2YgZGF0YSBmcm9tIHRoZSBzdG9yZS5cbiAgICovXG5cbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogKHN0YXRlOiBhbnksIC4uLnN0YXRlczogYW55W10pID0+IFQpOiBPYnNlcnZhYmxlPFQ+O1xuICBzZWxlY3RPbmNlPFQgPSBhbnk+KHNlbGVjdG9yOiBzdHJpbmcgfCBUeXBlPGFueT4pOiBPYnNlcnZhYmxlPFQ+O1xuICBzZWxlY3RPbmNlPFQ+KHNlbGVjdG9yOiBTdGF0ZVRva2VuPFQ+KTogT2JzZXJ2YWJsZTxUPjtcbiAgc2VsZWN0T25jZShzZWxlY3RvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Qoc2VsZWN0b3IpLnBpcGUodGFrZSgxKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgc25hcHNob3QgZnJvbSB0aGUgc3RhdGUuXG4gICAqL1xuICBzZWxlY3RTbmFwc2hvdDxUPihzZWxlY3RvcjogKHN0YXRlOiBhbnksIC4uLnN0YXRlczogYW55W10pID0+IFQpOiBUO1xuICBzZWxlY3RTbmFwc2hvdDxUID0gYW55PihzZWxlY3Rvcjogc3RyaW5nIHwgVHlwZTxhbnk+KTogVDtcbiAgc2VsZWN0U25hcHNob3Q8VD4oc2VsZWN0b3I6IFN0YXRlVG9rZW48VD4pOiBUO1xuICBzZWxlY3RTbmFwc2hvdChzZWxlY3RvcjogYW55KTogYW55IHtcbiAgICBjb25zdCBzZWxlY3RvckZuID0gdGhpcy5nZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIHNlbGVjdG9yRm4odGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgc2lnbmFsIGZyb20gdGhlIHN0YXRlLlxuICAgKi9cbiAgc2VsZWN0U2lnbmFsPFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogU2lnbmFsPFQ+IHtcbiAgICBjb25zdCBzZWxlY3RvckZuID0gdGhpcy5nZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIGNvbXB1dGVkPFQ+KCgpID0+IHNlbGVjdG9yRm4odGhpcy5fc3RhdGVTdHJlYW0uc3RhdGUoKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93IHRoZSB1c2VyIHRvIHN1YnNjcmliZSB0byB0aGUgcm9vdCBvZiB0aGUgc3RhdGVcbiAgICovXG4gIHN1YnNjcmliZShmbj86ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZVN0YXRlU3RyZWFtXG4gICAgICAucGlwZShsZWF2ZU5neHModGhpcy5faW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSkpXG4gICAgICAuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHJhdyB2YWx1ZSBvZiB0aGUgc3RhdGUuXG4gICAqL1xuICBzbmFwc2hvdCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuZ2V0U3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgc3RhdGUgdG8gYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lLiBUaGlzIG1ldGhvZCBpcyB1c2VmdWxcbiAgICogZm9yIHBsdWdpbidzIHdobyBuZWVkIHRvIG1vZGlmeSB0aGUgc3RhdGUgZGlyZWN0bHkgb3IgdW5pdCB0ZXN0aW5nLlxuICAgKi9cbiAgcmVzZXQoc3RhdGU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuc2V0U3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3RvcjogYW55KSB7XG4gICAgY29uc3QgbWFrZVNlbGVjdG9yRm4gPSBnZXRSb290U2VsZWN0b3JGYWN0b3J5KHNlbGVjdG9yKTtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuX3N0YXRlRmFjdG9yeS5nZXRSdW50aW1lU2VsZWN0b3JDb250ZXh0KCk7XG4gICAgcmV0dXJuIG1ha2VTZWxlY3RvckZuKHJ1bnRpbWVDb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN0YXRlU3RyZWFtKGluaXRpYWxTdGF0ZVZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogybVQbGFpbk9iamVjdCA9IHRoaXMuX3N0YXRlU3RyZWFtLnZhbHVlO1xuICAgIGNvbnN0IHN0b3JlSXNFbXB0eTogYm9vbGVhbiA9ICF2YWx1ZSB8fCBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuICAgIGlmIChzdG9yZUlzRW1wdHkpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRTdGF0ZU5vdEVtcHR5OiBib29sZWFuID0gT2JqZWN0LmtleXModGhpcy5fY29uZmlnLmRlZmF1bHRzU3RhdGUpLmxlbmd0aCA+IDA7XG4gICAgICBjb25zdCBzdG9yZVZhbHVlczogybVQbGFpbk9iamVjdCA9IGRlZmF1bHRTdGF0ZU5vdEVtcHR5XG4gICAgICAgID8geyAuLi50aGlzLl9jb25maWcuZGVmYXVsdHNTdGF0ZSwgLi4uaW5pdGlhbFN0YXRlVmFsdWUgfVxuICAgICAgICA6IGluaXRpYWxTdGF0ZVZhbHVlO1xuXG4gICAgICB0aGlzLl9zdGF0ZVN0cmVhbS5uZXh0KHN0b3JlVmFsdWVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFnQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQTRCLE1BQU0sdUJBQXVCLENBQUM7QUFFdkYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUl4RCxNQUFNLE9BQU8sS0FBSztJQVdoQixZQUNVLFlBQXlCLEVBQ3pCLHdCQUFpRCxFQUNqRCxPQUFtQixFQUNuQiwwQkFBeUQsRUFDekQsYUFBMkIsRUFHbkMsaUJBQXNCO1FBUGQsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNqRCxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLCtCQUEwQixHQUExQiwwQkFBMEIs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LENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZUFBZSxDQUFDLGlCQUFzQjtRQUM1QyxNQUFNLEtBQUssR0FBaUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDcEQsTUFBTSxZQUFZLEdBQVksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sb0JBQW9CLEdBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDekYsTUFBTSxXQUFXLEdBQWlCLG9CQUFvQjtnQkFDcEQsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxHQUFHLGlCQUFpQixFQUFFO2dCQUN6RCxDQUFDLENBQUMsaUJBQWlCLENBQUM7WUFFdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO2lJQTlIVSxLQUFLLHVMQWtCTixvQkFBb0I7cUlBbEJuQixLQUFLLGNBRFEsTUFBTTs7MkZBQ25CLEtBQUs7a0JBRGpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFrQjdCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2lnbmFsLCBUeXBlLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyDJtUlOSVRJQUxfU1RBVEVfVE9LRU4sIMm1UGxhaW5PYmplY3QsIFN0YXRlVG9rZW4gfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IGdldFJvb3RTZWxlY3RvckZhY3RvcnkgfSBmcm9tICcuL3NlbGVjdG9ycy9zZWxlY3Rvci11dGlscyc7XG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtc3RyZWFtJztcbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4vb3BlcmF0b3JzL2xlYXZlLW5neHMnO1xuaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBTdGF0ZUZhY3RvcnkgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLWZhY3RvcnknO1xuaW1wb3J0IHsgVHlwZWRTZWxlY3RvciB9IGZyb20gJy4vc2VsZWN0b3JzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTdG9yZSB7XG4gIC8qKlxuICAgKiBUaGlzIGlzIGEgZGVyaXZlZCBzdGF0ZSBzdHJlYW0gdGhhdCBsZWF2ZXMgTkdYUyBleGVjdXRpb24gc3RyYXRlZ3kgdG8gZW1pdCBzdGF0ZSBjaGFuZ2VzIHdpdGhpbiB0aGUgQW5ndWxhciB6b25lLFxuICAgKiBiZWNhdXNlIHN0YXRlIGlzIGJlaW5nIGNoYW5nZWQgYWN0dWFsbHkgd2l0aGluIHRoZSBgPHJvb3Q+YCB6b25lLCBzZWUgYEludGVybmFsRGlzcGF0Y2hlciNkaXNwYXRjaFNpbmdsZWAuXG4gICAqIEFsbCBzZWxlY3RzIHdvdWxkIHVzZSB0aGlzIHN0cmVhbSwgYW5kIGl0IHdvdWxkIGNhbGwgbGVhdmUgb25seSBvbmNlIGZvciBhbnkgc3RhdGUgY2hhbmdlIGFjcm9zcyBhbGwgYWN0aXZlIHNlbGVjdG9ycy5cbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdGFibGVTdGF0ZVN0cmVhbSA9IHRoaXMuX3N0YXRlU3RyZWFtLnBpcGUoXG4gICAgbGVhdmVOZ3hzKHRoaXMuX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdGF0ZVN0cmVhbTogU3RhdGVTdHJlYW0sXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnM6IEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxuICAgIHByaXZhdGUgX2NvbmZpZzogTmd4c0NvbmZpZyxcbiAgICBwcml2YXRlIF9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5OiBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSxcbiAgICBwcml2YXRlIF9zdGF0ZUZhY3Rvcnk6IFN0YXRlRmFjdG9yeSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoybVJTklUSUFMX1NUQVRFX1RPS0VOKVxuICAgIGluaXRpYWxTdGF0ZVZhbHVlOiBhbnlcbiAgKSB7XG4gICAgdGhpcy5pbml0U3RhdGVTdHJlYW0oaW5pdGlhbFN0YXRlVmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgZXZlbnQocykuXG4gICAqL1xuICBkaXNwYXRjaChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5kaXNwYXRjaChhY3Rpb25PckFjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxuICAgKi9cbiAgc2VsZWN0PFQ+KHNlbGVjdG9yOiAoc3RhdGU6IGFueSwgLi4uc3RhdGVzOiBhbnlbXSkgPT4gVCk6IE9ic2VydmFibGU8VD47XG4gIHNlbGVjdDxUID0gYW55PihzZWxlY3Rvcjogc3RyaW5nIHwgVHlwZTxhbnk+KTogT2JzZXJ2YWJsZTxUPjtcbiAgc2VsZWN0PFQ+KHNlbGVjdG9yOiBTdGF0ZVRva2VuPFQ+KTogT2JzZXJ2YWJsZTxUPjtcbiAgc2VsZWN0KHNlbGVjdG9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlbGVjdG9yRm4gPSB0aGlzLmdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yKTtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZVN0YXRlU3RyZWFtLnBpcGUoXG4gICAgICBtYXAoc2VsZWN0b3JGbiksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogRXJyb3IpOiBPYnNlcnZhYmxlPG5ldmVyPiB8IE9ic2VydmFibGU8dW5kZWZpbmVkPiA9PiB7XG4gICAgICAgIC8vIGlmIGVycm9yIGlzIFR5cGVFcnJvciB3ZSBzd2FsbG93IGl0IHRvIHByZXZlbnQgdXN1YWwgZXJyb3JzIHdpdGggcHJvcGVydHkgYWNjZXNzXG4gICAgICAgIGlmICh0aGlzLl9jb25maWcuc2VsZWN0b3JPcHRpb25zLnN1cHByZXNzRXJyb3JzICYmIGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZXRocm93IG90aGVyIGVycm9yc1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBsZWF2ZU5neHModGhpcy5faW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBvbmUgc2xpY2Ugb2YgZGF0YSBmcm9tIHRoZSBzdG9yZS5cbiAgICovXG5cbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogKHN0YXRlOiBhbnksIC4uLnN0YXRlczogYW55W10pID0+IFQpOiBPYnNlcnZhYmxlPFQ+O1xuICBzZWxlY3RPbmNlPFQgPSBhbnk+KHNlbGVjdG9yOiBzdHJpbmcgfCBUeXBlPGFueT4pOiBPYnNlcnZhYmxlPFQ+O1xuICBzZWxlY3RPbmNlPFQ+KHNlbGVjdG9yOiBTdGF0ZVRva2VuPFQ+KTogT2JzZXJ2YWJsZTxUPjtcbiAgc2VsZWN0T25jZShzZWxlY3RvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Qoc2VsZWN0b3IpLnBpcGUodGFrZSgxKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgc25hcHNob3QgZnJvbSB0aGUgc3RhdGUuXG4gICAqL1xuICBzZWxlY3RTbmFwc2hvdDxUPihzZWxlY3RvcjogKHN0YXRlOiBhbnksIC4uLnN0YXRlczogYW55W10pID0+IFQpOiBUO1xuICBzZWxlY3RTbmFwc2hvdDxUID0gYW55PihzZWxlY3Rvcjogc3RyaW5nIHwgVHlwZTxhbnk+KTogVDtcbiAgc2VsZWN0U25hcHNob3Q8VD4oc2VsZWN0b3I6IFN0YXRlVG9rZW48VD4pOiBUO1xuICBzZWxlY3RTbmFwc2hvdChzZWxlY3RvcjogYW55KTogYW55IHtcbiAgICBjb25zdCBzZWxlY3RvckZuID0gdGhpcy5nZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIHNlbGVjdG9yRm4odGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgc2lnbmFsIGZyb20gdGhlIHN0YXRlLlxuICAgKi9cbiAgc2VsZWN0U2lnbmFsPFQ+KHNlbGVjdG9yOiBUeXBlZFNlbGVjdG9yPFQ+KTogU2lnbmFsPFQ+IHtcbiAgICBjb25zdCBzZWxlY3RvckZuID0gdGhpcy5nZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIGNvbXB1dGVkPFQ+KCgpID0+IHNlbGVjdG9yRm4odGhpcy5fc3RhdGVTdHJlYW0uc3RhdGUoKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93IHRoZSB1c2VyIHRvIHN1YnNjcmliZSB0byB0aGUgcm9vdCBvZiB0aGUgc3RhdGVcbiAgICovXG4gIHN1YnNjcmliZShmbj86ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZVN0YXRlU3RyZWFtXG4gICAgICAucGlwZShsZWF2ZU5neHModGhpcy5faW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSkpXG4gICAgICAuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHJhdyB2YWx1ZSBvZiB0aGUgc3RhdGUuXG4gICAqL1xuICBzbmFwc2hvdCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuZ2V0U3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgc3RhdGUgdG8gYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lLiBUaGlzIG1ldGhvZCBpcyB1c2VmdWxcbiAgICogZm9yIHBsdWdpbidzIHdobyBuZWVkIHRvIG1vZGlmeSB0aGUgc3RhdGUgZGlyZWN0bHkgb3IgdW5pdCB0ZXN0aW5nLlxuICAgKi9cbiAgcmVzZXQoc3RhdGU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuc2V0U3RhdGUoc3RhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdG9yZUJvdW5kU2VsZWN0b3JGbihzZWxlY3RvcjogYW55KSB7XG4gICAgY29uc3QgbWFrZVNlbGVjdG9yRm4gPSBnZXRSb290U2VsZWN0b3JGYWN0b3J5KHNlbGVjdG9yKTtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuX3N0YXRlRmFjdG9yeS5nZXRSdW50aW1lU2VsZWN0b3JDb250ZXh0KCk7XG4gICAgcmV0dXJuIG1ha2VTZWxlY3RvckZuKHJ1bnRpbWVDb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFN0YXRlU3RyZWFtKGluaXRpYWxTdGF0ZVZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogybVQbGFpbk9iamVjdCA9IHRoaXMuX3N0YXRlU3RyZWFtLnZhbHVlO1xuICAgIGNvbnN0IHN0b3JlSXNFbXB0eTogYm9vbGVhbiA9ICF2YWx1ZSB8fCBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuICAgIGlmIChzdG9yZUlzRW1wdHkpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRTdGF0ZU5vdEVtcHR5OiBib29sZWFuID0gT2JqZWN0LmtleXModGhpcy5fY29uZmlnLmRlZmF1bHRzU3RhdGUpLmxlbmd0aCA+IDA7XG4gICAgICBjb25zdCBzdG9yZVZhbHVlczogybVQbGFpbk9iamVjdCA9IGRlZmF1bHRTdGF0ZU5vdEVtcHR5XG4gICAgICAgID8geyAuLi50aGlzLl9jb25maWcuZGVmYXVsdHNTdGF0ZSwgLi4uaW5pdGlhbFN0YXRlVmFsdWUgfVxuICAgICAgICA6IGluaXRpYWxTdGF0ZVZhbHVlO1xuXG4gICAgICB0aGlzLl9zdGF0ZVN0cmVhbS5uZXh0KHN0b3JlVmFsdWVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -45,7 +45,7 @@ export class NgxsConfig {
45
45
  */
46
46
  this.selectorOptions = {
47
47
  injectContainerState: true,
48
- suppressErrors: true // TODO: default is true in v3, will change in v4
48
+ suppressErrors: false
49
49
  };
50
50
  }
51
51
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgxsConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -91,4 +91,4 @@ export class NgxsSimpleChange {
91
91
  this.firstChange = firstChange;
92
92
  }
93
93
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckgsTUFBTSxXQUFXLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQztBQUVsRSxzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3RDLENBQUM7QUFFRixzRUFBc0U7QUFDdEUsK0VBQStFO0FBQy9FLCtFQUErRTtBQUMvRSxnQ0FBZ0M7QUFDaEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ25ELFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsQ0FBQztBQUVGLHlFQUF5RTtBQUN6RSwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUM1QyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNsQyxDQUFDO0FBTUY7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLFVBQVU7SUFmdkI7UUEwQkUsa0JBQWEsR0FPVDtZQUNGLDJCQUEyQixFQUFFLEtBQUs7U0FDbkMsQ0FBQztRQUNGOzs7Ozs7Ozs7O1dBVUc7UUFDSCxzQkFBaUIsR0FBZ0Msd0NBQXdDLENBQUM7UUFDMUY7Ozs7O1dBS0c7UUFDSCxrQkFBYSxHQUFpQixFQUFFLENBQUM7UUFDakM7O1dBRUc7UUFDSCxvQkFBZSxHQUEyQjtZQUN4QyxvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLGNBQWMsRUFBRSxJQUFJLENBQUMsaURBQWlEO1NBQ3ZFLENBQUM7S0FDSDtpSUEvQ1ksVUFBVTtxSUFBVixVQUFVLGNBZFQsTUFBTSxjQUNOLEdBQWUsRUFBRTtZQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwQyxPQUFPO2dCQUNMLEdBQUcsYUFBYTtnQkFDaEIsR0FBRyxNQUFNO2dCQUNULGVBQWUsRUFBRTtvQkFDZixHQUFHLGFBQWEsQ0FBQyxlQUFlO29CQUNoQyxHQUFHLE1BQU0sQ0FBQyxlQUFlO2lCQUMxQjthQUNGLENBQUM7UUFDSixDQUFDOzsyRkFFVSxVQUFVO2tCQWZ0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO29CQUNsQixVQUFVLEVBQUUsR0FBZSxFQUFFO3dCQUMzQixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQzt3QkFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNwQyxPQUFPOzRCQUNMLEdBQUcsYUFBYTs0QkFDaEIsR0FBRyxNQUFNOzRCQUNULGVBQWUsRUFBRTtnQ0FDZixHQUFHLGFBQWEsQ0FBQyxlQUFlO2dDQUNoQyxHQUFHLE1BQU0sQ0FBQyxlQUFlOzZCQUMxQjt5QkFDRixDQUFDO29CQUNKLENBQUM7aUJBQ0Y7O0FBNkVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDa0IsYUFBZ0IsRUFDaEIsWUFBZSxFQUNmLFdBQW9CO1FBRnBCLGtCQUFhLEdBQWIsYUFBYSxDQUFHO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVM7SUFDbkMsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIFR5cGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUvb3BlcmF0b3JzJztcbmltcG9ydCB7IMm1UGxhaW5PYmplY3QsIMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zLCDJtVN0YXRlQ2xhc3MgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9zeW1ib2xzJztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIHJvb3QgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgUk9PVF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcnJheTzJtVN0YXRlQ2xhc3M+PihcbiAgTkdfREVWX01PREUgPyAnUk9PVF9TVEFURV9UT0tFTicgOiAnJ1xuKTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIGZlYXR1cmUgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yRmVhdHVyZWAgb3IgYHByb3ZpZGVTdGF0ZXNgLlxuLy8gVGhlIEFycmF5PEFycmF5PiBpcyB1c2VkIHRvIG92ZXJsb2FkIHRoZSByZXNvbHZlZCB2YWx1ZSBvZiB0aGUgdG9rZW4gYmVjYXVzZVxuLy8gaXQgaXMgYSBtdWx0aS1wcm92aWRlciB0b2tlbi5cbmV4cG9ydCBjb25zdCBGRUFUVVJFX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFycmF5PEFycmF5PMm1U3RhdGVDbGFzcz4+PihcbiAgTkdfREVWX01PREUgPyAnRkVBVFVSRV9TVEFURV9UT0tFTicgOiAnJ1xuKTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgdG8gb3B0aW9ucyBwcm92aWRlZCBhdCB0aGUgcm9vdFxuLy8gbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgTkdYU19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE5neHNNb2R1bGVPcHRpb25zPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19PUFRJT05TJyA6ICcnXG4pO1xuXG5leHBvcnQgdHlwZSBOZ3hzTGlmZUN5Y2xlID0gUGFydGlhbDxOZ3hzT25DaGFuZ2VzPiAmXG4gIFBhcnRpYWw8Tmd4c09uSW5pdD4gJlxuICBQYXJ0aWFsPE5neHNBZnRlckJvb3RzdHJhcD47XG5cbi8qKlxuICogVGhlIE5HWFMgY29uZmlnIHNldHRpbmdzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgdXNlRmFjdG9yeTogKCk6IE5neHNDb25maWcgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRDb25maWcgPSBuZXcgTmd4c0NvbmZpZygpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChOR1hTX09QVElPTlMpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0Q29uZmlnLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgc2VsZWN0b3JPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRDb25maWcuc2VsZWN0b3JPcHRpb25zLFxuICAgICAgICAuLi5jb25maWcuc2VsZWN0b3JPcHRpb25zXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJ1biBpbiBkZXZlbG9wbWVudCBtb2RlLiBUaGlzIHdpbGwgYWRkIGFkZGl0aW9uYWwgZGVidWdnaW5nIGZlYXR1cmVzOlxuICAgKiAtIE9iamVjdC5mcmVlemUgb24gdGhlIHN0YXRlIGFuZCBhY3Rpb25zIHRvIGd1YXJhbnRlZSBpbW11dGFiaWxpdHlcbiAgICogKGRlZmF1bHQ6IGZhbHNlKVxuICAgKlxuICAgKiBOb3RlOiB0aGlzIHByb3BlcnR5IHdpbGwgYmUgYWNjb3VudGVkIG9ubHkgaW4gZGV2ZWxvcG1lbnQgbW9kZSB3aGVuIHVzaW5nIHRoZSBJdnkgY29tcGlsZXIuXG4gICAqIEl0IG1ha2VzIHNlbnNlIHRvIHVzZSBpdCBvbmx5IGR1cmluZyBkZXZlbG9wbWVudCB0byBlbnN1cmUgdGhlcmUncmUgbm8gc3RhdGUgbXV0YXRpb25zLlxuICAgKiBXaGVuIGJ1aWxkaW5nIGZvciBwcm9kdWN0aW9uLCB0aGUgT2JqZWN0LmZyZWV6ZSB3aWxsIGJlIHRyZWUtc2hha2VuIGF3YXkuXG4gICAqL1xuICBkZXZlbG9wbWVudE1vZGU6IGJvb2xlYW47XG4gIGNvbXBhdGliaWxpdHk6IHtcbiAgICAvKipcbiAgICAgKiBTdXBwb3J0IGEgc3RyaWN0IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LlxuICAgICAqIFRoaXMgd2lsbCBjaXJjdW12ZW50IHNvbWUgb3B0aW1pc2F0aW9ucyB0aGF0IHZpb2xhdGUgYSBzdHJpY3QgQ1NQIHRocm91Z2ggdGhlIHVzZSBvZiBgbmV3IEZ1bmN0aW9uKC4uLilgLlxuICAgICAqIChkZWZhdWx0OiBmYWxzZSlcbiAgICAgKi9cbiAgICBzdHJpY3RDb250ZW50U2VjdXJpdHlQb2xpY3k6IGJvb2xlYW47XG4gIH0gPSB7XG4gICAgc3RyaWN0Q29udGVudFNlY3VyaXR5UG9saWN5OiBmYWxzZVxuICB9O1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gcGVyZm9ybSBhc3luYyBvcGVyYXRpb25zIGluc2lkZS4gQW4gaW1wbGVtZW50YXRpb24gY2FuIGJlXG4gICAqIHByb3ZpZGVkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJlaGF2aW91ciB3aGVyZSB0aGUgYXN5bmMgb3BlcmF0aW9ucyBhcmUgcnVuXG4gICAqIG91dHNpZGUgQW5ndWxhcidzIHpvbmUgYnV0IGFsbCBvYnNlcnZhYmxlIGJlaGF2aW91cnMgb2YgTkdYUyBhcmUgcnVuIGJhY2sgaW5zaWRlIEFuZ3VsYXIncyB6b25lLlxuICAgKiBUaGVzZSBvYnNlcnZhYmxlIGJlaGF2aW91cnMgYXJlIGZyb206XG4gICAqICAgYEBTZWxlY3QoLi4uKWAsIGBzdG9yZS5zZWxlY3QoLi4uKWAsIGBhY3Rpb25zLnN1YnNjcmliZSguLi4pYCBvciBgc3RvcmUuZGlzcGF0Y2goLi4uKS5zdWJzY3JpYmUoLi4uKWBcbiAgICogRXZlcnkgYHpvbmUucnVuYCBjYXVzZXMgQW5ndWxhciB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBvbiB0aGUgd2hvbGUgdHJlZSAoYGFwcC50aWNrKClgKSBzbyBvZiB5b3VyXG4gICAqIGFwcGxpY2F0aW9uIGRvZXNuJ3QgcmVseSBvbiB6b25lLmpzIHJ1bm5pbmcgY2hhbmdlIGRldGVjdGlvbiB0aGVuIHlvdSBjYW4gc3dpdGNoIHRvIHRoZVxuICAgKiBgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneWAgdGhhdCBkb2Vzbid0IGludGVyYWN0IHdpdGggem9uZXMuXG4gICAqIChkZWZhdWx0OiBudWxsKVxuICAgKi9cbiAgZXhlY3V0aW9uU3RyYXRlZ3k6IFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PiA9IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k7XG4gIC8qKlxuICAgKiBEZWZpbmluZyB0aGUgZGVmYXVsdCBzdGF0ZSBiZWZvcmUgbW9kdWxlIGluaXRpYWxpemF0aW9uXG4gICAqIFRoaXMgaXMgY29udmVuaWVudCBpZiB3ZSBuZWVkIHRvIGNyZWF0ZSBhIGRlZmluZSBvdXIgb3duIHNldCBvZiBzdGF0ZXMuXG4gICAqIEBkZXByZWNhdGVkIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciB2NFxuICAgKiAoZGVmYXVsdDoge30pXG4gICAqL1xuICBkZWZhdWx0c1N0YXRlOiDJtVBsYWluT2JqZWN0ID0ge307XG4gIC8qKlxuICAgKiBEZWZpbmluZyBzaGFyZWQgc2VsZWN0b3Igb3B0aW9uc1xuICAgKi9cbiAgc2VsZWN0b3JPcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9IHtcbiAgICBpbmplY3RDb250YWluZXJTdGF0ZTogdHJ1ZSwgLy8gVE9ETzogZGVmYXVsdCBpcyB0cnVlIGluIHYzLCB3aWxsIGNoYW5nZSBpbiB2NFxuICAgIHN1cHByZXNzRXJyb3JzOiB0cnVlIC8vIFRPRE86IGRlZmF1bHQgaXMgdHJ1ZSBpbiB2Mywgd2lsbCBjaGFuZ2UgaW4gdjRcbiAgfTtcbn1cblxuZXhwb3J0IHsgU3RhdGVPcGVyYXRvciB9O1xuXG4vKipcbiAqIFN0YXRlIGNvbnRleHQgcHJvdmlkZWQgdG8gdGhlIGFjdGlvbnMgaW4gdGhlIHN0YXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlQ29udGV4dDxUPiB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICBnZXRTdGF0ZSgpOiBUO1xuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgc3RhdGUgdG8gYSBuZXcgdmFsdWUuXG4gICAqL1xuICBzZXRTdGF0ZSh2YWw6IFQgfCBTdGF0ZU9wZXJhdG9yPFQ+KTogVDtcblxuICAvKipcbiAgICogUGF0Y2ggdGhlIGV4aXN0aW5nIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHZhbHVlLlxuICAgKi9cbiAgcGF0Y2hTdGF0ZSh2YWw6IFBhcnRpYWw8VD4pOiBUO1xuXG4gIC8qKlxuICAgKiBEaXNwYXRjaCBhIG5ldyBhY3Rpb24gYW5kIHJldHVybiB0aGUgZGlzcGF0Y2hlZCBvYnNlcnZhYmxlLlxuICAgKi9cbiAgZGlzcGF0Y2goYWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBiYXNpYyBjaGFuZ2UgZnJvbSBhIHByZXZpb3VzIHRvIGEgbmV3IHZhbHVlIGZvciBhIHNpbmdsZSBzdGF0ZSBpbnN0YW5jZS5cbiAqIFBhc3NlZCBhcyBhIHZhbHVlIGluIGEgTmd4c1NpbXBsZUNoYW5nZXMgb2JqZWN0IHRvIHRoZSBuZ3hzT25DaGFuZ2VzIGhvb2suXG4gKi9cbmV4cG9ydCBjbGFzcyBOZ3hzU2ltcGxlQ2hhbmdlPFQgPSBhbnk+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHByZXZpb3VzVmFsdWU6IFQsXG4gICAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRWYWx1ZTogVCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZmlyc3RDaGFuZ2U6IGJvb2xlYW5cbiAgKSB7fVxufVxuXG4vKipcbiAqIE9uIGluaXQgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c09uSW5pdCB7XG4gIG5neHNPbkluaXQoY3R4OiBTdGF0ZUNvbnRleHQ8YW55Pik6IHZvaWQ7XG59XG5cbi8qKlxuICogT24gY2hhbmdlIGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNPbkNoYW5nZXMge1xuICBuZ3hzT25DaGFuZ2VzKGNoYW5nZTogTmd4c1NpbXBsZUNoYW5nZSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQWZ0ZXIgYm9vdHN0cmFwIGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNBZnRlckJvb3RzdHJhcCB7XG4gIG5neHNBZnRlckJvb3RzdHJhcChjdHg6IFN0YXRlQ29udGV4dDxhbnk+KTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgTmd4c01vZHVsZU9wdGlvbnMgPSBQYXJ0aWFsPE5neHNDb25maWc+O1xuXG4vKiogQGludGVybmFsICovXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGNvbnN0IG5nRGV2TW9kZTogYm9vbGVhbjtcbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckgsTUFBTSxXQUFXLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQztBQUVsRSxzRUFBc0U7QUFDdEUsd0VBQXdFO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3RDLENBQUM7QUFFRixzRUFBc0U7QUFDdEUsK0VBQStFO0FBQy9FLCtFQUErRTtBQUMvRSxnQ0FBZ0M7QUFDaEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ25ELFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsQ0FBQztBQUVGLHlFQUF5RTtBQUN6RSwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUM1QyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNsQyxDQUFDO0FBTUY7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLFVBQVU7SUFmdkI7UUEwQkUsa0JBQWEsR0FPVDtZQUNGLDJCQUEyQixFQUFFLEtBQUs7U0FDbkMsQ0FBQztRQUNGOzs7Ozs7Ozs7O1dBVUc7UUFDSCxzQkFBaUIsR0FBZ0Msd0NBQXdDLENBQUM7UUFDMUY7Ozs7O1dBS0c7UUFDSCxrQkFBYSxHQUFpQixFQUFFLENBQUM7UUFDakM7O1dBRUc7UUFDSCxvQkFBZSxHQUEyQjtZQUN4QyxvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUM7S0FDSDtpSUEvQ1ksVUFBVTtxSUFBVixVQUFVLGNBZFQsTUFBTSxjQUNOLEdBQWUsRUFBRTtZQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwQyxPQUFPO2dCQUNMLEdBQUcsYUFBYTtnQkFDaEIsR0FBRyxNQUFNO2dCQUNULGVBQWUsRUFBRTtvQkFDZixHQUFHLGFBQWEsQ0FBQyxlQUFlO29CQUNoQyxHQUFHLE1BQU0sQ0FBQyxlQUFlO2lCQUMxQjthQUNGLENBQUM7UUFDSixDQUFDOzsyRkFFVSxVQUFVO2tCQWZ0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO29CQUNsQixVQUFVLEVBQUUsR0FBZSxFQUFFO3dCQUMzQixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQzt3QkFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNwQyxPQUFPOzRCQUNMLEdBQUcsYUFBYTs0QkFDaEIsR0FBRyxNQUFNOzRCQUNULGVBQWUsRUFBRTtnQ0FDZixHQUFHLGFBQWEsQ0FBQyxlQUFlO2dDQUNoQyxHQUFHLE1BQU0sQ0FBQyxlQUFlOzZCQUMxQjt5QkFDRixDQUFDO29CQUNKLENBQUM7aUJBQ0Y7O0FBNkVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDa0IsYUFBZ0IsRUFDaEIsWUFBZSxFQUNmLFdBQW9CO1FBRnBCLGtCQUFhLEdBQWIsYUFBYSxDQUFHO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFHO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVM7SUFDbkMsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIFR5cGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUvb3BlcmF0b3JzJztcbmltcG9ydCB7IMm1UGxhaW5PYmplY3QsIMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zLCDJtVN0YXRlQ2xhc3MgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9zeW1ib2xzJztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIHJvb3QgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgUk9PVF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcnJheTzJtVN0YXRlQ2xhc3M+PihcbiAgTkdfREVWX01PREUgPyAnUk9PVF9TVEFURV9UT0tFTicgOiAnJ1xuKTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgYSBsaXN0IG9mIHN0YXRlcyBwcm92aWRlZCBhdFxuLy8gdGhlIGZlYXR1cmUgbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yRmVhdHVyZWAgb3IgYHByb3ZpZGVTdGF0ZXNgLlxuLy8gVGhlIEFycmF5PEFycmF5PiBpcyB1c2VkIHRvIG92ZXJsb2FkIHRoZSByZXNvbHZlZCB2YWx1ZSBvZiB0aGUgdG9rZW4gYmVjYXVzZVxuLy8gaXQgaXMgYSBtdWx0aS1wcm92aWRlciB0b2tlbi5cbmV4cG9ydCBjb25zdCBGRUFUVVJFX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFycmF5PEFycmF5PMm1U3RhdGVDbGFzcz4+PihcbiAgTkdfREVWX01PREUgPyAnRkVBVFVSRV9TVEFURV9UT0tFTicgOiAnJ1xuKTtcblxuLy8gVGhlIGluamVjdGlvbiB0b2tlbiBpcyB1c2VkIHRvIHJlc29sdmUgdG8gb3B0aW9ucyBwcm92aWRlZCBhdCB0aGUgcm9vdFxuLy8gbGV2ZWwgdGhyb3VnaCBlaXRoZXIgYE5neHNNb2R1bGUuZm9yUm9vdGAgb3IgYHByb3ZpZGVTdG9yZWAuXG5leHBvcnQgY29uc3QgTkdYU19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE5neHNNb2R1bGVPcHRpb25zPihcbiAgTkdfREVWX01PREUgPyAnTkdYU19PUFRJT05TJyA6ICcnXG4pO1xuXG5leHBvcnQgdHlwZSBOZ3hzTGlmZUN5Y2xlID0gUGFydGlhbDxOZ3hzT25DaGFuZ2VzPiAmXG4gIFBhcnRpYWw8Tmd4c09uSW5pdD4gJlxuICBQYXJ0aWFsPE5neHNBZnRlckJvb3RzdHJhcD47XG5cbi8qKlxuICogVGhlIE5HWFMgY29uZmlnIHNldHRpbmdzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgdXNlRmFjdG9yeTogKCk6IE5neHNDb25maWcgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRDb25maWcgPSBuZXcgTmd4c0NvbmZpZygpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChOR1hTX09QVElPTlMpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kZWZhdWx0Q29uZmlnLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgc2VsZWN0b3JPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRDb25maWcuc2VsZWN0b3JPcHRpb25zLFxuICAgICAgICAuLi5jb25maWcuc2VsZWN0b3JPcHRpb25zXG4gICAgICB9XG4gICAgfTtcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hzQ29uZmlnIHtcbiAgLyoqXG4gICAqIFJ1biBpbiBkZXZlbG9wbWVudCBtb2RlLiBUaGlzIHdpbGwgYWRkIGFkZGl0aW9uYWwgZGVidWdnaW5nIGZlYXR1cmVzOlxuICAgKiAtIE9iamVjdC5mcmVlemUgb24gdGhlIHN0YXRlIGFuZCBhY3Rpb25zIHRvIGd1YXJhbnRlZSBpbW11dGFiaWxpdHlcbiAgICogKGRlZmF1bHQ6IGZhbHNlKVxuICAgKlxuICAgKiBOb3RlOiB0aGlzIHByb3BlcnR5IHdpbGwgYmUgYWNjb3VudGVkIG9ubHkgaW4gZGV2ZWxvcG1lbnQgbW9kZSB3aGVuIHVzaW5nIHRoZSBJdnkgY29tcGlsZXIuXG4gICAqIEl0IG1ha2VzIHNlbnNlIHRvIHVzZSBpdCBvbmx5IGR1cmluZyBkZXZlbG9wbWVudCB0byBlbnN1cmUgdGhlcmUncmUgbm8gc3RhdGUgbXV0YXRpb25zLlxuICAgKiBXaGVuIGJ1aWxkaW5nIGZvciBwcm9kdWN0aW9uLCB0aGUgT2JqZWN0LmZyZWV6ZSB3aWxsIGJlIHRyZWUtc2hha2VuIGF3YXkuXG4gICAqL1xuICBkZXZlbG9wbWVudE1vZGU6IGJvb2xlYW47XG4gIGNvbXBhdGliaWxpdHk6IHtcbiAgICAvKipcbiAgICAgKiBTdXBwb3J0IGEgc3RyaWN0IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LlxuICAgICAqIFRoaXMgd2lsbCBjaXJjdW12ZW50IHNvbWUgb3B0aW1pc2F0aW9ucyB0aGF0IHZpb2xhdGUgYSBzdHJpY3QgQ1NQIHRocm91Z2ggdGhlIHVzZSBvZiBgbmV3IEZ1bmN0aW9uKC4uLilgLlxuICAgICAqIChkZWZhdWx0OiBmYWxzZSlcbiAgICAgKi9cbiAgICBzdHJpY3RDb250ZW50U2VjdXJpdHlQb2xpY3k6IGJvb2xlYW47XG4gIH0gPSB7XG4gICAgc3RyaWN0Q29udGVudFNlY3VyaXR5UG9saWN5OiBmYWxzZVxuICB9O1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gcGVyZm9ybSBhc3luYyBvcGVyYXRpb25zIGluc2lkZS4gQW4gaW1wbGVtZW50YXRpb24gY2FuIGJlXG4gICAqIHByb3ZpZGVkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJlaGF2aW91ciB3aGVyZSB0aGUgYXN5bmMgb3BlcmF0aW9ucyBhcmUgcnVuXG4gICAqIG91dHNpZGUgQW5ndWxhcidzIHpvbmUgYnV0IGFsbCBvYnNlcnZhYmxlIGJlaGF2aW91cnMgb2YgTkdYUyBhcmUgcnVuIGJhY2sgaW5zaWRlIEFuZ3VsYXIncyB6b25lLlxuICAgKiBUaGVzZSBvYnNlcnZhYmxlIGJlaGF2aW91cnMgYXJlIGZyb206XG4gICAqICAgYEBTZWxlY3QoLi4uKWAsIGBzdG9yZS5zZWxlY3QoLi4uKWAsIGBhY3Rpb25zLnN1YnNjcmliZSguLi4pYCBvciBgc3RvcmUuZGlzcGF0Y2goLi4uKS5zdWJzY3JpYmUoLi4uKWBcbiAgICogRXZlcnkgYHpvbmUucnVuYCBjYXVzZXMgQW5ndWxhciB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBvbiB0aGUgd2hvbGUgdHJlZSAoYGFwcC50aWNrKClgKSBzbyBvZiB5b3VyXG4gICAqIGFwcGxpY2F0aW9uIGRvZXNuJ3QgcmVseSBvbiB6b25lLmpzIHJ1bm5pbmcgY2hhbmdlIGRldGVjdGlvbiB0aGVuIHlvdSBjYW4gc3dpdGNoIHRvIHRoZVxuICAgKiBgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneWAgdGhhdCBkb2Vzbid0IGludGVyYWN0IHdpdGggem9uZXMuXG4gICAqIChkZWZhdWx0OiBudWxsKVxuICAgKi9cbiAgZXhlY3V0aW9uU3RyYXRlZ3k6IFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PiA9IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k7XG4gIC8qKlxuICAgKiBEZWZpbmluZyB0aGUgZGVmYXVsdCBzdGF0ZSBiZWZvcmUgbW9kdWxlIGluaXRpYWxpemF0aW9uXG4gICAqIFRoaXMgaXMgY29udmVuaWVudCBpZiB3ZSBuZWVkIHRvIGNyZWF0ZSBhIGRlZmluZSBvdXIgb3duIHNldCBvZiBzdGF0ZXMuXG4gICAqIEBkZXByZWNhdGVkIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciB2NFxuICAgKiAoZGVmYXVsdDoge30pXG4gICAqL1xuICBkZWZhdWx0c1N0YXRlOiDJtVBsYWluT2JqZWN0ID0ge307XG4gIC8qKlxuICAgKiBEZWZpbmluZyBzaGFyZWQgc2VsZWN0b3Igb3B0aW9uc1xuICAgKi9cbiAgc2VsZWN0b3JPcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucyA9IHtcbiAgICBpbmplY3RDb250YWluZXJTdGF0ZTogdHJ1ZSwgLy8gVE9ETzogZGVmYXVsdCBpcyB0cnVlIGluIHYzLCB3aWxsIGNoYW5nZSBpbiB2NFxuICAgIHN1cHByZXNzRXJyb3JzOiBmYWxzZVxuICB9O1xufVxuXG5leHBvcnQgeyBTdGF0ZU9wZXJhdG9yIH07XG5cbi8qKlxuICogU3RhdGUgY29udGV4dCBwcm92aWRlZCB0byB0aGUgYWN0aW9ucyBpbiB0aGUgc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVDb250ZXh0PFQ+IHtcbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIGdldFN0YXRlKCk6IFQ7XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBzdGF0ZSB0byBhIG5ldyB2YWx1ZS5cbiAgICovXG4gIHNldFN0YXRlKHZhbDogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiBUO1xuXG4gIC8qKlxuICAgKiBQYXRjaCB0aGUgZXhpc3Rpbmcgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgdmFsdWUuXG4gICAqL1xuICBwYXRjaFN0YXRlKHZhbDogUGFydGlhbDxUPik6IFQ7XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoIGEgbmV3IGFjdGlvbiBhbmQgcmV0dXJuIHRoZSBkaXNwYXRjaGVkIG9ic2VydmFibGUuXG4gICAqL1xuICBkaXNwYXRjaChhY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8dm9pZD47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGJhc2ljIGNoYW5nZSBmcm9tIGEgcHJldmlvdXMgdG8gYSBuZXcgdmFsdWUgZm9yIGEgc2luZ2xlIHN0YXRlIGluc3RhbmNlLlxuICogUGFzc2VkIGFzIGEgdmFsdWUgaW4gYSBOZ3hzU2ltcGxlQ2hhbmdlcyBvYmplY3QgdG8gdGhlIG5neHNPbkNoYW5nZXMgaG9vay5cbiAqL1xuZXhwb3J0IGNsYXNzIE5neHNTaW1wbGVDaGFuZ2U8VCA9IGFueT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJldmlvdXNWYWx1ZTogVCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudFZhbHVlOiBULFxuICAgIHB1YmxpYyByZWFkb25seSBmaXJzdENoYW5nZTogYm9vbGVhblxuICApIHt9XG59XG5cbi8qKlxuICogT24gaW5pdCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzT25Jbml0IHtcbiAgbmd4c09uSW5pdChjdHg6IFN0YXRlQ29udGV4dDxhbnk+KTogdm9pZDtcbn1cblxuLyoqXG4gKiBPbiBjaGFuZ2UgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c09uQ2hhbmdlcyB7XG4gIG5neHNPbkNoYW5nZXMoY2hhbmdlOiBOZ3hzU2ltcGxlQ2hhbmdlKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBZnRlciBib290c3RyYXAgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0FmdGVyQm9vdHN0cmFwIHtcbiAgbmd4c0FmdGVyQm9vdHN0cmFwKGN0eDogU3RhdGVDb250ZXh0PGFueT4pOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOZ3hzTW9kdWxlT3B0aW9ucyA9IFBhcnRpYWw8Tmd4c0NvbmZpZz47XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, NgZone, PLATFORM_ID, Inject, InjectionToken, inject, INJECTOR, ɵglobal as _global, ErrorHandler, Optional, SkipSelf, ɵisPromise as _isPromise, computed, ENVIRONMENT_INITIALIZER, NgModule, APP_BOOTSTRAP_LISTENER, makeEnvironmentProviders } from '@angular/core';
3
3
  import { Observable, Subject, of, forkJoin, throwError, EMPTY, from, isObservable, ReplaySubject } from 'rxjs';
4
- import { share, shareReplay, filter, take, exhaustMap, map, mergeMap, defaultIfEmpty, catchError, takeUntil, distinctUntilChanged, tap, startWith, pairwise } from 'rxjs/operators';
4
+ import { share, map, shareReplay, filter, take, exhaustMap, mergeMap, defaultIfEmpty, catchError, takeUntil, distinctUntilChanged, tap, startWith, pairwise } from 'rxjs/operators';
5
5
  import * as i5 from '@ngxs/store/internals';
6
6
  import { ɵOrderedSubject as _OrderedSubject, ɵStateStream as _StateStream, ɵmemoize as _memoize, ɵgetStoreMetadata as _getStoreMetadata, ɵgetSelectorMetadata as _getSelectorMetadata, ɵMETA_KEY as _META_KEY, ɵINITIAL_STATE_TOKEN as _INITIAL_STATE_TOKEN, ɵNgxsAppBootstrappedState as _NgxsAppBootstrappedState, ɵNGXS_STATE_CONTEXT_FACTORY as _NGXS_STATE_CONTEXT_FACTORY, ɵNGXS_STATE_FACTORY as _NGXS_STATE_FACTORY, ɵensureStoreMetadata as _ensureStoreMetadata, ɵMETA_OPTIONS_KEY as _META_OPTIONS_KEY, ɵensureSelectorMetadata as _ensureSelectorMetadata } from '@ngxs/store/internals';
7
7
  export { StateToken } from '@ngxs/store/internals';
@@ -126,18 +126,18 @@ function verifyZoneIsNotNooped(ngZone) {
126
126
  console.warn(getZoneWarningMessage());
127
127
  }
128
128
 
129
- const NG_DEV_MODE$6 = typeof ngDevMode === 'undefined' || ngDevMode;
129
+ const NG_DEV_MODE$7 = typeof ngDevMode === 'undefined' || ngDevMode;
130
130
  /**
131
131
  * Consumers have the option to utilize the execution strategy provided by
132
132
  * `NgxsModule.forRoot({executionStrategy})` or `provideStore([], {executionStrategy})`.
133
133
  */
134
- const CUSTOM_NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE$6 ? 'CUSTOM_NGXS_EXECUTION_STRATEGY' : '');
134
+ const CUSTOM_NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE$7 ? 'CUSTOM_NGXS_EXECUTION_STRATEGY' : '');
135
135
  /**
136
136
  * The injection token is used internally to resolve an instance of the execution
137
137
  * strategy. It checks whether consumers have provided their own `executionStrategy`
138
138
  * and also verifies if we are operating in a zone-aware environment.
139
139
  */
140
- const NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE$6 ? 'NGXS_EXECUTION_STRATEGY' : '', {
140
+ const NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE$7 ? 'NGXS_EXECUTION_STRATEGY' : '', {
141
141
  providedIn: 'root',
142
142
  factory: () => {
143
143
  const injector = inject(INJECTOR);
@@ -402,8 +402,8 @@ class InternalDispatcher {
402
402
  dispatchByEvents(actionOrActions) {
403
403
  if (Array.isArray(actionOrActions)) {
404
404
  if (actionOrActions.length === 0)
405
- return of(this._stateStream.getValue());
406
- return forkJoin(actionOrActions.map(action => this.dispatchSingle(action)));
405
+ return of(undefined);
406
+ return forkJoin(actionOrActions.map(action => this.dispatchSingle(action))).pipe(map(() => undefined));
407
407
  }
408
408
  else {
409
409
  return this.dispatchSingle(actionOrActions);
@@ -440,6 +440,8 @@ class InternalDispatcher {
440
440
  .pipe(exhaustMap((ctx) => {
441
441
  switch (ctx.status) {
442
442
  case "SUCCESSFUL" /* ActionStatus.Successful */:
443
+ // The `createDispatchObservable` function should return the
444
+ // state, as its result is utilized by plugins.
443
445
  return of(this._stateStream.getValue());
444
446
  case "ERRORED" /* ActionStatus.Errored */:
445
447
  return throwError(ctx.error);
@@ -457,18 +459,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
457
459
  args: [{ providedIn: 'root' }]
458
460
  }], ctorParameters: () => [{ type: InternalActions }, { type: InternalDispatchedActionResults }, { type: PluginManager }, { type: StateStream }, { type: InternalNgxsExecutionStrategy }, { type: InternalErrorReporter }] });
459
461
 
460
- const NG_DEV_MODE$5 = typeof ngDevMode === 'undefined' || ngDevMode;
462
+ const NG_DEV_MODE$6 = typeof ngDevMode === 'undefined' || ngDevMode;
461
463
  // The injection token is used to resolve a list of states provided at
462
464
  // the root level through either `NgxsModule.forRoot` or `provideStore`.
463
- const ROOT_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$5 ? 'ROOT_STATE_TOKEN' : '');
465
+ const ROOT_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$6 ? 'ROOT_STATE_TOKEN' : '');
464
466
  // The injection token is used to resolve a list of states provided at
465
467
  // the feature level through either `NgxsModule.forFeature` or `provideStates`.
466
468
  // The Array<Array> is used to overload the resolved value of the token because
467
469
  // it is a multi-provider token.
468
- const FEATURE_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$5 ? 'FEATURE_STATE_TOKEN' : '');
470
+ const FEATURE_STATE_TOKEN = new InjectionToken(NG_DEV_MODE$6 ? 'FEATURE_STATE_TOKEN' : '');
469
471
  // The injection token is used to resolve to options provided at the root
470
472
  // level through either `NgxsModule.forRoot` or `provideStore`.
471
- const NGXS_OPTIONS = new InjectionToken(NG_DEV_MODE$5 ? 'NGXS_OPTIONS' : '');
473
+ const NGXS_OPTIONS = new InjectionToken(NG_DEV_MODE$6 ? 'NGXS_OPTIONS' : '');
472
474
  /**
473
475
  * The NGXS config settings.
474
476
  */
@@ -501,7 +503,7 @@ class NgxsConfig {
501
503
  */
502
504
  this.selectorOptions = {
503
505
  injectContainerState: true,
504
- suppressErrors: true // TODO: default is true in v3, will change in v4
506
+ suppressErrors: false
505
507
  };
506
508
  }
507
509
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgxsConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -622,22 +624,36 @@ function ensureStateAndActionsAreImmutable(root) {
622
624
  };
623
625
  }
624
626
 
627
+ const NG_DEV_MODE$5 = typeof ngDevMode !== 'undefined' && ngDevMode;
625
628
  function createRootSelectorFactory(selectorMetaData, selectors, memoizedSelectorFn) {
626
629
  return (context) => {
627
630
  const { argumentSelectorFunctions, selectorOptions } = getRuntimeSelectorInfo(context, selectorMetaData, selectors);
631
+ const { suppressErrors } = selectorOptions;
628
632
  return function selectFromRoot(rootState) {
629
633
  // Determine arguments from the app state using the selectors
630
634
  const results = argumentSelectorFunctions.map(argFn => argFn(rootState));
631
- // if the lambda tries to access a something on the
632
- // state that doesn't exist, it will throw a TypeError.
633
- // since this is quite usual behaviour, we simply return undefined if so.
635
+ // If the lambda attempts to access something in the state that doesn't exist,
636
+ // it will throw a `TypeError`. Since this behavior is common, we simply return
637
+ // `undefined` in such cases.
634
638
  try {
635
639
  return memoizedSelectorFn(...results);
636
640
  }
637
641
  catch (ex) {
638
- if (ex instanceof TypeError && selectorOptions.suppressErrors) {
642
+ if (suppressErrors && ex instanceof TypeError) {
639
643
  return undefined;
640
644
  }
645
+ // We're logging an error in this function because it may be used by `select`,
646
+ // `selectSignal`, and `selectSnapshot`. Therefore, there's no need to catch
647
+ // exceptions there to log errors.
648
+ if (NG_DEV_MODE$5) {
649
+ const message = 'The selector below has thrown an error upon invocation. ' +
650
+ 'Please check for any unsafe property access that may result in null ' +
651
+ 'or undefined values.';
652
+ // Avoid concatenating the message with the original function, as this will
653
+ // invoke `toString()` on the function. Instead, log it as the second argument.
654
+ // This way, developers will be able to navigate to the actual code in the browser.
655
+ console.error(message, selectorMetaData.originalFn);
656
+ }
641
657
  throw ex;
642
658
  }
643
659
  };
@@ -1455,7 +1471,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
1455
1471
  args: [_INITIAL_STATE_TOKEN]
1456
1472
  }] }] });
1457
1473
 
1458
- // tslint:disable:unified-signatures
1459
1474
  class Store {
1460
1475
  constructor(_stateStream, _internalStateOperations, _config, _internalExecutionStrategy, _stateFactory, initialStateValue) {
1461
1476
  this._stateStream = _stateStream;
@@ -1479,14 +1494,13 @@ class Store {
1479
1494
  }
1480
1495
  select(selector) {
1481
1496
  const selectorFn = this.getStoreBoundSelectorFn(selector);
1482
- return this._selectableStateStream.pipe(map(selectorFn), catchError((err) => {
1497
+ return this._selectableStateStream.pipe(map(selectorFn), catchError((error) => {
1483
1498
  // if error is TypeError we swallow it to prevent usual errors with property access
1484
- const { suppressErrors } = this._config.selectorOptions;
1485
- if (err instanceof TypeError && suppressErrors) {
1499
+ if (this._config.selectorOptions.suppressErrors && error instanceof TypeError) {
1486
1500
  return of(undefined);
1487
1501
  }
1488
1502
  // rethrow other errors
1489
- return throwError(err);
1503
+ return throwError(error);
1490
1504
  }), distinctUntilChanged(), leaveNgxs(this._internalExecutionStrategy));
1491
1505
  }
1492
1506
  selectOnce(selector) {