@multiplatform.one/frappe 7.10.0 → 7.15.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 (239) hide show
  1. package/README.md +59 -1
  2. package/dist/cjs/auth.native.js.map +1 -1
  3. package/dist/cjs/call.native.js.map +1 -1
  4. package/dist/cjs/collection.native.js.map +1 -1
  5. package/dist/cjs/common/types.native.js.map +1 -1
  6. package/dist/cjs/core/http.native.js.map +1 -1
  7. package/dist/cjs/core/types.native.js.map +1 -1
  8. package/dist/cjs/core/wire.native.js.map +1 -1
  9. package/dist/cjs/db.native.js.map +1 -1
  10. package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  11. package/dist/cjs/devtools/index.native.js.map +1 -1
  12. package/dist/cjs/devtools/plugin.native.js.map +1 -1
  13. package/dist/cjs/devtools/theme.native.js.map +1 -1
  14. package/dist/cjs/doctype.cjs +25 -43
  15. package/dist/cjs/doctype.native.js +27 -43
  16. package/dist/cjs/doctype.native.js.map +1 -1
  17. package/dist/cjs/file.native.js.map +1 -1
  18. package/dist/cjs/fixtureDb.native.js.map +1 -1
  19. package/dist/cjs/fixtures.cjs +3 -0
  20. package/dist/cjs/fixtures.native.js +3 -0
  21. package/dist/cjs/fixtures.native.js.map +1 -1
  22. package/dist/cjs/frappeApp.native.js.map +1 -1
  23. package/dist/cjs/frappeReact.cjs +67 -31
  24. package/dist/cjs/frappeReact.native.js +87 -34
  25. package/dist/cjs/frappeReact.native.js.map +1 -1
  26. package/dist/cjs/index.cjs +7 -0
  27. package/dist/cjs/index.native.js +9 -2
  28. package/dist/cjs/index.native.js.map +1 -1
  29. package/dist/cjs/optimistic.native.js.map +1 -1
  30. package/dist/cjs/pacer.native.js.map +1 -1
  31. package/dist/cjs/plugin/index.native.js.map +1 -1
  32. package/dist/cjs/realtime.native.js.map +1 -1
  33. package/dist/cjs/serverLoaders.cjs +74 -0
  34. package/dist/cjs/serverLoaders.native.js +88 -0
  35. package/dist/cjs/serverLoaders.native.js.map +1 -0
  36. package/dist/cjs/sync/backfill.native.js.map +1 -1
  37. package/dist/cjs/sync/filters.native.js.map +1 -1
  38. package/dist/cjs/sync/index.cjs +99 -14
  39. package/dist/cjs/sync/index.native.js +129 -14
  40. package/dist/cjs/sync/index.native.js.map +1 -1
  41. package/dist/cjs/sync/merge.native.js.map +1 -1
  42. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  43. package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
  44. package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
  45. package/dist/cjs/sync/persistence.native.js.map +1 -1
  46. package/dist/cjs/sync/realtime.native.js.map +1 -1
  47. package/dist/cjs/sync/rehydration.cjs +4 -0
  48. package/dist/cjs/sync/rehydration.native.js +6 -0
  49. package/dist/cjs/sync/rehydration.native.js.map +1 -1
  50. package/dist/cjs/sync/storage.native.js.map +1 -1
  51. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  52. package/dist/cjs/sync/types.native.js.map +1 -1
  53. package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
  54. package/dist/cjs/syncOptionsKey.cjs +59 -0
  55. package/dist/cjs/syncOptionsKey.native.js +82 -0
  56. package/dist/cjs/syncOptionsKey.native.js.map +1 -0
  57. package/dist/cjs/useLiveQuery.cjs +2 -20
  58. package/dist/cjs/useLiveQuery.native.js +1 -22
  59. package/dist/cjs/useLiveQuery.native.js.map +1 -1
  60. package/dist/cjs/util.native.js.map +1 -1
  61. package/dist/esm/auth.native.js.map +1 -1
  62. package/dist/esm/call.native.js.map +1 -1
  63. package/dist/esm/collection.native.js.map +1 -1
  64. package/dist/esm/common/types.native.js.map +1 -1
  65. package/dist/esm/core/http.native.js.map +1 -1
  66. package/dist/esm/core/types.native.js.map +1 -1
  67. package/dist/esm/core/wire.native.js.map +1 -1
  68. package/dist/esm/db.native.js.map +1 -1
  69. package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  70. package/dist/esm/devtools/index.native.js.map +1 -1
  71. package/dist/esm/devtools/plugin.native.js.map +1 -1
  72. package/dist/esm/devtools/theme.native.js.map +1 -1
  73. package/dist/esm/doctype.mjs +23 -44
  74. package/dist/esm/doctype.mjs.map +1 -1
  75. package/dist/esm/doctype.native.js +25 -44
  76. package/dist/esm/doctype.native.js.map +1 -1
  77. package/dist/esm/file.native.js.map +1 -1
  78. package/dist/esm/fixtureDb.native.js.map +1 -1
  79. package/dist/esm/fixtures.mjs +3 -0
  80. package/dist/esm/fixtures.mjs.map +1 -1
  81. package/dist/esm/fixtures.native.js +3 -0
  82. package/dist/esm/fixtures.native.js.map +1 -1
  83. package/dist/esm/frappeApp.native.js.map +1 -1
  84. package/dist/esm/frappeReact.mjs +68 -33
  85. package/dist/esm/frappeReact.mjs.map +1 -1
  86. package/dist/esm/frappeReact.native.js +87 -35
  87. package/dist/esm/frappeReact.native.js.map +1 -1
  88. package/dist/esm/index.mjs +4 -3
  89. package/dist/esm/index.mjs.map +1 -1
  90. package/dist/esm/index.native.js +4 -3
  91. package/dist/esm/index.native.js.map +1 -1
  92. package/dist/esm/optimistic.native.js.map +1 -1
  93. package/dist/esm/pacer.native.js.map +1 -1
  94. package/dist/esm/plugin/index.native.js.map +1 -1
  95. package/dist/esm/realtime.native.js.map +1 -1
  96. package/dist/esm/serverLoaders.mjs +48 -0
  97. package/dist/esm/serverLoaders.mjs.map +1 -0
  98. package/dist/esm/serverLoaders.native.js +59 -0
  99. package/dist/esm/serverLoaders.native.js.map +1 -0
  100. package/dist/esm/sync/backfill.native.js.map +1 -1
  101. package/dist/esm/sync/filters.native.js.map +1 -1
  102. package/dist/esm/sync/index.mjs +99 -14
  103. package/dist/esm/sync/index.mjs.map +1 -1
  104. package/dist/esm/sync/index.native.js +129 -14
  105. package/dist/esm/sync/index.native.js.map +1 -1
  106. package/dist/esm/sync/merge.native.js.map +1 -1
  107. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  108. package/dist/esm/sync/mutationJournal.native.js.map +1 -1
  109. package/dist/esm/sync/normalizedCache.native.js.map +1 -1
  110. package/dist/esm/sync/persistence.native.js.map +1 -1
  111. package/dist/esm/sync/realtime.native.js.map +1 -1
  112. package/dist/esm/sync/rehydration.mjs +4 -0
  113. package/dist/esm/sync/rehydration.mjs.map +1 -1
  114. package/dist/esm/sync/rehydration.native.js +6 -0
  115. package/dist/esm/sync/rehydration.native.js.map +1 -1
  116. package/dist/esm/sync/storage.native.js.map +1 -1
  117. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  118. package/dist/esm/sync/types.mjs.map +1 -1
  119. package/dist/esm/sync/types.native.js.map +1 -1
  120. package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
  121. package/dist/esm/syncOptionsKey.mjs +34 -0
  122. package/dist/esm/syncOptionsKey.mjs.map +1 -0
  123. package/dist/esm/syncOptionsKey.native.js +54 -0
  124. package/dist/esm/syncOptionsKey.native.js.map +1 -0
  125. package/dist/esm/useLiveQuery.mjs +1 -19
  126. package/dist/esm/useLiveQuery.mjs.map +1 -1
  127. package/dist/esm/useLiveQuery.native.js +1 -22
  128. package/dist/esm/useLiveQuery.native.js.map +1 -1
  129. package/dist/esm/util.native.js.map +1 -1
  130. package/dist/jsx/auth.native.js.map +1 -1
  131. package/dist/jsx/call.native.js.map +1 -1
  132. package/dist/jsx/collection.native.js.map +1 -1
  133. package/dist/jsx/common/types.native.js.map +1 -1
  134. package/dist/jsx/core/http.native.js.map +1 -1
  135. package/dist/jsx/core/types.native.js.map +1 -1
  136. package/dist/jsx/core/wire.native.js.map +1 -1
  137. package/dist/jsx/db.native.js.map +1 -1
  138. package/dist/jsx/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
  139. package/dist/jsx/devtools/index.native.js.map +1 -1
  140. package/dist/jsx/devtools/plugin.native.js.map +1 -1
  141. package/dist/jsx/devtools/theme.native.js.map +1 -1
  142. package/dist/jsx/doctype.mjs +23 -44
  143. package/dist/jsx/doctype.mjs.map +1 -1
  144. package/dist/jsx/doctype.native.js +27 -43
  145. package/dist/jsx/doctype.native.js.map +1 -1
  146. package/dist/jsx/file.native.js.map +1 -1
  147. package/dist/jsx/fixtureDb.native.js.map +1 -1
  148. package/dist/jsx/fixtures.mjs +3 -0
  149. package/dist/jsx/fixtures.mjs.map +1 -1
  150. package/dist/jsx/fixtures.native.js +3 -0
  151. package/dist/jsx/fixtures.native.js.map +1 -1
  152. package/dist/jsx/frappeApp.native.js.map +1 -1
  153. package/dist/jsx/frappeReact.mjs +68 -33
  154. package/dist/jsx/frappeReact.mjs.map +1 -1
  155. package/dist/jsx/frappeReact.native.js +87 -34
  156. package/dist/jsx/frappeReact.native.js.map +1 -1
  157. package/dist/jsx/index.js +4 -3
  158. package/dist/jsx/index.js.map +1 -1
  159. package/dist/jsx/index.mjs +4 -3
  160. package/dist/jsx/index.mjs.map +1 -1
  161. package/dist/jsx/index.native.js +9 -2
  162. package/dist/jsx/index.native.js.map +1 -1
  163. package/dist/jsx/optimistic.native.js.map +1 -1
  164. package/dist/jsx/pacer.native.js.map +1 -1
  165. package/dist/jsx/plugin/index.native.js.map +1 -1
  166. package/dist/jsx/realtime.native.js.map +1 -1
  167. package/dist/jsx/serverLoaders.mjs +48 -0
  168. package/dist/jsx/serverLoaders.mjs.map +1 -0
  169. package/dist/jsx/serverLoaders.native.js +88 -0
  170. package/dist/jsx/serverLoaders.native.js.map +1 -0
  171. package/dist/jsx/sync/backfill.native.js.map +1 -1
  172. package/dist/jsx/sync/filters.native.js.map +1 -1
  173. package/dist/jsx/sync/index.mjs +99 -14
  174. package/dist/jsx/sync/index.mjs.map +1 -1
  175. package/dist/jsx/sync/index.native.js +129 -14
  176. package/dist/jsx/sync/index.native.js.map +1 -1
  177. package/dist/jsx/sync/merge.native.js.map +1 -1
  178. package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
  179. package/dist/jsx/sync/mutationJournal.native.js.map +1 -1
  180. package/dist/jsx/sync/normalizedCache.native.js.map +1 -1
  181. package/dist/jsx/sync/persistence.native.js.map +1 -1
  182. package/dist/jsx/sync/realtime.native.js.map +1 -1
  183. package/dist/jsx/sync/rehydration.mjs +4 -0
  184. package/dist/jsx/sync/rehydration.mjs.map +1 -1
  185. package/dist/jsx/sync/rehydration.native.js +6 -0
  186. package/dist/jsx/sync/rehydration.native.js.map +1 -1
  187. package/dist/jsx/sync/storage.native.js.map +1 -1
  188. package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
  189. package/dist/jsx/sync/types.mjs.map +1 -1
  190. package/dist/jsx/sync/types.native.js.map +1 -1
  191. package/dist/jsx/sync/virtualPageManager.native.js.map +1 -1
  192. package/dist/jsx/syncOptionsKey.mjs +34 -0
  193. package/dist/jsx/syncOptionsKey.mjs.map +1 -0
  194. package/dist/jsx/syncOptionsKey.native.js +82 -0
  195. package/dist/jsx/syncOptionsKey.native.js.map +1 -0
  196. package/dist/jsx/useLiveQuery.mjs +1 -19
  197. package/dist/jsx/useLiveQuery.mjs.map +1 -1
  198. package/dist/jsx/useLiveQuery.native.js +1 -22
  199. package/dist/jsx/useLiveQuery.native.js.map +1 -1
  200. package/dist/jsx/util.native.js.map +1 -1
  201. package/package.json +12 -12
  202. package/src/doctype.spec.ts +148 -5
  203. package/src/doctype.ts +202 -173
  204. package/src/fixtures.ts +1 -0
  205. package/src/frappeReact.catchUp.spec.tsx +105 -0
  206. package/src/frappeReact.hydration.spec.tsx +164 -0
  207. package/src/frappeReact.spec.ts +56 -0
  208. package/src/frappeReact.ts +93 -43
  209. package/src/index.ts +14 -0
  210. package/src/serverLoaders.ts +77 -0
  211. package/src/sync/catchUp.spec.ts +142 -0
  212. package/src/sync/index.ts +106 -9
  213. package/src/sync/rehydration.ts +5 -0
  214. package/src/sync/syncModule.spec.ts +20 -0
  215. package/src/sync/types.ts +9 -1
  216. package/src/syncOptionsKey.spec.ts +46 -0
  217. package/src/syncOptionsKey.ts +45 -0
  218. package/src/useLiveQuery.hydration.spec.tsx +129 -0
  219. package/src/useLiveQuery.spec.ts +3 -11
  220. package/src/useLiveQuery.ts +3 -57
  221. package/types/doctype.d.ts +117 -33
  222. package/types/doctype.d.ts.map +1 -1
  223. package/types/fixtures.d.ts.map +1 -1
  224. package/types/frappeReact.d.ts +9 -3
  225. package/types/frappeReact.d.ts.map +1 -1
  226. package/types/index.d.ts +6 -5
  227. package/types/index.d.ts.map +1 -1
  228. package/types/serverLoaders.d.ts +40 -0
  229. package/types/serverLoaders.d.ts.map +1 -0
  230. package/types/sync/index.d.ts +15 -1
  231. package/types/sync/index.d.ts.map +1 -1
  232. package/types/sync/rehydration.d.ts +2 -0
  233. package/types/sync/rehydration.d.ts.map +1 -1
  234. package/types/sync/types.d.ts +8 -1
  235. package/types/sync/types.d.ts.map +1 -1
  236. package/types/syncOptionsKey.d.ts +3 -0
  237. package/types/syncOptionsKey.d.ts.map +1 -0
  238. package/types/useLiveQuery.d.ts +3 -13
  239. package/types/useLiveQuery.d.ts.map +1 -1
@@ -16,6 +16,11 @@ function getBrowserJournalStorage() {
16
16
  return void 0;
17
17
  }
18
18
  }
19
+ const idleCatchUpState = Object.freeze({
20
+ refreshing: false,
21
+ stale: false,
22
+ error: null
23
+ });
19
24
  class SyncModule {
20
25
  normalizedCache;
21
26
  mutationJournal;
@@ -41,6 +46,10 @@ class SyncModule {
41
46
  db;
42
47
  realtime;
43
48
  options;
49
+ catchUpState = idleCatchUpState;
50
+ catchUpEpoch = 0;
51
+ disposed = false;
52
+ catchUpRun;
44
53
  constructor(db, realtime, options = {}) {
45
54
  this.db = db;
46
55
  this.realtime = realtime;
@@ -66,9 +75,9 @@ class SyncModule {
66
75
  const realtimeOptions = {
67
76
  ...this.options,
68
77
  onResetCache: () => this.resetCache(),
69
- onBackfillAll: () => this.backfill({
70
- scope: BackfillScope.All
71
- }),
78
+ onBackfillAll: () => {
79
+ void this.catchUp();
80
+ },
72
81
  // Realtime reconciliation mutates cache/membership outside the public
73
82
  // mutate/backfill entry points — bridge those changes to store listeners.
74
83
  onStoreChange: () => this.emit(),
@@ -86,20 +95,20 @@ class SyncModule {
86
95
  * Stores cleanup functions returned by each subscription.
87
96
  */
88
97
  setupWindowEvents() {
89
- this.cleanupFocus = onAppFocus(() => this.backfill({
90
- scope: BackfillScope.All
91
- }));
98
+ this.cleanupFocus = onAppFocus(() => {
99
+ void this.catchUp();
100
+ });
92
101
  this.cleanupFocusReplay = onAppFocus(() => {
93
102
  if (this.mutationJournal.listPending().length > 0) void this.replayPending();
94
103
  });
95
- this.cleanupOnlineBackfill = onOnline(() => this.backfill({
96
- scope: BackfillScope.All
97
- }));
104
+ this.cleanupOnlineBackfill = onOnline(() => {
105
+ void this.catchUp();
106
+ });
98
107
  this.cleanupOnlineReplay = onOnline(() => this.replayPending());
99
108
  if (this.options.cdcInterval && this.options.cdcInterval > 0) {
100
- this.cdcIntervalHandle = setInterval(() => this.backfill({
101
- scope: BackfillScope.All
102
- }), this.options.cdcInterval);
109
+ this.cdcIntervalHandle = setInterval(() => {
110
+ void this.catchUp();
111
+ }, this.options.cdcInterval);
103
112
  }
104
113
  }
105
114
  /**
@@ -112,6 +121,9 @@ class SyncModule {
112
121
  * the subscription is marked stale until the next successful backfill.
113
122
  */
114
123
  async subscribe(query) {
124
+ if (this.options.catchUpStrategy === "snapshot" && query.progressive) {
125
+ throw new Error("Snapshot catch-up does not support progressive subscriptions");
126
+ }
115
127
  await this.persistenceManager.whenReady();
116
128
  const result = await this.subscriptionManager.subscribe(query);
117
129
  this.realtimeHandler.watchDoctype(query.doctype);
@@ -138,19 +150,88 @@ class SyncModule {
138
150
  this.persistenceManager.broadcastMutation(mutation);
139
151
  this.emit();
140
152
  }
153
+ /**
154
+ * The name the server assigned a document this module created under
155
+ * `temporaryName`, once the create is acknowledged. Undefined while it is
156
+ * pending, or when the server kept the name it was given.
157
+ */
158
+ createdName(temporaryName) {
159
+ return this.rehydrationManager.resolveTempId(temporaryName);
160
+ }
141
161
  /** Refresh active query snapshots in place. Failures retain the last committed data. */
142
162
  async refreshSubscriptions(options) {
163
+ const epoch = this.catchUpEpoch;
143
164
  await this.persistenceManager.whenReady();
165
+ if (this.disposed || epoch !== this.catchUpEpoch) return [];
144
166
  const results = await this.subscriptionManager.refreshSubscriptions(options);
145
- this.emit();
167
+ if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
146
168
  return results;
147
169
  }
170
+ getCatchUpState() {
171
+ return this.catchUpState;
172
+ }
173
+ publishCatchUp(state) {
174
+ this.catchUpState = Object.freeze(state);
175
+ for (const listener of this.storeListeners) listener();
176
+ }
177
+ /** Observes lifecycle/retry failures in state; explicit backfill still rejects. */
178
+ catchUp() {
179
+ if (this.disposed) return Promise.resolve(this.catchUpState);
180
+ if (this.catchUpRun) {
181
+ if (this.catchUpRun.attempt === 0) this.catchUpRun.trailing = true;
182
+ return this.catchUpRun.promise;
183
+ }
184
+ const epoch = this.catchUpEpoch;
185
+ const run = {
186
+ trailing: false,
187
+ attempt: 0,
188
+ promise: Promise.resolve(this.catchUpState)
189
+ };
190
+ this.catchUpRun = run;
191
+ run.promise = Promise.resolve().then(async () => {
192
+ let error = null;
193
+ const active = () => !this.disposed && this.catchUpEpoch === epoch;
194
+ do {
195
+ if (!active()) return this.catchUpState;
196
+ run.trailing = false;
197
+ error = null;
198
+ try {
199
+ if (this.options.catchUpStrategy === "snapshot") {
200
+ const results = await this.refreshSubscriptions();
201
+ const failures = results.filter(result => !result.ok && this.subscriptionManager.getSubscription(result.subscriptionId) && !this.subscriptionManager.isRestoredSubscription(result.subscriptionId));
202
+ if (failures.length) error = new AggregateError(failures.map(failure => failure.error), "Some subscriptions could not refresh. Showing previous data.");
203
+ } else {
204
+ await this.backfill({
205
+ scope: BackfillScope.All
206
+ });
207
+ }
208
+ } catch (caught) {
209
+ error = caught;
210
+ }
211
+ } while (active() && run.trailing && run.attempt++ === 0);
212
+ if (active()) {
213
+ this.catchUpRun = void 0;
214
+ this.publishCatchUp({
215
+ refreshing: false,
216
+ stale: error !== null,
217
+ error
218
+ });
219
+ }
220
+ return this.catchUpState;
221
+ });
222
+ this.publishCatchUp({
223
+ ...this.catchUpState,
224
+ refreshing: true
225
+ });
226
+ return run.promise;
227
+ }
148
228
  /**
149
229
  * Reconciles local state by fetching changes since stored cursors.
150
230
  */
151
231
  async backfill(args) {
232
+ const epoch = this.catchUpEpoch;
152
233
  await this.subscriptionManager.backfill(args);
153
- this.emit();
234
+ if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
154
235
  }
155
236
  /**
156
237
  * Replays pending mutations with error handling.
@@ -294,6 +375,9 @@ class SyncModule {
294
375
  }
295
376
  /** Clears subscriptions, cache, journal, and temp id mappings. */
296
377
  resetCache() {
378
+ this.catchUpEpoch++;
379
+ this.catchUpRun = void 0;
380
+ this.catchUpState = idleCatchUpState;
297
381
  this.realtimeHandler.unwatchAll();
298
382
  this.subscriptionManager.clear();
299
383
  this.normalizedCache.clear();
@@ -303,6 +387,7 @@ class SyncModule {
303
387
  }
304
388
  /** Cleanup and dispose of resources */
305
389
  async dispose() {
390
+ this.disposed = true;
306
391
  this.storeListeners.clear();
307
392
  this.realtimeEventListeners.clear();
308
393
  this.resetCache();
@@ -1 +1 @@
1
- {"version":3,"names":["onAppFocus","onOnline","MutationEngine","MutationJournal","NormalizedCache","PersistenceManager","RealtimeHandler","RehydrationManager","SubscriptionManager","BackfillScope","Status","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","SyncModule","normalizedCache","mutationJournal","storeListeners","Set","realtimeEventListeners","subscriptionManager","mutationEngine","realtimeHandler","persistenceManager","rehydrationManager","cleanupFocus","cleanupFocusReplay","cleanupOnlineBackfill","cleanupOnlineReplay","cdcIntervalHandle","db","realtime","options","constructor","maxSize","maxCacheSize","ttl","mutationTTL","enableAutoCleanup","emit","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","backfill","scope","All","onRealtimeEvent","event","listener","setupWindowEvents","listPending","length","replayPending","cdcInterval","setInterval","subscribe","query","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","err","broadcastMutation","refreshSubscriptions","results","args","getMutationEntries","entries","id","entry","push","operation","docname","status","createdAt","retryCount","error","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","add","delete","subscribeRealtimeEvents","getConnectionState","scheduleSave","broadcastChange","unwatchAll","clear","clearTemporaryMappings","dispose","destroy","clearInterval","__debug","allSubs","getAllSubscriptions","vpm","getVirtualPageManager","subscriptions","sub","virtualSub","pageInfo","islands","getPageIslands","debugSub","docCount","docIds","tombstoneCount","tombstones","size","checkpoint","cursor","stale","restored","isRestoredSubscription","pc","getProgressiveCache","progressiveCache","nextCursor","hasMore","totalCount","lastFetchedAt","toISOString","cacheStats","getStats","allEntries","getAllEntries","pending","confirmed","failed","debugEntry","Pending","Confirmed","Failed","connection","socketConnected","getIsConnected","isLeader","getIsLeader","isOnline","navigator","onLine"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["onAppFocus","onOnline","MutationEngine","MutationJournal","NormalizedCache","PersistenceManager","RealtimeHandler","RehydrationManager","SubscriptionManager","BackfillScope","Status","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","idleCatchUpState","Object","freeze","refreshing","stale","error","SyncModule","normalizedCache","mutationJournal","storeListeners","Set","realtimeEventListeners","subscriptionManager","mutationEngine","realtimeHandler","persistenceManager","rehydrationManager","cleanupFocus","cleanupFocusReplay","cleanupOnlineBackfill","cleanupOnlineReplay","cdcIntervalHandle","db","realtime","options","catchUpState","catchUpEpoch","disposed","catchUpRun","constructor","maxSize","maxCacheSize","ttl","mutationTTL","enableAutoCleanup","emit","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","catchUp","onRealtimeEvent","event","listener","setupWindowEvents","listPending","length","replayPending","cdcInterval","setInterval","subscribe","query","catchUpStrategy","progressive","Error","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","err","broadcastMutation","createdName","temporaryName","resolveTempId","refreshSubscriptions","epoch","results","getCatchUpState","publishCatchUp","state","Promise","resolve","attempt","trailing","promise","run","active","failures","filter","ok","isRestoredSubscription","AggregateError","map","failure","backfill","scope","All","caught","args","getMutationEntries","entries","id","entry","push","operation","docname","status","createdAt","retryCount","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","add","delete","subscribeRealtimeEvents","getConnectionState","scheduleSave","broadcastChange","unwatchAll","clear","clearTemporaryMappings","dispose","destroy","clearInterval","__debug","allSubs","getAllSubscriptions","vpm","getVirtualPageManager","subscriptions","sub","virtualSub","pageInfo","islands","getPageIslands","debugSub","docCount","docIds","tombstoneCount","tombstones","size","checkpoint","cursor","restored","pc","getProgressiveCache","progressiveCache","nextCursor","hasMore","totalCount","lastFetchedAt","toISOString","cacheStats","getStats","allEntries","getAllEntries","pending","confirmed","failed","debugEntry","Pending","Confirmed","Failed","connection","socketConnected","getIsConnected","isLeader","getIsLeader","isOnline","navigator","onLine"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,11 @@ function getBrowserJournalStorage() {
48
48
  return void 0;
49
49
  }
50
50
  }
51
+ var idleCatchUpState = Object.freeze({
52
+ refreshing: false,
53
+ stale: false,
54
+ error: null
55
+ });
51
56
  var SyncModule = /* @__PURE__ */function () {
52
57
  "use strict";
53
58
 
@@ -72,6 +77,10 @@ var SyncModule = /* @__PURE__ */function () {
72
77
  _define_property(this, "db", void 0);
73
78
  _define_property(this, "realtime", void 0);
74
79
  _define_property(this, "options", void 0);
80
+ _define_property(this, "catchUpState", idleCatchUpState);
81
+ _define_property(this, "catchUpEpoch", 0);
82
+ _define_property(this, "disposed", false);
83
+ _define_property(this, "catchUpRun", void 0);
75
84
  this.db = db;
76
85
  this.realtime = realtime;
77
86
  this.options = options;
@@ -103,9 +112,7 @@ var SyncModule = /* @__PURE__ */function () {
103
112
  return _this.resetCache();
104
113
  },
105
114
  onBackfillAll: function onBackfillAll() {
106
- return _this.backfill({
107
- scope: BackfillScope.All
108
- });
115
+ void _this.catchUp();
109
116
  },
110
117
  // Realtime reconciliation mutates cache/membership outside the public
111
118
  // mutate/backfill entry points — bridge those changes to store listeners.
@@ -153,26 +160,20 @@ var SyncModule = /* @__PURE__ */function () {
153
160
  function setupWindowEvents() {
154
161
  var _this = this;
155
162
  this.cleanupFocus = onAppFocus(function () {
156
- return _this.backfill({
157
- scope: BackfillScope.All
158
- });
163
+ void _this.catchUp();
159
164
  });
160
165
  this.cleanupFocusReplay = onAppFocus(function () {
161
166
  if (_this.mutationJournal.listPending().length > 0) void _this.replayPending();
162
167
  });
163
168
  this.cleanupOnlineBackfill = onOnline(function () {
164
- return _this.backfill({
165
- scope: BackfillScope.All
166
- });
169
+ void _this.catchUp();
167
170
  });
168
171
  this.cleanupOnlineReplay = onOnline(function () {
169
172
  return _this.replayPending();
170
173
  });
171
174
  if (this.options.cdcInterval && this.options.cdcInterval > 0) {
172
175
  this.cdcIntervalHandle = setInterval(function () {
173
- return _this.backfill({
174
- scope: BackfillScope.All
175
- });
176
+ void _this.catchUp();
176
177
  }, this.options.cdcInterval);
177
178
  }
178
179
  })
@@ -190,6 +191,9 @@ var SyncModule = /* @__PURE__ */function () {
190
191
  */
191
192
  async function subscribe(query) {
192
193
  var _this = this;
194
+ if (this.options.catchUpStrategy === "snapshot" && query.progressive) {
195
+ throw new Error("Snapshot catch-up does not support progressive subscriptions");
196
+ }
193
197
  await this.persistenceManager.whenReady();
194
198
  var result = await this.subscriptionManager.subscribe(query);
195
199
  this.realtimeHandler.watchDoctype(query.doctype);
@@ -222,15 +226,121 @@ var SyncModule = /* @__PURE__ */function () {
222
226
  this.persistenceManager.broadcastMutation(mutation);
223
227
  this.emit();
224
228
  }
229
+ }, {
230
+ /**
231
+ * The name the server assigned a document this module created under
232
+ * `temporaryName`, once the create is acknowledged. Undefined while it is
233
+ * pending, or when the server kept the name it was given.
234
+ */
235
+ key: "createdName",
236
+ value: function createdName(temporaryName) {
237
+ return this.rehydrationManager.resolveTempId(temporaryName);
238
+ }
225
239
  }, {
226
240
  key: "refreshSubscriptions",
227
241
  value: (/** Refresh active query snapshots in place. Failures retain the last committed data. */
228
242
  async function refreshSubscriptions(options) {
243
+ var epoch = this.catchUpEpoch;
229
244
  await this.persistenceManager.whenReady();
245
+ if (this.disposed || epoch !== this.catchUpEpoch) return [];
230
246
  var results = await this.subscriptionManager.refreshSubscriptions(options);
231
- this.emit();
247
+ if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
232
248
  return results;
233
249
  })
250
+ }, {
251
+ key: "getCatchUpState",
252
+ value: function getCatchUpState() {
253
+ return this.catchUpState;
254
+ }
255
+ }, {
256
+ key: "publishCatchUp",
257
+ value: function publishCatchUp(state) {
258
+ this.catchUpState = Object.freeze(state);
259
+ var _iteratorNormalCompletion = true,
260
+ _didIteratorError = false,
261
+ _iteratorError = void 0;
262
+ try {
263
+ for (var _iterator = this.storeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
264
+ var listener = _step.value;
265
+ listener();
266
+ }
267
+ } catch (err) {
268
+ _didIteratorError = true;
269
+ _iteratorError = err;
270
+ } finally {
271
+ try {
272
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
273
+ _iterator.return();
274
+ }
275
+ } finally {
276
+ if (_didIteratorError) {
277
+ throw _iteratorError;
278
+ }
279
+ }
280
+ }
281
+ }
282
+ }, {
283
+ /** Observes lifecycle/retry failures in state; explicit backfill still rejects. */
284
+ key: "catchUp",
285
+ value: function catchUp() {
286
+ var _this = this;
287
+ if (this.disposed) return Promise.resolve(this.catchUpState);
288
+ if (this.catchUpRun) {
289
+ if (this.catchUpRun.attempt === 0) this.catchUpRun.trailing = true;
290
+ return this.catchUpRun.promise;
291
+ }
292
+ var epoch = this.catchUpEpoch;
293
+ var run = {
294
+ trailing: false,
295
+ attempt: 0,
296
+ promise: Promise.resolve(this.catchUpState)
297
+ };
298
+ this.catchUpRun = run;
299
+ run.promise = Promise.resolve().then(async function () {
300
+ var error = null;
301
+ var active = function active2() {
302
+ return !_this.disposed && _this.catchUpEpoch === epoch;
303
+ };
304
+ do {
305
+ if (!active()) return _this.catchUpState;
306
+ run.trailing = false;
307
+ error = null;
308
+ try {
309
+ if (_this.options.catchUpStrategy === "snapshot") {
310
+ var results = await _this.refreshSubscriptions();
311
+ var failures = results.filter(function (result) {
312
+ return !result.ok && _this.subscriptionManager.getSubscription(result.subscriptionId) && !_this.subscriptionManager.isRestoredSubscription(result.subscriptionId);
313
+ });
314
+ if (failures.length) error = new AggregateError(failures.map(function (failure) {
315
+ return failure.error;
316
+ }), "Some subscriptions could not refresh. Showing previous data.");
317
+ } else {
318
+ await _this.backfill({
319
+ scope: BackfillScope.All
320
+ });
321
+ }
322
+ } catch (caught) {
323
+ error = caught;
324
+ }
325
+ } while (
326
+ // Bound a burst to one trailing read, including triggers during that read.
327
+ active() && run.trailing && run.attempt++ === 0);
328
+ if (active()) {
329
+ _this.catchUpRun = void 0;
330
+ _this.publishCatchUp({
331
+ refreshing: false,
332
+ stale: error !== null,
333
+ error
334
+ });
335
+ }
336
+ return _this.catchUpState;
337
+ });
338
+ this.publishCatchUp({
339
+ ...this.catchUpState,
340
+ refreshing: true
341
+ });
342
+ return run.promise;
343
+ }
234
344
  }, {
235
345
  key: "backfill",
236
346
  value: (
@@ -238,8 +348,9 @@ var SyncModule = /* @__PURE__ */function () {
238
348
  * Reconciles local state by fetching changes since stored cursors.
239
349
  */
240
350
  async function backfill(args) {
351
+ var epoch = this.catchUpEpoch;
241
352
  await this.subscriptionManager.backfill(args);
242
- this.emit();
353
+ if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
243
354
  })
244
355
  }, {
245
356
  key: "replayPending",
@@ -463,6 +574,9 @@ var SyncModule = /* @__PURE__ */function () {
463
574
  /** Clears subscriptions, cache, journal, and temp id mappings. */
464
575
  key: "resetCache",
465
576
  value: function resetCache() {
577
+ this.catchUpEpoch++;
578
+ this.catchUpRun = void 0;
579
+ this.catchUpState = idleCatchUpState;
466
580
  this.realtimeHandler.unwatchAll();
467
581
  this.subscriptionManager.clear();
468
582
  this.normalizedCache.clear();
@@ -475,6 +589,7 @@ var SyncModule = /* @__PURE__ */function () {
475
589
  value: (/** Cleanup and dispose of resources */
476
590
  async function dispose() {
477
591
  var _this_cleanupFocus, _this, _this_cleanupFocusReplay, _this1, _this_cleanupOnlineBackfill, _this2, _this_cleanupOnlineReplay, _this3;
592
+ this.disposed = true;
478
593
  this.storeListeners.clear();
479
594
  this.realtimeEventListeners.clear();
480
595
  this.resetCache();
@@ -1 +1 @@
1
- {"version":3,"names":["onAppFocus","onOnline","MutationEngine","MutationJournal","NormalizedCache","PersistenceManager","RealtimeHandler","RehydrationManager","SubscriptionManager","BackfillScope","Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","unused","SyncModule","SyncModule2","db","realtime","_this","options","arguments","Set","normalizedCache","maxSize","maxCacheSize","mutationJournal","ttl","mutationTTL","enableAutoCleanup","subscriptionManager","rehydrationManager","emit","mutationEngine","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","backfill","scope","All","onRealtimeEvent","event","_this_options_onRealtimeEvent","_this_options","call","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","realtimeEventListeners","Symbol","iterator","_step","next","done","listener","err","return","realtimeHandler","persistenceManager","setupWindowEvents","cleanupFocus","cleanupFocusReplay","listPending","replayPending","cleanupOnlineBackfill","cleanupOnlineReplay","cdcInterval","cdcIntervalHandle","setInterval","subscribe","query","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","broadcastMutation","refreshSubscriptions","results","args","getMutationEntries","entries","id","entry","_entry_createdAt","_entry_retryCount","_entry_error_message","push","operation","docname","status","createdAt","retryCount","error","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","storeListeners","add","delete","subscribeRealtimeEvents"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["onAppFocus","onOnline","MutationEngine","MutationJournal","NormalizedCache","PersistenceManager","RealtimeHandler","RehydrationManager","SubscriptionManager","BackfillScope","Status","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","unused","idleCatchUpState","freeze","refreshing","stale","error","SyncModule","SyncModule2","db","realtime","_this","options","arguments","Set","normalizedCache","maxSize","maxCacheSize","mutationJournal","ttl","mutationTTL","enableAutoCleanup","subscriptionManager","rehydrationManager","emit","mutationEngine","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","catchUp","onRealtimeEvent","event","_this_options_onRealtimeEvent","_this_options","call","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","realtimeEventListeners","Symbol","iterator","_step","next","done","listener","err","return","realtimeHandler","persistenceManager","setupWindowEvents","cleanupFocus","cleanupFocusReplay","listPending","replayPending","cleanupOnlineBackfill","cleanupOnlineReplay","cdcInterval","cdcIntervalHandle","setInterval","subscribe","query","catchUpStrategy","progressive","Error","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","broadcastMutation","createdName","temporaryName","resolveTempId","refreshSubscriptions","epoch","catchUpEpoch","disposed","results","getCatchUpState","catchUpState","publishCatchUp","state","storeListeners","Promise","resolve","catchUpRun","attempt","trailing","promise","run","active","active2","failures","filter","ok","isRestoredSubscription","AggregateError","map","failure","backfill","scope","All","caught","args","getMutationEntries","entries","id","entry","_entry_createdAt","_entry_retryCount","_entry_error_message","push","operation","docname","status","createdAt","retryCount","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","add","delete","subscribeRealtimeEvents","getConnectionState","scheduleSave","broadcastChange","unwatchAll","clear","clearTemporaryMappings","dispose","_this_cleanupFocus","_this_cleanupFocusReplay","_this1","_this_cleanupOnlineBackfill","_this2","_this_cleanupOnlineReplay","_this3","destroy","clearInterval","__debug","allSubs","getAllSubscriptions","vpm","getVirtualPageManager","subscriptions","sub","_ref","_sub_tombstones","virtualSub","pageInfo","islands","getPageIslands","debugSub","docCount","docIds","tombstoneCount","tombstones","size","checkpoint","cursor","restored","_pc_lastFetchedAt","pc","getProgressiveCache","progressiveCache","nextCursor","hasMore","totalCount","lastFetchedAt","toISOString","cacheStats","getStats","allEntries","getAllEntries","pending","confirmed","failed","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","debugEntry","Pending","Confirmed","Failed","connection","socketConnected","getIsConnected","isLeader","getIsLeader","isOnline","navigator","onLine"],"sources":["index.native.js"],"sourcesContent":["import { onAppFocus, onOnline } from \"@multiplatform.one/platform\";\nimport { MutationEngine } from \"./mutationEngine\";\nimport { MutationJournal } from \"./mutationJournal\";\nimport { NormalizedCache } from \"./normalizedCache\";\nimport { PersistenceManager } from \"./persistence\";\nimport { RealtimeHandler } from \"./realtime\";\nimport { RehydrationManager } from \"./rehydration\";\nimport { SubscriptionManager } from \"./subscriptionManager\";\nimport { BackfillScope, Status } from \"./types\";\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction getBrowserJournalStorage() {\n if (typeof window === \"undefined\" || typeof document === \"undefined\") return void 0;\n try {\n var storage = window.localStorage;\n return typeof (storage === null || storage === void 0 ? void 0 : storage.getItem) === \"function\" && typeof storage.setItem === \"function\" ? storage : void 0;\n } catch (unused) {\n return void 0;\n }\n}\nvar idleCatchUpState = Object.freeze({\n refreshing: false,\n stale: false,\n error: null\n});\nvar SyncModule = /* @__PURE__ */ (function() {\n \"use strict\";\n function SyncModule2(db, realtime) {\n var _this = this;\n var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n _class_call_check(this, SyncModule2);\n _define_property(this, \"normalizedCache\", void 0);\n _define_property(this, \"mutationJournal\", void 0);\n _define_property(this, \"storeListeners\", /* @__PURE__ */ new Set());\n _define_property(this, \"realtimeEventListeners\", /* @__PURE__ */ new Set());\n _define_property(this, \"subscriptionManager\", void 0);\n _define_property(this, \"mutationEngine\", void 0);\n _define_property(this, \"realtimeHandler\", void 0);\n _define_property(this, \"persistenceManager\", void 0);\n _define_property(this, \"rehydrationManager\", void 0);\n _define_property(this, \"cleanupFocus\", void 0);\n _define_property(this, \"cleanupFocusReplay\", void 0);\n _define_property(this, \"cleanupOnlineBackfill\", void 0);\n _define_property(this, \"cleanupOnlineReplay\", void 0);\n _define_property(this, \"cdcIntervalHandle\", void 0);\n _define_property(this, \"db\", void 0);\n _define_property(this, \"realtime\", void 0);\n _define_property(this, \"options\", void 0);\n _define_property(this, \"catchUpState\", idleCatchUpState);\n _define_property(this, \"catchUpEpoch\", 0);\n _define_property(this, \"disposed\", false);\n _define_property(this, \"catchUpRun\", void 0);\n this.db = db;\n this.realtime = realtime;\n this.options = options;\n this.normalizedCache = new NormalizedCache({\n maxSize: this.options.maxCacheSize\n });\n this.mutationJournal = new MutationJournal({\n ttl: this.options.mutationTTL,\n enableAutoCleanup: true,\n storage: getBrowserJournalStorage()\n });\n this.subscriptionManager = new SubscriptionManager(this.db, this.normalizedCache, this.options);\n this.rehydrationManager = new RehydrationManager(this.db, this.normalizedCache, this.subscriptionManager, this.mutationJournal, function() {\n return _this.emit();\n });\n this.mutationEngine = new MutationEngine(this.db, this.realtime, this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.rehydrationManager, {\n ...this.options,\n // Bridge engine-internal optimistic applies to store listeners so\n // pending state paints BEFORE the server round trip. Without this,\n // subscribeStore consumers only re-read after the ack (mutate()'s\n // trailing emit) and the in-memory optimism was invisible to them.\n onStoreChange: function onStoreChange() {\n return _this.emit();\n }\n });\n var realtimeOptions = {\n ...this.options,\n onResetCache: function onResetCache() {\n return _this.resetCache();\n },\n onBackfillAll: function onBackfillAll() {\n void _this.catchUp();\n },\n // Realtime reconciliation mutates cache/membership outside the public\n // mutate/backfill entry points — bridge those changes to store listeners.\n onStoreChange: function onStoreChange() {\n return _this.emit();\n },\n onRealtimeEvent: function onRealtimeEvent(event) {\n var _this_options_onRealtimeEvent, _this_options;\n (_this_options_onRealtimeEvent = (_this_options = _this.options).onRealtimeEvent) === null || _this_options_onRealtimeEvent === void 0 ? void 0 : _this_options_onRealtimeEvent.call(_this_options, event);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = _this.realtimeEventListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener(event);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n };\n this.realtimeHandler = new RealtimeHandler(this.db, this.realtime, this.normalizedCache, this.subscriptionManager, this.rehydrationManager, realtimeOptions);\n this.persistenceManager = new PersistenceManager(this.normalizedCache, this.mutationJournal, this.subscriptionManager, this.mutationEngine, realtimeOptions);\n this.setupWindowEvents();\n }\n _create_class(SyncModule2, [\n {\n key: \"setupWindowEvents\",\n value: (\n /**\n * Sets up lifecycle event listeners for sync triggers.\n * Stores cleanup functions returned by each subscription.\n */\n function setupWindowEvents() {\n var _this = this;\n this.cleanupFocus = onAppFocus(function() {\n void _this.catchUp();\n });\n this.cleanupFocusReplay = onAppFocus(function() {\n if (_this.mutationJournal.listPending().length > 0) void _this.replayPending();\n });\n this.cleanupOnlineBackfill = onOnline(function() {\n void _this.catchUp();\n });\n this.cleanupOnlineReplay = onOnline(function() {\n return _this.replayPending();\n });\n if (this.options.cdcInterval && this.options.cdcInterval > 0) {\n this.cdcIntervalHandle = setInterval(function() {\n void _this.catchUp();\n }, this.options.cdcInterval);\n }\n }\n )\n },\n {\n key: \"subscribe\",\n value: (\n /**\n * Creates a subscription, seeds cache with initial rows, and stores a backfill checkpoint.\n *\n * With persistence enabled, a query matching a subscription restored from\n * the snapshot is re-adopted cache-first: the returned rows come from the\n * restored cache and a background network refresh follows (`result.refresh`).\n * If that refresh fails (offline), the cached membership keeps serving and\n * the subscription is marked stale until the next successful backfill.\n */\n async function subscribe(query) {\n var _this = this;\n if (this.options.catchUpStrategy === \"snapshot\" && query.progressive) {\n throw new Error(\"Snapshot catch-up does not support progressive subscriptions\");\n }\n await this.persistenceManager.whenReady();\n var result = await this.subscriptionManager.subscribe(query);\n this.realtimeHandler.watchDoctype(query.doctype);\n this.emit();\n if (result.refresh) void result.refresh.then(function() {\n return _this.emit();\n });\n return result;\n }\n )\n },\n {\n /**\n * Removes a subscription by id.\n */\n key: \"unsubscribe\",\n value: function unsubscribe(subscriptionId) {\n var subscription = this.subscriptionManager.getSubscription(subscriptionId);\n this.subscriptionManager.unsubscribe(subscriptionId);\n if (subscription) this.realtimeHandler.unwatchDoctype(subscription.query.doctype);\n this.emit();\n }\n },\n {\n key: \"mutate\",\n value: async function mutate(mutation) {\n try {\n await this.mutationEngine.mutate(mutation);\n } catch (err) {\n this.emit();\n throw err;\n }\n this.persistenceManager.broadcastMutation(mutation);\n this.emit();\n }\n },\n {\n /**\n * The name the server assigned a document this module created under\n * `temporaryName`, once the create is acknowledged. Undefined while it is\n * pending, or when the server kept the name it was given.\n */\n key: \"createdName\",\n value: function createdName(temporaryName) {\n return this.rehydrationManager.resolveTempId(temporaryName);\n }\n },\n {\n key: \"refreshSubscriptions\",\n value: (\n /** Refresh active query snapshots in place. Failures retain the last committed data. */\n async function refreshSubscriptions(options) {\n var epoch = this.catchUpEpoch;\n await this.persistenceManager.whenReady();\n if (this.disposed || epoch !== this.catchUpEpoch) return [];\n var results = await this.subscriptionManager.refreshSubscriptions(options);\n if (!this.disposed && epoch === this.catchUpEpoch) this.emit();\n return results;\n }\n )\n },\n {\n key: \"getCatchUpState\",\n value: function getCatchUpState() {\n return this.catchUpState;\n }\n },\n {\n key: \"publishCatchUp\",\n value: function publishCatchUp(state) {\n this.catchUpState = Object.freeze(state);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.storeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener();\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n },\n {\n /** Observes lifecycle/retry failures in state; explicit backfill still rejects. */\n key: \"catchUp\",\n value: function catchUp() {\n var _this = this;\n if (this.disposed) return Promise.resolve(this.catchUpState);\n if (this.catchUpRun) {\n if (this.catchUpRun.attempt === 0) this.catchUpRun.trailing = true;\n return this.catchUpRun.promise;\n }\n var epoch = this.catchUpEpoch;\n var run = {\n trailing: false,\n attempt: 0,\n promise: Promise.resolve(this.catchUpState)\n };\n this.catchUpRun = run;\n run.promise = Promise.resolve().then(async function() {\n var error = null;\n var active = function active2() {\n return !_this.disposed && _this.catchUpEpoch === epoch;\n };\n do {\n if (!active()) return _this.catchUpState;\n run.trailing = false;\n error = null;\n try {\n if (_this.options.catchUpStrategy === \"snapshot\") {\n var results = await _this.refreshSubscriptions();\n var failures = results.filter(function(result) {\n return !result.ok && _this.subscriptionManager.getSubscription(result.subscriptionId) && !_this.subscriptionManager.isRestoredSubscription(result.subscriptionId);\n });\n if (failures.length) error = new AggregateError(failures.map(function(failure) {\n return failure.error;\n }), \"Some subscriptions could not refresh. Showing previous data.\");\n } else {\n await _this.backfill({\n scope: BackfillScope.All\n });\n }\n } catch (caught) {\n error = caught;\n }\n } while (\n // Bound a burst to one trailing read, including triggers during that read.\n active() && run.trailing && run.attempt++ === 0\n );\n if (active()) {\n _this.catchUpRun = void 0;\n _this.publishCatchUp({\n refreshing: false,\n stale: error !== null,\n error\n });\n }\n return _this.catchUpState;\n });\n this.publishCatchUp({\n ...this.catchUpState,\n refreshing: true\n });\n return run.promise;\n }\n },\n {\n key: \"backfill\",\n value: (\n /**\n * Reconciles local state by fetching changes since stored cursors.\n */\n async function backfill(args) {\n var epoch = this.catchUpEpoch;\n await this.subscriptionManager.backfill(args);\n if (!this.disposed && epoch === this.catchUpEpoch) this.emit();\n }\n )\n },\n {\n key: \"replayPending\",\n value: (\n /**\n * Replays pending mutations with error handling.\n */\n async function replayPending() {\n await this.mutationEngine.replayPending();\n this.emit();\n }\n )\n },\n {\n /**\n * Public read of the mutation ledger: journal entries still awaiting the\n * server (`Status.Pending`) or rejected by it (`Status.Failed`), ordered\n * by submission sequence. Confirmed entries are dropped from the journal\n * and never appear here. Read inside a `subscribeStore` callback for a\n * reactive pending/error surface (see `useFrappePendingMutations`).\n */\n key: \"getMutationEntries\",\n value: function getMutationEntries(doctype) {\n var entries = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.mutationJournal.listPending()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var { id, entry } = _step.value;\n var _entry_createdAt, _entry_retryCount, _entry_error_message;\n if (doctype && entry.doctype !== doctype) continue;\n entries.push({\n id,\n operation: entry.operation,\n doctype: entry.doctype,\n docname: entry.docname,\n status: entry.status,\n createdAt: (_entry_createdAt = entry.createdAt) !== null && _entry_createdAt !== void 0 ? _entry_createdAt : 0,\n retryCount: (_entry_retryCount = entry.retryCount) !== null && _entry_retryCount !== void 0 ? _entry_retryCount : 0,\n error: entry.error ? (_entry_error_message = entry.error.message) !== null && _entry_error_message !== void 0 ? _entry_error_message : String(entry.error) : void 0\n });\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return entries;\n }\n },\n {\n /**\n * Drops a failed (or still-pending) ledger entry without retrying it —\n * the \"dismiss\" half of the rejected-write contract. The optimistic\n * rollback already ran when the mutation failed; this only clears the\n * error affordance.\n */\n key: \"dismissMutation\",\n value: function dismissMutation(id) {\n this.mutationJournal.remove(id);\n this.emit();\n }\n },\n {\n /** Reads a single document from the local cache. */\n key: \"getDocFromCache\",\n value: function getDocFromCache(doctype, name) {\n return this.normalizedCache.get({\n doctype,\n name\n });\n }\n },\n {\n /** Returns subscription metadata by id. */\n key: \"getSubscription\",\n value: function getSubscription(id) {\n return this.subscriptionManager.getSubscription(id);\n }\n },\n {\n /**\n * Returns current rows for a subscription from the cache.\n */\n key: \"getDocsForSubscription\",\n value: function getDocsForSubscription(id) {\n return this.subscriptionManager.getDocsForSubscription(id);\n }\n },\n {\n key: \"getPage\",\n value: (\n /**\n * Get a specific page of documents using virtual pagination.\n * Requires the subscription to have been created with `progressive: true`.\n */\n async function getPage(subscriptionId, page) {\n var result = await this.subscriptionManager.getPage(subscriptionId, page);\n this.emit();\n return result;\n }\n )\n },\n {\n key: \"getNextBatch\",\n value: (\n /**\n * Get the next batch of documents after a cursor for infinite scroll.\n * Requires the subscription to have been created with `progressive: true`.\n */\n async function getNextBatch(subscriptionId, cursorDocId, limit) {\n var result = await this.subscriptionManager.getNextBatch(subscriptionId, cursorDocId, limit);\n this.emit();\n return result;\n }\n )\n },\n {\n /**\n * Get page information for a subscription.\n */\n key: \"getPageInfo\",\n value: function getPageInfo(subscriptionId) {\n return this.subscriptionManager.getPageInfo(subscriptionId);\n }\n },\n {\n key: \"refetchDocs\",\n value: (\n /** Refetches authoritative copies for specific documents and updates cache. */\n async function refetchDocs(docs) {\n await this.subscriptionManager.backfill({\n scope: BackfillScope.Docs,\n docs\n });\n this.emit();\n }\n )\n },\n {\n /** Adds a store listener; returns an unsubscribe function. */\n key: \"subscribeStore\",\n value: function subscribeStore(listener) {\n var _this = this;\n this.storeListeners.add(listener);\n return function() {\n _this.storeListeners.delete(listener);\n };\n }\n },\n {\n /**\n * Registers a listener for raw realtime events (doc_update, list_update,\n * doc_deleted, connected, …). Useful for consumers that manage their own\n * fetching (e.g. server-side paginated tables) but still want live\n * invalidation hints. Returns an unsubscribe function.\n */\n key: \"subscribeRealtimeEvents\",\n value: function subscribeRealtimeEvents(listener) {\n var _this = this;\n this.realtimeEventListeners.add(listener);\n return function() {\n _this.realtimeEventListeners.delete(listener);\n };\n }\n },\n {\n /**\n * Joins the realtime doctype room without creating a data subscription\n * (refcounted). Pair with `unwatchDoctype` on cleanup. Used by consumers\n * that fetch their own data but need the doctype's realtime hints.\n */\n key: \"watchDoctype\",\n value: function watchDoctype(doctype) {\n this.realtimeHandler.watchDoctype(doctype);\n }\n },\n {\n /** Releases one `watchDoctype` reference. */\n key: \"unwatchDoctype\",\n value: function unwatchDoctype(doctype) {\n this.realtimeHandler.unwatchDoctype(doctype);\n }\n },\n {\n /**\n * Live socket connection snapshot. `connected` is the state right now;\n * `everConnected` distinguishes \"reconnecting\" from \"realtime never up\"\n * (fixture mode, SSR, or no realtime module). Store listeners are\n * notified on every flip, so read this inside a `subscribeStore` callback\n * for a reactive indicator.\n */\n key: \"getConnectionState\",\n value: function getConnectionState() {\n return this.realtimeHandler.getConnectionState();\n }\n },\n {\n key: \"emit\",\n value: (\n /** Notifies listeners, schedules persistence, and broadcasts cross-tab changes. */\n function emit() {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = this.storeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener();\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n this.persistenceManager.scheduleSave();\n this.persistenceManager.broadcastChange();\n }\n )\n },\n {\n /** Clears subscriptions, cache, journal, and temp id mappings. */\n key: \"resetCache\",\n value: function resetCache() {\n this.catchUpEpoch++;\n this.catchUpRun = void 0;\n this.catchUpState = idleCatchUpState;\n this.realtimeHandler.unwatchAll();\n this.subscriptionManager.clear();\n this.normalizedCache.clear();\n this.mutationJournal.clear();\n this.mutationEngine.clearTemporaryMappings();\n this.emit();\n }\n },\n {\n key: \"dispose\",\n value: (\n /** Cleanup and dispose of resources */\n async function dispose() {\n var _this_cleanupFocus, _this, _this_cleanupFocusReplay, _this1, _this_cleanupOnlineBackfill, _this2, _this_cleanupOnlineReplay, _this3;\n this.disposed = true;\n this.storeListeners.clear();\n this.realtimeEventListeners.clear();\n this.resetCache();\n this.mutationJournal.dispose();\n this.mutationEngine.dispose();\n this.realtimeHandler.dispose();\n this.persistenceManager.destroy();\n this.rehydrationManager.clear();\n (_this_cleanupFocus = (_this = this).cleanupFocus) === null || _this_cleanupFocus === void 0 ? void 0 : _this_cleanupFocus.call(_this);\n (_this_cleanupFocusReplay = (_this1 = this).cleanupFocusReplay) === null || _this_cleanupFocusReplay === void 0 ? void 0 : _this_cleanupFocusReplay.call(_this1);\n (_this_cleanupOnlineBackfill = (_this2 = this).cleanupOnlineBackfill) === null || _this_cleanupOnlineBackfill === void 0 ? void 0 : _this_cleanupOnlineBackfill.call(_this2);\n (_this_cleanupOnlineReplay = (_this3 = this).cleanupOnlineReplay) === null || _this_cleanupOnlineReplay === void 0 ? void 0 : _this_cleanupOnlineReplay.call(_this3);\n this.cleanupFocus = void 0;\n this.cleanupFocusReplay = void 0;\n this.cleanupOnlineBackfill = void 0;\n this.cleanupOnlineReplay = void 0;\n if (this.cdcIntervalHandle) {\n clearInterval(this.cdcIntervalHandle);\n this.cdcIntervalHandle = void 0;\n }\n }\n )\n },\n {\n /**\n * Returns a snapshot of internal state for devtools inspection.\n * Prefixed with __ to signal internal/debug use only.\n */\n key: \"__debug\",\n value: function __debug() {\n var allSubs = this.subscriptionManager.getAllSubscriptions();\n var vpm = this.subscriptionManager.getVirtualPageManager();\n var subscriptions = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = allSubs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [, sub] = _step.value;\n var _ref;\n var _sub_tombstones;\n var virtualSub = vpm.getSubscription(sub.id);\n var pageInfo = vpm.getPageInfo(sub.id);\n var islands = vpm.getPageIslands(sub.id);\n var debugSub = {\n id: sub.id,\n query: sub.query,\n docCount: sub.docIds.length,\n tombstoneCount: (_ref = (_sub_tombstones = sub.tombstones) === null || _sub_tombstones === void 0 ? void 0 : _sub_tombstones.size) !== null && _ref !== void 0 ? _ref : 0,\n checkpoint: sub.checkpoint,\n cursor: sub.cursor,\n stale: sub.stale,\n restored: this.subscriptionManager.isRestoredSubscription(sub.id),\n pageInfo\n };\n if (virtualSub) {\n var _pc_lastFetchedAt;\n var pc = virtualSub.getProgressiveCache();\n debugSub.progressiveCache = {\n docIds: pc.docIds,\n nextCursor: pc.nextCursor,\n hasMore: pc.hasMore,\n totalCount: pc.totalCount,\n lastFetchedAt: (_pc_lastFetchedAt = pc.lastFetchedAt) === null || _pc_lastFetchedAt === void 0 ? void 0 : _pc_lastFetchedAt.toISOString(),\n islands\n };\n }\n subscriptions.push(debugSub);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var cacheStats = this.normalizedCache.getStats();\n var allEntries = this.mutationJournal.getAllEntries();\n var pending = [];\n var confirmed = [];\n var failed = [];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = allEntries[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var { id, entry } = _step1.value;\n var _entry_createdAt, _entry_retryCount, _entry_error_message;\n var debugEntry = {\n id,\n operation: entry.operation,\n doctype: entry.doctype,\n docname: entry.docname,\n status: entry.status,\n createdAt: (_entry_createdAt = entry.createdAt) !== null && _entry_createdAt !== void 0 ? _entry_createdAt : 0,\n retryCount: (_entry_retryCount = entry.retryCount) !== null && _entry_retryCount !== void 0 ? _entry_retryCount : 0,\n error: entry.error ? (_entry_error_message = entry.error.message) !== null && _entry_error_message !== void 0 ? _entry_error_message : String(entry.error) : void 0\n };\n if (entry.status === Status.Pending) pending.push(debugEntry);\n else if (entry.status === Status.Confirmed) confirmed.push(debugEntry);\n else if (entry.status === Status.Failed) failed.push(debugEntry);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n return {\n subscriptions,\n normalizedCache: cacheStats,\n mutationJournal: {\n pending,\n confirmed,\n failed\n },\n connection: {\n socketConnected: this.realtimeHandler.getIsConnected(),\n isLeader: this.persistenceManager.getIsLeader(),\n // React Native has navigator but no onLine (undefined) — treat\n // anything other than an explicit false as online.\n isOnline: typeof navigator === \"undefined\" || navigator.onLine !== false\n }\n };\n }\n },\n {\n /**\n * Checks if this tab is the leader for multi-tab coordination.\n */\n key: \"isLeader\",\n value: function isLeader() {\n return this.persistenceManager.getIsLeader();\n }\n }\n ]);\n return SyncModule2;\n})();\nexport {\n SyncModule\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,QAAQ,QAAQ,6BAA6B;AAClE,SAASC,cAAc,QAAQ,4BAAkB;AACjD,SAASC,eAAe,QAAQ,6BAAmB;AACnD,SAASC,eAAe,QAAQ,6BAAmB;AACnD,SAASC,kBAAkB,QAAQ,yBAAe;AAClD,SAASC,eAAe,QAAQ,sBAAY;AAC5C,SAASC,kBAAkB,QAAQ,yBAAe;AAClD,SAASC,mBAAmB,QAAQ,iCAAuB;AAC3D,SAASC,aAAa,EAAEC,MAAM,QAAQ,mBAAS;AAC/C,SAASC,iBAAiBA,CAACC,QAAQ,EAAEC,WAAW,EAAE;EAChD,IAAI,EAAED,QAAQ,YAAYC,WAAW,CAAC,EAAE;IACtC,MAAM,IAAIC,SAAS,CAAC,mCAAmC,CAAC;EAC1D;AACF;AACA,SAASC,iBAAiBA,CAACC,MAAM,EAAEC,KAAK,EAAE;EACxC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;IACrC,IAAIE,UAAU,GAAGH,KAAK,CAACC,CAAC,CAAC;IACzBE,UAAU,CAACC,UAAU,GAAGD,UAAU,CAACC,UAAU,IAAI,KAAK;IACtDD,UAAU,CAACE,YAAY,GAAG,IAAI;IAC9B,IAAI,OAAO,IAAIF,UAAU,EAAEA,UAAU,CAACG,QAAQ,GAAG,IAAI;IACrDC,MAAM,CAACC,cAAc,CAACT,MAAM,EAAEI,UAAU,CAACM,GAAG,EAAEN,UAAU,CAAC;EAC3D;AACF;AACA,SAASO,aAAaA,CAACd,WAAW,EAAEe,UAAU,EAAEC,WAAW,EAAE;EAC3D,IAAID,UAAU,EAAEb,iBAAiB,CAACF,WAAW,CAACiB,SAAS,EAAEF,UAAU,CAAC;EACpE,IAAIC,WAAW,EAAEd,iBAAiB,CAACF,WAAW,EAAEgB,WAAW,CAAC;EAC5D,OAAOhB,WAAW;AACpB;AACA,SAASkB,gBAAgBA,CAACC,GAAG,EAAEN,GAAG,EAAEO,KAAK,EAAE;EACzC,IAAIP,GAAG,IAAIM,GAAG,EAAE;IACdR,MAAM,CAACC,cAAc,CAACO,GAAG,EAAEN,GAAG,EAAE;MAC9BO,KAAK;MACLZ,UAAU,EAAE,IAAI;MAChBC,YAAY,EAAE,IAAI;MAClBC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ,CAAC,MAAM;IACLS,GAAG,CAACN,GAAG,CAAC,GAAGO,KAAK;EAClB;EACA,OAAOD,GAAG;AACZ;AACA,SAASE,wBAAwBA,CAAA,EAAG;EAClC,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE,OAAO,KAAK,CAAC;EACnF,IAAI;IACF,IAAIC,OAAO,GAAGF,MAAM,CAACG,YAAY;IACjC,OAAO,QAAQD,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACE,OAAO,CAAC,KAAK,UAAU,IAAI,OAAOF,OAAO,CAACG,OAAO,KAAK,UAAU,GAAGH,OAAO,GAAG,KAAK,CAAC;EAC9J,CAAC,CAAC,OAAOI,MAAM,EAAE;IACf,OAAO,KAAK,CAAC;EACf;AACF;AACA,IAAIC,gBAAgB,GAAGlB,MAAM,CAACmB,MAAM,CAAC;EACnCC,UAAU,EAAE,KAAK;EACjBC,KAAK,EAAE,KAAK;EACZC,KAAK,EAAE;AACT,CAAC,CAAC;AACF,IAAIC,UAAU,GAAG,eAAiB,YAAW;EAC3C,YAAY;;EACZ,SAASC,WAAWA,CAACC,EAAE,EAAEC,QAAQ,EAAE;IACjC,IAAIC,KAAK,GAAG,IAAI;IAChB,IAAIC,OAAO,GAAGC,SAAS,CAAClC,MAAM,GAAG,CAAC,IAAIkC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjF1C,iBAAiB,CAAC,IAAI,EAAEqC,WAAW,CAAC;IACpCjB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjDA,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjDA,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,eAAgB,IAAIuB,GAAG,CAAC,CAAC,CAAC;IACnEvB,gBAAgB,CAAC,IAAI,EAAE,wBAAwB,EAAE,eAAgB,IAAIuB,GAAG,CAAC,CAAC,CAAC;IAC3EvB,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACrDA,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAChDA,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjDA,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACpDA,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACpDA,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC9CA,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACpDA,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;IACvDA,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACrDA,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACnDA,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACpCA,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1CA,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACzCA,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAEW,gBAAgB,CAAC;IACxDX,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACzCA,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC;IACzCA,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,CAACkB,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACE,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACG,eAAe,GAAG,IAAInD,eAAe,CAAC;MACzCoD,OAAO,EAAE,IAAI,CAACJ,OAAO,CAACK;IACxB,CAAC,CAAC;IACF,IAAI,CAACC,eAAe,GAAG,IAAIvD,eAAe,CAAC;MACzCwD,GAAG,EAAE,IAAI,CAACP,OAAO,CAACQ,WAAW;MAC7BC,iBAAiB,EAAE,IAAI;MACvBxB,OAAO,EAAEH,wBAAwB,CAAC;IACpC,CAAC,CAAC;IACF,IAAI,CAAC4B,mBAAmB,GAAG,IAAItD,mBAAmB,CAAC,IAAI,CAACyC,EAAE,EAAE,IAAI,CAACM,eAAe,EAAE,IAAI,CAACH,OAAO,CAAC;IAC/F,IAAI,CAACW,kBAAkB,GAAG,IAAIxD,kBAAkB,CAAC,IAAI,CAAC0C,EAAE,EAAE,IAAI,CAACM,eAAe,EAAE,IAAI,CAACO,mBAAmB,EAAE,IAAI,CAACJ,eAAe,EAAE,YAAW;MACzI,OAAOP,KAAK,CAACa,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IACF,IAAI,CAACC,cAAc,GAAG,IAAI/D,cAAc,CAAC,IAAI,CAAC+C,EAAE,EAAE,IAAI,CAACC,QAAQ,EAAE,IAAI,CAACK,eAAe,EAAE,IAAI,CAACG,eAAe,EAAE,IAAI,CAACI,mBAAmB,EAAE,IAAI,CAACC,kBAAkB,EAAE;MAC9J,GAAG,IAAI,CAACX,OAAO;MACf;MACA;MACA;MACA;MACAc,aAAa,EAAE,SAASA,aAAaA,CAAA,EAAG;QACtC,OAAOf,KAAK,CAACa,IAAI,CAAC,CAAC;MACrB;IACF,CAAC,CAAC;IACF,IAAIG,eAAe,GAAG;MACpB,GAAG,IAAI,CAACf,OAAO;MACfgB,YAAY,EAAE,SAASA,YAAYA,CAAA,EAAG;QACpC,OAAOjB,KAAK,CAACkB,UAAU,CAAC,CAAC;MAC3B,CAAC;MACDC,aAAa,EAAE,SAASA,aAAaA,CAAA,EAAG;QACtC,KAAKnB,KAAK,CAACoB,OAAO,CAAC,CAAC;MACtB,CAAC;MACD;MACA;MACAL,aAAa,EAAE,SAASA,aAAaA,CAAA,EAAG;QACtC,OAAOf,KAAK,CAACa,IAAI,CAAC,CAAC;MACrB,CAAC;MACDQ,eAAe,EAAE,SAASA,eAAeA,CAACC,KAAK,EAAE;QAC/C,IAAIC,6BAA6B,EAAEC,aAAa;QAChD,CAACD,6BAA6B,GAAG,CAACC,aAAa,GAAGxB,KAAK,CAACC,OAAO,EAAEoB,eAAe,MAAM,IAAI,IAAIE,6BAA6B,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,6BAA6B,CAACE,IAAI,CAACD,aAAa,EAAEF,KAAK,CAAC;QAC1M,IAAII,yBAAyB,GAAG,IAAI;UAAEC,iBAAiB,GAAG,KAAK;UAAEC,cAAc,GAAG,KAAK,CAAC;QACxF,IAAI;UACF,KAAK,IAAIC,SAAS,GAAG7B,KAAK,CAAC8B,sBAAsB,CAACC,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;YAC7K,IAAIU,QAAQ,GAAGH,KAAK,CAACnD,KAAK;YAC1BsD,QAAQ,CAACd,KAAK,CAAC;UACjB;QACF,CAAC,CAAC,OAAOe,GAAG,EAAE;UACZV,iBAAiB,GAAG,IAAI;UACxBC,cAAc,GAAGS,GAAG;QACtB,CAAC,SAAS;UACR,IAAI;YACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;cAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;YACpB;UACF,CAAC,SAAS;YACR,IAAIX,iBAAiB,EAAE;cACrB,MAAMC,cAAc;YACtB;UACF;QACF;MACF;IACF,CAAC;IACD,IAAI,CAACW,eAAe,GAAG,IAAIpF,eAAe,CAAC,IAAI,CAAC2C,EAAE,EAAE,IAAI,CAACC,QAAQ,EAAE,IAAI,CAACK,eAAe,EAAE,IAAI,CAACO,mBAAmB,EAAE,IAAI,CAACC,kBAAkB,EAAEI,eAAe,CAAC;IAC5J,IAAI,CAACwB,kBAAkB,GAAG,IAAItF,kBAAkB,CAAC,IAAI,CAACkD,eAAe,EAAE,IAAI,CAACG,eAAe,EAAE,IAAI,CAACI,mBAAmB,EAAE,IAAI,CAACG,cAAc,EAAEE,eAAe,CAAC;IAC5J,IAAI,CAACyB,iBAAiB,CAAC,CAAC;EAC1B;EACAjE,aAAa,CAACqB,WAAW,EAAE,CACzB;IACEtB,GAAG,EAAE,mBAAmB;IACxBO,KAAK;IACH;AACR;AACA;AACA;IACQ,SAAS2D,iBAAiBA,CAAA,EAAG;MAC3B,IAAIzC,KAAK,GAAG,IAAI;MAChB,IAAI,CAAC0C,YAAY,GAAG7F,UAAU,CAAC,YAAW;QACxC,KAAKmD,KAAK,CAACoB,OAAO,CAAC,CAAC;MACtB,CAAC,CAAC;MACF,IAAI,CAACuB,kBAAkB,GAAG9F,UAAU,CAAC,YAAW;QAC9C,IAAImD,KAAK,CAACO,eAAe,CAACqC,WAAW,CAAC,CAAC,CAAC5E,MAAM,GAAG,CAAC,EAAE,KAAKgC,KAAK,CAAC6C,aAAa,CAAC,CAAC;MAChF,CAAC,CAAC;MACF,IAAI,CAACC,qBAAqB,GAAGhG,QAAQ,CAAC,YAAW;QAC/C,KAAKkD,KAAK,CAACoB,OAAO,CAAC,CAAC;MACtB,CAAC,CAAC;MACF,IAAI,CAAC2B,mBAAmB,GAAGjG,QAAQ,CAAC,YAAW;QAC7C,OAAOkD,KAAK,CAAC6C,aAAa,CAAC,CAAC;MAC9B,CAAC,CAAC;MACF,IAAI,IAAI,CAAC5C,OAAO,CAAC+C,WAAW,IAAI,IAAI,CAAC/C,OAAO,CAAC+C,WAAW,GAAG,CAAC,EAAE;QAC5D,IAAI,CAACC,iBAAiB,GAAGC,WAAW,CAAC,YAAW;UAC9C,KAAKlD,KAAK,CAACoB,OAAO,CAAC,CAAC;QACtB,CAAC,EAAE,IAAI,CAACnB,OAAO,CAAC+C,WAAW,CAAC;MAC9B;IACF,CAAC;EAEL,CAAC,EACD;IACEzE,GAAG,EAAE,WAAW;IAChBO,KAAK;IACH;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,eAAeqE,SAASA,CAACC,KAAK,EAAE;MAC9B,IAAIpD,KAAK,GAAG,IAAI;MAChB,IAAI,IAAI,CAACC,OAAO,CAACoD,eAAe,KAAK,UAAU,IAAID,KAAK,CAACE,WAAW,EAAE;QACpE,MAAM,IAAIC,KAAK,CAAC,8DAA8D,CAAC;MACjF;MACA,MAAM,IAAI,CAACf,kBAAkB,CAACgB,SAAS,CAAC,CAAC;MACzC,IAAIC,MAAM,GAAG,MAAM,IAAI,CAAC9C,mBAAmB,CAACwC,SAAS,CAACC,KAAK,CAAC;MAC5D,IAAI,CAACb,eAAe,CAACmB,YAAY,CAACN,KAAK,CAACO,OAAO,CAAC;MAChD,IAAI,CAAC9C,IAAI,CAAC,CAAC;MACX,IAAI4C,MAAM,CAACG,OAAO,EAAE,KAAKH,MAAM,CAACG,OAAO,CAACC,IAAI,CAAC,YAAW;QACtD,OAAO7D,KAAK,CAACa,IAAI,CAAC,CAAC;MACrB,CAAC,CAAC;MACF,OAAO4C,MAAM;IACf,CAAC;EAEL,CAAC,EACD;IACE;AACN;AACA;IACMlF,GAAG,EAAE,aAAa;IAClBO,KAAK,EAAE,SAASgF,WAAWA,CAACC,cAAc,EAAE;MAC1C,IAAIC,YAAY,GAAG,IAAI,CAACrD,mBAAmB,CAACsD,eAAe,CAACF,cAAc,CAAC;MAC3E,IAAI,CAACpD,mBAAmB,CAACmD,WAAW,CAACC,cAAc,CAAC;MACpD,IAAIC,YAAY,EAAE,IAAI,CAACzB,eAAe,CAAC2B,cAAc,CAACF,YAAY,CAACZ,KAAK,CAACO,OAAO,CAAC;MACjF,IAAI,CAAC9C,IAAI,CAAC,CAAC;IACb;EACF,CAAC,EACD;IACEtC,GAAG,EAAE,QAAQ;IACbO,KAAK,EAAE,eAAeqF,MAAMA,CAACC,QAAQ,EAAE;MACrC,IAAI;QACF,MAAM,IAAI,CAACtD,cAAc,CAACqD,MAAM,CAACC,QAAQ,CAAC;MAC5C,CAAC,CAAC,OAAO/B,GAAG,EAAE;QACZ,IAAI,CAACxB,IAAI,CAAC,CAAC;QACX,MAAMwB,GAAG;MACX;MACA,IAAI,CAACG,kBAAkB,CAAC6B,iBAAiB,CAACD,QAAQ,CAAC;MACnD,IAAI,CAACvD,IAAI,CAAC,CAAC;IACb;EACF,CAAC,EACD;IACE;AACN;AACA;AACA;AACA;IACMtC,GAAG,EAAE,aAAa;IAClBO,KAAK,EAAE,SAASwF,WAAWA,CAACC,aAAa,EAAE;MACzC,OAAO,IAAI,CAAC3D,kBAAkB,CAAC4D,aAAa,CAACD,aAAa,CAAC;IAC7D;EACF,CAAC,EACD;IACEhG,GAAG,EAAE,sBAAsB;IAC3BO,KAAK,GACH;IACA,eAAe2F,oBAAoBA,CAACxE,OAAO,EAAE;MAC3C,IAAIyE,KAAK,GAAG,IAAI,CAACC,YAAY;MAC7B,MAAM,IAAI,CAACnC,kBAAkB,CAACgB,SAAS,CAAC,CAAC;MACzC,IAAI,IAAI,CAACoB,QAAQ,IAAIF,KAAK,KAAK,IAAI,CAACC,YAAY,EAAE,OAAO,EAAE;MAC3D,IAAIE,OAAO,GAAG,MAAM,IAAI,CAAClE,mBAAmB,CAAC8D,oBAAoB,CAACxE,OAAO,CAAC;MAC1E,IAAI,CAAC,IAAI,CAAC2E,QAAQ,IAAIF,KAAK,KAAK,IAAI,CAACC,YAAY,EAAE,IAAI,CAAC9D,IAAI,CAAC,CAAC;MAC9D,OAAOgE,OAAO;IAChB,CAAC;EAEL,CAAC,EACD;IACEtG,GAAG,EAAE,iBAAiB;IACtBO,KAAK,EAAE,SAASgG,eAAeA,CAAA,EAAG;MAChC,OAAO,IAAI,CAACC,YAAY;IAC1B;EACF,CAAC,EACD;IACExG,GAAG,EAAE,gBAAgB;IACrBO,KAAK,EAAE,SAASkG,cAAcA,CAACC,KAAK,EAAE;MACpC,IAAI,CAACF,YAAY,GAAG1G,MAAM,CAACmB,MAAM,CAACyF,KAAK,CAAC;MACxC,IAAIvD,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG,IAAI,CAACqD,cAAc,CAACnD,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;UACpK,IAAIU,QAAQ,GAAGH,KAAK,CAACnD,KAAK;UAC1BsD,QAAQ,CAAC,CAAC;QACZ;MACF,CAAC,CAAC,OAAOC,GAAG,EAAE;QACZV,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGS,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;YAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIX,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;IACF;EACF,CAAC,EACD;IACE;IACArD,GAAG,EAAE,SAAS;IACdO,KAAK,EAAE,SAASsC,OAAOA,CAAA,EAAG;MACxB,IAAIpB,KAAK,GAAG,IAAI;MAChB,IAAI,IAAI,CAAC4E,QAAQ,EAAE,OAAOO,OAAO,CAACC,OAAO,CAAC,IAAI,CAACL,YAAY,CAAC;MAC5D,IAAI,IAAI,CAACM,UAAU,EAAE;QACnB,IAAI,IAAI,CAACA,UAAU,CAACC,OAAO,KAAK,CAAC,EAAE,IAAI,CAACD,UAAU,CAACE,QAAQ,GAAG,IAAI;QAClE,OAAO,IAAI,CAACF,UAAU,CAACG,OAAO;MAChC;MACA,IAAId,KAAK,GAAG,IAAI,CAACC,YAAY;MAC7B,IAAIc,GAAG,GAAG;QACRF,QAAQ,EAAE,KAAK;QACfD,OAAO,EAAE,CAAC;QACVE,OAAO,EAAEL,OAAO,CAACC,OAAO,CAAC,IAAI,CAACL,YAAY;MAC5C,CAAC;MACD,IAAI,CAACM,UAAU,GAAGI,GAAG;MACrBA,GAAG,CAACD,OAAO,GAAGL,OAAO,CAACC,OAAO,CAAC,CAAC,CAACvB,IAAI,CAAC,kBAAiB;QACpD,IAAIlE,KAAK,GAAG,IAAI;QAChB,IAAI+F,MAAM,GAAG,SAASC,OAAOA,CAAA,EAAG;UAC9B,OAAO,CAAC3F,KAAK,CAAC4E,QAAQ,IAAI5E,KAAK,CAAC2E,YAAY,KAAKD,KAAK;QACxD,CAAC;QACD,GAAG;UACD,IAAI,CAACgB,MAAM,CAAC,CAAC,EAAE,OAAO1F,KAAK,CAAC+E,YAAY;UACxCU,GAAG,CAACF,QAAQ,GAAG,KAAK;UACpB5F,KAAK,GAAG,IAAI;UACZ,IAAI;YACF,IAAIK,KAAK,CAACC,OAAO,CAACoD,eAAe,KAAK,UAAU,EAAE;cAChD,IAAIwB,OAAO,GAAG,MAAM7E,KAAK,CAACyE,oBAAoB,CAAC,CAAC;cAChD,IAAImB,QAAQ,GAAGf,OAAO,CAACgB,MAAM,CAAC,UAASpC,MAAM,EAAE;gBAC7C,OAAO,CAACA,MAAM,CAACqC,EAAE,IAAI9F,KAAK,CAACW,mBAAmB,CAACsD,eAAe,CAACR,MAAM,CAACM,cAAc,CAAC,IAAI,CAAC/D,KAAK,CAACW,mBAAmB,CAACoF,sBAAsB,CAACtC,MAAM,CAACM,cAAc,CAAC;cACnK,CAAC,CAAC;cACF,IAAI6B,QAAQ,CAAC5H,MAAM,EAAE2B,KAAK,GAAG,IAAIqG,cAAc,CAACJ,QAAQ,CAACK,GAAG,CAAC,UAASC,OAAO,EAAE;gBAC7E,OAAOA,OAAO,CAACvG,KAAK;cACtB,CAAC,CAAC,EAAE,8DAA8D,CAAC;YACrE,CAAC,MAAM;cACL,MAAMK,KAAK,CAACmG,QAAQ,CAAC;gBACnBC,KAAK,EAAE9I,aAAa,CAAC+I;cACvB,CAAC,CAAC;YACJ;UACF,CAAC,CAAC,OAAOC,MAAM,EAAE;YACf3G,KAAK,GAAG2G,MAAM;UAChB;QACF,CAAC;QACC;QACAZ,MAAM,CAAC,CAAC,IAAID,GAAG,CAACF,QAAQ,IAAIE,GAAG,CAACH,OAAO,EAAE,KAAK,CAAC;QAEjD,IAAII,MAAM,CAAC,CAAC,EAAE;UACZ1F,KAAK,CAACqF,UAAU,GAAG,KAAK,CAAC;UACzBrF,KAAK,CAACgF,cAAc,CAAC;YACnBvF,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEC,KAAK,KAAK,IAAI;YACrBA;UACF,CAAC,CAAC;QACJ;QACA,OAAOK,KAAK,CAAC+E,YAAY;MAC3B,CAAC,CAAC;MACF,IAAI,CAACC,cAAc,CAAC;QAClB,GAAG,IAAI,CAACD,YAAY;QACpBtF,UAAU,EAAE;MACd,CAAC,CAAC;MACF,OAAOgG,GAAG,CAACD,OAAO;IACpB;EACF,CAAC,EACD;IACEjH,GAAG,EAAE,UAAU;IACfO,KAAK;IACH;AACR;AACA;IACQ,eAAeqH,QAAQA,CAACI,IAAI,EAAE;MAC5B,IAAI7B,KAAK,GAAG,IAAI,CAACC,YAAY;MAC7B,MAAM,IAAI,CAAChE,mBAAmB,CAACwF,QAAQ,CAACI,IAAI,CAAC;MAC7C,IAAI,CAAC,IAAI,CAAC3B,QAAQ,IAAIF,KAAK,KAAK,IAAI,CAACC,YAAY,EAAE,IAAI,CAAC9D,IAAI,CAAC,CAAC;IAChE,CAAC;EAEL,CAAC,EACD;IACEtC,GAAG,EAAE,eAAe;IACpBO,KAAK;IACH;AACR;AACA;IACQ,eAAe+D,aAAaA,CAAA,EAAG;MAC7B,MAAM,IAAI,CAAC/B,cAAc,CAAC+B,aAAa,CAAC,CAAC;MACzC,IAAI,CAAChC,IAAI,CAAC,CAAC;IACb,CAAC;EAEL,CAAC,EACD;IACE;AACN;AACA;AACA;AACA;AACA;AACA;IACMtC,GAAG,EAAE,oBAAoB;IACzBO,KAAK,EAAE,SAAS0H,kBAAkBA,CAAC7C,OAAO,EAAE;MAC1C,IAAI8C,OAAO,GAAG,EAAE;MAChB,IAAI/E,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG,IAAI,CAACtB,eAAe,CAACqC,WAAW,CAAC,CAAC,CAACb,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;UACnL,IAAI;YAAEgF,EAAE;YAAEC;UAAM,CAAC,GAAG1E,KAAK,CAACnD,KAAK;UAC/B,IAAI8H,gBAAgB,EAAEC,iBAAiB,EAAEC,oBAAoB;UAC7D,IAAInD,OAAO,IAAIgD,KAAK,CAAChD,OAAO,KAAKA,OAAO,EAAE;UAC1C8C,OAAO,CAACM,IAAI,CAAC;YACXL,EAAE;YACFM,SAAS,EAAEL,KAAK,CAACK,SAAS;YAC1BrD,OAAO,EAAEgD,KAAK,CAAChD,OAAO;YACtBsD,OAAO,EAAEN,KAAK,CAACM,OAAO;YACtBC,MAAM,EAAEP,KAAK,CAACO,MAAM;YACpBC,SAAS,EAAE,CAACP,gBAAgB,GAAGD,KAAK,CAACQ,SAAS,MAAM,IAAI,IAAIP,gBAAgB,KAAK,KAAK,CAAC,GAAGA,gBAAgB,GAAG,CAAC;YAC9GQ,UAAU,EAAE,CAACP,iBAAiB,GAAGF,KAAK,CAACS,UAAU,MAAM,IAAI,IAAIP,iBAAiB,KAAK,KAAK,CAAC,GAAGA,iBAAiB,GAAG,CAAC;YACnHlH,KAAK,EAAEgH,KAAK,CAAChH,KAAK,GAAG,CAACmH,oBAAoB,GAAGH,KAAK,CAAChH,KAAK,CAAC0H,OAAO,MAAM,IAAI,IAAIP,oBAAoB,KAAK,KAAK,CAAC,GAAGA,oBAAoB,GAAGQ,MAAM,CAACX,KAAK,CAAChH,KAAK,CAAC,GAAG,KAAK;UACpK,CAAC,CAAC;QACJ;MACF,CAAC,CAAC,OAAO0C,GAAG,EAAE;QACZV,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGS,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;YAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIX,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;MACA,OAAO6E,OAAO;IAChB;EACF,CAAC,EACD;IACE;AACN;AACA;AACA;AACA;AACA;IACMlI,GAAG,EAAE,iBAAiB;IACtBO,KAAK,EAAE,SAASyI,eAAeA,CAACb,EAAE,EAAE;MAClC,IAAI,CAACnG,eAAe,CAACiH,MAAM,CAACd,EAAE,CAAC;MAC/B,IAAI,CAAC7F,IAAI,CAAC,CAAC;IACb;EACF,CAAC,EACD;IACE;IACAtC,GAAG,EAAE,iBAAiB;IACtBO,KAAK,EAAE,SAAS2I,eAAeA,CAAC9D,OAAO,EAAE+D,IAAI,EAAE;MAC7C,OAAO,IAAI,CAACtH,eAAe,CAACuH,GAAG,CAAC;QAC9BhE,OAAO;QACP+D;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EACD;IACE;IACAnJ,GAAG,EAAE,iBAAiB;IACtBO,KAAK,EAAE,SAASmF,eAAeA,CAACyC,EAAE,EAAE;MAClC,OAAO,IAAI,CAAC/F,mBAAmB,CAACsD,eAAe,CAACyC,EAAE,CAAC;IACrD;EACF,CAAC,EACD;IACE;AACN;AACA;IACMnI,GAAG,EAAE,wBAAwB;IAC7BO,KAAK,EAAE,SAAS8I,sBAAsBA,CAAClB,EAAE,EAAE;MACzC,OAAO,IAAI,CAAC/F,mBAAmB,CAACiH,sBAAsB,CAAClB,EAAE,CAAC;IAC5D;EACF,CAAC,EACD;IACEnI,GAAG,EAAE,SAAS;IACdO,KAAK;IACH;AACR;AACA;AACA;IACQ,eAAe+I,OAAOA,CAAC9D,cAAc,EAAE+D,IAAI,EAAE;MAC3C,IAAIrE,MAAM,GAAG,MAAM,IAAI,CAAC9C,mBAAmB,CAACkH,OAAO,CAAC9D,cAAc,EAAE+D,IAAI,CAAC;MACzE,IAAI,CAACjH,IAAI,CAAC,CAAC;MACX,OAAO4C,MAAM;IACf,CAAC;EAEL,CAAC,EACD;IACElF,GAAG,EAAE,cAAc;IACnBO,KAAK;IACH;AACR;AACA;AACA;IACQ,eAAeiJ,YAAYA,CAAChE,cAAc,EAAEiE,WAAW,EAAEC,KAAK,EAAE;MAC9D,IAAIxE,MAAM,GAAG,MAAM,IAAI,CAAC9C,mBAAmB,CAACoH,YAAY,CAAChE,cAAc,EAAEiE,WAAW,EAAEC,KAAK,CAAC;MAC5F,IAAI,CAACpH,IAAI,CAAC,CAAC;MACX,OAAO4C,MAAM;IACf,CAAC;EAEL,CAAC,EACD;IACE;AACN;AACA;IACMlF,GAAG,EAAE,aAAa;IAClBO,KAAK,EAAE,SAASoJ,WAAWA,CAACnE,cAAc,EAAE;MAC1C,OAAO,IAAI,CAACpD,mBAAmB,CAACuH,WAAW,CAACnE,cAAc,CAAC;IAC7D;EACF,CAAC,EACD;IACExF,GAAG,EAAE,aAAa;IAClBO,KAAK,GACH;IACA,eAAeqJ,WAAWA,CAACC,IAAI,EAAE;MAC/B,MAAM,IAAI,CAACzH,mBAAmB,CAACwF,QAAQ,CAAC;QACtCC,KAAK,EAAE9I,aAAa,CAAC+K,IAAI;QACzBD;MACF,CAAC,CAAC;MACF,IAAI,CAACvH,IAAI,CAAC,CAAC;IACb,CAAC;EAEL,CAAC,EACD;IACE;IACAtC,GAAG,EAAE,gBAAgB;IACrBO,KAAK,EAAE,SAASwJ,cAAcA,CAAClG,QAAQ,EAAE;MACvC,IAAIpC,KAAK,GAAG,IAAI;MAChB,IAAI,CAACkF,cAAc,CAACqD,GAAG,CAACnG,QAAQ,CAAC;MACjC,OAAO,YAAW;QAChBpC,KAAK,CAACkF,cAAc,CAACsD,MAAM,CAACpG,QAAQ,CAAC;MACvC,CAAC;IACH;EACF,CAAC,EACD;IACE;AACN;AACA;AACA;AACA;AACA;IACM7D,GAAG,EAAE,yBAAyB;IAC9BO,KAAK,EAAE,SAAS2J,uBAAuBA,CAACrG,QAAQ,EAAE;MAChD,IAAIpC,KAAK,GAAG,IAAI;MAChB,IAAI,CAAC8B,sBAAsB,CAACyG,GAAG,CAACnG,QAAQ,CAAC;MACzC,OAAO,YAAW;QAChBpC,KAAK,CAAC8B,sBAAsB,CAAC0G,MAAM,CAACpG,QAAQ,CAAC;MAC/C,CAAC;IACH;EACF,CAAC,EACD;IACE;AACN;AACA;AACA;AACA;IACM7D,GAAG,EAAE,cAAc;IACnBO,KAAK,EAAE,SAAS4E,YAAYA,CAACC,OAAO,EAAE;MACpC,IAAI,CAACpB,eAAe,CAACmB,YAAY,CAACC,OAAO,CAAC;IAC5C;EACF,CAAC,EACD;IACE;IACApF,GAAG,EAAE,gBAAgB;IACrBO,KAAK,EAAE,SAASoF,cAAcA,CAACP,OAAO,EAAE;MACtC,IAAI,CAACpB,eAAe,CAAC2B,cAAc,CAACP,OAAO,CAAC;IAC9C;EACF,CAAC,EACD;IACE;AACN;AACA;AACA;AACA;AACA;AACA;IACMpF,GAAG,EAAE,oBAAoB;IACzBO,KAAK,EAAE,SAAS4J,kBAAkBA,CAAA,EAAG;MACnC,OAAO,IAAI,CAACnG,eAAe,CAACmG,kBAAkB,CAAC,CAAC;IAClD;EACF,CAAC,EACD;IACEnK,GAAG,EAAE,MAAM;IACXO,KAAK,GACH;IACA,SAAS+B,IAAIA,CAAA,EAAG;MACd,IAAIa,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG,IAAI,CAACqD,cAAc,CAACnD,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;UACpK,IAAIU,QAAQ,GAAGH,KAAK,CAACnD,KAAK;UAC1BsD,QAAQ,CAAC,CAAC;QACZ;MACF,CAAC,CAAC,OAAOC,GAAG,EAAE;QACZV,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGS,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;YAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIX,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;MACA,IAAI,CAACY,kBAAkB,CAACmG,YAAY,CAAC,CAAC;MACtC,IAAI,CAACnG,kBAAkB,CAACoG,eAAe,CAAC,CAAC;IAC3C,CAAC;EAEL,CAAC,EACD;IACE;IACArK,GAAG,EAAE,YAAY;IACjBO,KAAK,EAAE,SAASoC,UAAUA,CAAA,EAAG;MAC3B,IAAI,CAACyD,YAAY,EAAE;MACnB,IAAI,CAACU,UAAU,GAAG,KAAK,CAAC;MACxB,IAAI,CAACN,YAAY,GAAGxF,gBAAgB;MACpC,IAAI,CAACgD,eAAe,CAACsG,UAAU,CAAC,CAAC;MACjC,IAAI,CAAClI,mBAAmB,CAACmI,KAAK,CAAC,CAAC;MAChC,IAAI,CAAC1I,eAAe,CAAC0I,KAAK,CAAC,CAAC;MAC5B,IAAI,CAACvI,eAAe,CAACuI,KAAK,CAAC,CAAC;MAC5B,IAAI,CAAChI,cAAc,CAACiI,sBAAsB,CAAC,CAAC;MAC5C,IAAI,CAAClI,IAAI,CAAC,CAAC;IACb;EACF,CAAC,EACD;IACEtC,GAAG,EAAE,SAAS;IACdO,KAAK,GACH;IACA,eAAekK,OAAOA,CAAA,EAAG;MACvB,IAAIC,kBAAkB,EAAEjJ,KAAK,EAAEkJ,wBAAwB,EAAEC,MAAM,EAAEC,2BAA2B,EAAEC,MAAM,EAAEC,yBAAyB,EAAEC,MAAM;MACvI,IAAI,CAAC3E,QAAQ,GAAG,IAAI;MACpB,IAAI,CAACM,cAAc,CAAC4D,KAAK,CAAC,CAAC;MAC3B,IAAI,CAAChH,sBAAsB,CAACgH,KAAK,CAAC,CAAC;MACnC,IAAI,CAAC5H,UAAU,CAAC,CAAC;MACjB,IAAI,CAACX,eAAe,CAACyI,OAAO,CAAC,CAAC;MAC9B,IAAI,CAAClI,cAAc,CAACkI,OAAO,CAAC,CAAC;MAC7B,IAAI,CAACzG,eAAe,CAACyG,OAAO,CAAC,CAAC;MAC9B,IAAI,CAACxG,kBAAkB,CAACgH,OAAO,CAAC,CAAC;MACjC,IAAI,CAAC5I,kBAAkB,CAACkI,KAAK,CAAC,CAAC;MAC/B,CAACG,kBAAkB,GAAG,CAACjJ,KAAK,GAAG,IAAI,EAAE0C,YAAY,MAAM,IAAI,IAAIuG,kBAAkB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,kBAAkB,CAACxH,IAAI,CAACzB,KAAK,CAAC;MACtI,CAACkJ,wBAAwB,GAAG,CAACC,MAAM,GAAG,IAAI,EAAExG,kBAAkB,MAAM,IAAI,IAAIuG,wBAAwB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,wBAAwB,CAACzH,IAAI,CAAC0H,MAAM,CAAC;MAChK,CAACC,2BAA2B,GAAG,CAACC,MAAM,GAAG,IAAI,EAAEvG,qBAAqB,MAAM,IAAI,IAAIsG,2BAA2B,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,2BAA2B,CAAC3H,IAAI,CAAC4H,MAAM,CAAC;MAC5K,CAACC,yBAAyB,GAAG,CAACC,MAAM,GAAG,IAAI,EAAExG,mBAAmB,MAAM,IAAI,IAAIuG,yBAAyB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,yBAAyB,CAAC7H,IAAI,CAAC8H,MAAM,CAAC;MACpK,IAAI,CAAC7G,YAAY,GAAG,KAAK,CAAC;MAC1B,IAAI,CAACC,kBAAkB,GAAG,KAAK,CAAC;MAChC,IAAI,CAACG,qBAAqB,GAAG,KAAK,CAAC;MACnC,IAAI,CAACC,mBAAmB,GAAG,KAAK,CAAC;MACjC,IAAI,IAAI,CAACE,iBAAiB,EAAE;QAC1BwG,aAAa,CAAC,IAAI,CAACxG,iBAAiB,CAAC;QACrC,IAAI,CAACA,iBAAiB,GAAG,KAAK,CAAC;MACjC;IACF,CAAC;EAEL,CAAC,EACD;IACE;AACN;AACA;AACA;IACM1E,GAAG,EAAE,SAAS;IACdO,KAAK,EAAE,SAAS4K,OAAOA,CAAA,EAAG;MACxB,IAAIC,OAAO,GAAG,IAAI,CAAChJ,mBAAmB,CAACiJ,mBAAmB,CAAC,CAAC;MAC5D,IAAIC,GAAG,GAAG,IAAI,CAAClJ,mBAAmB,CAACmJ,qBAAqB,CAAC,CAAC;MAC1D,IAAIC,aAAa,GAAG,EAAE;MACtB,IAAIrI,yBAAyB,GAAG,IAAI;QAAEC,iBAAiB,GAAG,KAAK;QAAEC,cAAc,GAAG,KAAK,CAAC;MACxF,IAAI;QACF,KAAK,IAAIC,SAAS,GAAG8H,OAAO,CAAC5H,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEC,KAAK,EAAE,EAAEP,yBAAyB,GAAG,CAACO,KAAK,GAAGJ,SAAS,CAACK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAET,yBAAyB,GAAG,IAAI,EAAE;UACxJ,IAAI,GAAGsI,GAAG,CAAC,GAAG/H,KAAK,CAACnD,KAAK;UACzB,IAAImL,IAAI;UACR,IAAIC,eAAe;UACnB,IAAIC,UAAU,GAAGN,GAAG,CAAC5F,eAAe,CAAC+F,GAAG,CAACtD,EAAE,CAAC;UAC5C,IAAI0D,QAAQ,GAAGP,GAAG,CAAC3B,WAAW,CAAC8B,GAAG,CAACtD,EAAE,CAAC;UACtC,IAAI2D,OAAO,GAAGR,GAAG,CAACS,cAAc,CAACN,GAAG,CAACtD,EAAE,CAAC;UACxC,IAAI6D,QAAQ,GAAG;YACb7D,EAAE,EAAEsD,GAAG,CAACtD,EAAE;YACVtD,KAAK,EAAE4G,GAAG,CAAC5G,KAAK;YAChBoH,QAAQ,EAAER,GAAG,CAACS,MAAM,CAACzM,MAAM;YAC3B0M,cAAc,EAAE,CAACT,IAAI,GAAG,CAACC,eAAe,GAAGF,GAAG,CAACW,UAAU,MAAM,IAAI,IAAIT,eAAe,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,eAAe,CAACU,IAAI,MAAM,IAAI,IAAIX,IAAI,KAAK,KAAK,CAAC,GAAGA,IAAI,GAAG,CAAC;YACzKY,UAAU,EAAEb,GAAG,CAACa,UAAU;YAC1BC,MAAM,EAAEd,GAAG,CAACc,MAAM;YAClBpL,KAAK,EAAEsK,GAAG,CAACtK,KAAK;YAChBqL,QAAQ,EAAE,IAAI,CAACpK,mBAAmB,CAACoF,sBAAsB,CAACiE,GAAG,CAACtD,EAAE,CAAC;YACjE0D;UACF,CAAC;UACD,IAAID,UAAU,EAAE;YACd,IAAIa,iBAAiB;YACrB,IAAIC,EAAE,GAAGd,UAAU,CAACe,mBAAmB,CAAC,CAAC;YACzCX,QAAQ,CAACY,gBAAgB,GAAG;cAC1BV,MAAM,EAAEQ,EAAE,CAACR,MAAM;cACjBW,UAAU,EAAEH,EAAE,CAACG,UAAU;cACzBC,OAAO,EAAEJ,EAAE,CAACI,OAAO;cACnBC,UAAU,EAAEL,EAAE,CAACK,UAAU;cACzBC,aAAa,EAAE,CAACP,iBAAiB,GAAGC,EAAE,CAACM,aAAa,MAAM,IAAI,IAAIP,iBAAiB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,iBAAiB,CAACQ,WAAW,CAAC,CAAC;cACzInB;YACF,CAAC;UACH;UACAN,aAAa,CAAChD,IAAI,CAACwD,QAAQ,CAAC;QAC9B;MACF,CAAC,CAAC,OAAOlI,GAAG,EAAE;QACZV,iBAAiB,GAAG,IAAI;QACxBC,cAAc,GAAGS,GAAG;MACtB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAACX,yBAAyB,IAAIG,SAAS,CAACS,MAAM,IAAI,IAAI,EAAE;YAC1DT,SAAS,CAACS,MAAM,CAAC,CAAC;UACpB;QACF,CAAC,SAAS;UACR,IAAIX,iBAAiB,EAAE;YACrB,MAAMC,cAAc;UACtB;QACF;MACF;MACA,IAAI6J,UAAU,GAAG,IAAI,CAACrL,eAAe,CAACsL,QAAQ,CAAC,CAAC;MAChD,IAAIC,UAAU,GAAG,IAAI,CAACpL,eAAe,CAACqL,aAAa,CAAC,CAAC;MACrD,IAAIC,OAAO,GAAG,EAAE;MAChB,IAAIC,SAAS,GAAG,EAAE;MAClB,IAAIC,MAAM,GAAG,EAAE;MACf,IAAIC,0BAA0B,GAAG,IAAI;QAAEC,kBAAkB,GAAG,KAAK;QAAEC,eAAe,GAAG,KAAK,CAAC;MAC3F,IAAI;QACF,KAAK,IAAIC,UAAU,GAAGR,UAAU,CAAC5J,MAAM,CAACC,QAAQ,CAAC,CAAC,CAAC,EAAEoK,MAAM,EAAE,EAAEJ,0BAA0B,GAAG,CAACI,MAAM,GAAGD,UAAU,CAACjK,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,EAAE6J,0BAA0B,GAAG,IAAI,EAAE;UACjK,IAAI;YAAEtF,EAAE;YAAEC;UAAM,CAAC,GAAGyF,MAAM,CAACtN,KAAK;UAChC,IAAI8H,gBAAgB,EAAEC,iBAAiB,EAAEC,oBAAoB;UAC7D,IAAIuF,UAAU,GAAG;YACf3F,EAAE;YACFM,SAAS,EAAEL,KAAK,CAACK,SAAS;YAC1BrD,OAAO,EAAEgD,KAAK,CAAChD,OAAO;YACtBsD,OAAO,EAAEN,KAAK,CAACM,OAAO;YACtBC,MAAM,EAAEP,KAAK,CAACO,MAAM;YACpBC,SAAS,EAAE,CAACP,gBAAgB,GAAGD,KAAK,CAACQ,SAAS,MAAM,IAAI,IAAIP,gBAAgB,KAAK,KAAK,CAAC,GAAGA,gBAAgB,GAAG,CAAC;YAC9GQ,UAAU,EAAE,CAACP,iBAAiB,GAAGF,KAAK,CAACS,UAAU,MAAM,IAAI,IAAIP,iBAAiB,KAAK,KAAK,CAAC,GAAGA,iBAAiB,GAAG,CAAC;YACnHlH,KAAK,EAAEgH,KAAK,CAAChH,KAAK,GAAG,CAACmH,oBAAoB,GAAGH,KAAK,CAAChH,KAAK,CAAC0H,OAAO,MAAM,IAAI,IAAIP,oBAAoB,KAAK,KAAK,CAAC,GAAGA,oBAAoB,GAAGQ,MAAM,CAACX,KAAK,CAAChH,KAAK,CAAC,GAAG,KAAK;UACpK,CAAC;UACD,IAAIgH,KAAK,CAACO,MAAM,KAAK3J,MAAM,CAAC+O,OAAO,EAAET,OAAO,CAAC9E,IAAI,CAACsF,UAAU,CAAC,CAAC,KACzD,IAAI1F,KAAK,CAACO,MAAM,KAAK3J,MAAM,CAACgP,SAAS,EAAET,SAAS,CAAC/E,IAAI,CAACsF,UAAU,CAAC,CAAC,KAClE,IAAI1F,KAAK,CAACO,MAAM,KAAK3J,MAAM,CAACiP,MAAM,EAAET,MAAM,CAAChF,IAAI,CAACsF,UAAU,CAAC;QAClE;MACF,CAAC,CAAC,OAAOhK,GAAG,EAAE;QACZ4J,kBAAkB,GAAG,IAAI;QACzBC,eAAe,GAAG7J,GAAG;MACvB,CAAC,SAAS;QACR,IAAI;UACF,IAAI,CAAC2J,0BAA0B,IAAIG,UAAU,CAAC7J,MAAM,IAAI,IAAI,EAAE;YAC5D6J,UAAU,CAAC7J,MAAM,CAAC,CAAC;UACrB;QACF,CAAC,SAAS;UACR,IAAI2J,kBAAkB,EAAE;YACtB,MAAMC,eAAe;UACvB;QACF;MACF;MACA,OAAO;QACLnC,aAAa;QACb3J,eAAe,EAAEqL,UAAU;QAC3BlL,eAAe,EAAE;UACfsL,OAAO;UACPC,SAAS;UACTC;QACF,CAAC;QACDU,UAAU,EAAE;UACVC,eAAe,EAAE,IAAI,CAACnK,eAAe,CAACoK,cAAc,CAAC,CAAC;UACtDC,QAAQ,EAAE,IAAI,CAACpK,kBAAkB,CAACqK,WAAW,CAAC,CAAC;UAC/C;UACA;UACAC,QAAQ,EAAE,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACC,MAAM,KAAK;QACrE;MACF,CAAC;IACH;EACF,CAAC,EACD;IACE;AACN;AACA;IACMzO,GAAG,EAAE,UAAU;IACfO,KAAK,EAAE,SAAS8N,QAAQA,CAAA,EAAG;MACzB,OAAO,IAAI,CAACpK,kBAAkB,CAACqK,WAAW,CAAC,CAAC;IAC9C;EACF,CAAC,CACF,CAAC;EACF,OAAOhN,WAAW;AACpB,CAAC,CAAE,CAAC;AACJ,SACED,UAAU","ignoreList":[]}