@ethlete/query 5.21.1 → 5.22.0

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 (88) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/fesm2022/ethlete-query.mjs +21 -37
  3. package/fesm2022/ethlete-query.mjs.map +1 -1
  4. package/package.json +5 -7
  5. package/esm2022/ethlete-query.mjs +0 -5
  6. package/esm2022/index.mjs +0 -21
  7. package/esm2022/lib/auth/auth-provider.types.mjs +0 -2
  8. package/esm2022/lib/auth/auth-provider.utils.mjs +0 -25
  9. package/esm2022/lib/auth/basic-auth-provider.mjs +0 -15
  10. package/esm2022/lib/auth/bearer-auth-provider.mjs +0 -168
  11. package/esm2022/lib/auth/custom-header-auth-provider.mjs +0 -12
  12. package/esm2022/lib/auth/index.mjs +0 -6
  13. package/esm2022/lib/class-validator/class-validator.types.mjs +0 -2
  14. package/esm2022/lib/class-validator/class-validator.utils.mjs +0 -4
  15. package/esm2022/lib/class-validator/index.mjs +0 -3
  16. package/esm2022/lib/devtools/components/query-devtools/index.mjs +0 -2
  17. package/esm2022/lib/devtools/components/query-devtools/query-devtools.component.mjs +0 -297
  18. package/esm2022/lib/devtools/pipes/index.mjs +0 -2
  19. package/esm2022/lib/devtools/pipes/query-short-name.pipe.mjs +0 -24
  20. package/esm2022/lib/devtools/utils/index.mjs +0 -2
  21. package/esm2022/lib/devtools/utils/query-client.utils.mjs +0 -13
  22. package/esm2022/lib/directives/index.mjs +0 -4
  23. package/esm2022/lib/directives/infinity-query-trigger.directive.mjs +0 -56
  24. package/esm2022/lib/directives/infinity-query.directive.mjs +0 -147
  25. package/esm2022/lib/directives/query.directive.mjs +0 -123
  26. package/esm2022/lib/entity/entity-store.mjs +0 -127
  27. package/esm2022/lib/entity/entity.types.mjs +0 -2
  28. package/esm2022/lib/entity/entity.utils.mjs +0 -29
  29. package/esm2022/lib/entity/index.mjs +0 -4
  30. package/esm2022/lib/experimental/bearer-auth-provider-config.mjs +0 -19
  31. package/esm2022/lib/experimental/bearer-auth-provider.mjs +0 -245
  32. package/esm2022/lib/experimental/http-request.mjs +0 -154
  33. package/esm2022/lib/experimental/index.mjs +0 -23
  34. package/esm2022/lib/experimental/paged-query.mjs +0 -194
  35. package/esm2022/lib/experimental/query-client-config.mjs +0 -13
  36. package/esm2022/lib/experimental/query-client.mjs +0 -16
  37. package/esm2022/lib/experimental/query-creator-templates.mjs +0 -33
  38. package/esm2022/lib/experimental/query-creator.mjs +0 -28
  39. package/esm2022/lib/experimental/query-dependencies.mjs +0 -14
  40. package/esm2022/lib/experimental/query-errors.mjs +0 -70
  41. package/esm2022/lib/experimental/query-execute-utils.mjs +0 -54
  42. package/esm2022/lib/experimental/query-execute.mjs +0 -14
  43. package/esm2022/lib/experimental/query-features.mjs +0 -126
  44. package/esm2022/lib/experimental/query-repository.mjs +0 -97
  45. package/esm2022/lib/experimental/query-snapshot.mjs +0 -45
  46. package/esm2022/lib/experimental/query-stack.mjs +0 -65
  47. package/esm2022/lib/experimental/query-state.mjs +0 -20
  48. package/esm2022/lib/experimental/query-utils.mjs +0 -176
  49. package/esm2022/lib/experimental/query.mjs +0 -29
  50. package/esm2022/lib/experimental/secure-query-creator.mjs +0 -15
  51. package/esm2022/lib/experimental/secure-query-execute.mjs +0 -80
  52. package/esm2022/lib/experimental/secure-query.mjs +0 -33
  53. package/esm2022/lib/gql/gql.mjs +0 -23
  54. package/esm2022/lib/gql/index.mjs +0 -2
  55. package/esm2022/lib/infinite-query/index.mjs +0 -4
  56. package/esm2022/lib/infinite-query/infinity-query.mjs +0 -171
  57. package/esm2022/lib/infinite-query/infinity-query.types.mjs +0 -2
  58. package/esm2022/lib/infinite-query/infinity-query.utils.mjs +0 -3
  59. package/esm2022/lib/logger/index.mjs +0 -2
  60. package/esm2022/lib/logger/logger.mjs +0 -16
  61. package/esm2022/lib/query/index.mjs +0 -4
  62. package/esm2022/lib/query/query.mjs +0 -431
  63. package/esm2022/lib/query/query.types.mjs +0 -2
  64. package/esm2022/lib/query/query.utils.mjs +0 -253
  65. package/esm2022/lib/query-client/index.mjs +0 -4
  66. package/esm2022/lib/query-client/query-client.mjs +0 -80
  67. package/esm2022/lib/query-client/query-client.types.mjs +0 -2
  68. package/esm2022/lib/query-client/query-client.utils.mjs +0 -20
  69. package/esm2022/lib/query-creator/index.mjs +0 -3
  70. package/esm2022/lib/query-creator/query-creator.mjs +0 -55
  71. package/esm2022/lib/query-creator/query-creator.types.mjs +0 -2
  72. package/esm2022/lib/query-form/index.mjs +0 -4
  73. package/esm2022/lib/query-form/query-form.mjs +0 -412
  74. package/esm2022/lib/query-form/query-form.types.mjs +0 -2
  75. package/esm2022/lib/query-form/query-form.utils.mjs +0 -97
  76. package/esm2022/lib/query-store/index.mjs +0 -2
  77. package/esm2022/lib/query-store/query-store.mjs +0 -144
  78. package/esm2022/lib/request/index.mjs +0 -4
  79. package/esm2022/lib/request/request.mjs +0 -196
  80. package/esm2022/lib/request/request.types.mjs +0 -2
  81. package/esm2022/lib/request/request.util.mjs +0 -252
  82. package/esm2022/lib/symfony/index.mjs +0 -3
  83. package/esm2022/lib/symfony/symfony.types.mjs +0 -2
  84. package/esm2022/lib/symfony/symfony.utils.mjs +0 -31
  85. package/esm2022/lib/utils/data.utils.mjs +0 -138
  86. package/esm2022/lib/utils/deep-freeze.util.mjs +0 -17
  87. package/esm2022/lib/utils/def.util.mjs +0 -8
  88. package/esm2022/lib/utils/index.mjs +0 -4
@@ -1,144 +0,0 @@
1
- import { Subject, fromEvent, take, takeUntil, timer } from 'rxjs';
2
- export class QueryStore {
3
- constructor(_config) {
4
- this._config = _config;
5
- /**
6
- * @internal
7
- */
8
- this._store = new Map();
9
- this._garbageCollector = null;
10
- this._isInLowResourceMode = false;
11
- this._lastBlurTimestamp = Date.now();
12
- this._storeChange$ = new Subject();
13
- this._queryCreated$ = new Subject();
14
- this.storeChange$ = this._storeChange$.asObservable();
15
- this.queryCreated$ = this._queryCreated$.asObservable();
16
- this._initSmartQueryHandling();
17
- }
18
- add(id, query) {
19
- this._store.set(id, query);
20
- this._initGarbageCollector();
21
- this._logState(id, query, 'SET');
22
- this._storeChange$.next(id);
23
- }
24
- get(id) {
25
- return this._store.get(id) ?? null;
26
- }
27
- remove(id) {
28
- this._store.delete(id);
29
- this._logState(id, null, 'REMOVE');
30
- this._storeChange$.next(id);
31
- }
32
- forEach(callback) {
33
- for (const [key, query] of this._store) {
34
- callback(query, key);
35
- }
36
- }
37
- refreshQueriesInUse(config) {
38
- const { ignoreCacheValidity, purgeUnused } = config ?? {};
39
- for (const [key, query] of this._store) {
40
- if (query.isInUse &&
41
- (query.isExpired || ignoreCacheValidity) &&
42
- query.autoRefreshOnConfig.queryClientDefaultHeadersChange) {
43
- query.execute({ skipCache: true, _triggeredVia: 'auto' });
44
- }
45
- else if (purgeUnused && !query.isInUse) {
46
- this.remove(key);
47
- }
48
- }
49
- }
50
- /**
51
- * @internal
52
- */
53
- _dispatchQueryCreated(query) {
54
- this._queryCreated$.next(query);
55
- }
56
- _initSmartQueryHandling() {
57
- const windowBlur$ = fromEvent(window, 'blur');
58
- const windowFocus$ = fromEvent(window, 'focus');
59
- windowBlur$.subscribe(() => {
60
- timer(5000)
61
- .pipe(takeUntil(windowFocus$), take(1))
62
- .subscribe(() => {
63
- this._lastBlurTimestamp = Date.now();
64
- this._isInLowResourceMode = true;
65
- this._stopGarbageCollector();
66
- if (this._config?.enableSmartPolling) {
67
- this.forEach((query) => {
68
- if (!query.isPolling || !query._enableSmartPolling) {
69
- return;
70
- }
71
- query.pausePolling();
72
- });
73
- }
74
- });
75
- });
76
- windowFocus$.subscribe(() => {
77
- if (!this._isInLowResourceMode) {
78
- return;
79
- }
80
- this._isInLowResourceMode = false;
81
- if (this._config?.enableSmartPolling || this._config?.autoRefreshQueriesOnWindowFocus) {
82
- this.forEach((query) => {
83
- if (this._config?.enableSmartPolling && query._isPollingPaused) {
84
- query.resumePolling();
85
- }
86
- if (Date.now() - this._lastBlurTimestamp > 15000) {
87
- if (this._config?.autoRefreshQueriesOnWindowFocus &&
88
- query.isExpired &&
89
- query.isInUse &&
90
- query.autoRefreshOnConfig.windowFocus) {
91
- query.execute({ skipCache: true, _triggeredVia: 'auto' });
92
- }
93
- }
94
- });
95
- }
96
- this._initGarbageCollector();
97
- });
98
- }
99
- _logState(key, item, operation) {
100
- if (!this._config?.enableChangeLogging)
101
- return;
102
- const stateAsJson = {};
103
- this._store.forEach((value, key) => {
104
- stateAsJson[key] = value;
105
- });
106
- console.log(`%c[${operation}] ${key}`, 'font-weight: bold');
107
- console.log({ operation, key, item });
108
- console.log(stateAsJson);
109
- }
110
- _initGarbageCollector() {
111
- if (this._garbageCollector !== null) {
112
- return;
113
- }
114
- this._logGarbageCollector('Start');
115
- this._garbageCollector = window.setInterval(() => {
116
- this._runGarbageCollector();
117
- }, 15000);
118
- }
119
- _stopGarbageCollector() {
120
- if (this._garbageCollector !== null) {
121
- window.clearInterval(this._garbageCollector);
122
- this._garbageCollector = null;
123
- this._logGarbageCollector('Stop');
124
- }
125
- }
126
- _runGarbageCollector() {
127
- this._logGarbageCollector('Collecting...');
128
- this._store.forEach((item, key) => {
129
- if (item.isExpired && !item.isInUse) {
130
- this.remove(key);
131
- }
132
- });
133
- this._logGarbageCollector('Collection done');
134
- if (!this._store.size) {
135
- this._stopGarbageCollector();
136
- }
137
- }
138
- _logGarbageCollector(action) {
139
- if (!this._config?.enableGarbageCollectorLogging)
140
- return;
141
- console.log(`%cGC: ${action}`, 'color: yellow; font-weight: bold');
142
- }
143
- }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnktc3RvcmUvcXVlcnktc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEUsTUFBTSxPQUFPLFVBQVU7SUFnQnJCLFlBQ1UsT0FLUDtRQUxPLFlBQU8sR0FBUCxPQUFPLENBS2Q7UUFyQkg7O1dBRUc7UUFDTSxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7UUFFdEMsc0JBQWlCLEdBQWtCLElBQUksQ0FBQztRQUN4Qyx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRWhDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUN0QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFZLENBQUM7UUFFeEMsaUJBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2pELGtCQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQVUxRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVUsRUFBRSxLQUFlO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENB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QUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBYztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSw2QkFBNkI7WUFBRSxPQUFPO1FBRXpELE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxNQUFNLEVBQUUsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCwgdGFrZSwgdGFrZVVudGlsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW55UXVlcnkgfSBmcm9tICcuLi9xdWVyeSc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeVN0b3JlIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgX3N0b3JlID0gbmV3IE1hcDxzdHJpbmcsIEFueVF1ZXJ5PigpO1xuXG4gIHByaXZhdGUgX2dhcmJhZ2VDb2xsZWN0b3I6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9pc0luTG93UmVzb3VyY2VNb2RlID0gZmFsc2U7XG4gIHByaXZhdGUgX2xhc3RCbHVyVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblxuICBwcml2YXRlIF9zdG9yZUNoYW5nZSQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgX3F1ZXJ5Q3JlYXRlZCQgPSBuZXcgU3ViamVjdDxBbnlRdWVyeT4oKTtcblxuICByZWFkb25seSBzdG9yZUNoYW5nZSQgPSB0aGlzLl9zdG9yZUNoYW5nZSQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IHF1ZXJ5Q3JlYXRlZCQgPSB0aGlzLl9xdWVyeUNyZWF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NvbmZpZz86IHtcbiAgICAgIGVuYWJsZUNoYW5nZUxvZ2dpbmc/OiBib29sZWFuO1xuICAgICAgZW5hYmxlR2FyYmFnZUNvbGxlY3RvckxvZ2dpbmc/OiBib29sZWFuO1xuICAgICAgYXV0b1JlZnJlc2hRdWVyaWVzT25XaW5kb3dGb2N1cz86IGJvb2xlYW47XG4gICAgICBlbmFibGVTbWFydFBvbGxpbmc/OiBib29sZWFuO1xuICAgIH0sXG4gICkge1xuICAgIHRoaXMuX2luaXRTbWFydFF1ZXJ5SGFuZGxpbmcoKTtcbiAgfVxuXG4gIGFkZChpZDogc3RyaW5nLCBxdWVyeTogQW55UXVlcnkpIHtcbiAgICB0aGlzLl9zdG9yZS5zZXQoaWQsIHF1ZXJ5KTtcblxuICAgIHRoaXMuX2luaXRHYXJiYWdlQ29sbGVjdG9yKCk7XG5cbiAgICB0aGlzLl9sb2dTdGF0ZShpZCwgcXVlcnksICdTRVQnKTtcblxuICAgIHRoaXMuX3N0b3JlQ2hhbmdlJC5uZXh0KGlkKTtcbiAgfVxuXG4gIGdldDxUIGV4dGVuZHMgQW55UXVlcnk+KGlkOiBzdHJpbmcpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuICh0aGlzLl9zdG9yZS5nZXQoaWQpIGFzIFQpID8/IG51bGw7XG4gIH1cblxuICByZW1vdmUoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3N0b3JlLmRlbGV0ZShpZCk7XG5cbiAgICB0aGlzLl9sb2dTdGF0ZShpZCwgbnVsbCwgJ1JFTU9WRScpO1xuXG4gICAgdGhpcy5fc3RvcmVDaGFuZ2UkLm5leHQoaWQpO1xuICB9XG5cbiAgZm9yRWFjaChjYWxsYmFjazogKHZhbHVlOiBBbnlRdWVyeSwga2V5OiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHF1ZXJ5XSBvZiB0aGlzLl9zdG9yZSkge1xuICAgICAgY2FsbGJhY2socXVlcnksIGtleSk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaFF1ZXJpZXNJblVzZShjb25maWc/OiB7IGlnbm9yZUNhY2hlVmFsaWRpdHk/OiBib29sZWFuOyBwdXJnZVVudXNlZD86IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IHsgaWdub3JlQ2FjaGVWYWxpZGl0eSwgcHVyZ2VVbnVzZWQgfSA9IGNvbmZpZyA/PyB7fTtcblxuICAgIGZvciAoY29uc3QgW2tleSwgcXVlcnldIG9mIHRoaXMuX3N0b3JlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHF1ZXJ5LmlzSW5Vc2UgJiZcbiAgICAgICAgKHF1ZXJ5LmlzRXhwaXJlZCB8fCBpZ25vcmVDYWNoZVZhbGlkaXR5KSAmJlxuICAgICAgICBxdWVyeS5hdXRvUmVmcmVzaE9uQ29uZmlnLnF1ZXJ5Q2xpZW50RGVmYXVsdEhlYWRlcnNDaGFuZ2VcbiAgICAgICkge1xuICAgICAgICBxdWVyeS5leGVjdXRlKHsgc2tpcENhY2hlOiB0cnVlLCBfdHJpZ2dlcmVkVmlhOiAnYXV0bycgfSk7XG4gICAgICB9IGVsc2UgaWYgKHB1cmdlVW51c2VkICYmICFxdWVyeS5pc0luVXNlKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX2Rpc3BhdGNoUXVlcnlDcmVhdGVkKHF1ZXJ5OiBBbnlRdWVyeSkge1xuICAgIHRoaXMuX3F1ZXJ5Q3JlYXRlZCQubmV4dChxdWVyeSk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0U21hcnRRdWVyeUhhbmRsaW5nKCkge1xuICAgIGNvbnN0IHdpbmRvd0JsdXIkID0gZnJvbUV2ZW50PEV2ZW50Pih3aW5kb3csICdibHVyJyk7XG4gICAgY29uc3Qgd2luZG93Rm9jdXMkID0gZnJvbUV2ZW50PEV2ZW50Pih3aW5kb3csICdmb2N1cycpO1xuXG4gICAgd2luZG93Qmx1ciQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRpbWVyKDUwMDApXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh3aW5kb3dGb2N1cyQpLCB0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9sYXN0Qmx1clRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgICAgICAgdGhpcy5faXNJbkxvd1Jlc291cmNlTW9kZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5fc3RvcEdhcmJhZ2VDb2xsZWN0b3IoKTtcblxuICAgICAgICAgIGlmICh0aGlzLl9jb25maWc/LmVuYWJsZVNtYXJ0UG9sbGluZykge1xuICAgICAgICAgICAgdGhpcy5mb3JFYWNoKChxdWVyeSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXF1ZXJ5LmlzUG9sbGluZyB8fCAhcXVlcnkuX2VuYWJsZVNtYXJ0UG9sbGluZykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHF1ZXJ5LnBhdXNlUG9sbGluZygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHdpbmRvd0ZvY3VzJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLl9pc0luTG93UmVzb3VyY2VNb2RlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5faXNJbkxvd1Jlc291cmNlTW9kZSA9IGZhbHNlO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcgfHwgdGhpcy5fY29uZmlnPy5hdXRvUmVmcmVzaFF1ZXJpZXNPbldpbmRvd0ZvY3VzKSB7XG4gICAgICAgIHRoaXMuZm9yRWFjaCgocXVlcnkpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fY29uZmlnPy5lbmFibGVTbWFydFBvbGxpbmcgJiYgcXVlcnkuX2lzUG9sbGluZ1BhdXNlZCkge1xuICAgICAgICAgICAgcXVlcnkucmVzdW1lUG9sbGluZygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0gdGhpcy5fbGFzdEJsdXJUaW1lc3RhbXAgPiAxNTAwMCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLl9jb25maWc/LmF1dG9SZWZyZXNoUXVlcmllc09uV2luZG93Rm9jdXMgJiZcbiAgICAgICAgICAgICAgcXVlcnkuaXNFeHBpcmVkICYmXG4gICAgICAgICAgICAgIHF1ZXJ5LmlzSW5Vc2UgJiZcbiAgICAgICAgICAgICAgcXVlcnkuYXV0b1JlZnJlc2hPbkNvbmZpZy53aW5kb3dGb2N1c1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5LmV4ZWN1dGUoeyBza2lwQ2FjaGU6IHRydWUsIF90cmlnZ2VyZWRWaWE6ICdhdXRvJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pbml0R2FyYmFnZUNvbGxlY3RvcigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nU3RhdGUoa2V5OiBzdHJpbmcgfCBudWxsLCBpdGVtOiBBbnlRdWVyeSB8IG51bGwsIG9wZXJhdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLl9jb25maWc/LmVuYWJsZUNoYW5nZUxvZ2dpbmcpIHJldHVybjtcblxuICAgIGNvbnN0IHN0YXRlQXNKc29uOiBSZWNvcmQ8c3RyaW5nLCBBbnlRdWVyeT4gPSB7fTtcblxuICAgIHRoaXMuX3N0b3JlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIHN0YXRlQXNKc29uW2tleV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKGAlY1ske29wZXJhdGlvbn1dICR7a2V5fWAsICdmb250LXdlaWdodDogYm9sZCcpO1xuXG4gICAgY29uc29sZS5sb2coeyBvcGVyYXRpb24sIGtleSwgaXRlbSB9KTtcbiAgICBjb25zb2xlLmxvZyhzdGF0ZUFzSnNvbik7XG4gIH1cblxuICBwcml2YXRlIF9pbml0R2FyYmFnZUNvbGxlY3RvcigpIHtcbiAgICBpZiAodGhpcy5fZ2FyYmFnZUNvbGxlY3RvciAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ1N0YXJ0Jyk7XG5cbiAgICB0aGlzLl9nYXJiYWdlQ29sbGVjdG9yID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuX3J1bkdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgICB9LCAxNTAwMCk7XG4gIH1cblxuICBwcml2YXRlIF9zdG9wR2FyYmFnZUNvbGxlY3RvcigpIHtcbiAgICBpZiAodGhpcy5fZ2FyYmFnZUNvbGxlY3RvciAhPT0gbnVsbCkge1xuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5fZ2FyYmFnZUNvbGxlY3Rvcik7XG4gICAgICB0aGlzLl9nYXJiYWdlQ29sbGVjdG9yID0gbnVsbDtcbiAgICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ1N0b3AnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9ydW5HYXJiYWdlQ29sbGVjdG9yKCkge1xuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ0NvbGxlY3RpbmcuLi4nKTtcblxuICAgIHRoaXMuX3N0b3JlLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uaXNFeHBpcmVkICYmICFpdGVtLmlzSW5Vc2UpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUoa2V5KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoJ0NvbGxlY3Rpb24gZG9uZScpO1xuXG4gICAgaWYgKCF0aGlzLl9zdG9yZS5zaXplKSB7XG4gICAgICB0aGlzLl9zdG9wR2FyYmFnZUNvbGxlY3RvcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0dhcmJhZ2VDb2xsZWN0b3IoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZz8uZW5hYmxlR2FyYmFnZUNvbGxlY3RvckxvZ2dpbmcpIHJldHVybjtcblxuICAgIGNvbnNvbGUubG9nKGAlY0dDOiAke2FjdGlvbn1gLCAnY29sb3I6IHllbGxvdzsgZm9udC13ZWlnaHQ6IGJvbGQnKTtcbiAgfVxufVxuIl19
@@ -1,4 +0,0 @@
1
- export * from './request';
2
- export * from './request.types';
3
- export * from './request.util';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcmVxdWVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdC51dGlsJztcbiJdfQ==
@@ -1,196 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { buildTimestampFromSeconds, detectContentTypeHeader, extractExpiresInSeconds, forEachHeader, getResponseUrl, hasHeader, parseAllXhrResponseHeaders, serializeBody, shouldRetryRequest, } from './request.util';
3
- const XSSI_PREFIX = /^\)\]\}',?\n/;
4
- export const request = (config) => {
5
- const headers = config.headers || {};
6
- const responseType = config.responseType || 'json';
7
- const body = config.body || null;
8
- const url = config.urlWithParams.split('?')[0] || '';
9
- const retryFn = config.retryFn || shouldRetryRequest;
10
- let currentRetryCount = 0;
11
- let retryTimeout = null;
12
- return new Observable((observer) => {
13
- const xhr = new XMLHttpRequest();
14
- const reqBody = serializeBody(body);
15
- const setupXhr = () => {
16
- xhr.open(config.method, config.urlWithParams);
17
- if (config.withCredentials) {
18
- xhr.withCredentials = true;
19
- }
20
- forEachHeader(headers, (name, value) => xhr.setRequestHeader(name, value));
21
- if (!hasHeader(headers, 'Accept')) {
22
- xhr.setRequestHeader('Accept', 'application/json, text/plain, */*');
23
- }
24
- if (!hasHeader(headers, 'Content-Type')) {
25
- const detectedType = detectContentTypeHeader(body);
26
- if (detectedType) {
27
- xhr.setRequestHeader('Content-Type', detectedType);
28
- }
29
- }
30
- xhr.responseType = responseType !== 'json' ? responseType : 'text';
31
- };
32
- setupXhr();
33
- const partialFromXhr = () => {
34
- const statusText = xhr.statusText || 'OK';
35
- const headers = parseAllXhrResponseHeaders(xhr);
36
- const _url = getResponseUrl(xhr) || url;
37
- return { headers, status: xhr.status, statusText, url: _url };
38
- };
39
- const handleRetry = (error) => {
40
- const newRetryCount = currentRetryCount + 1;
41
- const { headers } = partialFromXhr();
42
- const { retry, delay } = retryFn({ currentRetryCount: newRetryCount, headers, error });
43
- if (!retry) {
44
- observer.next({ type: 'failure', headers, error });
45
- observer.complete();
46
- return;
47
- }
48
- const _delay = delay ?? 1000;
49
- observer.next({ type: 'delay-retry', headers, retryNumber: newRetryCount, retryDelay: _delay });
50
- retryTimeout = window.setTimeout(() => {
51
- setupXhr();
52
- xhr.send(reqBody);
53
- currentRetryCount = newRetryCount;
54
- observer.next({ type: 'start', headers, isRetry: true, retryNumber: currentRetryCount, retryDelay: _delay });
55
- }, _delay);
56
- };
57
- const onLoad = async () => {
58
- const { headers, statusText, url } = partialFromXhr();
59
- let { status } = partialFromXhr();
60
- let body = null;
61
- if (status !== 204 /* HttpStatusCode.NoContent */) {
62
- body = typeof xhr.response === 'undefined' ? xhr.responseText : xhr.response;
63
- }
64
- if (status === 0) {
65
- status = body ? 200 /* HttpStatusCode.Ok */ : 0;
66
- }
67
- let ok = status >= 200 && status < 300;
68
- if (responseType === 'json' && typeof body === 'string') {
69
- const originalBody = body;
70
- body = body.replace(XSSI_PREFIX, '');
71
- try {
72
- body = body !== '' ? JSON.parse(body) : null;
73
- }
74
- catch (error) {
75
- body = originalBody;
76
- if (ok) {
77
- ok = false;
78
- body = { error, text: body };
79
- }
80
- }
81
- }
82
- else if (!ok && body instanceof Blob) {
83
- try {
84
- const text = await body.text();
85
- if (body.type === 'application/json') {
86
- body = JSON.parse(text);
87
- }
88
- else {
89
- body = text;
90
- }
91
- }
92
- catch (error) {
93
- // Ignore the error.
94
- }
95
- }
96
- if (ok) {
97
- const successEvent = {
98
- type: 'success',
99
- headers,
100
- response: body,
101
- };
102
- const expiresInSeconds = config.cacheAdapter?.(headers) ?? extractExpiresInSeconds(headers);
103
- const expiresInTimestamp = buildTimestampFromSeconds(expiresInSeconds);
104
- if (expiresInTimestamp) {
105
- successEvent.expiresInTimestamp = expiresInTimestamp;
106
- }
107
- observer.next(successEvent);
108
- observer.complete();
109
- }
110
- else {
111
- handleRetry({
112
- url,
113
- detail: body,
114
- status,
115
- statusText,
116
- });
117
- }
118
- };
119
- const onError = (error) => {
120
- const { url } = partialFromXhr();
121
- handleRetry({
122
- url,
123
- detail: error,
124
- status: xhr.status || 0,
125
- statusText: xhr.statusText || 'Unknown Error',
126
- });
127
- };
128
- const onDownProgress = (event) => {
129
- const { headers } = partialFromXhr();
130
- const progress = {
131
- type: 'download-progress',
132
- headers,
133
- progress: {
134
- current: event.loaded,
135
- },
136
- };
137
- if (event.lengthComputable) {
138
- const progressPercent = (event.loaded / event.total) * 100;
139
- progress.progress.percentage = Math.round(progressPercent * 100) / 100;
140
- progress.progress.total = event.total;
141
- }
142
- if (responseType === 'text' && !!xhr.responseText) {
143
- progress.partialText = xhr.responseText;
144
- }
145
- observer.next(progress);
146
- };
147
- const onUpProgress = (event) => {
148
- const { headers } = partialFromXhr();
149
- const progress = {
150
- type: 'upload-progress',
151
- headers,
152
- progress: {
153
- current: event.loaded,
154
- },
155
- };
156
- if (event.lengthComputable) {
157
- const progressPercent = (event.loaded / event.total) * 100;
158
- progress.progress.percentage = Math.round(progressPercent * 100) / 100;
159
- progress.progress.total = event.total;
160
- }
161
- observer.next(progress);
162
- };
163
- xhr.addEventListener('load', onLoad);
164
- xhr.addEventListener('error', onError);
165
- xhr.addEventListener('timeout', onError);
166
- xhr.addEventListener('abort', onError);
167
- if (config.reportProgress) {
168
- xhr.addEventListener('progress', onDownProgress);
169
- if (reqBody !== null && xhr.upload) {
170
- xhr.upload.addEventListener('progress', onUpProgress);
171
- }
172
- }
173
- xhr.send(reqBody);
174
- observer.next({ type: 'start', headers });
175
- return () => {
176
- xhr.removeEventListener('error', onError);
177
- xhr.removeEventListener('abort', onError);
178
- xhr.removeEventListener('load', onLoad);
179
- xhr.removeEventListener('timeout', onError);
180
- if (retryTimeout) {
181
- window.clearTimeout(retryTimeout);
182
- }
183
- if (config.reportProgress) {
184
- xhr.removeEventListener('progress', onDownProgress);
185
- if (reqBody !== null && xhr.upload) {
186
- xhr.upload.removeEventListener('progress', onUpProgress);
187
- }
188
- }
189
- if (xhr.readyState !== xhr.DONE) {
190
- xhr.abort();
191
- }
192
- observer.next({ type: 'cancel', headers });
193
- };
194
- });
195
- };
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9yZXF1ZXN0L3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBRUwseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLGNBQWMsRUFDZCxTQUFTLEVBQ1QsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYixrQkFBa0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQXFCLE1BQXFCLEVBQXNDLEVBQUU7SUFDdkcsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDakMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksa0JBQWtCLENBQUM7SUFDckQsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFDMUIsSUFBSSxZQUFZLEdBQWtCLElBQUksQ0FBQztJQUV2QyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsUUFBMEMsRUFBRSxFQUFFO1FBQ25FLE1BQU0sR0FBRyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNwQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlDLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUMzQixHQUFHLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM3QixDQUFDO1lBRUQsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUUzRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLG1DQUFtQyxDQUFDLENBQUM7WUFDdEUsQ0FBQztZQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sWUFBWSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVuRCxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNqQixHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO1lBQ0gsQ0FBQztZQUVELEdBQUcsQ0FBQyxZQUFZLEdBQUcsWUFBWSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDckUsQ0FBQyxDQUFDO1FBRUYsUUFBUSxFQUFFLENBQUM7UUFFWCxNQUFNLGNBQWMsR0FBRyxHQUFvQixFQUFFO1lBQzNDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO1lBQzFDLE1BQU0sT0FBTyxHQUFHLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7WUFFeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2hFLENBQUMsQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1lBQzFDLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixHQUFHLENBQUMsQ0FBQztZQUM1QyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7WUFDckMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFdkYsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQztZQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUVoRyxZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BDLFFBQVEsRUFBRSxDQUFDO2dCQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2xCLGlCQUFpQixHQUFHLGFBQWEsQ0FBQztnQkFDbEMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9HLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ3hCLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDO1lBRXRELElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUVsQyxJQUFJLElBQUksR0FBbUIsSUFBSSxDQUFDO1lBRWhDLElBQUksTUFBTSx1Q0FBNkIsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLEdBQUcsT0FBTyxHQUFHLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUMvRSxDQUFDO1lBRUQsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyw2QkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBRUQsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBRXZDLElBQUksWUFBWSxLQUFLLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQztvQkFDSCxJQUFJLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUN6RCxDQUFDO2dCQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7b0JBQ2YsSUFBSSxHQUFHLFlBQVksQ0FBQztvQkFFcEIsSUFBSSxFQUFFLEVBQUUsQ0FBQzt3QkFDUCxFQUFFLEdBQUcsS0FBSyxDQUFDO3dCQUNYLElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQy9CLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQztvQkFDSCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFFL0IsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGtCQUFrQixFQUFFLENBQUM7d0JBQ3JDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxQixDQUFDO3lCQUFNLENBQUM7d0JBQ04sSUFBSSxHQUFHLElBQUksQ0FBQztvQkFDZCxDQUFDO2dCQUNILENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDZixvQkFBb0I7Z0JBQ3RCLENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDUCxNQUFNLFlBQVksR0FBMkI7b0JBQzNDLElBQUksRUFBRSxTQUFTO29CQUNmLE9BQU87b0JBQ1AsUUFBUSxFQUFFLElBQWdCO2lCQUMzQixDQUFDO2dCQUVGLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM1RixNQUFNLGtCQUFrQixHQUFHLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBRXZFLElBQUksa0JBQWtCLEVBQUUsQ0FBQztvQkFDdkIsWUFBWSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO2dCQUN2RCxDQUFDO2dCQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRTVCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sV0FBVyxDQUFDO29CQUNWLEdBQUc7b0JBQ0gsTUFBTSxFQUFFLElBQUk7b0JBQ1osTUFBTTtvQkFDTixVQUFVO2lCQUNYLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQy9CLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUVqQyxXQUFXLENBQUM7Z0JBQ1YsR0FBRztnQkFDSCxNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDO2dCQUN2QixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsSUFBSSxlQUFlO2FBQzlDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQzlDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUVyQyxNQUFNLFFBQVEsR0FBaUI7Z0JBQzdCLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLE9BQU87Z0JBQ1AsUUFBUSxFQUFFO29CQUNSLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTTtpQkFDdEI7YUFDRixDQUFDO1lBRUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQzNELFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDdkUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN4QyxDQUFDO1lBRUQsSUFBSSxZQUFZLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2xELFFBQVEsQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztZQUMxQyxDQUFDO1lBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUM7UUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUM1QyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7WUFFckMsTUFBTSxRQUFRLEdBQWlCO2dCQUM3QixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixPQUFPO2dCQUNQLFFBQVEsRUFBRTtvQkFDUixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU07aUJBQ3RCO2FBQ0YsQ0FBQztZQUVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzNCLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDO2dCQUMzRCxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3ZFLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDeEMsQ0FBQztZQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDO1FBRUYsR0FBRyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV2QyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixHQUFHLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBRWpELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25DLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3hELENBQUM7UUFDSCxDQUFDO1FBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQixRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRTFDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMxQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUU1QyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFFRCxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDMUIsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFFcEQsSUFBSSxPQUFPLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbkMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQzNELENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGFydGlhbFhoclN0YXRlLCBSZXF1ZXN0Q29uZmlnLCBSZXF1ZXN0RXJyb3IsIFJlcXVlc3RFdmVudCB9IGZyb20gJy4vcmVxdWVzdC50eXBlcyc7XG5pbXBvcnQge1xuICBIdHRwU3RhdHVzQ29kZSxcbiAgYnVpbGRUaW1lc3RhbXBGcm9tU2Vjb25kcyxcbiAgZGV0ZWN0Q29udGVudFR5cGVIZWFkZXIsXG4gIGV4dHJhY3RFeHBpcmVzSW5TZWNvbmRzLFxuICBmb3JFYWNoSGVhZGVyLFxuICBnZXRSZXNwb25zZVVybCxcbiAgaGFzSGVhZGVyLFxuICBwYXJzZUFsbFhoclJlc3BvbnNlSGVhZGVycyxcbiAgc2VyaWFsaXplQm9keSxcbiAgc2hvdWxkUmV0cnlSZXF1ZXN0LFxufSBmcm9tICcuL3JlcXVlc3QudXRpbCc7XG5cbmNvbnN0IFhTU0lfUFJFRklYID0gL15cXClcXF1cXH0nLD9cXG4vO1xuXG5leHBvcnQgY29uc3QgcmVxdWVzdCA9IDxSZXNwb25zZSA9IHVua25vd24+KGNvbmZpZzogUmVxdWVzdENvbmZpZyk6IE9ic2VydmFibGU8UmVxdWVzdEV2ZW50PFJlc3BvbnNlPj4gPT4ge1xuICBjb25zdCBoZWFkZXJzID0gY29uZmlnLmhlYWRlcnMgfHwge307XG4gIGNvbnN0IHJlc3BvbnNlVHlwZSA9IGNvbmZpZy5yZXNwb25zZVR5cGUgfHwgJ2pzb24nO1xuICBjb25zdCBib2R5ID0gY29uZmlnLmJvZHkgfHwgbnVsbDtcbiAgY29uc3QgdXJsID0gY29uZmlnLnVybFdpdGhQYXJhbXMuc3BsaXQoJz8nKVswXSB8fCAnJztcbiAgY29uc3QgcmV0cnlGbiA9IGNvbmZpZy5yZXRyeUZuIHx8IHNob3VsZFJldHJ5UmVxdWVzdDtcbiAgbGV0IGN1cnJlbnRSZXRyeUNvdW50ID0gMDtcbiAgbGV0IHJldHJ5VGltZW91dDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8UmVxdWVzdEV2ZW50PFJlc3BvbnNlPj4pID0+IHtcbiAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICBjb25zdCByZXFCb2R5ID0gc2VyaWFsaXplQm9keShib2R5KTtcblxuICAgIGNvbnN0IHNldHVwWGhyID0gKCkgPT4ge1xuICAgICAgeGhyLm9wZW4oY29uZmlnLm1ldGhvZCwgY29uZmlnLnVybFdpdGhQYXJhbXMpO1xuICAgICAgaWYgKGNvbmZpZy53aXRoQ3JlZGVudGlhbHMpIHtcbiAgICAgICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGZvckVhY2hIZWFkZXIoaGVhZGVycywgKG5hbWUsIHZhbHVlKSA9PiB4aHIuc2V0UmVxdWVzdEhlYWRlcihuYW1lLCB2YWx1ZSkpO1xuXG4gICAgICBpZiAoIWhhc0hlYWRlcihoZWFkZXJzLCAnQWNjZXB0JykpIHtcbiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0FjY2VwdCcsICdhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLyonKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFoYXNIZWFkZXIoaGVhZGVycywgJ0NvbnRlbnQtVHlwZScpKSB7XG4gICAgICAgIGNvbnN0IGRldGVjdGVkVHlwZSA9IGRldGVjdENvbnRlbnRUeXBlSGVhZGVyKGJvZHkpO1xuXG4gICAgICAgIGlmIChkZXRlY3RlZFR5cGUpIHtcbiAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC1UeXBlJywgZGV0ZWN0ZWRUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB4aHIucmVzcG9uc2VUeXBlID0gcmVzcG9uc2VUeXBlICE9PSAnanNvbicgPyByZXNwb25zZVR5cGUgOiAndGV4dCc7XG4gICAgfTtcblxuICAgIHNldHVwWGhyKCk7XG5cbiAgICBjb25zdCBwYXJ0aWFsRnJvbVhociA9ICgpOiBQYXJ0aWFsWGhyU3RhdGUgPT4ge1xuICAgICAgY29uc3Qgc3RhdHVzVGV4dCA9IHhoci5zdGF0dXNUZXh0IHx8ICdPSyc7XG4gICAgICBjb25zdCBoZWFkZXJzID0gcGFyc2VBbGxYaHJSZXNwb25zZUhlYWRlcnMoeGhyKTtcbiAgICAgIGNvbnN0IF91cmwgPSBnZXRSZXNwb25zZVVybCh4aHIpIHx8IHVybDtcblxuICAgICAgcmV0dXJuIHsgaGVhZGVycywgc3RhdHVzOiB4aHIuc3RhdHVzLCBzdGF0dXNUZXh0LCB1cmw6IF91cmwgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlUmV0cnkgPSAoZXJyb3I6IFJlcXVlc3RFcnJvcikgPT4ge1xuICAgICAgY29uc3QgbmV3UmV0cnlDb3VudCA9IGN1cnJlbnRSZXRyeUNvdW50ICsgMTtcbiAgICAgIGNvbnN0IHsgaGVhZGVycyB9ID0gcGFydGlhbEZyb21YaHIoKTtcbiAgICAgIGNvbnN0IHsgcmV0cnksIGRlbGF5IH0gPSByZXRyeUZuKHsgY3VycmVudFJldHJ5Q291bnQ6IG5ld1JldHJ5Q291bnQsIGhlYWRlcnMsIGVycm9yIH0pO1xuXG4gICAgICBpZiAoIXJldHJ5KSB7XG4gICAgICAgIG9ic2VydmVyLm5leHQoeyB0eXBlOiAnZmFpbHVyZScsIGhlYWRlcnMsIGVycm9yIH0pO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IF9kZWxheSA9IGRlbGF5ID8/IDEwMDA7XG4gICAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ2RlbGF5LXJldHJ5JywgaGVhZGVycywgcmV0cnlOdW1iZXI6IG5ld1JldHJ5Q291bnQsIHJldHJ5RGVsYXk6IF9kZWxheSB9KTtcblxuICAgICAgcmV0cnlUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXR1cFhocigpO1xuICAgICAgICB4aHIuc2VuZChyZXFCb2R5KTtcbiAgICAgICAgY3VycmVudFJldHJ5Q291bnQgPSBuZXdSZXRyeUNvdW50O1xuICAgICAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ3N0YXJ0JywgaGVhZGVycywgaXNSZXRyeTogdHJ1ZSwgcmV0cnlOdW1iZXI6IGN1cnJlbnRSZXRyeUNvdW50LCByZXRyeURlbGF5OiBfZGVsYXkgfSk7XG4gICAgICB9LCBfZGVsYXkpO1xuICAgIH07XG5cbiAgICBjb25zdCBvbkxvYWQgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB7IGhlYWRlcnMsIHN0YXR1c1RleHQsIHVybCB9ID0gcGFydGlhbEZyb21YaHIoKTtcblxuICAgICAgbGV0IHsgc3RhdHVzIH0gPSBwYXJ0aWFsRnJvbVhocigpO1xuXG4gICAgICBsZXQgYm9keTogdW5rbm93biB8IG51bGwgPSBudWxsO1xuXG4gICAgICBpZiAoc3RhdHVzICE9PSBIdHRwU3RhdHVzQ29kZS5Ob0NvbnRlbnQpIHtcbiAgICAgICAgYm9keSA9IHR5cGVvZiB4aHIucmVzcG9uc2UgPT09ICd1bmRlZmluZWQnID8geGhyLnJlc3BvbnNlVGV4dCA6IHhoci5yZXNwb25zZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0YXR1cyA9PT0gMCkge1xuICAgICAgICBzdGF0dXMgPSBib2R5ID8gSHR0cFN0YXR1c0NvZGUuT2sgOiAwO1xuICAgICAgfVxuXG4gICAgICBsZXQgb2sgPSBzdGF0dXMgPj0gMjAwICYmIHN0YXR1cyA8IDMwMDtcblxuICAgICAgaWYgKHJlc3BvbnNlVHlwZSA9PT0gJ2pzb24nICYmIHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBvcmlnaW5hbEJvZHkgPSBib2R5O1xuICAgICAgICBib2R5ID0gYm9keS5yZXBsYWNlKFhTU0lfUFJFRklYLCAnJyk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYm9keSA9IGJvZHkgIT09ICcnID8gSlNPTi5wYXJzZShib2R5IGFzIHN0cmluZykgOiBudWxsO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGJvZHkgPSBvcmlnaW5hbEJvZHk7XG5cbiAgICAgICAgICBpZiAob2spIHtcbiAgICAgICAgICAgIG9rID0gZmFsc2U7XG4gICAgICAgICAgICBib2R5ID0geyBlcnJvciwgdGV4dDogYm9keSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICghb2sgJiYgYm9keSBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgYm9keS50ZXh0KCk7XG5cbiAgICAgICAgICBpZiAoYm9keS50eXBlID09PSAnYXBwbGljYXRpb24vanNvbicpIHtcbiAgICAgICAgICAgIGJvZHkgPSBKU09OLnBhcnNlKHRleHQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBib2R5ID0gdGV4dDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgLy8gSWdub3JlIHRoZSBlcnJvci5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAob2spIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc0V2ZW50OiBSZXF1ZXN0RXZlbnQ8UmVzcG9uc2U+ID0ge1xuICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgIHJlc3BvbnNlOiBib2R5IGFzIFJlc3BvbnNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGV4cGlyZXNJblNlY29uZHMgPSBjb25maWcuY2FjaGVBZGFwdGVyPy4oaGVhZGVycykgPz8gZXh0cmFjdEV4cGlyZXNJblNlY29uZHMoaGVhZGVycyk7XG4gICAgICAgIGNvbnN0IGV4cGlyZXNJblRpbWVzdGFtcCA9IGJ1aWxkVGltZXN0YW1wRnJvbVNlY29uZHMoZXhwaXJlc0luU2Vjb25kcyk7XG5cbiAgICAgICAgaWYgKGV4cGlyZXNJblRpbWVzdGFtcCkge1xuICAgICAgICAgIHN1Y2Nlc3NFdmVudC5leHBpcmVzSW5UaW1lc3RhbXAgPSBleHBpcmVzSW5UaW1lc3RhbXA7XG4gICAgICAgIH1cblxuICAgICAgICBvYnNlcnZlci5uZXh0KHN1Y2Nlc3NFdmVudCk7XG5cbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhhbmRsZVJldHJ5KHtcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAgZGV0YWlsOiBib2R5LFxuICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICBzdGF0dXNUZXh0LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgb25FcnJvciA9IChlcnJvcjogRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgdXJsIH0gPSBwYXJ0aWFsRnJvbVhocigpO1xuXG4gICAgICBoYW5kbGVSZXRyeSh7XG4gICAgICAgIHVybCxcbiAgICAgICAgZGV0YWlsOiBlcnJvcixcbiAgICAgICAgc3RhdHVzOiB4aHIuc3RhdHVzIHx8IDAsXG4gICAgICAgIHN0YXR1c1RleHQ6IHhoci5zdGF0dXNUZXh0IHx8ICdVbmtub3duIEVycm9yJyxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBvbkRvd25Qcm9ncmVzcyA9IChldmVudDogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc3QgeyBoZWFkZXJzIH0gPSBwYXJ0aWFsRnJvbVhocigpO1xuXG4gICAgICBjb25zdCBwcm9ncmVzczogUmVxdWVzdEV2ZW50ID0ge1xuICAgICAgICB0eXBlOiAnZG93bmxvYWQtcHJvZ3Jlc3MnLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBwcm9ncmVzczoge1xuICAgICAgICAgIGN1cnJlbnQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChldmVudC5sZW5ndGhDb21wdXRhYmxlKSB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudCA9IChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCkgKiAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKHByb2dyZXNzUGVyY2VudCAqIDEwMCkgLyAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnRvdGFsID0gZXZlbnQudG90YWw7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09ICd0ZXh0JyAmJiAhIXhoci5yZXNwb25zZVRleHQpIHtcbiAgICAgICAgcHJvZ3Jlc3MucGFydGlhbFRleHQgPSB4aHIucmVzcG9uc2VUZXh0O1xuICAgICAgfVxuXG4gICAgICBvYnNlcnZlci5uZXh0KHByb2dyZXNzKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgb25VcFByb2dyZXNzID0gKGV2ZW50OiBQcm9ncmVzc0V2ZW50KSA9PiB7XG4gICAgICBjb25zdCB7IGhlYWRlcnMgfSA9IHBhcnRpYWxGcm9tWGhyKCk7XG5cbiAgICAgIGNvbnN0IHByb2dyZXNzOiBSZXF1ZXN0RXZlbnQgPSB7XG4gICAgICAgIHR5cGU6ICd1cGxvYWQtcHJvZ3Jlc3MnLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBwcm9ncmVzczoge1xuICAgICAgICAgIGN1cnJlbnQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChldmVudC5sZW5ndGhDb21wdXRhYmxlKSB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudCA9IChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCkgKiAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKHByb2dyZXNzUGVyY2VudCAqIDEwMCkgLyAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnRvdGFsID0gZXZlbnQudG90YWw7XG4gICAgICB9XG5cbiAgICAgIG9ic2VydmVyLm5leHQocHJvZ3Jlc3MpO1xuICAgIH07XG5cbiAgICB4aHIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uTG9hZCk7XG4gICAgeGhyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgeGhyLmFkZEV2ZW50TGlzdGVuZXIoJ3RpbWVvdXQnLCBvbkVycm9yKTtcbiAgICB4aHIuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBvbkVycm9yKTtcblxuICAgIGlmIChjb25maWcucmVwb3J0UHJvZ3Jlc3MpIHtcbiAgICAgIHhoci5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIG9uRG93blByb2dyZXNzKTtcblxuICAgICAgaWYgKHJlcUJvZHkgIT09IG51bGwgJiYgeGhyLnVwbG9hZCkge1xuICAgICAgICB4aHIudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25VcFByb2dyZXNzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB4aHIuc2VuZChyZXFCb2R5KTtcbiAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ3N0YXJ0JywgaGVhZGVycyB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB4aHIucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBvbkVycm9yKTtcbiAgICAgIHhoci5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uRXJyb3IpO1xuICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkxvYWQpO1xuICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RpbWVvdXQnLCBvbkVycm9yKTtcblxuICAgICAgaWYgKHJldHJ5VGltZW91dCkge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHJldHJ5VGltZW91dCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcucmVwb3J0UHJvZ3Jlc3MpIHtcbiAgICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25Eb3duUHJvZ3Jlc3MpO1xuXG4gICAgICAgIGlmIChyZXFCb2R5ICE9PSBudWxsICYmIHhoci51cGxvYWQpIHtcbiAgICAgICAgICB4aHIudXBsb2FkLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25VcFByb2dyZXNzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoeGhyLnJlYWR5U3RhdGUgIT09IHhoci5ET05FKSB7XG4gICAgICAgIHhoci5hYm9ydCgpO1xuICAgICAgfVxuXG4gICAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ2NhbmNlbCcsIGhlYWRlcnMgfSk7XG4gICAgfTtcbiAgfSk7XG59O1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9yZXF1ZXN0L3JlcXVlc3QudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBTdGF0dXNDb2RlIH0gZnJvbSAnLi9yZXF1ZXN0LnV0aWwnO1xuXG5leHBvcnQgdHlwZSBNZXRob2QgPVxuICB8ICdHRVQnXG4gIHwgJ1BPU1QnXG4gIHwgJ1BVVCdcbiAgfCAnREVMRVRFJ1xuICB8ICdQQVRDSCdcbiAgfCAnSEVBRCdcbiAgfCAnT1BUSU9OUydcbiAgfCAnVFJBQ0UnXG4gIHwgJ0NPTk5FQ1QnXG4gIHwgJ1BVUkdFJ1xuICB8ICdMSU5LJ1xuICB8ICdVTkxJTksnXG4gIHwgJ0dRTF9RVUVSWSdcbiAgfCAnR1FMX01VVEFURSdcbiAgfCAnQ1VTVE9NJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0RXJyb3I8RGV0YWlsID0gdW5rbm93bj4ge1xuICB1cmw6IHN0cmluZztcbiAgc3RhdHVzOiBIdHRwU3RhdHVzQ29kZTtcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xuICBkZXRhaWw6IERldGFpbDtcbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdEhlYWRlcnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuZXhwb3J0IHR5cGUgUXVlcnlQYXJhbXMgPSBvYmplY3Q7XG5leHBvcnQgdHlwZSBQYXRoUGFyYW1zID0gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPjtcblxuZXhwb3J0IHR5cGUgQ2FjaGVBZGFwdGVyRm4gPSAoaGVhZGVyczogUmVxdWVzdEhlYWRlcnMpID0+IG51bWJlciB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzTWV0aG9kTWFwID0ge1xuICBbTSBpbiBNZXRob2RdPzogUmVxdWVzdEhlYWRlcnM7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxYaHJTdGF0ZSB7XG4gIGhlYWRlcnM6IFJlcXVlc3RIZWFkZXJzO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0UmV0cnlGbkNvbmZpZyB7XG4gIGVycm9yOiBSZXF1ZXN0RXJyb3I7XG4gIGhlYWRlcnM6IFJlcXVlc3RIZWFkZXJzO1xuICBjdXJyZW50UmV0cnlDb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RSZXRyeUZuUmVzdWx0IHtcbiAgcmV0cnk6IGJvb2xlYW47XG4gIGRlbGF5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBSZXF1ZXN0UmV0cnlGbiA9IChjb25maWc6IFJlcXVlc3RSZXRyeUZuQ29uZmlnKSA9PiBSZXF1ZXN0UmV0cnlGblJlc3VsdDtcblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0Q29uZmlnIHtcbiAgbWV0aG9kOiBNZXRob2Q7XG4gIHVybFdpdGhQYXJhbXM6IHN0cmluZztcbiAgYm9keT86IHVua25vd247XG4gIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgcmVzcG9uc2VUeXBlPzogJ2FycmF5YnVmZmVyJyB8ICdibG9iJyB8ICdqc29uJyB8ICd0ZXh0JztcbiAgaGVhZGVycz86IFJlcXVlc3RIZWFkZXJzO1xuICBjYWNoZUFkYXB0ZXI/OiBDYWNoZUFkYXB0ZXJGbjtcbiAgcmV0cnlGbj86IFJlcXVlc3RSZXRyeUZuO1xufVxuXG5leHBvcnQgdHlwZSBSZXF1ZXN0UHJvZ3Jlc3MgPSB7XG4gIGN1cnJlbnQ6IG51bWJlcjtcbiAgcGVyY2VudGFnZT86IG51bWJlcjtcbiAgdG90YWw/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBSZXF1ZXN0RXZlbnQ8UmVzcG9uc2UgPSB1bmtub3duPiA9XG4gIHwge1xuICAgICAgdHlwZTogJ3N0YXJ0JztcbiAgICAgIGhlYWRlcnM6IFJlcXVlc3RIZWFkZXJzO1xuICAgICAgaXNSZXRyeT86IGJvb2xlYW47XG4gICAgICByZXRyeU51bWJlcj86IG51bWJlcjtcbiAgICAgIHJldHJ5RGVsYXk/OiBudW1iZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdkZWxheS1yZXRyeSc7XG4gICAgICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycztcbiAgICAgIHJldHJ5TnVtYmVyOiBudW1iZXI7XG4gICAgICByZXRyeURlbGF5OiBudW1iZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdkb3dubG9hZC1wcm9ncmVzcyc7XG4gICAgICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycztcbiAgICAgIHByb2dyZXNzOiBSZXF1ZXN0UHJvZ3Jlc3M7XG4gICAgICBwYXJ0aWFsVGV4dD86IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3VwbG9hZC1wcm9ncmVzcyc7XG4gICAgICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycztcbiAgICAgIHByb2dyZXNzOiBSZXF1ZXN0UHJvZ3Jlc3M7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdzdWNjZXNzJztcbiAgICAgIGhlYWRlcnM6IFJlcXVlc3RIZWFkZXJzO1xuICAgICAgcmVzcG9uc2U6IFJlc3BvbnNlO1xuICAgICAgZXhwaXJlc0luVGltZXN0YW1wPzogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZmFpbHVyZSc7XG4gICAgICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycztcbiAgICAgIGVycm9yOiBSZXF1ZXN0RXJyb3I7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdjYW5jZWwnO1xuICAgICAgaGVhZGVyczogUmVxdWVzdEhlYWRlcnM7XG4gICAgfTtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFF1ZXJ5U3RyaW5nQ29uZmlnIHtcbiAgLyoqXG4gICAqIE9iamVjdCBub3RhdGlvbiB0byB1c2UgZm9yIG5lc3RlZCBvYmplY3RzLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBkb3Qgbm90YXRpb25cbiAgICogeyBmb286IHsgYmFyOiAnYmF6JyB9IH0gPT4gXCJmb28uYmFyPWJhelwiXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIC8vIGJyYWNrZXQgbm90YXRpb25cbiAgICogeyBmb286IHsgYmFyOiAnYmF6JyB9IH0gPT4gXCJmb29bYmFyXT1iYXpcIlxuICAgKlxuICAgKiBAZGVmYXVsdCAnYnJhY2tldCdcbiAgICovXG4gIG9iamVjdE5vdGF0aW9uPzogJ2RvdCcgfCAnYnJhY2tldCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gd3JpdGUgYXJyYXkgaW5kZXhlcyBpbiBicmFja2V0IG5vdGF0aW9uLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyB0cnVlXG4gICAqIHsgZm9vOiBbJ2JhcicsICdiYXonXSB9ID0+IFwiZm9vWzBdPWJhciZmb29bMV09YmF6XCJcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogLy8gZmFsc2VcbiAgICogeyBmb286IFsnYmFyJywgJ2JheiddIH0gPT4gXCJmb29bXT1iYXImZm9vW109YmF6XCJcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHdyaXRlQXJyYXlJbmRleGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHZhbHVlcyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkIHdoZW4gYnVpbGRpbmcgdGhlIHF1ZXJ5IHN0cmluZy5cbiAgICpcbiAgICogQWxzbyBoYXZlIGEgbG9vayBhdCBgaWdub3JlZFZhbHVlc0Zuc2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IFt1bmRlZmluZWQsIG51bGwsIEluZmluaXR5LCAtSW5maW5pdHldXG4gICAqL1xuICBpZ25vcmVkVmFsdWVzPzogQXJyYXk8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIHZhbHVlIHNob3VsZCBiZSBpZ25vcmVkIHdoZW4gYnVpbGRpbmcgdGhlIHF1ZXJ5IHN0cmluZy5cbiAgICpcbiAgICogQWxzbyBoYXZlIGEgbG9vayBhdCBgaWdub3JlZFZhbHVlc2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtpc05hTiwgaXNFbXB0eVN0cmluZ11cbiAgICovXG4gIGlnbm9yZWRWYWx1ZXNGbnM/OiBBcnJheTwodmFsdWU6IHVua25vd24pID0+IGJvb2xlYW4+O1xufVxuIl19