cojson-storage-sqlite 0.8.12 → 0.8.16

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.
package/CHANGELOG.md CHANGED
@@ -1,381 +1,388 @@
1
1
  # cojson-storage-sqlite
2
2
 
3
+ ## 0.8.16
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [b934fab]
8
+ - cojson@0.8.16
9
+
3
10
  ## 0.8.12
4
11
 
5
12
  ### Patch Changes
6
13
 
7
- - 6ed75eb: Introduce "storage" peer role
8
- - Updated dependencies [6ed75eb]
9
- - cojson@0.8.12
14
+ - 6ed75eb: Introduce "storage" peer role
15
+ - Updated dependencies [6ed75eb]
16
+ - cojson@0.8.12
10
17
 
11
18
  ## 0.8.11
12
19
 
13
20
  ### Patch Changes
14
21
 
15
- - Updated dependencies [1ed4ab5]
16
- - cojson@0.8.11
22
+ - Updated dependencies [1ed4ab5]
23
+ - cojson@0.8.11
17
24
 
18
25
  ## 0.8.5
19
26
 
20
27
  ### Patch Changes
21
28
 
22
- - Updated dependencies [c3f4e6b]
23
- - Updated dependencies [d9152ed]
24
- - cojson@0.8.5
29
+ - Updated dependencies [c3f4e6b]
30
+ - Updated dependencies [d9152ed]
31
+ - cojson@0.8.5
25
32
 
26
33
  ## 0.8.3
27
34
 
28
35
  ### Patch Changes
29
36
 
30
- - Updated dependencies
31
- - cojson@0.8.3
37
+ - Updated dependencies
38
+ - cojson@0.8.3
32
39
 
33
40
  ## 0.8.0
34
41
 
35
42
  ### Patch Changes
36
43
 
37
- - Updated dependencies [6a147c2]
38
- - Updated dependencies [ad40b88]
39
- - cojson@0.8.0
44
+ - Updated dependencies [6a147c2]
45
+ - Updated dependencies [ad40b88]
46
+ - cojson@0.8.0
40
47
 
41
48
  ## 0.7.35
42
49
 
43
50
  ### Patch Changes
44
51
 
45
- - f350e90: Added a priority system for the sync messages
46
- - Updated dependencies [35bbcd9]
47
- - Updated dependencies [f350e90]
48
- - cojson@0.7.35
52
+ - f350e90: Added a priority system for the sync messages
53
+ - Updated dependencies [35bbcd9]
54
+ - Updated dependencies [f350e90]
55
+ - cojson@0.7.35
49
56
 
50
57
  ## 0.7.34
51
58
 
52
59
  ### Patch Changes
53
60
 
54
- - Updated dependencies [5d91f9f]
55
- - Updated dependencies [5094e6d]
56
- - Updated dependencies [b09589b]
57
- - Updated dependencies [2c3a40c]
58
- - Updated dependencies [4e16575]
59
- - Updated dependencies [ea882ab]
60
- - cojson@0.7.34
61
+ - Updated dependencies [5d91f9f]
62
+ - Updated dependencies [5094e6d]
63
+ - Updated dependencies [b09589b]
64
+ - Updated dependencies [2c3a40c]
65
+ - Updated dependencies [4e16575]
66
+ - Updated dependencies [ea882ab]
67
+ - cojson@0.7.34
61
68
 
62
69
  ## 0.7.34-neverthrow.8
63
70
 
64
71
  ### Patch Changes
65
72
 
66
- - Updated dependencies
67
- - cojson@0.7.34-neverthrow.8
73
+ - Updated dependencies
74
+ - cojson@0.7.34-neverthrow.8
68
75
 
69
76
  ## 0.7.34-neverthrow.7
70
77
 
71
78
  ### Patch Changes
72
79
 
73
- - Updated dependencies
74
- - cojson@0.7.34-neverthrow.7
80
+ - Updated dependencies
81
+ - cojson@0.7.34-neverthrow.7
75
82
 
76
83
  ## 0.7.34-neverthrow.4
77
84
 
78
85
  ### Patch Changes
79
86
 
80
- - Updated dependencies
81
- - cojson@0.7.34-neverthrow.4
87
+ - Updated dependencies
88
+ - cojson@0.7.34-neverthrow.4
82
89
 
83
90
  ## 0.7.34-neverthrow.3
84
91
 
85
92
  ### Patch Changes
86
93
 
87
- - Updated dependencies
88
- - cojson@0.7.34-neverthrow.3
94
+ - Updated dependencies
95
+ - cojson@0.7.34-neverthrow.3
89
96
 
90
97
  ## 0.7.34-neverthrow.1
91
98
 
92
99
  ### Patch Changes
93
100
 
94
- - Updated dependencies
95
- - cojson@0.7.34-neverthrow.1
101
+ - Updated dependencies
102
+ - cojson@0.7.34-neverthrow.1
96
103
 
97
104
  ## 0.7.34-neverthrow.0
98
105
 
99
106
  ### Patch Changes
100
107
 
101
- - Updated dependencies
102
- - cojson@0.7.34-neverthrow.0
108
+ - Updated dependencies
109
+ - cojson@0.7.34-neverthrow.0
103
110
 
104
111
  ## 0.7.33
105
112
 
106
113
  ### Patch Changes
107
114
 
108
- - 3bf5127: Allow crashing whole node on peer errors
109
- - Updated dependencies [b297c93]
110
- - Updated dependencies [3bf5127]
111
- - Updated dependencies [a8b74ff]
112
- - Updated dependencies [db53161]
113
- - cojson@0.7.33
115
+ - 3bf5127: Allow crashing whole node on peer errors
116
+ - Updated dependencies [b297c93]
117
+ - Updated dependencies [3bf5127]
118
+ - Updated dependencies [a8b74ff]
119
+ - Updated dependencies [db53161]
120
+ - cojson@0.7.33
114
121
 
115
122
  ## 0.7.33-hotfixes.6
116
123
 
117
124
  ### Patch Changes
118
125
 
119
- - Get rid of simulated errors
126
+ - Get rid of simulated errors
120
127
 
121
128
  ## 0.7.33-hotfixes.5
122
129
 
123
130
  ### Patch Changes
124
131
 
125
- - Make simulated errors even more likely
126
- - Updated dependencies
127
- - cojson@0.7.33-hotfixes.5
132
+ - Make simulated errors even more likely
133
+ - Updated dependencies
134
+ - cojson@0.7.33-hotfixes.5
128
135
 
129
136
  ## 0.7.33-hotfixes.4
130
137
 
131
138
  ### Patch Changes
132
139
 
133
- - Updated dependencies
134
- - cojson@0.7.33-hotfixes.4
140
+ - Updated dependencies
141
+ - cojson@0.7.33-hotfixes.4
135
142
 
136
143
  ## 0.7.33-hotfixes.3
137
144
 
138
145
  ### Patch Changes
139
146
 
140
- - Allow crashing whole node on peer errors
141
- - Updated dependencies
142
- - cojson@0.7.33-hotfixes.3
147
+ - Allow crashing whole node on peer errors
148
+ - Updated dependencies
149
+ - cojson@0.7.33-hotfixes.3
143
150
 
144
151
  ## 0.7.33-hotfixes.0
145
152
 
146
153
  ### Patch Changes
147
154
 
148
- - Updated dependencies
149
- - cojson@0.7.33-hotfixes.0
155
+ - Updated dependencies
156
+ - cojson@0.7.33-hotfixes.0
150
157
 
151
158
  ## 0.7.31
152
159
 
153
160
  ### Patch Changes
154
161
 
155
- - Updated dependencies
156
- - cojson@0.7.31
162
+ - Updated dependencies
163
+ - cojson@0.7.31
157
164
 
158
165
  ## 0.7.29
159
166
 
160
167
  ### Patch Changes
161
168
 
162
- - Updated dependencies
163
- - cojson@0.7.29
169
+ - Updated dependencies
170
+ - cojson@0.7.29
164
171
 
165
172
  ## 0.7.28
166
173
 
167
174
  ### Patch Changes
168
175
 
169
- - Updated dependencies
170
- - cojson@0.7.28
176
+ - Updated dependencies
177
+ - cojson@0.7.28
171
178
 
172
179
  ## 0.7.26
173
180
 
174
181
  ### Patch Changes
175
182
 
176
- - Remove Effect from jazz/cojson internals
177
- - Updated dependencies
178
- - cojson@0.7.26
183
+ - Remove Effect from jazz/cojson internals
184
+ - Updated dependencies
185
+ - cojson@0.7.26
179
186
 
180
187
  ## 0.7.23
181
188
 
182
189
  ### Patch Changes
183
190
 
184
- - Updated dependencies
185
- - cojson@0.7.23
191
+ - Updated dependencies
192
+ - cojson@0.7.23
186
193
 
187
194
  ## 0.7.18
188
195
 
189
196
  ### Patch Changes
190
197
 
191
- - Updated dependencies
192
- - cojson@0.7.18
198
+ - Updated dependencies
199
+ - cojson@0.7.18
193
200
 
194
201
  ## 0.7.17
195
202
 
196
203
  ### Patch Changes
197
204
 
198
- - Updated dependencies
199
- - cojson@0.7.17
205
+ - Updated dependencies
206
+ - cojson@0.7.17
200
207
 
201
208
  ## 0.7.14
202
209
 
203
210
  ### Patch Changes
204
211
 
205
- - Updated dependencies
206
- - cojson@0.7.14
212
+ - Updated dependencies
213
+ - cojson@0.7.14
207
214
 
208
215
  ## 0.7.11
209
216
 
210
217
  ### Patch Changes
211
218
 
212
- - Updated dependencies
213
- - cojson@0.7.11
219
+ - Updated dependencies
220
+ - cojson@0.7.11
214
221
 
215
222
  ## 0.7.10
216
223
 
217
224
  ### Patch Changes
218
225
 
219
- - Updated dependencies
220
- - cojson@0.7.10
226
+ - Updated dependencies
227
+ - cojson@0.7.10
221
228
 
222
229
  ## 0.7.9
223
230
 
224
231
  ### Patch Changes
225
232
 
226
- - Updated dependencies
227
- - cojson@0.7.9
233
+ - Updated dependencies
234
+ - cojson@0.7.9
228
235
 
229
236
  ## 0.7.0
230
237
 
231
238
  ### Patch Changes
232
239
 
233
- - c4151fc: Support stricter TS lint rules
234
- - 21771c4: Reintroduce changes from main
235
- - 69ac514: Use effect schema much less
236
- - f0f6f1b: Clean up API more & re-add jazz-nodejs
237
- - Updated dependencies [1a35307]
238
- - Updated dependencies [96c494f]
239
- - Updated dependencies [19f52b7]
240
- - Updated dependencies [d8fe2b1]
241
- - Updated dependencies [1200aae]
242
- - Updated dependencies [52675c9]
243
- - Updated dependencies [1a35307]
244
- - Updated dependencies [e299c3e]
245
- - Updated dependencies [bf0f8ec]
246
- - Updated dependencies [c4151fc]
247
- - Updated dependencies [8636319]
248
- - Updated dependencies [952982e]
249
- - Updated dependencies [21771c4]
250
- - Updated dependencies [69ac514]
251
- - Updated dependencies [f0f6f1b]
252
- - Updated dependencies [1a44f87]
253
- - Updated dependencies [63374cc]
254
- - cojson@0.7.0
240
+ - c4151fc: Support stricter TS lint rules
241
+ - 21771c4: Reintroduce changes from main
242
+ - 69ac514: Use effect schema much less
243
+ - f0f6f1b: Clean up API more & re-add jazz-nodejs
244
+ - Updated dependencies [1a35307]
245
+ - Updated dependencies [96c494f]
246
+ - Updated dependencies [19f52b7]
247
+ - Updated dependencies [d8fe2b1]
248
+ - Updated dependencies [1200aae]
249
+ - Updated dependencies [52675c9]
250
+ - Updated dependencies [1a35307]
251
+ - Updated dependencies [e299c3e]
252
+ - Updated dependencies [bf0f8ec]
253
+ - Updated dependencies [c4151fc]
254
+ - Updated dependencies [8636319]
255
+ - Updated dependencies [952982e]
256
+ - Updated dependencies [21771c4]
257
+ - Updated dependencies [69ac514]
258
+ - Updated dependencies [f0f6f1b]
259
+ - Updated dependencies [1a44f87]
260
+ - Updated dependencies [63374cc]
261
+ - cojson@0.7.0
255
262
 
256
263
  ## 0.7.0-alpha.42
257
264
 
258
265
  ### Patch Changes
259
266
 
260
- - Updated dependencies
261
- - cojson@0.7.0-alpha.42
267
+ - Updated dependencies
268
+ - cojson@0.7.0-alpha.42
262
269
 
263
270
  ## 0.7.0-alpha.39
264
271
 
265
272
  ### Patch Changes
266
273
 
267
- - Updated dependencies
268
- - cojson@0.7.0-alpha.39
274
+ - Updated dependencies
275
+ - cojson@0.7.0-alpha.39
269
276
 
270
277
  ## 0.7.0-alpha.38
271
278
 
272
279
  ### Patch Changes
273
280
 
274
- - Updated dependencies
275
- - cojson@0.7.0-alpha.38
281
+ - Updated dependencies
282
+ - cojson@0.7.0-alpha.38
276
283
 
277
284
  ## 0.7.0-alpha.37
278
285
 
279
286
  ### Patch Changes
280
287
 
281
- - Updated dependencies
282
- - cojson@0.7.0-alpha.37
288
+ - Updated dependencies
289
+ - cojson@0.7.0-alpha.37
283
290
 
284
291
  ## 0.7.0-alpha.36
285
292
 
286
293
  ### Patch Changes
287
294
 
288
- - Updated dependencies [1a35307]
289
- - Updated dependencies [1a35307]
290
- - cojson@0.7.0-alpha.36
295
+ - Updated dependencies [1a35307]
296
+ - Updated dependencies [1a35307]
297
+ - cojson@0.7.0-alpha.36
291
298
 
292
299
  ## 0.7.0-alpha.35
293
300
 
294
301
  ### Patch Changes
295
302
 
296
- - Updated dependencies
297
- - cojson@0.7.0-alpha.35
303
+ - Updated dependencies
304
+ - cojson@0.7.0-alpha.35
298
305
 
299
306
  ## 0.7.0-alpha.29
300
307
 
301
308
  ### Patch Changes
302
309
 
303
- - Reintroduce changes from main
304
- - Updated dependencies
305
- - cojson@0.7.0-alpha.29
310
+ - Reintroduce changes from main
311
+ - Updated dependencies
312
+ - cojson@0.7.0-alpha.29
306
313
 
307
314
  ## 0.7.0-alpha.28
308
315
 
309
316
  ### Patch Changes
310
317
 
311
- - Updated dependencies
312
- - cojson@0.7.0-alpha.28
318
+ - Updated dependencies
319
+ - cojson@0.7.0-alpha.28
313
320
 
314
321
  ## 0.7.0-alpha.27
315
322
 
316
323
  ### Patch Changes
317
324
 
318
- - Updated dependencies
319
- - cojson@0.7.0-alpha.27
325
+ - Updated dependencies
326
+ - cojson@0.7.0-alpha.27
320
327
 
321
328
  ## 0.7.0-alpha.24
322
329
 
323
330
  ### Patch Changes
324
331
 
325
- - Updated dependencies
326
- - cojson@0.7.0-alpha.24
332
+ - Updated dependencies
333
+ - cojson@0.7.0-alpha.24
327
334
 
328
335
  ## 0.7.0-alpha.11
329
336
 
330
337
  ### Patch Changes
331
338
 
332
- - Support stricter TS lint rules
333
- - Updated dependencies
334
- - cojson@0.7.0-alpha.11
339
+ - Support stricter TS lint rules
340
+ - Updated dependencies
341
+ - cojson@0.7.0-alpha.11
335
342
 
336
343
  ## 0.7.0-alpha.10
337
344
 
338
345
  ### Patch Changes
339
346
 
340
- - Clean up API more & re-add jazz-nodejs
341
- - Updated dependencies
342
- - cojson@0.7.0-alpha.10
347
+ - Clean up API more & re-add jazz-nodejs
348
+ - Updated dependencies
349
+ - cojson@0.7.0-alpha.10
343
350
 
344
351
  ## 0.5.3-alpha.1
345
352
 
346
353
  ### Patch Changes
347
354
 
348
- - Use effect schema much less
349
- - Updated dependencies
350
- - cojson@0.7.0-alpha.1
355
+ - Use effect schema much less
356
+ - Updated dependencies
357
+ - cojson@0.7.0-alpha.1
351
358
 
352
359
  ## 0.5.3-alpha.0
353
360
 
354
361
  ### Patch Changes
355
362
 
356
- - Updated dependencies
357
- - cojson@0.7.0-alpha.0
363
+ - Updated dependencies
364
+ - cojson@0.7.0-alpha.0
358
365
 
359
366
  ## 0.5.2
360
367
 
361
368
  ### Patch Changes
362
369
 
363
- - Updated dependencies
364
- - cojson@0.6.0
370
+ - Updated dependencies
371
+ - cojson@0.6.0
365
372
 
366
373
  ## 0.5.1
367
374
 
368
375
  ### Patch Changes
369
376
 
370
- - Make typedefs for better-sqlite3 a normal dependency
377
+ - Make typedefs for better-sqlite3 a normal dependency
371
378
 
372
379
  ## 0.5.0
373
380
 
374
381
  ### Minor Changes
375
382
 
376
- - Adding a lot of performance improvements to cojson, add a stresstest for the twit example and make that run smoother in a lot of ways.
383
+ - Adding a lot of performance improvements to cojson, add a stresstest for the twit example and make that run smoother in a lot of ways.
377
384
 
378
385
  ### Patch Changes
379
386
 
380
- - Updated dependencies
381
- - cojson@0.5.0
387
+ - Updated dependencies
388
+ - cojson@0.5.0
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { cojsonInternals, MAX_RECOMMENDED_TX_SIZE, } from "cojson";
1
+ import { MAX_RECOMMENDED_TX_SIZE, cojsonInternals, } from "cojson";
2
2
  import Database from "better-sqlite3";
3
3
  export class SQLiteStorage {
4
4
  constructor(db, fromLocalNode, toLocalNode) {
@@ -117,8 +117,7 @@ export class SQLiteStorage {
117
117
  };
118
118
  let parsedHeader;
119
119
  try {
120
- parsedHeader = (coValueRow?.header &&
121
- JSON.parse(coValueRow.header));
120
+ parsedHeader = (coValueRow?.header && JSON.parse(coValueRow.header));
122
121
  }
123
122
  catch (e) {
124
123
  console.warn(theirKnown.id, "Invalid JSON in header", e, coValueRow?.header);
@@ -136,8 +135,7 @@ export class SQLiteStorage {
136
135
  ];
137
136
  for (const sessionRow of allOurSessions) {
138
137
  ourKnown.sessions[sessionRow.sessionID] = sessionRow.lastIdx;
139
- if (sessionRow.lastIdx >
140
- (theirKnown.sessions[sessionRow.sessionID] || 0)) {
138
+ if (sessionRow.lastIdx > (theirKnown.sessions[sessionRow.sessionID] || 0)) {
141
139
  const firstNewTxIdx = theirKnown.sessions[sessionRow.sessionID] || 0;
142
140
  const signaturesAndIdxs = this.db
143
141
  .prepare(`SELECT * FROM signatureAfter WHERE ses = ? AND idx >= ?`)
@@ -175,10 +173,8 @@ export class SQLiteStorage {
175
173
  break;
176
174
  }
177
175
  sessionEntry.newTransactions.push(parsedTx);
178
- if (signaturesAndIdxs[0] &&
179
- idx === signaturesAndIdxs[0].idx) {
180
- sessionEntry.lastSignature =
181
- signaturesAndIdxs[0].signature;
176
+ if (signaturesAndIdxs[0] && idx === signaturesAndIdxs[0].idx) {
177
+ sessionEntry.lastSignature = signaturesAndIdxs[0].signature;
182
178
  signaturesAndIdxs.shift();
183
179
  newContentPieces.push({
184
180
  action: "content",
@@ -187,8 +183,7 @@ export class SQLiteStorage {
187
183
  priority,
188
184
  });
189
185
  }
190
- else if (idx ===
191
- firstNewTxIdx + newTxInSession.length - 1) {
186
+ else if (idx === firstNewTxIdx + newTxInSession.length - 1) {
192
187
  sessionEntry.lastSignature = sessionRow.lastSignature;
193
188
  }
194
189
  idx += 1;
@@ -217,15 +212,15 @@ export class SQLiteStorage {
217
212
  change.op === "set" &&
218
213
  "key" in change &&
219
214
  change.key)
220
- .filter((key) => typeof key === "string" &&
221
- key.startsWith("co_"));
215
+ .filter((key) => typeof key === "string" && key.startsWith("co_"));
222
216
  }))
223
217
  : parsedHeader?.ruleset.type === "ownedByGroup"
224
218
  ? [
225
219
  parsedHeader?.ruleset.group,
226
220
  ...new Set(newContentPieces.flatMap((piece) => Object.keys(piece)
227
221
  .map((sessionID) => cojsonInternals.accountOrAgentIDfromSessionID(sessionID))
228
- .filter((accountID) => cojsonInternals.isAccountID(accountID) && accountID !== theirKnown.id))),
222
+ .filter((accountID) => cojsonInternals.isAccountID(accountID) &&
223
+ accountID !== theirKnown.id))),
229
224
  ]
230
225
  : [];
231
226
  for (const dependedOnCoValue of dependedOnCoValues) {
@@ -289,25 +284,21 @@ export class SQLiteStorage {
289
284
  for (const sessionID of Object.keys(msg.new)) {
290
285
  const sessionRow = allOurSessions[sessionID];
291
286
  if (sessionRow) {
292
- ourKnown.sessions[sessionRow.sessionID] =
293
- sessionRow.lastIdx;
287
+ ourKnown.sessions[sessionRow.sessionID] = sessionRow.lastIdx;
294
288
  }
295
- if ((sessionRow?.lastIdx || 0) <
296
- (msg.new[sessionID]?.after || 0)) {
289
+ if ((sessionRow?.lastIdx || 0) < (msg.new[sessionID]?.after || 0)) {
297
290
  invalidAssumptions = true;
298
291
  }
299
292
  else {
300
293
  const newTransactions = msg.new[sessionID]?.newTransactions || [];
301
- const actuallyNewOffset = (sessionRow?.lastIdx || 0) -
302
- (msg.new[sessionID]?.after || 0);
294
+ const actuallyNewOffset = (sessionRow?.lastIdx || 0) - (msg.new[sessionID]?.after || 0);
303
295
  const actuallyNewTransactions = newTransactions.slice(actuallyNewOffset);
304
296
  let newBytesSinceLastSignature = (sessionRow?.bytesSinceLastSignature || 0) +
305
297
  actuallyNewTransactions.reduce((sum, tx) => sum +
306
298
  (tx.privacy === "private"
307
299
  ? tx.encryptedChanges.length
308
300
  : tx.changes.length), 0);
309
- const newLastIdx = (sessionRow?.lastIdx || 0) +
310
- actuallyNewTransactions.length;
301
+ const newLastIdx = (sessionRow?.lastIdx || 0) + actuallyNewTransactions.length;
311
302
  let shouldWriteSignature = false;
312
303
  if (newBytesSinceLastSignature > MAX_RECOMMENDED_TX_SIZE) {
313
304
  shouldWriteSignature = true;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAKf,uBAAuB,GAI1B,MAAM,QAAQ,CAAC;AAEhB,OAAO,QAAmC,MAAM,gBAAgB,CAAC;AA+BjE,MAAM,OAAO,aAAa;IAItB,YACI,EAAa,EACb,aAAiC,EACjC,WAA8B;QAE9B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;YAC/B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACD,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;wBAClD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACvD,CAAC;oBACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CACT,IAAI,KAAK,CACL,iDAAiD,IAAI,CAAC,SAAS,CAC3D,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACL,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,kBAAkB;wBACvC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACxB,CAAC,CAAC,CAAC,CACd,EAAE,EACH,EAAE,KAAK,EAAE,CAAC,EAAE,CACf,CACJ,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,CACzD,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAChB,QAAQ,EACR,KAAK,EACL,aAAa,GAAG,OAAO,GAK1B;QACG,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,eAAe,CAAC,cAAc,CACnE,aAAa,EACb,SAAS,EACT,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAC3E,CAAC;QAEF,MAAM,aAAa,CAAC,IAAI,CACpB,QAAQ,EACR,eAAe,CAAC,QAAQ,EACxB,eAAe,CAAC,QAAQ,CAC3B,CAAC;QAEF,OAAO,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CACb,QAAgB,EAChB,aAAiC,EACjC,WAA8B;QAE9B,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAEhC,MAAM,UAAU,GACZ,EAAE,CAAC,MAAM,CAAC,cAAc,CAC3B,CAAC,CAAC,CAAC,CAAC,YAAsB,CAAC;QAE5B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEtC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,EAAE,CAAC,OAAO,CACN;;;;;iCAKiB,CACpB,CAAC,GAAG,EAAE,CAAC;YAER,EAAE,CAAC,OAAO,CACN;;;;;;;mBAOG,CACN,CAAC,GAAG,EAAE,CAAC;YAER,EAAE,CAAC,OAAO,CACN,qEAAqE,CACxE,CAAC,GAAG,EAAE,CAAC;YAER,EAAE,CAAC,OAAO,CACN;;;;mBAIG,CACN,CAAC,GAAG,EAAE,CAAC;YAER,EAAE,CAAC,OAAO,CACN,2DAA2D,CAC9D,CAAC,GAAG,EAAE,CAAC;YAER,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YAClB,4DAA4D;YAC5D,OAAO,CAAC,GAAG,CACP,gEAAgE,CACnE,CAAC;YAEF,MAAM,GAAG,GAAG,EAAE;iBACT,OAAO,CAAC,4BAA4B,CAAC;iBACrC,GAAG,EAAsB,CAAC;YAE/B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACnB,EAAE,CAAC,OAAO,CACN,oDAAoD,CACvD,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACtB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACZ,EAAE,CAAC,OAAO,CACN,0DAA0D,CAC7D,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;YAED,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CACP,uEAAuE,CAC1E,CAAC;QACN,CAAC;QAED,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAEpD,EAAE,CAAC,OAAO,CACN;;;;;iCAKiB,CACpB,CAAC,GAAG,EAAE,CAAC;YAER,EAAE,CAAC,OAAO,CACN,kEAAkE,CACrE,CAAC,GAAG,EAAE,CAAC;YAER,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAgB;QACpC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,MAAM;gBACP,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM;YACV,KAAK,SAAS;gBACV,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,OAAO;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM;YACV,KAAK,MAAM;gBACP,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM;QACd,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACrB,UAAiD,EACjD,cAA4C;QAE5C,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;aAC5B,OAAO,CAAC,qCAAqC,CAAC;aAC9C,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAiC,CAAC;QAEzD,MAAM,cAAc,GAAG,UAAU;YAC7B,CAAC,CAAE,IAAI,CAAC,EAAE;iBACH,OAAO,CAAS,0CAA0C,CAAC;iBAC3D,GAAG,CAAC,UAAU,CAAC,KAAK,CAAwB;YACnD,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,QAAQ,GAA0C;YACpD,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,MAAM,EAAE,CAAC,CAAC,UAAU;YACpB,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,IAAI,YAAY,CAAC;QAEjB,IAAI,CAAC;YACD,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM;gBAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAElB,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CACR,UAAU,CAAC,EAAE,EACb,wBAAwB,EACxB,CAAC,EACD,UAAU,EAAE,MAAM,CACrB,CAAC;YACF,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,gBAAgB,GAA4C;YAC9D;gBACI,MAAM,EAAE,SAAS;gBACjB,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;gBACpD,GAAG,EAAE,EAAE;gBACP,QAAQ;aACX;SACJ,CAAC;QAEF,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;YACtC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;YAE7D,IACI,UAAU,CAAC,OAAO;gBAClB,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAClD,CAAC;gBACC,MAAM,aAAa,GACf,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAEnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE;qBAC5B,OAAO,CACJ,yDAAyD,CAC5D;qBACA,GAAG,CACA,UAAU,CAAC,KAAK,EAChB,aAAa,CACO,CAAC;gBAE7B,eAAe;gBACf,qBAAqB;gBACrB,2BAA2B;gBAC3B,wCAAwC;gBACxC,KAAK;gBAEL,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE;qBACzB,OAAO,CACJ,uDAAuD,CAC1D;qBACA,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,CAAqB,CAAC;gBAE9D,IAAI,GAAG,GAAG,aAAa,CAAC;gBAExB,eAAe;gBACf,qBAAqB;gBACrB,wBAAwB;gBACxB,4BAA4B;gBAC5B,KAAK;gBAEL,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;oBAC9B,IAAI,YAAY,GACZ,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG,CAC9C,UAAU,CAAC,SAAS,CACvB,CAAC;oBACN,IAAI,CAAC,YAAY,EAAE,CAAC;wBAChB,YAAY,GAAG;4BACX,KAAK,EAAE,GAAG;4BACV,aAAa,EACT,kBAAmD;4BACvD,eAAe,EAAE,EAAE;yBACtB,CAAC;wBACF,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG,CAC9C,UAAU,CAAC,SAAS,CACvB,GAAG,YAAY,CAAC;oBACrB,CAAC;oBAED,IAAI,QAAQ,CAAC;oBAEb,IAAI,CAAC;wBACD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,OAAO,CAAC,IAAI,CACR,UAAU,CAAC,EAAE,EACb,6BAA6B,EAC7B,CAAC,EACD,EAAE,CAAC,EAAE,CACR,CAAC;wBACF,MAAM;oBACV,CAAC;oBAED,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAE5C,IACI,iBAAiB,CAAC,CAAC,CAAC;wBACpB,GAAG,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,EAClC,CAAC;wBACC,YAAY,CAAC,aAAa;4BACtB,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACnC,iBAAiB,CAAC,KAAK,EAAE,CAAC;wBAC1B,gBAAgB,CAAC,IAAI,CAAC;4BAClB,MAAM,EAAE,SAAS;4BACjB,EAAE,EAAE,UAAU,CAAC,EAAE;4BACjB,GAAG,EAAE,EAAE;4BACP,QAAQ;yBACX,CAAC,CAAC;oBACP,CAAC;yBAAM,IACH,GAAG;wBACH,aAAa,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAC3C,CAAC;wBACC,YAAY,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;oBAC1D,CAAC;oBACD,GAAG,IAAI,CAAC,CAAC;gBACb,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,kBAAkB,GACpB,YAAY,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO;YAClC,CAAC,CAAC,gBAAgB;iBACX,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC5C,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CACtB,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACxC,IAAI,EAAE,CAAC,OAAO,KAAK,UAAU;oBAAE,OAAO,EAAE,CAAC;gBACzC,4BAA4B;gBAC5B,IAAI,aAAa,CAAC;gBAElB,IAAI,CAAC;oBACD,aAAa,GAAG,eAAe,CAAC,SAAS,CACrC,EAAE,CAAC,OAAO,CACb,CAAC;gBACN,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CACR,UAAU,CAAC,EAAE,EACb,6BAA6B,EAC7B,CAAC,EACD,EAAE,CAAC,OAAO,CACb,CAAC;oBACF,OAAO,EAAE,CAAC;gBACd,CAAC;gBAED,OAAO,aAAa;qBACf,GAAG,CACA,CAAC,MAAM,EAAE,EAAE,CACP,MAAM;oBACN,OAAO,MAAM,KAAK,QAAQ;oBAC1B,IAAI,IAAI,MAAM;oBACd,MAAM,CAAC,EAAE,KAAK,KAAK;oBACnB,KAAK,IAAI,MAAM;oBACf,MAAM,CAAC,GAAG,CACjB;qBACA,MAAM,CACH,CACI,GAAG,EAC+B,EAAE,CACpC,OAAO,GAAG,KAAK,QAAQ;oBACvB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAC5B,CAAC;YACV,CAAC,CAAC,CACL;YACP,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,KAAK,cAAc;gBAC7C,CAAC,CAAC;oBACI,YAAY,EAAE,OAAO,CAAC,KAAK;oBAC3B,GAAG,IAAI,GAAG,CACN,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;yBACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACf,eAAe,CAAC,6BAA6B,CACzC,SAAsB,CACzB,CACJ;yBACA,MAAM,CACH,CAAC,SAAS,EAA6B,EAAE,CACrC,eAAe,CAAC,WAAW,CACvB,SAAS,CACZ,IAAI,SAAS,KAAK,UAAU,CAAC,EAAE,CACvC,CACR,CACJ;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAC;QAEf,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,mBAAmB,CAC1B,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EACtD,cAAc,IAAI,UAAU,CAAC,EAAE,CAClC,CAAC;QACN,CAAC;QAED,IAAI,CAAC,WAAW;aACX,IAAI,CAAC;YACF,MAAM,EAAE,OAAO;YACf,GAAG,QAAQ;YACX,cAAc;SACjB,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,MAAM,CACpD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAC/D,CAAC;QAEF,wDAAwD;QAExD,KAAK,MAAM,KAAK,IAAI,wBAAwB,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW;iBACX,IAAI,CAAC,KAAK,CAAC;iBACX,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CACxD,CAAC;YACN,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAoC;QAC3C,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAA0C;QAC1D,IAAI,kBAAkB,GAClB,IAAI,CAAC,EAAE;aACF,OAAO,CACJ,yCAAyC,CAC5C;aACA,GAAG,CAAC,GAAG,CAAC,EAAE,CAClB,EAAE,KAAK,CAAC;QAET,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAClD,IAAI,CAAC,WAAW;qBACX,IAAI,CAAC;oBACF,MAAM,EAAE,OAAO;oBACf,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,EAAE;oBACZ,YAAY,EAAE,IAAI;iBACrB,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAChD,CAAC;gBACN,OAAO;YACX,CAAC;YAED,kBAAkB,GAAG,IAAI,CAAC,EAAE;iBACvB,OAAO,CACJ,iDAAiD,CACpD;iBACA,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,eAAyB,CAAC;QACvE,CAAC;QAED,MAAM,QAAQ,GAA0C;YACpD,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,EAAE;SACf,CAAC;QACF,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACrB,MAAM,cAAc,GAChB,IAAI,CAAC,EAAE;iBACF,OAAO,CAAS,0CAA0C,CAAC;iBAC3D,GAAG,CAAC,kBAAmB,CAC/B,CAAC,MAAM,CACJ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACT,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;gBACzB,OAAO,GAAG,CAAC;YACf,CAAC,EACD,EAA+C,CAClD,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,UAAU,EAAE,CAAC;oBACb,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;wBACnC,UAAU,CAAC,OAAO,CAAC;gBAC3B,CAAC;gBAED,IACI,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC;oBAC1B,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,EAClC,CAAC;oBACC,kBAAkB,GAAG,IAAI,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACJ,MAAM,eAAe,GACjB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,eAAe,IAAI,EAAE,CAAC;oBAE9C,MAAM,iBAAiB,GACnB,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC;wBAC1B,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;oBAErC,MAAM,uBAAuB,GACzB,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBAE7C,IAAI,0BAA0B,GAC1B,CAAC,UAAU,EAAE,uBAAuB,IAAI,CAAC,CAAC;wBAC1C,uBAAuB,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CACR,GAAG;4BACH,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS;gCACrB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM;gCAC5B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAC5B,CAAC,CACJ,CAAC;oBAEN,MAAM,UAAU,GACZ,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC;wBAC1B,uBAAuB,CAAC,MAAM,CAAC;oBAEnC,IAAI,oBAAoB,GAAG,KAAK,CAAC;oBAEjC,IAAI,0BAA0B,GAAG,uBAAuB,EAAE,CAAC;wBACvD,oBAAoB,GAAG,IAAI,CAAC;wBAC5B,0BAA0B,GAAG,CAAC,CAAC;oBACnC,CAAC;oBAED,IAAI,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC;oBAEvC,MAAM,aAAa,GAAG;wBAClB,OAAO,EAAE,kBAAmB;wBAC5B,SAAS,EAAE,SAAS;wBACpB,OAAO,EAAE,UAAU;wBACnB,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,aAAa;wBAChD,uBAAuB,EAAE,0BAA0B;qBACtD,CAAC;oBAEF,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE;yBAC1B,OAAO,CACJ;;4CAEgB,CACnB;yBACA,GAAG,CACA,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,SAAS,EACvB,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,uBAAuB,CACnB,CAAC;oBAE3B,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC;oBAE3C,IAAI,oBAAoB,EAAE,CAAC;wBACvB,IAAI,CAAC,EAAE;6BACF,OAAO,CACJ,mEAAmE,CACtE;6BACA,GAAG,CACA,YAAY;wBACZ,4EAA4E;wBAC5E,UAAU,GAAG,CAAC,EACd,GAAG,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,aAAa,CACpC,CAAC;oBACV,CAAC;oBAED,KAAK,MAAM,cAAc,IAAI,uBAAuB,EAAE,CAAC;wBACnD,IAAI,CAAC,EAAE;6BACF,OAAO,CACJ,0DAA0D,CAC7D;6BACA,GAAG,CACA,YAAY,EACZ,OAAO,EACP,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CACjC,CAAC;wBACN,OAAO,EAAE,CAAC;oBACd,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,kBAAkB,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW;iBACX,IAAI,CAAC;gBACF,MAAM,EAAE,OAAO;gBACf,GAAG,QAAQ;gBACX,YAAY,EAAE,kBAAkB;aACnC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED,WAAW,CAAC,GAA0C;QAClD,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,IAAqC,IAAG,CAAC;CACvD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}