@solidev/data 0.0.1-dev.0 → 0.0.1-dev.2

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.
Files changed (83) hide show
  1. package/esm2020/lib/auth/auth-interceptor.service.mjs +13 -5
  2. package/esm2020/lib/auth/auth.service.mjs +1 -1
  3. package/esm2020/lib/data/data-backend.mjs +3 -3
  4. package/esm2020/lib/data/data-model.mjs +15 -15
  5. package/esm2020/lib/data/data-query.mjs +7 -3
  6. package/esm2020/lib/data/fields/datetime.mjs +21 -6
  7. package/esm2020/lib/data/fields/numbers.mjs +11 -1
  8. package/esm2020/lib/dispedit/choice.pipe.mjs +5 -4
  9. package/esm2020/lib/dispedit/dispedit/dispedit.component.mjs +16 -8
  10. package/esm2020/lib/dispedit/factor.pipe.mjs +48 -0
  11. package/esm2020/lib/dispedit/factorc.pipe.mjs +48 -0
  12. package/esm2020/lib/dispedit/fkselect/fkselect.component.mjs +10 -8
  13. package/esm2020/lib/dispedit/m2mselect/m2mselect.component.mjs +11 -9
  14. package/esm2020/lib/dispedit/sdelete/sdelete.component.mjs +8 -5
  15. package/esm2020/lib/messages/message-zone/message-zone.component.mjs +4 -4
  16. package/esm2020/lib/messages/message.service.mjs +3 -3
  17. package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +3 -3
  18. package/esm2020/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +3 -3
  19. package/esm2020/lib/modellist/model-list-fields/model-list-fields.mjs +13 -13
  20. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +15 -11
  21. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +1 -4
  22. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +8 -9
  23. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.mjs +2 -33
  24. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +3 -3
  25. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +3 -3
  26. package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +3 -3
  27. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.mjs +24 -0
  28. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +47 -5
  29. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +8 -6
  30. package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +8 -6
  31. package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +2 -2
  32. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +27 -15
  33. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +12 -3
  34. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +33 -5
  35. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +9 -8
  36. package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +5 -5
  37. package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +3 -3
  38. package/esm2020/lib/modellist/model-list-filters/model-list-filter.mjs +119 -15
  39. package/esm2020/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +3 -3
  40. package/esm2020/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +5 -5
  41. package/esm2020/lib/modellist/model-list-filters/model-list-filters.mjs +2 -2
  42. package/esm2020/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +4 -4
  43. package/esm2020/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +3 -3
  44. package/esm2020/lib/modellist/model-list.service.mjs +36 -16
  45. package/esm2020/lib/routing/breadcrumb/breadcrumb.component.mjs +3 -3
  46. package/esm2020/lib/uploader/ng-file-drop.directive.mjs +3 -3
  47. package/esm2020/lib/uploader/ng-file-select.directive.mjs +3 -3
  48. package/esm2020/lib/uploader/ngx-uploader.module.mjs +4 -4
  49. package/esm2020/lib/utils/tab-memory.service.mjs +3 -3
  50. package/esm2020/public-api.mjs +9 -2
  51. package/fesm2015/solidev-data.mjs +738 -446
  52. package/fesm2015/solidev-data.mjs.map +1 -1
  53. package/fesm2020/solidev-data.mjs +733 -445
  54. package/fesm2020/solidev-data.mjs.map +1 -1
  55. package/lib/auth/auth-interceptor.service.d.ts +2 -1
  56. package/lib/data/data-model.d.ts +8 -6
  57. package/lib/data/data-query.d.ts +1 -0
  58. package/lib/data/fields/datetime.d.ts +1 -1
  59. package/lib/data/fields/numbers.d.ts +4 -0
  60. package/lib/dispedit/choice.pipe.d.ts +1 -1
  61. package/lib/dispedit/dispedit/dispedit.component.d.ts +1 -1
  62. package/lib/dispedit/factor.pipe.d.ts +12 -0
  63. package/lib/dispedit/factorc.pipe.d.ts +11 -0
  64. package/lib/dispedit/fkselect/fkselect.component.d.ts +1 -1
  65. package/lib/dispedit/m2mselect/m2mselect.component.d.ts +1 -1
  66. package/lib/dispedit/sdelete/sdelete.component.d.ts +2 -1
  67. package/lib/modellist/model-list-fields/model-list-fields.d.ts +1 -1
  68. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.d.ts +0 -2
  69. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.d.ts +1 -1
  70. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.d.ts +1 -8
  71. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.d.ts +35 -0
  72. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.d.ts +16 -2
  73. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.d.ts +17 -3
  74. package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.d.ts +2 -2
  75. package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.d.ts +3 -3
  76. package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.d.ts +11 -5
  77. package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.d.ts +5 -3
  78. package/lib/modellist/model-list-filters/model-list-filter.d.ts +27 -6
  79. package/lib/modellist/model-list.service.d.ts +4 -0
  80. package/package.json +1 -1
  81. package/public-api.d.ts +8 -1
  82. package/esm2020/lib/dispedit/dispedit.module.mjs +0 -60
  83. package/lib/dispedit/dispedit.module.d.ts +0 -20
@@ -2,12 +2,14 @@ import { Inject, Injectable, InjectionToken } from '@angular/core';
2
2
  import { HttpErrorResponse, } from '@angular/common/http';
3
3
  import { catchError, filter, switchMap, take } from 'rxjs/operators';
4
4
  import { BehaviorSubject, throwError } from 'rxjs';
5
+ import { DATA_API_URL } from '../data/data-parameters';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "./auth.service";
7
8
  export const DATA_AUTH_SERVICE = new InjectionToken('data.auth.service');
8
9
  export class AuthInterceptor {
9
- constructor(_auth) {
10
+ constructor(_auth, _apiUrl) {
10
11
  this._auth = _auth;
12
+ this._apiUrl = _apiUrl;
11
13
  this._isRefreshing = false;
12
14
  this._refreshTokenSubject = new BehaviorSubject(null);
13
15
  }
@@ -15,6 +17,9 @@ export class AuthInterceptor {
15
17
  if (this._auth.isAnonymous) {
16
18
  return next.handle(req);
17
19
  }
20
+ if (!req.url.startsWith(this._apiUrl)) {
21
+ return next.handle(req);
22
+ }
18
23
  if (!this._auth.isAnonymous) {
19
24
  req = this._addToken(req, this._auth.accessToken);
20
25
  }
@@ -59,9 +64,9 @@ export class AuthInterceptor {
59
64
  });
60
65
  }
61
66
  }
62
- AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AuthInterceptor, deps: [{ token: DATA_AUTH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
63
- AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AuthInterceptor, providedIn: 'root' });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AuthInterceptor, decorators: [{
67
+ AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AuthInterceptor, deps: [{ token: DATA_AUTH_SERVICE }, { token: DATA_API_URL }], target: i0.ɵɵFactoryTarget.Injectable });
68
+ AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AuthInterceptor, providedIn: 'root' });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AuthInterceptor, decorators: [{
65
70
  type: Injectable,
66
71
  args: [{
67
72
  providedIn: 'root',
@@ -69,5 +74,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
69
74
  }], ctorParameters: function () { return [{ type: i1.AuthServiceBase, decorators: [{
70
75
  type: Inject,
71
76
  args: [DATA_AUTH_SERVICE]
77
+ }] }, { type: undefined, decorators: [{
78
+ type: Inject,
79
+ args: [DATA_API_URL]
72
80
  }] }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2F1dGgvYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsaUJBQWlCLEdBSWxCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHbkQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBRWpELG1CQUFtQixDQUFDLENBQUM7QUFLdkIsTUFBTSxPQUFPLGVBQWU7SUFLMUIsWUFDcUMsS0FBcUM7UUFBckMsVUFBSyxHQUFMLEtBQUssQ0FBZ0M7UUFMbEUsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIseUJBQW9CLEdBQzFCLElBQUksZUFBZSxDQUFpQyxJQUFJLENBQUMsQ0FBQztJQUl6RCxDQUFDO0lBRUosU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDM0IsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBcUIsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxLQUFLLFlBQVksaUJBQWlCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDeEM7aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFckMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDOUIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtvQkFDbEIsT0FBTyxVQUFVLENBQ2YsR0FBRyxFQUFFLENBQ0gsSUFBSSxpQkFBaUIsQ0FBQzt3QkFDcEIsS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMsTUFBTSxFQUFFLEdBQUc7d0JBQ1gsVUFBVSxFQUFFLFNBQVM7d0JBQ3JCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztxQkFDakIsQ0FBQyxDQUNMLENBQUM7aUJBQ0g7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7b0JBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDM0Q7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FDbkMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEVBQ2hDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUNULElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFHLEtBQWlDLENBQUMsTUFBTSxDQUFDLENBQ25FLENBQ0YsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLE9BQXlCLEVBQUUsS0FBYTtRQUN4RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbkIsVUFBVSxFQUFFO2dCQUNWLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTthQUNqQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OzRHQXRFVSxlQUFlLGtCQU1oQixpQkFBaUI7Z0hBTmhCLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2VCYXNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElKd3RSZWZyZXNoUmVzcG9uc2VKc29uIH0gZnJvbSAnLi9qd3QnO1xuXG5leHBvcnQgY29uc3QgREFUQV9BVVRIX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIEF1dGhTZXJ2aWNlQmFzZTxhbnksIGFueSwgYW55PlxuPignZGF0YS5hdXRoLnNlcnZpY2UnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUgX2lzUmVmcmVzaGluZyA9IGZhbHNlO1xuICBwcml2YXRlIF9yZWZyZXNoVG9rZW5TdWJqZWN0ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PElKd3RSZWZyZXNoUmVzcG9uc2VKc29uIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChEQVRBX0FVVEhfU0VSVklDRSkgcHJpdmF0ZSBfYXV0aDogQXV0aFNlcnZpY2VCYXNlPGFueSwgYW55LCBhbnk+XG4gICkge31cblxuICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGlmICh0aGlzLl9hdXRoLmlzQW5vbnltb3VzKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9hdXRoLmlzQW5vbnltb3VzKSB7XG4gICAgICByZXEgPSB0aGlzLl9hZGRUb2tlbihyZXEsIHRoaXMuX2F1dGguYWNjZXNzVG9rZW4gYXMgc3RyaW5nKTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZTQwMUVycm9yKHJlcSwgbmV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGU0MDFFcnJvcihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGlmICghdGhpcy5faXNSZWZyZXNoaW5nKSB7XG4gICAgICB0aGlzLl9pc1JlZnJlc2hpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5fcmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KG51bGwpO1xuXG4gICAgICByZXR1cm4gdGhpcy5fYXV0aC5yZWZyZXNoKCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh0b2tlbikgPT4ge1xuICAgICAgICAgIGlmICh0b2tlbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICAgIGVycm9yOiAnRm9yYmlkZGVuLCBwbGVhc2UgbG9nIGluJyxcbiAgICAgICAgICAgICAgICAgIHN0YXR1czogNDAzLFxuICAgICAgICAgICAgICAgICAgc3RhdHVzVGV4dDogJ1dhcm5pbmcnLFxuICAgICAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0LnVybCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodG9rZW4pO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuX2FkZFRva2VuKHJlcXVlc3QsIHRva2VuLmFjY2VzcykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9yZWZyZXNoVG9rZW5TdWJqZWN0LnBpcGUoXG4gICAgICAgIGZpbHRlcigodG9rZW4pID0+IHRva2VuICE9IG51bGwpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKHRva2VuKSA9PlxuICAgICAgICAgIG5leHQuaGFuZGxlKFxuICAgICAgICAgICAgdGhpcy5fYWRkVG9rZW4ocmVxdWVzdCwgKHRva2VuIGFzIElKd3RSZWZyZXNoUmVzcG9uc2VKc29uKS5hY2Nlc3MpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FkZFRva2VuKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIHRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XG4gICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgIGF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2F1dGgvYXV0aC1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsaUJBQWlCLEdBSWxCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBRXZELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUVqRCxtQkFBbUIsQ0FBQyxDQUFDO0FBS3ZCLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ3FDLEtBQXFDLEVBQzFDLE9BQWU7UUFEVixVQUFLLEdBQUwsS0FBSyxDQUFnQztRQUMxQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBTnZDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHlCQUFvQixHQUMxQixJQUFJLGVBQWUsQ0FBaUMsSUFBSSxDQUFDLENBQUM7SUFLekQsQ0FBQztJQUVKLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQ2hELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZ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blRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlQmFzZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbiB9IGZyb20gJy4vand0JztcbmltcG9ydCB7IERBVEFfQVBJX1VSTCB9IGZyb20gJy4uL2RhdGEvZGF0YS1wYXJhbWV0ZXJzJztcblxuZXhwb3J0IGNvbnN0IERBVEFfQVVUSF9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPFxuICBBdXRoU2VydmljZUJhc2U8YW55LCBhbnksIGFueT5cbj4oJ2RhdGEuYXV0aC5zZXJ2aWNlJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBwcml2YXRlIF9pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVmcmVzaFRva2VuU3ViamVjdCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbiB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoREFUQV9BVVRIX1NFUlZJQ0UpIHByaXZhdGUgX2F1dGg6IEF1dGhTZXJ2aWNlQmFzZTxhbnksIGFueSwgYW55PixcbiAgICBASW5qZWN0KERBVEFfQVBJX1VSTCkgcHJpdmF0ZSBfYXBpVXJsOiBzdHJpbmdcbiAgKSB7fVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgaWYgKHRoaXMuX2F1dGguaXNBbm9ueW1vdXMpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cbiAgICBpZiAoIXJlcS51cmwuc3RhcnRzV2l0aCh0aGlzLl9hcGlVcmwpKSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9hdXRoLmlzQW5vbnltb3VzKSB7XG4gICAgICByZXEgPSB0aGlzLl9hZGRUb2tlbihyZXEsIHRoaXMuX2F1dGguYWNjZXNzVG9rZW4gYXMgc3RyaW5nKTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2hhbmRsZTQwMUVycm9yKHJlcSwgbmV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGU0MDFFcnJvcihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGlmICghdGhpcy5faXNSZWZyZXNoaW5nKSB7XG4gICAgICB0aGlzLl9pc1JlZnJlc2hpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5fcmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KG51bGwpO1xuXG4gICAgICByZXR1cm4gdGhpcy5fYXV0aC5yZWZyZXNoKCkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCh0b2tlbikgPT4ge1xuICAgICAgICAgIGlmICh0b2tlbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICAgIGVycm9yOiAnRm9yYmlkZGVuLCBwbGVhc2UgbG9nIGluJyxcbiAgICAgICAgICAgICAgICAgIHN0YXR1czogNDAzLFxuICAgICAgICAgICAgICAgICAgc3RhdHVzVGV4dDogJ1dhcm5pbmcnLFxuICAgICAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0LnVybCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodG9rZW4pO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuX2FkZFRva2VuKHJlcXVlc3QsIHRva2VuLmFjY2VzcykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9yZWZyZXNoVG9rZW5TdWJqZWN0LnBpcGUoXG4gICAgICAgIGZpbHRlcigodG9rZW4pID0+IHRva2VuICE9IG51bGwpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKHRva2VuKSA9PlxuICAgICAgICAgIG5leHQuaGFuZGxlKFxuICAgICAgICAgICAgdGhpcy5fYWRkVG9rZW4ocmVxdWVzdCwgKHRva2VuIGFzIElKd3RSZWZyZXNoUmVzcG9uc2VKc29uKS5hY2Nlc3MpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FkZFRva2VuKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIHRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XG4gICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgIGF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -111,4 +111,4 @@ AuthServiceBase = __decorate([
111
111
  __param(1, Inject(DATA_AUTH_PARAMS))
112
112
  ], AuthServiceBase);
113
113
  export { AuthServiceBase };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFjLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBSUwsR0FBRyxHQUNKLE1BQU0sT0FBTyxDQUFDO0FBRWYsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVdqRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUNoRCxrQkFBa0IsQ0FDbkIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsQ0FDekIsQ0FBQztBQUVGLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUFTMUIsWUFDeUMsV0FBd0IsRUFDN0IsT0FBbUIsRUFDN0MsS0FBaUI7UUFGYyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQzdDLFVBQUssR0FBTCxLQUFLLENBQVk7UUFObkIsV0FBTSxHQUFHLElBQUksYUFBYSxDQUFjLENBQUMsQ0FBQyxDQUFDO1FBUWpELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUks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QUEwQixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzlDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQWlCO1NBQ3ZDLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNwQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVE7YUFDOUIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0NBQ0YsQ0FBQTtBQTlIWSxlQUFlO0lBVXZCLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDOUIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQVhoQixlQUFlLENBOEgzQjtTQTlIWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSUp3dEJhc2VEYXRhLFxuICBJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbixcbiAgSUp3dFJlc3BvbnNlSnNvbixcbiAgSnd0LFxufSBmcm9tICcuL2p3dCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwLCB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi9kYXRhL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2RhdGEvZGF0YS1jb2xsZWN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoUGFyYW1zIHtcbiAgdG9rZW5Vcmw6IHN0cmluZztcbiAgdG9rZW5SZWZyZXNoVXJsOiBzdHJpbmc7XG4gIGxvZ2luRmllbGQ6IHN0cmluZztcbiAgcGFzc3dvcmRGaWVsZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERBVEFfQVBJX1VSTDogc3RvcmVzIGRhdGEgYXBpIGJhc2UgdXJsXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX0FVVEhfUEFSQU1TID0gbmV3IEluamVjdGlvblRva2VuPEF1dGhQYXJhbXM+KFxuICAnZGF0YS5hdXRoLnBhcmFtcydcbik7XG5leHBvcnQgY29uc3QgREFUQV9BVVRIX1VTRVJfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb2xsZWN0aW9uPGFueT4+KFxuICAnZGF0YS5hdXRoLnVzZXIuc2VydmljZSdcbik7XG5cbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZUJhc2U8XG4gIFVzZXIgZXh0ZW5kcyBEYXRhTW9kZWwsXG4gIFVzZXJTZXJ2aWNlIGV4dGVuZHMgQ29sbGVjdGlvbjxVc2VyPixcbiAgVXNlckRhdGEgZXh0ZW5kcyBJSnd0QmFzZURhdGFcbj4ge1xuICBwcml2YXRlIF91c2VyITogVXNlcjtcbiAgcHJpdmF0ZSBfdXNlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxVc2VyIHwgbnVsbD4oMSk7XG4gIHByaXZhdGUgX3Rva2VuITogSnd0PFVzZXJEYXRhPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERBVEFfQVVUSF9VU0VSX1NFUlZJQ0UpIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgQEluamVjdChEQVRBX0FVVEhfUEFSQU1TKSBwcml2YXRlIF9wYXJhbXM6IEF1dGhQYXJhbXMsXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudFxuICApIHtcbiAgICB0aGlzLmF1dG9Mb2dpbigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0Fub255bW91cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX3Rva2VuLmFjY2VzcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWNjZXNzVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuLmFjY2VzcyA/IHRoaXMuX3Rva2VuLmFjY2VzcyA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlZnJlc2hUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW4ucmVmcmVzaCA/IHRoaXMuX3Rva2VuLnJlZnJlc2ggOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50VXNlcigpOiBVc2VyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXIgJiYgdGhpcy5fdXNlci5pZCA/IHRoaXMuX3VzZXIgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50VXNlciQoKTogT2JzZXJ2YWJsZTxVc2VyIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl91c2VyJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmcmVzaFVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9wYXJhbXMudG9rZW5SZWZyZXNoVXJsfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvZ2luVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX3BhcmFtcy50b2tlblVybH1gO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aCcpO1xuICAgIHRoaXMuX3Rva2VuID0gbmV3IEp3dCgpO1xuICAgIHRoaXMuX3VzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmNyZWF0ZSgpO1xuICAgIHRoaXMuX3VzZXIkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYXV0b0xvZ2luKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsQXV0aCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRoJyk7XG4gICAgaWYgKCFsb2NhbEF1dGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvZ291dCgpO1xuICAgIH1cbiAgICBjb25zdCB7IHVzZXIsIHRva2VuIH0gPSBKU09OLnBhcnNlKGxvY2FsQXV0aCk7XG4gICAgdGhpcy5fdG9rZW4gPSBuZXcgSnd0KHRva2VuKTtcbiAgICB0aGlzLl91c2VyID0gdGhpcy51c2VyU2VydmljZS5jcmVhdGUodXNlcik7XG4gICAgdGhpcy5fdXNlciQubmV4dCh0aGlzLl91c2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGF5bG9hZDogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLmxvZ2luRmllbGRdID0gdXNlcm5hbWU7XG4gICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMucGFzc3dvcmRGaWVsZF0gPSBwYXNzd29yZDtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PElKd3RSZXNwb25zZUpzb24+KHRoaXMubG9naW5VcmwsIHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoKHRvaykgPT4ge1xuICAgICAgICB0aGlzLl90b2tlbiA9IG5ldyBKd3QodG9rKTtcbiAgICAgICAgdGhpcy5zYXZlQXV0aCgpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fdG9rZW4uZGF0YSAmJiB0aGlzLl90b2tlbi5kYXRhLnVzZXJfaWQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5mZXRjaCh0aGlzLl90b2tlbi5kYXRhIS51c2VyX2lkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnSW52YWxpZCB0b2tlbicpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRhcCgodXNlcjogVXNlcikgPT4ge1xuICAgICAgICB0aGlzLl91c2VyID0gdXNlcjtcbiAgICAgICAgdGhpcy5zYXZlQXV0aCgpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubG9nb3V0KCk7XG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZUF1dGgoKSB7XG4gICAgaWYgKHRoaXMuaXNBbm9ueW1vdXMpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdhdXRoJyk7XG4gICAgICB0aGlzLl91c2VyJC5uZXh0KG51bGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgJ2F1dGgnLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgdXNlcjogdGhpcy5fdXNlci50b0pzb24oKSxcbiAgICAgICAgICB0b2tlbjogdGhpcy5fdG9rZW4udG9Kc29uKCksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fdXNlciQubmV4dCh0aGlzLl91c2VyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiBPYnNlcnZhYmxlPElKd3RSZWZyZXNoUmVzcG9uc2VKc29uIHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5fdG9rZW4ucmVmcmVzaCkge1xuICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2h0dHBcbiAgICAgIC5wb3N0PElKd3RSZWZyZXNoUmVzcG9uc2VKc29uPih0aGlzLnJlZnJlc2hVcmwsIHtcbiAgICAgICAgcmVmcmVzaDogdGhpcy5fdG9rZW4ucmVmcmVzaCBhcyBzdHJpbmcsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodG9rKSA9PiB7XG4gICAgICAgICAgdGhpcy5fdG9rZW4gPSBuZXcgSnd0KHtcbiAgICAgICAgICAgIGFjY2VzczogdG9rLmFjY2VzcyxcbiAgICAgICAgICAgIHJlZnJlc2g6IHRoaXMuX3Rva2VuLnJlZnJlc2ghLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuc2F2ZUF1dGgoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2F1dGgvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFjLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBSUwsR0FBRyxHQUNKLE1BQU0sT0FBTyxDQUFDO0FBRWYsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVdqRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUNoRCxrQkFBa0IsQ0FDbkIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsQ0FDekIsQ0FBQztBQUVLLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFTMUIsWUFDeUMsV0FBd0IsRUFDN0IsT0FBbUIsRUFDN0MsS0FBaUI7UUFGYyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQzdDLFVBQUssR0FBTCxLQUFLLENBQVk7UUFObkIsV0FBTSxHQUFHLElBQUksYUFBYSxDQUFjLENBQUMsQ0FBQyxDQUFDO1FBUWpELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUks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QUEwQixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzlDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQWlCO1NBQ3ZDLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNwQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVE7YUFDOUIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0NBQ0YsQ0FBQTtBQTlIWSxlQUFlO0lBVXZCLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDOUIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtHQVhoQixlQUFlLENBOEgzQjtTQTlIWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSUp3dEJhc2VEYXRhLFxuICBJSnd0UmVmcmVzaFJlc3BvbnNlSnNvbixcbiAgSUp3dFJlc3BvbnNlSnNvbixcbiAgSnd0LFxufSBmcm9tICcuL2p3dCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwLCB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi9kYXRhL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2RhdGEvZGF0YS1jb2xsZWN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoUGFyYW1zIHtcbiAgdG9rZW5Vcmw6IHN0cmluZztcbiAgdG9rZW5SZWZyZXNoVXJsOiBzdHJpbmc7XG4gIGxvZ2luRmllbGQ6IHN0cmluZztcbiAgcGFzc3dvcmRGaWVsZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERBVEFfQVBJX1VSTDogc3RvcmVzIGRhdGEgYXBpIGJhc2UgdXJsXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX0FVVEhfUEFSQU1TID0gbmV3IEluamVjdGlvblRva2VuPEF1dGhQYXJhbXM+KFxuICAnZGF0YS5hdXRoLnBhcmFtcydcbik7XG5leHBvcnQgY29uc3QgREFUQV9BVVRIX1VTRVJfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb2xsZWN0aW9uPGFueT4+KFxuICAnZGF0YS5hdXRoLnVzZXIuc2VydmljZSdcbik7XG5cbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZUJhc2U8XG4gIFVzZXIgZXh0ZW5kcyBEYXRhTW9kZWwsXG4gIFVzZXJTZXJ2aWNlIGV4dGVuZHMgQ29sbGVjdGlvbjxVc2VyPixcbiAgVXNlckRhdGEgZXh0ZW5kcyBJSnd0QmFzZURhdGFcbj4ge1xuICBwcml2YXRlIF91c2VyITogVXNlcjtcbiAgcHJpdmF0ZSBfdXNlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxVc2VyIHwgbnVsbD4oMSk7XG4gIHByaXZhdGUgX3Rva2VuITogSnd0PFVzZXJEYXRhPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERBVEFfQVVUSF9VU0VSX1NFUlZJQ0UpIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgQEluamVjdChEQVRBX0FVVEhfUEFSQU1TKSBwcml2YXRlIF9wYXJhbXM6IEF1dGhQYXJhbXMsXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudFxuICApIHtcbiAgICB0aGlzLmF1dG9Mb2dpbigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0Fub255bW91cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuX3Rva2VuLmFjY2VzcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWNjZXNzVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuLmFjY2VzcyA/IHRoaXMuX3Rva2VuLmFjY2VzcyA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlZnJlc2hUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdG9rZW4ucmVmcmVzaCA/IHRoaXMuX3Rva2VuLnJlZnJlc2ggOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50VXNlcigpOiBVc2VyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXIgJiYgdGhpcy5fdXNlci5pZCA/IHRoaXMuX3VzZXIgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50VXNlciQoKTogT2JzZXJ2YWJsZTxVc2VyIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl91c2VyJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmcmVzaFVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9wYXJhbXMudG9rZW5SZWZyZXNoVXJsfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvZ2luVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX3BhcmFtcy50b2tlblVybH1gO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aCcpO1xuICAgIHRoaXMuX3Rva2VuID0gbmV3IEp3dCgpO1xuICAgIHRoaXMuX3VzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmNyZWF0ZSgpO1xuICAgIHRoaXMuX3VzZXIkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYXV0b0xvZ2luKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsQXV0aCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRoJyk7XG4gICAgaWYgKCFsb2NhbEF1dGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmxvZ291dCgpO1xuICAgIH1cbiAgICBjb25zdCB7IHVzZXIsIHRva2VuIH0gPSBKU09OLnBhcnNlKGxvY2FsQXV0aCk7XG4gICAgdGhpcy5fdG9rZW4gPSBuZXcgSnd0KHRva2VuKTtcbiAgICB0aGlzLl91c2VyID0gdGhpcy51c2VyU2VydmljZS5jcmVhdGUodXNlcik7XG4gICAgdGhpcy5fdXNlciQubmV4dCh0aGlzLl91c2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGF5bG9hZDogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIHBheWxvYWRbdGhpcy5fcGFyYW1zLmxvZ2luRmllbGRdID0gdXNlcm5hbWU7XG4gICAgcGF5bG9hZFt0aGlzLl9wYXJhbXMucGFzc3dvcmRGaWVsZF0gPSBwYXNzd29yZDtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PElKd3RSZXNwb25zZUpzb24+KHRoaXMubG9naW5VcmwsIHBheWxvYWQpLnBpcGUoXG4gICAgICB0YXAoKHRvaykgPT4ge1xuICAgICAgICB0aGlzLl90b2tlbiA9IG5ldyBKd3QodG9rKTtcbiAgICAgICAgdGhpcy5zYXZlQXV0aCgpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fdG9rZW4uZGF0YSAmJiB0aGlzLl90b2tlbi5kYXRhLnVzZXJfaWQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5mZXRjaCh0aGlzLl90b2tlbi5kYXRhIS51c2VyX2lkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnSW52YWxpZCB0b2tlbicpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRhcCgodXNlcjogVXNlcikgPT4ge1xuICAgICAgICB0aGlzLl91c2VyID0gdXNlcjtcbiAgICAgICAgdGhpcy5zYXZlQXV0aCgpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubG9nb3V0KCk7XG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZUF1dGgoKSB7XG4gICAgaWYgKHRoaXMuaXNBbm9ueW1vdXMpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdhdXRoJyk7XG4gICAgICB0aGlzLl91c2VyJC5uZXh0KG51bGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgJ2F1dGgnLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgdXNlcjogdGhpcy5fdXNlci50b0pzb24oKSxcbiAgICAgICAgICB0b2tlbjogdGhpcy5fdG9rZW4udG9Kc29uKCksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fdXNlciQubmV4dCh0aGlzLl91c2VyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaCgpOiBPYnNlcnZhYmxlPElKd3RSZWZyZXNoUmVzcG9uc2VKc29uIHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5fdG9rZW4ucmVmcmVzaCkge1xuICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2h0dHBcbiAgICAgIC5wb3N0PElKd3RSZWZyZXNoUmVzcG9uc2VKc29uPih0aGlzLnJlZnJlc2hVcmwsIHtcbiAgICAgICAgcmVmcmVzaDogdGhpcy5fdG9rZW4ucmVmcmVzaCBhcyBzdHJpbmcsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodG9rKSA9PiB7XG4gICAgICAgICAgdGhpcy5fdG9rZW4gPSBuZXcgSnd0KHtcbiAgICAgICAgICAgIGFjY2VzczogdG9rLmFjY2VzcyxcbiAgICAgICAgICAgIHJlZnJlc2g6IHRoaXMuX3Rva2VuLnJlZnJlc2ghLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuc2F2ZUF1dGgoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -84,9 +84,9 @@ export class DataBackend {
84
84
  return this._cachedGet(collection, url, { headers, params });
85
85
  }
86
86
  }
87
- DataBackend.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DataBackend, deps: [{ token: i1.HttpClient }, { token: i2.TransferState }, { token: PLATFORM_ID }, { token: DATA_API_URL }, { token: DATA_MAX_TRANSFERSTATE_TIME, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
88
- DataBackend.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DataBackend, providedIn: 'root' });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DataBackend, decorators: [{
87
+ DataBackend.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DataBackend, deps: [{ token: i1.HttpClient }, { token: i2.TransferState }, { token: PLATFORM_ID }, { token: DATA_API_URL }, { token: DATA_MAX_TRANSFERSTATE_TIME, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
88
+ DataBackend.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DataBackend, providedIn: 'root' });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: DataBackend, decorators: [{
90
90
  type: Injectable,
91
91
  args: [{
92
92
  providedIn: 'root',
@@ -50,6 +50,20 @@ export class DataModel {
50
50
  set _collection(coll) {
51
51
  this._coll = coll;
52
52
  }
53
+ /**
54
+ * HashMap of fields metadata (type, name, manager, etc...)
55
+ */
56
+ get F() {
57
+ // istanbul ignore if
58
+ if (!this._F) {
59
+ throw new Error('Invalid data model, fields metadata is missing');
60
+ }
61
+ return this._F;
62
+ }
63
+ // Return field names iterator
64
+ get FN() {
65
+ return this.F.keys();
66
+ }
53
67
  /**
54
68
  * Loads model data from json.
55
69
  * If partial is true, only fields with matching data keys will be loaded
@@ -118,16 +132,6 @@ export class DataModel {
118
132
  return result;
119
133
  }));
120
134
  }
121
- /**
122
- * HashMap of fields metadata (type, name, manager, etc...)
123
- */
124
- get F() {
125
- // istanbul ignore if
126
- if (!this._F) {
127
- throw new Error('Invalid data model, fields metadata is missing');
128
- }
129
- return this._F;
130
- }
131
135
  // Called on model, returns the manager for a field.
132
136
  FM(field) {
133
137
  if (this.F.has(field)) {
@@ -139,10 +143,6 @@ export class DataModel {
139
143
  FV(field) {
140
144
  return this[field];
141
145
  }
142
- // Return field names iterator
143
- get FN() {
144
- return this.F.keys();
145
- }
146
146
  /**
147
147
  * Set field value. If check is true, only set value if all validators pass.
148
148
  *
@@ -284,4 +284,4 @@ DataModel.__name = '';
284
284
  // return out.join(' : ');
285
285
  // }
286
286
  // }
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2RhdGEtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHFCQUFxQixHQUN0QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBaUJwQjs7Ozs7O09BTUc7SUFDSCxZQUFzQixLQUF1QjtRQUF2QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUMzQyxNQUFNLEVBQUUsR0FDTixPQUFPLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1Asa0VBQWtFO1lBQ2xFLE1BQU0sSUFBSSxLQUFLLENBQ2IseUZBQXlGLENBQzFGLENBQUM7U0FDSDtRQUNELG9EQUFvRDtRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUM1RCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzNDLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN6QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLE1BQU0sQ0FBQyxH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WCxvQkFBb0I7QUFDcEIsUUFBUTtBQUNSLG1CQUFtQjtBQUNuQixNQUFNO0FBQ04sRUFBRTtBQUNGLGdEQUFnRDtBQUNoRCxzQkFBc0I7QUFDdEIsaURBQWlEO0FBQ2pELE1BQU07QUFDTixFQUFFO0FBQ0YsZ0NBQWdDO0FBQ2hDLGdDQUFnQztBQUNoQyxrQ0FBa0M7QUFDbEMsZ0RBQWdEO0FBQ2hELGlDQUFpQztBQUNqQyxpRUFBaUU7QUFDakUsbUJBQW1CO0FBQ25CLHVDQUF1QztBQUN2QyxZQUFZO0FBQ1osVUFBVTtBQUNWLFFBQVE7QUFDUixnQ0FBZ0M7QUFDaEMsbUVBQW1FO0FBQ25FLGVBQWU7QUFDZixzQ0FBc0M7QUFDdEMsUUFBUTtBQUNSLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsTUFBTTtBQUNOLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlRmllbGRNYW5hZ2VyLFxuICBJRmllbGRTdG9yZWRNZXRhZGF0YSxcbiAgUFJPUEVSVFlfTUVUQURBVEFfS0VZLFxufSBmcm9tICcuL2ZpZWxkcy9iYXNlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9kYXRhLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgdHlwZSBEYXRhTW9kZWxGaWVsZHMgPSBSZWFkb25seTxNYXA8c3RyaW5nLCBJRmllbGRTdG9yZWRNZXRhZGF0YTxhbnk+Pj47XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZGF0YSBtb2RlbC5cbiAqXG4gKiBFYWNoIGNsYXNzIG11c3QgaGF2ZSBhIHN0YXRpYyBfX25hbWVcbiAqIHByaW1hcnkgZmllbGQgaXMgZ2l2ZW4gd2l0aCBpZCBmaWVsZC5cbiAqXG4gKiBTb21lIG1ldGhvZHMgYXJlIHByb3ZpZGVkIHRvIGJlIHVzZWQgd2l0aCBhIGNvbGxlY3Rpb24sIG1vc3RseSBmb3IgQ1JVRCBvcGVyYXRpb25zLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFNb2RlbCB7XG4gIC8qKlxuICAgKiBkYXRhIG1vZGVsIG5hbWVcbiAgICogdGhpcyBuZWVkIHRvIGJlIGdpdmVuIGJlY2F1c2UgY2xhc3MgbmFtZSBpcyBub3QgZnVsbHkgYXZhaWxhYmxlIGJlY2F1c2Ugb2YgbWluaWZpY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBfX25hbWU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBQcmltYXJ5IGZpZWxkOyByZWFkb25seTsgbXVzdCBiZSBjcmVhdGVkIGFuZCBhdXRvIGluY3JlbWVudGVkIG9uIGRiIHNpZGUuXG4gICAqL1xuICAvLyBAcHJpbWFyeUZpZWxkKHtcbiAgLy8gICBkZXNjcmlwdGlvbjogJ0lEJyxcbiAgLy8gICBoZWxwOiAnSWRlbnRpZmlhbnQgcHJpbWFpcmUnLFxuICAvLyB9KVxuICBwdWJsaWMgaWQhOiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX0Y6IERhdGFNb2RlbEZpZWxkcztcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZm9yIGRhdGEgbW9kZWwgaW5zdGFuY2UuXG4gICAqIEEgbWF0Y2hpbmcgY29sbGVjdGlvbiBjYW4gYmUgcHJvdmlkZWQuXG4gICAqIF9fX2ZpZWxkcyByZWFkb25seSBwcm9wZXJ0eSBpcyBhbHNvIHBvcHVsYXRlZCBmcm9tIFJlZmxlY3RlZCBtZXRhZGF0YVxuICAgKlxuICAgKiBAcGFyYW0gX2NvbGwgY29sbGVjdGlvbiB1c2VkIGZvciBDUlVELCBldGMuLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb2xsPzogQ29sbGVjdGlvbjxhbnk+KSB7XG4gICAgY29uc3QgbWQ6IE1hcDxzdHJpbmcsIElGaWVsZFN0b3JlZE1ldGFkYXRhPGFueT4+IHwgdW5kZWZpbmVkID1cbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUEVSVFlfTUVUQURBVEFfS0VZLCB0aGlzKTtcbiAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgaWZcbiAgICBpZiAoIW1kKSB7XG4gICAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBvY2N1ciBhcyBhbGwgZGF0YW1vZGVsIGhhdmUgYXQgbGVhc3QgaWQgZmllbGRcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ05vIHByb3BlcnR5IG1ldGFkYXRhIGZvdW5kIGZvciB0aGlzIG9iamVjdDsgaXMgdGhlcmUgYSBwcm9wZXJ0eSBpbiBjdXJyZW50IGNvbGxlY3Rpb24gPydcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIEdldCBhbGwgZmllbGRzIGZyb20gY3VycmVudCBjbGFzcyBhbmQgaXRzIHBhcmVudHNcbiAgICBjb25zdCBmaWVsZHMgPSBuZXcgTWFwPHN0cmluZywgSUZpZWxkU3RvcmVkTWV0YWRhdGE8YW55Pj4oKTtcbiAgICBsZXQgcGFyZW50ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpO1xuICAgIHdoaWxlIChwYXJlbnQuY29uc3RydWN0b3IubmFtZSAhPT0gJ09iamVjdCcpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiBtZC5rZXlzKCkpIHtcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gZi5zcGxpdCgnX18nKVsxXTtcbiAgICAgICAgaWYgKGZpZWxkcy5oYXMoZmllbGROYW1lKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmLmluZGV4T2YocGFyZW50LmNvbnN0cnVjdG9yLl9fbmFtZSArICdfXycpID09PSAwKSB7XG4gICAgICAgICAgZmllbGRzLnNldChmaWVsZE5hbWUsIG1kLmdldChmKSEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwYXJlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocGFyZW50KTtcbiAgICB9XG4gICAgdGhpcy5fRiA9IE9iamVjdC5mcmVlemUoZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgX2NvbGxlY3Rpb24oKTogQ29sbGVjdGlvbjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY29sbCBhcyBDb2xsZWN0aW9uPGFueT47XG4gIH1cblxuICBwdWJsaWMgc2V0IF9jb2xsZWN0aW9uKGNvbGw6IENvbGxlY3Rpb248YW55Pikge1xuICAgIHRoaXMuX2NvbGwgPSBjb2xsO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIG1vZGVsIGRhdGEgZnJvbSBqc29uLlxuICAgKiBJZiBwYXJ0aWFsIGlzIHRydWUsIG9ubHkgZmllbGRzIHdpdGggbWF0Y2hpbmcgZGF0YSBrZXlzIHdpbGwgYmUgbG9hZGVkXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgZnJvbUpzb24oXG4gICAgZGF0YTogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9LFxuICAgIHsgcGFydGlhbCwgY2hlY2sgfTogeyBwYXJ0aWFsPzogYm9vbGVhbjsgY2hlY2s/OiBib29sZWFuIH0gPSB7XG4gICAgICBwYXJ0aWFsOiBmYWxzZSxcbiAgICAgIGNoZWNrOiBmYWxzZSxcbiAgICB9XG4gICk6IG51bGwgfCBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICBjb25zdCBlcnJvcnM6IHsgW2luZGV4OiBzdHJpbmddOiBudWxsIHwgVmFsaWRhdGlvbkVycm9ycyB9ID0ge307XG4gICAgbGV0IGhhdmVFcnJvciA9IGZhbHNlO1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLkZOKSB7XG4gICAgICBpZiAoIXBhcnRpYWwgfHwgKHBhcnRpYWwgJiYgT2JqZWN0LmtleXMoZGF0YSkuaW5kZXhPZihmKSAhPT0gLTEpKSB7XG4gICAgICAgIGNvbnN0IGZlcnIgPSB0aGlzLnNldEZWKGYsIHRoaXMuRk0oZikuZnJvbUpzb24oZGF0YVtmXSksIGNoZWNrKTtcbiAgICAgICAgaWYgKGZlcnIgIT09IG51bGwpIHtcbiAgICAgICAgICBlcnJvcnNbZl0gPSBmZXJyO1xuICAgICAgICAgIGhhdmVFcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhhdmVFcnJvciA/IGVycm9ycyA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgdG9Kc29uKGZpZWxkcz86IHN0cmluZyB8IHN0cmluZ1tdKTogYW55IHtcbiAgICBpZiAoZmllbGRzICYmICFBcnJheS5pc0FycmF5KGZpZWxkcykpIHtcbiAgICAgIGZpZWxkcyA9IFtmaWVsZHNdO1xuICAgIH1cbiAgICBjb25zdCBvdXQ6IHsgW2luZGV4OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIGNvbnN0IGZsID0gdGhpcy5GO1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLkZOKSB7XG4gICAgICBjb25zdCBtZ3IgPSB0aGlzLkZNKGYpO1xuICAgICAgaWYgKCFmaWVsZHMgfHwgZmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBpZiAobWdyLnJlYWRvbmx5KSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgb3V0W2ZdID0gZmwuZ2V0KGYpIS5tYW5hZ2VyLnRvSnNvbih0aGlzLkZWKGYpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmaWVsZHMuaW5kZXhPZihmKSAhPT0gLTEpIHtcbiAgICAgICAgICBvdXRbZl0gPSBmbC5nZXQoZikhLm1hbmFnZXIudG9Kc29uKHRoaXMuRlYoZikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG4gIH1cblxuICBwdWJsaWMgYWN0aW9uPFQsIFJUPihcbiAgICBtZXRob2Q6ICdQT1NUJyB8ICdQQVRDSCcgfCAnR0VUJyB8ICdERUxFVEUnIHwgJ1BVVCcsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHtcbiAgICAgIGJvZHkgPSB1bmRlZmluZWQsXG4gICAgICB1cGRhdGUgPSBmYWxzZSxcbiAgICAgIHVwZGF0ZVBhcnRpYWwgPSB0cnVlLFxuICAgICAgdXBkYXRlQ2hlY2sgPSBmYWxzZSxcbiAgICAgIC8vIHVwZGF0ZVJhaXNlID0gZmFsc2UsXG4gICAgICBwYXJhbXMgPSB7fSxcbiAgICAgIGhlYWRlcnMgPSB7fSxcbiAgICB9OiB7XG4gICAgICBib2R5PzogeyBbX2luZGV4OiBzdHJpbmddOiBhbnkgfTtcbiAgICAgIHVwZGF0ZT86IGJvb2xlYW47XG4gICAgICB1cGRhdGVQYXJ0aWFsPzogYm9vbGVhbjtcbiAgICAgIHVwZGF0ZUNoZWNrPzogYm9vbGVhbjtcbiAgICAgIC8vIHVwZGF0ZVJhaXNlPzogYm9vbGVhbjtcbiAgICAgIHBhcmFtcz86IHsgW19pbmRleDogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICBoZWFkZXJzPzogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxSVD4ge1xuICAgIGlmICh0aGlzLl9jb2xsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTWlzc2luZyBjb2xsZWN0aW9uJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY29sbFxuICAgICAgLmFjdGlvbjxSVD4odGhpcywgbWV0aG9kLCBuYW1lLCB7XG4gICAgICAgIGJvZHksXG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChyZXN1bHQpID0+IHtcbiAgICAgICAgICBpZiAodXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmZyb21Kc29uKHJlc3VsdCwge1xuICAgICAgICAgICAgICBwYXJ0aWFsOiB1cGRhdGVQYXJ0aWFsLFxuICAgICAgICAgICAgICBjaGVjazogdXBkYXRlQ2hlY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgSGFzaE1hcCBvZiBmaWVsZHMgbWV0YWRhdGEgKHR5cGUsIG5hbWUsIG1hbmFnZXIsIGV0Yy4uLilcbiAgICovXG4gIHB1YmxpYyBnZXQgRigpOiBEYXRhTW9kZWxGaWVsZHMge1xuICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxuICAgIGlmICghdGhpcy5fRikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEgbW9kZWwsIGZpZWxkcyBtZXRhZGF0YSBpcyBtaXNzaW5nJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9GO1xuICB9XG5cbiAgLy8gQ2FsbGVkIG9uIG1vZGVsLCByZXR1cm5zIHRoZSBtYW5hZ2VyIGZvciBhIGZpZWxkLlxuICBwdWJsaWMgRk08RlQ+KGZpZWxkOiBzdHJpbmcpOiBCYXNlRmllbGRNYW5hZ2VyPEZUPiB7XG4gICAgaWYgKHRoaXMuRi5oYXMoZmllbGQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5GLmdldChmaWVsZCkhLm1hbmFnZXI7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGAke2ZpZWxkfSBub3QgZm91bmQgaW4gJHtPYmplY3Qua2V5cyh0aGlzLkYpLmpvaW4oJywnKX0gbW9kZWwgJHt0aGlzfWBcbiAgICApO1xuICB9XG5cbiAgLy8gUmV0dXJuIGZpZWxkIHZhbHVlLCB3aXRob3V0IHR5cGluZ1xuICBwdWJsaWMgRlY8RlQ+KGZpZWxkOiBzdHJpbmcpOiBGVCB7XG4gICAgcmV0dXJuICh0aGlzIGFzIGFueSlbZmllbGRdIGFzIEZUO1xuICB9XG5cbiAgLy8gUmV0dXJuIGZpZWxkIG5hbWVzIGl0ZXJhdG9yXG4gIHB1YmxpYyBnZXQgRk4oKTogSXRlcmFibGVJdGVyYXRvcjxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5GLmtleXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgZmllbGQgdmFsdWUuIElmIGNoZWNrIGlzIHRydWUsIG9ubHkgc2V0IHZhbHVlIGlmIGFsbCB2YWxpZGF0b3JzIHBhc3MuXG4gICAqXG4gICAqIFRoZSB2YWxpZGF0aW9uIHJlc3VsdCBpcyByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIGZpZWxkIGZpZWxkIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIGZpZWxkIHZhbHVlZFxuICAgKiBAcGFyYW0gY2hlY2sgZGVmYXVsdCBmYWxzZVxuICAgKiBAcmV0dXJuIG51bGwgb3IgVmFsaWRhdGlvbkVycm9yXG4gICAqL1xuICBwdWJsaWMgc2V0RlY8RlQ+KFxuICAgIGZpZWxkOiBzdHJpbmcsXG4gICAgdmFsdWU6IEZULFxuICAgIGNoZWNrOiBib29sZWFuID0gZmFsc2VcbiAgKTogbnVsbCB8IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmIChjaGVjaykge1xuICAgICAgY29uc3QgZmMgPSBuZXcgRm9ybUNvbnRyb2wodmFsdWUpO1xuXG4gICAgICBmb3IgKGNvbnN0IHYgb2YgdGhpcy5GTShmaWVsZCkudmFsaWRhdG9ycykge1xuICAgICAgICBjb25zdCB2YWwgPSB2KGZjKTtcbiAgICAgICAgaWYgKHZhbCAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IodmFsKTtcbiAgICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICh0aGlzIGFzIGFueSlbZmllbGRdID0gdmFsdWU7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDYWxsZWQgb24gbW9kZWwgd2l0aCBhIGxpc3Qgb2YgZmllbGRzLCByZXR1cm5zIGEgRm9ybUdyb3VwIHdpdGhcbiAgLy8gdGhlc2UgZmllbGRzLCBvciBvbmx5IHRoZSBmb3JtIGNvbnRyb2wgZm9yIG9uZSBmaWVsZC5cbiAgcHVibGljIEZDKCk6IEZvcm1Hcm91cDtcbiAgcHVibGljIEZDKGZpZWxkOiBzdHJpbmcpOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIEZDKGZpZWxkOiBzdHJpbmdbXSk6IEZvcm1Hcm91cDtcbiAgcHVibGljIEZDKGZpZWxkPzogc3RyaW5nIHwgc3RyaW5nW10pOiBGb3JtQ29udHJvbCB8IEZvcm1Hcm91cCB7XG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGZpZWxkID0gQXJyYXkuZnJvbSh0aGlzLkZOKS5maWx0ZXIoKG4pID0+ICF0aGlzLkZNKG4pLnJlYWRvbmx5KTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQpKSB7XG4gICAgICBjb25zdCBmZzogeyBbaW5kZXg6IHN0cmluZ106IEZvcm1Db250cm9sIH0gPSB7fTtcbiAgICAgIGZvciAoY29uc3QgZiBvZiBmaWVsZCkge1xuICAgICAgICBmZ1tmXSA9IHRoaXMuRkMoZikgYXMgRm9ybUNvbnRyb2w7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IEZvcm1Hcm91cChmZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLkZNKGZpZWxkKS5mb3JtQ29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKFxuICAgIHsgdXBkYXRlTW9kZWwgPSB0cnVlIH06IHsgdXBkYXRlTW9kZWw/OiBib29sZWFuIH0gPSB7XG4gICAgICB1cGRhdGVNb2RlbDogdHJ1ZSxcbiAgICB9XG4gICk6IE9ic2VydmFibGU8dGhpcz4ge1xuICAgIGlmICh0aGlzLl9jb2xsKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29sbC5zYXZlKHRoaXMsIHsgdXBkYXRlTW9kZWwgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTWlzc2luZyBjb2xsZWN0aW9uJykpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZShcbiAgICBmaWVsZHM6IHN0cmluZ1tdID0gW10sXG4gICAgeyB1cGRhdGVNb2RlbCA9IHRydWUgfTogeyB1cGRhdGVNb2RlbD86IGJvb2xlYW4gfSA9IHtcbiAgICAgIHVwZGF0ZU1vZGVsOiB0cnVlLFxuICAgIH1cbiAgKTogT2JzZXJ2YWJsZTx0aGlzPiB7XG4gICAgaWYgKHRoaXMuX2NvbGwpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb2xsLnVwZGF0ZSh0aGlzLCBmaWVsZHMsIHsgdXBkYXRlTW9kZWwgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTWlzc2luZyBjb2xsZWN0aW9uJykpO1xuICB9XG59XG5cbi8vXG4vLyBleHBvcnQgY2xhc3MgVHJlZURhdGFNb2RlbCBleHRlbmRzIERhdGFNb2RlbCB7XG4vLyAgIHN0YXRpYyBvdmVycmlkZSBfX25hbWUgPSAnVHJlZURhdGFNb2RlbCc7XG4vLyAgIEBkZXRhaWxzRmllbGQoe1xuLy8gICAgIG1vZGVsOiB0aGlzLFxuLy8gICAgIG1hbnk6IHRydWUsXG4vLyAgICAgZGVzY3JpcHRpb246ICdQYXJlbnRzJyxcbi8vICAgfSlcbi8vICAgcHVibGljIHBhcmVudHNfZGV0YWlscz86IHRoaXNbXTtcbi8vXG4vLyAgIEBmb3JlaWduS2V5RmllbGQoe1xuLy8gICAgIHJlcXVpcmVkOiBmYWxzZSxcbi8vICAgICBkZXNjcmlwdGlvbjogJ1N0cnVjdHVyZSBwYXJlbnRlJyxcbi8vICAgICByZWxhdGVkOiAnU3RydWN0dXJlJyxcbi8vICAgfSlcbi8vICAgcHVibGljIHBhcmVudD86IG51bWJlcjtcbi8vXG4vLyAgIEBpbnRlZ2VyRmllbGQoe1xuLy8gICAgIHJlcXVpcmVkOiBmYWxzZSxcbi8vICAgICByZWFkb25seTogdHJ1ZSxcbi8vICAgICBkZXNjcmlwdGlvbjogJ0lEIFRyZWUnLFxuLy8gICB9KVxuLy8gICBwdWJsaWMgdHJlZV9pZCE6IG51bWJlcjtcbi8vXG4vLyAgIEBpbnRlZ2VyRmllbGQoe1xuLy8gICAgIHJlcXVpcmVkOiBmYWxzZSxcbi8vICAgICByZWFkb25seTogdHJ1ZSxcbi8vICAgICBkZXNjcmlwdGlvbjogJ01QVFQgbGVmdCcsXG4vLyAgIH0pXG4vLyAgIHB1YmxpYyBsZnQhOiBudW1iZXI7XG4vL1xuLy8gICBAaW50ZWdlckZpZWxkKHtcbi8vICAgICByZXF1aXJlZDogZmFsc2UsXG4vLyAgICAgcmVhZG9ubHk6IHRydWUsXG4vLyAgICAgZGVzY3JpcHRpb246ICdNUFRUIHJpZ2h0Jyxcbi8vICAgfSlcbi8vICAgcHVibGljIHJnaHQhOiBudW1iZXI7XG4vL1xuLy8gICBAaW50ZWdlckZpZWxkKHtcbi8vICAgICByZXF1aXJlZDogZmFsc2UsXG4vLyAgICAgcmVhZG9ubHk6IHRydWUsXG4vLyAgICAgZGVzY3JpcHRpb246ICdOaXZlYXUgaGnDqXJhcmNoaXF1ZScsXG4vLyAgIH0pXG4vLyAgIHB1YmxpYyBsZXZlbCE6IG51bWJlcjtcbi8vXG4vLyAgIHB1YmxpYyBnZXQgcGFyZW50X2RldGFpbHMoKTogdGhpcyB8IG51bGwge1xuLy8gICAgIGlmICh0aGlzLnBhcmVudHNfZGV0YWlscykge1xuLy8gICAgICAgY29uc3Qgb3V0ID0gdGhpcy5wYXJlbnRzX2RldGFpbHNbdGhpcy5wYXJlbnRzX2RldGFpbHMubGVuZ3RoIC0gMV07XG4vLyAgICAgICBvdXQucGFyZW50c19kZXRhaWxzID0gdGhpcy5wYXJlbnRzX2RldGFpbHMuc2xpY2UoXG4vLyAgICAgICAgIDAsXG4vLyAgICAgICAgIHRoaXMucGFyZW50c19kZXRhaWxzLmxlbmd0aCAtIDFcbi8vICAgICAgICk7XG4vLyAgICAgICByZXR1cm4gb3V0O1xuLy8gICAgIH1cbi8vICAgICByZXR1cm4gbnVsbDtcbi8vICAgfVxuLy9cbi8vICAgcHVibGljIHNldCBwYXJlbnRfZGV0YWlscyhkOiB0aGlzIHwgbnVsbCkge1xuLy8gICAgIGNvbnNvbGUubG9nKGQpO1xuLy8gICAgIHRoaXMucGFyZW50c19kZXRhaWxzID0gZD8ucGFyZW50c19kZXRhaWxzO1xuLy8gICB9XG4vL1xuLy8gICBwdWJsaWMgX2Rpc3BsYXkoKTogc3RyaW5nIHtcbi8vICAgICBjb25zdCBvdXQ6IHN0cmluZ1tdID0gW107XG4vLyAgICAgaWYgKHRoaXMucGFyZW50c19kZXRhaWxzKSB7XG4vLyAgICAgICBmb3IgKGNvbnN0IHAgb2YgdGhpcy5wYXJlbnRzX2RldGFpbHMpIHtcbi8vICAgICAgICAgaWYgKChwIGFzIGFueSkuY29kZSkge1xuLy8gICAgICAgICAgIG91dC5wdXNoKGBbJHsocCBhcyBhbnkpLmNvZGV9XSAkeyhwIGFzIGFueSkubmFtZX1gKTtcbi8vICAgICAgICAgfSBlbHNlIHtcbi8vICAgICAgICAgICBvdXQucHVzaCgocCBhcyBhbnkpLm5hbWUpO1xuLy8gICAgICAgICB9XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICAgIGlmICgodGhpcyBhcyBhbnkpLmNvZGUpIHtcbi8vICAgICAgIG91dC5wdXNoKGBbJHsodGhpcyBhcyBhbnkpLmNvZGV9XSAkeyh0aGlzIGFzIGFueSkubmFtZX1gKTtcbi8vICAgICB9IGVsc2Uge1xuLy8gICAgICAgb3V0LnB1c2goKHRoaXMgYXMgYW55KS5uYW1lKTtcbi8vICAgICB9XG4vL1xuLy8gICAgIHJldHVybiBvdXQuam9pbignIDogJyk7XG4vLyAgIH1cbi8vIH1cbiJdfQ==
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2RhdGEtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHFCQUFxQixHQUN0QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBaUJwQjs7Ozs7O09BTUc7SUFDSCxZQUFzQixLQUF1QjtRQUF2QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUMzQyxNQUFNLEVBQUUsR0FDTixPQUFPLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1Asa0VBQWtFO1lBQ2xFLE1BQU0sSUFBSSxLQUFLLENBQ2IseUZBQXlGLENBQzFGLENBQUM7U0FDSDtRQUNELG9EQUFvRDtRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUM1RCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzNDLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN6QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLE1BQU0sQ0FBQyxH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WCxvQkFBb0I7QUFDcEIsUUFBUTtBQUNSLG1CQUFtQjtBQUNuQixNQUFNO0FBQ04sRUFBRTtBQUNGLGdEQUFnRDtBQUNoRCxzQkFBc0I7QUFDdEIsaURBQWlEO0FBQ2pELE1BQU07QUFDTixFQUFFO0FBQ0YsZ0NBQWdDO0FBQ2hDLGdDQUFnQztBQUNoQyxrQ0FBa0M7QUFDbEMsZ0RBQWdEO0FBQ2hELGlDQUFpQztBQUNqQyxpRUFBaUU7QUFDakUsbUJBQW1CO0FBQ25CLHVDQUF1QztBQUN2QyxZQUFZO0FBQ1osVUFBVTtBQUNWLFFBQVE7QUFDUixnQ0FBZ0M7QUFDaEMsbUVBQW1FO0FBQ25FLGVBQWU7QUFDZixzQ0FBc0M7QUFDdEMsUUFBUTtBQUNSLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsTUFBTTtBQUNOLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlRmllbGRNYW5hZ2VyLFxuICBJRmllbGRTdG9yZWRNZXRhZGF0YSxcbiAgUFJPUEVSVFlfTUVUQURBVEFfS0VZLFxufSBmcm9tICcuL2ZpZWxkcy9iYXNlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9kYXRhLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgdHlwZSBEYXRhTW9kZWxGaWVsZHMgPSBSZWFkb25seTxNYXA8c3RyaW5nLCBJRmllbGRTdG9yZWRNZXRhZGF0YTxhbnk+Pj47XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZGF0YSBtb2RlbC5cbiAqXG4gKiBFYWNoIGNsYXNzIG11c3QgaGF2ZSBhIHN0YXRpYyBfX25hbWVcbiAqIHByaW1hcnkgZmllbGQgaXMgZ2l2ZW4gd2l0aCBpZCBmaWVsZC5cbiAqXG4gKiBTb21lIG1ldGhvZHMgYXJlIHByb3ZpZGVkIHRvIGJlIHVzZWQgd2l0aCBhIGNvbGxlY3Rpb24sIG1vc3RseSBmb3IgQ1JVRCBvcGVyYXRpb25zLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFNb2RlbCB7XG4gIC8qKlxuICAgKiBkYXRhIG1vZGVsIG5hbWVcbiAgICogdGhpcyBuZWVkIHRvIGJlIGdpdmVuIGJlY2F1c2UgY2xhc3MgbmFtZSBpcyBub3QgZnVsbHkgYXZhaWxhYmxlIGJlY2F1c2Ugb2YgbWluaWZpY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBfX25hbWU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBQcmltYXJ5IGZpZWxkOyByZWFkb25seTsgbXVzdCBiZSBjcmVhdGVkIGFuZCBhdXRvIGluY3JlbWVudGVkIG9uIGRiIHNpZGUuXG4gICAqL1xuICAvLyBAcHJpbWFyeUZpZWxkKHtcbiAgLy8gICBkZXNjcmlwdGlvbjogJ0lEJyxcbiAgLy8gICBoZWxwOiAnSWRlbnRpZmlhbnQgcHJpbWFpcmUnLFxuICAvLyB9KVxuICBwdWJsaWMgaWQhOiBudW1iZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX0Y6IERhdGFNb2RlbEZpZWxkcztcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZm9yIGRhdGEgbW9kZWwgaW5zdGFuY2UuXG4gICAqIEEgbWF0Y2hpbmcgY29sbGVjdGlvbiBjYW4gYmUgcHJvdmlkZWQuXG4gICAqIF9fX2ZpZWxkcyByZWFkb25seSBwcm9wZXJ0eSBpcyBhbHNvIHBvcHVsYXRlZCBmcm9tIFJlZmxlY3RlZCBtZXRhZGF0YVxuICAgKlxuICAgKiBAcGFyYW0gX2NvbGwgY29sbGVjdGlvbiB1c2VkIGZvciBDUlVELCBldGMuLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb2xsPzogQ29sbGVjdGlvbjxhbnk+KSB7XG4gICAgY29uc3QgbWQ6IE1hcDxzdHJpbmcsIElGaWVsZFN0b3JlZE1ldGFkYXRhPGFueT4+IHwgdW5kZWZpbmVkID1cbiAgICAgIFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUEVSVFlfTUVUQURBVEFfS0VZLCB0aGlzKTtcbiAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgaWZcbiAgICBpZiAoIW1kKSB7XG4gICAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBvY2N1ciBhcyBhbGwgZGF0YW1vZGVsIGhhdmUgYXQgbGVhc3QgaWQgZmllbGRcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ05vIHByb3BlcnR5IG1ldGFkYXRhIGZvdW5kIGZvciB0aGlzIG9iamVjdDsgaXMgdGhlcmUgYSBwcm9wZXJ0eSBpbiBjdXJyZW50IGNvbGxlY3Rpb24gPydcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIEdldCBhbGwgZmllbGRzIGZyb20gY3VycmVudCBjbGFzcyBhbmQgaXRzIHBhcmVudHNcbiAgICBjb25zdCBmaWVsZHMgPSBuZXcgTWFwPHN0cmluZywgSUZpZWxkU3RvcmVkTWV0YWRhdGE8YW55Pj4oKTtcbiAgICBsZXQgcGFyZW50ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpO1xuICAgIHdoaWxlIChwYXJlbnQuY29uc3RydWN0b3IubmFtZSAhPT0gJ09iamVjdCcpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiBtZC5rZXlzKCkpIHtcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gZi5zcGxpdCgnX18nKVsxXTtcbiAgICAgICAgaWYgKGZpZWxkcy5oYXMoZmllbGROYW1lKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmLmluZGV4T2YocGFyZW50LmNvbnN0cnVjdG9yLl9fbmFtZSArICdfXycpID09PSAwKSB7XG4gICAgICAgICAgZmllbGRzLnNldChmaWVsZE5hbWUsIG1kLmdldChmKSEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwYXJlbnQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocGFyZW50KTtcbiAgICB9XG4gICAgdGhpcy5fRiA9IE9iamVjdC5mcmVlemUoZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgX2NvbGxlY3Rpb24oKTogQ29sbGVjdGlvbjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY29sbCBhcyBDb2xsZWN0aW9uPGFueT47XG4gIH1cblxuICBwdWJsaWMgc2V0IF9jb2xsZWN0aW9uKGNvbGw6IENvbGxlY3Rpb248YW55Pikge1xuICAgIHRoaXMuX2NvbGwgPSBjb2xsO1xuICB9XG5cbiAgLyoqXG4gICAqICBIYXNoTWFwIG9mIGZpZWxkcyBtZXRhZGF0YSAodHlwZSwgbmFtZSwgbWFuYWdlciwgZXRjLi4uKVxuICAgKi9cbiAgcHVibGljIGdldCBGKCk6IERhdGFNb2RlbEZpZWxkcyB7XG4gICAgLy8gaXN0YW5idWwgaWdub3JlIGlmXG4gICAgaWYgKCF0aGlzLl9GKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0YSBtb2RlbCwgZmllbGRzIG1ldGFkYXRhIGlzIG1pc3NpbmcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX0Y7XG4gIH1cblxuICAvLyBSZXR1cm4gZmllbGQgbmFtZXMgaXRlcmF0b3JcbiAgcHVibGljIGdldCBGTigpOiBJdGVyYWJsZUl0ZXJhdG9yPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLkYua2V5cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIG1vZGVsIGRhdGEgZnJvbSBqc29uLlxuICAgKiBJZiBwYXJ0aWFsIGlzIHRydWUsIG9ubHkgZmllbGRzIHdpdGggbWF0Y2hpbmcgZGF0YSBrZXlzIHdpbGwgYmUgbG9hZGVkXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgZnJvbUpzb24oXG4gICAgZGF0YTogeyBbaW5kZXg6IHN0cmluZ106IGFueSB9LFxuICAgIHsgcGFydGlhbCwgY2hlY2sgfTogeyBwYXJ0aWFsPzogYm9vbGVhbjsgY2hlY2s/OiBib29sZWFuIH0gPSB7XG4gICAgICBwYXJ0aWFsOiBmYWxzZSxcbiAgICAgIGNoZWNrOiBmYWxzZSxcbiAgICB9XG4gICk6IG51bGwgfCBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICBjb25zdCBlcnJvcnM6IHsgW2luZGV4OiBzdHJpbmddOiBudWxsIHwgVmFsaWRhdGlvbkVycm9ycyB9ID0ge307XG4gICAgbGV0IGhhdmVFcnJvciA9IGZhbHNlO1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLkZOKSB7XG4gICAgICBpZiAoIXBhcnRpYWwgfHwgKHBhcnRpYWwgJiYgT2JqZWN0LmtleXMoZGF0YSkuaW5kZXhPZihmKSAhPT0gLTEpKSB7XG4gICAgICAgIGNvbnN0IGZlcnIgPSB0aGlzLnNldEZWKGYsIHRoaXMuRk0oZikuZnJvbUpzb24oZGF0YVtmXSksIGNoZWNrKTtcbiAgICAgICAgaWYgKGZlcnIgIT09IG51bGwpIHtcbiAgICAgICAgICBlcnJvcnNbZl0gPSBmZXJyO1xuICAgICAgICAgIGhhdmVFcnJvciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhhdmVFcnJvciA/IGVycm9ycyA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgdG9Kc29uKGZpZWxkcz86IHN0cmluZyB8IHN0cmluZ1tdKTogYW55IHtcbiAgICBpZiAoZmllbGRzICYmICFBcnJheS5pc0FycmF5KGZpZWxkcykpIHtcbiAgICAgIGZpZWxkcyA9IFtmaWVsZHNdO1xuICAgIH1cbiAgICBjb25zdCBvdXQ6IHsgW2luZGV4OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIGNvbnN0IGZsID0gdGhpcy5GO1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLkZOKSB7XG4gICAgICBjb25zdCBtZ3IgPSB0aGlzLkZNKGYpO1xuICAgICAgaWYgKCFmaWVsZHMgfHwgZmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBpZiAobWdyLnJlYWRvbmx5KSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgb3V0W2ZdID0gZmwuZ2V0KGYpIS5tYW5hZ2VyLnRvSnNvbih0aGlzLkZWKGYpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmaWVsZHMuaW5kZXhPZihmKSAhPT0gLTEpIHtcbiAgICAgICAgICBvdXRbZl0gPSBmbC5nZXQoZikhLm1hbmFnZXIudG9Kc29uKHRoaXMuRlYoZikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG4gIH1cblxuICBwdWJsaWMgYWN0aW9uPFQsIFJUIGV4dGVuZHMgeyBbaW5kZXg6IHN0cmluZ106IGFueSB9PihcbiAgICBtZXRob2Q6ICdQT1NUJyB8ICdQQVRDSCcgfCAnR0VUJyB8ICdERUxFVEUnIHwgJ1BVVCcsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHtcbiAgICAgIGJvZHkgPSB1bmRlZmluZWQsXG4gICAgICB1cGRhdGUgPSBmYWxzZSxcbiAgICAgIHVwZGF0ZVBhcnRpYWwgPSB0cnVlLFxuICAgICAgdXBkYXRlQ2hlY2sgPSBmYWxzZSxcbiAgICAgIC8vIHVwZGF0ZVJhaXNlID0gZmFsc2UsXG4gICAgICBwYXJhbXMgPSB7fSxcbiAgICAgIGhlYWRlcnMgPSB7fSxcbiAgICB9OiB7XG4gICAgICBib2R5PzogeyBbX2luZGV4OiBzdHJpbmddOiBhbnkgfTtcbiAgICAgIHVwZGF0ZT86IGJvb2xlYW47XG4gICAgICB1cGRhdGVQYXJ0aWFsPzogYm9vbGVhbjtcbiAgICAgIHVwZGF0ZUNoZWNrPzogYm9vbGVhbjtcbiAgICAgIC8vIHVwZGF0ZVJhaXNlPzogYm9vbGVhbjtcbiAgICAgIHBhcmFtcz86IHsgW19pbmRleDogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICBoZWFkZXJzPzogeyBbX2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxSVD4ge1xuICAgIGlmICh0aGlzLl9jb2xsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTWlzc2luZyBjb2xsZWN0aW9uJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY29sbFxuICAgICAgLmFjdGlvbjxSVD4odGhpcywgbWV0aG9kLCBuYW1lLCB7XG4gICAgICAgIGJvZHksXG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChyZXN1bHQpID0+IHtcbiAgICAgICAgICBpZiAodXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmZyb21Kc29uKHJlc3VsdCwge1xuICAgICAgICAgICAgICBwYXJ0aWFsOiB1cGRhdGVQYXJ0aWFsLFxuICAgICAgICAgICAgICBjaGVjazogdXBkYXRlQ2hlY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8vIENhbGxlZCBvbiBtb2RlbCwgcmV0dXJucyB0aGUgbWFuYWdlciBmb3IgYSBmaWVsZC5cbiAgcHVibGljIEZNPEZUPihmaWVsZDogc3RyaW5nKTogQmFzZUZpZWxkTWFuYWdlcjxGVD4ge1xuICAgIGlmICh0aGlzLkYuaGFzKGZpZWxkKSkge1xuICAgICAgcmV0dXJuIHRoaXMuRi5nZXQoZmllbGQpIS5tYW5hZ2VyO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgJHtmaWVsZH0gbm90IGZvdW5kIGluICR7T2JqZWN0LmtleXModGhpcy5GKS5qb2luKCcsJyl9IG1vZGVsICR7dGhpc31gXG4gICAgKTtcbiAgfVxuXG4gIC8vIFJldHVybiBmaWVsZCB2YWx1ZSwgd2l0aG91dCB0eXBpbmdcbiAgcHVibGljIEZWPEZUPihmaWVsZDogc3RyaW5nKTogRlQge1xuICAgIHJldHVybiAodGhpcyBhcyBhbnkpW2ZpZWxkXSBhcyBGVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgZmllbGQgdmFsdWUuIElmIGNoZWNrIGlzIHRydWUsIG9ubHkgc2V0IHZhbHVlIGlmIGFsbCB2YWxpZGF0b3JzIHBhc3MuXG4gICAqXG4gICAqIFRoZSB2YWxpZGF0aW9uIHJlc3VsdCBpcyByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIGZpZWxkIGZpZWxkIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIGZpZWxkIHZhbHVlZFxuICAgKiBAcGFyYW0gY2hlY2sgZGVmYXVsdCBmYWxzZVxuICAgKiBAcmV0dXJuIG51bGwgb3IgVmFsaWRhdGlvbkVycm9yXG4gICAqL1xuICBwdWJsaWMgc2V0RlY8RlQ+KFxuICAgIGZpZWxkOiBzdHJpbmcsXG4gICAgdmFsdWU6IEZULFxuICAgIGNoZWNrOiBib29sZWFuID0gZmFsc2VcbiAgKTogbnVsbCB8IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmIChjaGVjaykge1xuICAgICAgY29uc3QgZmMgPSBuZXcgRm9ybUNvbnRyb2wodmFsdWUpO1xuXG4gICAgICBmb3IgKGNvbnN0IHYgb2YgdGhpcy5GTShmaWVsZCkudmFsaWRhdG9ycykge1xuICAgICAgICBjb25zdCB2YWwgPSB2KGZjKTtcbiAgICAgICAgaWYgKHZhbCAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IodmFsKTtcbiAgICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICh0aGlzIGFzIGFueSlbZmllbGRdID0gdmFsdWU7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDYWxsZWQgb24gbW9kZWwgd2l0aCBhIGxpc3Qgb2YgZmllbGRzLCByZXR1cm5zIGEgRm9ybUdyb3VwIHdpdGhcbiAgLy8gdGhlc2UgZmllbGRzLCBvciBvbmx5IHRoZSBmb3JtIGNvbnRyb2wgZm9yIG9uZSBmaWVsZC5cbiAgcHVibGljIEZDKCk6IEZvcm1Hcm91cDtcbiAgcHVibGljIEZDKGZpZWxkOiBzdHJpbmcpOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIEZDKGZpZWxkOiBzdHJpbmdbXSk6IEZvcm1Hcm91cDtcbiAgcHVibGljIEZDKGZpZWxkPzogc3RyaW5nIHwgc3RyaW5nW10pOiBGb3JtQ29udHJvbCB8IEZvcm1Hcm91cCB7XG4gICAgaWYgKGZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGZpZWxkID0gQXJyYXkuZnJvbSh0aGlzLkZOKS5maWx0ZXIoKG4pID0+ICF0aGlzLkZNKG4pLnJlYWRvbmx5KTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQpKSB7XG4gICAgICBjb25zdCBmZzogeyBbaW5kZXg6IHN0cmluZ106IEZvcm1Db250cm9sIH0gPSB7fTtcbiAgICAgIGZvciAoY29uc3QgZiBvZiBmaWVsZCkge1xuICAgICAgICBmZ1tmXSA9IHRoaXMuRkMoZikgYXMgRm9ybUNvbnRyb2w7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IEZvcm1Hcm91cChmZyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLkZNKGZpZWxkKS5mb3JtQ29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKFxuICAgIHsgdXBkYXRlTW9kZWwgPSB0cnVlIH06IHsgdXBkYXRlTW9kZWw/OiBib29sZWFuIH0gPSB7XG4gICAgICB1cGRhdGVNb2RlbDogdHJ1ZSxcbiAgICB9XG4gICk6IE9ic2VydmFibGU8dGhpcz4ge1xuICAgIGlmICh0aGlzLl9jb2xsKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29sbC5zYXZlKHRoaXMsIHsgdXBkYXRlTW9kZWwgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTWlzc2luZyBjb2xsZWN0aW9uJykpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZShcbiAgICBmaWVsZHM6IHN0cmluZ1tdID0gW10sXG4gICAgeyB1cGRhdGVNb2RlbCA9IHRydWUgfTogeyB1cGRhdGVNb2RlbD86IGJvb2xlYW4gfSA9IHtcbiAgICAgIHVwZGF0ZU1vZGVsOiB0cnVlLFxuICAgIH1cbiAgKTogT2JzZXJ2YWJsZTx0aGlzPiB7XG4gICAgaWYgKHRoaXMuX2NvbGwpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb2xsLnVwZGF0ZSh0aGlzLCBmaWVsZHMsIHsgdXBkYXRlTW9kZWwgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTWlzc2luZyBjb2xsZWN0aW9uJykpO1xuICB9XG59XG5cbi8vXG4vLyBleHBvcnQgY2xhc3MgVHJlZURhdGFNb2RlbCBleHRlbmRzIERhdGFNb2RlbCB7XG4vLyAgIHN0YXRpYyBvdmVycmlkZSBfX25hbWUgPSAnVHJlZURhdGFNb2RlbCc7XG4vLyAgIEBkZXRhaWxzRmllbGQoe1xuLy8gICAgIG1vZGVsOiB0aGlzLFxuLy8gICAgIG1hbnk6IHRydWUsXG4vLyAgICAgZGVzY3JpcHRpb246ICdQYXJlbnRzJyxcbi8vICAgfSlcbi8vICAgcHVibGljIHBhcmVudHNfZGV0YWlscz86IHRoaXNbXTtcbi8vXG4vLyAgIEBmb3JlaWduS2V5RmllbGQoe1xuLy8gICAgIHJlcXVpcmVkOiBmYWxzZSxcbi8vICAgICBkZXNjcmlwdGlvbjogJ1N0cnVjdHVyZSBwYXJlbnRlJyxcbi8vICAgICByZWxhdGVkOiAnU3RydWN0dXJlJyxcbi8vICAgfSlcbi8vICAgcHVibGljIHBhcmVudD86IG51bWJlcjtcbi8vXG4vLyAgIEBpbnRlZ2VyRmllbGQoe1xuLy8gICAgIHJlcXVpcmVkOiBmYWxzZSxcbi8vICAgICByZWFkb25seTogdHJ1ZSxcbi8vICAgICBkZXNjcmlwdGlvbjogJ0lEIFRyZWUnLFxuLy8gICB9KVxuLy8gICBwdWJsaWMgdHJlZV9pZCE6IG51bWJlcjtcbi8vXG4vLyAgIEBpbnRlZ2VyRmllbGQoe1xuLy8gICAgIHJlcXVpcmVkOiBmYWxzZSxcbi8vICAgICByZWFkb25seTogdHJ1ZSxcbi8vICAgICBkZXNjcmlwdGlvbjogJ01QVFQgbGVmdCcsXG4vLyAgIH0pXG4vLyAgIHB1YmxpYyBsZnQhOiBudW1iZXI7XG4vL1xuLy8gICBAaW50ZWdlckZpZWxkKHtcbi8vICAgICByZXF1aXJlZDogZmFsc2UsXG4vLyAgICAgcmVhZG9ubHk6IHRydWUsXG4vLyAgICAgZGVzY3JpcHRpb246ICdNUFRUIHJpZ2h0Jyxcbi8vICAgfSlcbi8vICAgcHVibGljIHJnaHQhOiBudW1iZXI7XG4vL1xuLy8gICBAaW50ZWdlckZpZWxkKHtcbi8vICAgICByZXF1aXJlZDogZmFsc2UsXG4vLyAgICAgcmVhZG9ubHk6IHRydWUsXG4vLyAgICAgZGVzY3JpcHRpb246ICdOaXZlYXUgaGnDqXJhcmNoaXF1ZScsXG4vLyAgIH0pXG4vLyAgIHB1YmxpYyBsZXZlbCE6IG51bWJlcjtcbi8vXG4vLyAgIHB1YmxpYyBnZXQgcGFyZW50X2RldGFpbHMoKTogdGhpcyB8IG51bGwge1xuLy8gICAgIGlmICh0aGlzLnBhcmVudHNfZGV0YWlscykge1xuLy8gICAgICAgY29uc3Qgb3V0ID0gdGhpcy5wYXJlbnRzX2RldGFpbHNbdGhpcy5wYXJlbnRzX2RldGFpbHMubGVuZ3RoIC0gMV07XG4vLyAgICAgICBvdXQucGFyZW50c19kZXRhaWxzID0gdGhpcy5wYXJlbnRzX2RldGFpbHMuc2xpY2UoXG4vLyAgICAgICAgIDAsXG4vLyAgICAgICAgIHRoaXMucGFyZW50c19kZXRhaWxzLmxlbmd0aCAtIDFcbi8vICAgICAgICk7XG4vLyAgICAgICByZXR1cm4gb3V0O1xuLy8gICAgIH1cbi8vICAgICByZXR1cm4gbnVsbDtcbi8vICAgfVxuLy9cbi8vICAgcHVibGljIHNldCBwYXJlbnRfZGV0YWlscyhkOiB0aGlzIHwgbnVsbCkge1xuLy8gICAgIGNvbnNvbGUubG9nKGQpO1xuLy8gICAgIHRoaXMucGFyZW50c19kZXRhaWxzID0gZD8ucGFyZW50c19kZXRhaWxzO1xuLy8gICB9XG4vL1xuLy8gICBwdWJsaWMgX2Rpc3BsYXkoKTogc3RyaW5nIHtcbi8vICAgICBjb25zdCBvdXQ6IHN0cmluZ1tdID0gW107XG4vLyAgICAgaWYgKHRoaXMucGFyZW50c19kZXRhaWxzKSB7XG4vLyAgICAgICBmb3IgKGNvbnN0IHAgb2YgdGhpcy5wYXJlbnRzX2RldGFpbHMpIHtcbi8vICAgICAgICAgaWYgKChwIGFzIGFueSkuY29kZSkge1xuLy8gICAgICAgICAgIG91dC5wdXNoKGBbJHsocCBhcyBhbnkpLmNvZGV9XSAkeyhwIGFzIGFueSkubmFtZX1gKTtcbi8vICAgICAgICAgfSBlbHNlIHtcbi8vICAgICAgICAgICBvdXQucHVzaCgocCBhcyBhbnkpLm5hbWUpO1xuLy8gICAgICAgICB9XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICAgIGlmICgodGhpcyBhcyBhbnkpLmNvZGUpIHtcbi8vICAgICAgIG91dC5wdXNoKGBbJHsodGhpcyBhcyBhbnkpLmNvZGV9XSAkeyh0aGlzIGFzIGFueSkubmFtZX1gKTtcbi8vICAgICB9IGVsc2Uge1xuLy8gICAgICAgb3V0LnB1c2goKHRoaXMgYXMgYW55KS5uYW1lKTtcbi8vICAgICB9XG4vL1xuLy8gICAgIHJldHVybiBvdXQuam9pbignIDogJyk7XG4vLyAgIH1cbi8vIH1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { combineLatest, ReplaySubject } from 'rxjs';
1
+ import { combineLatest, ReplaySubject, share, } from 'rxjs';
2
2
  import { switchMap } from 'rxjs/operators';
3
3
  export class Queryset {
4
4
  constructor(_coll, options = {}) {
@@ -39,7 +39,10 @@ export class Queryset {
39
39
  }
40
40
  /** Full results observable (results, loading, meta) */
41
41
  get full() {
42
- return combineLatest([this.results, this.loading, this.meta]);
42
+ if (!this._full) {
43
+ this._full = combineLatest([this.results, this.loading, this.meta]);
44
+ }
45
+ return this._full.pipe(share());
43
46
  }
44
47
  /**
45
48
  * Update current filter data. Null or undefined values are removed from filter data.
@@ -116,6 +119,7 @@ export class Queryset {
116
119
  return f;
117
120
  }
118
121
  get(refresh = true) {
122
+ console.log('queryset:get', this, refresh);
119
123
  if (!refresh && !this._pristine) {
120
124
  return this.results;
121
125
  }
@@ -140,4 +144,4 @@ export class Queryset {
140
144
  }));
141
145
  }
142
146
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2RhdGEtcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGFBQWEsRUFBOEIsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBUyxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXFEbEQsTUFBTSxPQUFPLFFBQVE7SUFhbkIsWUFBc0IsS0FBb0IsRUFBRSxVQUE0QixFQUFFO1FBQXBELFVBQUssR0FBTCxLQUFLLENBQWU7UUFaMUMsMEJBQTBCO1FBQ25CLGVBQVUsR0FBZSxFQUFFLENBQUM7UUFDbkMsMEJBQTBCO1FBQ25CLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFDakMscUJBQXFCO1FBQ2QsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUM3Qix3QkFBd0I7UUFDakIsYUFBUSxHQUFHLEdBQUcsQ0FBQztRQUN0QiwwQkFBMEI7UUFDbkIsU0FBSSxHQUFHLENBQUMsQ0FBQztRQVNSLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFNakIsYUFBUSxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1FBTXpDLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBYSxDQUFDLENBQUMsQ0FBQztRQU16QyxhQUFRLEdBQUcsSUFBSSxhQUFhLENBQU0sQ0FBQyxDQUFDLENBQUM7UUF2QjNDLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR0QsaUVBQWlFO0lBQ2pFLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUdELHVEQUF1RDtJQUN2RCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFHRCxtQ0FBbUM7SUFDbkMsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFHRCxtQ0FBbUM7SUFDbkMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsdURBQXVEO0lBQ3ZELElBQVcsSUFBSTtRQUNiLE9BQU8sYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFNBQXFCLEVBQUUsRUFBRSxTQUFrQixLQUFLO1FBQzVELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUN0QjtRQUNELEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDakQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hDO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSSxJQUFJLENBQUMsR0FBRyxPQUFpQjtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsV0FBbUIsRUFBRTtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLE9BQWUsQ0FBQyxFQUFFLFFBQWlCO1FBQ2hELElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsNkJBQTZCO1lBQzdCLDBEQUEwRDtZQUMxRCwwQkFBMEI7WUFDMUIsaUJBQWlCO1lBQ2pCLGdEQUFnRDtZQUNoRCxpREFBaUQ7WUFDakQsOENBQThDO1lBQzlDLHNCQUFzQjtZQUN0QixvQ0FBb0M7WUFDcEMsUUFBUTtZQUNSLElBQUk7U0FDTDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFnQjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sQ0FBQyxHQUFlLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUN4QixDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekM7UUFDRCxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pELENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLEdBQUcsQ0FBQyxVQUFtQixJQUFJO1FBQ2hDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxHQUFHLENBQXdCO1lBQzFCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQVM7U0FDckMsQ0FBQzthQUNELElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuQixrQkFBa0I7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDcEUsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDOUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYjtZQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vZGF0YS1jb2xsZWN0aW9uJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4vZGF0YS1tb2RlbCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckRhdGEge1xuICBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBTb3J0RGF0YSA9IHN0cmluZztcblxuLyoqXG4gKiBRdWVyeXNldCBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVF1ZXJ5c2V0T3B0aW9ucyB7XG4gIC8qKiBFbWl0IGZpZWxkcyBsaXN0ICovXG4gIGVtaXRGaWVsZHM/OiBib29sZWFuO1xuICAvKiogUXVlcnlzZXQgbmFtZSAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogVE9ETzogc2VlIHVzYWdlICovXG4gIHJvdXRlPzogQWN0aXZhdGVkUm91dGU7XG4gIC8qKiBUT0RPOiBzZWUgdXNhZ2UgKi9cbiAgcm91dGVyPzogUm91dGVyO1xuICAvKiogVE9ETzogc2VlIHVzYWdlICovXG4gIGhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1ZXJ5TmF2IHtcbiAgcGFnZTogbnVtYmVyO1xuICBwYWdlX3NpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVlcnlNZXRhTmF2IHtcbiAgY291bnQ6IG51bWJlcjtcbiAgbmV4dDogbnVtYmVyIHwgbnVsbDtcbiAgcGFnZTogbnVtYmVyO1xuICBwYWdlczogbnVtYmVyO1xuICBwcmV2OiBudW1iZXIgfCBudWxsO1xuICBzaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1ZXJ5TWV0YU5hdlBhcmFtcyB7XG4gIHBhZ2U6IHN0cmluZztcbiAgcGFnZV9zaXplOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1ZXJ5TWV0YSB7XG4gIG5hdjogSVF1ZXJ5TWV0YU5hdjtcbiAgcGFyYW1ldGVyczogSVF1ZXJ5TWV0YU5hdlBhcmFtcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVlcnlGdWxsUmVzcG9uc2U8VD4gZXh0ZW5kcyBJUXVlcnlNZXRhIHtcbiAgcmVzdWx0czogVFtdO1xufVxuXG5leHBvcnQgY2xhc3MgUXVlcnlzZXQ8VCBleHRlbmRzIERhdGFNb2RlbD4ge1xuICAvKiogQ3VycmVudCBmaWx0ZXIgZGF0YSAqL1xuICBwdWJsaWMgZmlsdGVyRGF0YTogRmlsdGVyRGF0YSA9IHt9O1xuICAvKiogQ3VycmVudCBzb3J0ZXIgZGF0YSAqL1xuICBwdWJsaWMgc29ydERhdGE6IFNvcnREYXRhW10gPSBbXTtcbiAgLyoqIEN1cnJlbnQgZmllbGRzICovXG4gIHB1YmxpYyBmaWVsZHM6IHN0cmluZ1tdID0gW107XG4gIC8qKiBDdXJyZW50IHBhZ2Ugc2l6ZSAqL1xuICBwdWJsaWMgcGFnZVNpemUgPSA1MDA7XG4gIC8qKiBDdXJyZW50IHBhZ2UgbnVtYmVyICovXG4gIHB1YmxpYyBwYWdlID0gMTtcblxuICBwdWJsaWMgb3B0aW9uczogSVF1ZXJ5c2V0T3B0aW9ucztcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb2xsOiBDb2xsZWN0aW9uPFQ+LCBvcHRpb25zOiBJUXVlcnlzZXRPcHRpb25zID0ge30pIHtcbiAgICAvKiogRGVmYXVsdCBvcHRpb25zICovXG4gICAgdGhpcy5vcHRpb25zID0geyBlbWl0RmllbGRzOiB0cnVlIH07XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm9wdGlvbnMsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJpc3RpbmUgPSB0cnVlO1xuICAvKiogUHJpc3RpbmUgc3RhdHVzICh0cnVlIGlmIGl0IGhhcyBub3QgY29sbGVjdGVkIHJlc3VsdHMgeWV0KSAqL1xuICBwdWJsaWMgZ2V0IHByaXN0aW5lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9wcmlzdGluZTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRpbmcgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcbiAgLyoqIExvYWRpbmcgc3RhdHVzICh0cnVlIGlmIGN1cnJlbnRseSBmZXRjaGluZyBkYXRhKSAqL1xuICBwdWJsaWMgZ2V0IGxvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmcuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIF9tZXRhID0gbmV3IFJlcGxheVN1YmplY3Q8SVF1ZXJ5TWV0YT4oMSk7XG4gIC8qKiBSZXN1bHRzIG1ldGEgcGFydCBvYnNlcnZhYmxlICovXG4gIHB1YmxpYyBnZXQgbWV0YSgpOiBPYnNlcnZhYmxlPElRdWVyeU1ldGE+IHtcbiAgICByZXR1cm4gdGhpcy5fbWV0YS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc3VsdHMgPSBuZXcgUmVwbGF5U3ViamVjdDxUW10+KDEpO1xuICAvKiogUmVzdWx0cyBkYXRhIHBhcnQgb2JzZXJ2YWJsZSAqL1xuICBwdWJsaWMgZ2V0IHJlc3VsdHMoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVzdWx0cy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKiBGdWxsIHJlc3VsdHMgb2JzZXJ2YWJsZSAocmVzdWx0cywgbG9hZGluZywgbWV0YSkgKi9cbiAgcHVibGljIGdldCBmdWxsKCk6IE9ic2VydmFibGU8W1RbXSwgYm9vbGVhbiwgSVF1ZXJ5TWV0YV0+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5yZXN1bHRzLCB0aGlzLmxvYWRpbmcsIHRoaXMubWV0YV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjdXJyZW50IGZpbHRlciBkYXRhLiBOdWxsIG9yIHVuZGVmaW5lZCB2YWx1ZXMgYXJlIHJlbW92ZWQgZnJvbSBmaWx0ZXIgZGF0YS5cbiAgICogQHBhcmFtIHBhcmFtcyBmaWx0ZXIgZGF0YVxuICAgKiBAcGFyYW0gdXBkYXRlIGJvb2xlYW4gdG8gdXBkYXRlIGZpbHRlciBkYXRhIGluc3RlYWQgb2YgcmVjcmVhdGluZyBpdCBmcm9tIHNjcmF0Y2hcbiAgICovXG4gIHB1YmxpYyBmaWx0ZXIocGFyYW1zOiBGaWx0ZXJEYXRhID0ge30sIHVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlKTogUXVlcnlzZXQ8VD4ge1xuICAgIGlmICghdXBkYXRlKSB7XG4gICAgICB0aGlzLmZpbHRlckRhdGEgPSB7fTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcbiAgICAgIGlmIChwYXJhbXNba10gPT09IHVuZGVmaW5lZCB8fCBwYXJhbXNba10gPT09IG51bGwpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuZmlsdGVyRGF0YVtrXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YVtrXSA9IHBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNvcnRpbmcgcGFyYW1ldGVycywgbGlzdCBvZiBzdHJpbmdzIGdpdmluZyBzb3J0IHBhcmFtZXRlcnMgZS5nLiBzb3J0KFwiK25hbWVcIiwgXCItaWRcIikuXG4gICAqIEBwYXJhbSBzb3J0aW5nIHN0cmluZ3Mgb2Ygc29ydCBwYXJhbWV0ZXJzXG4gICAqL1xuICBwdWJsaWMgc29ydCguLi5zb3J0aW5nOiBzdHJpbmdbXSk6IFF1ZXJ5c2V0PFQ+IHtcbiAgICB0aGlzLnNvcnREYXRhID0gc29ydGluZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgcGFnZSBzaXplLlxuICAgKiBAcGFyYW0gcGFnZVNpemUgcmVxdWlyZWQgcGFnZSBzaXplXG4gICAqL1xuICBwdWJsaWMgcGFnaW5hdGVCeShwYWdlU2l6ZTogbnVtYmVyID0gMjApOiBRdWVyeXNldDxUPiB7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuICAgKiBAcGFyYW0gcGFnZSByZXF1aXJlZCBwcWdlXG4gICAqIEBwYXJhbSBmcmFnbWVudCBUT0RPOiBmcmFnbWVudCB1c2FnZSBmb3Igcm91dGVyIHVzYWdlXG4gICAqL1xuICBwdWJsaWMgc2V0UGFnZShwYWdlOiBudW1iZXIgPSAxLCBmcmFnbWVudD86IHN0cmluZyk6IFF1ZXJ5c2V0PFQ+IHtcbiAgICBpZiAocGFnZSAhPT0gdGhpcy5wYWdlKSB7XG4gICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xuICAgICAgLy8gaWYgKHRoaXMub3B0aW9ucy5yb3V0ZXIpIHtcbiAgICAgIC8vICAgLy8gVE9ETzogY2hlY2sgYW5kIGZpeCB1c2FnZSBvZiBmcmFnbWVudC9xdWVyeSBwYXJhbXNcbiAgICAgIC8vICAgY29uc3QgZnJhZyA9IGZyYWdtZW50XG4gICAgICAvLyAgICAgPyBmcmFnbWVudFxuICAgICAgLy8gICAgIDogdGhpcy5vcHRpb25zLmhhc2ggfHwgdGhpcy5vcHRpb25zLm5hbWU7XG4gICAgICAvLyAgIGNvbnN0IF8gPSB0aGlzLm9wdGlvbnMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAvLyAgICAgcXVlcnlQYXJhbXM6IHsgcGFnZTogcGFnZS50b1N0cmluZygpIH0sXG4gICAgICAvLyAgICAgZnJhZ21lbnQ6IGZyYWcsXG4gICAgICAvLyAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIC8vICAgfSk7XG4gICAgICAvLyB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldEZpZWxkcyhmaWVsZHM6IHN0cmluZ1tdKTogUXVlcnlzZXQ8VD4ge1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldFF1ZXJ5UGFyYW1zKCk6IEZpbHRlckRhdGEge1xuICAgIGNvbnN0IGY6IEZpbHRlckRhdGEgPSB7fTtcbiAgICBPYmplY3QuYXNzaWduKGYsIHRoaXMuZmlsdGVyRGF0YSk7XG4gICAgaWYgKHRoaXMuc29ydERhdGEubGVuZ3RoKSB7XG4gICAgICBmWydvcmRlcmluZyddID0gdGhpcy5zb3J0RGF0YS5qb2luKCcsJyk7XG4gICAgfVxuICAgIGZbJ3BhZ2Vfc2l6ZSddID0gdGhpcy5wYWdlU2l6ZTtcbiAgICBmWydwYWdlJ10gPSB0aGlzLnBhZ2U7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5lbWl0RmllbGRzICYmIHRoaXMuZmllbGRzLmxlbmd0aCkge1xuICAgICAgZlsnZmllbGRzJ10gPSB0aGlzLmZpZWxkcy5qb2luKCcsJyk7XG4gICAgfVxuICAgIHJldHVybiBmO1xuICB9XG5cbiAgcHVibGljIGdldChyZWZyZXNoOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgaWYgKCFyZWZyZXNoICYmICF0aGlzLl9wcmlzdGluZSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzdWx0cztcbiAgICB9XG4gICAgdGhpcy5fbG9hZGluZy5uZXh0KHRydWUpO1xuICAgIHJldHVybiB0aGlzLl9jb2xsXG4gICAgICAucmF3PElRdWVyeUZ1bGxSZXNwb25zZTxUPj4oe1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBwYXJhbXM6IHRoaXMuZ2V0UXVlcnlQYXJhbXMoKSBhcyBhbnksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgLy8gUHJvY2VzcyByZXN1bHRzXG4gICAgICAgICAgdGhpcy5fbWV0YS5uZXh0KHsgbmF2OiByZXN1bHQubmF2LCBwYXJhbWV0ZXJzOiByZXN1bHQucGFyYW1ldGVycyB9KTtcbiAgICAgICAgICBjb25zdCBvdXQ6IFRbXSA9IFtdO1xuICAgICAgICAgIGZvciAoY29uc3QgciBvZiByZXN1bHQucmVzdWx0cykge1xuICAgICAgICAgICAgY29uc3QgbSA9IHRoaXMuX2NvbGwuZnJvbUpzb24ocik7XG4gICAgICAgICAgICBvdXQucHVzaChtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJpc3RpbmUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9sb2FkaW5nLm5leHQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuX3Jlc3VsdHMubmV4dChvdXQpO1xuICAgICAgICAgIHJldHVybiB0aGlzLnJlc3VsdHM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2RhdGEtcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLGFBQWEsRUFHYixhQUFhLEVBQ2IsS0FBSyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFTLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBcURsRCxNQUFNLE9BQU8sUUFBUTtJQWFuQixZQUFzQixLQUFvQixFQUFFLFVBQTRCLEVBQUU7UUFBcEQsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQVoxQywwQkFBMEI7UUFDbkIsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUNuQywwQkFBMEI7UUFDbkIsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUNqQyxxQkFBcUI7UUFDZCxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzdCLHdCQUF3QjtRQUNqQixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLDBCQUEwQjtRQUNuQixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBU1IsY0FBUyxHQUFHLElBQUksQ0FBQztRQU1qQixhQUFRLEdBQUcsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDLENBQUM7UUFNekMsVUFBSyxHQUFHLElBQUksYUFBYSxDQUFhLENBQUMsQ0FBQyxDQUFDO1FBTXpDLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQXZCM0Msc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFHRCxpRUFBaUU7SUFDakUsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lB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LElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiO1lBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9kYXRhLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi9kYXRhLW1vZGVsJztcbmltcG9ydCB7XG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpcnN0VmFsdWVGcm9tLFxuICBPYnNlcnZhYmxlLFxuICBSZXBsYXlTdWJqZWN0LFxuICBzaGFyZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRGF0YSB7XG4gIFtpbmRleDogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IHVuZGVmaW5lZCB8IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIFNvcnREYXRhID0gc3RyaW5nO1xuXG4vKipcbiAqIFF1ZXJ5c2V0IHBhcmFtZXRlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUXVlcnlzZXRPcHRpb25zIHtcbiAgLyoqIEVtaXQgZmllbGRzIGxpc3QgKi9cbiAgZW1pdEZpZWxkcz86IGJvb2xlYW47XG4gIC8qKiBRdWVyeXNldCBuYW1lICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBUT0RPOiBzZWUgdXNhZ2UgKi9cbiAgcm91dGU/OiBBY3RpdmF0ZWRSb3V0ZTtcbiAgLyoqIFRPRE86IHNlZSB1c2FnZSAqL1xuICByb3V0ZXI/OiBSb3V0ZXI7XG4gIC8qKiBUT0RPOiBzZWUgdXNhZ2UgKi9cbiAgaGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVlcnlOYXYge1xuICBwYWdlOiBudW1iZXI7XG4gIHBhZ2Vfc2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWVyeU1ldGFOYXYge1xuICBjb3VudDogbnVtYmVyO1xuICBuZXh0OiBudW1iZXIgfCBudWxsO1xuICBwYWdlOiBudW1iZXI7XG4gIHBhZ2VzOiBudW1iZXI7XG4gIHByZXY6IG51bWJlciB8IG51bGw7XG4gIHNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVlcnlNZXRhTmF2UGFyYW1zIHtcbiAgcGFnZTogc3RyaW5nO1xuICBwYWdlX3NpemU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUXVlcnlNZXRhIHtcbiAgbmF2OiBJUXVlcnlNZXRhTmF2O1xuICBwYXJhbWV0ZXJzOiBJUXVlcnlNZXRhTmF2UGFyYW1zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWVyeUZ1bGxSZXNwb25zZTxUPiBleHRlbmRzIElRdWVyeU1ldGEge1xuICByZXN1bHRzOiBUW107XG59XG5cbmV4cG9ydCBjbGFzcyBRdWVyeXNldDxUIGV4dGVuZHMgRGF0YU1vZGVsPiB7XG4gIC8qKiBDdXJyZW50IGZpbHRlciBkYXRhICovXG4gIHB1YmxpYyBmaWx0ZXJEYXRhOiBGaWx0ZXJEYXRhID0ge307XG4gIC8qKiBDdXJyZW50IHNvcnRlciBkYXRhICovXG4gIHB1YmxpYyBzb3J0RGF0YTogU29ydERhdGFbXSA9IFtdO1xuICAvKiogQ3VycmVudCBmaWVsZHMgKi9cbiAgcHVibGljIGZpZWxkczogc3RyaW5nW10gPSBbXTtcbiAgLyoqIEN1cnJlbnQgcGFnZSBzaXplICovXG4gIHB1YmxpYyBwYWdlU2l6ZSA9IDUwMDtcbiAgLyoqIEN1cnJlbnQgcGFnZSBudW1iZXIgKi9cbiAgcHVibGljIHBhZ2UgPSAxO1xuXG4gIHB1YmxpYyBvcHRpb25zOiBJUXVlcnlzZXRPcHRpb25zO1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NvbGw6IENvbGxlY3Rpb248VD4sIG9wdGlvbnM6IElRdWVyeXNldE9wdGlvbnMgPSB7fSkge1xuICAgIC8qKiBEZWZhdWx0IG9wdGlvbnMgKi9cbiAgICB0aGlzLm9wdGlvbnMgPSB7IGVtaXRGaWVsZHM6IHRydWUgfTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucywgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9wcmlzdGluZSA9IHRydWU7XG4gIC8qKiBQcmlzdGluZSBzdGF0dXMgKHRydWUgaWYgaXQgaGFzIG5vdCBjb2xsZWN0ZWQgcmVzdWx0cyB5ZXQpICovXG4gIHB1YmxpYyBnZXQgcHJpc3RpbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ByaXN0aW5lO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZGluZyA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuICAvKiogTG9hZGluZyBzdGF0dXMgKHRydWUgaWYgY3VycmVudGx5IGZldGNoaW5nIGRhdGEpICovXG4gIHB1YmxpYyBnZXQgbG9hZGluZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX21ldGEgPSBuZXcgUmVwbGF5U3ViamVjdDxJUXVlcnlNZXRhPigxKTtcbiAgLyoqIFJlc3VsdHMgbWV0YSBwYXJ0IG9ic2VydmFibGUgKi9cbiAgcHVibGljIGdldCBtZXRhKCk6IE9ic2VydmFibGU8SVF1ZXJ5TWV0YT4ge1xuICAgIHJldHVybiB0aGlzLl9tZXRhLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzdWx0cyA9IG5ldyBSZXBsYXlTdWJqZWN0PFRbXT4oMSk7XG4gIC8qKiBSZXN1bHRzIGRhdGEgcGFydCBvYnNlcnZhYmxlICovXG4gIHB1YmxpYyBnZXQgcmVzdWx0cygpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9yZXN1bHRzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZnVsbD86IE9ic2VydmFibGU8W1RbXSwgYm9vbGVhbiwgSVF1ZXJ5TWV0YV0+O1xuICAvKiogRnVsbCByZXN1bHRzIG9ic2VydmFibGUgKHJlc3VsdHMsIGxvYWRpbmcsIG1ldGEpICovXG4gIHB1YmxpYyBnZXQgZnVsbCgpOiBPYnNlcnZhYmxlPFtUW10sIGJvb2xlYW4sIElRdWVyeU1ldGFdPiB7XG4gICAgaWYgKCF0aGlzLl9mdWxsKSB7XG4gICAgICB0aGlzLl9mdWxsID0gY29tYmluZUxhdGVzdChbdGhpcy5yZXN1bHRzLCB0aGlzLmxvYWRpbmcsIHRoaXMubWV0YV0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZnVsbC5waXBlKHNoYXJlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjdXJyZW50IGZpbHRlciBkYXRhLiBOdWxsIG9yIHVuZGVmaW5lZCB2YWx1ZXMgYXJlIHJlbW92ZWQgZnJvbSBmaWx0ZXIgZGF0YS5cbiAgICogQHBhcmFtIHBhcmFtcyBmaWx0ZXIgZGF0YVxuICAgKiBAcGFyYW0gdXBkYXRlIGJvb2xlYW4gdG8gdXBkYXRlIGZpbHRlciBkYXRhIGluc3RlYWQgb2YgcmVjcmVhdGluZyBpdCBmcm9tIHNjcmF0Y2hcbiAgICovXG4gIHB1YmxpYyBmaWx0ZXIocGFyYW1zOiBGaWx0ZXJEYXRhID0ge30sIHVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlKTogUXVlcnlzZXQ8VD4ge1xuICAgIGlmICghdXBkYXRlKSB7XG4gICAgICB0aGlzLmZpbHRlckRhdGEgPSB7fTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcbiAgICAgIGlmIChwYXJhbXNba10gPT09IHVuZGVmaW5lZCB8fCBwYXJhbXNba10gPT09IG51bGwpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuZmlsdGVyRGF0YVtrXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YVtrXSA9IHBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHNvcnRpbmcgcGFyYW1ldGVycywgbGlzdCBvZiBzdHJpbmdzIGdpdmluZyBzb3J0IHBhcmFtZXRlcnMgZS5nLiBzb3J0KFwiK25hbWVcIiwgXCItaWRcIikuXG4gICAqIEBwYXJhbSBzb3J0aW5nIHN0cmluZ3Mgb2Ygc29ydCBwYXJhbWV0ZXJzXG4gICAqL1xuICBwdWJsaWMgc29ydCguLi5zb3J0aW5nOiBzdHJpbmdbXSk6IFF1ZXJ5c2V0PFQ+IHtcbiAgICB0aGlzLnNvcnREYXRhID0gc29ydGluZztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgcGFnZSBzaXplLlxuICAgKiBAcGFyYW0gcGFnZVNpemUgcmVxdWlyZWQgcGFnZSBzaXplXG4gICAqL1xuICBwdWJsaWMgcGFnaW5hdGVCeShwYWdlU2l6ZTogbnVtYmVyID0gMjApOiBRdWVyeXNldDxUPiB7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuICAgKiBAcGFyYW0gcGFnZSByZXF1aXJlZCBwcWdlXG4gICAqIEBwYXJhbSBmcmFnbWVudCBUT0RPOiBmcmFnbWVudCB1c2FnZSBmb3Igcm91dGVyIHVzYWdlXG4gICAqL1xuICBwdWJsaWMgc2V0UGFnZShwYWdlOiBudW1iZXIgPSAxLCBmcmFnbWVudD86IHN0cmluZyk6IFF1ZXJ5c2V0PFQ+IHtcbiAgICBpZiAocGFnZSAhPT0gdGhpcy5wYWdlKSB7XG4gICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xuICAgICAgLy8gaWYgKHRoaXMub3B0aW9ucy5yb3V0ZXIpIHtcbiAgICAgIC8vICAgLy8gVE9ETzogY2hlY2sgYW5kIGZpeCB1c2FnZSBvZiBmcmFnbWVudC9xdWVyeSBwYXJhbXNcbiAgICAgIC8vICAgY29uc3QgZnJhZyA9IGZyYWdtZW50XG4gICAgICAvLyAgICAgPyBmcmFnbWVudFxuICAgICAgLy8gICAgIDogdGhpcy5vcHRpb25zLmhhc2ggfHwgdGhpcy5vcHRpb25zLm5hbWU7XG4gICAgICAvLyAgIGNvbnN0IF8gPSB0aGlzLm9wdGlvbnMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAvLyAgICAgcXVlcnlQYXJhbXM6IHsgcGFnZTogcGFnZS50b1N0cmluZygpIH0sXG4gICAgICAvLyAgICAgZnJhZ21lbnQ6IGZyYWcsXG4gICAgICAvLyAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgIC8vICAgfSk7XG4gICAgICAvLyB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldEZpZWxkcyhmaWVsZHM6IHN0cmluZ1tdKTogUXVlcnlzZXQ8VD4ge1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldFF1ZXJ5UGFyYW1zKCk6IEZpbHRlckRhdGEge1xuICAgIGNvbnN0IGY6IEZpbHRlckRhdGEgPSB7fTtcbiAgICBPYmplY3QuYXNzaWduKGYsIHRoaXMuZmlsdGVyRGF0YSk7XG4gICAgaWYgKHRoaXMuc29ydERhdGEubGVuZ3RoKSB7XG4gICAgICBmWydvcmRlcmluZyddID0gdGhpcy5zb3J0RGF0YS5qb2luKCcsJyk7XG4gICAgfVxuICAgIGZbJ3BhZ2Vfc2l6ZSddID0gdGhpcy5wYWdlU2l6ZTtcbiAgICBmWydwYWdlJ10gPSB0aGlzLnBhZ2U7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5lbWl0RmllbGRzICYmIHRoaXMuZmllbGRzLmxlbmd0aCkge1xuICAgICAgZlsnZmllbGRzJ10gPSB0aGlzLmZpZWxkcy5qb2luKCcsJyk7XG4gICAgfVxuICAgIHJldHVybiBmO1xuICB9XG5cbiAgcHVibGljIGdldChyZWZyZXNoOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgY29uc29sZS5sb2coJ3F1ZXJ5c2V0OmdldCcsIHRoaXMsIHJlZnJlc2gpO1xuICAgIGlmICghcmVmcmVzaCAmJiAhdGhpcy5fcHJpc3RpbmUpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3VsdHM7XG4gICAgfVxuICAgIHRoaXMuX2xvYWRpbmcubmV4dCh0cnVlKTtcbiAgICByZXR1cm4gdGhpcy5fY29sbFxuICAgICAgLnJhdzxJUXVlcnlGdWxsUmVzcG9uc2U8VD4+KHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgcGFyYW1zOiB0aGlzLmdldFF1ZXJ5UGFyYW1zKCkgYXMgYW55LFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIC8vIFByb2Nlc3MgcmVzdWx0c1xuICAgICAgICAgIHRoaXMuX21ldGEubmV4dCh7IG5hdjogcmVzdWx0Lm5hdiwgcGFyYW1ldGVyczogcmVzdWx0LnBhcmFtZXRlcnMgfSk7XG4gICAgICAgICAgY29uc3Qgb3V0OiBUW10gPSBbXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHIgb2YgcmVzdWx0LnJlc3VsdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IG0gPSB0aGlzLl9jb2xsLmZyb21Kc29uKHIpO1xuICAgICAgICAgICAgb3V0LnB1c2gobSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3ByaXN0aW5lID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fbG9hZGluZy5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLl9yZXN1bHRzLm5leHQob3V0KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZXN1bHRzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -52,18 +52,26 @@ export class DateFieldManager extends BaseFieldManager {
52
52
  return v;
53
53
  }
54
54
  fromJson(data) {
55
- if (data === null) {
55
+ if (data === null || data === undefined) {
56
56
  return null;
57
57
  }
58
- return new Date(data);
58
+ const date = new Date(data);
59
+ if (date instanceof Date && !isNaN(date)) {
60
+ return date;
61
+ }
62
+ return null;
59
63
  }
60
64
  toJson(data) {
61
65
  if (data === null || data === undefined) {
62
66
  return null;
63
67
  }
64
- // if (typeof data === "string") {
65
- // return data;
66
- // }
68
+ if (typeof data === 'string') {
69
+ const d = this.fromJson(data);
70
+ if (d === null) {
71
+ return null;
72
+ }
73
+ data = d;
74
+ }
67
75
  return `${data.getUTCFullYear()}-${data.getUTCMonth() + 1}-${data.getUTCDate()}`;
68
76
  }
69
77
  /**
@@ -95,6 +103,13 @@ export class DatetimeFieldManager extends DateFieldManager {
95
103
  if (data === null || data === undefined) {
96
104
  return null;
97
105
  }
106
+ if (typeof data === 'string') {
107
+ const d = this.fromJson(data);
108
+ if (d === null) {
109
+ return null;
110
+ }
111
+ data = d;
112
+ }
98
113
  try {
99
114
  return data.toISOString();
100
115
  }
@@ -106,4 +121,4 @@ export class DatetimeFieldManager extends DateFieldManager {
106
121
  }
107
122
  export const dateField = (updates = {}) => genericDataField(updates, 'dateField', DateFieldManager);
108
123
  export const datetimeField = (updates = {}) => genericDataField(updates, 'datetimeField', DatetimeFieldManager);
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGF0YS9maWVsZHMvZGF0ZXRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFrQixNQUFNLFFBQVEsQ0FBQztBQWM1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFVLEVBQWUsRUFBRTtJQUNyRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTVCLE9BQU8sV0FBVyxHQUFHLGNBQWM7WUFDakMsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUM7Z0JBQ0UsT0FBTyxFQUFFO29CQUNQLGNBQWMsRUFBRSxjQUFjO29CQUM5QixNQUFNLEVBQUUsV0FBVztpQkFDcEI7YUFDRixDQUFDO0lBQ1IsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBVSxFQUFlLEVBQUU7SUFDckQsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0QsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztRQUU1QixPQUFPLFdBQVcsR0FBRyxjQUFjO1lBQ2pDLENBQUMsQ0FBQyxJ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O0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsVUFBOEIsRUFBRSxFQUFFLEVBQUUsQ0FDNUQsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQWtDLEVBQUUsRUFBRSxFQUFFLENBQ3BFLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGaWVsZE1hbmFnZXIsIGdlbmVyaWNEYXRhRmllbGQsIElGaWVsZE1ldGFkYXRhIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7XG4gIERJU1BFRElUX0RJU1BMQVlfVFlQRVMsXG4gIERJU1BFRElUX0VESVRPUl9UWVBFUyxcbn0gZnJvbSAnLi4vLi4vZGlzcGVkaXQvZGlzcGVkaXQvZGlzcGVkaXQuY29uc3RhbnRzJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVGaWVsZE1ldGFkYXRhIGV4dGVuZHMgSUZpZWxkTWV0YWRhdGE8RGF0ZSB8IG51bGw+IHtcbiAgYXV0b05vdz86IGJvb2xlYW47XG4gIGF1dG9Ob3dBZGQ/OiBib29sZWFuO1xuICBtaW4/OiBEYXRlO1xuICBtYXg/OiBEYXRlO1xufVxuXG5leHBvcnQgY29uc3QgZGF0ZU1pbmltdW0gPSAoZGF0ZTogRGF0ZSk6IFZhbGlkYXRvckZuID0+IHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbERhdGUgPSBuZXcgRGF0ZShjb250cm9sLnZhbHVlKTtcblxuICAgIGNvbnN0IHZhbGlkYXRpb25EYXRlID0gZGF0ZTtcblxuICAgIHJldHVybiBjb250cm9sRGF0ZSA+IHZhbGlkYXRpb25EYXRlXG4gICAgICA/IG51bGxcbiAgICAgIDoge1xuICAgICAgICAgIG1pbkRhdGU6IHtcbiAgICAgICAgICAgICdkYXRlLW1pbmltdW0nOiB2YWxpZGF0aW9uRGF0ZSxcbiAgICAgICAgICAgIGFjdHVhbDogY29udHJvbERhdGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBkYXRlTWF4aW11bSA9IChkYXRlOiBEYXRlKTogVmFsaWRhdG9yRm4gPT4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbERhdGUgPSBuZXcgRGF0ZShjb250cm9sLnZhbHVlKTtcbiAgICBjb25zdCB2YWxpZGF0aW9uRGF0ZSA9IGRhdGU7XG5cbiAgICByZXR1cm4gY29udHJvbERhdGUgPCB2YWxpZGF0aW9uRGF0ZVxuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgICBtYXhEYXRlOiB7XG4gICAgICAgICAgICAnZGF0ZS1tYXhpbXVtJzogdmFsaWRhdGlvbkRhdGUsXG4gICAgICAgICAgICBhY3R1YWw6IGNvbnRyb2xEYXRlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRldGltZUZpZWxkTWV0YWRhdGEgZXh0ZW5kcyBJRGF0ZUZpZWxkTWV0YWRhdGEge1xuICB0aW1lem9uZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERhdGVGaWVsZE1hbmFnZXIgZXh0ZW5kcyBCYXNlRmllbGRNYW5hZ2VyPERhdGUgfCBudWxsPiB7XG4gIHB1YmxpYyBhdXRvTm93ID0gZmFsc2U7XG4gIHB1YmxpYyBhdXRvTm93QWRkID0gZmFsc2U7XG4gIHB1YmxpYyBtaW4/OiBEYXRlO1xuICBwdWJsaWMgbWF4PzogRGF0ZTtcbiAgcHVibGljIG92ZXJyaWRlIGVkaXRvclR5cGU6IERJU1BFRElUX0VESVRPUl9UWVBFUyA9ICdpbnB1dC5kYXRlJztcbiAgcHVibGljIG92ZXJyaWRlIGRpc3BsYXlUeXBlOiBESVNQRURJVF9ESVNQTEFZX1RZUEVTID0gJ2RhdGUnO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2ID0gc3VwZXIudmFsaWRhdG9ycztcbiAgICBpZiAodGhpcy5taW4pIHtcbiAgICAgIHYucHVzaChkYXRlTWluaW11bSh0aGlzLm1pbikpO1xuICAgIH1cbiAgICBpZiAodGhpcy5tYXgpIHtcbiAgICAgIHYucHVzaChkYXRlTWF4aW11bSh0aGlzLm1heCkpO1xuICAgIH1cbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmcm9tSnNvbihkYXRhOiBhbnkpOiBEYXRlIHwgbnVsbCB7XG4gICAgaWYgKGRhdGEgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IERhdGUoZGF0YSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdG9Kc29uKGRhdGE6IERhdGUgfCBudWxsKTogbnVsbCB8IHN0cmluZyB7XG4gICAgaWYgKGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgLy8gaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgLy8gICByZXR1cm4gZGF0YTtcbiAgICAvLyB9XG4gICAgcmV0dXJuIGAke2RhdGEuZ2V0VVRDRnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGEuZ2V0VVRDTW9udGgoKSArIDFcbiAgICB9LSR7ZGF0YS5nZXRVVENEYXRlKCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRlZmF1bHQgdmFsdWUgZm9yIG1vZGVsLCB1c2luZyBhcmdzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIGFyZ3NcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldERlZmF1bHRWYWx1ZShhcmdzOiBhbnkgPSB7fSk6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlKGFyZ3MpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiB0aGlzLmRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBGaWVsZCAke3RoaXMubmFtZX0gOiBubyBkZWZhdWx0IHZhbHVlIGZvciByZXF1aXJlZCBmaWVsZGBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5hdXRvTm93IHx8IHRoaXMuYXV0b05vd0FkZCA/IG5ldyBEYXRlKCkgOiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGV0aW1lRmllbGRNYW5hZ2VyXG4gIGV4dGVuZHMgRGF0ZUZpZWxkTWFuYWdlclxuICBpbXBsZW1lbnRzIElEYXRldGltZUZpZWxkTWV0YWRhdGFcbntcbiAgcHVibGljIHRpbWV6b25lID0gJ0V1cm9wZS9QYXJpcyc7XG4gIHB1YmxpYyBvdmVycmlkZSBlZGl0b3JUeXBlOiBESVNQRURJVF9FRElUT1JfVFlQRVMgPSAnaW5wdXQuZGF0ZXRpbWUnO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzcGxheVR5cGU6IERJU1BFRElUX0RJU1BMQVlfVFlQRVMgPSAnZGF0ZXRpbWUnO1xuXG4gIHB1YmxpYyBvdmVycmlkZSB0b0pzb24oZGF0YTogRGF0ZSk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmIChkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZGF0YS50b0lTT1N0cmluZygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSwgZGF0YSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGRhdGVGaWVsZCA9ICh1cGRhdGVzOiBJRGF0ZUZpZWxkTWV0YWRhdGEgPSB7fSkgPT5cbiAgZ2VuZXJpY0RhdGFGaWVsZCh1cGRhdGVzLCAnZGF0ZUZpZWxkJywgRGF0ZUZpZWxkTWFuYWdlcik7XG5cbmV4cG9ydCBjb25zdCBkYXRldGltZUZpZWxkID0gKHVwZGF0ZXM6IElEYXRldGltZUZpZWxkTWV0YWRhdGEgPSB7fSkgPT5cbiAgZ2VuZXJpY0RhdGFGaWVsZCh1cGRhdGVzLCAnZGF0ZXRpbWVGaWVsZCcsIERhdGV0aW1lRmllbGRNYW5hZ2VyKTtcbiJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGF0YS9maWVsZHMvZGF0ZXRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFrQixNQUFNLFFBQVEsQ0FBQztBQWM1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFVLEVBQWUsRUFBRTtJQUNyRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTVCLE9BQU8sV0FBVyxHQUFHLGNBQWM7WUFDakMsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUM7Z0JBQ0UsT0FBTyxFQUFFO29CQUNQLGNBQWMsRUFBRSxjQUFjO29CQUM5QixNQUFNLEVBQUUsV0FBVztpQkFDcEI7YUFDRixDQUFDO0lBQ1IsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBVSxFQUFlLEVBQUU7SUFDckQsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0QsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztRQUU1QixPQUFPLFdBQVcsR0FBRyxjQUFjO1lBQ2pDLENBQUMsQ0FBQyxJ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QVUsQ0FBQztJQW9CbkUsQ0FBQztJQWxCaUIsTUFBTSxDQUFDLElBQVU7UUFDL0IsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNkLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxJQUFJO1lBQ0YsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDM0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxVQUE4QixFQUFFLEVBQUUsRUFBRSxDQUM1RCxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsVUFBa0MsRUFBRSxFQUFFLEVBQUUsQ0FDcEUsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUZpZWxkTWFuYWdlciwgZ2VuZXJpY0RhdGFGaWVsZCwgSUZpZWxkTWV0YWRhdGEgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHtcbiAgRElTUEVESVRfRElTUExBWV9UWVBFUyxcbiAgRElTUEVESVRfRURJVE9SX1RZUEVTLFxufSBmcm9tICcuLi8uLi9kaXNwZWRpdC9kaXNwZWRpdC9kaXNwZWRpdC5jb25zdGFudHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZUZpZWxkTWV0YWRhdGEgZXh0ZW5kcyBJRmllbGRNZXRhZGF0YTxEYXRlIHwgbnVsbD4ge1xuICBhdXRvTm93PzogYm9vbGVhbjtcbiAgYXV0b05vd0FkZD86IGJvb2xlYW47XG4gIG1pbj86IERhdGU7XG4gIG1heD86IERhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBkYXRlTWluaW11bSA9IChkYXRlOiBEYXRlKTogVmFsaWRhdG9yRm4gPT4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjb250cm9sRGF0ZSA9IG5ldyBEYXRlKGNvbnRyb2wudmFsdWUpO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvbkRhdGUgPSBkYXRlO1xuXG4gICAgcmV0dXJuIGNvbnRyb2xEYXRlID4gdmFsaWRhdGlvbkRhdGVcbiAgICAgID8gbnVsbFxuICAgICAgOiB7XG4gICAgICAgICAgbWluRGF0ZToge1xuICAgICAgICAgICAgJ2RhdGUtbWluaW11bSc6IHZhbGlkYXRpb25EYXRlLFxuICAgICAgICAgICAgYWN0dWFsOiBjb250cm9sRGF0ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRhdGVNYXhpbXVtID0gKGRhdGU6IERhdGUpOiBWYWxpZGF0b3JGbiA9PiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmIChjb250cm9sLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBjb250cm9sRGF0ZSA9IG5ldyBEYXRlKGNvbnRyb2wudmFsdWUpO1xuICAgIGNvbnN0IHZhbGlkYXRpb25EYXRlID0gZGF0ZTtcblxuICAgIHJldHVybiBjb250cm9sRGF0ZSA8IHZhbGlkYXRpb25EYXRlXG4gICAgICA/IG51bGxcbiAgICAgIDoge1xuICAgICAgICAgIG1heERhdGU6IHtcbiAgICAgICAgICAgICdkYXRlLW1heGltdW0nOiB2YWxpZGF0aW9uRGF0ZSxcbiAgICAgICAgICAgIGFjdHVhbDogY29udHJvbERhdGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGV0aW1lRmllbGRNZXRhZGF0YSBleHRlbmRzIElEYXRlRmllbGRNZXRhZGF0YSB7XG4gIHRpbWV6b25lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkTWFuYWdlciBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8RGF0ZSB8IG51bGw+IHtcbiAgcHVibGljIGF1dG9Ob3cgPSBmYWxzZTtcbiAgcHVibGljIGF1dG9Ob3dBZGQgPSBmYWxzZTtcbiAgcHVibGljIG1pbj86IERhdGU7XG4gIHB1YmxpYyBtYXg/OiBEYXRlO1xuICBwdWJsaWMgb3ZlcnJpZGUgZWRpdG9yVHlwZTogRElTUEVESVRfRURJVE9SX1RZUEVTID0gJ2lucHV0LmRhdGUnO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzcGxheVR5cGU6IERJU1BFRElUX0RJU1BMQVlfVFlQRVMgPSAnZGF0ZSc7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCB2YWxpZGF0b3JzKCk6IFZhbGlkYXRvckZuW10ge1xuICAgIGNvbnN0IHYgPSBzdXBlci52YWxpZGF0b3JzO1xuICAgIGlmICh0aGlzLm1pbikge1xuICAgICAgdi5wdXNoKGRhdGVNaW5pbXVtKHRoaXMubWluKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1heCkge1xuICAgICAgdi5wdXNoKGRhdGVNYXhpbXVtKHRoaXMubWF4KSk7XG4gICAgfVxuICAgIHJldHVybiB2O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZyb21Kc29uKGRhdGE6IGFueSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZGF0YSk7XG4gICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkYXRlIGFzIGFueSkpIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b0pzb24oZGF0YTogRGF0ZSB8IHN0cmluZyB8IG51bGwpOiBudWxsIHwgc3RyaW5nIHtcbiAgICBpZiAoZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBkID0gdGhpcy5mcm9tSnNvbihkYXRhKTtcbiAgICAgIGlmIChkID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgZGF0YSA9IGQ7XG4gICAgfVxuICAgIHJldHVybiBgJHtkYXRhLmdldFVUQ0Z1bGxZZWFyKCl9LSR7XG4gICAgICBkYXRhLmdldFVUQ01vbnRoKCkgKyAxXG4gICAgfS0ke2RhdGEuZ2V0VVRDRGF0ZSgpfWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBkZWZhdWx0IHZhbHVlIGZvciBtb2RlbCwgdXNpbmcgYXJncyBpZiBuZWVkZWQuXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXREZWZhdWx0VmFsdWUoYXJnczogYW55ID0ge30pOiBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRWYWx1ZShhcmdzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy5kZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmllbGQgJHt0aGlzLm5hbWV9IDogbm8gZGVmYXVsdCB2YWx1ZSBmb3IgcmVxdWlyZWQgZmllbGRgXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0b05vdyB8fCB0aGlzLmF1dG9Ob3dBZGQgPyBuZXcgRGF0ZSgpIDogbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRldGltZUZpZWxkTWFuYWdlclxuICBleHRlbmRzIERhdGVGaWVsZE1hbmFnZXJcbiAgaW1wbGVtZW50cyBJRGF0ZXRpbWVGaWVsZE1ldGFkYXRhXG57XG4gIHB1YmxpYyB0aW1lem9uZSA9ICdFdXJvcGUvUGFyaXMnO1xuICBwdWJsaWMgb3ZlcnJpZGUgZWRpdG9yVHlwZTogRElTUEVESVRfRURJVE9SX1RZUEVTID0gJ2lucHV0LmRhdGV0aW1lJztcbiAgcHVibGljIG92ZXJyaWRlIGRpc3BsYXlUeXBlOiBESVNQRURJVF9ESVNQTEFZX1RZUEVTID0gJ2RhdGV0aW1lJztcblxuICBwdWJsaWMgb3ZlcnJpZGUgdG9Kc29uKGRhdGE6IERhdGUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBkID0gdGhpcy5mcm9tSnNvbihkYXRhKTtcbiAgICAgIGlmIChkID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgZGF0YSA9IGQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZGF0YS50b0lTT1N0cmluZygpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSwgZGF0YSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGRhdGVGaWVsZCA9ICh1cGRhdGVzOiBJRGF0ZUZpZWxkTWV0YWRhdGEgPSB7fSkgPT5cbiAgZ2VuZXJpY0RhdGFGaWVsZCh1cGRhdGVzLCAnZGF0ZUZpZWxkJywgRGF0ZUZpZWxkTWFuYWdlcik7XG5cbmV4cG9ydCBjb25zdCBkYXRldGltZUZpZWxkID0gKHVwZGF0ZXM6IElEYXRldGltZUZpZWxkTWV0YWRhdGEgPSB7fSkgPT5cbiAgZ2VuZXJpY0RhdGFGaWVsZCh1cGRhdGVzLCAnZGF0ZXRpbWVGaWVsZCcsIERhdGV0aW1lRmllbGRNYW5hZ2VyKTtcbiJdfQ==
@@ -1,6 +1,11 @@
1
1
  import { BaseFieldManager, genericDataField, } from './base';
2
2
  import { Validators } from '@angular/forms';
3
3
  export class IntegerFieldManager extends BaseFieldManager {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.displayType = 'text';
7
+ this.editorType = 'input.number';
8
+ }
4
9
  get validators() {
5
10
  const v = super.getValidators();
6
11
  if (this.min !== undefined) {
@@ -13,6 +18,11 @@ export class IntegerFieldManager extends BaseFieldManager {
13
18
  }
14
19
  }
15
20
  export class FloatFieldManager extends IntegerFieldManager {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.displayType = 'text';
24
+ this.editorType = 'input.number';
25
+ }
16
26
  }
17
27
  export class DecimalFieldManager extends IntegerFieldManager {
18
28
  constructor() {
@@ -25,4 +35,4 @@ export class DecimalFieldManager extends IntegerFieldManager {
25
35
  export const integerField = (updates = {}) => genericDataField(updates, 'integerField', IntegerFieldManager);
26
36
  export const floatField = (updates = {}) => genericDataField(updates, 'floatField', FloatFieldManager);
27
37
  export const decimalField = (updates = { factor: 100 }) => genericDataField(updates, 'decimalField', DecimalFieldManager);
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2ZpZWxkcy9udW1iZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFFaEIsZ0JBQWdCLEdBRWpCLE1BQU0sUUFBUSxDQUFDO0FBS2hCLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWtCekQsTUFBTSxPQUFPLG1CQUNYLFNBQVEsZ0JBQXdCO0lBTWhDLElBQW9CLFVBQVU7UUFDNUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFDWCxTQUFRLG1CQUFtQjtDQUNNO0FBRW5DLE1BQU0sT0FBTyxtQkFDWCxTQUFRLG1CQUFtQjtJQUQ3Qjs7UUFLa0IsZ0JBQVcsR0FBMkIsU0FBUyxDQUFDO1FBQ2hELGVBQVUsR0FBMEIsZUFBZSxDQUFDO0lBQ3RFLENBQUM7Q0FBQTtBQUVELDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsVUFBaUMsRUFBRSxFQUNqQixFQUFFLENBQ3BCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsVUFBK0IsRUFBRSxFQUNmLEVBQUUsQ0FDcEIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUMxQixVQUFpQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFDOUIsRUFBRSxDQUNwQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlRmllbGRNYW5hZ2VyLFxuICBGaWVsZERlY29yYXRvckZuLFxuICBnZW5lcmljRGF0YUZpZWxkLFxuICBJRmllbGRNZXRhZGF0YSxcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7XG4gIERJU1BFRElUX0RJU1BMQVlfVFlQRVMsXG4gIERJU1BFRElUX0VESVRPUl9UWVBFUyxcbn0gZnJvbSAnLi4vLi4vZGlzcGVkaXQvZGlzcGVkaXQvZGlzcGVkaXQuY29uc3RhbnRzJztcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlZ2VyRmllbGRNZXRhZGF0YSBleHRlbmRzIElGaWVsZE1ldGFkYXRhPG51bWJlcj4ge1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRmxvYXRGaWVsZE1ldGFkYXRhIGV4dGVuZHMgSUZpZWxkTWV0YWRhdGE8bnVtYmVyPiB7XG4gIG1pbj86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZWNpbWFsRmllbGRNZXRhZGF0YSBleHRlbmRzIElGaWVsZE1ldGFkYXRhPG51bWJlcj4ge1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbiAgZmFjdG9yPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZWdlckZpZWxkTWFuYWdlclxuICBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8bnVtYmVyPlxuICBpbXBsZW1lbnRzIElJbnRlZ2VyRmllbGRNZXRhZGF0YVxue1xuICBwdWJsaWMgbWluPzogbnVtYmVyO1xuICBwdWJsaWMgbWF4PzogbnVtYmVyO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2ID0gc3VwZXIuZ2V0VmFsaWRhdG9ycygpO1xuICAgIGlmICh0aGlzLm1pbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB2LnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5taW4pKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHYucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLm1heCkpO1xuICAgIH1cbiAgICByZXR1cm4gdjtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmxvYXRGaWVsZE1hbmFnZXJcbiAgZXh0ZW5kcyBJbnRlZ2VyRmllbGRNYW5hZ2VyXG4gIGltcGxlbWVudHMgSUZsb2F0RmllbGRNZXRhZGF0YSB7fVxuXG5leHBvcnQgY2xhc3MgRGVjaW1hbEZpZWxkTWFuYWdlclxuICBleHRlbmRzIEludGVnZXJGaWVsZE1hbmFnZXJcbiAgaW1wbGVtZW50cyBJRGVjaW1hbEZpZWxkTWV0YWRhdGFcbntcbiAgcHVibGljIGZhY3Rvcj86IG51bWJlcjtcbiAgcHVibGljIG92ZXJyaWRlIGRpc3BsYXlUeXBlOiBESVNQRURJVF9ESVNQTEFZX1RZUEVTID0gJ2RlY2ltYWwnO1xuICBwdWJsaWMgb3ZlcnJpZGUgZWRpdG9yVHlwZTogRElTUEVESVRfRURJVE9SX1RZUEVTID0gJ2lucHV0LmRlY2ltYWwnO1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5leHBvcnQgY29uc3QgaW50ZWdlckZpZWxkID0gKFxuICB1cGRhdGVzOiBJSW50ZWdlckZpZWxkTWV0YWRhdGEgPSB7fVxuKTogRmllbGREZWNvcmF0b3JGbiA9PlxuICBnZW5lcmljRGF0YUZpZWxkKHVwZGF0ZXMsICdpbnRlZ2VyRmllbGQnLCBJbnRlZ2VyRmllbGRNYW5hZ2VyKTtcblxuZXhwb3J0IGNvbnN0IGZsb2F0RmllbGQgPSAoXG4gIHVwZGF0ZXM6IElGbG9hdEZpZWxkTWV0YWRhdGEgPSB7fVxuKTogRmllbGREZWNvcmF0b3JGbiA9PlxuICBnZW5lcmljRGF0YUZpZWxkKHVwZGF0ZXMsICdmbG9hdEZpZWxkJywgRmxvYXRGaWVsZE1hbmFnZXIpO1xuXG5leHBvcnQgY29uc3QgZGVjaW1hbEZpZWxkID0gKFxuICB1cGRhdGVzOiBJRGVjaW1hbEZpZWxkTWV0YWRhdGEgPSB7IGZhY3RvcjogMTAwIH1cbik6IEZpZWxkRGVjb3JhdG9yRm4gPT5cbiAgZ2VuZXJpY0RhdGFGaWVsZCh1cGRhdGVzLCAnZGVjaW1hbEZpZWxkJywgRGVjaW1hbEZpZWxkTWFuYWdlcik7XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2ZpZWxkcy9udW1iZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFFaEIsZ0JBQWdCLEdBRWpCLE1BQU0sUUFBUSxDQUFDO0FBS2hCLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWtCekQsTUFBTSxPQUFPLG1CQUNYLFNBQVEsZ0JBQXdCO0lBRGxDOztRQUlrQixnQkFBVyxHQUEyQixNQUFNLENBQUM7UUFDN0MsZUFBVSxHQUEwQixjQUFjLENBQUM7SUFlckUsQ0FBQztJQVZDLElBQW9CLFVBQVU7UUFDNUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRTtZQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFDWCxTQUFRLG1CQUFtQjtJQUQ3Qjs7UUFJa0IsZ0JBQVcsR0FBMkIsTUFBTSxDQUFDO1FBQzdDLGVBQVUsR0FBMEIsY0FBYyxDQUFDO0lBQ3JFLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxtQkFDWCxTQUFRLG1CQUFtQjtJQUQ3Qjs7UUFLa0IsZ0JBQVcsR0FBMkIsU0FBUyxDQUFDO1FBQ2hELGVBQVUsR0FBMEIsZUFBZSxDQUFDO0lBQ3RFLENBQUM7Q0FBQTtBQUVELDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsVUFBaUMsRUFBRSxFQUNqQixFQUFFLENBQ3BCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsVUFBK0IsRUFBRSxFQUNmLEVBQUUsQ0FDcEIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUMxQixVQUFpQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFDOUIsRUFBRSxDQUNwQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlRmllbGRNYW5hZ2VyLFxuICBGaWVsZERlY29yYXRvckZuLFxuICBnZW5lcmljRGF0YUZpZWxkLFxuICBJRmllbGRNZXRhZGF0YSxcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7XG4gIERJU1BFRElUX0RJU1BMQVlfVFlQRVMsXG4gIERJU1BFRElUX0VESVRPUl9UWVBFUyxcbn0gZnJvbSAnLi4vLi4vZGlzcGVkaXQvZGlzcGVkaXQvZGlzcGVkaXQuY29uc3RhbnRzJztcbmltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlZ2VyRmllbGRNZXRhZGF0YSBleHRlbmRzIElGaWVsZE1ldGFkYXRhPG51bWJlcj4ge1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRmxvYXRGaWVsZE1ldGFkYXRhIGV4dGVuZHMgSUZpZWxkTWV0YWRhdGE8bnVtYmVyPiB7XG4gIG1pbj86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZWNpbWFsRmllbGRNZXRhZGF0YSBleHRlbmRzIElGaWVsZE1ldGFkYXRhPG51bWJlcj4ge1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbiAgZmFjdG9yPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZWdlckZpZWxkTWFuYWdlclxuICBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8bnVtYmVyPlxuICBpbXBsZW1lbnRzIElJbnRlZ2VyRmllbGRNZXRhZGF0YVxue1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzcGxheVR5cGU6IERJU1BFRElUX0RJU1BMQVlfVFlQRVMgPSAndGV4dCc7XG4gIHB1YmxpYyBvdmVycmlkZSBlZGl0b3JUeXBlOiBESVNQRURJVF9FRElUT1JfVFlQRVMgPSAnaW5wdXQubnVtYmVyJztcblxuICBwdWJsaWMgbWluPzogbnVtYmVyO1xuICBwdWJsaWMgbWF4PzogbnVtYmVyO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2ID0gc3VwZXIuZ2V0VmFsaWRhdG9ycygpO1xuICAgIGlmICh0aGlzLm1pbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB2LnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5taW4pKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHYucHVzaChWYWxpZGF0b3JzLm1heCh0aGlzLm1heCkpO1xuICAgIH1cbiAgICByZXR1cm4gdjtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmxvYXRGaWVsZE1hbmFnZXJcbiAgZXh0ZW5kcyBJbnRlZ2VyRmllbGRNYW5hZ2VyXG4gIGltcGxlbWVudHMgSUZsb2F0RmllbGRNZXRhZGF0YVxue1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzcGxheVR5cGU6IERJU1BFRElUX0RJU1BMQVlfVFlQRVMgPSAndGV4dCc7XG4gIHB1YmxpYyBvdmVycmlkZSBlZGl0b3JUeXBlOiBESVNQRURJVF9FRElUT1JfVFlQRVMgPSAnaW5wdXQubnVtYmVyJztcbn1cblxuZXhwb3J0IGNsYXNzIERlY2ltYWxGaWVsZE1hbmFnZXJcbiAgZXh0ZW5kcyBJbnRlZ2VyRmllbGRNYW5hZ2VyXG4gIGltcGxlbWVudHMgSURlY2ltYWxGaWVsZE1ldGFkYXRhXG57XG4gIHB1YmxpYyBmYWN0b3I/OiBudW1iZXI7XG4gIHB1YmxpYyBvdmVycmlkZSBkaXNwbGF5VHlwZTogRElTUEVESVRfRElTUExBWV9UWVBFUyA9ICdkZWNpbWFsJztcbiAgcHVibGljIG92ZXJyaWRlIGVkaXRvclR5cGU6IERJU1BFRElUX0VESVRPUl9UWVBFUyA9ICdpbnB1dC5kZWNpbWFsJztcbn1cblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuZXhwb3J0IGNvbnN0IGludGVnZXJGaWVsZCA9IChcbiAgdXBkYXRlczogSUludGVnZXJGaWVsZE1ldGFkYXRhID0ge31cbik6IEZpZWxkRGVjb3JhdG9yRm4gPT5cbiAgZ2VuZXJpY0RhdGFGaWVsZCh1cGRhdGVzLCAnaW50ZWdlckZpZWxkJywgSW50ZWdlckZpZWxkTWFuYWdlcik7XG5cbmV4cG9ydCBjb25zdCBmbG9hdEZpZWxkID0gKFxuICB1cGRhdGVzOiBJRmxvYXRGaWVsZE1ldGFkYXRhID0ge31cbik6IEZpZWxkRGVjb3JhdG9yRm4gPT5cbiAgZ2VuZXJpY0RhdGFGaWVsZCh1cGRhdGVzLCAnZmxvYXRGaWVsZCcsIEZsb2F0RmllbGRNYW5hZ2VyKTtcblxuZXhwb3J0IGNvbnN0IGRlY2ltYWxGaWVsZCA9IChcbiAgdXBkYXRlczogSURlY2ltYWxGaWVsZE1ldGFkYXRhID0geyBmYWN0b3I6IDEwMCB9XG4pOiBGaWVsZERlY29yYXRvckZuID0+XG4gIGdlbmVyaWNEYXRhRmllbGQodXBkYXRlcywgJ2RlY2ltYWxGaWVsZCcsIERlY2ltYWxGaWVsZE1hbmFnZXIpO1xuIl19
@@ -27,12 +27,13 @@ export class ChoicePipe {
27
27
  return `[${fvalue}] ??`;
28
28
  }
29
29
  }
30
- ChoicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ChoicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
31
- ChoicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: ChoicePipe, name: "choice" });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ChoicePipe, decorators: [{
30
+ ChoicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChoicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
31
+ ChoicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: ChoicePipe, isStandalone: true, name: "choice" });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ChoicePipe, decorators: [{
33
33
  type: Pipe,
34
34
  args: [{
35
35
  name: 'choice',
36
+ standalone: true,
36
37
  }]
37
38
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGlzcGVkaXQvY2hvaWNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVMsQ0FDUCxLQUFRLEVBQ1IsS0FBYSxFQUNiLE9BQWlDLE1BQU07UUFFdkMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxNQUFNLE1BQU0sR0FBSSxLQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ25CLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQztTQUNwQjtRQUNELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsTUFBTSxPQUFPLEdBQUksT0FBZSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsS0FBSyxNQUFNLEVBQUUsSUFBSSxPQUFPLEVBQUU7WUFDeEIsSUFBSSxFQUFFLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRTtnQkFDdkIsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO29CQUNuQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7aUJBQ2hCO3FCQUFNO29CQUNMLE9BQU8sSUFBSSxNQUFNLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUNqQzthQUNGO1NBQ0Y7UUFDRCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7SUFDMUIsQ0FBQzs7dUdBNUJVLFVBQVU7cUdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUh0QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxRQUFRO2lCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vZGF0YS9kYXRhLW1vZGVsJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2hvaWNlJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hvaWNlUGlwZTxUIGV4dGVuZHMgRGF0YU1vZGVsPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IFQsXG4gICAgZmllbGQ6IHN0cmluZyxcbiAgICBtb2RlOiAnY29kZScgfCAnZGVzYycgfCAnYm90aCcgPSAnZGVzYydcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJy0nO1xuICAgIH1cbiAgICBjb25zdCBmdmFsdWUgPSAodmFsdWUgYXMgYW55KVtmaWVsZF07XG4gICAgaWYgKG1vZGUgPT09ICdjb2RlJykge1xuICAgICAgcmV0dXJuIGAke2Z2YWx1ZX1gO1xuICAgIH1cbiAgICBjb25zdCBtYW5hZ2VyID0gdmFsdWUuRk0oZmllbGQpO1xuICAgIGNvbnN0IGNob2ljZXMgPSAobWFuYWdlciBhcyBhbnkpLmNob2ljZXM7XG4gICAgaWYgKCFjaG9pY2VzKSB7XG4gICAgICByZXR1cm4gYCR7ZnZhbHVlfWA7XG4gICAgfVxuICAgIGZvciAoY29uc3QgY2ggb2YgY2hvaWNlcykge1xuICAgICAgaWYgKGNoLnZhbHVlID09PSBmdmFsdWUpIHtcbiAgICAgICAgaWYgKG1vZGUgPT09ICdkZXNjJykge1xuICAgICAgICAgIHJldHVybiBjaC5kZXNjO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBgWyR7ZnZhbHVlfV0gJHtjaC5kZXNjfWA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGBbJHtmdmFsdWV9XSA/P2A7XG4gIH1cbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGlzcGVkaXQvY2hvaWNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFNBQVMsQ0FDUCxLQUFRLEVBQ1IsS0FBYSxFQUNiLE9BQWlDLE1BQU07UUFFdkMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxNQUFNLE1BQU0sR0FBSSxLQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ25CLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQztTQUNwQjtRQUNELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsTUFBTSxPQUFPLEdBQUksT0FBZSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsS0FBSyxNQUFNLEVBQUUsSUFBSSxPQUFPLEVBQUU7WUFDeEIsSUFBSSxFQUFFLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRTtnQkFDdkIsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO29CQUNuQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7aUJBQ2hCO3FCQUFNO29CQUNMLE9BQU8sSUFBSSxNQUFNLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUNqQzthQUNGO1NBQ0Y7UUFDRCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7SUFDMUIsQ0FBQzs7dUdBNUJVLFVBQVU7cUdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUp0QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4uL2RhdGEvZGF0YS1tb2RlbCc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Nob2ljZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob2ljZVBpcGU8VCBleHRlbmRzIERhdGFNb2RlbD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKFxuICAgIHZhbHVlOiBULFxuICAgIGZpZWxkOiBzdHJpbmcsXG4gICAgbW9kZTogJ2NvZGUnIHwgJ2Rlc2MnIHwgJ2JvdGgnID0gJ2Rlc2MnXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuICctJztcbiAgICB9XG4gICAgY29uc3QgZnZhbHVlID0gKHZhbHVlIGFzIGFueSlbZmllbGRdO1xuICAgIGlmIChtb2RlID09PSAnY29kZScpIHtcbiAgICAgIHJldHVybiBgJHtmdmFsdWV9YDtcbiAgICB9XG4gICAgY29uc3QgbWFuYWdlciA9IHZhbHVlLkZNKGZpZWxkKTtcbiAgICBjb25zdCBjaG9pY2VzID0gKG1hbmFnZXIgYXMgYW55KS5jaG9pY2VzO1xuICAgIGlmICghY2hvaWNlcykge1xuICAgICAgcmV0dXJuIGAke2Z2YWx1ZX1gO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGNoIG9mIGNob2ljZXMpIHtcbiAgICAgIGlmIChjaC52YWx1ZSA9PT0gZnZhbHVlKSB7XG4gICAgICAgIGlmIChtb2RlID09PSAnZGVzYycpIHtcbiAgICAgICAgICByZXR1cm4gY2guZGVzYztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYFske2Z2YWx1ZX1dICR7Y2guZGVzY31gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBgWyR7ZnZhbHVlfV0gPz9gO1xuICB9XG59XG4iXX0=