@effect-app/infra 0.182.0 → 0.182.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 (85) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/_cjs/api/defaultErrorHandler.cjs +2 -2
  3. package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
  4. package/_cjs/api/routing/base.cjs +8 -8
  5. package/_cjs/api/routing/base.cjs.map +1 -1
  6. package/_cjs/api/routing/defaultErrorHandler.cjs +3 -3
  7. package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -1
  8. package/_cjs/api/routing/makeRequestHandler.cjs +5 -5
  9. package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
  10. package/_cjs/errorReporter.cjs +1 -1
  11. package/_cjs/errorReporter.cjs.map +1 -1
  12. package/_cjs/rateLimit.cjs +6 -6
  13. package/_cjs/rateLimit.cjs.map +1 -1
  14. package/_cjs/services/Emailer/fake.cjs +1 -1
  15. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  16. package/_cjs/services/Operations/live.cjs +4 -4
  17. package/_cjs/services/Operations/live.cjs.map +1 -1
  18. package/_cjs/services/Operations/service.cjs +3 -3
  19. package/_cjs/services/Operations/service.cjs.map +1 -1
  20. package/_cjs/services/QueueMaker/errors.cjs +2 -2
  21. package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
  22. package/_cjs/services/QueueMaker/memQueue.cjs +4 -4
  23. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  24. package/_cjs/services/QueueMaker/sbqueue.cjs +1 -1
  25. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  26. package/_cjs/services/Repository/dsl.cjs +2 -2
  27. package/_cjs/services/Repository/dsl.cjs.map +1 -1
  28. package/_cjs/services/Repository/ext.cjs +14 -14
  29. package/_cjs/services/Repository/ext.cjs.map +1 -1
  30. package/_cjs/services/RepositoryBase.cjs +26 -26
  31. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  32. package/_cjs/services/RequestContextContainer.cjs +7 -7
  33. package/_cjs/services/RequestContextContainer.cjs.map +1 -1
  34. package/_cjs/services/Store/ContextMapContainer.cjs +6 -6
  35. package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
  36. package/_cjs/services/Store/Cosmos.cjs +14 -12
  37. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  38. package/_cjs/services/Store/Disk.cjs +15 -15
  39. package/_cjs/services/Store/Disk.cjs.map +1 -1
  40. package/_cjs/services/Store/Memory.cjs +19 -19
  41. package/_cjs/services/Store/Memory.cjs.map +1 -1
  42. package/_cjs/services/Store/Redis.cjs +23 -23
  43. package/_cjs/services/Store/Redis.cjs.map +1 -1
  44. package/_cjs/services/simpledb/cosmosdb.cjs +9 -9
  45. package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
  46. package/_cjs/services/simpledb/diskdb.cjs +14 -14
  47. package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
  48. package/_cjs/services/simpledb/memdb.cjs +10 -10
  49. package/_cjs/services/simpledb/memdb.cjs.map +1 -1
  50. package/_cjs/services/simpledb/mongodb.cjs +11 -11
  51. package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
  52. package/_cjs/services/simpledb/redisdb.cjs +21 -21
  53. package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
  54. package/_cjs/services/simpledb/simpledb.cjs +5 -5
  55. package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
  56. package/dist/api/defaultErrorHandler.js +7 -3
  57. package/dist/api/routing/base.js +15 -14
  58. package/dist/api/routing/defaultErrorHandler.js +10 -4
  59. package/dist/api/routing/makeRequestHandler.js +11 -6
  60. package/dist/errorReporter.js +2 -2
  61. package/dist/rateLimit.js +10 -7
  62. package/dist/services/Emailer/fake.js +3 -2
  63. package/dist/services/Operations/live.js +7 -6
  64. package/dist/services/Operations/service.js +10 -7
  65. package/dist/services/QueueMaker/errors.js +3 -3
  66. package/dist/services/QueueMaker/memQueue.js +11 -8
  67. package/dist/services/QueueMaker/sbqueue.js +5 -3
  68. package/dist/services/Repository/dsl.js +3 -3
  69. package/dist/services/Repository/ext.js +28 -15
  70. package/dist/services/RepositoryBase.js +46 -29
  71. package/dist/services/RequestContextContainer.js +12 -10
  72. package/dist/services/Store/ContextMapContainer.js +12 -9
  73. package/dist/services/Store/Cosmos.js +34 -21
  74. package/dist/services/Store/Disk.js +20 -16
  75. package/dist/services/Store/Memory.js +32 -25
  76. package/dist/services/Store/Redis.js +38 -27
  77. package/dist/services/simpledb/cosmosdb.js +20 -11
  78. package/dist/services/simpledb/diskdb.js +25 -19
  79. package/dist/services/simpledb/memdb.js +16 -12
  80. package/dist/services/simpledb/mongodb.js +19 -11
  81. package/dist/services/simpledb/redisdb.d.ts +3 -3
  82. package/dist/services/simpledb/redisdb.js +32 -20
  83. package/dist/services/simpledb/shared.d.ts +5 -5
  84. package/dist/services/simpledb/simpledb.js +14 -9
  85. package/package.json +4 -4
@@ -53,35 +53,43 @@ export class RepositoryBaseC3 extends RepositoryBaseC2 {
53
53
  this.saveWithEvents = (events) => (...items) => this.saveAndPublish(items, events);
54
54
  }
55
55
  get(id) {
56
- return tsplus_module_2.flatMap(this
57
- .find(id), (_) => tsplus_module_1.encaseMaybeInEffect_(_, () => new NotFoundError({ type: this.itemType, id })));
56
+ return this
57
+ .find(id)
58
+ .flatMap((_) => tsplus_module_1.encaseMaybeInEffect_(_, () => new NotFoundError({ type: this.itemType, id })));
58
59
  }
59
60
  removeById(id) {
60
61
  return this.get(id).andThen((_) => this.removeAndPublish([_]));
61
62
  }
62
63
  projectEffect(map) {
63
64
  // TODO: a projection that gets sent to the db instead.
64
- return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.map(this
65
+ return map.flatMap((f) => this
65
66
  .utils
66
- .filter(f), (_) => f.collect ? _.filterMap(f.collect) : _));
67
+ .filter(f)
68
+ .map((_) => f.collect ? _.filterMap(f.collect) : _));
67
69
  }
68
70
  project(map) {
69
71
  return this.projectEffect(tsplus_module_2.sync(() => map));
70
72
  }
71
73
  count(filter) {
72
- return tsplus_module_2.map(this
73
- .projectEffect(tsplus_module_2.sync(() => ({ filter }))), (_) => tsplus_module_3.NonNegativeInt(_.length));
74
+ return this
75
+ .projectEffect(tsplus_module_2.sync(() => ({ filter })))
76
+ .map((_) => tsplus_module_3.NonNegativeInt(_.length));
74
77
  }
75
78
  queryEffect(
76
79
  // TODO: think about collectPM, collectE, and collect(Parsed)
77
80
  map) {
78
- return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.map(tsplus_module_2.flatMap((f.filter ? this.utils.filter(f) : this.utils.all), (_) => this.utils.parseMany(_)), (_) => f.collect ? _.filterMap(f.collect) : _));
81
+ return map.flatMap((f) => (f.filter ? this.utils.filter(f) : this.utils.all)
82
+ .flatMap((_) => this.utils.parseMany(_))
83
+ .map((_) => f.collect ? _.filterMap(f.collect) : _));
79
84
  }
80
85
  queryOneEffect(
81
86
  // TODO: think about collectPM, collectE, and collect(Parsed)
82
87
  map) {
83
- return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.flatMap(tsplus_module_2.flatMap((f.filter ? this.utils.filter({ filter: f.filter, limit: 1 }) : this.utils.all), (_) => this.utils.parseMany(_)), (_) => tsplus_module_2.map(tsplus_module_1.encaseMaybeInEffect_((f.collect ? _.filterMap(f.collect) : _)
84
- .toNonEmpty, () => new NotFoundError({ type: this.itemType, id: f.filter })), (_) => _[0])));
88
+ return map.flatMap((f) => (f.filter ? this.utils.filter({ filter: f.filter, limit: 1 }) : this.utils.all)
89
+ .flatMap((_) => this.utils.parseMany(_))
90
+ .flatMap((_) => tsplus_module_1.encaseMaybeInEffect_((f.collect ? _.filterMap(f.collect) : _)
91
+ .toNonEmpty, () => new NotFoundError({ type: this.itemType, id: f.filter }))
92
+ .map((_) => _[0])));
85
93
  }
86
94
  query(
87
95
  // TODO: think about collectPM, collectE, and collect(Parsed)
@@ -92,13 +100,15 @@ export class RepositoryBaseC3 extends RepositoryBaseC2 {
92
100
  return this.queryOneEffect(tsplus_module_2.sync(() => map));
93
101
  }
94
102
  queryAndSaveOnePureEffect(map) {
95
- return (pure) => tsplus_module_2.flatMap(queryOneEffect(this, map), (_) => saveWithPure_(this, _, pure));
103
+ return (pure) => queryOneEffect(this, map)
104
+ .flatMap((_) => saveWithPure_(this, _, pure));
96
105
  }
97
106
  queryAndSaveOnePure(map) {
98
107
  return this.queryAndSaveOnePureEffect(tsplus_module_2.sync(() => map));
99
108
  }
100
109
  queryAndSavePureEffect(map) {
101
- return (pure) => tsplus_module_2.flatMap(queryEffect(this, map), (_) => this.saveManyWithPure_(_, pure));
110
+ return (pure) => queryEffect(this, map)
111
+ .flatMap((_) => this.saveManyWithPure_(_, pure));
102
112
  }
103
113
  queryAndSavePure(map) {
104
114
  return this.queryAndSavePureEffect(tsplus_module_2.sync(() => map));
@@ -107,7 +117,7 @@ export class RepositoryBaseC3 extends RepositoryBaseC2 {
107
117
  return (pure) => (items) => saveManyWithPure_(this, items, pure);
108
118
  }
109
119
  byIdAndSaveWithPure(id) {
110
- return (pure) => tsplus_module_2.flatMap(get(this, id), (item) => saveWithPure_(this, item, pure));
120
+ return (pure) => get(this, id).flatMap((item) => saveWithPure_(this, item, pure));
111
121
  }
112
122
  /**
113
123
  * NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
@@ -119,15 +129,18 @@ export class RepositoryBaseC3 extends RepositoryBaseC2 {
119
129
  return saveAllWithEffectInt(this, tsplus_module_4.runTerm(pure, [...items]));
120
130
  }
121
131
  saveWithPure_(item, pure) {
122
- return saveAllWithEffectInt(this, tsplus_module_2.map(tsplus_module_4.runTerm(pure, item), ([item, events, a]) => [[item], events, a]));
132
+ return saveAllWithEffectInt(this, tsplus_module_4.runTerm(pure, item)
133
+ .map(([item, events, a]) => [[item], events, a]));
123
134
  }
124
135
  saveAllWithEffectInt(gen) {
125
- return tsplus_module_2.flatMap(gen, ([items, events, a]) => tsplus_module_2.map(this.saveAndPublish(items, events), () => a));
136
+ return gen
137
+ .flatMap(([items, events, a]) => this.saveAndPublish(items, events).map(() => a));
126
138
  }
127
139
  queryAndSavePureEffectBatched(
128
140
  // TODO: think about collectPM, collectE, and collect(Parsed)
129
141
  map, batchSize = 100) {
130
- return (pure) => tsplus_module_2.flatMap(queryEffect(this, map), (_) => this.saveManyWithPureBatched_(_, pure, batchSize));
142
+ return (pure) => queryEffect(this, map)
143
+ .flatMap((_) => this.saveManyWithPureBatched_(_, pure, batchSize));
131
144
  }
132
145
  queryAndSavePureBatched(
133
146
  // TODO: think about collectPM, collectE, and collect(Parsed)
@@ -167,8 +180,8 @@ export function makeRepo() {
167
180
  return tsplus_module_2.flatMap(tsplus_module_2.context(), pubCfg => {
168
181
  const pub = "publishEvents" in args ? tsplus_module_10.flow(args.publishEvents, (_) => tsplus_module_2.provide(_, pubCfg)) : () => tsplus_module_2.unit;
169
182
  return tsplus_module_2.map(tsplus_module_11.unbounded(), changeFeed => {
170
- const allE = tsplus_module_2.flatMap(store.all, (items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
171
- const all = tsplus_module_2.flatMap(allE, (_) => _.forEachEffect((_) => decode(_), { concurrency: "inherit", batching: true }).orDie);
183
+ const allE = store.all.flatMap((items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
184
+ const all = allE.flatMap((_) => _.forEachEffect((_) => decode(_), { concurrency: "inherit", batching: true }).orDie);
172
185
  const structSchema = schema;
173
186
  const i = ("struct" in structSchema ? structSchema["struct"] : schema).pipe((_) => _.ast._tag === "Union"
174
187
  // we need to get the TypeLiteral, incase of class it's behind a transform...
@@ -188,10 +201,12 @@ export function makeRepo() {
188
201
  .pick("id")));
189
202
  const encodeId = tsplus_module_10.flow(tsplus_module_9.encode(i), tsplus_module_2.provide(rctx));
190
203
  function findE(_id) {
191
- return tsplus_module_2.flatMap(tsplus_module_2.map(encodeId({ id: _id }), (_) => _.id)
204
+ return encodeId({ id: _id })
205
+ .map((_) => _.id)
192
206
  .orDie
193
207
  .andThen((id) => store
194
- .find(id)), (items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
208
+ .find(id))
209
+ .flatMap((items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
195
210
  }
196
211
  function find(id) {
197
212
  return tsplus_module_8.flatMapOption(findE(id), (_) => decode(_).orDie);
@@ -235,14 +250,14 @@ export function makeRepo() {
235
250
  * @internal
236
251
  */
237
252
  utils: {
238
- parseMany: (items) => tsplus_module_2.flatMap(cms, (cm) => items
253
+ parseMany: (items) => cms.flatMap((cm) => items
239
254
  .forEachEffect((_) => decode(mapReverse(_, cm.set)), { concurrency: "inherit", batching: true })
240
255
  .orDie),
241
256
  filter: (args) => store
242
257
  .filter(args)
243
258
  .tap((items) => args.select
244
- ? tsplus_module_2.unit : tsplus_module_2.map(cms, ({ set }) => items.forEach((_) => set(_.id, _._etag)))),
245
- all: store.all.tap((items) => tsplus_module_2.map(cms, ({ set }) => items.forEach((_) => set(_.id, _._etag))))
259
+ ? tsplus_module_2.unit : cms.map(({ set }) => items.forEach((_) => set(_.id, _._etag)))),
260
+ all: store.all.tap((items) => cms.map(({ set }) => items.forEach((_) => set(_.id, _._etag))))
246
261
  },
247
262
  changeFeed,
248
263
  itemType: name,
@@ -269,7 +284,7 @@ export function makeRepo() {
269
284
  * @tsplus fluent Repository removeById
270
285
  */
271
286
  export function removeById(self, id) {
272
- return tsplus_module_2.flatMap(tsplus_module_12.get(self, id), (_) => self.removeAndPublish([_]));
287
+ return tsplus_module_12.get(self, id).flatMap((_) => self.removeAndPublish([_]));
273
288
  }
274
289
  export function makeWhere() {
275
290
  const f_ = makeFilters();
@@ -296,15 +311,17 @@ export function makeStore() {
296
311
  return (name, schema, mapTo) => {
297
312
  function encodeToPM() {
298
313
  const getEtag = () => undefined;
299
- return (t) => tsplus_module_2.map(tsplus_module_9.encode(schema)(t)
300
- .orDie, (_) => mapToPersistenceModel(_, getEtag));
314
+ return (t) => tsplus_module_9.encode(schema)(t)
315
+ .orDie
316
+ .map((_) => mapToPersistenceModel(_, getEtag));
301
317
  }
302
318
  function mapToPersistenceModel(e, getEtag) {
303
319
  return mapTo(e, getEtag(e.id));
304
320
  }
305
321
  function makeStore(makeInitial, config) {
306
322
  return tsplus_module_2.flatMap(StoreMaker, ({ make }) => tsplus_module_2.map(make(pluralize(name), makeInitial
307
- ? tsplus_module_2.withSpan((tsplus_module_2.flatMap(makeInitial, (_) => _.forEachEffect(encodeToPM()))), "Repository.makeInitial [effect-app/infra]", {
323
+ ? tsplus_module_2.withSpan((makeInitial
324
+ .flatMap((_) => _.forEachEffect(encodeToPM()))), "Repository.makeInitial [effect-app/infra]", {
308
325
  attributes: { "repository.model_name": name }
309
326
  })
310
327
  : undefined, {
@@ -330,7 +347,7 @@ export const RepositoryBaseImpl = () => {
330
347
  }
331
348
  }
332
349
  Cls.make = mkRepo.make;
333
- Cls.makeWith = ((a, b) => tsplus_module_2.map(mkRepo.make(a), b));
350
+ Cls.makeWith = ((a, b) => mkRepo.make(a).map(b));
334
351
  Cls.Where = makeWhere();
335
352
  Cls.Query = QueryBuilder.make();
336
353
  Cls.type = undefined;
@@ -346,11 +363,11 @@ export const RepositoryDefaultImpl = () => {
346
363
  }
347
364
  }
348
365
  Cls.make = mkRepo.make;
349
- Cls.makeWith = ((a, b) => tsplus_module_2.map(mkRepo.make(a), b));
366
+ Cls.makeWith = ((a, b) => mkRepo.make(a).map(b));
350
367
  Cls.Where = makeWhere();
351
368
  Cls.Query = QueryBuilder.make();
352
369
  Cls.type = undefined;
353
370
  return tsplus_module_13.assignTag()(Object.assign(Cls, makeRepoFunctions(Cls))); // impl is missing, but its marked protected
354
371
  };
355
372
  };
356
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELG9FQUFvRTtBQUNwRSxPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixHQUFHLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFFZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2QsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBS3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBMEIsYUFBYSxFQUF1QyxNQUFNLGNBQWMsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGVBQWU7Q0F3QnBDO0FBRUQsTUFBTSxPQUFnQixnQkFLcEIsU0FBUSxlQUFxQztJQUM3QyxZQUNrQixRQUFrQjtRQUVsQyxLQUFLLEVBQUUsQ0FBQTtRQUZTLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUtYLFNBQVEsZ0JBQXNDO0lBQzlDLFlBQ0UsUUFBa0IsRUFDQyxJQUFzQztRQUV6RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFGSSxTQUFJLEdBQUosSUFBSSxDQUFrQztRQUkzRCxtREFBbUQ7UUFDMUMsbUJBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMs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
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELG9FQUFvRTtBQUNwRSxPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixHQUFHLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFFZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2QsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBS3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBMEIsYUFBYSxFQUF1QyxNQUFNLGNBQWMsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGVBQWU7Q0F3QnBDO0FBRUQsTUFBTSxPQUFnQixnQkFLcEIsU0FBUSxlQUFxQztJQUM3QyxZQUNrQixRQUFrQjtRQUVsQyxLQUFLLEVBQUUsQ0FBQTtRQUZTLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUtYLFNBQVEsZ0JBQXNDO0lBQzlDLFlBQ0UsUUFBa0IsRUFDQyxJQUFzQztRQUV6RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFGSSxTQUFJLEdBQUosSUFBSSxDQUFrQztRQUkzRCxtREFBbUQ7UUFDMUMsbUJBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMs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
@@ -1,7 +1,7 @@
1
1
  var _a;
2
2
  import * as tsplus_module_1 from "effect-app/service";
3
- import * as tsplus_module_2 from "effect/Effect";
4
- import * as tsplus_module_3 from "effect/Option";
3
+ import * as tsplus_module_2 from "effect/Option";
4
+ import * as tsplus_module_3 from "effect/Effect";
5
5
  import * as tsplus_module_4 from "effect/Context";
6
6
  import * as tsplus_module_5 from "effect/FiberRef";
7
7
  import * as tsplus_module_6 from "@effect-app/infra/services/Store/Memory";
@@ -15,19 +15,21 @@ import { RequestContext } from "../RequestContext.js";
15
15
  */
16
16
  export class RequestContextContainer extends tsplus_module_1.TagClassId()("effect-app/RequestContextContainer") {
17
17
  static get get() {
18
- return tsplus_module_2.flatMap(_a, (_) => _.requestContext);
18
+ return _a.flatMap((_) => _.requestContext);
19
19
  }
20
20
  static get getOption() {
21
- return tsplus_module_2.flatMap(tsplus_module_2.contextWith((_) => tsplus_module_4.getOption(_, _a)), (requestContext) => tsplus_module_3.isSome(requestContext)
22
- ? tsplus_module_2.map(requestContext.value.requestContext, tsplus_module_3.some)
23
- : tsplus_module_2.sync(() => tsplus_module_3.none()));
21
+ return tsplus_module_3.contextWith((_) => tsplus_module_4.getOption(_, _a))
22
+ .flatMap((requestContext) => tsplus_module_2.isSome(requestContext)
23
+ ? requestContext.value.requestContext.map(tsplus_module_2.some)
24
+ : tsplus_module_3.sync(() => tsplus_module_2.none()));
24
25
  }
25
26
  }
26
27
  _a = RequestContextContainer;
27
- RequestContextContainer.live = tsplus_module_8.scoped(_a)(tsplus_module_2.map(tsplus_module_2.sync(() => new RequestContext({ name: tsplus_module_7.NonEmptyString255("_root_"), rootId: RequestId("_root_"), locale: "en" }))
28
- .andThen((tsplus_module_5.make)), (ref) => new _a({
28
+ RequestContextContainer.live = tsplus_module_8.scoped(_a)(tsplus_module_3.sync(() => new RequestContext({ name: tsplus_module_7.NonEmptyString255("_root_"), rootId: RequestId("_root_"), locale: "en" }))
29
+ .andThen((tsplus_module_5.make))
30
+ .map((ref) => new _a({
29
31
  requestContext: tsplus_module_5.get(ref),
30
- update: (f) => tsplus_module_5.getAndUpdate(ref, f).tap((rc) => tsplus_module_2.annotateCurrentSpan(spanAttributes_1(rc))),
32
+ update: (f) => tsplus_module_5.getAndUpdate(ref, f).tap((rc) => tsplus_module_3.annotateCurrentSpan(spanAttributes_1(rc))),
31
33
  start: (a) => tsplus_module_5.set(ref, a).andThen(tsplus_module_6.restoreFromRequestContext(a))
32
34
  })));
33
35
  /** @tsplus static RequestContext.Ops Tag */
@@ -53,4 +55,4 @@ const spanAttributes_1 = (ctx) => ({
53
55
  : {})
54
56
  });
55
57
  export const spanAttributes = spanAttributes_1;
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHRDb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcXVlc3RDb250ZXh0Q29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFBLFVBQVUsRUFJbkQsQ0FBQyxvQ0FBb0MsQ0FBQztJQUN4QyxNQUFNLEtBQUssR0FBRztRQUNaLE9BQU8sd0JBQUEsRUFBdUIsRUFBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ2pFLENBQUM7SUFDRCxNQUFNLEtBQUssU0FBUztRQUNsQixPQUFPLHdCQUFBLDRCQUNRLENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMsMEJBQWtCLENBQUMsRUFBRSxFQUF1QixDQUFDLENBQUMsRUFDekUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUMxQix1QkFBQSxjQUFjLENBQVM7WUFDckIsQ0FBQyxDQUFDLG9CQUFBLGNBQWMsQ0FBQyxLQUFLLENBQUMsY0FBYyx1QkFBaUI7WUFDdEQsQ0FBQyxDQUFDLHFCQUFZLEdBQUcsRUFBRSxDQUFDLHNCQUFhLENBQUMsQ0FDckMsQ0FBQTtJQUNMLENBQUM7OztBQUNlLDRCQUFJLEdBQUcsdUJBV04sRUFBSSxFQVhFLG9CQUFBLHFCQUNmLEdBQUcsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFBLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDaEgsT0FBTyxDQUFDLENBQUEsb0JBQTZCLENBQUEsQ0FBQyxFQUNsQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ1gsSUFBSSxFQUF1QixDQUFDO0lBQzFCLGNBQWMsc0JBQUUsR0FBRyxDQUFJO0lBQ3ZCLE1BQU0sRUFBRSxDQUFDLENBQXdDLEVBQUUsRUFBRSxDQUNuRCw2QkFBQSxHQUFHLEVBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxxREFBMkIsRUFBRSxFQUFnQixDQUFDO0lBQ2hGLEtBQUssRUFBRSxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLG9CQUFBLEdBQUcsRUFBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLDJDQUFDLENBQUMsRUFBZ0I7Q0FDbkUsQ0FBQyxDQUNILENBQ21CLEFBWEYsQ0FXRTtBQUd4Qiw0Q0FBNEM7QUFDNUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLGdCQUFBLFVBQVUsQ0FBaUIsaUJBQWlCLENBQUMsQ0FBQTtBQUVsRTs7R0FFRztBQUNJLE1BQU0sbUJBQWlCLENBQUMsR0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQUU7SUFDcEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxJQUFJO0lBQ3hCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxNQUFNO0lBQzVCLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxTQUFTO0lBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUc7UUFDdEIsQ0FBQyxDQUFDO1lBQ0Esa0JBQWtCLEVBQUUsR0FBRztpQkFDcEIsV0FBVztpQkFDWCxHQUFHO1lBQ04sb0JBQW9CLEVBQUUsT0FBTyxJQUFJLEdBQUc7aUJBQy9CLFdBQVc7Z0JBQ2QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSztnQkFDdkIsQ0FBQyxDQUFDLFNBQVM7U0FDZDtRQUNELENBQUMsQ0FBQyxFQUFFLENBQUM7Q0FDUixDQUFDLENBQUE7YUFoQlcsY0FBYyJ9
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHRDb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcXVlc3RDb250ZXh0Q29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFBLFVBQVUsRUFJbkQsQ0FBQyxvQ0FBb0MsQ0FBQztJQUN4QyxNQUFNLEtBQUssR0FBRztRQUNaLE9BQU8sRUFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUNqRSxDQUFDO0lBQ0QsTUFBTSxLQUFLLFNBQVM7UUFDbEIsT0FBTyw0QkFDUSxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLDBCQUFrQixDQUFDLEVBQUUsRUFBdUIsQ0FBQyxDQUFDO2FBQ2pGLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQzFCLHVCQUFBLGNBQWMsQ0FBUztZQUNyQixDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxzQkFBYTtZQUN0RCxDQUFDLENBQUMscUJBQVksR0FBRyxFQUFFLENBQUMsc0JBQWEsQ0FBQyxDQUNyQyxDQUFBO0lBQ0wsQ0FBQzs7O0FBQ2UsNEJBQUksR0FBRyx1QkFXTixFQUFJLEVBWEUscUJBQ2YsR0FBRyxFQUFFLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQUEsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNoSCxPQUFPLENBQUMsQ0FBQSxvQkFBNkIsQ0FBQSxDQUFDO0tBQ3RDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ1gsSUFBSSxFQUF1QixDQUFDO0lBQzFCLGNBQWMsc0JBQUUsR0FBRyxDQUFJO0lBQ3ZCLE1BQU0sRUFBRSxDQUFDLENBQXdDLEVBQUUsRUFBRSxDQUNuRCw2QkFBQSxHQUFHLEVBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxxREFBMkIsRUFBRSxFQUFnQixDQUFDO0lBQ2hGLEtBQUssRUFBRSxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLG9CQUFBLEdBQUcsRUFBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLDJDQUFDLENBQUMsRUFBZ0I7Q0FDbkUsQ0FBQyxDQUNILENBQ21CLEFBWEYsQ0FXRTtBQUd4Qiw0Q0FBNEM7QUFDNUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLGdCQUFBLFVBQVUsQ0FBaUIsaUJBQWlCLENBQUMsQ0FBQTtBQUVsRTs7R0FFRztBQUNJLE1BQU0sbUJBQWlCLENBQUMsR0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQUU7SUFDcEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxJQUFJO0lBQ3hCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxNQUFNO0lBQzVCLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxTQUFTO0lBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUc7UUFDdEIsQ0FBQyxDQUFDO1lBQ0Esa0JBQWtCLEVBQUUsR0FBRztpQkFDcEIsV0FBVztpQkFDWCxHQUFHO1lBQ04sb0JBQW9CLEVBQUUsT0FBTyxJQUFJLEdBQUc7aUJBQy9CLFdBQVc7Z0JBQ2QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSztnQkFDdkIsQ0FBQyxDQUFDLFNBQVM7U0FDZDtRQUNELENBQUMsQ0FBQyxFQUFFLENBQUM7Q0FDUixDQUFDLENBQUE7YUFoQlcsY0FBYyJ9
@@ -1,7 +1,7 @@
1
1
  var _a;
2
2
  import * as tsplus_module_1 from "effect-app/service";
3
- import * as tsplus_module_2 from "effect/Effect";
4
- import * as tsplus_module_3 from "effect/Option";
3
+ import * as tsplus_module_2 from "effect/Option";
4
+ import * as tsplus_module_3 from "effect/Effect";
5
5
  import * as tsplus_module_4 from "effect/Context";
6
6
  import * as tsplus_module_5 from "effect/FiberRef";
7
7
  import * as tsplus_module_6 from "effect/Layer";
@@ -16,17 +16,20 @@ import { ContextMap } from "./service.js";
16
16
  */
17
17
  export class ContextMapContainer extends tsplus_module_1.TagClassId()("effect-app/ContextMapContainer") {
18
18
  static get get() {
19
- return tsplus_module_2.flatMap(_a, (_) => _.get);
19
+ return _a.flatMap((_) => _.get);
20
20
  }
21
21
  static get getOption() {
22
- return tsplus_module_2.flatMap(tsplus_module_2.contextWith((_) => tsplus_module_4.getOption(_, _a)), (ctx) => tsplus_module_3.isSome(ctx)
23
- ? tsplus_module_2.map(ctx.value.get, tsplus_module_3.some)
24
- : tsplus_module_2.sync(() => tsplus_module_3.none()));
22
+ return tsplus_module_3.contextWith((_) => tsplus_module_4.getOption(_, _a))
23
+ .flatMap((ctx) => tsplus_module_2.isSome(ctx)
24
+ ? ctx.value.get.map(tsplus_module_2.some)
25
+ : tsplus_module_3.sync(() => tsplus_module_2.none()));
25
26
  }
26
27
  }
27
28
  _a = ContextMapContainer;
28
- ContextMapContainer.live = tsplus_module_6.scoped(_a)(tsplus_module_2.map(tsplus_module_2.flatMap(ContextMap
29
- .make, (tsplus_module_5.make)), (ref) => new _a({ get: tsplus_module_5.get(ref), start: tsplus_module_2.flatMap(ContextMap.make, (_) => tsplus_module_5.set(ref, _)) })));
29
+ ContextMapContainer.live = tsplus_module_6.scoped(_a)(ContextMap
30
+ .make
31
+ .flatMap((tsplus_module_5.make))
32
+ .map((ref) => new _a({ get: tsplus_module_5.get(ref), start: ContextMap.make.flatMap((_) => tsplus_module_5.set(ref, _)) })));
30
33
  /** @tsplus static ContextMap.Ops Tag */
31
34
  export const RCTag = tsplus_module_4.GenericTag("@services/RCTag");
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvQ29udGV4dE1hcENvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6Qyw2REFBNkQ7QUFDN0QsMENBQTBDO0FBQzFDLHlFQUF5RTtBQUN6RSw0R0FBNEc7QUFDNUcseUZBQXlGO0FBRXpGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFBLFVBQVUsRUFHL0MsQ0FBQyxnQ0FBZ0MsQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRztRQUNaLE9BQU8sd0JBQUEsRUFBbUIsRUFBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssU0FBUztRQUNsQixPQUFPLHdCQUFBLDRCQUNRLENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMsMEJBQWtCLENBQUMsRUFBRSxFQUFtQixDQUFDLENBQUMsRUFDckUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNmLHVCQUFBLEdBQUcsQ0FBUztZQUNWLENBQUMsQ0FBQyxvQkFBQSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsdUJBQWlCO1lBQ2hDLENBQUMsQ0FBQyxxQkFBWSxHQUFHLEVBQUUsQ0FBQyxzQkFBYSxDQUFDLENBQ3JDLENBQUE7SUFDTCxDQUFDOzs7QUFFZSx3QkFBSSxHQUFHLHVCQUlOLEVBQUksRUFKRSxvQkFBQSx3QkFBQSxVQUFVO0tBQzlCLElBQUksRUFDSSxDQUFBLG9CQUF5QixDQUFBLENBQUMsRUFDOUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBbUIsQ0FBQyxFQUFFLEdBQUcsc0JBQUUsR0FBRyxDQUFJLEVBQUUsS0FBSyxFQUFFLHdCQUFBLFVBQVUsQ0FBQyxJQUFJLEVBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLG9CQUFBLEdBQUcsRUFBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN2RixBQUpGLENBSUU7QUFHeEIsd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxnQkFBQSxVQUFVLENBQWEsaUJBQWlCLENBQUMsQ0FBQSJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvQ29udGV4dE1hcENvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6Qyw2REFBNkQ7QUFDN0QsMENBQTBDO0FBQzFDLHlFQUF5RTtBQUN6RSw0R0FBNEc7QUFDNUcseUZBQXlGO0FBRXpGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFBLFVBQVUsRUFHL0MsQ0FBQyxnQ0FBZ0MsQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRztRQUNaLE9BQU8sRUFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBQ0QsTUFBTSxLQUFLLFNBQVM7UUFDbEIsT0FBTyw0QkFDUSxDQUFDLENBQWlCLEVBQUUsRUFBRSxDQUFDLDBCQUFrQixDQUFDLEVBQUUsRUFBbUIsQ0FBQyxDQUFDO2FBQzdFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2YsdUJBQUEsR0FBRyxDQUFTO1lBQ1YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsc0JBQWE7WUFDaEMsQ0FBQyxDQUFDLHFCQUFZLEdBQUcsRUFBRSxDQUFDLHNCQUFhLENBQUMsQ0FDckMsQ0FBQTtJQUNMLENBQUM7OztBQUVlLHdCQUFJLEdBQUcsdUJBSU4sRUFBSSxFQUpFLFVBQVU7S0FDOUIsSUFBSTtLQUNKLE9BQU8sQ0FBQyxDQUFBLG9CQUF5QixDQUFBLENBQUM7S0FDbEMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQW1CLENBQUMsRUFBRSxHQUFHLHNCQUFFLEdBQUcsQ0FBSSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsb0JBQUEsR0FBRyxFQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3ZGLEFBSkYsQ0FJRTtBQUd4Qix3Q0FBd0M7QUFDeEMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLGdCQUFBLFVBQVUsQ0FBYSxpQkFBaUIsQ0FBQyxDQUFBIn0=
@@ -65,7 +65,8 @@ function makeCosmosStore({ prefix }) {
65
65
  const batches = tsplus_module_4.toReadonlyArray(tsplus_module_3.chunk_(b, config?.maxBulkSize ?? 10));
66
66
  const batchResult = yield* $(batches
67
67
  .map((x, i) => [i, x])
68
- .forEachEffect(([i, batch]) => tsplus_module_1.flatMap(tsplus_module_1.delay(tsplus_module_1.promise(() => bulk(batch.map(([, op]) => op))), tsplus_module_5.millis(i === 0 ? 0 : 1100)), (responses) => tsplus_module_1.gen(function* ($) {
68
+ .forEachEffect(([i, batch]) => tsplus_module_1.delay(tsplus_module_1.promise(() => bulk(batch.map(([, op]) => op))), tsplus_module_5.millis(i === 0 ? 0 : 1100))
69
+ .flatMap((responses) => tsplus_module_1.gen(function* ($) {
69
70
  const r = responses.find((x) => x.statusCode === 412 || x.statusCode === 404);
70
71
  if (r) {
71
72
  return yield* $(tsplus_module_1.fail(new OptimisticConcurrencyException({ type: name, id: JSON.stringify(r.resourceBody?.["id"]) })));
@@ -108,7 +109,8 @@ function makeCosmosStore({ prefix }) {
108
109
  })
109
110
  ]);
110
111
  const ex = batch.map(([, c]) => c);
111
- return tsplus_module_1.flatMap(tsplus_module_1.promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey)), (x) => tsplus_module_1.gen(function* ($) {
112
+ return tsplus_module_1.promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey))
113
+ .flatMap((x) => tsplus_module_1.gen(function* ($) {
112
114
  const result = x.result ?? [];
113
115
  const firstFailed = result.find((x) => x.statusCode > 299 || x.statusCode < 200);
114
116
  if (firstFailed) {
@@ -128,25 +130,28 @@ function makeCosmosStore({ prefix }) {
128
130
  });
129
131
  };
130
132
  const s = {
131
- all: tsplus_module_1.withSpan(tsplus_module_1.flatMap(tsplus_module_1.sync(() => ({
133
+ all: tsplus_module_1.withSpan(tsplus_module_1.sync(() => ({
132
134
  query: `SELECT * FROM ${name} f WHERE f.id != @id`,
133
135
  parameters: [{ name: "@id", value: importedMarkerId }]
134
136
  }))
135
- .tap((q) => logQuery(q)), (q) => tsplus_module_1.promise(() => container
137
+ .tap((q) => logQuery(q))
138
+ .flatMap((q) => tsplus_module_1.promise(() => container
136
139
  .items
137
140
  .query(q)
138
141
  .fetchAll()
139
142
  .then(({ resources }) => resources))), "Cosmos.all [effect-app/infra/Store]", {
140
143
  attributes: { "repository.container_id": containerId, "repository.model_name": name }
141
144
  }),
142
- filterJoinSelect: (filter, cursor) => tsplus_module_1.withSpan(tsplus_module_1.map(filter
145
+ filterJoinSelect: (filter, cursor) => tsplus_module_1.withSpan(filter
143
146
  .keys
144
- .forEachEffect((k) => tsplus_module_1.flatMap(tsplus_module_1.sync(() => buildFilterJoinSelectCosmosQuery(filter, k, name, cursor?.skip, cursor?.limit))
145
- .tap((q) => logQuery(q)), (q) => tsplus_module_1.promise(() => container
147
+ .forEachEffect((k) => tsplus_module_1.sync(() => buildFilterJoinSelectCosmosQuery(filter, k, name, cursor?.skip, cursor?.limit))
148
+ .tap((q) => logQuery(q))
149
+ .flatMap((q) => tsplus_module_1.promise(() => container
146
150
  .items
147
151
  .query(q)
148
152
  .fetchAll()
149
- .then(({ resources }) => resources.map((_) => ({ ...defaultValues, ..._ })))))), (a) => {
153
+ .then(({ resources }) => resources.map((_) => ({ ...defaultValues, ..._ }))))))
154
+ .map((a) => {
150
155
  const v = a
151
156
  .flatMap((_) => _)
152
157
  .map((x) => tsplus_module_6.spread(x, ({ r, ...rest }) => ({ ...rest, ...r })));
@@ -165,17 +170,20 @@ function makeCosmosStore({ prefix }) {
165
170
  // This is a problem if one of the multiple joined arrays can be empty!
166
171
  // https://stackoverflow.com/questions/60320780/azure-cosmosdb-sql-join-not-returning-results-when-the-child-contains-empty-arra
167
172
  // so we use multiple queries instead.
168
- ? tsplus_module_1.map(filter
173
+ ? filter
169
174
  .keys
170
- .forEachEffect((k) => tsplus_module_1.flatMap(tsplus_module_1.sync(() => buildFindJoinCosmosQuery(filter, k, name, skip, limit))
171
- .tap((q) => logQuery(q)), (q) => tsplus_module_1.promise(() => container
175
+ .forEachEffect((k) => tsplus_module_1.sync(() => buildFindJoinCosmosQuery(filter, k, name, skip, limit))
176
+ .tap((q) => logQuery(q))
177
+ .flatMap((q) => tsplus_module_1.promise(() => container
172
178
  .items
173
179
  .query(q)
174
180
  .fetchAll()
175
- .then(({ resources }) => resources.map((_) => ({ ...defaultValues, ..._ })))))), (_) => _.flatMap((_) => _))
181
+ .then(({ resources }) => resources.map((_) => ({ ...defaultValues, ..._ }))))))
182
+ .map((_) => _.flatMap((_) => _))
176
183
  : (filter.type === "new-kid"
177
- ? tsplus_module_1.flatMap(tsplus_module_1.sync(() => buildWhereCosmosQuery3(filter.build(), name, importedMarkerId, defaultValues, f.select, skip, limit))
178
- .tap((q) => logQuery(q)), (q) => tsplus_module_1.promise(() => f.select
184
+ ? tsplus_module_1.sync(() => buildWhereCosmosQuery3(filter.build(), name, importedMarkerId, defaultValues, f.select, skip, limit))
185
+ .tap((q) => logQuery(q))
186
+ .flatMap((q) => tsplus_module_1.promise(() => f.select
179
187
  ? container
180
188
  .items
181
189
  .query(q)
@@ -186,8 +194,9 @@ function makeCosmosStore({ prefix }) {
186
194
  .query(q)
187
195
  .fetchAll()
188
196
  .then(({ resources }) => resources.map((_) => ({ ...defaultValues, ..._.f })))))
189
- : tsplus_module_1.flatMap(tsplus_module_1.sync(() => buildCosmosQuery(filter, name, importedMarkerId, defaultValues, skip, limit))
190
- .tap((q) => logQuery(q)), (q) => tsplus_module_1.promise(() => container
197
+ : tsplus_module_1.sync(() => buildCosmosQuery(filter, name, importedMarkerId, defaultValues, skip, limit))
198
+ .tap((q) => logQuery(q))
199
+ .flatMap((q) => tsplus_module_1.promise(() => container
191
200
  .items
192
201
  .query(q)
193
202
  .fetchAll()
@@ -201,7 +210,7 @@ function makeCosmosStore({ prefix }) {
201
210
  .then(({ resource }) => tsplus_module_2.fromNullable(resource).map((_) => ({ ...defaultValues, ..._ })))), "Cosmos.find [effect-app/infra/Store]", {
202
211
  attributes: { "repository.container_id": containerId, "repository.model_name": name }
203
212
  }),
204
- set: (e) => tsplus_module_1.withSpan(tsplus_module_1.flatMap(tsplus_module_2.match(tsplus_module_2.fromNullable(e._etag), {
213
+ set: (e) => tsplus_module_1.withSpan(tsplus_module_2.match(tsplus_module_2.fromNullable(e._etag), {
205
214
  onNone: () => tsplus_module_1.promise(() => container.items.create({
206
215
  ...e,
207
216
  _partitionKey: config?.partitionValue(e)
@@ -212,7 +221,8 @@ function makeCosmosStore({ prefix }) {
212
221
  condition: eTag
213
222
  }
214
223
  }))
215
- }), (x) => {
224
+ })
225
+ .flatMap((x) => {
216
226
  if (x.statusCode === 412 || x.statusCode === 404) {
217
227
  return new OptimisticConcurrencyException({ type: name, id: e.id });
218
228
  }
@@ -241,8 +251,11 @@ function makeCosmosStore({ prefix }) {
241
251
  console.log("Creating mock data for " + name);
242
252
  if (seed) {
243
253
  const m = yield* $(seed);
244
- yield* $(tsplus_module_8.flatMapOption(tsplus_module_1.succeed(tsplus_module_7.CollectionToNonEmptyReadonlyArray(m)), (a) => tsplus_module_1.delay(tsplus_module_1.orDie(s
245
- .bulkSet(a)), tsplus_module_5.millis(1100))));
254
+ yield* $(tsplus_module_8.flatMapOption(tsplus_module_1.succeed(tsplus_module_7.CollectionToNonEmptyReadonlyArray(m)), (a) => tsplus_module_1.delay(s
255
+ .bulkSet(a)
256
+ .orDie
257
+ // we delay extra here, so that initial creation between Companies/POs also have an interval between them.
258
+ , tsplus_module_5.millis(1100))));
246
259
  }
247
260
  // Mark as imported
248
261
  yield* $(tsplus_module_1.promise(() => container.items.create({
@@ -259,4 +272,4 @@ export function CosmosStoreLayer(cfg) {
259
272
  return tsplus_module_10.provide(StoreMaker
260
273
  .toLayer(makeCosmosStore(cfg)), CosmosClientLayer(tsplus_module_9.value(cfg.url), cfg.dbName));
261
274
  }
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29zbW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9Db3Ntb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixRQUFRLEVBQ1QsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBVXpDLE1BQU0sc0JBQXNCO0lBQzFCLFlBQXFCLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztDQUN6QyxDQUFDLG9EQUFvRDtBQUV0RCxTQUFTLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBaUI7SUFDaEQsT0FBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckMsT0FBTztZQUNMLElBQUksRUFBRSxDQUNKLElBQVksRUFDWixJQUFpQyxFQUNqQyxNQUF3QixFQUN4QixFQUFFLENBQ0Ysb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxXQUFXLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUE7Z0JBQ3RDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUM7b0JBQzdDLEVBQUUsRUFBRSxXQUFXO29CQUNmLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVTt3QkFDakMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUU7d0JBQ25DLENBQUMsQ0FBQyxTQUFTO2lCQUNkLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQTtnQkFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQTtnQkFDakQsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDM0MsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDdkQsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUE7Z0JBRXBDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBZ0MsRUFBRSxFQUFFLENBQ25ELHlCQUFBLG9CQUNPLFFBQVEsQ0FBQyxFQUFDLENBQUM7b0JBQ2QsMkNBQTJDO29CQUMzQywrQ0FBK0M7b0JBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQ3RCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSjt3QkFDRSxDQUFDO3dCQUNELHNCQUFBLDZCQUFvQixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQU87NEJBQ2pDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FDWCxjQUFjLENBQUM7Z0NBQ2IsYUFBYSxFQUFFLFFBQWlCO2dDQUNoQyxZQUFZLEVBQUU7b0NBQ1osR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztvQ0FDbkIsYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO2lDQUN6QztnQ0FDRCxZQUFZLEVBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7NkJBQ3hDLENBQUM7NEJBQ0osTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDZixjQUFjLENBQUM7Z0NBQ2IsYUFBYSxFQUFFLFNBQWtCO2dDQUNqQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0NBQ1IsWUFBWSxFQUFFO29DQUNaLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUM7b0NBQ25CLGFBQWEsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztpQ0FDekM7Z0NBQ0QsT0FBTyxFQUFFLElBQUk7Z0NBQ2IsWUFBWSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDOzZCQUN4QyxDQUFDO3lCQUNMLENBQUM7cUJBQ00sQ0FDYixDQUFBO29CQUNELE1BQU0sT0FBTyxtQ0FBRyx1QkFBQSxDQUFDLEVBQU8sTUFBTSxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBZ0IsQ0FBQTtvQkFFbEUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUMxQixPQUFPO3lCQUNKLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBVSxDQUFDO3lCQUM5QixhQUFhLENBQ1osQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ2Isd0JBQUEsc0JBQUEsd0JBQ1csR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDeEMsdUJBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDbEMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNyQixvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO3dCQUNwQixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLEdBQUcsQ0FBQyxDQUFBO3dCQUM3RSxJQUFJLENBQUMsRUFBRSxDQUFDOzRCQUNOLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNiLHFCQUNFLElBQUksOEJBQThCLENBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUMzRCxDQUNGLENBQ0YsQ0FBQTt3QkFDSCxDQUFDO3dCQUNELE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQ3ZCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FDaEQsQ0FBQTt3QkFDRCxJQUFJLEVBQUUsRUFBRSxDQUFDOzRCQUNQLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNiLG9CQUNFLElBQUksc0JBQXNCLENBQ3hCLDZCQUE2QixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQzlDLENBQ0YsQ0FDRixDQUFBO3dCQUNILENBQUM7d0JBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7NEJBQzVCLEdBQUcsQ0FBQzs0QkFDSixvRUFBb0U7NEJBQ3BFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFFLENBQUMsSUFBSTt5QkFDMUIsQ0FBQyxDQUFDLENBQUE7b0JBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FDTixDQUNKLENBQUE7b0JBQ0QsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUEwQyxDQUFBO2dCQUNuRSxDQUFDLENBQUMsRUFDUSx5Q0FBeUMsRUFBRTtvQkFDbkQsVUFBVSxFQUFFLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRTtpQkFDdEYsQ0FBQyxDQUFBO2dCQUVOLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBZ0MsRUFBRSxFQUFFO29CQUNwRCxPQUFPLHlCQUFBLHdCQUNJLEdBQUcsRUFBRTt3QkFDWixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUMxQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0o7NEJBQ0UsQ0FBQzs0QkFDRCxzQkFBQSw2QkFBb0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFPO2dDQUNqQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztvQ0FDYixhQUFhLEVBQUUsUUFBaUI7b0NBQ2hDLFlBQVksRUFBRTt3Q0FDWixHQUFHLElBQUksQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDO3dDQUNuQixhQUFhLEVBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7cUNBQ2xDO2lDQUNULENBQUM7Z0NBQ0YsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29DQUNqQixhQUFhLEVBQUUsU0FBa0I7b0NBQ2pDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRTtvQ0FDUixZQUFZLEVBQUU7d0NBQ1osR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQzt3Q0FDbkIsYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO3FDQUNsQztvQ0FDUixPQUFPLEVBQUUsSUFBSTtpQ0FDZCxDQUFDOzZCQUNILENBQUM7eUJBQ00sQ0FDYixDQUFBO3dCQUVELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO3dCQUVsQyxPQUFPLHdCQUFBLHdCQUNJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUN2RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2Isb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQzs0QkFDcEIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUE7NEJBQzdCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzdCLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FDckQsQ0FBQTs0QkFDRCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dDQUNoQixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQTtnQ0FDeEMsSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztvQ0FDakMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2IsSUFBSSw4QkFBOEIsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQ2hFLENBQUE7Z0NBQ0gsQ0FBQztnQ0FFRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDYixvQkFDRSxJQUFJLHNCQUFzQixDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxDQUNqRSxDQUNGLENBQUE7NEJBQ0gsQ0FBQzs0QkFFRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQ0FDNUIsR0FBRyxDQUFDO2dDQUNKLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSTs2QkFDdkIsQ0FBQyxDQUF5QyxDQUFBO3dCQUM3QyxDQUFDLENBQUMsQ0FDSCxDQUFBO29CQUNMLENBQUMsQ0FBQyxFQUNRLDBDQUEwQyxFQUFFO3dCQUNwRCxVQUFVLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFO3FCQUN0RixDQUFDLENBQUE7Z0JBQ04sQ0FBQyxDQUFBO2dCQUVELE1BQU0sQ0FBQyxHQUFrQjtvQkFDdkIsR0FBRyxFQUFFLHlCQUFBLHdCQUFBLHFCQUNHLEdBQUcsRUFBRSxDQUFDLENBQUM7d0JBQ1gsS0FBSyxFQUFFLGlCQUFpQixJQUFJLHNCQUFzQjt3QkFDbEQsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO3FCQUN2RCxDQUFDLENBQUM7eUJBQ0YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDZixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2Isd0JBQWUsR0FBRyxFQUFFLENBQ2xCLFNBQVM7eUJBQ04sS0FBSzt5QkFDTCxLQUFLLENBQUssQ0FBQyxDQUFDO3lCQUNaLFFBQVEsRUFBRTt5QkFDVixJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FDdEMsQ0FDRixFQUNTLHFDQUFxQyxFQUFFO3dCQUMvQyxVQUFVLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFO3FCQUN0RixDQUFDO29CQUNKLGdCQUFnQixFQUFFLENBQ2hCLE1BQXdCLEVBQ3hCLE1BQTBDLEVBQzFDLEVBQUUsQ0FDRix5QkFBQSxvQkFBQSxNQUFNO3lCQUNILElBQUk7eUJBQ0osYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbkIsd0JBQUEscUJBQ1EsR0FBRyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7eUJBQzFGLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2YsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLHdCQUFlLEdBQUcsRUFBRSxDQUNsQixTQUFTO3lCQUNOLEtBQUs7eUJBQ0wsS0FBSyxDQUFJLENBQUMsQ0FBQzt5QkFDWCxRQUFRLEVBQUU7eUJBQ1YsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQy9FLENBQ0YsQ0FDSixFQUNJLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FBQzs2QkFDUixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzs2QkFDakIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDVCxnQkFBQSxNQUFNLENBQ0osQ0FBQyxFQUNELENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUE4QixDQUFBLENBQ3hFLENBQ0YsQ0FBQTt3QkFDSCxPQUFPLENBQUMsQ0FBQTtvQkFDVixDQUFDLENBQUMsRUFDUSxrREFBa0QsRUFBRTt3QkFDNUQsVUFBVSxFQUFFLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRTtxQkFDdEYsQ0FBQztvQkFDTjs7dUJBRUc7b0JBQ0gsTUFBTSxFQUFFLENBQ04sQ0FBb0IsRUFDcEIsRUFBRTt3QkFDRixNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFBO3dCQUNwQixNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFBO3dCQUN0QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUE7d0JBRS9ELE9BQU8seUJBQUEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFdBQVc7NEJBQ2pDLHVFQUF1RTs0QkFDdkUsZ0lBQWdJOzRCQUNoSSxzQ0FBc0M7NEJBQ3RDLENBQUMsQ0FBQyxvQkFBQSxNQUFNO2lDQUNMLElBQUk7aUNBQ0osYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbkIsd0JBQUEscUJBQ1EsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2lDQUNsRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNmLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsU0FBUztpQ0FDTixLQUFLO2lDQUNMLEtBQUssQ0FBSSxDQUFDLENBQUM7aUNBQ1gsUUFBUSxFQUFFO2lDQUNWLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUMvRSxDQUNGLENBQ0osRUFDSSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ2xDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUztnQ0FDMUIsQ0FBQyxDQUFDLHdCQUFBLHFCQUNNLEdBQUcsRUFBRSxDQUNULHNCQUFzQixDQUNwQixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQ2QsSUFBSSxFQUNKLGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsQ0FBQyxDQUFDLE1BQW1ELEVBQ3JELElBQUksRUFDSixLQUFLLENBQ04sQ0FDRjtxQ0FDQSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNmLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsQ0FBQyxDQUFDLE1BQU07b0NBQ04sQ0FBQyxDQUFDLFNBQVM7eUNBQ1IsS0FBSzt5Q0FDTCxLQUFLLENBQUksQ0FBQyxDQUFDO3lDQUNYLFFBQVEsRUFBRTt5Q0FDVixJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FDdEIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3BFO29DQUNILENBQUMsQ0FBQyxTQUFTO3lDQUNSLEtBQUs7eUNBQ0wsS0FBSyxDQUFXLENBQUMsQ0FBQzt5Q0FDbEIsUUFBUSxFQUFFO3lDQUNWLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDbkYsQ0FDRjtnQ0FDSCxDQUFDLENBQUMsd0JBQUEscUJBQ00sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO3FDQUN4RixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNmLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsU0FBUztxQ0FDTixLQUFLO3FDQUNMLEtBQUssQ0FBVyxDQUFDLENBQUM7cUNBQ2xCLFFBQVEsRUFBRTtxQ0FDVixJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ2pGLENBQ0YsQ0FBQyxDQUFDLEVBQ0csd0NBQXdDLEVBQUU7NEJBQ2xELFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7eUJBQ3RGLENBQUMsQ0FBQTtvQkFDTixDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ1gseUJBQUEsd0JBQ1csR0FBRyxFQUFFLENBQ1osU0FBUzt5QkFDTixJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQVEsQ0FBQyxDQUFDO3lCQUM5QyxJQUFJLEVBQU07eUJBQ1YsSUFBSSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsNkJBQW9CLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ2xHLEVBQ1Msc0NBQXNDLEVBQUU7d0JBQ2hELFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7cUJBQ3RGLENBQUM7b0JBQ04sR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDVCx5QkFBQSx3QkFBQSxzQkFBQSw2QkFDZ0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUVwQjt3QkFDRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQ1gsd0JBQWUsR0FBRyxFQUFFLENBQ2xCLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDOzRCQUNyQixHQUFHLENBQUM7NEJBQ0osYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO3lCQUN6QyxDQUFDLENBQ0g7d0JBQ0gsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDZix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3JELEVBQUUsR0FBRyxDQUFDLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDbEQ7NEJBQ0UsZUFBZSxFQUFFO2dDQUNmLElBQUksRUFBRSxTQUFTO2dDQUNmLFNBQVMsRUFBRSxJQUFJOzZCQUNoQjt5QkFDRixDQUNGLENBQ0Y7cUJBQ0osQ0FDRixFQUNRLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ2IsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRSxDQUFDOzRCQUNqRCxPQUFPLElBQUksOEJBQThCLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTt3QkFDckUsQ0FBQzt3QkFDRCxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUM7NEJBQzdDLE9BQU8sb0JBQ0wsSUFBSSxzQkFBc0IsQ0FDeEIsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FDN0MsQ0FDRixDQUFBO3dCQUNILENBQUM7d0JBQ0QsT0FBTyxxQkFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzRCQUN4QixHQUFHLENBQUM7NEJBQ0osS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJO3lCQUNkLENBQUMsQ0FBQyxDQUFBO29CQUNMLENBQUMsQ0FBQyxFQUNRLHFDQUFxQyxFQUFFO3dCQUMvQyxVQUFVLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFO3FCQUN0RixDQUFDO29CQUNOLFFBQVE7b0JBQ1IsT0FBTztvQkFDUCxNQUFNLEVBQUUsQ0FBQyxDQUFLLEVBQUUsRUFBRSxDQUNoQix5QkFBQSx3QkFDVyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQzlELHdDQUF3QyxFQUFFO3dCQUNsRCxVQUFVLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFFO3FCQUN0RixDQUFDO2lCQUNQLENBQUE7Z0JBRUQsbUJBQW1CO2dCQUNuQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ3JCLHdCQUFlLEdBQUcsRUFBRSxDQUNsQixTQUFTO3FCQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztxQkFDeEMsSUFBSSxFQUFrQjtxQkFDdEIsSUFBSSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsNkJBQW9CLFFBQVEsQ0FBQyxDQUFDLENBQ3pELENBQ0YsQ0FBQTtnQkFFRCxJQUFJLENBQUMsdUJBQUEsTUFBTSxDQUFTLEVBQUUsQ0FBQztvQkFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsQ0FBQTtvQkFDN0MsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDVCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7d0JBQ3hCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTiw4QkFBQSwwRUFDVyxDQUFDLEVBQWlCLEVBQ2YsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNoQiw0Q0FBQSxDQUFDOzZCQUNFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FHSix1QkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FDaEMsQ0FDSixDQUFBO29CQUNILENBQUM7b0JBQ0QsbUJBQW1CO29CQUNuQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ04sd0JBQWUsR0FBRyxFQUFFLENBQ2xCLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO3dCQUNyQixhQUFhLEVBQUUsZ0JBQWdCO3dCQUMvQixFQUFFLEVBQUUsZ0JBQWdCO3FCQUNyQixDQUFDLENBQ0gsQ0FDRixDQUFBO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxDQUFDLENBQUE7WUFDVixDQUFDLENBQUM7U0FDTCxDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEdBQWtCO0lBQ2pELE9BQU8seUJBQUEsVUFBVTtTQUNkLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDckIsaUJBQWlCLHVCQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7QUFDMUQsQ0FBQyJ9
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29zbW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9Db3Ntb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixRQUFRLEVBQ1QsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBVXpDLE1BQU0sc0JBQXNCO0lBQzFCLFlBQXFCLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztDQUN6QyxDQUFDLG9EQUFvRDtBQUV0RCxTQUFTLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBaUI7SUFDaEQsT0FBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckMsT0FBTztZQUNMLElBQUksRUFBRSxDQUNKLElBQVksRUFDWixJQUFpQyxFQUNqQyxNQUF3QixFQUN4QixFQUFFLENBQ0Ysb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxXQUFXLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUE7Z0JBQ3RDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsRUFBRSxDQUFDLFVBQVUs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