react-native-nitro-storage 0.5.5 → 0.5.6
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/README.md +56 -13
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/storage-hooks.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/storage-hooks.js.map +1 -1
- package/lib/typescript/index.d.ts +11 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/storage-hooks.d.ts +5 -4
- package/lib/typescript/storage-hooks.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +16 -10
- package/src/storage-hooks.ts +6 -6
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/react-native-nitro-storage)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](https://reactnative.dev/)
|
|
6
|
-
[](https://nitro.margelo.com/)
|
|
7
7
|
|
|
8
8
|
One storage layer for render-time state, persisted app state, and native secrets.
|
|
9
9
|
|
|
@@ -97,6 +97,8 @@ bunx expo install react-native-nitro-storage react-native-nitro-modules
|
|
|
97
97
|
bunx expo prebuild
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
The example project is aligned with Expo SDK 56, React Native 0.85, and React 19.2.
|
|
101
|
+
|
|
100
102
|
The Expo plugin sets `NSFaceIDUsageDescription`, can opt into Android biometric permissions, initializes the Android storage adapter in `MainApplication`, and writes Android backup rules that exclude Nitro Storage secure preference files from cloud backup and device transfer. Set `configureAndroidBackup: false` only when you maintain equivalent backup rules yourself.
|
|
101
103
|
|
|
102
104
|
Bare React Native projects should install pods after adding the package:
|
|
@@ -124,18 +126,21 @@ Create storage items outside React render functions, then use them from anywhere
|
|
|
124
126
|
import {
|
|
125
127
|
createStorageItem,
|
|
126
128
|
StorageScope,
|
|
129
|
+
type StorageItemConfig,
|
|
127
130
|
useStorage,
|
|
128
131
|
} from "react-native-nitro-storage";
|
|
129
132
|
|
|
130
133
|
type Theme = "system" | "light" | "dark";
|
|
131
134
|
|
|
132
|
-
|
|
135
|
+
const themeConfig = {
|
|
133
136
|
key: "theme",
|
|
134
137
|
scope: StorageScope.Disk,
|
|
135
138
|
defaultValue: "system",
|
|
136
139
|
validate: (value): value is Theme =>
|
|
137
140
|
value === "system" || value === "light" || value === "dark",
|
|
138
|
-
}
|
|
141
|
+
} satisfies StorageItemConfig<Theme>;
|
|
142
|
+
|
|
143
|
+
export const themeItem = createStorageItem(themeConfig);
|
|
139
144
|
|
|
140
145
|
export function ThemeButton() {
|
|
141
146
|
const [theme, setTheme] = useStorage(themeItem);
|
|
@@ -291,23 +296,39 @@ See the full [API reference](docs/api-reference.md).
|
|
|
291
296
|
The public API is designed around typed storage items. Define the value type, default value, serializer, parser, and validator in one place so reads, writes, React hooks, batch APIs, migrations, and transactions all share the same contract.
|
|
292
297
|
|
|
293
298
|
```ts
|
|
299
|
+
import {
|
|
300
|
+
StorageScope,
|
|
301
|
+
createStorageItem,
|
|
302
|
+
type StorageItemConfig,
|
|
303
|
+
} from "react-native-nitro-storage";
|
|
304
|
+
|
|
294
305
|
type Preferences = {
|
|
295
306
|
theme: "system" | "light" | "dark";
|
|
296
307
|
compactMode: boolean;
|
|
297
308
|
};
|
|
298
309
|
|
|
299
|
-
|
|
310
|
+
function isPreferences(value: unknown): value is Preferences {
|
|
311
|
+
if (typeof value !== "object" || value === null) {
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const candidate = value as Partial<Preferences>;
|
|
316
|
+
return (
|
|
317
|
+
(candidate.theme === "system" ||
|
|
318
|
+
candidate.theme === "light" ||
|
|
319
|
+
candidate.theme === "dark") &&
|
|
320
|
+
typeof candidate.compactMode === "boolean"
|
|
321
|
+
);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
const preferencesConfig = {
|
|
300
325
|
key: "preferences",
|
|
301
326
|
scope: StorageScope.Disk,
|
|
302
327
|
defaultValue: { theme: "system", compactMode: false },
|
|
303
|
-
validate:
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
(value as Partial<Preferences>).theme ?? "",
|
|
308
|
-
) &&
|
|
309
|
-
typeof (value as Partial<Preferences>).compactMode === "boolean",
|
|
310
|
-
});
|
|
328
|
+
validate: isPreferences,
|
|
329
|
+
} satisfies StorageItemConfig<Preferences>;
|
|
330
|
+
|
|
331
|
+
const preferencesItem = createStorageItem(preferencesConfig);
|
|
311
332
|
|
|
312
333
|
preferencesItem.set((current) => ({
|
|
313
334
|
...current,
|
|
@@ -333,11 +354,23 @@ import type {
|
|
|
333
354
|
| Expo | Supported | Add the included config plugin before prebuild. |
|
|
334
355
|
| Web | Supported | Defaults to localStorage-style backends; IndexedDB backend is available for persistent Secure storage. |
|
|
335
356
|
|
|
357
|
+
Tested release matrix:
|
|
358
|
+
|
|
359
|
+
| Surface | Version |
|
|
360
|
+
| ------------- | ------- |
|
|
361
|
+
| Expo example | SDK 56 |
|
|
362
|
+
| React Native | 0.85.3 |
|
|
363
|
+
| React | 19.2.3 |
|
|
364
|
+
| Nitro Modules | 0.35.7 |
|
|
365
|
+
| TypeScript | 6.0.3 |
|
|
366
|
+
|
|
367
|
+
The iOS example build requires Xcode 26 or newer. GitHub Actions should use the `macos-26` runner image for SDK 56 iOS build validation.
|
|
368
|
+
|
|
336
369
|
Peer dependencies:
|
|
337
370
|
|
|
338
371
|
- `react >=18.2.0`
|
|
339
372
|
- `react-native >=0.75.0`
|
|
340
|
-
- `react-native-nitro-modules >=0.35.
|
|
373
|
+
- `react-native-nitro-modules >=0.35.7`
|
|
341
374
|
|
|
342
375
|
## Security Model
|
|
343
376
|
|
|
@@ -430,6 +463,11 @@ bun run test -- --filter=react-native-nitro-storage
|
|
|
430
463
|
bun run test:coverage -- --filter=react-native-nitro-storage
|
|
431
464
|
bun run test:cpp -- --filter=react-native-nitro-storage
|
|
432
465
|
bun run test:cpp:coverage -- --filter=react-native-nitro-storage
|
|
466
|
+
bun run example:doctor
|
|
467
|
+
bun run example:typecheck
|
|
468
|
+
bun run example:prebuild:clean
|
|
469
|
+
bun run example:android:assemble
|
|
470
|
+
bun run example:ios:build
|
|
433
471
|
(cd packages/react-native-nitro-storage && bun run check:pack)
|
|
434
472
|
bun run publish-package:dry -- --yes --with-coverage
|
|
435
473
|
```
|
|
@@ -454,6 +492,11 @@ Release checks:
|
|
|
454
492
|
```sh
|
|
455
493
|
bun run build -- --filter=react-native-nitro-storage
|
|
456
494
|
bun run benchmark -- --filter=react-native-nitro-storage
|
|
495
|
+
bun run example:doctor
|
|
496
|
+
bun run example:typecheck
|
|
497
|
+
bun run example:prebuild:clean
|
|
498
|
+
bun run example:android:assemble
|
|
499
|
+
bun run example:ios:build
|
|
457
500
|
(cd packages/react-native-nitro-storage && bun run check:pack)
|
|
458
501
|
bun run publish-package:dry -- --yes
|
|
459
502
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeNitroModules","require","_Storage","_internal","_storageRuntime","_storageEvents","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","suppressedNativeEvents","metricsObserver","eventObserver","eventObserverRedactSecureValues","metricsCounters","storageEvents","StorageEventRegistry","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","undefined","delete","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","size","getEventRawValue","Memory","getRawValue","createKeyChange","oldValue","newValue","source","type","hasStorageChangeObservers","hasListeners","shouldReadPreviousEventValues","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","eventForGlobalObserver","changes","map","emitKeyChange","emitKey","emitBatchChange","length","forEach","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","push","storageModule","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","assertValidScope","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","parseInt","writeMigrationVersion","version","String","storage","exports","subscribe","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","prefixKey","setEventObserver","observer","options","redactSecureValues","previousValues","getAll","clearAll","clearNamespace","affectedKeys","filter","isNamespaced","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","startsWith","result","getBatch","idx","decodeNativeBatchValue","val","export","includeSecureValues","exportSecureUnsafe","setAccessControl","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_biometricLevel","_defaultValue","items","assertBatchScope","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","groupedKeysToSet","isKeychainLockedError","err","isLockedStorageErrorCode","getStorageErrorCode","createSecureAuthStorage","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAiBA,IAAAG,eAAA,GAAAH,OAAA;AAQA,IAAAI,cAAA,GAAAJ,OAAA;AAYA,IAAAK,UAAA,GAAAL,OAAA;AA68DA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AAl2DA,SAASQ,UAAUA,CAAIC,IAAoB,EAA0B;EACnE,OAAOA,IAAI;AACb;AAEA,SAASC,SAASA,CAChBC,SAA+B,EACF;EAC7B,OAAO,OAAOA,SAAS,KAAK,UAAU;AACxC;AAEA,SAASC,SAASA,CAAsBC,MAAoB,EAAO;EACjE,OAAOC,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC;AAC5B;AACA,SAASG,iBAAiBA,CACxBC,KAAa,EACbC,GAAW,EACXC,GAAW,EACXC,KAAa,EACP;EACN,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACL,KAAK,CAAC,IAAIA,KAAK,GAAGC,GAAG,IAAID,KAAK,GAAGE,GAAG,EAAE;IACzD,MAAM,IAAII,KAAK,CAAC,yBAAyBH,KAAK,EAAE,CAAC;EACnD;EACA,IAAIH,KAAK,KAAKO,IAAI,CAACC,KAAK,CAACR,KAAK,CAAC,EAAE;IAC/B,MAAM,IAAIM,KAAK,CAAC,yBAAyBH,KAAK,EAAE,CAAC;EACnD;AACF;AAEA,SAASM,wBAAwBA,CAACC,KAAa,EAAQ;EACrDX,iBAAiB,CAACW,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,sBAAsB,CAAC;AACxD;AAEA,SAASC,oBAAoBA,CAACD,KAAa,EAAQ;EACjDX,iBAAiB,CAACW,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC;AACnD;AAYA,MAAME,oBAAoB,GAAG,IAAIC,GAAG,CAAoB,CAAC;AACzD,MAAMC,YAAY,GAChB,OAAOC,cAAc,KAAK,UAAU,GAChCA,cAAc,GACbC,IAAgB,IAAK;EACpBC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAACH,IAAI,CAAC;AAC9B,CAAC;AACP,MAAMI,GAAG,GACP,OAAOC,WAAW,KAAK,WAAW,IAAI,OAAOA,WAAW,CAACD,GAAG,KAAK,UAAU,GACvE,MAAMC,WAAW,CAACD,GAAG,CAAC,CAAC,GACvB,MAAME,IAAI,CAACF,GAAG,CAAC,CAAC;AAEtB,IAAIG,cAA8B,GAAG,IAAI;AAEzC,SAASC,gBAAgBA,CAAA,EAAY;EACnC,IAAI,CAACD,cAAc,EAAE;IACnBA,cAAc,GAAGE,qCAAY,CAACC,kBAAkB,CAAU,SAAS,CAAC;EACtE;EACA,OAAOH,cAAc;AACvB;AAEA,MAAMI,WAAW,GAAG,IAAId,GAAG,CAAkB,CAAC;AAC9C,MAAMe,eAAoC,GAAG,IAAIf,GAAG,CAAC,CAAC;AACtD,MAAMgB,eAAe,GAAG,IAAIhB,GAAG,CAAsC,CACnE,CAACiB,qBAAY,CAACC,IAAI,EAAE,IAAIlB,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACiB,qBAAY,CAACE,MAAM,EAAE,IAAInB,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,MAAMoB,mBAAmB,GAAG,IAAIpB,GAAG,CAA6B,CAAC;AACjE,MAAMqB,cAAc,GAAG,IAAIrB,GAAG,CAC5B,CACE,CAACiB,qBAAY,CAACC,IAAI,EAAE,IAAIlB,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACiB,qBAAY,CAACE,MAAM,EAAE,IAAInB,GAAG,CAAC,CAAC,CAAC,CAEpC,CAAC;AACD,MAAMsB,iBAAiB,GAAG,IAAItB,GAAG,CAA2B,CAAC;AAC7D,IAAIuB,kBAAkB,GAAG,KAAK;AAC9B,IAAIC,eAAe,GAAG,KAAK;AAC3B,MAAMC,mBAAmB,GAAG,IAAIzB,GAAG,CAA6B,CAAC;AACjE,IAAI0B,oBAAoB,GAAG,KAAK;AAChC,IAAIC,0BAAyC,GAAGC,sBAAa,CAACC,YAAY;AAC1E,MAAMC,sBAAsB,GAAG,IAAI9B,GAAG,CAAsC,CAC1E,CAACiB,qBAAY,CAACC,IAAI,EAAE,IAAIlB,GAAG,CAAC,CAAC,CAAC,EAC9B,CAACiB,qBAAY,CAACE,MAAM,EAAE,IAAInB,GAAG,CAAC,CAAC,CAAC,CACjC,CAAC;AACF,IAAI+B,eAAmD;AACvD,IAAIC,aAA+C;AACnD,IAAIC,+BAA+B,GAAG,IAAI;AAC1C,MAAMC,eAAe,GAAG,IAAIlC,GAAG,CAG7B,CAAC;AACH,MAAMmC,aAAa,GAAG,IAAIC,mCAAoB,CAAC,CAAC;AAChD,MAAMC,mBAAmB,GAAG,yBAAyB;AAErD,SAASC,YAAYA,CACnBC,SAAiB,EACjBC,KAAmB,EACnBC,UAAkB,EAClBC,SAAS,GAAG,CAAC,EACP;EACN,MAAMC,QAAQ,GAAGT,eAAe,CAACU,GAAG,CAACL,SAAS,CAAC;EAC/C,IAAI,CAACI,QAAQ,EAAE;IACbT,eAAe,CAACW,GAAG,CAACN,SAAS,EAAE;MAC7BO,KAAK,EAAE,CAAC;MACRC,eAAe,EAAEN,UAAU;MAC3BO,aAAa,EAAEP;IACjB,CAAC,CAAC;EACJ,CAAC,MAAM;IACLE,QAAQ,CAACG,KAAK,IAAI,CAAC;IACnBH,QAAQ,CAACI,eAAe,IAAIN,UAAU;IACtCE,QAAQ,CAACK,aAAa,GAAGtD,IAAI,CAACL,GAAG,CAACsD,QAAQ,CAACK,aAAa,EAAEP,UAAU,CAAC;EACvE;EAEAV,eAAe,GAAG;IAChBQ,SAAS;IACTC,KAAK;IACLC,UAAU;IACVC;EACF,CAAC,CAAC;AACJ;AAEA,SAASO,gBAAgBA,CACvBV,SAAiB,EACjBC,KAAmB,EACnBU,EAAW,EACXR,SAAS,GAAG,CAAC,EACV;EACH,IAAI,CAACX,eAAe,EAAE;IACpB,OAAOmB,EAAE,CAAC,CAAC;EACb;EACA,MAAMC,KAAK,GAAG5C,GAAG,CAAC,CAAC;EACnB,IAAI;IACF,OAAO2C,EAAE,CAAC,CAAC;EACb,CAAC,SAAS;IACRZ,YAAY,CAACC,SAAS,EAAEC,KAAK,EAAEjC,GAAG,CAAC,CAAC,GAAG4C,KAAK,EAAET,SAAS,CAAC;EAC1D;AACF;AAEA,SAASU,kBAAkBA,CAACZ,KAAqB,EAAuB;EACtE,OAAOxB,eAAe,CAAC4B,GAAG,CAACJ,KAAK,CAAC;AACnC;AAEA,SAASa,gBAAgBA,CACvBb,KAAqB,EACY;EACjC,OAAOnB,cAAc,CAACuB,GAAG,CAACJ,KAAK,CAAC;AAClC;AAEA,SAASc,aAAaA,CACpBd,KAAqB,EACrBe,GAAW,EACXpE,KAAyB,EACnB;EACNkE,gBAAgB,CAACb,KAAK,CAAC,CAACK,GAAG,CAACU,GAAG,EAAEpE,KAAK,CAAC;AACzC;AAEA,SAASqE,kBAAkBA,CACzBhB,KAAqB,EACrBe,GAAW,EACS;EACpB,OAAOF,gBAAgB,CAACb,KAAK,CAAC,CAACI,GAAG,CAACW,GAAG,CAAC;AACzC;AAEA,SAASE,iBAAiBA,CAACjB,KAAqB,EAAEe,GAAW,EAAW;EACtE,OAAOF,gBAAgB,CAACb,KAAK,CAAC,CAACkB,GAAG,CAACH,GAAG,CAAC;AACzC;AAEA,SAASI,kBAAkBA,CAACnB,KAAqB,EAAQ;EACvDa,gBAAgB,CAACb,KAAK,CAAC,CAACoB,KAAK,CAAC,CAAC;AACjC;AAEA,SAASC,mBAAmBA,CAACrB,KAAqB,EAAEe,GAAW,EAAQ;EACrE,MAAMO,gBAAgB,GAAGhC,sBAAsB,CAACc,GAAG,CAACJ,KAAK,CAAE;EAC3DsB,gBAAgB,CAACjB,GAAG,CAACU,GAAG,EAAE,CAACO,gBAAgB,CAAClB,GAAG,CAACW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjE;AAEA,SAASQ,4BAA4BA,CACnCvB,KAAqB,EACrBe,GAAW,EACF;EACT,MAAMO,gBAAgB,GAAGhC,sBAAsB,CAACc,GAAG,CAACJ,KAAK,CAAE;EAC3D,MAAMM,KAAK,GAAGgB,gBAAgB,CAAClB,GAAG,CAACW,GAAG,CAAC;EACvC,IAAIT,KAAK,KAAKkB,SAAS,EAAE;IACvB,OAAO,KAAK;EACd;EACA,IAAIlB,KAAK,IAAI,CAAC,EAAE;IACdgB,gBAAgB,CAACG,MAAM,CAACV,GAAG,CAAC;EAC9B,CAAC,MAAM;IACLO,gBAAgB,CAACjB,GAAG,CAACU,GAAG,EAAET,KAAK,GAAG,CAAC,CAAC;EACtC;EACA,OAAO,IAAI;AACb;AAEA,SAASoB,kBAAkBA,CAACC,QAA6B,EAAEZ,GAAW,EAAQ;EAC5E,MAAMa,SAAS,GAAGD,QAAQ,CAACvB,GAAG,CAACW,GAAG,CAAC;EACnC,IAAIa,SAAS,EAAE;IACb,KAAK,MAAMC,QAAQ,IAAID,SAAS,EAAE;MAChCC,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;AAEA,SAASC,kBAAkBA,CAACH,QAA6B,EAAQ;EAC/D,KAAK,MAAMC,SAAS,IAAID,QAAQ,CAACI,MAAM,CAAC,CAAC,EAAE;IACzC,KAAK,MAAMF,QAAQ,IAAID,SAAS,EAAE;MAChCC,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;AAEA,SAASG,cAAcA,CACrBL,QAA6B,EAC7BZ,GAAW,EACXc,QAAoB,EACR;EACZ,IAAID,SAAS,GAAGD,QAAQ,CAACvB,GAAG,CAACW,GAAG,CAAC;EACjC,IAAI,CAACa,SAAS,EAAE;IACdA,SAAS,GAAG,IAAIK,GAAG,CAAC,CAAC;IACrBN,QAAQ,CAACtB,GAAG,CAACU,GAAG,EAAEa,SAAS,CAAC;EAC9B;EACAA,SAAS,CAACM,GAAG,CAACL,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACX,MAAMrD,eAAe,GAAGmD,QAAQ,CAACvB,GAAG,CAACW,GAAG,CAAC;IACzC,IAAI,CAACvC,eAAe,EAAE;MACpB;IACF;IACAA,eAAe,CAACiD,MAAM,CAACI,QAAQ,CAAC;IAChC,IAAIrD,eAAe,CAAC2D,IAAI,KAAK,CAAC,EAAE;MAC9BR,QAAQ,CAACF,MAAM,CAACV,GAAG,CAAC;IACtB;EACF,CAAC;AACH;AAEA,SAASqB,gBAAgBA,CACvBpC,KAAmB,EACnBe,GAAW,EACS;EACpB,IAAIf,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;IACjC,MAAM1F,KAAK,GAAG2B,WAAW,CAAC8B,GAAG,CAACW,GAAG,CAAC;IAClC,OAAO,OAAOpE,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG6E,SAAS;EACtD;EAEA,OAAOc,WAAW,CAACvB,GAAG,EAAEf,KAAK,CAAC;AAChC;AAEA,SAASuC,eAAeA,CACtBvC,KAAmB,EACnBe,GAAW,EACXyB,QAA4B,EAC5BC,QAA4B,EAC5B1C,SAAiC,EACjC2C,MAA2B,EACJ;EACvB,OAAO;IACLC,IAAI,EAAE,KAAK;IACX3C,KAAK;IACLe,GAAG;IACHyB,QAAQ;IACRC,QAAQ;IACR1C,SAAS;IACT2C;EACF,CAAC;AACH;AAEA,SAASE,yBAAyBA,CAAC5C,KAAmB,EAAW;EAC/D,OAAOL,aAAa,CAACkD,YAAY,CAAC7C,KAAK,CAAC,IAAIR,aAAa,KAAKgC,SAAS;AACzE;AAEA,SAASsB,6BAA6BA,CAAC9C,KAAmB,EAAW;EACnE,IAAIL,aAAa,CAACkD,YAAY,CAAC7C,KAAK,CAAC,EAAE;IACrC,OAAO,IAAI;EACb;EACA,IAAI,CAACR,aAAa,EAAE;IAClB,OAAO,KAAK;EACd;EACA,OAAOQ,KAAK,KAAKvB,qBAAY,CAACE,MAAM,IAAI,CAACc,+BAA+B;AAC1E;AAEA,MAAMsD,2BAA2B,GAAG,UAAU;AAE9C,SAASC,qBAAqBA,CAC5BC,KAA4B,EACL;EACvB,IAAIA,KAAK,CAACjD,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;IACvC,OAAOsE,KAAK;EACd;EAEA,OAAO;IACL,GAAGA,KAAK;IACRT,QAAQ,EACNS,KAAK,CAACT,QAAQ,KAAKhB,SAAS,GAAGA,SAAS,GAAGuB,2BAA2B;IACxEN,QAAQ,EACNQ,KAAK,CAACR,QAAQ,KAAKjB,SAAS,GAAGA,SAAS,GAAGuB;EAC/C,CAAC;AACH;AAEA,SAASG,sBAAsBA,CAACD,KAAyB,EAAsB;EAC7E,IAAI,CAACxD,+BAA+B,IAAIwD,KAAK,CAACjD,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;IAC3E,OAAOsE,KAAK;EACd;EAEA,IAAIA,KAAK,CAACN,IAAI,KAAK,KAAK,EAAE;IACxB,OAAOK,qBAAqB,CAACC,KAAK,CAAC;EACrC;EAEA,OAAO;IACL,GAAGA,KAAK;IACRE,OAAO,EAAEF,KAAK,CAACE,OAAO,CAACC,GAAG,CAACJ,qBAAqB;EAClD,CAAC;AACH;AAEA,SAASK,aAAaA,CACpBrD,KAAmB,EACnBe,GAAW,EACXyB,QAA4B,EAC5BC,QAA4B,EAC5B1C,SAAiC,EACjC2C,MAA2B,EACrB;EACN,IACEA,MAAM,KAAK,QAAQ,IACnB3C,SAAS,KAAK,UAAU,IACxBC,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,IAC7BzD,mBAAmB,CAACsC,GAAG,CAAClB,KAAK,CAAC,EAC9B;IACAqB,mBAAmB,CAACrB,KAAK,EAAEe,GAAG,CAAC;EACjC;EACA,MAAMkC,KAAK,GAAGV,eAAe,CAC3BvC,KAAK,EACLe,GAAG,EACHyB,QAAQ,EACRC,QAAQ,EACR1C,SAAS,EACT2C,MACF,CAAC;EACD/C,aAAa,CAAC2D,OAAO,CAACL,KAAK,CAAC;EAC5BzD,aAAa,GAAG0D,sBAAsB,CAACD,KAAK,CAAC,CAAC;AAChD;AAEA,SAASM,eAAeA,CACtBvD,KAAmB,EACnBD,SAAiC,EACjC2C,MAA2B,EAC3BS,OAAgC,EAC1B;EACN,IAAIA,OAAO,CAACK,MAAM,KAAK,CAAC,EAAE;IACxB;EACF;EAEA,IACEd,MAAM,KAAK,QAAQ,IACnB3C,SAAS,KAAK,UAAU,IACxBC,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,IAC7BzD,mBAAmB,CAACsC,GAAG,CAAClB,KAAK,CAAC,EAC9B;IACAmD,OAAO,CAACM,OAAO,CAAEC,MAAM,IAAKrC,mBAAmB,CAACrB,KAAK,EAAE0D,MAAM,CAAC3C,GAAG,CAAC,CAAC;EACrE;EAEA,MAAMkC,KAA8B,GAAG;IACrCN,IAAI,EAAE,OAAO;IACb3C,KAAK;IACLD,SAAS;IACT2C,MAAM;IACNS;EACF,CAAC;EACDxD,aAAa,CAACgE,SAAS,CAACV,KAAK,CAAC;EAC9BzD,aAAa,GAAG0D,sBAAsB,CAACD,KAAK,CAAC,CAAC;AAChD;AAEA,SAASW,sBAAsBA,CAAC7C,GAAW,EAAsB;EAC/D,OAAO9B,mBAAmB,CAACmB,GAAG,CAACW,GAAG,CAAC,EAAEpE,KAAK;AAC5C;AAEA,SAASkH,oBAAoBA,CAAC9C,GAAW,EAAsB;EAC7D,OAAOjC,iBAAiB,CAACsB,GAAG,CAACW,GAAG,CAAC,EAAEpE,KAAK;AAC1C;AAEA,SAASmH,mBAAmBA,CAAC/C,GAAW,EAAW;EACjD,OAAOjC,iBAAiB,CAACoC,GAAG,CAACH,GAAG,CAAC;AACnC;AAEA,SAASgD,qBAAqBA,CAAChD,GAAW,EAAW;EACnD,OAAO9B,mBAAmB,CAACiC,GAAG,CAACH,GAAG,CAAC;AACrC;AAEA,SAASiD,qBAAqBA,CAACjD,GAAW,EAAQ;EAChDjC,iBAAiB,CAAC2C,MAAM,CAACV,GAAG,CAAC;AAC/B;AAEA,SAASkD,uBAAuBA,CAAClD,GAAW,EAAQ;EAClD9B,mBAAmB,CAACwC,MAAM,CAACV,GAAG,CAAC;AACjC;AAEA,SAASmD,eAAeA,CAAA,EAAS;EAC/BnF,kBAAkB,GAAG,KAAK;EAE1B,IAAID,iBAAiB,CAACqD,IAAI,KAAK,CAAC,EAAE;IAChC;EACF;EAEA,MAAMgC,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACvF,iBAAiB,CAACiD,MAAM,CAAC,CAAC,CAAC;EACrDjD,iBAAiB,CAACsC,KAAK,CAAC,CAAC;EAEzB,MAAMkD,SAAmB,GAAG,EAAE;EAC9B,MAAMC,WAAqB,GAAG,EAAE;EAChC,MAAMC,YAAsB,GAAG,EAAE;EAEjCL,MAAM,CAACV,OAAO,CAAC,CAAC;IAAE1C,GAAG;IAAEpE;EAAM,CAAC,KAAK;IACjC,IAAIA,KAAK,KAAK6E,SAAS,EAAE;MACvBgD,YAAY,CAACC,IAAI,CAAC1D,GAAG,CAAC;MACtB;IACF;IAEAuD,SAAS,CAACG,IAAI,CAAC1D,GAAG,CAAC;IACnBwD,WAAW,CAACE,IAAI,CAAC9H,KAAK,CAAC;EACzB,CAAC,CAAC;EAEF,MAAM+H,aAAa,GAAGvG,gBAAgB,CAAC,CAAC;EACxC,IAAImG,SAAS,CAACd,MAAM,GAAG,CAAC,EAAE;IACxBkB,aAAa,CAACC,QAAQ,CAACL,SAAS,EAAEC,WAAW,EAAE9F,qBAAY,CAACC,IAAI,CAAC;EACnE;EACA,IAAI8F,YAAY,CAAChB,MAAM,GAAG,CAAC,EAAE;IAC3BkB,aAAa,CAACE,WAAW,CAACJ,YAAY,EAAE/F,qBAAY,CAACC,IAAI,CAAC;EAC5D;AACF;AAEA,SAASmG,iBAAiBA,CAAA,EAAS;EACjC3F,oBAAoB,GAAG,KAAK;EAE5B,IAAID,mBAAmB,CAACkD,IAAI,KAAK,CAAC,EAAE;IAClC;EACF;EAEA,MAAMgC,MAAM,GAAGC,KAAK,CAACC,IAAI,CAACpF,mBAAmB,CAAC8C,MAAM,CAAC,CAAC,CAAC;EACvD9C,mBAAmB,CAACmC,KAAK,CAAC,CAAC;EAE3B,MAAM0D,gBAAgB,GAAG,IAAItH,GAAG,CAG9B,CAAC;EACH,MAAMgH,YAAsB,GAAG,EAAE;EAEjCL,MAAM,CAACV,OAAO,CAAC,CAAC;IAAE1C,GAAG;IAAEpE,KAAK;IAAEoI;EAAc,CAAC,KAAK;IAChD,IAAIpI,KAAK,KAAK6E,SAAS,EAAE;MACvBgD,YAAY,CAACC,IAAI,CAAC1D,GAAG,CAAC;IACxB,CAAC,MAAM;MACL,MAAMiE,qBAAqB,GAAGD,aAAa,IAAI5F,0BAA0B;MACzE,MAAM8F,aAAa,GAAGH,gBAAgB,CAAC1E,GAAG,CAAC4E,qBAAqB,CAAC;MACjE,MAAME,KAAK,GAAGD,aAAa,IAAI;QAAExI,IAAI,EAAE,EAAE;QAAEsF,MAAM,EAAE;MAAG,CAAC;MACvDmD,KAAK,CAACzI,IAAI,CAACgI,IAAI,CAAC1D,GAAG,CAAC;MACpBmE,KAAK,CAACnD,MAAM,CAAC0C,IAAI,CAAC9H,KAAK,CAAC;MACxB,IAAI,CAACsI,aAAa,EAAE;QAClBH,gBAAgB,CAACzE,GAAG,CAAC2E,qBAAqB,EAAEE,KAAK,CAAC;MACpD;IACF;EACF,CAAC,CAAC;EAEF,MAAMR,aAAa,GAAGvG,gBAAgB,CAAC,CAAC;EACxC2G,gBAAgB,CAACrB,OAAO,CAAC,CAACyB,KAAK,EAAEH,aAAa,KAAK;IACjDL,aAAa,CAACS,sBAAsB,CAACJ,aAAa,CAAC;IACnDL,aAAa,CAACC,QAAQ,CAACO,KAAK,CAACzI,IAAI,EAAEyI,KAAK,CAACnD,MAAM,EAAEtD,qBAAY,CAACE,MAAM,CAAC;EACvE,CAAC,CAAC;EACF,IAAI6F,YAAY,CAAChB,MAAM,GAAG,CAAC,EAAE;IAC3BkB,aAAa,CAACE,WAAW,CAACJ,YAAY,EAAE/F,qBAAY,CAACE,MAAM,CAAC;EAC9D;AACF;AAEA,SAASyG,iBAAiBA,CAACrE,GAAW,EAAEpE,KAAyB,EAAQ;EACvEmC,iBAAiB,CAACuB,GAAG,CAACU,GAAG,EAAE;IAAEA,GAAG;IAAEpE;EAAM,CAAC,CAAC;EAC1C,IAAIoC,kBAAkB,EAAE;IACtB;EACF;EACAA,kBAAkB,GAAG,IAAI;EACzBtB,YAAY,CAACyG,eAAe,CAAC;AAC/B;AAEA,SAASmB,mBAAmBA,CAC1BtE,GAAW,EACXpE,KAAyB,EACzBoI,aAA6B,EACvB;EACN,MAAMO,YAAgC,GAAG;IAAEvE,GAAG;IAAEpE;EAAM,CAAC;EACvD,IAAIoI,aAAa,KAAKvD,SAAS,EAAE;IAC/B8D,YAAY,CAACP,aAAa,GAAGA,aAAa;EAC5C;EACA9F,mBAAmB,CAACoB,GAAG,CAACU,GAAG,EAAEuE,YAAY,CAAC;EAC1C,IAAIpG,oBAAoB,EAAE;IACxB;EACF;EACAA,oBAAoB,GAAG,IAAI;EAC3BzB,YAAY,CAACoH,iBAAiB,CAAC;AACjC;AAEA,SAASU,6BAA6BA,CAACvF,KAAqB,EAAQ;EAClE,IAAIpB,mBAAmB,CAACsC,GAAG,CAAClB,KAAK,CAAC,EAAE;IAClC;EACF;EAEA,MAAMwF,WAAW,GAAGrH,gBAAgB,CAAC,CAAC,CAACsH,WAAW,CAACzF,KAAK,EAAE,CAACe,GAAG,EAAEpE,KAAK,KAAK;IACxE,IAAIqD,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;MAC/B,IAAIqC,GAAG,KAAK,EAAE,EAAE;QACdjC,iBAAiB,CAACsC,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACL4C,qBAAqB,CAACjD,GAAG,CAAC;MAC5B;IACF;IAEA,IAAIf,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;MACjC,IAAIoC,GAAG,KAAK,EAAE,EAAE;QACd9B,mBAAmB,CAACmC,KAAK,CAAC,CAAC;MAC7B,CAAC,MAAM;QACL6C,uBAAuB,CAAClD,GAAG,CAAC;MAC9B;IACF;IAEA,IAAIA,GAAG,KAAK,EAAE,EAAE;MACdI,kBAAkB,CAACnB,KAAK,CAAC;MACzB8B,kBAAkB,CAAClB,kBAAkB,CAACZ,KAAK,CAAC,CAAC;MAC7C;IACF;IAEA,MAAMwC,QAAQ,GAAGxB,kBAAkB,CAAChB,KAAK,EAAEe,GAAG,CAAC;IAC/CD,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAEpE,KAAK,CAAC;IAChC+E,kBAAkB,CAACd,kBAAkB,CAACZ,KAAK,CAAC,EAAEe,GAAG,CAAC;IAClD,IAAIQ,4BAA4B,CAACvB,KAAK,EAAEe,GAAG,CAAC,EAAE;MAC5C;IACF;IACAsC,aAAa,CAACrD,KAAK,EAAEe,GAAG,EAAEyB,QAAQ,EAAE7F,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;EAClE,CAAC,CAAC;EACFiC,mBAAmB,CAACyB,GAAG,CACrBL,KAAK,EACL,OAAOwF,WAAW,KAAK,UAAU,GAAGA,WAAW,GAAG,MAAM,CAAC,CAC3D,CAAC;AACH;AAEA,SAASE,mCAAmCA,CAAC1F,KAAqB,EAAQ;EACxE,MAAM4B,SAAS,GAAGhB,kBAAkB,CAACZ,KAAK,CAAC;EAC3C,IACE4B,SAAS,CAACO,IAAI,GAAG,CAAC,IAClBxC,aAAa,CAACkD,YAAY,CAAC7C,KAAK,CAAC,IACjCR,aAAa,KAAKgC,SAAS,EAC3B;IACA;EACF;EAEA,MAAMgE,WAAW,GAAG5G,mBAAmB,CAACwB,GAAG,CAACJ,KAAK,CAAC;EAClD,IAAI,CAACwF,WAAW,EAAE;IAChB;EACF;EAEAA,WAAW,CAAC,CAAC;EACb5G,mBAAmB,CAAC6C,MAAM,CAACzB,KAAK,CAAC;AACnC;AAEA,SAASsC,WAAWA,CAACvB,GAAW,EAAEf,KAAmB,EAAsB;EACzE,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;EACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;IACjC,MAAM1F,KAAK,GAAG2B,WAAW,CAAC8B,GAAG,CAACW,GAAG,CAAC;IAClC,OAAO,OAAOpE,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG6E,SAAS;EACtD;EAEA,IAAIxB,KAAK,KAAKvB,qBAAY,CAACC,IAAI,IAAIoF,mBAAmB,CAAC/C,GAAG,CAAC,EAAE;IAC3D,OAAO8C,oBAAoB,CAAC9C,GAAG,CAAC;EAClC;EAEA,IAAIf,KAAK,KAAKvB,qBAAY,CAACE,MAAM,IAAIoF,qBAAqB,CAAChD,GAAG,CAAC,EAAE;IAC/D,OAAO6C,sBAAsB,CAAC7C,GAAG,CAAC;EACpC;EAEA,OAAO5C,gBAAgB,CAAC,CAAC,CAACiC,GAAG,CAACW,GAAG,EAAEf,KAAK,CAAC;AAC3C;AAEA,SAAS4F,WAAWA,CAAC7E,GAAW,EAAEpE,KAAa,EAAEqD,KAAmB,EAAQ;EAC1E,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;EACvB,MAAMwC,QAAQ,GACZxC,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,GAAGD,gBAAgB,CAACpC,KAAK,EAAEe,GAAG,CAAC,GAAGS,SAAS;EAC1E,IAAIxB,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;IACjC/D,WAAW,CAAC+B,GAAG,CAACU,GAAG,EAAEpE,KAAK,CAAC;IAC3B+E,kBAAkB,CAACnD,eAAe,EAAEwC,GAAG,CAAC;IACxCsC,aAAa,CAACrD,KAAK,EAAEe,GAAG,EAAEyB,QAAQ,EAAE7F,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAC3D;EACF;EAEA,IAAIqD,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;IAC/BoC,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAEpE,KAAK,CAAC;IAChC,IAAIqC,eAAe,EAAE;MACnBoG,iBAAiB,CAACrE,GAAG,EAAEpE,KAAK,CAAC;MAC7B0G,aAAa,CAACrD,KAAK,EAAEe,GAAG,EAAEyB,QAAQ,EAAE7F,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;MAC3D;IACF;IAEAuH,eAAe,CAAC,CAAC;IACjBF,qBAAqB,CAACjD,GAAG,CAAC;EAC5B;EAEA,IAAIf,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;IACjCkG,iBAAiB,CAAC,CAAC;IACnBZ,uBAAuB,CAAClD,GAAG,CAAC;IAC5B5C,gBAAgB,CAAC,CAAC,CAACgH,sBAAsB,CAAChG,0BAA0B,CAAC;EACvE;EAEAhB,gBAAgB,CAAC,CAAC,CAACkC,GAAG,CAACU,GAAG,EAAEpE,KAAK,EAAEqD,KAAK,CAAC;EACzCc,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAEpE,KAAK,CAAC;EAChC0G,aAAa,CAACrD,KAAK,EAAEe,GAAG,EAAEyB,QAAQ,EAAE7F,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;AAC7D;AAEA,SAASkJ,cAAcA,CAAC9E,GAAW,EAAEf,KAAmB,EAAQ;EAC9D,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;EACvB,MAAMwC,QAAQ,GAAGJ,gBAAgB,CAACpC,KAAK,EAAEe,GAAG,CAAC;EAC7C,IAAIf,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;IACjC/D,WAAW,CAACmD,MAAM,CAACV,GAAG,CAAC;IACvBW,kBAAkB,CAACnD,eAAe,EAAEwC,GAAG,CAAC;IACxCsC,aAAa,CAACrD,KAAK,EAAEe,GAAG,EAAEyB,QAAQ,EAAEhB,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAClE;EACF;EAEA,IAAIxB,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;IAC/BoC,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAES,SAAS,CAAC;IACpC,IAAIxC,eAAe,EAAE;MACnBoG,iBAAiB,CAACrE,GAAG,EAAES,SAAS,CAAC;MACjC6B,aAAa,CAACrD,KAAK,EAAEe,GAAG,EAAEyB,QAAQ,EAAEhB,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;MAClE;IACF;IAEA0C,eAAe,CAAC,CAAC;IACjBF,qBAAqB,CAACjD,GAAG,CAAC;EAC5B;EAEA,IAAIf,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;IACjCkG,iBAAiB,CAAC,CAAC;IACnBZ,uBAAuB,CAAClD,GAAG,CAAC;EAC9B;EAEA5C,gBAAgB,CAAC,CAAC,CAAC2H,MAAM,CAAC/E,GAAG,EAAEf,KAAK,CAAC;EACrCc,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAES,SAAS,CAAC;EACpC6B,aAAa,CAACrD,KAAK,EAAEe,GAAG,EAAEyB,QAAQ,EAAEhB,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACpE;AAEA,SAASuE,oBAAoBA,CAAC/F,KAAmB,EAAU;EACzD,MAAMgG,GAAG,GAAG1D,WAAW,CAAC2D,+BAAqB,EAAEjG,KAAK,CAAC;EACrD,IAAIgG,GAAG,KAAKxE,SAAS,EAAE;IACrB,OAAO,CAAC;EACV;EAEA,MAAM0E,MAAM,GAAGnJ,MAAM,CAACoJ,QAAQ,CAACH,GAAG,EAAE,EAAE,CAAC;EACvC,OAAOjJ,MAAM,CAACC,QAAQ,CAACkJ,MAAM,CAAC,IAAIA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;AAC3D;AAEA,SAASE,qBAAqBA,CAACpG,KAAmB,EAAEqG,OAAe,EAAQ;EACzET,WAAW,CAACK,+BAAqB,EAAEK,MAAM,CAACD,OAAO,CAAC,EAAErG,KAAK,CAAC;AAC5D;AAEO,MAAMuG,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACrBE,SAAS,EAAEA,CACTzG,KAAmB,EACnB6B,QAA8B,KACb;IACjB,IAAA8D,0BAAgB,EAAC3F,KAAK,CAAC;IACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;MACjCkD,6BAA6B,CAACvF,KAAK,CAAC;MACpC,MAAMwF,WAAW,GAAG7F,aAAa,CAAC8G,SAAS,CAACzG,KAAK,EAAE6B,QAAQ,CAAC;MAC5D,OAAO,MAAM;QACX2D,WAAW,CAAC,CAAC;QACbE,mCAAmC,CAAC1F,KAAK,CAAC;MAC5C,CAAC;IACH;IACA,OAAOL,aAAa,CAAC8G,SAAS,CAACzG,KAAK,EAAE6B,QAAQ,CAAC;EACjD,CAAC;EACD6E,YAAY,EAAEA,CACZ1G,KAAmB,EACnBe,GAAW,EACXc,QAA8B,KACb;IACjB,IAAA8D,0BAAgB,EAAC3F,KAAK,CAAC;IACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;MACjCkD,6BAA6B,CAACvF,KAAK,CAAC;MACpC,MAAMwF,WAAW,GAAG7F,aAAa,CAAC+G,YAAY,CAAC1G,KAAK,EAAEe,GAAG,EAAEc,QAAQ,CAAC;MACpE,OAAO,MAAM;QACX2D,WAAW,CAAC,CAAC;QACbE,mCAAmC,CAAC1F,KAAK,CAAC;MAC5C,CAAC;IACH;IACA,OAAOL,aAAa,CAAC+G,YAAY,CAAC1G,KAAK,EAAEe,GAAG,EAAEc,QAAQ,CAAC;EACzD,CAAC;EACD8E,eAAe,EAAEA,CACf3G,KAAmB,EACnB4G,MAAc,EACd/E,QAA8B,KACb;IACjB,IAAA8D,0BAAgB,EAAC3F,KAAK,CAAC;IACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;MACjCkD,6BAA6B,CAACvF,KAAK,CAAC;MACpC,MAAMwF,WAAW,GAAG7F,aAAa,CAACgH,eAAe,CAC/C3G,KAAK,EACL4G,MAAM,EACN/E,QACF,CAAC;MACD,OAAO,MAAM;QACX2D,WAAW,CAAC,CAAC;QACbE,mCAAmC,CAAC1F,KAAK,CAAC;MAC5C,CAAC;IACH;IACA,OAAOL,aAAa,CAACgH,eAAe,CAAC3G,KAAK,EAAE4G,MAAM,EAAE/E,QAAQ,CAAC;EAC/D,CAAC;EACDgF,kBAAkB,EAAEA,CAClBC,SAAiB,EACjB9G,KAAmB,EACnB6B,QAA8B,KACb;IACjB,OAAO0E,OAAO,CAACI,eAAe,CAAC3G,KAAK,EAAE,IAAA+G,mBAAS,EAACD,SAAS,EAAE,EAAE,CAAC,EAAEjF,QAAQ,CAAC;EAC3E,CAAC;EACDmF,gBAAgB,EAAEA,CAChBC,QAA+B,EAC/BC,OAAoC,GAAG,CAAC,CAAC,KACtC;IACH1H,aAAa,GAAGyH,QAAQ;IACxBxH,+BAA+B,GAAGyH,OAAO,CAACC,kBAAkB,KAAK,KAAK;IACtE,IAAIF,QAAQ,EAAE;MACZ1B,6BAA6B,CAAC9G,qBAAY,CAACC,IAAI,CAAC;MAChD6G,6BAA6B,CAAC9G,qBAAY,CAACE,MAAM,CAAC;MAClD;IACF;IACA+G,mCAAmC,CAACjH,qBAAY,CAACC,IAAI,CAAC;IACtDgH,mCAAmC,CAACjH,qBAAY,CAACE,MAAM,CAAC;EAC1D,CAAC;EACDyC,KAAK,EAAGpB,KAAmB,IAAK;IAC9BS,gBAAgB,CAAC,eAAe,EAAET,KAAK,EAAE,MAAM;MAC7C,MAAMoH,cAAc,GAAGtE,6BAA6B,CAAC9C,KAAK,CAAC,GACvDuG,OAAO,CAACc,MAAM,CAACrH,KAAK,CAAC,GACrB,CAAC,CAAC;MACN,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC/D,WAAW,CAAC8C,KAAK,CAAC,CAAC;QACnBU,kBAAkB,CAACvD,eAAe,CAAC;QACnCgF,eAAe,CACbvD,KAAK,EACL,OAAO,EACP,QAAQ,EACRxD,MAAM,CAACC,IAAI,CAAC2K,cAAc,CAAC,CAAChE,GAAG,CAAErC,GAAG,IAClCwB,eAAe,CACbvC,KAAK,EACLe,GAAG,EACHqG,cAAc,CAACrG,GAAG,CAAC,EACnBS,SAAS,EACT,OAAO,EACP,QACF,CACF,CACF,CAAC;QACD;MACF;MAEA,IAAIxB,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/BwF,eAAe,CAAC,CAAC;QACjBpF,iBAAiB,CAACsC,KAAK,CAAC,CAAC;MAC3B;MAEA,IAAIpB,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;QACnB5F,mBAAmB,CAACmC,KAAK,CAAC,CAAC;MAC7B;MAEAD,kBAAkB,CAACnB,KAAK,CAAC;MACzB7B,gBAAgB,CAAC,CAAC,CAACiD,KAAK,CAACpB,KAAK,CAAC;MAC/BuD,eAAe,CACbvD,KAAK,EACL,OAAO,EACP,QAAQ,EACRxD,MAAM,CAACC,IAAI,CAAC2K,cAAc,CAAC,CAAChE,GAAG,CAAErC,GAAG,IAClCwB,eAAe,CACbvC,KAAK,EACLe,GAAG,EACHqG,cAAc,CAACrG,GAAG,CAAC,EACnBS,SAAS,EACT,OAAO,EACP,QACF,CACF,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EACD8F,QAAQ,EAAEA,CAAA,KAAM;IACd7G,gBAAgB,CACd,kBAAkB,EAClBhC,qBAAY,CAAC4D,MAAM,EACnB,MAAM;MACJkE,OAAO,CAACnF,KAAK,CAAC3C,qBAAY,CAAC4D,MAAM,CAAC;MAClCkE,OAAO,CAACnF,KAAK,CAAC3C,qBAAY,CAACC,IAAI,CAAC;MAChC6H,OAAO,CAACnF,KAAK,CAAC3C,qBAAY,CAACE,MAAM,CAAC;IACpC,CAAC,EACD,CACF,CAAC;EACH,CAAC;EACD4I,cAAc,EAAEA,CAACT,SAAiB,EAAE9G,KAAmB,KAAK;IAC1DS,gBAAgB,CAAC,wBAAwB,EAAET,KAAK,EAAE,MAAM;MACtD,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC,MAAMmF,YAAY,GAAGpD,KAAK,CAACC,IAAI,CAAC/F,WAAW,CAAC7B,IAAI,CAAC,CAAC,CAAC,CAACgL,MAAM,CAAE1G,GAAG,IAC7D,IAAA2G,sBAAY,EAAC3G,GAAG,EAAE+F,SAAS,CAC7B,CAAC;QACD,MAAMM,cAAc,GAAGI,YAAY,CAACpE,GAAG,CAAErC,GAAG,KAAM;UAChDA,GAAG;UACHpE,KAAK,EAAEyF,gBAAgB,CAACpC,KAAK,EAAEe,GAAG;QACpC,CAAC,CAAC,CAAC;QAEH,IAAIyG,YAAY,CAAChE,MAAM,KAAK,CAAC,EAAE;UAC7B;QACF;QAEAgE,YAAY,CAAC/D,OAAO,CAAE1C,GAAG,IAAK;UAC5BzC,WAAW,CAACmD,MAAM,CAACV,GAAG,CAAC;QACzB,CAAC,CAAC;QACFyG,YAAY,CAAC/D,OAAO,CAAE1C,GAAG,IAAKW,kBAAkB,CAACnD,eAAe,EAAEwC,GAAG,CAAC,CAAC;QACvEwC,eAAe,CACbvD,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACRoH,cAAc,CAAChE,GAAG,CAAC,CAAC;UAAErC,GAAG;UAAEpE;QAAM,CAAC,KAChC4F,eAAe,CACbvC,KAAK,EACLe,GAAG,EACHpE,KAAK,EACL6E,SAAS,EACT,gBAAgB,EAChB,QACF,CACF,CACF,CAAC;QACD;MACF;MAEA,MAAMmG,SAAS,GAAG,IAAAZ,mBAAS,EAACD,SAAS,EAAE,EAAE,CAAC;MAC1C,MAAMM,cAAc,GAAGtE,6BAA6B,CAAC9C,KAAK,CAAC,GACvDuG,OAAO,CAACqB,WAAW,CAACD,SAAS,EAAE3H,KAAK,CAAC,GACrC,CAAC,CAAC;MACN,IAAIA,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/BwF,eAAe,CAAC,CAAC;MACnB;MACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;MACrB;MAEA,MAAMgD,UAAU,GAAGhH,gBAAgB,CAACb,KAAK,CAAC;MAC1C,KAAK,MAAMe,GAAG,IAAI8G,UAAU,CAACpL,IAAI,CAAC,CAAC,EAAE;QACnC,IAAI,IAAAiL,sBAAY,EAAC3G,GAAG,EAAE+F,SAAS,CAAC,EAAE;UAChCe,UAAU,CAACpG,MAAM,CAACV,GAAG,CAAC;QACxB;MACF;MACA5C,gBAAgB,CAAC,CAAC,CAAC2J,cAAc,CAACH,SAAS,EAAE3H,KAAK,CAAC;MACnDuD,eAAe,CACbvD,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACRxD,MAAM,CAACC,IAAI,CAAC2K,cAAc,CAAC,CAAChE,GAAG,CAAErC,GAAG,IAClCwB,eAAe,CACbvC,KAAK,EACLe,GAAG,EACHqG,cAAc,CAACrG,GAAG,CAAC,EACnBS,SAAS,EACT,gBAAgB,EAChB,QACF,CACF,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EACDuG,cAAc,EAAEA,CAAA,KAAM;IACpBtH,gBAAgB,CAAC,wBAAwB,EAAEhC,qBAAY,CAACE,MAAM,EAAE,MAAM;MACpER,gBAAgB,CAAC,CAAC,CAAC6J,oBAAoB,CAAC,CAAC;IAC3C,CAAC,CAAC;EACJ,CAAC;EACD9G,GAAG,EAAEA,CAACH,GAAW,EAAEf,KAAmB,KAAc;IAClD,OAAOS,gBAAgB,CAAC,aAAa,EAAET,KAAK,EAAE,MAAM;MAClD,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC,OAAO/D,WAAW,CAAC4C,GAAG,CAACH,GAAG,CAAC;MAC7B;MACA,IAAIf,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/BwF,eAAe,CAAC,CAAC;MACnB;MACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAO1G,gBAAgB,CAAC,CAAC,CAAC+C,GAAG,CAACH,GAAG,EAAEf,KAAK,CAAC;IAC3C,CAAC,CAAC;EACJ,CAAC;EACDiI,UAAU,EAAGjI,KAAmB,IAAe;IAC7C,OAAOS,gBAAgB,CAAC,oBAAoB,EAAET,KAAK,EAAE,MAAM;MACzD,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC,OAAO+B,KAAK,CAACC,IAAI,CAAC/F,WAAW,CAAC7B,IAAI,CAAC,CAAC,CAAC;MACvC;MACA,IAAIuD,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/BwF,eAAe,CAAC,CAAC;MACnB;MACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAO1G,gBAAgB,CAAC,CAAC,CAAC8J,UAAU,CAACjI,KAAK,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC;EACDkI,eAAe,EAAEA,CAACtB,MAAc,EAAE5G,KAAmB,KAAe;IAClE,OAAOS,gBAAgB,CAAC,yBAAyB,EAAET,KAAK,EAAE,MAAM;MAC9D,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC,OAAO+B,KAAK,CAACC,IAAI,CAAC/F,WAAW,CAAC7B,IAAI,CAAC,CAAC,CAAC,CAACgL,MAAM,CAAE1G,GAAG,IAC/CA,GAAG,CAACoH,UAAU,CAACvB,MAAM,CACvB,CAAC;MACH;MACA,IAAI5G,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/BwF,eAAe,CAAC,CAAC;MACnB;MACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAO1G,gBAAgB,CAAC,CAAC,CAAC+J,eAAe,CAACtB,MAAM,EAAE5G,KAAK,CAAC,IAAI,EAAE;IAChE,CAAC,CAAC;EACJ,CAAC;EACD4H,WAAW,EAAEA,CACXhB,MAAc,EACd5G,KAAmB,KACQ;IAC3B,OAAOS,gBAAgB,CAAC,qBAAqB,EAAET,KAAK,EAAE,MAAM;MAC1D,MAAMoI,MAA8B,GAAG,CAAC,CAAC;MACzC,MAAM3L,IAAI,GAAG8J,OAAO,CAAC2B,eAAe,CAACtB,MAAM,EAAE5G,KAAK,CAAC;MACnD,IAAIvD,IAAI,CAAC+G,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO4E,MAAM;MACf;MAEA,IAAIpI,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC5F,IAAI,CAACgH,OAAO,CAAE1C,GAAG,IAAK;UACpB,MAAMpE,KAAK,GAAG2B,WAAW,CAAC8B,GAAG,CAACW,GAAG,CAAC;UAClC,IAAI,OAAOpE,KAAK,KAAK,QAAQ,EAAE;YAC7ByL,MAAM,CAACrH,GAAG,CAAC,GAAGpE,KAAK;UACrB;QACF,CAAC,CAAC;QACF,OAAOyL,MAAM;MACf;MAEA,IAAIpI,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/BwF,eAAe,CAAC,CAAC;MACnB;MACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;MACrB;MACA,MAAM9C,MAAM,GAAG5D,gBAAgB,CAAC,CAAC,CAACkK,QAAQ,CAAC5L,IAAI,EAAEuD,KAAK,CAAC,IAAI,EAAE;MAC7DvD,IAAI,CAACgH,OAAO,CAAC,CAAC1C,GAAG,EAAEuH,GAAG,KAAK;QACzB,MAAM3L,KAAK,GAAG,IAAA4L,gCAAsB,EAACxG,MAAM,CAACuG,GAAG,CAAC,CAAC;QACjD,IAAI3L,KAAK,KAAK6E,SAAS,EAAE;UACvB4G,MAAM,CAACrH,GAAG,CAAC,GAAGpE,KAAK;QACrB;MACF,CAAC,CAAC;MACF,OAAOyL,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACDf,MAAM,EAAGrH,KAAmB,IAA6B;IACvD,OAAOS,gBAAgB,CAAC,gBAAgB,EAAET,KAAK,EAAE,MAAM;MACrD,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;MACvB,MAAMoI,MAA8B,GAAG,CAAC,CAAC;MACzC,IAAIpI,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC,KAAK,MAAMtB,GAAG,IAAIzC,WAAW,CAAC7B,IAAI,CAAC,CAAC,EAAE;UACpC,MAAME,KAAK,GAAG2B,WAAW,CAAC8B,GAAG,CAACW,GAAG,CAAC;UAClC,IAAI,OAAOpE,KAAK,KAAK,QAAQ,EAAEyL,MAAM,CAACrH,GAAG,CAAC,GAAGpE,KAAK;QACpD;QACA,OAAOyL,MAAM;MACf;MACA,IAAIpI,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/BwF,eAAe,CAAC,CAAC;MACnB;MACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;MACrB;MACA,MAAMpI,IAAI,GAAG0B,gBAAgB,CAAC,CAAC,CAAC8J,UAAU,CAACjI,KAAK,CAAC,IAAI,EAAE;MACvD,IAAIvD,IAAI,CAAC+G,MAAM,KAAK,CAAC,EAAE,OAAO4E,MAAM;MACpC,MAAMrG,MAAM,GAAG5D,gBAAgB,CAAC,CAAC,CAACkK,QAAQ,CAAC5L,IAAI,EAAEuD,KAAK,CAAC,IAAI,EAAE;MAC7DvD,IAAI,CAACgH,OAAO,CAAC,CAAC1C,GAAG,EAAEuH,GAAG,KAAK;QACzB,MAAME,GAAG,GAAG,IAAAD,gCAAsB,EAACxG,MAAM,CAACuG,GAAG,CAAC,CAAC;QAC/C,IAAIE,GAAG,KAAKhH,SAAS,EAAE4G,MAAM,CAACrH,GAAG,CAAC,GAAGyH,GAAG;MAC1C,CAAC,CAAC;MACF,OAAOJ,MAAM;IACf,CAAC,CAAC;EACJ,CAAC;EACDK,MAAM,EAAEA,CACNzI,KAAmB,EACnBkH,OAA6B,GAAG,CAAC,CAAC,KACP;IAC3B,IAAIlH,KAAK,KAAKvB,qBAAY,CAACE,MAAM,IAAIuI,OAAO,CAACwB,mBAAmB,KAAK,IAAI,EAAE;MACzE,MAAM,IAAIzL,KAAK,CACb,iIACF,CAAC;IACH;IACA,OAAOwD,gBAAgB,CAAC,gBAAgB,EAAET,KAAK,EAAE,MAC/CuG,OAAO,CAACc,MAAM,CAACrH,KAAK,CACtB,CAAC;EACH,CAAC;EACD2I,kBAAkB,EAAEA,CAAA,KAA8B;IAChD,OAAOlI,gBAAgB,CACrB,4BAA4B,EAC5BhC,qBAAY,CAACE,MAAM,EACnB,MAAM4H,OAAO,CAACc,MAAM,CAAC5I,qBAAY,CAACE,MAAM,CAC1C,CAAC;EACH,CAAC;EACDwD,IAAI,EAAGnC,KAAmB,IAAa;IACrC,OAAOS,gBAAgB,CAAC,cAAc,EAAET,KAAK,EAAE,MAAM;MACnD,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;MACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC,OAAO/D,WAAW,CAAC6D,IAAI;MACzB;MACA,IAAInC,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/BwF,eAAe,CAAC,CAAC;MACnB;MACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;MACrB;MACA,OAAO1G,gBAAgB,CAAC,CAAC,CAACgE,IAAI,CAACnC,KAAK,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EACD4I,gBAAgB,EAAGvL,KAAoB,IAAK;IAC1CoD,gBAAgB,CAAC,0BAA0B,EAAEhC,qBAAY,CAACE,MAAM,EAAE,MAAM;MACtEvB,wBAAwB,CAACC,KAAK,CAAC;MAC/B8B,0BAA0B,GAAG9B,KAAK;MAClCc,gBAAgB,CAAC,CAAC,CAACgH,sBAAsB,CAAC9H,KAAK,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC;EACDwL,oBAAoB,EAAGC,OAAgB,IAAK;IAC1CrI,gBAAgB,CACd,8BAA8B,EAC9BhC,qBAAY,CAACE,MAAM,EACnB,MAAM;MACJR,gBAAgB,CAAC,CAAC,CAAC0K,oBAAoB,CAACC,OAAO,CAAC;IAClD,CACF,CAAC;EACH,CAAC;EACDC,kBAAkB,EAAGD,OAAgB,IAAK;IACxCrI,gBAAgB,CAAC,4BAA4B,EAAEhC,qBAAY,CAACC,IAAI,EAAE,MAAM;MACtEM,eAAe,GAAG8J,OAAO;MACzB,IAAI,CAACA,OAAO,EAAE;QACZ5E,eAAe,CAAC,CAAC;MACnB;IACF,CAAC,CAAC;EACJ,CAAC;EACDA,eAAe,EAAEA,CAAA,KAAM;IACrBzD,gBAAgB,CAAC,yBAAyB,EAAEhC,qBAAY,CAACC,IAAI,EAAE,MAAM;MACnEwF,eAAe,CAAC,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC;EACDW,iBAAiB,EAAEA,CAAA,KAAM;IACvBpE,gBAAgB,CAAC,2BAA2B,EAAEhC,qBAAY,CAACE,MAAM,EAAE,MAAM;MACvEkG,iBAAiB,CAAC,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC;EACDmE,sBAAsB,EAAG9D,KAAa,IAAK;IACzCzE,gBAAgB,CACd,gCAAgC,EAChChC,qBAAY,CAACE,MAAM,EACnB,MAAM;MACJR,gBAAgB,CAAC,CAAC,CAAC6K,sBAAsB,CAAC9D,KAAK,CAAC;IAClD,CACF,CAAC;EACH,CAAC;EACD+D,kBAAkB,EAAGhC,QAAiC,IAAK;IACzD1H,eAAe,GAAG0H,QAAQ;EAC5B,CAAC;EACDiC,kBAAkB,EAAEA,CAAA,KAA4C;IAC9D,MAAMC,QAA8C,GAAG,CAAC,CAAC;IACzDzJ,eAAe,CAAC+D,OAAO,CAAC,CAAC9G,KAAK,EAAEoE,GAAG,KAAK;MACtCoI,QAAQ,CAACpI,GAAG,CAAC,GAAG;QACdT,KAAK,EAAE3D,KAAK,CAAC2D,KAAK;QAClBC,eAAe,EAAE5D,KAAK,CAAC4D,eAAe;QACtC6I,aAAa,EACXzM,KAAK,CAAC2D,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG3D,KAAK,CAAC4D,eAAe,GAAG5D,KAAK,CAAC2D,KAAK;QAC7DE,aAAa,EAAE7D,KAAK,CAAC6D;MACvB,CAAC;IACH,CAAC,CAAC;IACF,OAAO2I,QAAQ;EACjB,CAAC;EACDE,YAAY,EAAEA,CAAA,KAAM;IAClB3J,eAAe,CAAC0B,KAAK,CAAC,CAAC;EACzB,CAAC;EACDkI,eAAe,EAAEA,CAAA,MAA4B;IAC3CC,QAAQ,EAAE,QAAQ;IAClBC,OAAO,EAAE;MACPC,IAAI,EAAE,sBAAsB;MAC5BC,MAAM,EAAE7J;IACV,CAAC;IACD8J,cAAc,EAAE;MACdF,IAAI,EAAE,IAAI;MACVC,MAAM,EAAE;IACV,CAAC;IACDE,mBAAmB,EAAE;EACvB,CAAC,CAAC;EACFC,uBAAuB,EAAEA,CAAA,MAA6B;IACpDN,QAAQ,EAAE,QAAQ;IAClBO,aAAa,EAAE;MACbN,OAAO,EAAE3J,mBAAmB;MAC5BkK,SAAS,EAAE,WAAW;MACtBhF,aAAa,EAAE,SAAS;MACxBiF,mBAAmB,EAAE,SAAS;MAC9BC,cAAc,EAAE;IAClB,CAAC;IACDC,SAAS,EAAE;MACT3D,OAAO,EAAE,SAAS;MAClB4D,MAAM,EAAE,SAAS;MACjBC,YAAY,EAAE,SAAS;MACvBC,kBAAkB,EAAE;IACtB,CAAC;IACDC,QAAQ,EAAE;MACRC,MAAM,EAAE,IAAI;MACZC,kBAAkB,EAAE,IAAI;MACxBC,kBAAkB,EAAE;IACtB;EACF,CAAC,CAAC;EACFC,iBAAiB,EAAG3J,GAAW,IAA4B;IACzD,OAAON,gBAAgB,CACrB,2BAA2B,EAC3BhC,qBAAY,CAACE,MAAM,EACnB,MAAM;MACJkG,iBAAiB,CAAC,CAAC;MACnB,MAAMH,aAAa,GAAGvG,gBAAgB,CAAC,CAAC;MACxC,MAAMwM,kBAAkB,GAAGjG,aAAa,CAACkG,kBAAkB,CAAC7J,GAAG,CAAC;MAChE,MAAM8J,MAAM,GACVF,kBAAkB,IAAIjG,aAAa,CAACxD,GAAG,CAACH,GAAG,EAAEtC,qBAAY,CAACE,MAAM,CAAC;MACnE,IAAImM,IAAmC,GAAG,SAAS;MACnD,IAAID,MAAM,EAAE;QACVC,IAAI,GAAGH,kBAAkB,GAAG,WAAW,GAAG,QAAQ;MACpD;MAEA,OAAO;QACL5J,GAAG;QACH8J,MAAM;QACNC,IAAI;QACJtB,OAAO,EAAE3J,mBAAmB;QAC5BkK,SAAS,EAAE,WAAW;QACtBE,cAAc,EAAE,SAAS;QACzBU,kBAAkB;QAClBI,YAAY,EAAE;MAChB,CAAC;IACH,CACF,CAAC;EACH,CAAC;EACDC,oBAAoB,EAAEA,CAAA,KAA+B;IACnD,OAAOvK,gBAAgB,CACrB,8BAA8B,EAC9BhC,qBAAY,CAACE,MAAM,EACnB,MAAM;MACJkG,iBAAiB,CAAC,CAAC;MACnB,OAAO1G,gBAAgB,CAAC,CAAC,CACtB8J,UAAU,CAACxJ,qBAAY,CAACE,MAAM,CAAC,CAC/ByE,GAAG,CAAErC,GAAG,IAAKwF,OAAO,CAACmE,iBAAiB,CAAC3J,GAAG,CAAC,CAAC;IACjD,CACF,CAAC;EACH,CAAC;EACDkK,SAAS,EAAEA,CAAClK,GAAW,EAAEf,KAAmB,KAAyB;IACnE,OAAOS,gBAAgB,CAAC,mBAAmB,EAAET,KAAK,EAAE,MAAM;MACxD,OAAOsC,WAAW,CAACvB,GAAG,EAAEf,KAAK,CAAC;IAChC,CAAC,CAAC;EACJ,CAAC;EACDkL,SAAS,EAAEA,CAACnK,GAAW,EAAEpE,KAAa,EAAEqD,KAAmB,KAAW;IACpES,gBAAgB,CAAC,mBAAmB,EAAET,KAAK,EAAE,MAAM;MACjD4F,WAAW,CAAC7E,GAAG,EAAEpE,KAAK,EAAEqD,KAAK,CAAC;IAChC,CAAC,CAAC;EACJ,CAAC;EACDmL,YAAY,EAAEA,CAACpK,GAAW,EAAEf,KAAmB,KAAW;IACxDS,gBAAgB,CAAC,sBAAsB,EAAET,KAAK,EAAE,MAAM;MACpD6F,cAAc,CAAC9E,GAAG,EAAEf,KAAK,CAAC;IAC5B,CAAC,CAAC;EACJ,CAAC;EACDoL,MAAM,EAAEA,CAACC,IAA4B,EAAErL,KAAmB,KAAW;IACnE,MAAMvD,IAAI,GAAGD,MAAM,CAACC,IAAI,CAAC4O,IAAI,CAAC;IAC9B5K,gBAAgB,CACd,gBAAgB,EAChBT,KAAK,EACL,MAAM;MACJ,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;MACvB,IAAIvD,IAAI,CAAC+G,MAAM,KAAK,CAAC,EAAE;MACvB,MAAMzB,MAAM,GAAGtF,IAAI,CAAC2G,GAAG,CAAEkI,CAAC,IAAKD,IAAI,CAACC,CAAC,CAAE,CAAC;MACxC,MAAMnI,OAAO,GAAG1G,IAAI,CAAC2G,GAAG,CAAC,CAACrC,GAAG,EAAEwK,KAAK,KAClChJ,eAAe,CACbvC,KAAK,EACLe,GAAG,EACHqB,gBAAgB,CAACpC,KAAK,EAAEe,GAAG,CAAC,EAC5BgB,MAAM,CAACwJ,KAAK,CAAC,EACb,QAAQ,EACRvL,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,GAAG,QAAQ,GAAG,QAC7C,CACF,CAAC;MAED,IAAIrC,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjC5F,IAAI,CAACgH,OAAO,CAAC,CAAC1C,GAAG,EAAEwK,KAAK,KAAK;UAC3BjN,WAAW,CAAC+B,GAAG,CAACU,GAAG,EAAEgB,MAAM,CAACwJ,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC;QACF9O,IAAI,CAACgH,OAAO,CAAE1C,GAAG,IAAKW,kBAAkB,CAACnD,eAAe,EAAEwC,GAAG,CAAC,CAAC;QAC/DwC,eAAe,CAACvD,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAEmD,OAAO,CAAC;QACnD;MACF;MAEA,IAAInD,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjCkG,iBAAiB,CAAC,CAAC;QACnB1G,gBAAgB,CAAC,CAAC,CAACgH,sBAAsB,CAAChG,0BAA0B,CAAC;MACvE;MAEAhB,gBAAgB,CAAC,CAAC,CAACwG,QAAQ,CAAClI,IAAI,EAAEsF,MAAM,EAAE/B,KAAK,CAAC;MAChDvD,IAAI,CAACgH,OAAO,CAAC,CAAC1C,GAAG,EAAEwK,KAAK,KAAKzK,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAEgB,MAAM,CAACwJ,KAAK,CAAC,CAAC,CAAC;MACtEhI,eAAe,CAACvD,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAEmD,OAAO,CAAC;IACrD,CAAC,EACD1G,IAAI,CAAC+G,MACP,CAAC;EACH;AACF,CAAC;AAEM,SAASgI,0BAA0BA,CACxCC,QAAkC,EAC5B;EACN;AAAA;AAGK,SAASC,0BAA0BA,CAAA,EAE5B;EACZ,OAAOlK,SAAS;AAClB;AAEO,SAASmK,wBAAwBA,CACtCF,QAAgC,EAC1B;EACN;AAAA;AAGK,SAASG,wBAAwBA,CAAA,EAAsC;EAC5E,OAAOpK,SAAS;AAClB;AAEO,eAAeqK,uBAAuBA,CAAA,EAAkB;EAC7D;AAAA;AAwDF,SAASC,kBAAkBA,CAAC3P,IAAsB,EAAW;EAC3D,OACEA,IAAI,CAAC4P,cAAc,KAAK,KAAK,IAC7B5P,IAAI,CAAC6P,cAAc,KAAK,KAAK,IAC7B7P,IAAI,CAAC8P,YAAY,KAAK,IAAI,IAC1B9P,IAAI,CAAC+P,oBAAoB,KAAK1K,SAAS;AAE3C;AAEA,SAAS2K,wBAAwBA,CAAChQ,IAAsB,EAAW;EACjE,OACEA,IAAI,CAAC4P,cAAc,KAAK,KAAK,IAC7B5P,IAAI,CAAC6P,cAAc,KAAK,KAAK,IAC7B7P,IAAI,CAAC8P,YAAY,KAAK,IAAI;AAE9B;AAEA,SAASG,gBAAgBA,CAAIzP,KAAQ,EAAU;EAC7C,OAAO,IAAA0P,wCAA8B,EAAC1P,KAAK,CAAC;AAC9C;AAEA,SAAS2P,kBAAkBA,CAAI3P,KAAa,EAAK;EAC/C,OAAO,IAAA4P,0CAAgC,EAAC5P,KAAK,CAAC;AAChD;AAEO,SAAS6P,iBAAiBA,CAC/BC,MAA4B,EACZ;EAChB,MAAMC,UAAU,GAAG,IAAA3F,mBAAS,EAAC0F,MAAM,CAAC3F,SAAS,EAAE2F,MAAM,CAAC1L,GAAG,CAAC;EAC1D,MAAM4L,SAAS,GAAGF,MAAM,CAACE,SAAS,IAAIP,gBAAgB;EACtD,MAAMQ,WAAW,GAAGH,MAAM,CAACG,WAAW,IAAIN,kBAAkB;EAC5D,MAAMO,QAAQ,GAAGJ,MAAM,CAACzM,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM;EACrD,MAAMyK,sBAAsB,GAC1BL,MAAM,CAACzM,KAAK,KAAKvB,qBAAY,CAACE,MAAM,GAC/B8N,MAAM,CAACM,cAAc,KACrBN,MAAM,CAACvC,SAAS,KAAK,IAAI,GACtB8C,uBAAc,CAACC,YAAY,GAC3BD,uBAAc,CAACE,IAAI,CAAC,GACxBF,uBAAc,CAACE,IAAI;EACzB,MAAMC,WAAW,GAAGL,sBAAsB,KAAKE,uBAAc,CAACE,IAAI;EAClE,MAAME,mBAAmB,GAAGX,MAAM,CAAC1H,aAAa;EAChD,MAAMsI,QAAQ,GAAGZ,MAAM,CAACY,QAAQ;EAChC,MAAMC,iBAAiB,GAAGb,MAAM,CAACa,iBAAiB;EAClD,MAAMC,UAAU,GAAGd,MAAM,CAACc,UAAU;EACpC,MAAMC,SAAS,GAAGf,MAAM,CAACe,SAAS;EAClC,MAAMC,eAAe,GAAGF,UAAU,EAAEG,KAAK;EACzC,MAAMC,gBAAgB,GACpBJ,UAAU,IAAIV,QAAQ,GAAG,IAAIrP,GAAG,CAAiB,CAAC,GAAG,IAAI;EAC3D,MAAMoQ,SAAS,GAAG,CAACf,QAAQ,IAAIJ,MAAM,CAACmB,SAAS,KAAK,IAAI;EACxD,MAAMC,kBAAkB,GACtBpB,MAAM,CAACzM,KAAK,KAAKvB,qBAAY,CAACC,IAAI,IAAI+N,MAAM,CAACoB,kBAAkB,KAAK,IAAI;EAC1E,MAAMC,oBAAoB,GACxBrB,MAAM,CAACzM,KAAK,KAAKvB,qBAAY,CAACE,MAAM,IACpC8N,MAAM,CAACqB,oBAAoB,KAAK,IAAI,IACpC,CAACX,WAAW;EACd,MAAMY,YAAY,GAAGtB,MAAM,CAACsB,YAAiB;EAC7C,MAAMC,cAAqC,GACzCvB,MAAM,CAACzM,KAAK,KAAKvB,qBAAY,CAACC,IAAI,GAC9BD,qBAAY,CAACC,IAAI,GACjB+N,MAAM,CAACzM,KAAK,KAAKvB,qBAAY,CAACE,MAAM,GAClCF,qBAAY,CAACE,MAAM,GACnB,IAAI;EAEZ,IAAI4O,UAAU,IAAIA,UAAU,CAACG,KAAK,IAAI,CAAC,EAAE;IACvC,MAAM,IAAIzQ,KAAK,CAAC,0CAA0C,CAAC;EAC7D;EACA,IAAIwP,MAAM,CAACzM,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;IACxCrB,oBAAoB,CAACwP,sBAAsB,CAAC;IAC5C,IAAIM,mBAAmB,KAAK5L,SAAS,EAAE;MACrCpE,wBAAwB,CAACgQ,mBAAmB,CAAC;IAC/C;EACF;EAEA,MAAMxL,SAAS,GAAG,IAAIK,GAAG,CAAa,CAAC;EACvC,IAAIuD,WAAgC,GAAG,IAAI;EAC3C,IAAIyI,OAAgB,GAAGzM,SAAS;EAChC,IAAI0M,SAAwB;EAC5B,IAAIC,YAAY,GAAG,KAAK;EACxB,IAAIC,aAAwC,GAAG5M,SAAS;EAExD,MAAM6M,qBAAqB,GAAGA,CAAA,KAAM;IAClCJ,OAAO,GAAGzM,SAAS;IACnB0M,SAAS,GAAG1M,SAAS;IACrB2M,YAAY,GAAG,KAAK;IACpBC,aAAa,GAAG5M,SAAS;EAC3B,CAAC;EAED,MAAM8M,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAI9I,WAAW,EAAE;MACf;IACF;IAEA,MAAM3D,QAAQ,GAAGA,CAAA,KAAM;MACrBwM,qBAAqB,CAAC,CAAC;MACvBzM,SAAS,CAAC6B,OAAO,CAAE8K,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI1B,QAAQ,EAAE;MACZrH,WAAW,GAAGxD,cAAc,CAACzD,eAAe,EAAEmO,UAAU,EAAE7K,QAAQ,CAAC;MACnE;IACF;IAEA0D,6BAA6B,CAACyI,cAAe,CAAC;IAC9CxI,WAAW,GAAGxD,cAAc,CAC1BpB,kBAAkB,CAACoN,cAAe,CAAC,EACnCtB,UAAU,EACV7K,QACF,CAAC;EACH,CAAC;EAED,MAAM2M,aAAa,GAAGA,CAAA,KAAe;IACnC,IAAI3B,QAAQ,EAAE;MACZ,IAAIc,gBAAgB,EAAE;QACpB,MAAMc,SAAS,GAAGd,gBAAgB,CAACvN,GAAG,CAACsM,UAAU,CAAC;QAClD,IAAI+B,SAAS,KAAKjN,SAAS,IAAIiN,SAAS,IAAIxQ,IAAI,CAACF,GAAG,CAAC,CAAC,EAAE;UACtD4P,gBAAgB,CAAClM,MAAM,CAACiL,UAAU,CAAC;UACnCpO,WAAW,CAACmD,MAAM,CAACiL,UAAU,CAAC;UAC9BhL,kBAAkB,CAACnD,eAAe,EAAEmO,UAAU,CAAC;UAC/Cc,SAAS,GAAGd,UAAU,CAAC;UACvB,OAAOlL,SAAS;QAClB;MACF;MACA,OAAOlD,WAAW,CAAC8B,GAAG,CAACsM,UAAU,CAAC;IACpC;IAEA,IAAIsB,cAAc,KAAKvP,qBAAY,CAACC,IAAI,EAAE;MACxC,MAAMgQ,OAAO,GAAG5P,iBAAiB,CAACsB,GAAG,CAACsM,UAAU,CAAC;MACjD,IAAIgC,OAAO,KAAKlN,SAAS,EAAE;QACzB,OAAOkN,OAAO,CAAC/R,KAAK;MACtB;IACF;IAEA,IAAIqR,cAAc,KAAKvP,qBAAY,CAACE,MAAM,IAAI,CAACwO,WAAW,EAAE;MAC1D,MAAMuB,OAAO,GAAGzP,mBAAmB,CAACmB,GAAG,CAACsM,UAAU,CAAC;MACnD,IAAIgC,OAAO,KAAKlN,SAAS,EAAE;QACzB,OAAOkN,OAAO,CAAC/R,KAAK;MACtB;IACF;IAEA,IAAIiR,SAAS,EAAE;MACb,MAAMe,KAAK,GAAG9N,gBAAgB,CAACmN,cAAe,CAAC;MAC/C,MAAMY,MAAM,GAAGD,KAAK,CAACvO,GAAG,CAACsM,UAAU,CAAC;MACpC,IAAIkC,MAAM,KAAKpN,SAAS,IAAImN,KAAK,CAACzN,GAAG,CAACwL,UAAU,CAAC,EAAE;QACjD,OAAOkC,MAAM;MACf;IACF;IAEA,IAAIzB,WAAW,EAAE;MACf,OAAOhP,gBAAgB,CAAC,CAAC,CAAC0Q,kBAAkB,CAACnC,UAAU,CAAC;IAC1D;IAEA,MAAM1G,GAAG,GAAG7H,gBAAgB,CAAC,CAAC,CAACiC,GAAG,CAACsM,UAAU,EAAED,MAAM,CAACzM,KAAK,CAAC;IAC5Dc,aAAa,CAACkN,cAAc,EAAGtB,UAAU,EAAE1G,GAAG,CAAC;IAC/C,OAAOA,GAAG;EACZ,CAAC;EAED,MAAM8I,cAAc,GAAIC,QAAgB,IAAW;IACjD,MAAMvM,QAAQ,GAAGhB,SAAS;IAC1B,IAAI2L,WAAW,EAAE;MACfhP,gBAAgB,CAAC,CAAC,CAAC6Q,2BAA2B,CAC5CtC,UAAU,EACVqC,QAAQ,EACRjC,sBACF,CAAC;MACDzJ,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRuM,QAAQ,EACR,KAAK,EACL,QACF,CAAC;MACD;IACF;IAEAjO,aAAa,CAACkN,cAAc,EAAGtB,UAAU,EAAEqC,QAAQ,CAAC;IAEpD,IAAIf,cAAc,KAAKvP,qBAAY,CAACC,IAAI,EAAE;MACxC,IAAImP,kBAAkB,IAAI7O,eAAe,EAAE;QACzCoG,iBAAiB,CAACsH,UAAU,EAAEqC,QAAQ,CAAC;QACvC1L,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRuM,QAAQ,EACR,KAAK,EACL,QACF,CAAC;QACD;MACF;MAEA/K,qBAAqB,CAAC0I,UAAU,CAAC;IACnC;IAEA,IAAIoB,oBAAoB,EAAE;MACxBzI,mBAAmB,CACjBqH,UAAU,EACVqC,QAAQ,EACR3B,mBAAmB,IAAIjO,0BACzB,CAAC;MACDkE,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRuM,QAAQ,EACR,KAAK,EACL,QACF,CAAC;MACD;IACF;IAEA,IAAIf,cAAc,KAAKvP,qBAAY,CAACE,MAAM,EAAE;MAC1CsF,uBAAuB,CAACyI,UAAU,CAAC;MACnCvO,gBAAgB,CAAC,CAAC,CAACgH,sBAAsB,CACvCiI,mBAAmB,IAAIjO,0BACzB,CAAC;IACH;IAEAhB,gBAAgB,CAAC,CAAC,CAACkC,GAAG,CAACqM,UAAU,EAAEqC,QAAQ,EAAEtC,MAAM,CAACzM,KAAK,CAAC;IAC1DqD,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRuM,QAAQ,EACR,KAAK,EACL,QACF,CAAC;EACH,CAAC;EAED,MAAME,eAAe,GAAGA,CAAA,KAAY;IAClC,MAAMzM,QAAQ,GAAGJ,gBAAgB,CAACqK,MAAM,CAACzM,KAAK,EAAE0M,UAAU,CAAC;IAC3D,IAAIS,WAAW,EAAE;MACfhP,gBAAgB,CAAC,CAAC,CAAC+Q,qBAAqB,CAACxC,UAAU,CAAC;MACpDrJ,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRhB,SAAS,EACT,QAAQ,EACR,QACF,CAAC;MACD;IACF;IAEAV,aAAa,CAACkN,cAAc,EAAGtB,UAAU,EAAElL,SAAS,CAAC;IAErD,IAAIwM,cAAc,KAAKvP,qBAAY,CAACC,IAAI,EAAE;MACxC,IAAImP,kBAAkB,IAAI7O,eAAe,EAAE;QACzCoG,iBAAiB,CAACsH,UAAU,EAAElL,SAAS,CAAC;QACxC6B,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRhB,SAAS,EACT,QAAQ,EACR,QACF,CAAC;QACD;MACF;MAEAwC,qBAAqB,CAAC0I,UAAU,CAAC;IACnC;IAEA,IAAIoB,oBAAoB,EAAE;MACxBzI,mBAAmB,CACjBqH,UAAU,EACVlL,SAAS,EACT4L,mBAAmB,IAAIjO,0BACzB,CAAC;MACDkE,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRhB,SAAS,EACT,QAAQ,EACR,QACF,CAAC;MACD;IACF;IAEA,IAAIwM,cAAc,KAAKvP,qBAAY,CAACE,MAAM,EAAE;MAC1CsF,uBAAuB,CAACyI,UAAU,CAAC;IACrC;IAEAvO,gBAAgB,CAAC,CAAC,CAAC2H,MAAM,CAAC4G,UAAU,EAAED,MAAM,CAACzM,KAAK,CAAC;IACnDqD,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRhB,SAAS,EACT,QAAQ,EACR,QACF,CAAC;EACH,CAAC;EAED,MAAM2N,2BAA2B,GAAIxS,KAAQ,IAAW;IACtD,IAAIkQ,QAAQ,EAAE;MACZ,MAAMrK,QAAQ,GAAGJ,gBAAgB,CAACqK,MAAM,CAACzM,KAAK,EAAE0M,UAAU,CAAC;MAC3D,IAAIiB,gBAAgB,EAAE;QACpBA,gBAAgB,CAACtN,GAAG,CAACqM,UAAU,EAAEzO,IAAI,CAACF,GAAG,CAAC,CAAC,IAAI0P,eAAe,IAAI,CAAC,CAAC,CAAC;MACvE;MACAnP,WAAW,CAAC+B,GAAG,CAACqM,UAAU,EAAE/P,KAAK,CAAC;MAClC+E,kBAAkB,CAACnD,eAAe,EAAEmO,UAAU,CAAC;MAC/CrJ,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACR,OAAO7F,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG6E,SAAS,EAC7C,KAAK,EACL,QACF,CAAC;MACD;IACF;IAEA,MAAM4N,UAAU,GAAGzC,SAAS,CAAChQ,KAAK,CAAC;IACnC,IAAI4Q,UAAU,EAAE;MACd,MAAM8B,QAAwB,GAAG;QAC/BC,sBAAsB,EAAE,IAAI;QAC5Bb,SAAS,EAAExQ,IAAI,CAACF,GAAG,CAAC,CAAC,GAAGwP,UAAU,CAACG,KAAK;QACxC6B,OAAO,EAAEH;MACX,CAAC;MACDN,cAAc,CAACU,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC,CAAC;MACxC;IACF;IAEAP,cAAc,CAACM,UAAU,CAAC;EAC5B,CAAC;EAED,MAAMM,mBAAmB,GAAIC,YAAqB,IAAQ;IACxD,IAAIrC,iBAAiB,EAAE;MACrB,OAAOA,iBAAiB,CAACqC,YAAY,CAAC;IACxC;IAEA,OAAO5B,YAAY;EACrB,CAAC;EAED,MAAM6B,oBAAoB,GAAGA,CAC3BC,SAAkB,EAClBC,cAAuB,KACjB;IACN,IAAI,CAACzC,QAAQ,IAAIA,QAAQ,CAACwC,SAAS,CAAC,EAAE;MACpC,OAAOA,SAAS;IAClB;IAEA,MAAME,QAAQ,GAAGL,mBAAmB,CAACG,SAAS,CAAC;IAC/C,IAAIxC,QAAQ,IAAI,CAACA,QAAQ,CAAC0C,QAAQ,CAAC,EAAE;MACnC,OAAOhC,YAAY;IACrB;IACA,IAAI+B,cAAc,EAAE;MAClBX,2BAA2B,CAACY,QAAQ,CAAC;IACvC;IACA,OAAOA,QAAQ;EACjB,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAS;IAC3B,MAAMhK,GAAG,GAAGwI,aAAa,CAAC,CAAC;IAE3B,IAAI,CAACb,gBAAgB,IAAI3H,GAAG,KAAKiI,OAAO,IAAIE,YAAY,EAAE;MACxD,IAAI,CAACZ,UAAU,IAAIa,aAAa,KAAK,IAAI,EAAE;QACzC,OAAOF,SAAS;MAClB;MAEA,IAAI,OAAOE,aAAa,KAAK,QAAQ,EAAE;QACrC,IAAIA,aAAa,GAAGnQ,IAAI,CAACF,GAAG,CAAC,CAAC,EAAE;UAC9B,OAAOmQ,SAAS;QAClB;QAEAe,eAAe,CAAC,CAAC;QACjBZ,qBAAqB,CAAC,CAAC;QACvBb,SAAS,GAAGd,UAAU,CAAC;QACvBwB,SAAS,GAAG0B,oBAAoB,CAAC7B,YAAY,EAAE,KAAK,CAAC;QACrDI,YAAY,GAAG,IAAI;QACnBvM,SAAS,CAAC6B,OAAO,CAAEwM,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;QAC/B,OAAO/B,SAAS;MAClB;IACF;IAEAD,OAAO,GAAGjI,GAAG;IAEb,IAAIA,GAAG,KAAKxE,SAAS,EAAE;MACrB4M,aAAa,GAAG5M,SAAS;MACzB0M,SAAS,GAAG0B,oBAAoB,CAAC7B,YAAY,EAAE,KAAK,CAAC;MACrDI,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAIrB,QAAQ,EAAE;MACZuB,aAAa,GAAG5M,SAAS;MACzB0M,SAAS,GAAG0B,oBAAoB,CAAC5J,GAAG,EAAE,IAAI,CAAC;MAC3CmI,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAI,OAAOlI,GAAG,KAAK,QAAQ,EAAE;MAC3BoI,aAAa,GAAG5M,SAAS;MACzB0M,SAAS,GAAG0B,oBAAoB,CAAC7B,YAAY,EAAE,KAAK,CAAC;MACrDI,YAAY,GAAG,IAAI;MACnB,OAAOD,SAAS;IAClB;IAEA,IAAIgC,iBAAiB,GAAGlK,GAAG;IAE3B,IAAIuH,UAAU,EAAE;MACd,IAAI4C,iBAAgC,GAAG,IAAI;MAC3C,IAAI;QACF,MAAMjK,MAAM,GAAGsJ,IAAI,CAACY,KAAK,CAACpK,GAAG,CAAY;QACzC,IAAI,IAAAqK,0BAAgB,EAACnK,MAAM,CAAC,EAAE;UAC5BiK,iBAAiB,GAAGjK,MAAM,CAACuI,SAAS;UACpC,IAAIvI,MAAM,CAACuI,SAAS,IAAIxQ,IAAI,CAACF,GAAG,CAAC,CAAC,EAAE;YAClCkR,eAAe,CAAC,CAAC;YACjBZ,qBAAqB,CAAC,CAAC;YACvBb,SAAS,GAAGd,UAAU,CAAC;YACvBwB,SAAS,GAAG0B,oBAAoB,CAAC7B,YAAY,EAAE,KAAK,CAAC;YACrDI,YAAY,GAAG,IAAI;YACnBvM,SAAS,CAAC6B,OAAO,CAAEwM,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC;YAC/B,OAAO/B,SAAS;UAClB;UAEAgC,iBAAiB,GAAGhK,MAAM,CAACqJ,OAAO;QACpC;MACF,CAAC,CAAC,MAAM;QACN;MAAA;MAEFnB,aAAa,GAAG+B,iBAAiB;IACnC,CAAC,MAAM;MACL/B,aAAa,GAAG5M,SAAS;IAC3B;IAEA0M,SAAS,GAAG0B,oBAAoB,CAAChD,WAAW,CAACsD,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACtE/B,YAAY,GAAG,IAAI;IACnB,OAAOD,SAAS;EAClB,CAAC;EAED,MAAMoC,iBAAiB,GAAGA,CAAA,KAAsB;IAC9C,MAAMtK,GAAG,GAAGwI,aAAa,CAAC,CAAC;IAC3B,OAAO,IAAA+B,wBAAc,EAACvK,GAAG,CAAC;EAC5B,CAAC;EAED,MAAM5F,GAAG,GAAGA,CAAA,KACVK,gBAAgB,CAAC,UAAU,EAAEgM,MAAM,CAACzM,KAAK,EAAE,MAAMgQ,WAAW,CAAC,CAAC,CAAC;EAEjE,MAAMQ,cAAc,GAAGA,CAAA,KACrB/P,gBAAgB,CAAC,qBAAqB,EAAEgM,MAAM,CAACzM,KAAK,EAAE,OAAO;IAC3DrD,KAAK,EAAEqT,WAAW,CAAC,CAAC;IACpB3J,OAAO,EAAEiK,iBAAiB,CAAC;EAC7B,CAAC,CAAC,CAAC;EAEL,MAAMjQ,GAAG,GAAIhE,SAA+B,IAAW;IACrDoE,gBAAgB,CAAC,UAAU,EAAEgM,MAAM,CAACzM,KAAK,EAAE,MAAM;MAC/C,MAAMyC,QAAQ,GAAGrG,SAAS,CAACC,SAAS,CAAC,GACjCA,SAAS,CAAC2T,WAAW,CAAC,CAAC,CAAC,GACxB3T,SAAS;MAEb,IAAIgR,QAAQ,IAAI,CAACA,QAAQ,CAAC5K,QAAQ,CAAC,EAAE;QACnC,MAAM,IAAIxF,KAAK,CACb,8BAA8ByP,UAAU,eAAejO,qBAAY,CAACgO,MAAM,CAACzM,KAAK,CAAC,IACnF,CAAC;MACH;MAEAqO,qBAAqB,CAAC,CAAC;MACvBc,2BAA2B,CAAC1M,QAAQ,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC;EAED,MAAMgO,YAAY,GAAGA,CACnBpK,OAAuB,EACvBhK,SAA+B,KAE/BoE,gBAAgB,CAAC,mBAAmB,EAAEgM,MAAM,CAACzM,KAAK,EAAE,MAAM;IACxD,MAAM0Q,cAAc,GAAGJ,iBAAiB,CAAC,CAAC;IAC1C,IAAII,cAAc,KAAKrK,OAAO,EAAE;MAC9B,OAAO,KAAK;IACd;IACAhG,GAAG,CAAChE,SAAS,CAAC;IACd,OAAO,IAAI;EACb,CAAC,CAAC;EAEJ,MAAMsU,UAAU,GAAGA,CAAA,KAAY;IAC7BlQ,gBAAgB,CAAC,aAAa,EAAEgM,MAAM,CAACzM,KAAK,EAAE,MAAM;MAClDqO,qBAAqB,CAAC,CAAC;MAEvB,IAAIxB,QAAQ,EAAE;QACZ,MAAMrK,QAAQ,GAAGJ,gBAAgB,CAACqK,MAAM,CAACzM,KAAK,EAAE0M,UAAU,CAAC;QAC3D,IAAIiB,gBAAgB,EAAE;UACpBA,gBAAgB,CAAClM,MAAM,CAACiL,UAAU,CAAC;QACrC;QACApO,WAAW,CAACmD,MAAM,CAACiL,UAAU,CAAC;QAC9BhL,kBAAkB,CAACnD,eAAe,EAAEmO,UAAU,CAAC;QAC/CrJ,aAAa,CACXoJ,MAAM,CAACzM,KAAK,EACZ0M,UAAU,EACVlK,QAAQ,EACRhB,SAAS,EACT,QAAQ,EACR,QACF,CAAC;QACD;MACF;MAEAyN,eAAe,CAAC,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC;EAED,MAAM2B,OAAO,GAAGA,CAAA,KACdnQ,gBAAgB,CAAC,UAAU,EAAEgM,MAAM,CAACzM,KAAK,EAAE,MAAM;IAC/C,IAAI6M,QAAQ,EAAE,OAAOvO,WAAW,CAAC4C,GAAG,CAACwL,UAAU,CAAC;IAChD,IAAIS,WAAW,EAAE,OAAOhP,gBAAgB,CAAC,CAAC,CAACyM,kBAAkB,CAAC8B,UAAU,CAAC;IACzE,IAAIsB,cAAc,KAAKvP,qBAAY,CAACC,IAAI,EAAE;MACxC,MAAMgQ,OAAO,GAAG5P,iBAAiB,CAACsB,GAAG,CAACsM,UAAU,CAAC;MACjD,IAAIgC,OAAO,KAAKlN,SAAS,EAAE;QACzB,OAAOkN,OAAO,CAAC/R,KAAK,KAAK6E,SAAS;MACpC;IACF;IACA,IAAIwM,cAAc,KAAKvP,qBAAY,CAACE,MAAM,EAAE;MAC1C,MAAM+P,OAAO,GAAGzP,mBAAmB,CAACmB,GAAG,CAACsM,UAAU,CAAC;MACnD,IAAIgC,OAAO,KAAKlN,SAAS,EAAE;QACzB,OAAOkN,OAAO,CAAC/R,KAAK,KAAK6E,SAAS;MACpC;IACF;IACA,OAAOrD,gBAAgB,CAAC,CAAC,CAAC+C,GAAG,CAACwL,UAAU,EAAED,MAAM,CAACzM,KAAK,CAAC;EACzD,CAAC,CAAC;EAEJ,MAAMyG,SAAS,GAAI8H,QAAoB,IAAmB;IACxDD,kBAAkB,CAAC,CAAC;IACpB1M,SAAS,CAACM,GAAG,CAACqM,QAAQ,CAAC;IACvB,OAAO,MAAM;MACX3M,SAAS,CAACH,MAAM,CAAC8M,QAAQ,CAAC;MAC1B,IAAI3M,SAAS,CAACO,IAAI,KAAK,CAAC,IAAIqD,WAAW,EAAE;QACvCA,WAAW,CAAC,CAAC;QACb,IAAI,CAACqH,QAAQ,EAAE;UACbnH,mCAAmC,CAACsI,cAAe,CAAC;QACtD;QACAxI,WAAW,GAAG,IAAI;MACpB;IACF,CAAC;EACH,CAAC;EAED,MAAMqL,iBAAiB,GAAGA,CACxBC,QAAiC,EACjCjP,QAA4C,EAC5CqF,OAAmD,GAAG,CAAC,CAAC,KACvC;IACjB,MAAM6J,OAAO,GAAG7J,OAAO,CAAC6J,OAAO,IAAIvU,MAAM,CAACwU,EAAE;IAC5C,IAAIC,YAAY,GAAGH,QAAQ,CAACd,WAAW,CAAC,CAAC,CAAC;IAE1C,IAAI9I,OAAO,CAACgK,eAAe,KAAK,IAAI,EAAE;MACpCrP,QAAQ,CAACoP,YAAY,EAAEA,YAAY,CAAC;IACtC;IAEA,OAAOxK,SAAS,CAAC,MAAM;MACrB,MAAM0K,SAAS,GAAGL,QAAQ,CAACd,WAAW,CAAC,CAAC,CAAC;MACzC,IAAIe,OAAO,CAACE,YAAY,EAAEE,SAAS,CAAC,EAAE;QACpC;MACF;MAEA,MAAMC,aAAa,GAAGH,YAAY;MAClCA,YAAY,GAAGE,SAAS;MACxBtP,QAAQ,CAACsP,SAAS,EAAEC,aAAa,CAAC;IACpC,CAAC,CAAC;EACJ,CAAC;EAED,MAAMC,WAAmC,GAAG;IAC1CjR,GAAG;IACHoQ,cAAc;IACdnQ,GAAG;IACHoQ,YAAY;IACZhP,MAAM,EAAEkP,UAAU;IAClBzP,GAAG,EAAE0P,OAAO;IACZnK,SAAS;IACToK,iBAAiB;IACjBlE,SAAS;IACTC,WAAW;IACX0E,iBAAiB,EAAEA,CAAA,KAAM;MACvBjD,qBAAqB,CAAC,CAAC;MACvBzM,SAAS,CAAC6B,OAAO,CAAE5B,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD0P,0BAA0B,EAAEA,CAAA,KAAM;MAChClD,qBAAqB,CAAC,CAAC;IACzB,CAAC;IACDrC,cAAc,EAAEqB,QAAQ,KAAK7L,SAAS;IACtCuK,cAAc,EAAEwB,UAAU,KAAK/L,SAAS;IACxCgQ,iBAAiB,EAAE5D,SAAS;IAC5B3B,YAAY,EAAEkB,WAAW;IACzBsE,eAAe,EAAE3E,sBAAsB;IACvC4E,aAAa,EAAE3D,YAAY;IAC3B,IAAIX,mBAAmB,KAAK5L,SAAS,GACjC;MAAE0K,oBAAoB,EAAEkB;IAAoB,CAAC,GAC7C,CAAC,CAAC,CAAC;IACPpN,KAAK,EAAEyM,MAAM,CAACzM,KAAK;IACnBe,GAAG,EAAE2L;EACP,CAAC;EAED,OAAO2E,WAAW;AACpB;AAuBO,SAAShJ,QAAQA,CACtBsJ,KAAwC,EACxC3R,KAAmB,EACR;EACX,OAAOS,gBAAgB,CACrB,WAAW,EACXT,KAAK,EACL,MAAM;IACJ,IAAA4R,0BAAgB,EAACD,KAAK,EAAE3R,KAAK,CAAC;IAE9B,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;MACjC,OAAOsP,KAAK,CAACvO,GAAG,CAAEjH,IAAI,IAAKA,IAAI,CAACiE,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,MAAMyR,eAAe,GAAGF,KAAK,CAACG,KAAK,CAAE3V,IAAI,IACvC6D,KAAK,KAAKvB,qBAAY,CAACE,MAAM,GACzBwN,wBAAwB,CAAChQ,IAAI,CAAC,GAC9B2P,kBAAkB,CAAC3P,IAAI,CAC7B,CAAC;IACD,IAAI,CAAC0V,eAAe,EAAE;MACpB,OAAOF,KAAK,CAACvO,GAAG,CAAEjH,IAAI,IAAKA,IAAI,CAACiE,GAAG,CAAC,CAAC,CAAC;IACxC;IAEA,MAAM2R,SAAS,GAAG,IAAI3N,KAAK,CAAqBuN,KAAK,CAACnO,MAAM,CAAC;IAC7D,MAAMwO,WAAqB,GAAG,EAAE;IAChC,MAAMC,UAAoB,GAAG,EAAE;IAE/BN,KAAK,CAAClO,OAAO,CAAC,CAACtH,IAAI,EAAEoP,KAAK,KAAK;MAC7B,IAAIvL,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;QAC/B,MAAMgQ,OAAO,GAAG5P,iBAAiB,CAACsB,GAAG,CAACjE,IAAI,CAAC4E,GAAG,CAAC;QAC/C,IAAI2N,OAAO,KAAKlN,SAAS,EAAE;UACzBuQ,SAAS,CAACxG,KAAK,CAAC,GAAGmD,OAAO,CAAC/R,KAAK;UAChC;QACF;MACF;MAEA,IAAIqD,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;QACjC,MAAM+P,OAAO,GAAGzP,mBAAmB,CAACmB,GAAG,CAACjE,IAAI,CAAC4E,GAAG,CAAC;QACjD,IAAI2N,OAAO,KAAKlN,SAAS,EAAE;UACzBuQ,SAAS,CAACxG,KAAK,CAAC,GAAGmD,OAAO,CAAC/R,KAAK;UAChC;QACF;MACF;MAEA,IAAIR,IAAI,CAACqV,iBAAiB,KAAK,IAAI,EAAE;QACnC,MAAM7C,KAAK,GAAG9N,gBAAgB,CAACb,KAAK,CAAC;QACrC,MAAM4O,MAAM,GAAGD,KAAK,CAACvO,GAAG,CAACjE,IAAI,CAAC4E,GAAG,CAAC;QAClC,IAAI6N,MAAM,KAAKpN,SAAS,IAAImN,KAAK,CAACzN,GAAG,CAAC/E,IAAI,CAAC4E,GAAG,CAAC,EAAE;UAC/CgR,SAAS,CAACxG,KAAK,CAAC,GAAGqD,MAAM;UACzB;QACF;MACF;MAEAoD,WAAW,CAACvN,IAAI,CAACtI,IAAI,CAAC4E,GAAG,CAAC;MAC1BkR,UAAU,CAACxN,IAAI,CAAC8G,KAAK,CAAC;IACxB,CAAC,CAAC;IAEF,IAAIyG,WAAW,CAACxO,MAAM,GAAG,CAAC,EAAE;MAC1B,MAAM0O,aAAa,GAAG/T,gBAAgB,CAAC,CAAC,CACrCkK,QAAQ,CAAC2J,WAAW,EAAEhS,KAAK,CAAC,CAC5BoD,GAAG,CAAEzG,KAAK,IAAK,IAAA4L,gCAAsB,EAAC5L,KAAK,CAAC,CAAC;MAEhDuV,aAAa,CAACzO,OAAO,CAAC,CAAC9G,KAAK,EAAE4O,KAAK,KAAK;QACtC,MAAMxK,GAAG,GAAGiR,WAAW,CAACzG,KAAK,CAAC;QAC9B,MAAM4G,WAAW,GAAGF,UAAU,CAAC1G,KAAK,CAAC;QACrC,IAAIxK,GAAG,KAAKS,SAAS,IAAI2Q,WAAW,KAAK3Q,SAAS,EAAE;UAClD;QACF;QACAuQ,SAAS,CAACI,WAAW,CAAC,GAAGxV,KAAK;QAC9BmE,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAEpE,KAAK,CAAC;MAClC,CAAC,CAAC;IACJ;IAEA,OAAOgV,KAAK,CAACvO,GAAG,CAAC,CAACjH,IAAI,EAAEoP,KAAK,KAAK;MAChC,MAAMvF,GAAG,GAAG+L,SAAS,CAACxG,KAAK,CAAC;MAC5B,IAAIvF,GAAG,KAAKxE,SAAS,EAAE;QACrB,OAAOtF,UAAU,CAACC,IAA4B,CAAC,CAACuV,aAAa;MAC/D;MACA,OAAOvV,IAAI,CAACyQ,WAAW,CAAC5G,GAAG,CAAC;IAC9B,CAAC,CAAC;EACJ,CAAC,EACD2L,KAAK,CAACnO,MACR,CAAC;AACH;AAEO,SAASmB,QAAQA,CACtBgN,KAAwC,EACxC3R,KAAmB,EACb;EACNS,gBAAgB,CACd,WAAW,EACXT,KAAK,EACL,MAAM;IACJ,IAAA4R,0BAAgB,EACdD,KAAK,CAACvO,GAAG,CAAEgP,UAAU,IAAKA,UAAU,CAACjW,IAAI,CAAC,EAC1C6D,KACF,CAAC;IAED,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;MACjC;MACA,MAAMgQ,mBAAmB,GAAGV,KAAK,CAACW,IAAI,CAAC,CAAC;QAAEnW;MAAK,CAAC,KAAK;QACnD,MAAMoW,QAAQ,GAAGrW,UAAU,CAACC,IAA4B,CAAC;QACzD,OAAOoW,QAAQ,CAACvG,cAAc,IAAIuG,QAAQ,CAACxG,cAAc;MAC3D,CAAC,CAAC;MAEF,IAAIsG,mBAAmB,EAAE;QACvB;QACAV,KAAK,CAAClO,OAAO,CAAC,CAAC;UAAEtH,IAAI;UAAEQ;QAAM,CAAC,KAAKR,IAAI,CAACkE,GAAG,CAAC1D,KAAK,CAAC,CAAC;QACnD;MACF;MAEA,MAAMwG,OAAO,GAAGwO,KAAK,CAACvO,GAAG,CAAC,CAAC;QAAEjH,IAAI;QAAEQ;MAAM,CAAC,KACxC4F,eAAe,CACbvC,KAAK,EACL7D,IAAI,CAAC4E,GAAG,EACRqB,gBAAgB,CAACpC,KAAK,EAAE7D,IAAI,CAAC4E,GAAG,CAAC,EACjC,OAAOpE,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG6E,SAAS,EAC7C,UAAU,EACV,QACF,CACF,CAAC;;MAED;MACAmQ,KAAK,CAAClO,OAAO,CAAC,CAAC;QAAEtH,IAAI;QAAEQ;MAAM,CAAC,KAAK;QACjC2B,WAAW,CAAC+B,GAAG,CAAClE,IAAI,CAAC4E,GAAG,EAAEpE,KAAK,CAAC;QAChCT,UAAU,CAACC,IAA4B,CAAC,CAACoV,0BAA0B,CAAC,CAAC;MACvE,CAAC,CAAC;MACFI,KAAK,CAAClO,OAAO,CAAC,CAAC;QAAEtH;MAAK,CAAC,KACrBuF,kBAAkB,CAACnD,eAAe,EAAEpC,IAAI,CAAC4E,GAAG,CAC9C,CAAC;MACDwC,eAAe,CAACvD,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAEmD,OAAO,CAAC;MACrD;IACF;IAEA,IAAInD,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;MACjC,MAAM6T,aAAa,GAAGb,KAAK,CAACvO,GAAG,CAAC,CAAC;QAAEjH,IAAI;QAAEQ;MAAM,CAAC,MAAM;QACpDR,IAAI;QACJQ,KAAK;QACL4V,QAAQ,EAAErW,UAAU,CAACC,IAAI;MAC3B,CAAC,CAAC,CAAC;MACH,MAAMsW,qBAAqB,GAAGD,aAAa,CAACV,KAAK,CAAC,CAAC;QAAES;MAAS,CAAC,KAC7DpG,wBAAwB,CAACoG,QAAQ,CACnC,CAAC;MACD,IAAI,CAACE,qBAAqB,EAAE;QAC1Bd,KAAK,CAAClO,OAAO,CAAC,CAAC;UAAEtH,IAAI;UAAEQ;QAAM,CAAC,KAAKR,IAAI,CAACkE,GAAG,CAAC1D,KAAK,CAAC,CAAC;QACnD;MACF;MAEAkI,iBAAiB,CAAC,CAAC;MACnB,MAAMH,aAAa,GAAGvG,gBAAgB,CAAC,CAAC;MACxC,MAAM1B,IAAI,GAAG+V,aAAa,CAACpP,GAAG,CAAC,CAAC;QAAEjH;MAAK,CAAC,KAAKA,IAAI,CAAC4E,GAAG,CAAC;MACtD,MAAM2R,SAAS,GAAG5P,6BAA6B,CAAC9C,KAAK,CAAC,GACjD0E,aAAa,CAAC2D,QAAQ,CAAC5L,IAAI,EAAEuD,KAAK,CAAC,IAAI,EAAE,GAC1C,EAAE;MACN,MAAM2S,sBAAsB,GAAG,IAAInV,GAAG,CAGpC,CAAC;MAEHgV,aAAa,CAAC/O,OAAO,CAAC,CAAC;QAAEtH,IAAI;QAAEQ,KAAK;QAAE4V;MAAS,CAAC,KAAK;QACnD,MAAMxN,aAAa,GACjBwN,QAAQ,CAACrG,oBAAoB,IAAI/M,0BAA0B;QAC7D,MAAM8F,aAAa,GAAG0N,sBAAsB,CAACvS,GAAG,CAAC2E,aAAa,CAAC;QAC/D,MAAMG,KAAK,GAAGD,aAAa,IAAI;UAAExI,IAAI,EAAE,EAAE;UAAEsF,MAAM,EAAE;QAAG,CAAC;QACvDmD,KAAK,CAACzI,IAAI,CAACgI,IAAI,CAACtI,IAAI,CAAC4E,GAAG,CAAC;QACzBmE,KAAK,CAACnD,MAAM,CAAC0C,IAAI,CAACtI,IAAI,CAACwQ,SAAS,CAAChQ,KAAK,CAAC,CAAC;QACxC,IAAI,CAACsI,aAAa,EAAE;UAClB0N,sBAAsB,CAACtS,GAAG,CAAC0E,aAAa,EAAEG,KAAK,CAAC;QAClD;MACF,CAAC,CAAC;MAEFyN,sBAAsB,CAAClP,OAAO,CAAC,CAACyB,KAAK,EAAEH,aAAa,KAAK;QACvDL,aAAa,CAACS,sBAAsB,CAACJ,aAAa,CAAC;QACnDL,aAAa,CAACC,QAAQ,CAACO,KAAK,CAACzI,IAAI,EAAEyI,KAAK,CAACnD,MAAM,EAAE/B,KAAK,CAAC;QACvDkF,KAAK,CAACzI,IAAI,CAACgH,OAAO,CAAC,CAAC1C,GAAG,EAAEwK,KAAK,KAC5BzK,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAEmE,KAAK,CAACnD,MAAM,CAACwJ,KAAK,CAAC,CAC/C,CAAC;MACH,CAAC,CAAC;MACFhI,eAAe,CACbvD,KAAK,EACL,UAAU,EACV,QAAQ,EACRwS,aAAa,CAACpP,GAAG,CAAC,CAAC;QAAEjH,IAAI;QAAEQ;MAAM,CAAC,EAAE4O,KAAK,KACvChJ,eAAe,CACbvC,KAAK,EACL7D,IAAI,CAAC4E,GAAG,EACR2R,SAAS,CAACnH,KAAK,CAAC,EAChBpP,IAAI,CAACwQ,SAAS,CAAChQ,KAAK,CAAC,EACrB,UAAU,EACV,QACF,CACF,CACF,CAAC;MACD;IACF;IAEAuH,eAAe,CAAC,CAAC;IAEjB,MAAM2N,eAAe,GAAGF,KAAK,CAACG,KAAK,CAAC,CAAC;MAAE3V;IAAK,CAAC,KAC3C2P,kBAAkB,CAAC5P,UAAU,CAACC,IAAI,CAAC,CACrC,CAAC;IACD,IAAI,CAAC0V,eAAe,EAAE;MACpBF,KAAK,CAAClO,OAAO,CAAC,CAAC;QAAEtH,IAAI;QAAEQ;MAAM,CAAC,KAAKR,IAAI,CAACkE,GAAG,CAAC1D,KAAK,CAAC,CAAC;MACnD;IACF;IAEA,MAAMF,IAAI,GAAGkV,KAAK,CAACvO,GAAG,CAAEwP,KAAK,IAAKA,KAAK,CAACzW,IAAI,CAAC4E,GAAG,CAAC;IACjD,MAAMgB,MAAM,GAAG4P,KAAK,CAACvO,GAAG,CAAEwP,KAAK,IAAKA,KAAK,CAACzW,IAAI,CAACwQ,SAAS,CAACiG,KAAK,CAACjW,KAAK,CAAC,CAAC;IACtE,MAAM+V,SAAS,GAAG5P,6BAA6B,CAAC9C,KAAK,CAAC,GACjD7B,gBAAgB,CAAC,CAAC,CAACkK,QAAQ,CAAC5L,IAAI,EAAEuD,KAAK,CAAC,IAAI,EAAE,GAC/C,EAAE;IAEN7B,gBAAgB,CAAC,CAAC,CAACwG,QAAQ,CAAClI,IAAI,EAAEsF,MAAM,EAAE/B,KAAK,CAAC;IAChDvD,IAAI,CAACgH,OAAO,CAAC,CAAC1C,GAAG,EAAEwK,KAAK,KAAKzK,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAEgB,MAAM,CAACwJ,KAAK,CAAC,CAAC,CAAC;IACtEhI,eAAe,CACbvD,KAAK,EACL,UAAU,EACV,QAAQ,EACRvD,IAAI,CAAC2G,GAAG,CAAC,CAACrC,GAAG,EAAEwK,KAAK,KAClBhJ,eAAe,CACbvC,KAAK,EACLe,GAAG,EACH2R,SAAS,CAACnH,KAAK,CAAC,EAChBxJ,MAAM,CAACwJ,KAAK,CAAC,EACb,UAAU,EACV,QACF,CACF,CACF,CAAC;EACH,CAAC,EACDoG,KAAK,CAACnO,MACR,CAAC;AACH;AAEO,SAASoB,WAAWA,CACzB+M,KAAiC,EACjC3R,KAAmB,EACb;EACNS,gBAAgB,CACd,cAAc,EACdT,KAAK,EACL,MAAM;IACJ,IAAA4R,0BAAgB,EAACD,KAAK,EAAE3R,KAAK,CAAC;IAE9B,IAAIA,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;MACjC,MAAMc,OAAO,GAAGwO,KAAK,CAACvO,GAAG,CAAEjH,IAAI,IAC7BoG,eAAe,CACbvC,KAAK,EACL7D,IAAI,CAAC4E,GAAG,EACRqB,gBAAgB,CAACpC,KAAK,EAAE7D,IAAI,CAAC4E,GAAG,CAAC,EACjCS,SAAS,EACT,aAAa,EACb,QACF,CACF,CAAC;MACDmQ,KAAK,CAAClO,OAAO,CAAEtH,IAAI,IAAKA,IAAI,CAACsF,MAAM,CAAC,CAAC,CAAC;MACtC8B,eAAe,CAACvD,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAEmD,OAAO,CAAC;MACxD;IACF;IAEA,MAAM1G,IAAI,GAAGkV,KAAK,CAACvO,GAAG,CAAEjH,IAAI,IAAKA,IAAI,CAAC4E,GAAG,CAAC;IAC1C,IAAIf,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;MAC/BwF,eAAe,CAAC,CAAC;IACnB;IACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;MACjCkG,iBAAiB,CAAC,CAAC;IACrB;IACA,MAAM6N,SAAS,GAAG5P,6BAA6B,CAAC9C,KAAK,CAAC,GACjD7B,gBAAgB,CAAC,CAAC,CAACkK,QAAQ,CAAC5L,IAAI,EAAEuD,KAAK,CAAC,IAAI,EAAE,GAC/C,EAAE;IACN7B,gBAAgB,CAAC,CAAC,CAACyG,WAAW,CAACnI,IAAI,EAAEuD,KAAK,CAAC;IAC3CvD,IAAI,CAACgH,OAAO,CAAE1C,GAAG,IAAKD,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAES,SAAS,CAAC,CAAC;IAC3D+B,eAAe,CACbvD,KAAK,EACL,aAAa,EACb,QAAQ,EACRvD,IAAI,CAAC2G,GAAG,CAAC,CAACrC,GAAG,EAAEwK,KAAK,KAClBhJ,eAAe,CACbvC,KAAK,EACLe,GAAG,EACH2R,SAAS,CAACnH,KAAK,CAAC,EAChB/J,SAAS,EACT,aAAa,EACb,QACF,CACF,CACF,CAAC;EACH,CAAC,EACDmQ,KAAK,CAACnO,MACR,CAAC;AACH;AAEO,SAASqP,iBAAiBA,CAACxM,OAAe,EAAEyM,SAAoB,EAAQ;EAC7E,IAAI,CAAC/V,MAAM,CAACgW,SAAS,CAAC1M,OAAO,CAAC,IAAIA,OAAO,IAAI,CAAC,EAAE;IAC9C,MAAM,IAAIpJ,KAAK,CAAC,+CAA+C,CAAC;EAClE;EAEA,IAAIM,oBAAoB,CAAC2D,GAAG,CAACmF,OAAO,CAAC,EAAE;IACrC,MAAM,IAAIpJ,KAAK,CAAC,qBAAqBoJ,OAAO,yBAAyB,CAAC;EACxE;EAEA9I,oBAAoB,CAAC8C,GAAG,CAACgG,OAAO,EAAEyM,SAAS,CAAC;AAC9C;AAEO,SAASE,eAAeA,CAC7BhT,KAAmB,GAAGvB,qBAAY,CAACC,IAAI,EAC/B;EACR,OAAO+B,gBAAgB,CAAC,eAAe,EAAET,KAAK,EAAE,MAAM;IACpD,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;IACvB,MAAM0Q,cAAc,GAAG3K,oBAAoB,CAAC/F,KAAK,CAAC;IAClD,MAAMiT,QAAQ,GAAG7O,KAAK,CAACC,IAAI,CAAC9G,oBAAoB,CAACd,IAAI,CAAC,CAAC,CAAC,CACrDgL,MAAM,CAAEpB,OAAO,IAAKA,OAAO,GAAGqK,cAAc,CAAC,CAC7CwC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;IAExB,IAAIC,cAAc,GAAG3C,cAAc;IACnC,MAAM4C,OAAyB,GAAG;MAChCtT,KAAK;MACLuT,MAAM,EAAGxS,GAAG,IAAKuB,WAAW,CAACvB,GAAG,EAAEf,KAAK,CAAC;MACxCwT,MAAM,EAAEA,CAACzS,GAAG,EAAEpE,KAAK,KAAKiJ,WAAW,CAAC7E,GAAG,EAAEpE,KAAK,EAAEqD,KAAK,CAAC;MACtDyT,SAAS,EAAG1S,GAAG,IAAK8E,cAAc,CAAC9E,GAAG,EAAEf,KAAK;IAC/C,CAAC;IAEDiT,QAAQ,CAACxP,OAAO,CAAE4C,OAAO,IAAK;MAC5B,MAAMyM,SAAS,GAAGvV,oBAAoB,CAAC6C,GAAG,CAACiG,OAAO,CAAC;MACnD,IAAI,CAACyM,SAAS,EAAE;QACd;MACF;MACAA,SAAS,CAACQ,OAAO,CAAC;MAClBD,cAAc,GAAGhN,OAAO;IAC1B,CAAC,CAAC;IAEF,IAAIgN,cAAc,KAAK3C,cAAc,EAAE;MACrCtK,qBAAqB,CAACpG,KAAK,EAAEqT,cAAc,CAAC;IAC9C;IAEA,OAAOA,cAAc;EACvB,CAAC,CAAC;AACJ;AAEO,SAASK,cAAcA,CAC5B1T,KAAmB,EACnB2T,WAA+C,EAC5C;EACH,OAAOlT,gBAAgB,CAAC,iBAAiB,EAAET,KAAK,EAAE,MAAM;IACtD,IAAA2F,0BAAgB,EAAC3F,KAAK,CAAC;IACvB,IAAIA,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;MAC/BwF,eAAe,CAAC,CAAC;IACnB;IACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;MACjCkG,iBAAiB,CAAC,CAAC;IACrB;IAEA,MAAM+O,OAAO,GAAGC,MAAM,CAAC,CAAC;IACxB,MAAMC,QAAQ,GAAG,IAAItW,GAAG,CAAyB,CAAC;IAElD,MAAMuW,gBAAgB,GAAGA,CACvBhT,GAAW,EACX5E,IAAkD,KAC/C;MACH,IAAI2X,QAAQ,CAAC5S,GAAG,CAACH,GAAG,CAAC,EAAE;QACrB;MACF;MACA,IAAIf,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjCyR,QAAQ,CAACzT,GAAG,CAACU,GAAG,EAAE;UAChB+J,IAAI,EAAE,QAAQ;UACdnO,KAAK,EAAE2B,WAAW,CAAC4C,GAAG,CAACH,GAAG,CAAC,GAAGzC,WAAW,CAAC8B,GAAG,CAACW,GAAG,CAAC,GAAG6S;QACvD,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAMrB,QAAQ,GAAGpW,IAAI,GAChBA,IAAI,GACLqF,SAAS;QACb,IAAIxB,KAAK,KAAKvB,qBAAY,CAACE,MAAM,IAAI4T,QAAQ,EAAEtG,YAAY,KAAK,IAAI,EAAE;UACpE6H,QAAQ,CAACzT,GAAG,CAACU,GAAG,EAAE;YAChB+J,IAAI,EAAE,WAAW;YACjBnO,KAAK,EAAEwB,gBAAgB,CAAC,CAAC,CAAC0Q,kBAAkB,CAAC9N,GAAG,CAAC;YACjD1D,KAAK,EAAEkV,QAAQ,CAACd;UAClB,CAAC,CAAC;UACF;QACF;QACAqC,QAAQ,CAACzT,GAAG,CAACU,GAAG,EAAE;UAChB+J,IAAI,EAAE,KAAK;UACXnO,KAAK,EAAE2F,WAAW,CAACvB,GAAG,EAAEf,KAAK,CAAC;UAC9B,IAAIA,KAAK,KAAKvB,qBAAY,CAACE,MAAM,IACjC4T,QAAQ,EAAErG,oBAAoB,KAAK1K,SAAS,GACxC;YAAEuD,aAAa,EAAEwN,QAAQ,CAACrG;UAAqB,CAAC,GAChD,CAAC,CAAC;QACR,CAAC,CAAC;MACJ;IACF,CAAC;IAED,MAAM8H,EAAsB,GAAG;MAC7BhU,KAAK;MACLuT,MAAM,EAAGxS,GAAG,IAAKuB,WAAW,CAACvB,GAAG,EAAEf,KAAK,CAAC;MACxCwT,MAAM,EAAEA,CAACzS,GAAG,EAAEpE,KAAK,KAAK;QACtBoX,gBAAgB,CAAChT,GAAG,CAAC;QACrB6E,WAAW,CAAC7E,GAAG,EAAEpE,KAAK,EAAEqD,KAAK,CAAC;MAChC,CAAC;MACDyT,SAAS,EAAG1S,GAAG,IAAK;QAClBgT,gBAAgB,CAAChT,GAAG,CAAC;QACrB8E,cAAc,CAAC9E,GAAG,EAAEf,KAAK,CAAC;MAC5B,CAAC;MACDiU,OAAO,EAAG9X,IAAI,IAAK;QACjB,IAAAyV,0BAAgB,EAAC,CAACzV,IAAI,CAAC,EAAE6D,KAAK,CAAC;QAC/B,OAAO7D,IAAI,CAACiE,GAAG,CAAC,CAAC;MACnB,CAAC;MACD8T,OAAO,EAAEA,CAAC/X,IAAI,EAAEQ,KAAK,KAAK;QACxB,IAAAiV,0BAAgB,EAAC,CAACzV,IAAI,CAAC,EAAE6D,KAAK,CAAC;QAC/B+T,gBAAgB,CAAC5X,IAAI,CAAC4E,GAAG,EAAE5E,IAAI,CAAC;QAChCA,IAAI,CAACkE,GAAG,CAAC1D,KAAK,CAAC;MACjB,CAAC;MACDwX,UAAU,EAAGhY,IAAI,IAAK;QACpB,IAAAyV,0BAAgB,EAAC,CAACzV,IAAI,CAAC,EAAE6D,KAAK,CAAC;QAC/B+T,gBAAgB,CAAC5X,IAAI,CAAC4E,GAAG,EAAE5E,IAAI,CAAC;QAChCA,IAAI,CAACsF,MAAM,CAAC,CAAC;MACf;IACF,CAAC;IAED,IAAI;MACF,OAAOkS,WAAW,CAACK,EAAE,CAAC;IACxB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAMC,eAAe,GAAGjQ,KAAK,CAACC,IAAI,CAACyP,QAAQ,CAACQ,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MAChE,IAAIvU,KAAK,KAAKvB,qBAAY,CAAC4D,MAAM,EAAE;QACjCgS,eAAe,CAAC5Q,OAAO,CAAC,CAAC,CAAC1C,GAAG,EAAExE,MAAM,CAAC,KAAK;UACzC,IAAIA,MAAM,CAACI,KAAK,KAAKiX,OAAO,EAAE;YAC5BtV,WAAW,CAACmD,MAAM,CAACV,GAAG,CAAC;UACzB,CAAC,MAAM;YACLzC,WAAW,CAAC+B,GAAG,CAACU,GAAG,EAAExE,MAAM,CAACI,KAAK,CAAC;UACpC;UACA+E,kBAAkB,CAACnD,eAAe,EAAEwC,GAAG,CAAC;QAC1C,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAMyT,gBAAgB,GAAG,IAAIhX,GAAG,CAG9B,CAAC;QACH,MAAMgH,YAAsB,GAAG,EAAE;QAEjC6P,eAAe,CAAC5Q,OAAO,CAAC,CAAC,CAAC1C,GAAG,EAAExE,MAAM,CAAC,KAAK;UACzC,IAAIA,MAAM,CAACuO,IAAI,KAAK,WAAW,EAAE;YAC/B,IAAIvO,MAAM,CAACI,KAAK,KAAK6E,SAAS,EAAE;cAC9BrD,gBAAgB,CAAC,CAAC,CAAC+Q,qBAAqB,CAACnO,GAAG,CAAC;YAC/C,CAAC,MAAM;cACL5C,gBAAgB,CAAC,CAAC,CAAC6Q,2BAA2B,CAC5CjO,GAAG,EACHxE,MAAM,CAACI,KAAK,EACZJ,MAAM,CAACc,KACT,CAAC;YACH;YACA;UACF;UACA,IAAId,MAAM,CAACuO,IAAI,KAAK,KAAK,EAAE;YACzB;UACF;UACA,IAAIvO,MAAM,CAACI,KAAK,KAAK6E,SAAS,EAAE;YAC9BgD,YAAY,CAACC,IAAI,CAAC1D,GAAG,CAAC;UACxB,CAAC,MAAM;YACL,MAAMgE,aAAa,GACjBxI,MAAM,CAACwI,aAAa,IAAI5F,0BAA0B;YACpD,MAAM8F,aAAa,GAAGuP,gBAAgB,CAACpU,GAAG,CAAC2E,aAAa,CAAC;YACzD,MAAMG,KAAK,GAAGD,aAAa,IAAI;cAAExI,IAAI,EAAE,EAAE;cAAEsF,MAAM,EAAE;YAAG,CAAC;YACvDmD,KAAK,CAACzI,IAAI,CAACgI,IAAI,CAAC1D,GAAG,CAAC;YACpBmE,KAAK,CAACnD,MAAM,CAAC0C,IAAI,CAAClI,MAAM,CAACI,KAAK,CAAC;YAC/B,IAAI,CAACsI,aAAa,EAAE;cAClBuP,gBAAgB,CAACnU,GAAG,CAAC0E,aAAa,EAAEG,KAAK,CAAC;YAC5C;UACF;QACF,CAAC,CAAC;QAEF,IAAIlF,KAAK,KAAKvB,qBAAY,CAACC,IAAI,EAAE;UAC/BwF,eAAe,CAAC,CAAC;QACnB;QACA,IAAIlE,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;UACjCkG,iBAAiB,CAAC,CAAC;QACrB;QACA2P,gBAAgB,CAAC/Q,OAAO,CAAC,CAACyB,KAAK,EAAEH,aAAa,KAAK;UACjD,IAAI/E,KAAK,KAAKvB,qBAAY,CAACE,MAAM,EAAE;YACjCR,gBAAgB,CAAC,CAAC,CAACgH,sBAAsB,CAACJ,aAAa,CAAC;UAC1D;UACA5G,gBAAgB,CAAC,CAAC,CAACwG,QAAQ,CAACO,KAAK,CAACzI,IAAI,EAAEyI,KAAK,CAACnD,MAAM,EAAE/B,KAAK,CAAC;UAC5DkF,KAAK,CAACzI,IAAI,CAACgH,OAAO,CAAC,CAAC1C,GAAG,EAAEwK,KAAK,KAC5BzK,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAEmE,KAAK,CAACnD,MAAM,CAACwJ,KAAK,CAAC,CAC/C,CAAC;QACH,CAAC,CAAC;QACF,IAAI/G,YAAY,CAAChB,MAAM,GAAG,CAAC,EAAE;UAC3BrF,gBAAgB,CAAC,CAAC,CAACyG,WAAW,CAACJ,YAAY,EAAExE,KAAK,CAAC;UACnDwE,YAAY,CAACf,OAAO,CAAE1C,GAAG,IAAKD,aAAa,CAACd,KAAK,EAAEe,GAAG,EAAES,SAAS,CAAC,CAAC;QACrE;MACF;MACA,MAAM4S,KAAK;IACb;EACF,CAAC,CAAC;AACJ;AAYO,SAASK,qBAAqBA,CAACC,GAAY,EAAW;EAC3D,OAAO,IAAAC,wCAAwB,EAAC,IAAAC,mCAAmB,EAACF,GAAG,CAAC,CAAC;AAC3D;AAEO,SAASG,uBAAuBA,CACrCpI,MAAkC,EAClCvF,OAAgC,EACA;EAChC,MAAM4N,EAAE,GAAG5N,OAAO,EAAEJ,SAAS,IAAI,MAAM;EACvC,MAAMsB,MAA+C,GAAG,CAAC,CAAC;EAE1D,KAAK,MAAMrH,GAAG,IAAIzE,SAAS,CAACmQ,MAAM,CAAC,EAAE;IACnC,MAAMsI,UAAU,GAAGtI,MAAM,CAAC1L,GAAG,CAAC;IAC9B,MAAMiU,gBAAgB,GACpBD,UAAU,CAACrH,KAAK,KAAKlM,SAAS,GAAG;MAAEkM,KAAK,EAAEqH,UAAU,CAACrH;IAAM,CAAC,GAAGlM,SAAS;IAC1E4G,MAAM,CAACrH,GAAG,CAAC,GAAGyL,iBAAiB,CAAS;MACtCzL,GAAG;MACHf,KAAK,EAAEvB,qBAAY,CAACE,MAAM;MAC1BoP,YAAY,EAAE,EAAE;MAChBjH,SAAS,EAAEgO,EAAE;MACb,IAAIC,UAAU,CAAC7K,SAAS,KAAK1I,SAAS,GAClC;QAAE0I,SAAS,EAAE6K,UAAU,CAAC7K;MAAU,CAAC,GACnC,CAAC,CAAC,CAAC;MACP,IAAI6K,UAAU,CAAChI,cAAc,KAAKvL,SAAS,GACvC;QAAEuL,cAAc,EAAEgI,UAAU,CAAChI;MAAe,CAAC,GAC7C,CAAC,CAAC,CAAC;MACP,IAAIgI,UAAU,CAAChQ,aAAa,KAAKvD,SAAS,GACtC;QAAEuD,aAAa,EAAEgQ,UAAU,CAAChQ;MAAc,CAAC,GAC3C,CAAC,CAAC,CAAC;MACP,IAAIiQ,gBAAgB,KAAKxT,SAAS,GAC9B;QAAE+L,UAAU,EAAEyH;MAAiB,CAAC,GAChC,CAAC,CAAC;IACR,CAAC,CAAC;EACJ;EAEA,OAAO5M,MAAM;AACf","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeNitroModules","require","_Storage","_internal","_storageRuntime","_storageEvents","_migration","_storageHooks","_indexeddbBackend","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","NitroModules","createHybridObject","memoryStore","memoryListeners","scopedListeners","StorageScope","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","AccessControl","WhenUnlocked","suppressedNativeEvents","metricsObserver","eventObserver","eventObserverRedactSecureValues","metricsCounters","storageEvents","StorageEventRegistry","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","undefined","delete","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","size","getEventRawValue","Memory","getRawValue","createKeyChange","oldValue","newValue","source","type","hasStorageChangeObservers","hasListeners","shouldReadPreviousEventValues","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","eventForGlobalObserver","changes","map","emitKeyChange","emitKey","emitBatchChange","length","forEach","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","push","storageModule","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","assertValidScope","setRawValue","removeRawValue","remove","readMigrationVersion","raw","MIGRATION_VERSION_KEY","parsed","parseInt","writeMigrationVersion","version","String","storage","exports","subscribe","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","prefixKey","setEventObserver","observer","options","redactSecureValues","previousValues","getAll","clearAll","clearNamespace","affectedKeys","filter","isNamespaced","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","startsWith","result","getBatch","idx","decodeNativeBatchValue","val","export","includeSecureValues","exportSecureUnsafe","setAccessControl","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","serializeWithPrimitiveFastPath","defaultDeserialize","deserializeWithPrimitiveFastPath","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","isStoredEnvelope","getCurrentVersion","toVersionToken","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_biometricLevel","_defaultValue","items","assertBatchScope","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","groupedKeysToSet","isKeychainLockedError","err","isLockedStorageErrorCode","getStorageErrorCode","createSecureAuthStorage","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","useStorage","item","value","useSyncExternalStore","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","useStorage","item","value","useSyncExternalStore","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","useRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUO,SAASC,UAAUA,CAAIC,IAAwB,EAAyB;EAC7E,MAAMC,KAAK,GAAG,IAAAC,2BAAoB,EAACF,IAAI,CAACG,SAAS,EAAEH,IAAI,CAACI,GAAG,EAAEJ,IAAI,CAACI,GAAG,CAAC;EACtE,OAAO,CAACH,KAAK,EAAED,IAAI,CAACK,GAAG,CAAC;AAC1B;AAEO,SAASC,kBAAkBA,CAChCN,IAAwB,EACxBO,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACnC;EAC/B,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAExB;IACAC,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGR,QAAQ,CAACP,IAAI,CAACI,GAAG,CAAC,CAAC,CAAC;IACzC,MAAMY,OAAO,GAAGL,WAAW,CAACK,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIL,OAAO,CAACQ,OAAO,CAACf,KAAK,EAAEc,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACf,KAAK;IACtB;IAEAU,WAAW,CAACK,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAEZ,KAAK,EAAEc;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAG,IAAAf,2BAAoB,EACxCF,IAAI,CAACG,SAAS,EACdW,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEjB,IAAI,CAACK,GAAG,CAAC;AAClC;AAEO,SAASa,aAAaA,CAAIlB,IAAwB,EAAoB;EAC3E,OAAOA,IAAI,CAACK,GAAG;AACjB","ignoreList":[]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","decodeNativeBatchValue","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","getStorageErrorCode","isLockedStorageErrorCode","StorageEventRegistry","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","createHybridObject","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","suppressedNativeEvents","metricsObserver","eventObserver","eventObserverRedactSecureValues","metricsCounters","storageEvents","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","undefined","delete","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","size","getEventRawValue","Memory","getRawValue","createKeyChange","oldValue","newValue","source","type","hasStorageChangeObservers","hasListeners","shouldReadPreviousEventValues","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","eventForGlobalObserver","changes","map","emitKeyChange","emitKey","emitBatchChange","length","forEach","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","push","storageModule","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","setRawValue","removeRawValue","remove","readMigrationVersion","raw","parsed","parseInt","writeMigrationVersion","version","String","storage","subscribe","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","setEventObserver","observer","options","redactSecureValues","previousValues","getAll","clearAll","clearNamespace","affectedKeys","filter","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","startsWith","result","getBatch","idx","val","export","includeSecureValues","exportSecureUnsafe","setAccessControl","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_biometricLevel","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","groupedKeysToSet","isKeychainLockedError","err","createSecureAuthStorage","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NitroModules","StorageScope","AccessControl","BiometricLevel","MIGRATION_VERSION_KEY","isStoredEnvelope","assertBatchScope","assertValidScope","decodeNativeBatchValue","serializeWithPrimitiveFastPath","deserializeWithPrimitiveFastPath","toVersionToken","prefixKey","isNamespaced","getStorageErrorCode","isLockedStorageErrorCode","StorageEventRegistry","migrateFromMMKV","asInternal","item","isUpdater","valueOrFn","typedKeys","record","Object","keys","assertEnumInteger","value","min","max","label","Number","isFinite","Error","Math","trunc","assertAccessControlLevel","level","assertBiometricLevel","registeredMigrations","Map","runMicrotask","queueMicrotask","task","Promise","resolve","then","now","performance","Date","_storageModule","getStorageModule","createHybridObject","memoryStore","memoryListeners","scopedListeners","Disk","Secure","scopedUnsubscribers","scopedRawCache","pendingDiskWrites","diskFlushScheduled","diskWritesAsync","pendingSecureWrites","secureFlushScheduled","secureDefaultAccessControl","WhenUnlocked","suppressedNativeEvents","metricsObserver","eventObserver","eventObserverRedactSecureValues","metricsCounters","storageEvents","nativeSecureBackend","recordMetric","operation","scope","durationMs","keysCount","existing","get","set","count","totalDurationMs","maxDurationMs","measureOperation","fn","start","getScopedListeners","getScopeRawCache","cacheRawValue","key","readCachedRawValue","hasCachedRawValue","has","clearScopeRawCache","clear","suppressNativeEvent","suppressedEvents","consumeSuppressedNativeEvent","undefined","delete","notifyKeyListeners","registry","listeners","listener","notifyAllListeners","values","addKeyListener","Set","add","size","getEventRawValue","Memory","getRawValue","createKeyChange","oldValue","newValue","source","type","hasStorageChangeObservers","hasListeners","shouldReadPreviousEventValues","SECURE_EVENT_REDACTED_VALUE","redactSecureKeyChange","event","eventForGlobalObserver","changes","map","emitKeyChange","emitKey","emitBatchChange","length","forEach","change","emitBatch","readPendingSecureWrite","readPendingDiskWrite","hasPendingDiskWrite","hasPendingSecureWrite","clearPendingDiskWrite","clearPendingSecureWrite","flushDiskWrites","writes","Array","from","keysToSet","valuesToSet","keysToRemove","push","storageModule","setBatch","removeBatch","flushSecureWrites","groupedSetWrites","accessControl","resolvedAccessControl","existingGroup","group","setSecureAccessControl","scheduleDiskWrite","scheduleSecureWrite","pendingWrite","ensureNativeScopeSubscription","unsubscribe","addOnChange","maybeCleanupNativeScopeSubscription","setRawValue","removeRawValue","remove","readMigrationVersion","raw","parsed","parseInt","writeMigrationVersion","version","String","storage","subscribe","subscribeKey","subscribePrefix","prefix","subscribeNamespace","namespace","setEventObserver","observer","options","redactSecureValues","previousValues","getAll","clearAll","clearNamespace","affectedKeys","filter","keyPrefix","getByPrefix","scopeCache","removeByPrefix","clearBiometric","clearSecureBiometric","getAllKeys","getKeysByPrefix","startsWith","result","getBatch","idx","val","export","includeSecureValues","exportSecureUnsafe","setAccessControl","setSecureWritesAsync","enabled","setDiskWritesAsync","setKeychainAccessGroup","setMetricsObserver","getMetricsSnapshot","snapshot","avgDurationMs","resetMetrics","getCapabilities","platform","backend","disk","secure","writeBuffering","errorClassification","getSecurityCapabilities","secureStorage","encrypted","keychainAccessGroup","hardwareBacked","biometric","prompt","biometryOnly","biometryOrPasscode","metadata","perKey","listsWithoutValues","persistsTimestamps","getSecureMetadata","biometricProtected","hasSecureBiometric","exists","kind","valueExposed","getAllSecureMetadata","getString","setString","deleteString","import","data","k","index","setWebSecureStorageBackend","_backend","getWebSecureStorageBackend","setWebDiskStorageBackend","getWebDiskStorageBackend","flushWebStorageBackends","canUseRawBatchPath","_hasExpiration","_hasValidation","_isBiometric","_secureAccessControl","canUseSecureRawBatchPath","defaultSerialize","defaultDeserialize","createStorageItem","config","storageKey","serialize","deserialize","isMemory","resolvedBiometricLevel","biometricLevel","BiometryOnly","None","isBiometric","secureAccessControl","validate","onValidationError","expiration","onExpired","expirationTtlMs","ttlMs","memoryExpiration","readCache","coalesceDiskWrites","coalesceSecureWrites","defaultValue","nonMemoryScope","lastRaw","lastValue","hasLastValue","lastExpiresAt","invalidateParsedCache","ensureSubscription","callback","readStoredRaw","expiresAt","pending","cache","cached","getSecureBiometric","writeStoredRaw","rawValue","setSecureBiometricWithLevel","removeStoredRaw","deleteSecureBiometric","writeValueWithoutValidation","serialized","envelope","__nitroStorageEnvelope","payload","JSON","stringify","resolveInvalidValue","invalidValue","ensureValidatedValue","candidate","hadStoredValue","resolved","getInternal","cb","deserializableRaw","envelopeExpiresAt","parse","getCurrentVersion","getWithVersion","setIfVersion","currentVersion","deleteItem","hasItem","subscribeSelector","selector","isEqual","is","currentValue","fireImmediately","nextValue","previousValue","storageItem","_triggerListeners","_invalidateParsedCacheOnly","_readCacheEnabled","_biometricLevel","_defaultValue","useStorage","useStorageSelector","useSetStorage","createIndexedDBBackend","items","useRawBatchPath","every","rawValues","keysToFetch","keyIndexes","fetchedValues","targetIndex","batchEntry","needsIndividualSets","some","internal","secureEntries","canUseSecureBatchPath","oldValues","groupedByAccessControl","entry","registerMigration","migration","isInteger","migrateToLatest","versions","sort","a","b","appliedVersion","context","getRaw","setRaw","removeRaw","runTransaction","transaction","NOT_SET","Symbol","rollback","rememberRollback","tx","getItem","setItem","removeItem","error","rollbackEntries","entries","reverse","groupedKeysToSet","isKeychainLockedError","err","createSecureAuthStorage","ns","itemConfig","expirationConfig"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useSyncExternalStore","useStorage","item","value","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["useRef","useSyncExternalStore","useStorage","item","value","subscribe","get","set","useStorageSelector","selector","isEqual","Object","is","selectedRef","hasValue","getSelectedSnapshot","nextSelected","current","selectedValue","useSetStorage"],"sourceRoot":"../../src","sources":["storage-hooks.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,oBAAoB,QAAQ,OAAO;AAUpD,OAAO,SAASC,UAAUA,CAAIC,IAAwB,EAAyB;EAC7E,MAAMC,KAAK,GAAGH,oBAAoB,CAACE,IAAI,CAACE,SAAS,EAAEF,IAAI,CAACG,GAAG,EAAEH,IAAI,CAACG,GAAG,CAAC;EACtE,OAAO,CAACF,KAAK,EAAED,IAAI,CAACI,GAAG,CAAC;AAC1B;AAEA,OAAO,SAASC,kBAAkBA,CAChCL,IAAwB,EACxBM,QAAiC,EACjCC,OAAsD,GAAGC,MAAM,CAACC,EAAE,EACnC;EAC/B,MAAMC,WAAW,GAAGb,MAAM,CAExB;IACAc,QAAQ,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;IAChC,MAAMC,YAAY,GAAGP,QAAQ,CAACN,IAAI,CAACG,GAAG,CAAC,CAAC,CAAC;IACzC,MAAMW,OAAO,GAAGJ,WAAW,CAACI,OAAO;IACnC,IAAIA,OAAO,CAACH,QAAQ,IAAIJ,OAAO,CAACO,OAAO,CAACb,KAAK,EAAEY,YAAY,CAAC,EAAE;MAC5D,OAAOC,OAAO,CAACb,KAAK;IACtB;IAEAS,WAAW,CAACI,OAAO,GAAG;MAAEH,QAAQ,EAAE,IAAI;MAAEV,KAAK,EAAEY;IAAa,CAAC;IAC7D,OAAOA,YAAY;EACrB,CAAC;EAED,MAAME,aAAa,GAAGjB,oBAAoB,CACxCE,IAAI,CAACE,SAAS,EACdU,mBAAmB,EACnBA,mBACF,CAAC;EACD,OAAO,CAACG,aAAa,EAAEf,IAAI,CAACI,GAAG,CAAC;AAClC;AAEA,OAAO,SAASY,aAAaA,CAAIhB,IAAwB,EAAoB;EAC3E,OAAOA,IAAI,CAACI,GAAG;AACjB","ignoreList":[]}
|
|
@@ -2,11 +2,13 @@ import { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
|
2
2
|
import type { WebDiskStorageBackend, WebSecureStorageBackend } from "./web-storage-backend";
|
|
3
3
|
import { type SecureStorageMetadata, type SecurityCapabilities, type StorageCapabilities } from "./storage-runtime";
|
|
4
4
|
import { type StorageEventListener } from "./storage-events";
|
|
5
|
+
import type { StorageSetter } from "./storage-hooks";
|
|
5
6
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
6
7
|
export type { Storage } from "./Storage.nitro";
|
|
7
8
|
export { migrateFromMMKV } from "./migration";
|
|
8
9
|
export { getStorageErrorCode, type SecureStorageMetadata, type SecurityCapabilities, type StorageCapabilities, type StorageErrorCode, } from "./storage-runtime";
|
|
9
10
|
export type { StorageBatchChangeEvent, StorageChangeEvent, StorageChangeOperation, StorageChangeSource, StorageEventListener, StorageKeyChangeEvent, } from "./storage-events";
|
|
11
|
+
export type { StorageSetter } from "./storage-hooks";
|
|
10
12
|
export type { WebDiskStorageBackend, WebSecureStorageBackend, WebStorageBackend, WebStorageChangeEvent, WebStorageScope, } from "./web-storage-backend";
|
|
11
13
|
export type Validator<T> = (value: unknown) => value is T;
|
|
12
14
|
export type ExpirationConfig = {
|
|
@@ -98,7 +100,7 @@ export declare function getWebSecureStorageBackend(): WebSecureStorageBackend |
|
|
|
98
100
|
export declare function setWebDiskStorageBackend(_backend?: WebDiskStorageBackend): void;
|
|
99
101
|
export declare function getWebDiskStorageBackend(): WebDiskStorageBackend | undefined;
|
|
100
102
|
export declare function flushWebStorageBackends(): Promise<void>;
|
|
101
|
-
export
|
|
103
|
+
export type StorageItemConfig<T> = {
|
|
102
104
|
key: string;
|
|
103
105
|
scope: StorageScope;
|
|
104
106
|
defaultValue?: T;
|
|
@@ -115,11 +117,11 @@ export interface StorageItemConfig<T> {
|
|
|
115
117
|
biometric?: boolean;
|
|
116
118
|
biometricLevel?: BiometricLevel;
|
|
117
119
|
accessControl?: AccessControl;
|
|
118
|
-
}
|
|
119
|
-
export
|
|
120
|
+
};
|
|
121
|
+
export type StorageItem<T> = {
|
|
120
122
|
get: () => T;
|
|
121
123
|
getWithVersion: () => VersionedValue<T>;
|
|
122
|
-
set:
|
|
124
|
+
set: StorageSetter<T>;
|
|
123
125
|
setIfVersion: (version: StorageVersion, value: T | ((prev: T) => T)) => boolean;
|
|
124
126
|
delete: () => void;
|
|
125
127
|
has: () => boolean;
|
|
@@ -129,7 +131,7 @@ export interface StorageItem<T> {
|
|
|
129
131
|
deserialize: (value: string) => T;
|
|
130
132
|
scope: StorageScope;
|
|
131
133
|
key: string;
|
|
132
|
-
}
|
|
134
|
+
};
|
|
133
135
|
export declare function createStorageItem<T = undefined>(config: StorageItemConfig<T>): StorageItem<T>;
|
|
134
136
|
export { useStorage, useStorageSelector, useSetStorage } from "./storage-hooks";
|
|
135
137
|
export { createIndexedDBBackend } from "./indexeddb-backend";
|
|
@@ -142,11 +144,14 @@ type BatchReadItem<T> = Pick<StorageItem<T>, "key" | "scope" | "get" | "deserial
|
|
|
142
144
|
_secureAccessControl?: AccessControl;
|
|
143
145
|
};
|
|
144
146
|
type BatchRemoveItem = Pick<StorageItem<unknown>, "key" | "scope" | "delete">;
|
|
147
|
+
type BatchValues<TItems extends readonly BatchReadItem<unknown>[]> = {
|
|
148
|
+
[Index in keyof TItems]: TItems[Index] extends BatchReadItem<infer Value> ? Value : never;
|
|
149
|
+
};
|
|
145
150
|
export type StorageBatchSetItem<T> = {
|
|
146
151
|
item: StorageItem<T>;
|
|
147
152
|
value: T;
|
|
148
153
|
};
|
|
149
|
-
export declare function getBatch
|
|
154
|
+
export declare function getBatch<const TItems extends readonly BatchReadItem<unknown>[]>(items: TItems, scope: StorageScope): BatchValues<TItems>;
|
|
150
155
|
export declare function setBatch<T>(items: readonly StorageBatchSetItem<T>[], scope: StorageScope): void;
|
|
151
156
|
export declare function removeBatch(items: readonly BatchRemoveItem[], scope: StorageScope): void;
|
|
152
157
|
export declare function registerMigration(version: number, migration: Migration): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAc9E,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAEzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAML,KAAK,oBAAoB,EAE1B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
type HookStorageItem<T> = {
|
|
2
2
|
get: () => T;
|
|
3
|
-
set:
|
|
3
|
+
set: StorageSetter<T>;
|
|
4
4
|
subscribe: (callback: () => void) => () => void;
|
|
5
5
|
};
|
|
6
|
-
export
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
6
|
+
export type StorageSetter<T> = (value: T | ((prev: T) => T)) => void;
|
|
7
|
+
export declare function useStorage<T>(item: HookStorageItem<T>): [T, StorageSetter<T>];
|
|
8
|
+
export declare function useStorageSelector<T, TSelected>(item: HookStorageItem<T>, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, StorageSetter<T>];
|
|
9
|
+
export declare function useSetStorage<T>(item: HookStorageItem<T>): StorageSetter<T>;
|
|
9
10
|
export {};
|
|
10
11
|
//# sourceMappingURL=storage-hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-hooks.d.ts","sourceRoot":"","sources":["../../src/storage-hooks.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,GAAG,EAAE,MAAM,CAAC,CAAC;IACb,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"storage-hooks.d.ts","sourceRoot":"","sources":["../../src/storage-hooks.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,GAAG,EAAE,MAAM,CAAC,CAAC;IACb,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;AAErE,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAG7E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAC7C,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,EACjC,OAAO,GAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,OAAmB,GACjE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAwB/B;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAE3E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-storage",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"description": "Synchronous React Native storage powered by Nitro Modules and JSI: typed Memory, Disk, Keychain/Android Keystore secure storage, biometric auth, MMKV migration, Expo, Zustand/Jotai persistence, and web IndexedDB support.",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
"registry": "https://registry.npmjs.org/"
|
|
112
112
|
},
|
|
113
113
|
"devDependencies": {
|
|
114
|
-
"@expo/config-plugins": "^
|
|
115
|
-
"@react-native/babel-preset": "^0.
|
|
114
|
+
"@expo/config-plugins": "^56.0.7",
|
|
115
|
+
"@react-native/babel-preset": "^0.85.3",
|
|
116
116
|
"@testing-library/react-hooks": "^8.0.1",
|
|
117
117
|
"@testing-library/react-native": "^13.3.3",
|
|
118
118
|
"@types/react": "~19.2.0"
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"peerDependencies": {
|
|
121
121
|
"react": ">=18.2.0",
|
|
122
122
|
"react-native": ">=0.75.0",
|
|
123
|
-
"react-native-nitro-modules": ">=0.35.
|
|
123
|
+
"react-native-nitro-modules": ">=0.35.7"
|
|
124
124
|
},
|
|
125
125
|
"react-native-builder-bob": {
|
|
126
126
|
"source": "src",
|
package/src/index.ts
CHANGED
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
type StorageEventListener,
|
|
36
36
|
type StorageKeyChangeEvent,
|
|
37
37
|
} from "./storage-events";
|
|
38
|
+
import type { StorageSetter } from "./storage-hooks";
|
|
38
39
|
|
|
39
40
|
export { StorageScope, AccessControl, BiometricLevel } from "./Storage.types";
|
|
40
41
|
export type { Storage } from "./Storage.nitro";
|
|
@@ -54,6 +55,7 @@ export type {
|
|
|
54
55
|
StorageEventListener,
|
|
55
56
|
StorageKeyChangeEvent,
|
|
56
57
|
} from "./storage-events";
|
|
58
|
+
export type { StorageSetter } from "./storage-hooks";
|
|
57
59
|
export type {
|
|
58
60
|
WebDiskStorageBackend,
|
|
59
61
|
WebSecureStorageBackend,
|
|
@@ -1387,7 +1389,7 @@ export async function flushWebStorageBackends(): Promise<void> {
|
|
|
1387
1389
|
// Native platforms do not use web storage backends.
|
|
1388
1390
|
}
|
|
1389
1391
|
|
|
1390
|
-
export
|
|
1392
|
+
export type StorageItemConfig<T> = {
|
|
1391
1393
|
key: string;
|
|
1392
1394
|
scope: StorageScope;
|
|
1393
1395
|
defaultValue?: T;
|
|
@@ -1404,12 +1406,12 @@ export interface StorageItemConfig<T> {
|
|
|
1404
1406
|
biometric?: boolean;
|
|
1405
1407
|
biometricLevel?: BiometricLevel;
|
|
1406
1408
|
accessControl?: AccessControl;
|
|
1407
|
-
}
|
|
1409
|
+
};
|
|
1408
1410
|
|
|
1409
|
-
export
|
|
1411
|
+
export type StorageItem<T> = {
|
|
1410
1412
|
get: () => T;
|
|
1411
1413
|
getWithVersion: () => VersionedValue<T>;
|
|
1412
|
-
set:
|
|
1414
|
+
set: StorageSetter<T>;
|
|
1413
1415
|
setIfVersion: (
|
|
1414
1416
|
version: StorageVersion,
|
|
1415
1417
|
value: T | ((prev: T) => T),
|
|
@@ -1426,7 +1428,7 @@ export interface StorageItem<T> {
|
|
|
1426
1428
|
deserialize: (value: string) => T;
|
|
1427
1429
|
scope: StorageScope;
|
|
1428
1430
|
key: string;
|
|
1429
|
-
}
|
|
1431
|
+
};
|
|
1430
1432
|
|
|
1431
1433
|
type StorageItemInternal<T> = StorageItem<T> & {
|
|
1432
1434
|
_triggerListeners: () => void;
|
|
@@ -2050,16 +2052,20 @@ type BatchReadItem<T> = Pick<
|
|
|
2050
2052
|
_secureAccessControl?: AccessControl;
|
|
2051
2053
|
};
|
|
2052
2054
|
type BatchRemoveItem = Pick<StorageItem<unknown>, "key" | "scope" | "delete">;
|
|
2055
|
+
type BatchValues<TItems extends readonly BatchReadItem<unknown>[]> = {
|
|
2056
|
+
[Index in keyof TItems]: TItems[Index] extends BatchReadItem<infer Value>
|
|
2057
|
+
? Value
|
|
2058
|
+
: never;
|
|
2059
|
+
};
|
|
2053
2060
|
|
|
2054
2061
|
export type StorageBatchSetItem<T> = {
|
|
2055
2062
|
item: StorageItem<T>;
|
|
2056
2063
|
value: T;
|
|
2057
2064
|
};
|
|
2058
2065
|
|
|
2059
|
-
export function getBatch
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
): unknown[] {
|
|
2066
|
+
export function getBatch<
|
|
2067
|
+
const TItems extends readonly BatchReadItem<unknown>[],
|
|
2068
|
+
>(items: TItems, scope: StorageScope): BatchValues<TItems> {
|
|
2063
2069
|
return measureOperation(
|
|
2064
2070
|
"batch:get",
|
|
2065
2071
|
scope,
|
|
@@ -2138,7 +2144,7 @@ export function getBatch(
|
|
|
2138
2144
|
});
|
|
2139
2145
|
},
|
|
2140
2146
|
items.length,
|
|
2141
|
-
)
|
|
2147
|
+
) as BatchValues<TItems>;
|
|
2142
2148
|
}
|
|
2143
2149
|
|
|
2144
2150
|
export function setBatch<T>(
|
package/src/storage-hooks.ts
CHANGED
|
@@ -2,13 +2,13 @@ import { useRef, useSyncExternalStore } from "react";
|
|
|
2
2
|
|
|
3
3
|
type HookStorageItem<T> = {
|
|
4
4
|
get: () => T;
|
|
5
|
-
set:
|
|
5
|
+
set: StorageSetter<T>;
|
|
6
6
|
subscribe: (callback: () => void) => () => void;
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
export type StorageSetter<T> = (value: T | ((prev: T) => T)) => void;
|
|
10
|
+
|
|
11
|
+
export function useStorage<T>(item: HookStorageItem<T>): [T, StorageSetter<T>] {
|
|
12
12
|
const value = useSyncExternalStore(item.subscribe, item.get, item.get);
|
|
13
13
|
return [value, item.set];
|
|
14
14
|
}
|
|
@@ -17,7 +17,7 @@ export function useStorageSelector<T, TSelected>(
|
|
|
17
17
|
item: HookStorageItem<T>,
|
|
18
18
|
selector: (value: T) => TSelected,
|
|
19
19
|
isEqual: (prev: TSelected, next: TSelected) => boolean = Object.is,
|
|
20
|
-
): [TSelected,
|
|
20
|
+
): [TSelected, StorageSetter<T>] {
|
|
21
21
|
const selectedRef = useRef<
|
|
22
22
|
{ hasValue: false } | { hasValue: true; value: TSelected }
|
|
23
23
|
>({
|
|
@@ -43,6 +43,6 @@ export function useStorageSelector<T, TSelected>(
|
|
|
43
43
|
return [selectedValue, item.set];
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
export function useSetStorage<T>(item: HookStorageItem<T>) {
|
|
46
|
+
export function useSetStorage<T>(item: HookStorageItem<T>): StorageSetter<T> {
|
|
47
47
|
return item.set;
|
|
48
48
|
}
|