@op-engineering/op-sqlite 0.0.0-resolution-test

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +31 -0
  3. package/android/.project +17 -0
  4. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  5. package/android/CMakeLists.txt +141 -0
  6. package/android/build.gradle +266 -0
  7. package/android/c_sources/tokenizers.cpp +88 -0
  8. package/android/c_sources/tokenizers.h +15 -0
  9. package/android/cpp-adapter.cpp +46 -0
  10. package/android/gradle.properties +1 -0
  11. package/android/jniLibs/arm64-v8a/libsql_experimental.a +0 -0
  12. package/android/jniLibs/armeabi-v7a/libsql_experimental.a +0 -0
  13. package/android/jniLibs/x86/libsql_experimental.a +0 -0
  14. package/android/jniLibs/x86_64/libsql_experimental.a +0 -0
  15. package/android/src/main/AndroidManifest.xml +1 -0
  16. package/android/src/main/java/com/op/sqlite/OPSQLiteBridge.kt +37 -0
  17. package/android/src/main/java/com/op/sqlite/OPSQLiteModule.kt +119 -0
  18. package/android/src/main/java/com/op/sqlite/OPSQLitePackage.kt +18 -0
  19. package/android/src/main/jniLibs/arm64-v8a/libcrsqlite.so +0 -0
  20. package/android/src/main/jniLibs/arm64-v8a/libsqlite_vec.so +0 -0
  21. package/android/src/main/jniLibs/armeabi-v7a/libcrsqlite.so +0 -0
  22. package/android/src/main/jniLibs/armeabi-v7a/libsqlite_vec.so +0 -0
  23. package/android/src/main/jniLibs/x86/libcrsqlite.so +0 -0
  24. package/android/src/main/jniLibs/x86/libsqlite_vec.so +0 -0
  25. package/android/src/main/jniLibs/x86_64/libcrsqlite.so +0 -0
  26. package/android/src/main/jniLibs/x86_64/libsqlite_vec.so +0 -0
  27. package/android/src/paper/java/com/op/sqlite/NativeOPSQLiteSpec.java +77 -0
  28. package/cpp/DBHostObject.cpp +852 -0
  29. package/cpp/DBHostObject.h +99 -0
  30. package/cpp/DumbHostObject.cpp +72 -0
  31. package/cpp/DumbHostObject.h +36 -0
  32. package/cpp/OPThreadPool.cpp +120 -0
  33. package/cpp/OPThreadPool.h +44 -0
  34. package/cpp/PreparedStatementHostObject.cpp +151 -0
  35. package/cpp/PreparedStatementHostObject.h +59 -0
  36. package/cpp/SmartHostObject.cpp +34 -0
  37. package/cpp/SmartHostObject.h +24 -0
  38. package/cpp/bindings.cpp +182 -0
  39. package/cpp/bindings.h +19 -0
  40. package/cpp/bridge.cpp +873 -0
  41. package/cpp/bridge.h +80 -0
  42. package/cpp/libsql/bridge.cpp +738 -0
  43. package/cpp/libsql/bridge.h +85 -0
  44. package/cpp/libsql/libsql.h +172 -0
  45. package/cpp/logs.h +40 -0
  46. package/cpp/macros.h +15 -0
  47. package/cpp/sqlcipher/sqlite3.c +262970 -0
  48. package/cpp/sqlcipher/sqlite3.h +13485 -0
  49. package/cpp/sqlite3.c +261454 -0
  50. package/cpp/sqlite3.h +13715 -0
  51. package/cpp/types.h +33 -0
  52. package/cpp/utils.cpp +327 -0
  53. package/cpp/utils.h +47 -0
  54. package/generate_tokenizers_header_file.rb +29 -0
  55. package/ios/OPSQLite.h +7 -0
  56. package/ios/OPSQLite.mm +157 -0
  57. package/ios/OPSQLite.xcodeproj/project.pbxproj +275 -0
  58. package/ios/crsqlite.xcframework/Info.plist +46 -0
  59. package/ios/crsqlite.xcframework/ios-arm64/crsqlite.framework/Info.plist +24 -0
  60. package/ios/crsqlite.xcframework/ios-arm64/crsqlite.framework/crsqlite +0 -0
  61. package/ios/crsqlite.xcframework/ios-arm64_x86_64-simulator/crsqlite.framework/Info.plist +24 -0
  62. package/ios/crsqlite.xcframework/ios-arm64_x86_64-simulator/crsqlite.framework/crsqlite +0 -0
  63. package/ios/libsql.xcframework/Info.plist +48 -0
  64. package/ios/libsql.xcframework/ios-arm64/Headers/libsql.h +172 -0
  65. package/ios/libsql.xcframework/ios-arm64/libsql_experimental.a +0 -0
  66. package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/Headers/libsql.h +172 -0
  67. package/ios/libsql.xcframework/ios-arm64_x86_64-simulator/libsql_experimental.a +0 -0
  68. package/ios/sqlitevec.xcframework/Info.plist +71 -0
  69. package/ios/sqlitevec.xcframework/ios-arm64/sqlitevec.framework/Info.plist +24 -0
  70. package/ios/sqlitevec.xcframework/ios-arm64/sqlitevec.framework/sqlitevec +0 -0
  71. package/ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/Info.plist +24 -0
  72. package/ios/sqlitevec.xcframework/ios-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec +0 -0
  73. package/ios/sqlitevec.xcframework/tvos-arm64/sqlitevec.framework/Info.plist +24 -0
  74. package/ios/sqlitevec.xcframework/tvos-arm64/sqlitevec.framework/sqlitevec +0 -0
  75. package/ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/Info.plist +24 -0
  76. package/ios/sqlitevec.xcframework/tvos-arm64_x86_64-simulator/sqlitevec.framework/sqlitevec +0 -0
  77. package/lib/commonjs/NativeOPSQLite.js +9 -0
  78. package/lib/commonjs/NativeOPSQLite.js.map +1 -0
  79. package/lib/commonjs/Storage.js +60 -0
  80. package/lib/commonjs/Storage.js.map +1 -0
  81. package/lib/commonjs/index.js +365 -0
  82. package/lib/commonjs/index.js.map +1 -0
  83. package/lib/module/NativeOPSQLite.js +3 -0
  84. package/lib/module/NativeOPSQLite.js.map +1 -0
  85. package/lib/module/Storage.js +53 -0
  86. package/lib/module/Storage.js.map +1 -0
  87. package/lib/module/index.js +340 -0
  88. package/lib/module/index.js.map +1 -0
  89. package/lib/typescript/src/NativeOPSQLite.d.ts +15 -0
  90. package/lib/typescript/src/NativeOPSQLite.d.ts.map +1 -0
  91. package/lib/typescript/src/Storage.d.ts +23 -0
  92. package/lib/typescript/src/Storage.d.ts.map +1 -0
  93. package/lib/typescript/src/index.d.ts +319 -0
  94. package/lib/typescript/src/index.d.ts.map +1 -0
  95. package/op-sqlite.podspec +212 -0
  96. package/package.json +85 -0
  97. package/src/NativeOPSQLite.ts +17 -0
  98. package/src/Storage.ts +85 -0
  99. package/src/index.ts +722 -0
@@ -0,0 +1,340 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ export { Storage } from './Storage';
3
+
4
+ /**
5
+ * Object returned by SQL Query executions {
6
+ * insertId: Represent the auto-generated row id if applicable
7
+ * rowsAffected: Number of affected rows if result of a update query
8
+ * message: if status === 1, here you will find error description
9
+ * rows: if status is undefined or 0 this object will contain the query results
10
+ * }
11
+ *
12
+ * @interface QueryResult
13
+ */
14
+
15
+ /**
16
+ * Column metadata
17
+ * Describes some information about columns fetched by the query
18
+ */
19
+
20
+ /**
21
+ * Allows the execution of bulk of sql commands
22
+ * inside a transaction
23
+ * If a single query must be executed many times with different arguments, its preferred
24
+ * to declare it a single time, and use an array of array parameters.
25
+ */
26
+
27
+ /**
28
+ * status: 0 or undefined for correct execution, 1 for error
29
+ * message: if status === 1, here you will find error description
30
+ * rowsAffected: Number of affected rows if status == 0
31
+ */
32
+
33
+ /**
34
+ * Result of loading a file and executing every line as a SQL command
35
+ * Similar to BatchQueryResult
36
+ */
37
+
38
+ if (global.__OPSQLiteProxy == null) {
39
+ if (NativeModules.OPSQLite == null) {
40
+ throw new Error('Base module not found. Did you do a pod install/clear the gradle cache?');
41
+ }
42
+
43
+ // Call the synchronous blocking install() function
44
+ const installed = NativeModules.OPSQLite.install();
45
+ if (!installed) {
46
+ throw new Error(`Failed to install op-sqlite: The native OPSQLite Module could not be installed! Looks like something went wrong when installing JSI bindings, check the native logs for more info`);
47
+ }
48
+
49
+ // Check again if the constructor now exists. If not, throw an error.
50
+ if (global.__OPSQLiteProxy == null) {
51
+ throw new Error('OPSqlite native object is not available. Something is wrong. Check the native logs for more information.');
52
+ }
53
+ }
54
+ const proxy = global.__OPSQLiteProxy;
55
+ const OPSQLite = proxy;
56
+ export const {
57
+ IOS_DOCUMENT_PATH,
58
+ IOS_LIBRARY_PATH,
59
+ ANDROID_DATABASE_PATH,
60
+ ANDROID_FILES_PATH,
61
+ ANDROID_EXTERNAL_FILES_PATH
62
+ } = !!NativeModules.OPSQLite.getConstants ? NativeModules.OPSQLite.getConstants() : NativeModules.OPSQLite;
63
+ function enhanceDB(db, options) {
64
+ const lock = {
65
+ queue: [],
66
+ inProgress: false
67
+ };
68
+ const startNextTransaction = () => {
69
+ if (lock.inProgress) {
70
+ // Transaction is already in process bail out
71
+ return;
72
+ }
73
+ if (lock.queue.length) {
74
+ lock.inProgress = true;
75
+ const tx = lock.queue.shift();
76
+ if (!tx) {
77
+ throw new Error('Could not get a operation on database');
78
+ }
79
+ setImmediate(() => {
80
+ tx.start();
81
+ });
82
+ }
83
+ };
84
+
85
+ // spreading the object does not work with HostObjects (db)
86
+ // We need to manually assign the fields
87
+ let enhancedDb = {
88
+ delete: db.delete,
89
+ attach: db.attach,
90
+ detach: db.detach,
91
+ executeBatch: db.executeBatch,
92
+ loadFile: db.loadFile,
93
+ updateHook: db.updateHook,
94
+ commitHook: db.commitHook,
95
+ rollbackHook: db.rollbackHook,
96
+ loadExtension: db.loadExtension,
97
+ getDbPath: db.getDbPath,
98
+ reactiveExecute: db.reactiveExecute,
99
+ sync: db.sync,
100
+ close: db.close,
101
+ executeWithHostObjects: async (query, params) => {
102
+ const sanitizedParams = params?.map(p => {
103
+ if (ArrayBuffer.isView(p)) {
104
+ return p.buffer;
105
+ }
106
+ return p;
107
+ });
108
+ return sanitizedParams ? await db.executeWithHostObjects(query, sanitizedParams) : await db.executeWithHostObjects(query);
109
+ },
110
+ executeRaw: async (query, params) => {
111
+ const sanitizedParams = params?.map(p => {
112
+ if (ArrayBuffer.isView(p)) {
113
+ return p.buffer;
114
+ }
115
+ return p;
116
+ });
117
+ return db.executeRaw(query, sanitizedParams);
118
+ },
119
+ // Wrapper for executeRaw, drizzleORM uses this function
120
+ // at some point I changed the API but they did not pin their dependency to a specific version
121
+ // so re-inserting this so it starts working again
122
+ executeRawAsync: async (query, params) => {
123
+ const sanitizedParams = params?.map(p => {
124
+ if (ArrayBuffer.isView(p)) {
125
+ return p.buffer;
126
+ }
127
+ return p;
128
+ });
129
+ return db.executeRaw(query, sanitizedParams);
130
+ },
131
+ executeSync: (query, params) => {
132
+ const sanitizedParams = params?.map(p => {
133
+ if (ArrayBuffer.isView(p)) {
134
+ return p.buffer;
135
+ }
136
+ return p;
137
+ });
138
+ let intermediateResult = sanitizedParams ? db.executeSync(query, sanitizedParams) : db.executeSync(query);
139
+ let rows = [];
140
+ for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
141
+ let row = {};
142
+ let rawRow = intermediateResult.rawRows[i];
143
+ for (let j = 0; j < intermediateResult.columnNames.length; j++) {
144
+ let columnName = intermediateResult.columnNames[j];
145
+ let value = rawRow[j];
146
+ row[columnName] = value;
147
+ }
148
+ rows.push(row);
149
+ }
150
+ let res = {
151
+ ...intermediateResult,
152
+ rows
153
+ };
154
+ delete res.rawRows;
155
+ return res;
156
+ },
157
+ executeAsync: async (query, params) => {
158
+ return db.execute(query, params);
159
+ },
160
+ execute: async (query, params) => {
161
+ const sanitizedParams = params?.map(p => {
162
+ if (ArrayBuffer.isView(p)) {
163
+ return p.buffer;
164
+ }
165
+ return p;
166
+ });
167
+ let intermediateResult = await db.execute(query, sanitizedParams);
168
+ let rows = [];
169
+ for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) {
170
+ let row = {};
171
+ let rawRow = intermediateResult.rawRows[i];
172
+ for (let j = 0; j < intermediateResult.columnNames.length; j++) {
173
+ let columnName = intermediateResult.columnNames[j];
174
+ let value = rawRow[j];
175
+ row[columnName] = value;
176
+ }
177
+ rows.push(row);
178
+ }
179
+ let res = {
180
+ ...intermediateResult,
181
+ rows
182
+ };
183
+ delete res.rawRows;
184
+ return res;
185
+ },
186
+ prepareStatement: query => {
187
+ const stmt = db.prepareStatement(query);
188
+ return {
189
+ bind: async params => {
190
+ const sanitizedParams = params.map(p => {
191
+ if (ArrayBuffer.isView(p)) {
192
+ return p.buffer;
193
+ }
194
+ return p;
195
+ });
196
+ await stmt.bind(sanitizedParams);
197
+ },
198
+ execute: stmt.execute
199
+ };
200
+ },
201
+ transaction: async fn => {
202
+ let isFinalized = false;
203
+ const execute = async (query, params) => {
204
+ if (isFinalized) {
205
+ throw Error(`OP-Sqlite Error: Database: ${options.name || options.url}. Cannot execute query on finalized transaction`);
206
+ }
207
+ return await enhancedDb.execute(query, params);
208
+ };
209
+ const commit = async () => {
210
+ if (isFinalized) {
211
+ throw Error(`OP-Sqlite Error: Database: ${options.name || options.url}. Cannot execute query on finalized transaction`);
212
+ }
213
+ const result = await enhancedDb.execute('COMMIT;');
214
+ await db.flushPendingReactiveQueries();
215
+ isFinalized = true;
216
+ return result;
217
+ };
218
+ const rollback = async () => {
219
+ if (isFinalized) {
220
+ throw Error(`OP-Sqlite Error: Database: ${options.name || options.url}. Cannot execute query on finalized transaction`);
221
+ }
222
+ const result = await enhancedDb.execute('ROLLBACK;');
223
+ isFinalized = true;
224
+ return result;
225
+ };
226
+ async function run() {
227
+ try {
228
+ await enhancedDb.execute('BEGIN TRANSACTION;');
229
+ await fn({
230
+ commit,
231
+ execute,
232
+ rollback
233
+ });
234
+ if (!isFinalized) {
235
+ await commit();
236
+ }
237
+ } catch (executionError) {
238
+ if (!isFinalized) {
239
+ try {
240
+ await rollback();
241
+ } catch (rollbackError) {
242
+ throw rollbackError;
243
+ }
244
+ }
245
+ throw executionError;
246
+ } finally {
247
+ lock.inProgress = false;
248
+ isFinalized = false;
249
+ startNextTransaction();
250
+ }
251
+ }
252
+ return await new Promise((resolve, reject) => {
253
+ const tx = {
254
+ start: () => {
255
+ run().then(resolve).catch(reject);
256
+ }
257
+ };
258
+ lock.queue.push(tx);
259
+ startNextTransaction();
260
+ });
261
+ }
262
+ };
263
+ return enhancedDb;
264
+ }
265
+
266
+ /**
267
+ * Open a replicating connection via libsql to a turso db
268
+ * libsql needs to be enabled on your package.json
269
+ */
270
+ export const openSync = params => {
271
+ if (!isLibsql()) {
272
+ throw new Error('This function is only available for libsql');
273
+ }
274
+ const db = OPSQLite.openSync(params);
275
+ const enhancedDb = enhanceDB(db, params);
276
+ return enhancedDb;
277
+ };
278
+
279
+ /**
280
+ * Open a remote connection via libsql to a turso db
281
+ * libsql needs to be enabled on your package.json
282
+ */
283
+ export const openRemote = params => {
284
+ if (!isLibsql()) {
285
+ throw new Error('This function is only available for libsql');
286
+ }
287
+ const db = OPSQLite.openRemote(params);
288
+ const enhancedDb = enhanceDB(db, params);
289
+ return enhancedDb;
290
+ };
291
+
292
+ /**
293
+ * Open a connection to a local sqlite or sqlcipher database
294
+ * If you want libsql remote or sync connections, use openSync or openRemote
295
+ */
296
+ export const open = params => {
297
+ if (params.location?.startsWith('file://')) {
298
+ console.warn("[op-sqlite] You are passing a path with 'file://' prefix, it's automatically removed");
299
+ params.location = params.location.substring(7);
300
+ }
301
+ const db = OPSQLite.open(params);
302
+ const enhancedDb = enhanceDB(db, params);
303
+ return enhancedDb;
304
+ };
305
+
306
+ /**
307
+ * Moves the database from the assets folder to the default path (check the docs) or to a custom path
308
+ * It DOES NOT OVERWRITE the database if it already exists in the destination path
309
+ * if you want to overwrite the database, you need to pass the overwrite flag as true
310
+ * @param args object with the parameters for the operaiton
311
+ * @returns promise, rejects if failed to move the database, resolves if the operation was successful
312
+ */
313
+ export const moveAssetsDatabase = async args => {
314
+ return NativeModules.OPSQLite.moveAssetsDatabase(args);
315
+ };
316
+
317
+ /**
318
+ * Used to load a dylib file that contains a sqlite 3 extension/plugin
319
+ * It returns the raw path to the actual file which then needs to be passed to the loadExtension function
320
+ * Check the docs for more information
321
+ * @param bundle the iOS bundle identifier of the .framework
322
+ * @param name the file name of the dylib file
323
+ * @returns
324
+ */
325
+ export const getDylibPath = (bundle, name) => {
326
+ return NativeModules.OPSQLite.getDylibPath(bundle, name);
327
+ };
328
+ export const isSQLCipher = () => {
329
+ return OPSQLite.isSQLCipher();
330
+ };
331
+ export const isLibsql = () => {
332
+ return OPSQLite.isLibsql();
333
+ };
334
+ export const isIOSEmbeeded = () => {
335
+ if (Platform.OS !== 'ios') {
336
+ return false;
337
+ }
338
+ return OPSQLite.isIOSEmbedded();
339
+ };
340
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","Storage","global","__OPSQLiteProxy","OPSQLite","Error","installed","install","proxy","IOS_DOCUMENT_PATH","IOS_LIBRARY_PATH","ANDROID_DATABASE_PATH","ANDROID_FILES_PATH","ANDROID_EXTERNAL_FILES_PATH","getConstants","enhanceDB","db","options","lock","queue","inProgress","startNextTransaction","length","tx","shift","setImmediate","start","enhancedDb","delete","attach","detach","executeBatch","loadFile","updateHook","commitHook","rollbackHook","loadExtension","getDbPath","reactiveExecute","sync","close","executeWithHostObjects","query","params","sanitizedParams","map","p","ArrayBuffer","isView","buffer","executeRaw","executeRawAsync","executeSync","intermediateResult","rows","i","rawRows","row","rawRow","j","columnNames","columnName","value","push","res","executeAsync","execute","prepareStatement","stmt","bind","transaction","fn","isFinalized","name","url","commit","result","flushPendingReactiveQueries","rollback","run","executionError","rollbackError","Promise","resolve","reject","then","catch","openSync","isLibsql","openRemote","open","location","startsWith","console","warn","substring","moveAssetsDatabase","args","getDylibPath","bundle","isSQLCipher","isIOSEmbeeded","OS","isIOSEmbedded"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { type TurboModule } from 'react-native';
2
+ export interface Spec extends TurboModule {
3
+ getConstants: () => {
4
+ IOS_DOCUMENT_PATH: string;
5
+ IOS_LIBRARY_PATH: string;
6
+ ANDROID_DATABASE_PATH: string;
7
+ ANDROID_FILES_PATH: string;
8
+ ANDROID_EXTERNAL_FILES_PATH: string;
9
+ };
10
+ install(): boolean;
11
+ moveAssetsDatabase(name: string, extension: string): boolean;
12
+ }
13
+ declare const _default: Spec;
14
+ export default _default;
15
+ //# sourceMappingURL=NativeOPSQLite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeOPSQLite.d.ts","sourceRoot":"","sources":["../../../src/NativeOPSQLite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,YAAY,EAAE,MAAM;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,2BAA2B,EAAE,MAAM,CAAC;KACrC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC;IAEnB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9D;;AAED,wBAAkE"}
@@ -0,0 +1,23 @@
1
+ type StorageOptions = {
2
+ location?: string;
3
+ encryptionKey?: string;
4
+ };
5
+ /**
6
+ * Creates a new async-storage api compatible instance.
7
+ * The encryption key is only used when compiled against the SQLCipher version of op-sqlite.
8
+ */
9
+ export declare class Storage {
10
+ private db;
11
+ constructor(options: StorageOptions);
12
+ getItem(key: string): Promise<string | undefined>;
13
+ getItemSync(key: string): string | undefined;
14
+ setItem(key: string, value: string): Promise<void>;
15
+ setItemSync(key: string, value: string): void;
16
+ removeItem(key: string): Promise<void>;
17
+ removeItemSync(key: string): void;
18
+ clear(): Promise<void>;
19
+ clearSync(): void;
20
+ getAllKeys(): any[];
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=Storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../src/Storage.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,EAAE,CAAK;gBAEH,OAAO,EAAE,cAAc;IAQ7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAavD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IActC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOxC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOhC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI5B,cAAc,CAAC,GAAG,EAAE,MAAM;IAIpB,KAAK;IAIX,SAAS;IAIT,UAAU;CAKX"}