@dqcai/sqlite 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README-all-source.md +1248 -0
- package/README-ps-gemini.md +1180 -0
- package/README.md +2653 -0
- package/lib/adapters/base-adapter.d.ts +8 -0
- package/lib/adapters/base-adapter.d.ts.map +1 -0
- package/lib/adapters/browser-adapter.d.ts +17 -0
- package/lib/adapters/browser-adapter.d.ts.map +1 -0
- package/lib/adapters/bun-adapter.d.ts +7 -0
- package/lib/adapters/bun-adapter.d.ts.map +1 -0
- package/lib/adapters/deno-adapter.d.ts +7 -0
- package/lib/adapters/deno-adapter.d.ts.map +1 -0
- package/lib/adapters/node-adapter.d.ts +7 -0
- package/lib/adapters/node-adapter.d.ts.map +1 -0
- package/lib/adapters/react-native-adapter.d.ts +20 -0
- package/lib/adapters/react-native-adapter.d.ts.map +1 -0
- package/lib/index.d.ts +18 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +2 -0
- package/lib/index.mjs.map +1 -0
- package/lib/index.umd.js +1 -0
- package/lib/index.umd.js.map +1 -0
- package/lib/query-builder.d.ts +19 -0
- package/lib/query-builder.d.ts.map +1 -0
- package/lib/sqlite-manager.d.ts +11 -0
- package/lib/sqlite-manager.d.ts.map +1 -0
- package/lib/types.d.ts +45 -0
- package/lib/types.d.ts.map +1 -0
- package/package.json +63 -0
- package/scripts/obfuscate.mjs +155 -0
- package/scripts/version-manager.js +317 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/query-builder.ts","../src/adapters/base-adapter.ts","../src/adapters/node-adapter.ts","../src/adapters/browser-adapter.ts","../src/adapters/deno-adapter.ts","../src/adapters/bun-adapter.ts","../src/adapters/react-native-adapter.ts","../src/sqlite-manager.ts","../src/index.ts"],"sourcesContent":["export class QueryBuilder {\n private tableName = '';\n private selectFields: string[] = ['*'];\n private whereConditions: string[] = [];\n private orderByFields: string[] = [];\n private limitValue: number | null = null;\n private offsetValue: number | null = null;\n\n static table(name: string): QueryBuilder {\n const builder = new QueryBuilder();\n builder.tableName = name;\n return builder;\n }\n\n select(fields: string | string[]): QueryBuilder {\n this.selectFields = Array.isArray(fields) ? fields : [fields];\n return this;\n }\n\n where(condition: string): QueryBuilder {\n this.whereConditions.push(condition);\n return this;\n }\n\n orderBy(field: string, direction: 'ASC' | 'DESC' = 'ASC'): QueryBuilder {\n this.orderByFields.push(`${field} ${direction}`);\n return this;\n }\n\n limit(count: number): QueryBuilder {\n this.limitValue = count;\n return this;\n }\n\n offset(count: number): QueryBuilder {\n this.offsetValue = count;\n return this;\n }\n\n toSQL(): string {\n let sql = `SELECT ${this.selectFields.join(', ')} FROM ${this.tableName}`;\n \n if (this.whereConditions.length > 0) {\n sql += ` WHERE ${this.whereConditions.join(' AND ')}`;\n }\n \n if (this.orderByFields.length > 0) {\n sql += ` ORDER BY ${this.orderByFields.join(', ')}`;\n }\n \n if (this.limitValue !== null) {\n sql += ` LIMIT ${this.limitValue}`;\n }\n \n if (this.offsetValue !== null) {\n sql += ` OFFSET ${this.offsetValue}`;\n }\n \n return sql;\n }\n\n // Insert methods\n static insert(tableName: string, data: Record<string, any>): string {\n const fields = Object.keys(data);\n const values = Object.values(data);\n const placeholders = values.map(() => '?').join(', ');\n \n return `INSERT INTO ${tableName} (${fields.join(', ')}) VALUES (${placeholders})`;\n }\n\n static update(tableName: string, data: Record<string, any>, where: string): string {\n const sets = Object.keys(data).map(key => `${key} = ?`).join(', ');\n return `UPDATE ${tableName} SET ${sets} WHERE ${where}`;\n }\n\n static delete(tableName: string, where: string): string {\n return `DELETE FROM ${tableName} WHERE ${where}`;\n }\n}\n","import { SQLiteAdapter, SQLiteConnection, SQLiteConfig } from '../types';\nexport abstract class BaseAdapter implements SQLiteAdapter {\n abstract connect(path: string): Promise<SQLiteConnection>;\n abstract isSupported(): boolean;\n\n protected sanitizeSQL(sql: string): string {\n // Basic SQL injection prevention\n return sql.trim();\n }\n\n protected bindParameters(sql: string, params?: any[]): string {\n if (!params || params.length === 0) {\n return sql;\n }\n\n let paramIndex = 0;\n return sql.replace(/\\?/g, () => {\n if (paramIndex < params.length) {\n const param = params[paramIndex++];\n if (typeof param === 'string') {\n return `'${param.replace(/'/g, \"''\")}'`;\n }\n if (param === null || param === undefined) {\n return 'NULL';\n }\n return String(param);\n }\n return '?';\n });\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\nclass NodeSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n return new Promise((resolve, reject) => {\n const sanitizedSQL = this.bindParameters(sql, params);\n \n if (sql.toLowerCase().trim().startsWith('select')) {\n this.db.all(sanitizedSQL, (err: any, rows: SQLiteRow[]) => {\n if (err) {\n reject(new Error(`SQLite error: ${err.message}`));\n } else {\n resolve({\n rows: rows || [],\n rowsAffected: 0\n });\n }\n });\n } else {\n this.db.run(sanitizedSQL, function(this: any, err: any) {\n if (err) {\n reject(new Error(`SQLite error: ${err.message}`));\n } else {\n resolve({\n rows: [],\n rowsAffected: this.changes || 0,\n lastInsertRowId: this.lastID\n });\n }\n });\n }\n });\n }\n\n private bindParameters(sql: string, params?: any[]): string {\n if (!params || params.length === 0) {\n return sql;\n }\n\n let paramIndex = 0;\n return sql.replace(/\\?/g, () => {\n if (paramIndex < params.length) {\n const param = params[paramIndex++];\n if (typeof param === 'string') {\n return `'${param.replace(/'/g, \"''\")}'`;\n }\n if (param === null || param === undefined) {\n return 'NULL';\n }\n return String(param);\n }\n return '?';\n });\n }\n\n async close(): Promise<void> {\n return new Promise((resolve, reject) => {\n this.db.close((err: any) => {\n if (err) {\n reject(new Error(`Error closing database: ${err.message}`));\n } else {\n resolve();\n }\n });\n });\n }\n}\n\nexport class NodeAdapter extends BaseAdapter {\n isSupported(): boolean {\n try {\n return typeof require !== 'undefined' && require('sqlite3') !== undefined;\n } catch {\n return false;\n }\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n return new Promise((resolve, reject) => {\n try {\n const sqlite3 = require('sqlite3').verbose();\n const db = new sqlite3.Database(path, (err: any) => {\n if (err) {\n reject(new Error(`Cannot connect to database: ${err.message}`));\n } else {\n resolve(new NodeSQLiteConnection(db));\n }\n });\n } catch (error) {\n reject(new Error(`SQLite3 module not available: ${error}`));\n }\n });\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\n// Type declarations for sql.js in browser\ndeclare global {\n interface Window {\n SQL?: any;\n initSqlJs?: (config?: any) => Promise<any>;\n }\n}\n\nclass BrowserSQLiteConnection implements SQLiteConnection {\n private worker: Worker | null = null;\n private db: any = null;\n private adapter: BrowserAdapter;\n\n constructor(db: any, adapter: BrowserAdapter, worker?: Worker) {\n this.db = db;\n this.adapter = adapter;\n this.worker = worker || null;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n if (!this.db) {\n throw new Error('Database connection not available');\n }\n\n try {\n const boundSQL = this.adapter.bindParameters(sql, params);\n \n if (sql.toLowerCase().trim().startsWith('select')) {\n const result = this.db.exec(boundSQL);\n const rows: SQLiteRow[] = [];\n \n if (result.length > 0 && result[0].values) {\n const columns = result[0].columns;\n const values = result[0].values;\n \n for (const row of values) {\n const rowObj: SQLiteRow = {};\n columns.forEach((col: string, index: number) => {\n rowObj[col] = row[index];\n });\n rows.push(rowObj);\n }\n }\n \n return {\n rows,\n rowsAffected: 0\n };\n } else {\n this.db.exec(boundSQL);\n return {\n rows: [],\n rowsAffected: 1 // Browser doesn't provide exact count\n };\n }\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n async close(): Promise<void> {\n if (this.db) {\n this.db.close();\n this.db = null;\n }\n if (this.worker) {\n this.worker.terminate();\n this.worker = null;\n }\n }\n}\n\nexport class BrowserAdapter extends BaseAdapter {\n private sqlJs: any = null;\n\n isSupported(): boolean {\n return typeof window !== 'undefined' && \n (typeof window.SQL !== 'undefined' || this.sqlJs !== null);\n }\n\n // Make bindParameters public so BrowserSQLiteConnection can access it\n public bindParameters(sql: string, params?: any[]): string {\n return super.bindParameters(sql, params);\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n try {\n // Try to load sql.js if not already loaded\n if (!this.sqlJs) {\n if (typeof window.SQL !== 'undefined') {\n this.sqlJs = window.SQL;\n } else {\n // Try to load from CDN\n await this.loadSqlJs();\n }\n }\n\n let db;\n \n if (path === ':memory:') {\n // In-memory database\n db = new this.sqlJs.Database();\n } else {\n // Try to load from file\n const data = await this.loadDatabaseFile(path);\n db = new this.sqlJs.Database(data);\n }\n\n return new BrowserSQLiteConnection(db, this);\n } catch (error) {\n throw new Error(`Cannot connect to browser database: ${error}`);\n }\n }\n\n private async loadSqlJs(): Promise<void> {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';\n script.onload = async () => {\n try {\n if (window.initSqlJs) {\n this.sqlJs = await window.initSqlJs({\n locateFile: (file: string) => `https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/${file}`\n });\n }\n resolve();\n } catch (err) {\n reject(err);\n }\n };\n script.onerror = () => reject(new Error('Failed to load sql.js'));\n document.head.appendChild(script);\n });\n }\n\n private async loadDatabaseFile(path: string): Promise<Uint8Array | undefined> {\n // Try to fetch as a file\n try {\n const response = await fetch(path);\n if (response.ok) {\n const arrayBuffer = await response.arrayBuffer();\n return new Uint8Array(arrayBuffer);\n }\n } catch {\n // File doesn't exist, return undefined for new database\n }\n\n return undefined;\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\nclass DenoSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n try {\n const boundSQL = this.bindParameters(sql, params);\n \n if (sql.toLowerCase().trim().startsWith('select')) {\n const result = this.db.queryEntries(boundSQL);\n return {\n rows: result,\n rowsAffected: 0\n };\n } else {\n const result = this.db.query(boundSQL);\n return {\n rows: [],\n rowsAffected: result.length || 1\n };\n }\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n private bindParameters(sql: string, params?: any[]): string {\n if (!params || params.length === 0) {\n return sql;\n }\n\n let paramIndex = 0;\n return sql.replace(/\\?/g, () => {\n if (paramIndex < params.length) {\n const param = params[paramIndex++];\n if (typeof param === 'string') {\n return `'${param.replace(/'/g, \"''\")}'`;\n }\n if (param === null || param === undefined) {\n return 'NULL';\n }\n return String(param);\n }\n return '?';\n });\n }\n\n async close(): Promise<void> {\n if (this.db) {\n this.db.close();\n }\n }\n}\n\nexport class DenoAdapter extends BaseAdapter {\n isSupported(): boolean {\n try {\n return typeof Deno !== 'undefined' && Deno.env !== undefined;\n } catch {\n return false;\n }\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n try {\n // @ts-ignore - Bỏ qua type checking cho dòng này\n const { DB } = await import('https://deno.land/x/sqlite@v3.8.0/mod.ts');\n const db = new DB(path);\n return new DenoSQLiteConnection(db);\n } catch (error) {\n throw new Error(`Cannot connect to Deno database: ${error}`);\n }\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\nclass BunSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n try {\n if (sql.toLowerCase().trim().startsWith('select')) {\n const result = this.db.query(sql).all(params || []);\n return {\n rows: result,\n rowsAffected: 0\n };\n } else {\n const result = this.db.query(sql).run(params || []);\n return {\n rows: [],\n rowsAffected: result.changes || 0,\n lastInsertRowId: result.lastInsertRowid\n };\n }\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n async close(): Promise<void> {\n if (this.db) {\n this.db.close();\n }\n }\n}\n\nexport class BunAdapter extends BaseAdapter {\n isSupported(): boolean {\n try {\n return typeof Bun !== 'undefined' && Bun.version !== undefined;\n } catch {\n return false;\n }\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n try {\n const { Database } = require('bun:sqlite');\n const db = new Database(path);\n return new BunSQLiteConnection(db);\n } catch (error) {\n throw new Error(`Cannot connect to Bun database: ${error}`);\n }\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\nclass ReactNativeSQLiteConnection implements SQLiteConnection {\n private db: any;\n private dbName: string;\n\n constructor(db: any, dbName: string) {\n this.db = db;\n this.dbName = dbName;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n return new Promise((resolve, reject) => {\n try {\n const boundSQL = this.bindParameters(sql, params);\n \n this.db.transaction((tx: any) => {\n tx.executeSql(\n boundSQL,\n [],\n (tx: any, results: any) => {\n const rows: SQLiteRow[] = [];\n \n if (results.rows) {\n for (let i = 0; i < results.rows.length; i++) {\n rows.push(results.rows.item(i));\n }\n }\n \n resolve({\n rows,\n rowsAffected: results.rowsAffected || 0,\n lastInsertRowId: results.insertId\n });\n },\n (tx: any, error: any) => {\n reject(new Error(`SQLite error: ${error.message}`));\n return false;\n }\n );\n });\n } catch (error) {\n reject(new Error(`SQLite execution error: ${error}`));\n }\n });\n }\n\n private bindParameters(sql: string, params?: any[]): string {\n if (!params || params.length === 0) {\n return sql;\n }\n\n let paramIndex = 0;\n return sql.replace(/\\?/g, () => {\n if (paramIndex < params.length) {\n const param = params[paramIndex++];\n if (typeof param === 'string') {\n return `'${param.replace(/'/g, \"''\")}'`;\n }\n if (param === null || param === undefined) {\n return 'NULL';\n }\n return String(param);\n }\n return '?';\n });\n }\n\n async close(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (this.db && this.db.close) {\n this.db.close(\n () => resolve(),\n (error: any) => reject(new Error(`Error closing database: ${error.message}`))\n );\n } else {\n resolve();\n }\n });\n }\n}\n\n// Adapter for react-native-sqlite-storage\nclass ReactNativeSQLiteStorageConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n return new Promise((resolve, reject) => {\n this.db.executeSql(\n sql,\n params || [],\n (results: any) => {\n const rows: SQLiteRow[] = [];\n \n if (results.rows) {\n for (let i = 0; i < results.rows.length; i++) {\n rows.push(results.rows.item(i));\n }\n }\n \n resolve({\n rows,\n rowsAffected: results.rowsAffected || 0,\n lastInsertRowId: results.insertId\n });\n },\n (error: any) => {\n reject(new Error(`SQLite error: ${error.message}`));\n }\n );\n });\n }\n\n async close(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (this.db && this.db.close) {\n this.db.close(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n}\n\n// Adapter for expo-sqlite\nclass ExpoSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n try {\n const result = await this.db.execAsync([{\n sql,\n args: params || []\n }]);\n \n if (result && result[0]) {\n const firstResult = result[0];\n return {\n rows: firstResult.rows || [],\n rowsAffected: firstResult.rowsAffected || 0,\n lastInsertRowId: firstResult.lastInsertRowId\n };\n }\n \n return {\n rows: [],\n rowsAffected: 0\n };\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n async close(): Promise<void> {\n if (this.db && this.db.closeAsync) {\n await this.db.closeAsync();\n }\n }\n}\n\n// Adapter for React Native Windows SQLite\nclass ReactNativeWindowsSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n try {\n if (sql.toLowerCase().trim().startsWith('select')) {\n const result = await this.db.all(sql, params || []);\n return {\n rows: result || [],\n rowsAffected: 0\n };\n } else {\n const result = await this.db.run(sql, params || []);\n return {\n rows: [],\n rowsAffected: result.changes || 0,\n lastInsertRowId: result.lastID\n };\n }\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n async close(): Promise<void> {\n if (this.db && this.db.close) {\n await this.db.close();\n }\n }\n}\n\n// Adapter for react-native-sqlite-2 (Windows specific)\nclass ReactNativeSQLite2Connection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n return new Promise((resolve, reject) => {\n this.db.exec(\n [{ sql, args: params || [] }],\n false,\n (results: any) => {\n if (results && results[0]) {\n const result = results[0];\n if (result.error) {\n reject(new Error(`SQLite error: ${result.error.message}`));\n } else {\n resolve({\n rows: result.rows || [],\n rowsAffected: result.rowsAffected || 0,\n lastInsertRowId: result.insertId\n });\n }\n } else {\n resolve({\n rows: [],\n rowsAffected: 0\n });\n }\n }\n );\n });\n }\n\n async close(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (this.db && this.db.close) {\n this.db.close(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n}\n\nexport class ReactNativeAdapter extends BaseAdapter {\n private adapterType: 'webview' | 'storage' | 'expo' | 'windows' | 'sqlite2' | null = null;\n private isWindows: boolean = false;\n\n isSupported(): boolean {\n try {\n // Check for React Native environment\n const isRN = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';\n if (!isRN) return false;\n\n // Detect Windows platform\n this.isWindows = this.isReactNativeWindows();\n\n // Check for available SQLite libraries\n if (this.isWindows) {\n if (this.hasSQLite2()) {\n this.adapterType = 'sqlite2';\n return true;\n }\n \n if (this.hasWindowsSQLite()) {\n this.adapterType = 'windows';\n return true;\n }\n }\n \n if (this.hasExpoSQLite()) {\n this.adapterType = 'expo';\n return true;\n }\n \n if (this.hasSQLiteStorage()) {\n this.adapterType = 'storage';\n return true;\n }\n \n if (this.hasWebViewSQLite()) {\n this.adapterType = 'webview';\n return true;\n }\n \n return false;\n } catch {\n return false;\n }\n }\n\n private isReactNativeWindows(): boolean {\n try {\n // Check for Windows-specific APIs or platform detection\n return (\n typeof navigator !== 'undefined' && \n navigator.product === 'ReactNative' &&\n (\n // Windows global object check\n typeof globalThis.Windows !== 'undefined' ||\n // React Native Windows module check\n (() => {\n try {\n if (typeof require !== 'undefined') {\n require('react-native-windows');\n return true;\n }\n } catch {\n return false;\n }\n return false;\n })() ||\n // Platform module check\n (() => {\n try {\n if (typeof require !== 'undefined') {\n const { Platform } = require('react-native');\n return Platform && Platform.OS === 'windows';\n }\n } catch {\n return false;\n }\n return false;\n })()\n )\n );\n } catch {\n return false;\n }\n }\n\n private hasExpoSQLite(): boolean {\n try {\n require('expo-sqlite');\n return !this.isWindows; // Expo SQLite might not work on Windows\n } catch {\n return false;\n }\n }\n\n private hasSQLiteStorage(): boolean {\n try {\n require('react-native-sqlite-storage');\n return !this.isWindows; // Standard version might not work on Windows\n } catch {\n return false;\n }\n }\n\n private hasWebViewSQLite(): boolean {\n try {\n return typeof window !== 'undefined' && \n typeof window.openDatabase === 'function' &&\n !this.isWindows; // WebView SQLite not available on Windows\n } catch {\n return false;\n }\n }\n\n private hasWindowsSQLite(): boolean {\n try {\n require('react-native-windows-sqlite');\n return true;\n } catch {\n return false;\n }\n }\n\n private hasSQLite2(): boolean {\n try {\n require('react-native-sqlite-2');\n return true;\n } catch {\n return false;\n }\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n if (!this.isSupported()) {\n throw new Error('React Native SQLite not supported in this environment');\n }\n\n switch (this.adapterType) {\n case 'sqlite2':\n return this.connectSQLite2(path);\n \n case 'windows':\n return this.connectWindows(path);\n \n case 'expo':\n return this.connectExpo(path);\n \n case 'storage':\n return this.connectStorage(path);\n \n case 'webview':\n return this.connectWebView(path);\n \n default:\n throw new Error('No React Native SQLite adapter available');\n }\n }\n\n private async connectSQLite2(path: string): Promise<SQLiteConnection> {\n return new Promise((resolve, reject) => {\n try {\n const SQLite = require('react-native-sqlite-2');\n \n SQLite.openDatabase(\n path,\n '1.0',\n 'Database',\n 200000,\n (db: any) => {\n resolve(new ReactNativeSQLite2Connection(db));\n },\n (error: any) => {\n reject(new Error(`Cannot connect to React Native SQLite-2: ${error.message}`));\n }\n );\n } catch (error) {\n reject(new Error(`React Native SQLite-2 not available: ${error}`));\n }\n });\n }\n\n private async connectWindows(path: string): Promise<SQLiteConnection> {\n try {\n const SQLite = require('react-native-windows-sqlite');\n const db = await SQLite.openDatabase({\n name: path,\n location: 'default'\n });\n return new ReactNativeWindowsSQLiteConnection(db);\n } catch (error) {\n throw new Error(`Cannot connect to React Native Windows SQLite: ${error}`);\n }\n }\n\n private async connectExpo(path: string): Promise<SQLiteConnection> {\n try {\n const SQLite = require('expo-sqlite');\n const db = SQLite.openDatabaseSync(path);\n return new ExpoSQLiteConnection(db);\n } catch (error) {\n throw new Error(`Cannot connect to Expo SQLite database: ${error}`);\n }\n }\n\n private async connectStorage(path: string): Promise<SQLiteConnection> {\n return new Promise((resolve, reject) => {\n try {\n const SQLite = require('react-native-sqlite-storage');\n \n // Enable debugging (optional)\n SQLite.DEBUG(false);\n SQLite.enablePromise(true);\n\n SQLite.openDatabase({\n name: path,\n location: 'default'\n }).then((db: any) => {\n resolve(new ReactNativeSQLiteStorageConnection(db));\n }).catch((error: any) => {\n reject(new Error(`Cannot connect to React Native SQLite database: ${error.message}`));\n });\n } catch (error) {\n reject(new Error(`React Native SQLite Storage not available: ${error}`));\n }\n });\n }\n\n private async connectWebView(path: string): Promise<SQLiteConnection> {\n try {\n if (!window.openDatabase) {\n throw new Error('WebView openDatabase not available');\n }\n const db = window.openDatabase(path, '1.0', 'Database', 2 * 1024 * 1024);\n return new ReactNativeSQLiteConnection(db, path);\n } catch (error) {\n throw new Error(`Cannot connect to WebView SQLite database: ${error}`);\n }\n }\n}","import { SQLiteAdapter, SQLiteConnection, SQLiteConfig } from './types';\nimport { NodeAdapter } from './adapters/node-adapter';\nimport { BrowserAdapter } from './adapters/browser-adapter';\nimport { DenoAdapter } from './adapters/deno-adapter';\nimport { BunAdapter } from './adapters/bun-adapter';\nimport { ReactNativeAdapter } from './adapters/react-native-adapter';\nexport class SQLiteManager {\n private adapters: SQLiteAdapter[] = [];\n private currentAdapter: SQLiteAdapter | null = null;\n\n constructor() {\n this.adapters = [\n new ReactNativeAdapter(), // Check React Native first\n new BunAdapter(),\n new DenoAdapter(),\n new NodeAdapter(),\n new BrowserAdapter()\n ];\n }\n\n private detectEnvironment(): SQLiteAdapter {\n for (const adapter of this.adapters) {\n if (adapter.isSupported()) {\n return adapter;\n }\n }\n throw new Error('No supported SQLite adapter found for this environment');\n }\n\n async connect(config: string | SQLiteConfig): Promise<SQLiteConnection> {\n const path = typeof config === 'string' ? config : config.path;\n \n if (!this.currentAdapter) {\n this.currentAdapter = this.detectEnvironment();\n }\n\n try {\n return await this.currentAdapter.connect(path);\n } catch (error) {\n throw new Error(`Failed to connect to SQLite database: ${error}`);\n }\n }\n\n getEnvironmentInfo(): string {\n try {\n // Safe check for React Native\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n // Safe check for Windows environment\n if (typeof globalThis.Windows !== 'undefined') {\n return 'React Native Windows';\n }\n \n // Safe check for Platform API\n try {\n // Try to import Platform from react-native if available\n const Platform = this.getPlatform();\n if (Platform && Platform.OS === 'windows') {\n return 'React Native Windows';\n }\n } catch {\n // Platform not available, continue\n }\n \n return 'React Native';\n }\n \n // if (typeof Bun !== 'undefined') return 'Bun';\n // if (typeof Deno !== 'undefined') return 'Deno';\n if (typeof window !== 'undefined') return 'Browser';\n if (typeof process !== 'undefined') return 'Node.js';\n return 'Unknown';\n } catch {\n return 'Unknown';\n }\n }\n\n private getPlatform(): any {\n try {\n // Try to require Platform from react-native\n if (typeof require !== 'undefined') {\n const { Platform } = require('react-native');\n return Platform;\n }\n } catch {\n // react-native not available\n }\n \n // Try global Platform\n try {\n return globalThis.Platform;\n } catch {\n return null;\n }\n }\n}\n","import { QueryBuilder } from './query-builder';\r\nimport { SQLiteManager } from './sqlite-manager';\r\nimport { SQLiteConnection } from './types';\r\n\r\nexport { SQLiteManager } from './sqlite-manager';\r\nexport { QueryBuilder } from './query-builder';\r\nexport * from './types';\r\n\r\n// Example usage and main export\r\nexport default class UniversalSqlite {\r\n private manager: SQLiteManager;\r\n private connection: SQLiteConnection | null = null;\r\n\r\n constructor() {\r\n this.manager = new SQLiteManager();\r\n }\r\n\r\n async connect(path: string): Promise<void> {\r\n this.connection = await this.manager.connect(path);\r\n }\r\n\r\n async query(sql: string, params?: any[]) {\r\n if (!this.connection) {\r\n throw new Error('Database not connected');\r\n }\r\n return await this.connection.execute(sql, params);\r\n }\r\n\r\n async close(): Promise<void> {\r\n if (this.connection) {\r\n await this.connection.close();\r\n this.connection = null;\r\n }\r\n }\r\n\r\n getEnvironment(): string {\r\n return this.manager.getEnvironmentInfo();\r\n }\r\n\r\n // Convenience methods\r\n async createTable(name: string, schema: Record<string, string>): Promise<void> {\r\n const fields = Object.entries(schema)\r\n .map(([field, type]) => `${field} ${type}`)\r\n .join(', ');\r\n \r\n await this.query(`CREATE TABLE IF NOT EXISTS ${name} (${fields})`);\r\n }\r\n\r\n async insert(table: string, data: Record<string, any>) {\r\n const sql = QueryBuilder.insert(table, data);\r\n return await this.query(sql, Object.values(data));\r\n }\r\n\r\n async select(table: string, where?: string, params?: any[]) {\r\n let sql = `SELECT * FROM ${table}`;\r\n if (where) {\r\n sql += ` WHERE ${where}`;\r\n }\r\n return await this.query(sql, params);\r\n }\r\n\r\n async update(table: string, data: Record<string, any>, where: string, whereParams?: any[]) {\r\n const sql = QueryBuilder.update(table, data, where);\r\n const params = [...Object.values(data), ...(whereParams || [])];\r\n return await this.query(sql, params);\r\n }\r\n\r\n async delete(table: string, where: string, params?: any[]) {\r\n const sql = QueryBuilder.delete(table, where);\r\n return await this.query(sql, params);\r\n }\r\n}"],"names":["QueryBuilder","name","builder","fields","condition","field","direction","count","sql","tableName","data","placeholders","where","sets","key","BaseAdapter","params","paramIndex","param","NodeSQLiteConnection","db","resolve","reject","sanitizedSQL","err","rows","NodeAdapter","_a","path","sqlite3","error","BrowserSQLiteConnection","adapter","worker","boundSQL","result","columns","values","row","rowObj","col","index","BrowserAdapter","script","file","response","arrayBuffer","DenoSQLiteConnection","DenoAdapter","DB","BunAdapter","Database","BunSQLiteConnection","ReactNativeSQLiteConnection","dbName","tx","results","i","ReactNativeSQLiteStorageConnection","ExpoSQLiteConnection","firstResult","ReactNativeWindowsSQLiteConnection","ReactNativeSQLite2Connection","ReactNativeAdapter","Platform","SQLite","SQLiteManager","config","_b","UniversalSqlite","schema","type","table","whereParams"],"mappings":"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"}
|
package/lib/index.umd.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0x5f35(_0x480224,_0x30dd39){const _0x1c608f=_0x5324();return _0x5f35=function(_0x4017aa,_0x16ab12){_0x4017aa=_0x4017aa-(0x1146+0xa3+0x815*-0x2);let _0x4c4fab=_0x1c608f[_0x4017aa];if(_0x5f35['MwtbVB']===undefined){var _0x4be61e=function(_0x3b9bd4){const _0x5eb3b3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4153b5='',_0x139823='',_0x41b911=_0x4153b5+_0x4be61e;for(let _0x39ccfc=0x26ef+-0x583*0x2+0x595*-0x5,_0x5a81a2,_0x159833,_0x479590=-0x24ef+0x8d0+-0x17*-0x139;_0x159833=_0x3b9bd4['charAt'](_0x479590++);~_0x159833&&(_0x5a81a2=_0x39ccfc%(0xe*0xa1+0x23c9*-0x1+-0x1aff*-0x1)?_0x5a81a2*(0x2377+0x5c*-0x4+-0x21c7)+_0x159833:_0x159833,_0x39ccfc++%(-0x1*-0x21d4+0x1cd0+0x3ea0*-0x1))?_0x4153b5+=_0x41b911['charCodeAt'](_0x479590+(0xd*-0x16f+-0x6a4*-0x1+0xc09))-(-0x1*-0x4ad+-0xd63+0x8c0)!==0x156+-0x13*-0x9d+-0xcfd?String['fromCharCode'](-0x1539+-0xb9a+0x27*0xde&_0x5a81a2>>(-(-0x2629+-0x7*-0x52f+0x1e2)*_0x39ccfc&0x11f3+0x1d21+0x1787*-0x2)):_0x39ccfc:0x22e5+0x986*0x2+0x1*-0x35f1){_0x159833=_0x5eb3b3['indexOf'](_0x159833);}for(let _0x4cf884=-0x12de+0x1e78+-0xb9a,_0x2950f3=_0x4153b5['length'];_0x4cf884<_0x2950f3;_0x4cf884++){_0x139823+='%'+('00'+_0x4153b5['charCodeAt'](_0x4cf884)['toString'](-0x122*0x17+-0x2*0xa65+0x2ee8))['slice'](-(0x1*-0x761+0x20fa+-0x1997*0x1));}return decodeURIComponent(_0x139823);};_0x5f35['bfakBf']=_0x4be61e,_0x480224=arguments,_0x5f35['MwtbVB']=!![];}const _0x54452f=_0x1c608f[0x4*0x21+0x11*0x1f+-0x293],_0x349d93=_0x4017aa+_0x54452f,_0xa99e8a=_0x480224[_0x349d93];if(!_0xa99e8a){const _0x22b2ca=function(_0x57e469){this['SNoMak']=_0x57e469,this['FXlagO']=[-0x1*0x1882+0x193f+0x5e*-0x2,-0x1a90+-0x1*0x14e3+-0x1*-0x2f73,0x1d9b+0x1*0xefd+-0x1*0x2c98],this['hPqnHe']=function(){return'newState';},this['nHzcHC']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['IIwzMc']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x22b2ca['prototype']['vCHwMW']=function(){const _0x3ceaf6=new RegExp(this['nHzcHC']+this['IIwzMc']),_0x2cae46=_0x3ceaf6['test'](this['hPqnHe']['toString']())?--this['FXlagO'][-0x3be*0xa+-0x17f5+0x3d62]:--this['FXlagO'][-0x83*0x47+-0xe21+-0x3*-0x10d2];return this['dHGVGR'](_0x2cae46);},_0x22b2ca['prototype']['dHGVGR']=function(_0x23d53d){if(!Boolean(~_0x23d53d))return _0x23d53d;return this['RGDikr'](this['SNoMak']);},_0x22b2ca['prototype']['RGDikr']=function(_0x53f40b){for(let _0x45a387=-0x2*-0x1273+-0x29e+-0x2248,_0x464f74=this['FXlagO']['length'];_0x45a387<_0x464f74;_0x45a387++){this['FXlagO']['push'](Math['round'](Math['random']())),_0x464f74=this['FXlagO']['length'];}return _0x53f40b(this['FXlagO'][0x7*0x118+0x25b1*-0x1+0xb*0x2bb]);},new _0x22b2ca(_0x5f35)['vCHwMW'](),_0x4c4fab=_0x5f35['bfakBf'](_0x4c4fab),_0x480224[_0x349d93]=_0x4c4fab;}else _0x4c4fab=_0xa99e8a;return _0x4c4fab;},_0x5f35(_0x480224,_0x30dd39);}function _0x5324(){const _0x67b737=['AxzLv2K','yxjHBwu','vM13vK8','uK9nia','ifDirvi','t3fuB0W','zvbYB20','C2vgAwW','q29UzgK','revcvuC','tgj5CeG','EvDvvum','ChrLCG','ig5VDca','zhvSzsa','rxPowfe','tgL0zsa','ywn0ie4','Axnszwe','y1rPs2S','AerwwLe','wKDVB0y','AhnVs2u','BxbxCKC','Aw9U','B1PnAge','Dg9tuuW','D1LOwvu','s2HZzMu','uuXPDgu','vMLLDW','BgL0zs0','qNjVD3m','qKvNy24','C3rYAw4','Dg8GuMu','vfbVu3m','DLftBu8','oc4Wl20','teuGsuy','Aw5Lza','B2PeteS','D3jSq1C','CwXPDgu','DxbKyxq','DevUDMK','zu1HBMe','tKLACuy','BMqVEc8','lxnXBgK','tKr0vLy','lw5HDgK','BLjpEuq','sfbps3O','BenfsM4','CNK6','nw5Owu1HCW','C2vtEw4','BwfW','Dg16v2q','wu12A2C','qK5oDfC','y3rxAw4','B3jKzxi','uxvLCNK','r1HkCxe','zsbLEgu','DhjPBq','qvnd','tMvWDKO','sMHmz1e','qw90ALO','ChvZAa','rfndC0C','vMzJs3C','y3rfEha','reHqwg0','sNvuvxC','Bg9Hzca','DguGywq','AxnxAw4','ie5HDgK','uMTQrNu','Cxf6yvy','BMPZlMm','BgfZDeK','yNf1rgG','B3DZifm','C2nYAxa','BM90ige','yxjYyxK','BwfcwuO','DcbHDMe','BwfUywC','AxnbCNi','v0rRDLm','mZy5mZa0ohjgwwPxua','ieXjtuK','Dw5Kigy','C1DPDgG','DMvYyM8','zsbLCNi','Aw5Nigq','uIbcwsa','DxbWB3i','A2v5CW','qKDkDMe','C2vSzwm','Bg91zgy','B2r1Bgu','tKz6uKK','sLr2vgi','zMzLy3q','zw50CMK','qNLgAwu','mc9ZCwW','tM5Qu3e','AgfZrxG','wKjmsNq','ifnfvca','yxnLigm','zMX2rLe','DMfPBge','odGYmtaZtfHvEMTw','sxDvsgO','qw9HDxi','rxLtAfq','qMfRA1e','B25SB2e','lZeUoc4','z1PWrxC','we9SBwe','EMfrrfG','u1LlzMy','ywXS','DgvYCW','zuDTEhm','z2v0rw4','EvPKz0S','vMLOyue','ms4W','zxHLy3u','B2zMC2u','DgfIyxm','rMfPBgu','Dw5Kzwy','y3vYCMu','CMvHy3q','yxrWqxq','AwXHyMW','tLvmta','uffrv2y','yLzPzxC','EeHoD2K','DgvtCwW','BuzyAxq','BgLTAxq','sgXozM0','uxHrBhK','twnxy0G','EuzrqKW','B3iGDgG','AwjZl3m','zfjQDhO','wufdtMK','B25Uzwm','sMzLEuO','AgvHza','y3rtuuW','D2LUzg8','DwnXBeu','Cg9YDgu','CM9UBwu','rvH0rLi','v2vIvMK','y3royxq','Euvrq1e','ignSB3m','zNvUy3q','EvvTAKW','yxnLig4','qLjKvMe','Dg92r20','Dg8Gzge','zxjdyxm','CMvWBge','C3fSsNm','uMvHy3q','C3rHCNq','q0r2u24','mtm5mtG3m0vyEwPZBG','ofz5wePZta','BM5Ly3q','yxnL','q2fUBM8','u0vmrum','tgL0zti','AM9PBG','DgHLBG','AgfZv2u','yMLUzfa','vfv4uw0','DMfSDwu','zuvSzw0','rw50CMK','Bxveq3i','yxrHyMe','uM93Awq','s3LVsNy','vw5RBM8','yxb0zxi','BMvJDca','zg93CW','zNL2wKG','v2LUzg8','mtu0nZCZrhbosMjK','qLLoA1O','y3DkAMO','vcbjtLq','Cg9mugS','C3fSAxq','vLLTs28','mtqXnta5nePKsvvbsa','vKPlt2i','r29AsfO','D25nu2m','z2v0ugW','ywDKzge','DguGzge','CMfNzq','zM9Yrwe','ie9sreu','D29YA2u','ztmGBw8','BM8Gzge','zePZrKy','y2XVC2u','Cg9tuuW','AeX5Bhe','BMzV','tu53tvO','sxrOv0S','Dg9YywC','tM9Kzs4','m0fLyMTeCW','y1j2ufG','wgzTvg4','Dg9tDhi','CM93C0e','CNvU','Bxn2B0i','yxrPDMu','ywPbvMC','BIbLCNi','zvrHyMW','D2vIDMK','BMjWqM8','zxjZ','u1fmAxq','oI8Vzgu','tMf0Axy','v054A0i','ie5pvca','tuv6qw8','vuDgA1O','C3fSlMO','x19LC00','DguTmJO','zxjuExa','zvbYB3a','ENj2ww0','DMuGv2K','wLbKrLO','sfPODKO','tMXMvvm','zxHWBY0','lxDHC20','B3bLBKq','tM8GuMu','vuvticG','vMD6rui','y2f0y2G','vcaQiey','BwvZC2e','rNLZz3e','AKfysK0','vvbeqvq','qKP2zLO','s1vUBe0','uNrzvM4','tureyM4','zw5eyxq','wgT5z2m','Cvvwrwy','kcGOlIS','sw1oEgi','yxrMB3i','mJa1mdmWmKDwvMzrza','ter2q1y','ywrHChq','qNvMzMu','vxfntuq','CxjkvLi','y3rxzwi','y3qGDg8','zu5Ay08','zgvMAw4','rsbguK8','ywjSzq','BgrZ','tgL0zvm','B3jT','rvqG','C2fUAxq','zw50','rvHju1q','rfvIyue','BhjSChG','tunUDeK','Bg9Hzfm','AxntDxa','u3Pstey','zw52t1C','zfbiqKG','yuroqNC','q1jfqvq','ifnrtgK','zxj0Eq','yNvUoNm','ywjHC2u','y3v0Aw8','id0GpW','Ahr0Chm','zuLeuwq','y29Tl2e','tLzVsgm','revmrvq','AxPLu1e','zxiGzM8','DMvYC2K','zxHWB3i','DezPzwW','AxrLmG','mJmWseXrqNDs','C1PODNm','y29UBMu','vMfSDwu','wefHrge','v3Pws0W','CxvLCNK','ztOG','u1fm','yNrltuS','s1nrCMq','DcbJB24','C3rVCMe','Dg8GqNu','yMXLoIa','CNvJDg8','v3jPyvG','ksSPkYK','uM9gALu','sKzbEg4','zgv0zwm','ANvlzum','Aw5PDfm','zgvMyxu','DgfIBgu','DeLK','mtC3nZzAD2zLELO','BxfPtgm','AM1kuLu','tgL0zs0','zgjoyw0','C01Hz0O','z2uGBM8','z1r6t3C','DgvKigK','BwvUDeK','DgLVBNm','ie9grLm','igrHDge','v1LxDvG','oI8Vy2q','CfbSuve','ELL3rwK','AxrLBq','y3rtDg8','yMfgvxi','ELLeru8','B3i6ia','CYbLBNy','qxn5BMm','ksbwquW','lMPZ','AxjVBM0','yxbWBhK','zffMwNu','igf2ywK','Cffpy24','wLbiEgK','BfHjBg0','Bhzbzuy','Dw1OB0S','Dg8GyNi','BMrVD3m','s3nOEgi','zcb0BYa','q3PxB2O','shvPwMG','ELz5sxO','CvrzteW','Dg9mB3C','sfrRB0C','zMXbqwi','ifDPBMq','AMf4l2W','DLjTzMW','tgXNDxG','sLLiwKy','y2HHBMC','qNvPBgq','q01dr3K','AgfZu1e','D0XZAMG','BMf0zq','AgfZv2K','zxHWBW','AxrL','zfbcsMm','suzKD1e','s0XQsgm','rxjYB3i','DM9UAM0','qxbsy0i','y29UC3q','CwWUANm','t0PzzNy','zxjYB3i','DMuTD2K','mJm0otzmAuPksgm','CuDNr28','teL2ueW','Bu9vyNq','BNrbzge','vwDzsfq','C2u6ia','u1DLCMS','rhDWr3u','BgfIBgu','ELfUu28','u3zOD28','AxnL','zgvSzxq','zxHLyW','y3rPB24','BgvUz3q','uhfVrNO','D2HLCMu','vfbmru0','qxfwBfm','DMuTC3e','C3jJ','qNDxt0K','DMuGu1e','BNnLCNq','BIbKyxq','tfLHq3m','uxnAtMO','CwXkCW','C2vHCMm','Bg9Hzeq','tMfTzq','tuzqr3e','zenOAwW','DfzHBhu','DMLYB24','qunPDgu','Cgf0Aa','D1LdDxC','DNvHDfO','tgz0vKS','BIb0AgK','yxzHAwW','CM93CW','q1vrC3K','rgf0ywi','AxDZEfm','rsbuqui','zMfsBee','wMDNAuW','Dg8GrxG','ChjVzhu','tgfSDLy','CKfivg4','BhLPtwi','tNDntw8','zeHQrLC','z05nzhO','vw5PDMu','Aw5Zzxi','zw52','zxCGB3a','AxmGzw4','zxHLy0e','y3jLyxq','Aw5N','wMz2BLC','tM8GC3u','wM9MsMq'];_0x5324=function(){return _0x67b737;};return _0x5324();}(function(_0x111596,_0x23c6e7){const _0x47b1af={_0x422323:0x321,_0x137e5e:0x3a8,_0x4382dd:0x1c2,_0x5e6178:0x242,_0x33207c:0x25c},_0x59172e=_0x5f35,_0xf52106=_0x111596();while(!![]){try{const _0x45386e=-parseInt(_0x59172e(0x364))/(0x1e30+0xe38+-0x2c67)+-parseInt(_0x59172e(0x1c9))/(0x369+0xe3*0xb+0xd28*-0x1)+-parseInt(_0x59172e(0x1df))/(0x58c+-0x14d9+0xf50)*(parseInt(_0x59172e(0x349))/(0x1d63+-0x1a70+-0x2ef))+parseInt(_0x59172e(_0x47b1af._0x422323))/(0x3*-0x4e5+0x162c+-0x778)*(-parseInt(_0x59172e(0x214))/(-0x328*0x1+-0xe4b+0x3*0x5d3))+-parseInt(_0x59172e(0x3a7))/(0xeeb+-0x1b59+0x1*0xc75)*(parseInt(_0x59172e(_0x47b1af._0x137e5e))/(-0xc*-0x6d+-0x2671+0x215d))+parseInt(_0x59172e(_0x47b1af._0x4382dd))/(-0x1*-0xba5+-0xa8+-0xaf4)*(parseInt(_0x59172e(_0x47b1af._0x5e6178))/(0x4*-0x1b5+0x6d*-0x11+0xe1b))+-parseInt(_0x59172e(_0x47b1af._0x33207c))/(0x2*-0xe5c+0x1*-0x1eb6+0x3b79)*(-parseInt(_0x59172e(0x2a3))/(0x2*-0xc70+-0x1863+0x314f*0x1));if(_0x45386e===_0x23c6e7)break;else _0xf52106['push'](_0xf52106['shift']());}catch(_0x12571d){_0xf52106['push'](_0xf52106['shift']());}}}(_0x5324,0x1*0x73ce7+-0x4*-0x24f1f+-0x2a44*0x35),function(_0x32352e,_0x215633){const _0x586a51={_0xac9cc5:0x1ef,_0x314cef:0x1c7,_0x19597c:0x296,_0x39d4dd:0x37a,_0x23a807:0x1e0,_0x4eaaa0:0x1fd,_0x2890a4:0x23f,_0x17db02:0x2d0,_0x487756:0x314},_0x5565d9={_0x1d6f6a:0x1e2,_0x160758:0x1fb,_0x3426e5:0x251,_0x2b0524:0x2c1,_0x10293b:0x211},_0x30218a={_0x169407:0x311,_0x15ad6e:0x2d7,_0x2ce33b:0x300,_0x14b462:0x339,_0x26d829:0x2fb,_0x622efe:0x398,_0x25ddaf:0x339,_0x1fbdb1:0x216,_0x2e345a:0x2d5,_0x39d8de:0x1ed,_0x5bdef7:0x392,_0x25bb38:0x35e,_0x3ae24a:0x1d8,_0x346af5:0x297,_0x1c8833:0x216,_0x1d6839:0x381,_0x126046:0x257},_0x552e9e=_0x5f35,_0x54cd1b={'mpWrG':_0x552e9e(0x3a4)+_0x552e9e(_0x586a51._0xac9cc5)+'e','ZggiL':_0x552e9e(_0x586a51._0x314cef)+'e2','HTkoG':_0x552e9e(_0x586a51._0x19597c),'dRjtz':_0x552e9e(0x24e)+'ge','juKeC':_0x552e9e(0x1ea)+'ew','sZhvs':function(_0x150c65,_0x5b753d){return _0x150c65===_0x5b753d;},'LftVK':'KPuzK','ZPdFZ':'(((.+'+_0x552e9e(0x253)+'+$','EXtFR':function(_0x133166){return _0x133166();},'BEgcn':function(_0x3ae9cd,_0x31e292){return _0x3ae9cd==_0x31e292;},'cRvPX':'objec'+'t','Khsfe':function(_0x59388a,_0x372607){return _0x59388a!=_0x372607;},'pPlQQ':function(_0x2a9483,_0x32ea1b){return _0x2a9483(_0x32ea1b);},'NlfUS':function(_0x4bcf5b,_0x57f62a){return _0x4bcf5b==_0x57f62a;},'flvFQ':_0x552e9e(0x39b)+_0x552e9e(0x301),'dPBJc':function(_0x53b446,_0x77c5ec,_0x41cef3){return _0x53b446(_0x77c5ec,_0x41cef3);},'CUQsy':function(_0x19b949,_0x89ef1d){return _0x19b949!=_0x89ef1d;},'BYNkZ':_0x552e9e(_0x586a51._0x39d4dd)+'ined'},_0x1a5f89=(function(){const _0x1926c6=_0x552e9e;if(_0x54cd1b[_0x1926c6(0x243)](_0x54cd1b[_0x1926c6(0x2cc)],_0x54cd1b[_0x1926c6(0x2cc)])){let _0x2d7d5f=!![];return function(_0x3e9a2b,_0x1003ab){const _0x5923a0={_0xec3475:0x277},_0x3f0509=_0x2d7d5f?function(){const _0x145f64=_0x5f35;if(_0x1003ab){const _0x1bc853=_0x1003ab[_0x145f64(_0x5923a0._0xec3475)](_0x3e9a2b,arguments);return _0x1003ab=null,_0x1bc853;}}:function(){};return _0x2d7d5f=![],_0x3f0509;};}else try{if(!(typeof _0x2e631d!=_0x1926c6(0x37a)+_0x1926c6(_0x30218a._0x169407)&&_0xbe2d49[_0x1926c6(_0x30218a._0x15ad6e)+'ct']===_0x54cd1b[_0x1926c6(_0x30218a._0x2ce33b)]))return!(-0x3ee+0x22d6+0x1ee7*-0x1);if(this[_0x1926c6(_0x30218a._0x14b462)+_0x1926c6(0x1bf)]=this[_0x1926c6(_0x30218a._0x26d829)+_0x1926c6(_0x30218a._0x622efe)+'iveWi'+_0x1926c6(0x280)](),this[_0x1926c6(_0x30218a._0x25ddaf)+_0x1926c6(0x1bf)]){if(this['hasSQ'+'Lite2']())return this[_0x1926c6(_0x30218a._0x1fbdb1)+'erTyp'+'e']=_0x54cd1b[_0x1926c6(_0x30218a._0x2e345a)],!(0x2*0xc9d+-0x648+-0x12f2*0x1);if(this[_0x1926c6(0x295)+_0x1926c6(0x280)+_0x1926c6(_0x30218a._0x39d8de)+'e']())return this[_0x1926c6(0x216)+_0x1926c6(0x1f7)+'e']=_0x1926c6(_0x30218a._0x5bdef7)+'ws',!(0x19de+-0x341+-0x33b*0x7);}return this[_0x1926c6(_0x30218a._0x25bb38)+_0x1926c6(_0x30218a._0x3ae24a)+_0x1926c6(_0x30218a._0x346af5)]()?(this[_0x1926c6(_0x30218a._0x1c8833)+'erTyp'+'e']=_0x54cd1b[_0x1926c6(0x288)],!(0x86f+-0x3f5+0x23d*-0x2)):this['hasSQ'+_0x1926c6(0x221)+_0x1926c6(0x1dd)+'e']()?(this[_0x1926c6(0x216)+'erTyp'+'e']=_0x54cd1b[_0x1926c6(0x38c)],!(0x3d*0xa1+0xb*-0x74+0x1*-0x2161)):this[_0x1926c6(0x3b0)+_0x1926c6(_0x30218a._0x1d6839)+_0x1926c6(_0x30218a._0x39d8de)+'e']()?(this[_0x1926c6(0x216)+'erTyp'+'e']=_0x54cd1b[_0x1926c6(_0x30218a._0x126046)],!(-0x24bb+-0x12e7+0x2*0x1bd1)):!(-0x22c2*-0x1+0x1*-0x2623+0x362);}catch(_0x412814){return!(0x155f+-0x1*-0xb81+0x1ef*-0x11);}}()),_0x5e1e64=_0x1a5f89(this,function(){const _0x385b45=_0x552e9e;return _0x5e1e64[_0x385b45(_0x5565d9._0x1d6f6a)+_0x385b45(0x2e5)]()[_0x385b45(0x2c1)+'h'](_0x54cd1b[_0x385b45(_0x5565d9._0x160758)])['toStr'+'ing']()[_0x385b45(0x29e)+_0x385b45(_0x5565d9._0x3426e5)+'r'](_0x5e1e64)[_0x385b45(_0x5565d9._0x2b0524)+'h'](_0x385b45(_0x5565d9._0x10293b)+')+)+)'+'+$');});_0x54cd1b[_0x552e9e(0x396)](_0x5e1e64),_0x54cd1b[_0x552e9e(0x30a)](typeof exports,_0x54cd1b[_0x552e9e(_0x586a51._0x23a807)])&&_0x54cd1b[_0x552e9e(0x305)](typeof module,'undef'+_0x552e9e(0x311))?_0x54cd1b[_0x552e9e(0x26b)](_0x215633,exports):_0x54cd1b[_0x552e9e(_0x586a51._0x4eaaa0)](typeof define,_0x54cd1b[_0x552e9e(0x362)])&&define['amd']?_0x54cd1b[_0x552e9e(0x298)](define,[_0x552e9e(_0x586a51._0x2890a4)+'ts'],_0x215633):(_0x32352e=_0x54cd1b[_0x552e9e(_0x586a51._0x17db02)](typeof globalThis,_0x54cd1b[_0x552e9e(0x1c3)])?globalThis:_0x32352e||self,_0x215633(_0x32352e[_0x552e9e(0x2de)+'rsalS'+_0x552e9e(_0x586a51._0x487756)]={}));}(this,function(_0x1aeb18){'use strict';const _0xf669fb={_0x14bf6d:0x37c,_0xc57c34:0x37f,_0x52d316:0x326,_0x5a9760:0x1c7,_0x1ee265:0x375,_0x4568ef:0x37d,_0x59d50c:0x237,_0x1f74e3:0x33d,_0x278756:0x239,_0xe316d4:0x38b,_0x322099:0x29f,_0x3de763:0x36a,_0x26a75a:0x35c,_0x112142:0x2ff,_0x4f9dc4:0x1fe,_0x517be2:0x269,_0x4e3829:0x27c,_0x3f9f5c:0x348,_0x4871ce:0x3a4,_0x21e367:0x1ef,_0x324d96:0x392,_0x2758ed:0x1ea,_0x2ad2b8:0x2d4,_0x5c5955:0x1f3,_0x1a2668:0x37c,_0xc07b48:0x2b8,_0x168e68:0x308,_0x349a5d:0x24e,_0x2ae5e2:0x2bb,_0x3c5874:0x2cd,_0x219915:0x272,_0x355c3e:0x276,_0x41538a:0x225,_0x34aad7:0x312,_0x305e88:0x23d,_0x3b04c2:0x38a,_0x7787a2:0x2e2,_0xd865e6:0x218,_0x181126:0x2d1,_0x3256ec:0x39d,_0x90d829:0x3a9,_0x5b82cc:0x1f5,_0x19f3fe:0x356,_0x46b043:0x315,_0x328b32:0x224,_0x583296:0x370,_0x356860:0x22b,_0x183719:0x244,_0x40ec9b:0x394,_0x43a18c:0x2ea,_0x161198:0x370,_0x30b1d5:0x2c2,_0x5cc453:0x376,_0x48759e:0x1d7,_0xd90ede:0x22b,_0x5b1842:0x394,_0xef0e79:0x398,_0x434004:0x221,_0x53ba95:0x381,_0x4a5fed:0x280,_0x2321ca:0x244,_0x1bf4f2:0x244,_0x3cb985:0x1bf,_0x2f0fe7:0x244,_0x5a07fa:0x1d0,_0x5b37a3:0x21a,_0x311e55:0x307,_0x217e4e:0x213,_0x494382:0x1d7,_0x1c6869:0x2c7,_0x46c1e4:0x2e4,_0x317700:0x1e9,_0xb4972b:0x2b0,_0x4692cd:0x329,_0x4037c8:0x317,_0x5dab5d:0x259,_0x2b70ee:0x21d,_0x40c60a:0x1f8,_0x13bc6d:0x232,_0x23c2c4:0x22d},_0x180c6d={_0x4497db:0x248},_0x31f8e9={_0x1f8e6d:0x315},_0x1598db={_0x13741c:0x248},_0x11b2f3={_0x196553:0x3ae,_0x3a53ae:0x2d3,_0x592c07:0x1f1,_0x321638:0x226},_0x127804={_0x1b53ac:0x346,_0x4614d9:0x265},_0x20dd01={_0x41ae22:0x2b2,_0x3830bc:0x244},_0x5a9937={_0x2d87d0:0x2b2},_0x5962f0={_0x31964c:0x39f,_0x46979e:0x346},_0x17bc06={_0x4f6cf4:0x2b2},_0x48c6e7={_0x5a55ca:0x37a,_0x40545e:0x31c},_0x200b89={_0x4c8896:0x37a,_0x18751b:0x311,_0x19d063:0x313,_0x251a0b:0x3a4,_0x5474cd:0x1c1,_0x50fcb7:0x280,_0x1f2454:0x3a4,_0x10ac46:0x27d,_0x1c5c69:0x208,_0x11f2a4:0x386},_0x3bded5={_0x47bb9e:0x212,_0x199ab3:0x2f5,_0x514c40:0x2f5,_0x24c7d7:0x21b,_0x95294c:0x231,_0x500a7a:0x378,_0x562cfd:0x249},_0x490d84={_0x7236be:0x1ec,_0x10bd86:0x22b,_0x551ea3:0x394},_0x16335a={_0x4b19e6:0x37b,_0x724fff:0x2a7,_0x174e31:0x216,_0x5ca47f:0x1ec},_0x232ba5={_0x589587:0x3b7,_0x4da060:0x2f6,_0xb22851:0x219,_0x9c1389:0x1e1,_0x3ad8c7:0x3ab,_0x33011b:0x381,_0x55be8f:0x249},_0x1b6fbf={_0x2ca9aa:0x37c,_0x1d45c1:0x308},_0xd25264={_0x21397b:0x2ad,_0x2b70f1:0x1c7,_0x130553:0x21e,_0xa49c30:0x2ed,_0x15d1c4:0x30d,_0x317d54:0x240,_0x5cb827:0x266,_0x3905ad:0x1ed,_0x57baf8:0x250},_0x3762eb={_0x26c3a0:0x37c,_0x4a9aa0:0x24d,_0x3b30b8:0x2fa},_0x136077={_0x4872e2:0x1e5},_0x7b8a13={_0xa6241f:0x247,_0x4879d4:0x37c,_0x3e4bdb:0x31c,_0x50865d:0x25f},_0x3d9635={_0x1d9b57:0x394,_0x40d6e4:0x216,_0x4edd37:0x1f7,_0x146d64:0x391,_0x55f55a:0x1bf,_0x39ab68:0x366,_0x329707:0x244,_0x149d92:0x334,_0x5a5772:0x26e,_0x2a81d7:0x244,_0x4f4c52:0x307,_0x4e7856:0x201,_0x588c56:0x2fa,_0x45baf4:0x231,_0xfefe68:0x3bb,_0x17b615:0x2ac},_0x13cffb={_0x10e878:0x2a0,_0x3aea12:0x2b8},_0x3ea54d={_0x2113ca:0x39e,_0x5409b4:0x31d,_0xe6d19b:0x31c,_0x5a29dc:0x280,_0x326ef6:0x31a,_0x322475:0x216,_0x3c5b38:0x244,_0x590a8b:0x296,_0x445702:0x244,_0x184617:0x26e,_0x47719f:0x293,_0x1bbe4a:0x307,_0x2689dc:0x201,_0xceafa5:0x2fa,_0x44dc98:0x2ac},_0x15fc7d={_0x22edf3:0x2cb,_0x5cbc4a:0x33c,_0x4ae5e5:0x39b,_0x452699:0x339,_0x2fb299:0x255,_0x264dc8:0x1bf},_0x13a3ff={_0xf3c692:0x37a,_0x3b10c4:0x373,_0x18a8a8:0x384,_0x28546e:0x27e,_0x40c0c2:0x30e,_0x1825e4:0x2b8,_0x3d7a49:0x308,_0x1588f1:0x1bf},_0x550a66={_0x37108d:0x1c7,_0x594b21:0x339},_0x4c7645={_0x17ebbe:0x238,_0x16e1fb:0x2a6,_0x268c22:0x32f,_0x27eaad:0x27d,_0x2aaca6:0x311,_0x3b6a83:0x1e7,_0x4af3d0:0x208},_0x48eac2={_0x4625c3:0x37c,_0x53c616:0x280},_0x56b47c={_0x26dc46:0x3a4,_0x3e566a:0x25e,_0x1aba39:0x27a,_0x4f6690:0x27a,_0x1405d7:0x2ea,_0x16995e:0x287,_0x123770:0x32c,_0x37218b:0x3a5,_0x79102e:0x34c,_0x54c386:0x281,_0x32543b:0x2fd,_0x32951a:0x2fb,_0x4cca31:0x2e9,_0x3dfae5:0x280,_0x2f44d9:0x216,_0x97b608:0x295,_0x597cdb:0x1ed,_0x268afc:0x1f7,_0x4b8085:0x35e,_0x643a03:0x297,_0x3da98d:0x216,_0x2d5b48:0x296,_0x146906:0x216,_0x46b09e:0x293,_0x4f29c2:0x37a,_0x1ed7ae:0x2d7,_0x160bdb:0x1c1,_0x5e5ce3:0x311,_0x5491d2:0x33a,_0x410f8b:0x1fa,_0x2cb3a9:0x280,_0x5ea57c:0x1cd,_0x504896:0x228,_0x1353b8:0x309,_0x4bd3e4:0x2c4,_0x5e37c8:0x371},_0x1f50d4={_0x43cc2c:0x386},_0x279d13={_0x2c2816:0x339,_0x229fc0:0x1bf},_0x4d22de={_0x5f4e48:0x2b1},_0x3c4527={_0x480198:0x3a5,_0x3d8cae:0x36f,_0x19ac33:0x28f,_0x309fbc:0x3ab,_0x10b545:0x2fa,_0x3601a5:0x1e6,_0x34a37e:0x34e},_0x107ad7={_0xdd7943:0x273},_0x1d5e78={_0x4fbae3:0x2e3,_0xcf8aef:0x2cf,_0x201649:0x359,_0x5eb49b:0x2bc,_0x2b1d50:0x1ed},_0x521a90={_0x27ade2:0x2d1,_0x523b92:0x1c8,_0x484a96:0x254,_0x10c391:0x3b7,_0x3d8c8a:0x2fc},_0x56d844={_0x15a281:0x2fd},_0x120452={_0x5031d5:0x2eb,_0x22375e:0x26f},_0x15bc45={_0x1fd011:0x26f,_0xe56d62:0x24d,_0x172d97:0x2bd},_0x2b5410={_0x587d12:0x2b6,_0x21c453:0x208,_0x2d9918:0x23e},_0x3e109a={_0x4e6c34:0x1d7},_0x2753c9={_0x54b797:0x36b,_0x1a5e49:0x32c,_0x56c797:0x3a5,_0x2edb39:0x34c,_0x266426:0x29a,_0x545cbb:0x1e4,_0x1e5cc8:0x33e,_0x325dec:0x1f0,_0x2e47ad:0x2a1,_0x162bb2:0x34e,_0x100728:0x2a1,_0x538f69:0x1e3,_0x1808d8:0x1ed,_0x47724d:0x271},_0x34b08d={_0x314c4a:0x237,_0x32b877:0x319,_0x258c0d:0x30f,_0x13c476:0x24d,_0x22fd92:0x3bc,_0x46db71:0x378,_0x42718b:0x249},_0x58e3e5={_0x56e948:0x21c,_0x457b5c:0x22e,_0x5ab7ba:0x207,_0x27c88f:0x339,_0x30750e:0x1bf,_0x467450:0x28c,_0x41ab11:0x2e0},_0xe7489d={_0x5855a4:0x3a2},_0x1564da={_0x321493:0x324},_0x128db6={_0x152495:0x278,_0x46632e:0x1cc,_0x34e770:0x2ea,_0xfe2f9a:0x3a5,_0x1a24a0:0x29a,_0x3800bf:0x248,_0x586ac3:0x2b3,_0x3b8797:0x34e},_0x2758d6={_0x3e0fa8:0x24c,_0x2b22f2:0x331},_0x2715a8={_0x52b292:0x1c0,_0x1a843b:0x217},_0x5ececa={_0x37d163:0x20d,_0x3f77a5:0x2ff,_0x1ca19d:0x2a0,_0x58b831:0x233,_0x50a9f9:0x24d,_0x1dad46:0x3bc,_0x2b8f51:0x2bd,_0x1cb472:0x234},_0x5cd26d={_0x160f08:0x2a4,_0x3f3ef6:0x3b4,_0x45f68d:0x2b9,_0x3403f8:0x380,_0x37da58:0x369,_0x1707b4:0x2c5,_0x401645:0x3b1,_0x260819:0x370,_0x163363:0x3a1,_0x3cb31d:0x354,_0x1d9e7d:0x248,_0x1e5100:0x3b5},_0x35f88a={_0x360d8c:0x3a3,_0x18cfb5:0x24a,_0x30c485:0x22a,_0x279a6f:0x2c0,_0x5bc816:0x320,_0x3f8221:0x3a3,_0x2800a2:0x3aa,_0x57dcd0:0x3a3,_0x369e4b:0x2d1,_0x250291:0x3bc,_0x11f167:0x268},_0xa236a8={_0x1f9b57:0x393,_0x1b159d:0x2ea},_0x2b317d={_0x464b51:0x1e7,_0x46d4ba:0x24a,_0xe8851d:0x37a,_0x2241ae:0x311},_0x31f9ce={_0x33d852:0x200,_0x215a62:0x397,_0x1bb748:0x2e1,_0x3fedf0:0x2f6},_0x50df73={_0x4de896:0x1d7,_0x40806a:0x1d3,_0x1cc486:0x1d3},_0x63da41={_0xf9c080:0x32c,_0x14ea6a:0x2d1,_0x371759:0x38e,_0x5dd55f:0x342,_0x56e7e1:0x216,_0xdc2380:0x2ea,_0x283b60:0x370,_0x2d44ae:0x287,_0x27ccb0:0x3a5,_0x12dcf9:0x34c,_0x447267:0x29a,_0x4c5d12:0x3b3,_0x4c2264:0x3b3,_0x292f3e:0x1d1,_0x15029d:0x1ed},_0x54dd89={_0x5c55b1:0x1d3},_0x23a953={_0x2a5909:0x2fe,_0x4204c2:0x2b3,_0x5c3368:0x3a2,_0x560b03:0x252,_0x2ec518:0x34d,_0x498dd9:0x3aa,_0x48073b:0x286,_0x5d53e9:0x1f2,_0x3e95cd:0x1d4},_0xead757={_0x43000d:0x1c7},_0x3b47c0={_0x528b64:0x1d7},_0x295fe0={_0x4c7a12:0x30b},_0x893017={_0x136692:0x2ba,_0x3fd5a8:0x246,_0x332a5c:0x2a2},_0x508b41={_0x42a22e:0x2cf,_0x55f9f4:0x26d,_0x30ea36:0x359},_0x58fe83={_0x2c52ed:0x36f},_0x2ddc9e={_0x1261cc:0x2b3,_0x11dbd5:0x3a2},_0x580c02={_0x422342:0x23b},_0x1da13c={_0x5b4ea0:0x352,_0x4a7e19:0x323,_0x35779e:0x3ae,_0x1d3eb5:0x209,_0x13d72e:0x360},_0x4a2d3e={_0x2997f0:0x352,_0x487efd:0x1c5,_0xf71037:0x274,_0x19cfe0:0x37c},_0x1c4299={_0x175969:0x2d2,_0x1ac35f:0x3ae,_0x3ae4e1:0x2b5,_0x9a99e1:0x2b3,_0x4b65e8:0x2ed,_0xa9f704:0x3ae,_0x37f6a5:0x220,_0x2b7df9:0x2b3,_0x233cc0:0x350,_0x3b57b6:0x34a},_0x3ff1b9={_0x596e03:0x208},_0x1914a5={_0x2e4e0d:0x328,_0x409242:0x35b},_0x5bf704={_0x126002:0x2f1},_0x2ca0d9={_0x510685:0x25a,_0x599896:0x2c3,_0x4a29e4:0x2b5,_0xd14a63:0x266,_0x2ca887:0x220,_0x5d42ad:0x385,_0x4cf505:0x2c6},_0x3091b6=_0x5f35,_0x563139={'jAXJM':'undef'+'ined','yZdgK':_0x3091b6(_0xf669fb._0x14bf6d)+_0x3091b6(0x31c)+'ve','OUKzq':'zewPo','poLPk':'\x20AND\x20','XzNjs':function(_0xb0f8b,_0x483906){return _0xb0f8b>_0x483906;},'MDDbn':function(_0x5d1416,_0x36f93f){return _0x5d1416!==_0x36f93f;},'WriaX':function(_0x35fdd3,_0x24180b){return _0x35fdd3(_0x24180b);},'UgYHT':function(_0x88b55f,_0x237348){return _0x88b55f<_0x237348;},'BGJva':'strin'+'g','Llgux':function(_0x1b3f5f,_0x2d0b96){return _0x1b3f5f==_0x2d0b96;},'mqiLc':_0x3091b6(_0xf669fb._0xc57c34),'tmzWd':function(_0xa01668,_0x478c03){return _0xa01668<_0x478c03;},'KLjHc':_0x3091b6(0x354)+'t','CDvSn':function(_0x48ba76,_0x14c8de){return _0x48ba76(_0x14c8de);},'AqVlS':_0x3091b6(0x31f),'znaQR':_0x3091b6(0x229),'wnMSc':function(_0x2a8593,_0x5c5e9f){return _0x2a8593==_0x5c5e9f;},'RDzoB':function(_0x34b95f,_0x44ec85){return _0x34b95f===_0x44ec85;},'xHNwi':function(_0x57cef2){return _0x57cef2();},'vonjm':function(_0x39eeb4,_0x40a2b9){return _0x39eeb4!=_0x40a2b9;},'DMBrq':function(_0x334d6f,_0xae6ff9){return _0x334d6f(_0xae6ff9);},'sLwnd':_0x3091b6(_0xf669fb._0x52d316),'ZGooF':'InfaH','VPwDD':_0x3091b6(_0xf669fb._0x5a9760)+'e3','eNZcO':function(_0xdc317,_0x5b310d){return _0xdc317!==_0x5b310d;},'JFAxn':function(_0x4d14bb,_0x365911){return _0x4d14bb(_0x365911);},'kBrjI':'gSZeh','qrJVR':_0x3091b6(_0xf669fb._0x1ee265),'KSQrd':function(_0x125fc1,_0x45be77){return _0x125fc1===_0x45be77;},'zVyIz':_0x3091b6(0x2b4),'ajAVg':function(_0x3c1b5d,_0x15fc48){return _0x3c1b5d!=_0x15fc48;},'baFUr':function(_0x388488,_0x10dde1){return _0x388488(_0x10dde1);},'RtYVn':'BaQUa','rAHTn':_0x3091b6(_0xf669fb._0x4568ef),'OJYfv':function(_0x5941e8,_0x9406f8){return _0x5941e8(_0x9406f8);},'qGgGo':_0x3091b6(0x318),'PQQWf':_0x3091b6(_0xf669fb._0x59d50c)+'://cd'+_0x3091b6(_0xf669fb._0x1f74e3)+_0x3091b6(0x355)+'lare.'+_0x3091b6(_0xf669fb._0x278756)+_0x3091b6(0x28b)+_0x3091b6(_0xf669fb._0xe316d4)+_0x3091b6(_0xf669fb._0x322099)+_0x3091b6(_0xf669fb._0x3de763)+_0x3091b6(_0xf669fb._0x26a75a)+_0x3091b6(0x1ff)+_0x3091b6(0x275),'gNMdz':_0x3091b6(_0xf669fb._0x112142),'fyvZH':function(_0x65bced,_0x420a7a){return _0x65bced(_0x420a7a);},'LYaCs':'ITGUO','VJKOb':_0x3091b6(_0xf669fb._0x4f9dc4)+_0x3091b6(0x1c7)+'e','dPHBH':_0x3091b6(0x2aa),'lvAeF':function(_0x52da36,_0x4ca815){return _0x52da36!=_0x4ca815;},'vRmfl':function(_0x3c2c9c,_0x2bb7be){return _0x3c2c9c!==_0x2bb7be;},'veeXy':function(_0x353f0e,_0x1c9375){return _0x353f0e!==_0x1c9375;},'vyTwf':_0x3091b6(_0xf669fb._0x517be2),'gZpEw':_0x3091b6(0x27b),'TPLEM':function(_0x575fdc,_0x210957){return _0x575fdc!=_0x210957;},'KyoJv':_0x3091b6(_0xf669fb._0x4e3829),'IthWK':function(_0x4545e1,_0x3014f0){return _0x4545e1<_0x3014f0;},'hDVZQ':function(_0x56dcb5,_0x1f541d){return _0x56dcb5===_0x1f541d;},'VYmKo':_0x3091b6(_0xf669fb._0x3f9f5c),'IwUHj':_0x3091b6(0x32e),'HZhvJ':function(_0x498896,_0x351c4d){return _0x498896(_0x351c4d);},'HlNfm':function(_0x4f2300,_0x2f1333){return _0x4f2300!=_0x2f1333;},'lyiMb':_0x3091b6(_0xf669fb._0x4871ce)+_0x3091b6(_0xf669fb._0x21e367)+'e','nbpBo':_0x3091b6(_0xf669fb._0x324d96)+'ws','QxQly':_0x3091b6(0x3ba)+'wn','jmJRU':function(_0x276df7,_0x29a2d7){return _0x276df7!==_0x29a2d7;},'BakkQ':'qzWsn','EyShT':_0x3091b6(0x2ca),'pQOcn':'NKnFW','Kshxb':function(_0xc23874,_0x59177f){return _0xc23874!=_0x59177f;},'hLylq':'sqlit'+'e2','oZMha':_0x3091b6(0x24e)+'ge','wLsjh':_0x3091b6(_0xf669fb._0x2758ed)+'ew','eIDQd':_0x3091b6(_0xf669fb._0x2ad2b8),'mOUbt':function(_0x4e644a,_0x1dc514){return _0x4e644a!==_0x1dc514;},'JhLgQ':_0x3091b6(0x2f4),'TeRnY':function(_0x535682,_0x3c90c9){return _0x535682(_0x3c90c9);},'mFXit':function(_0x2a8718,_0x316a2d){return _0x2a8718===_0x316a2d;},'umhoK':_0x3091b6(_0xf669fb._0x5c5955),'vQSmO':function(_0x44afdd,_0xb6c3c8){return _0x44afdd(_0xb6c3c8);},'DSCsG':_0x3091b6(_0xf669fb._0x1a2668)+_0x3091b6(0x31c)+_0x3091b6(_0xf669fb._0xc07b48)+_0x3091b6(_0xf669fb._0x168e68)+_0x3091b6(_0xf669fb._0x349a5d)+'ge','bquDh':function(_0x507ba2,_0x26ab87){return _0x507ba2!==_0x26ab87;},'NDtVV':'React'+_0x3091b6(0x33a)+_0x3091b6(_0xf669fb._0x2ae5e2)+'Lite\x20'+'not\x20s'+_0x3091b6(0x351)+_0x3091b6(0x264)+_0x3091b6(_0xf669fb._0x3c5874)+_0x3091b6(_0xf669fb._0x219915)+_0x3091b6(_0xf669fb._0x355c3e)+_0x3091b6(_0xf669fb._0x41538a),'NFzRI':'nROyD','Aoaur':_0x3091b6(0x296),'msvoB':'sbsvw','XfmTn':'Datab'+_0x3091b6(0x3aa),'SYKff':function(_0xfa2892,_0x40dcd9){return _0xfa2892(_0x40dcd9);},'zQnSo':_0x3091b6(_0xf669fb._0x34aad7),'LalvV':'wpcyQ','ZfvnW':_0x3091b6(0x30d),'GoZHZ':_0x3091b6(0x2e7)+'pport'+'ed\x20SQ'+_0x3091b6(0x2f9)+'adapt'+_0x3091b6(_0xf669fb._0x305e88)+_0x3091b6(0x34b)+_0x3091b6(_0xf669fb._0x3b04c2)+_0x3091b6(_0xf669fb._0x7787a2)+_0x3091b6(0x2c7)+'ment','dHjFW':function(_0x5ef3df,_0xcc4777){return _0x5ef3df==_0xcc4777;},'wrlCW':function(_0x1ca334,_0x41d11a){return _0x1ca334===_0x41d11a;},'JfeyJ':function(_0x2f59ec,_0x3a0475){return _0x2f59ec===_0x3a0475;},'yNCEM':_0x3091b6(0x3a4)+_0x3091b6(0x33a)+'ve','wHXNQ':_0x3091b6(0x309)+'er','LIvPL':function(_0x253ef7,_0x592fd4){return _0x253ef7(_0x592fd4);},'RzZdV':_0x3091b6(_0xf669fb._0xd865e6),'tovGm':_0x3091b6(0x24b),'JTvTb':_0x3091b6(_0xf669fb._0x181126)+_0x3091b6(_0xf669fb._0x3256ec)+'ot\x20co'+_0x3091b6(_0xf669fb._0x90d829)+'ed','envOW':_0x3091b6(_0xf669fb._0x5b82cc)+_0x3091b6(_0xf669fb._0x19f3fe)};class _0x31eb6e{constructor(){const _0x8fbc99=_0x3091b6;this[_0x8fbc99(_0x2ca0d9._0x510685)+_0x8fbc99(_0x2ca0d9._0x599896)]='',this['selec'+_0x8fbc99(0x240)+'ds']=['*'],this[_0x8fbc99(_0x2ca0d9._0x4a29e4)+'Condi'+_0x8fbc99(_0x2ca0d9._0xd14a63)]=[],this[_0x8fbc99(0x328)+_0x8fbc99(0x35b)+_0x8fbc99(_0x2ca0d9._0x2ca887)]=[],this[_0x8fbc99(_0x2ca0d9._0x5d42ad)+_0x8fbc99(0x245)]=null,this['offse'+_0x8fbc99(_0x2ca0d9._0x4cf505)+'e']=null;}static[_0x3091b6(0x25a)](_0x362e16){const _0x25da13=_0x3091b6,_0x49a1f5=new _0x31eb6e();return _0x49a1f5[_0x25da13(0x25a)+'Name']=_0x362e16,_0x49a1f5;}[_0x3091b6(0x354)+'t'](_0x457869){const _0x3963e1=_0x3091b6;return this['selec'+_0x3963e1(0x240)+'ds']=Array[_0x3963e1(0x347)+'ay'](_0x457869)?_0x457869:[_0x457869],this;}['where'](_0x14b225){const _0x4fc81a=_0x3091b6;return this[_0x4fc81a(0x2b5)+_0x4fc81a(_0x5bf704._0x126002)+'tions'][_0x4fc81a(0x331)](_0x14b225),this;}[_0x3091b6(0x328)+'By'](_0x23b5c4,_0x5c3da8=_0x3091b6(0x32d)){const _0x2e36bf=_0x3091b6;return this[_0x2e36bf(_0x1914a5._0x2e4e0d)+_0x2e36bf(_0x1914a5._0x409242)+'lds'][_0x2e36bf(0x331)](_0x23b5c4+'\x20'+_0x5c3da8),this;}[_0x3091b6(0x385)](_0x40c5cf){const _0x51354b=_0x3091b6;return this[_0x51354b(0x385)+_0x51354b(0x245)]=_0x40c5cf,this;}[_0x3091b6(0x377)+'t'](_0xd4da5){const _0x4f44e3=_0x3091b6;if(_0x4f44e3(0x22f)!==_0x4f44e3(0x28e))return this['offse'+_0x4f44e3(0x2c6)+'e']=_0xd4da5,this;else{if(typeof _0x1580d1!=_0x563139[_0x4f44e3(_0x3ff1b9._0x596e03)]){const {Platform:_0x49c86a}=_0xf46622(_0x563139['yZdgK']);return _0x49c86a&&_0x49c86a['OS']==='windo'+'ws';}}}[_0x3091b6(0x303)](){const _0x1b85e0=_0x3091b6;if(_0x1b85e0(_0x1c4299._0x175969)===_0x563139['OUKzq'])return!(0x1*0x9be+0x1e13*0x1+0x34*-0xc4);else{let _0x22c5b1=_0x1b85e0(0x3ac)+'T\x20'+this[_0x1b85e0(0x354)+_0x1b85e0(0x240)+'ds'][_0x1b85e0(_0x1c4299._0x1ac35f)](',\x20')+('\x20FROM'+'\x20')+this[_0x1b85e0(0x25a)+_0x1b85e0(0x2c3)];return this[_0x1b85e0(_0x1c4299._0x3ae4e1)+'Condi'+_0x1b85e0(0x266)][_0x1b85e0(_0x1c4299._0x9a99e1)+'h']>-0xe8d+-0x22d5+0x3162&&(_0x22c5b1+=_0x1b85e0(_0x1c4299._0x4b65e8)+'E\x20'+this['where'+_0x1b85e0(0x2f1)+_0x1b85e0(0x266)][_0x1b85e0(_0x1c4299._0xa9f704)](_0x563139[_0x1b85e0(0x1c6)])),_0x563139['XzNjs'](this[_0x1b85e0(0x328)+_0x1b85e0(0x35b)+_0x1b85e0(_0x1c4299._0x37f6a5)][_0x1b85e0(_0x1c4299._0x2b7df9)+'h'],0x980+0x1*-0x1a1d+0x109d)&&(_0x22c5b1+=_0x1b85e0(0x1d2)+_0x1b85e0(_0x1c4299._0x233cc0)+this['order'+'ByFie'+'lds'][_0x1b85e0(0x3ae)](',\x20')),_0x563139[_0x1b85e0(0x20d)](this['limit'+_0x1b85e0(0x245)],null)&&(_0x22c5b1+=_0x1b85e0(_0x1c4299._0x3b57b6)+'T\x20'+this[_0x1b85e0(0x385)+_0x1b85e0(0x245)]),this[_0x1b85e0(0x377)+_0x1b85e0(0x2c6)+'e']!==null&&(_0x22c5b1+=_0x1b85e0(0x267)+_0x1b85e0(0x223)+this[_0x1b85e0(0x377)+'tValu'+'e']),_0x22c5b1;}}static['inser'+'t'](_0x37c2d4,_0xa5b54e){const _0x5bca09=_0x3091b6,_0x344877={'flAAb':function(_0x255864,_0x130c38){const _0x309b2e=_0x5f35;return _0x563139[_0x309b2e(0x252)](_0x255864,_0x130c38);}};if(_0x563139[_0x5bca09(0x20d)](_0x5bca09(0x35f),'hjKPc')){const _0x5bb93e=Object[_0x5bca09(_0x4a2d3e._0x2997f0)](_0xa5b54e),_0x4b3093=Object[_0x5bca09(0x3b3)+'s'](_0xa5b54e)['map'](()=>'?')[_0x5bca09(0x3ae)](',\x20');return'INSER'+_0x5bca09(_0x4a2d3e._0x487efd)+'O\x20'+_0x37c2d4+'\x20('+_0x5bb93e[_0x5bca09(0x3ae)](',\x20')+(_0x5bca09(_0x4a2d3e._0xf71037)+_0x5bca09(0x202))+_0x4b3093+')';}else{try{if(typeof _0x2abe97!='undef'+_0x5bca09(0x311))return _0x344877[_0x5bca09(0x289)](_0x31a73a,_0x5bca09(_0x4a2d3e._0x19cfe0)+'-nati'+'ve-wi'+_0x5bca09(0x280)),!(0x43*-0x6d+0x632+0x1655);}catch(_0xe8e440){return!(-0x297+-0x1a7*0x8+0xfd0);}return!(0x194a+0x7a*-0x49+0x981);}}static[_0x3091b6(_0xf669fb._0x46b043)+'e'](_0x43ff4e,_0x4720e3,_0x47333a){const _0x36181c=_0x3091b6,_0x3c7368=Object[_0x36181c(_0x1da13c._0x5b4ea0)](_0x4720e3)[_0x36181c(_0x1da13c._0x4a7e19)](_0x45f0ae=>_0x45f0ae+_0x36181c(0x236))[_0x36181c(_0x1da13c._0x35779e)](',\x20');return _0x36181c(_0x1da13c._0x1d3eb5)+'E\x20'+_0x43ff4e+_0x36181c(_0x1da13c._0x13d72e)+_0x3c7368+('\x20WHER'+'E\x20')+_0x47333a;}static['delet'+'e'](_0x4b6e44,_0x295b7f){const _0x292a98=_0x3091b6;return _0x292a98(_0x580c02._0x422342)+_0x292a98(0x21e)+'M\x20'+_0x4b6e44+(_0x292a98(0x2ed)+'E\x20')+_0x295b7f;}}class _0x4a221c{[_0x3091b6(_0xf669fb._0x328b32)+_0x3091b6(0x23c)+'L'](_0x316802){return _0x316802['trim']();}[_0x3091b6(0x3b1)+_0x3091b6(0x2ea)+_0x3091b6(_0xf669fb._0x583296)](_0x7a55dc,_0x4c7671){const _0x334507={_0x1e54a8:0x28d,_0x28b7b7:0x25d},_0x189e72=_0x3091b6;if(!_0x4c7671||_0x4c7671[_0x189e72(_0x2ddc9e._0x1261cc)+'h']===-0xf79+-0x22c9*-0x1+0xce*-0x18)return _0x7a55dc;let _0x1efdc8=-0xa9f*-0x1+-0x8d2*-0x1+-0x1371;return _0x7a55dc[_0x189e72(_0x2ddc9e._0x11dbd5)+'ce'](/\?/g,()=>{const _0x4af70d=_0x189e72;if(_0x563139[_0x4af70d(0x2a8)](_0x1efdc8,_0x4c7671[_0x4af70d(0x2b3)+'h'])){const _0x379a46=_0x4c7671[_0x1efdc8++];return typeof _0x379a46==_0x563139[_0x4af70d(0x353)]?'\x27'+_0x379a46['repla'+'ce'](/'/g,'\x27\x27')+'\x27':_0x563139[_0x4af70d(_0x334507._0x1e54a8)](_0x379a46,null)?_0x563139[_0x4af70d(_0x334507._0x28b7b7)]:String(_0x379a46);}return'?';});}}class _0x376edd{constructor(_0x5be5eb){this['db']=_0x5be5eb;}async[_0x3091b6(0x376)+'te'](_0x223c88,_0x380294){const _0x34d8f6={_0x240e74:0x20f},_0x479af6={_0x19c43a:0x3a6},_0x591b8b=_0x3091b6,_0x4c8620={'JuTUw':function(_0x1dd386,_0x33795f){const _0x50d142=_0x5f35;return _0x563139[_0x50d142(_0x479af6._0x19c43a)](_0x1dd386,_0x33795f);},'Xkygc':function(_0x1ea5c5,_0x3965b4){return _0x1ea5c5(_0x3965b4);}};if(_0x563139[_0x591b8b(0x2b7)]==='bTPeB'){const _0x17c2a7=[];if(_0x1689f0[_0x591b8b(0x2cf)]){for(let _0x3f9b6e=0x1fe7*0x1+-0x9b7*0x2+-0xc79;_0x563139['tmzWd'](_0x3f9b6e,_0x3a58c1[_0x591b8b(0x2cf)][_0x591b8b(0x2b3)+'h']);_0x3f9b6e++)_0x17c2a7['push'](_0x364459[_0x591b8b(_0x508b41._0x42a22e)][_0x591b8b(_0x508b41._0x55f9f4)](_0x3f9b6e));}_0x59bade({'rows':_0x17c2a7,'rowsAffected':_0x434550[_0x591b8b(0x1e3)+_0x591b8b(_0x508b41._0x30ea36)+'ed']||0xa73+-0x1*0x226d+0x22e*0xb,'lastInsertRowId':_0x3585b4['inser'+'tId']});}else return new Promise((_0x5200b4,_0x1d7308)=>{const _0x11c1cd={_0x2b0071:0x206},_0x35e834=_0x591b8b,_0x3c5dc6=this['bindP'+'arame'+_0x35e834(0x370)](_0x223c88,_0x380294);_0x223c88['toLow'+_0x35e834(0x3a1)+'e']()['trim']()['start'+_0x35e834(0x34c)](_0x563139[_0x35e834(0x29a)])?this['db'][_0x35e834(_0x58fe83._0x2c52ed)](_0x3c5dc6,(_0x32e3f2,_0x4f839)=>{const _0x191ba6=_0x35e834;_0x32e3f2?_0x4c8620[_0x191ba6(0x336)](_0x1d7308,new Error(_0x191ba6(0x1ed)+_0x191ba6(0x34e)+_0x191ba6(0x271)+_0x32e3f2[_0x191ba6(_0x11c1cd._0x2b0071)+'ge'])):_0x5200b4({'rows':_0x4f839||[],'rowsAffected':0x0});}):this['db']['run'](_0x3c5dc6,function(_0x46a7ff){const _0xe280d8=_0x35e834;_0x46a7ff?_0x4c8620[_0xe280d8(_0x34d8f6._0x240e74)](_0x1d7308,new Error('SQLit'+'e\x20err'+_0xe280d8(0x271)+_0x46a7ff[_0xe280d8(0x206)+'ge'])):_0x5200b4({'rows':[],'rowsAffected':this[_0xe280d8(0x28f)+'es']||-0x8*-0x6d+-0x1*-0x1005+-0x136d,'lastInsertRowId':this['lastI'+'D']});});});}[_0x3091b6(0x3b1)+_0x3091b6(0x2ea)+_0x3091b6(_0xf669fb._0x583296)](_0x592133,_0x495b35){const _0x23fd29={_0x476434:0x1cc},_0x1fb439=_0x3091b6,_0x3847b1={'LbypH':function(_0x1a70e9,_0x3d692f){const _0x4fac5b=_0x5f35;return _0x563139[_0x4fac5b(0x252)](_0x1a70e9,_0x3d692f);},'TUxQm':function(_0x568337,_0x378aaf){return _0x568337===_0x378aaf;},'muDCr':_0x563139['znaQR'],'ykFIB':_0x1fb439(_0x295fe0._0x4c7a12)+'g','BwWOI':function(_0x518390,_0x3d91ec){const _0x5f2b66=_0x1fb439;return _0x563139[_0x5f2b66(_0x23fd29._0x476434)](_0x518390,_0x3d91ec);},'XAaDa':'NULL'};if(!_0x495b35||_0x563139['RDzoB'](_0x495b35[_0x1fb439(0x2b3)+'h'],0x1de6+0x1bcc+-0xb8a*0x5))return _0x592133;let _0xa8ba95=0x3c2+0x78a*-0x3+0x12dc;return _0x592133['repla'+'ce'](/\?/g,()=>{const _0x4af02f=_0x1fb439;if(_0x3847b1[_0x4af02f(0x3b2)](_0x3847b1[_0x4af02f(0x3b6)],_0x3847b1[_0x4af02f(0x3b6)])){if(_0xa8ba95<_0x495b35[_0x4af02f(0x2b3)+'h']){const _0x464ac0=_0x495b35[_0xa8ba95++];return typeof _0x464ac0==_0x3847b1['ykFIB']?'\x27'+_0x464ac0['repla'+'ce'](/'/g,'\x27\x27')+'\x27':_0x3847b1[_0x4af02f(_0x893017._0x136692)](_0x464ac0,null)?_0x3847b1[_0x4af02f(_0x893017._0x3fd5a8)]:String(_0x464ac0);}return'?';}else return _0x3847b1[_0x4af02f(0x2f3)](_0x2b5ba4,_0x4af02f(0x37c)+_0x4af02f(0x31c)+_0x4af02f(_0x893017._0x332a5c)+'ndows'+_0x4af02f(0x31a)+'te'),!(-0x6*0x255+0x47b+0x983*0x1);});}async['close'](){const _0x581320={_0x31400b:0x2a9,_0x1d7f95:0x206},_0x4729e4={_0xb8f5dd:0x382},_0x464859={'IvxuN':function(_0x3d31fd){const _0x30f944=_0x5f35;return _0x563139[_0x30f944(_0x4729e4._0xb8f5dd)](_0x3d31fd);}};return new Promise((_0x30b295,_0x15826d)=>{const _0x128baf=_0x5f35;this['db'][_0x128baf(_0x3b47c0._0x528b64)](_0x404bc1=>{const _0x350a02=_0x128baf;_0x404bc1?_0x15826d(new Error('Error'+'\x20clos'+_0x350a02(0x34f)+_0x350a02(0x3b7)+_0x350a02(_0x581320._0x31400b)+_0x404bc1[_0x350a02(_0x581320._0x1d7f95)+'ge'])):_0x464859['IvxuN'](_0x30b295);});});}}class _0x1600cb extends _0x4a221c{[_0x3091b6(_0xf669fb._0x356860)+'porte'+'d'](){const _0x2e2702=_0x3091b6;try{return _0x563139[_0x2e2702(0x29c)](typeof require,_0x563139[_0x2e2702(0x208)])&&_0x563139['MDDbn'](_0x563139['DMBrq'](require,_0x2e2702(_0xead757._0x43000d)+'e3'),void(0x23c0+0x1*-0xc25+-0x179b));}catch(_0xe26ea1){return!(0x397*0x2+-0xdb9+-0x1a3*-0x4);}}async[_0x3091b6(_0xf669fb._0x183719)+'ct'](_0x412338){const _0x4dfd51={_0x2610b9:0x3a0,_0x4b76df:0x206};return new Promise((_0x4051b2,_0x419f7d)=>{const _0x1c5f12={_0x5e3ba3:0x1ed,_0x1cc4f3:0x34e,_0xf00dcb:0x271,_0x20143f:0x2a1,_0xe4d399:0x1e3},_0x2a08d1=_0x5f35,_0x1a816c={'cwJjj':function(_0x589b5f,_0x109c53){return _0x589b5f==_0x109c53;},'VfcKw':function(_0x5c696b,_0x4cab03){return _0x5c696b(_0x4cab03);}};try{if(_0x563139['sLwnd']===_0x563139[_0x2a08d1(_0x23a953._0x2a5909)]){const _0x2d4db9={_0x1cbff7:0x330,_0x45c1ae:0x283},_0x58edf0={'AotjZ':function(_0x419abc,_0x28e683){return _0x419abc<_0x28e683;},'CzWoj':function(_0x437605,_0x13f308){const _0x3c0eed=_0x2a08d1;return _0x1a816c[_0x3c0eed(0x1c4)](_0x437605,_0x13f308);}};if(!_0x1f5eba||_0x49106c[_0x2a08d1(_0x23a953._0x4204c2)+'h']===0xc*0x225+0x234e+-0x1e85*0x2)return _0x373c08;let _0x1eafbd=-0x1*0x199b+-0x18e7+-0x1e*-0x1af;return _0x252ae4[_0x2a08d1(_0x23a953._0x5c3368)+'ce'](/\?/g,()=>{const _0x4c229b=_0x2a08d1;if(_0x58edf0[_0x4c229b(_0x2d4db9._0x1cbff7)](_0x1eafbd,_0x3e4a81['lengt'+'h'])){const _0x2a1718=_0x44b142[_0x1eafbd++];return typeof _0x2a1718==_0x4c229b(0x30b)+'g'?'\x27'+_0x2a1718[_0x4c229b(0x3a2)+'ce'](/'/g,'\x27\x27')+'\x27':_0x58edf0[_0x4c229b(_0x2d4db9._0x45c1ae)](_0x2a1718,null)?'NULL':_0x1ad3b6(_0x2a1718);}return'?';});}else{const _0x46fe69=_0x563139[_0x2a08d1(_0x23a953._0x560b03)](require,_0x563139['VPwDD'])[_0x2a08d1(_0x23a953._0x2ec518)+'se'](),_0x261df8=new _0x46fe69[(_0x2a08d1(0x2d1))+(_0x2a08d1(_0x23a953._0x498dd9))](_0x412338,_0x473a0b=>{const _0x327d9c=_0x2a08d1;_0x473a0b?_0x419f7d(new Error('Canno'+_0x327d9c(0x24d)+_0x327d9c(0x3bc)+_0x327d9c(_0x4dfd51._0x2610b9)+'tabas'+_0x327d9c(0x249)+_0x473a0b[_0x327d9c(_0x4dfd51._0x4b76df)+'ge'])):_0x4051b2(new _0x376edd(_0x261df8));});}}catch(_0x1a6fe7){_0x563139['eNZcO'](_0x2a08d1(_0x23a953._0x48073b),_0x2a08d1(_0x23a953._0x5d53e9))?_0x563139[_0x2a08d1(0x255)](_0x419f7d,new Error('SQLit'+_0x2a08d1(_0x23a953._0x3e95cd)+'dule\x20'+_0x2a08d1(0x342)+'vaila'+_0x2a08d1(0x250)+_0x1a6fe7)):this['db']['exec']([{'sql':_0x3c9822,'args':_0xd8b915||[]}],!(0x1097+0x13*0x1e2+0xd17*-0x4),_0x16148c=>{const _0x5bf4a0=_0x2a08d1;if(_0x16148c&&_0x16148c[-0x2072*-0x1+0x34*0x80+-0x2*0x1d39]){const _0x2aae48=_0x16148c[0xc53*-0x2+0x1801*0x1+0xa5];_0x2aae48['error']?_0x4b18de(new _0xc2bb38(_0x5bf4a0(_0x1c5f12._0x5e3ba3)+_0x5bf4a0(_0x1c5f12._0x1cc4f3)+_0x5bf4a0(_0x1c5f12._0xf00dcb)+_0x2aae48[_0x5bf4a0(_0x1c5f12._0x20143f)]['messa'+'ge'])):_0x1a816c[_0x5bf4a0(0x333)](_0x57aba3,{'rows':_0x2aae48[_0x5bf4a0(0x2cf)]||[],'rowsAffected':_0x2aae48[_0x5bf4a0(_0x1c5f12._0xe4d399)+'ffect'+'ed']||0x47+0x170b*-0x1+0x16c4,'lastInsertRowId':_0x2aae48[_0x5bf4a0(0x2df)+'tId']});}else _0x393b30({'rows':[],'rowsAffected':0x0});});}});}}class _0x2ef833{constructor(_0x3f10a2,_0x2c181b,_0x5c172d){const _0x52ce14=_0x3091b6;this[_0x52ce14(0x1d3)+'r']=null,this['db']=null,this['db']=_0x3f10a2,this['adapt'+'er']=_0x2c181b,this[_0x52ce14(_0x54dd89._0x5c55b1)+'r']=_0x5c172d||null;}async['execu'+'te'](_0x323249,_0x12ba90){const _0x235009=_0x3091b6;if('yZXvM'===_0x563139['kBrjI'])return _0x3db7f8[_0x235009(_0x63da41._0xf9c080)]();else{if(!this['db'])throw new Error(_0x235009(_0x63da41._0x14ea6a)+_0x235009(0x361)+_0x235009(_0x63da41._0x371759)+'tion\x20'+_0x235009(_0x63da41._0x5dd55f)+_0x235009(0x363)+'ble');try{const _0x3b80ab=this[_0x235009(_0x63da41._0x56e7e1)+'er']['bindP'+_0x235009(_0x63da41._0xdc2380)+_0x235009(_0x63da41._0x283b60)](_0x323249,_0x12ba90);if(_0x323249[_0x235009(_0x63da41._0x2d44ae)+'erCas'+'e']()[_0x235009(0x32c)]()[_0x235009(_0x63da41._0x27ccb0)+_0x235009(_0x63da41._0x12dcf9)](_0x563139[_0x235009(_0x63da41._0x447267)])){const _0x54236d=this['db'][_0x235009(0x2b1)](_0x3b80ab),_0x3c0cf3=[];if(_0x54236d[_0x235009(0x2b3)+'h']>-0xf*-0x7a+0x1*-0x18ad+0x1187*0x1&&_0x54236d[0x5a9+-0x15*0x11b+0x118e][_0x235009(_0x63da41._0x4c5d12)+'s']){const _0x31892e=_0x54236d[-0x136+0xdcc*0x2+-0x266*0xb]['colum'+'ns'],_0x63658f=_0x54236d[0x19c6+0x2087+0xf*-0x3e3][_0x235009(_0x63da41._0x4c2264)+'s'];for(const _0x204e8d of _0x63658f){const _0xac837c={};_0x31892e[_0x235009(_0x63da41._0x292f3e)+'ch']((_0x4365b6,_0x2353de)=>{_0xac837c[_0x4365b6]=_0x204e8d[_0x2353de];}),_0x3c0cf3[_0x235009(0x331)](_0xac837c);}}return{'rows':_0x3c0cf3,'rowsAffected':0x0};}else return this['db'][_0x235009(0x2b1)](_0x3b80ab),{'rows':[],'rowsAffected':0x1};}catch(_0x537c7c){throw new Error(_0x235009(_0x63da41._0x15029d)+_0x235009(0x34e)+_0x235009(0x271)+_0x537c7c);}}}async[_0x3091b6(0x1d7)](){const _0x3818ff=_0x3091b6;this['db']&&(this['db'][_0x3818ff(_0x50df73._0x4de896)](),this['db']=null),this[_0x3818ff(0x1d3)+'r']&&(this[_0x3818ff(_0x50df73._0x40806a)+'r']['termi'+_0x3818ff(0x294)](),this[_0x3818ff(_0x50df73._0x1cc486)+'r']=null);}}class _0x3b0bc8 extends _0x4a221c{constructor(){const _0x1cb6ed=_0x3091b6;if(_0x563139[_0x1cb6ed(0x24c)](_0x1cb6ed(0x2b4),_0x563139[_0x1cb6ed(0x285)]))super(...arguments),this['sqlJs']=null;else{if(!_0x12fb47[_0x1cb6ed(_0x31f9ce._0x33d852)+_0x1cb6ed(0x3b7)+'se'])throw new _0xfa812c(_0x1cb6ed(_0x31f9ce._0x215a62)+_0x1cb6ed(_0x31f9ce._0x1bb748)+'enDat'+_0x1cb6ed(0x234)+_0x1cb6ed(_0x31f9ce._0x3fedf0)+'avail'+_0x1cb6ed(0x21f));const _0x257010=_0xd3add5[_0x1cb6ed(_0x31f9ce._0x33d852)+'ataba'+'se'](_0x387f84,_0x563139[_0x1cb6ed(0x219)],'Datab'+_0x1cb6ed(0x3aa),(0xb11*-0x1+0x11*-0xeb+0xd57*0x2)*(0x745*0x3+-0x5*-0x355+-0x2*0x113c)*(0x4b7+-0xe3*0x4+0x2d5));return new _0x521885(_0x257010,_0x8310a6);}}[_0x3091b6(0x22b)+_0x3091b6(_0xf669fb._0x40ec9b)+'d'](){const _0x5d2423=_0x3091b6;return typeof window!=_0x563139['jAXJM']&&(_0x563139[_0x5d2423(_0x2b317d._0x464b51)](typeof window[_0x5d2423(_0x2b317d._0x46d4ba)],_0x5d2423(_0x2b317d._0xe8851d)+_0x5d2423(_0x2b317d._0x2241ae))||this['sqlJs']!==null);}[_0x3091b6(0x3b1)+_0x3091b6(_0xf669fb._0x43a18c)+_0x3091b6(_0xf669fb._0x161198)](_0x535318,_0x3a69e4){const _0x5a53d0=_0x3091b6,_0x5180ec={'RdDjq':function(_0x2aef01,_0x15a5c5){const _0x451c85=_0x5f35;return _0x563139[_0x451c85(0x26f)](_0x2aef01,_0x15a5c5);},'DHPXm':'react'+_0x5a53d0(0x31c)+_0x5a53d0(0x2a2)+'ndows'+_0x5a53d0(0x31a)+'te'};if(_0x563139[_0x5a53d0(0x20c)]===_0x5a53d0(_0xa236a8._0x1f9b57))try{return _0x5180ec['RdDjq'](_0x5cdcea,_0x5180ec[_0x5a53d0(0x335)]),!(0x1c6a+0x11*-0x1eb+0x25*0x1d);}catch(_0x33b426){return!(0x1be*0x8+-0x9*-0x371+0x8*-0x59d);}else return super['bindP'+_0x5a53d0(_0xa236a8._0x1b159d)+_0x5a53d0(0x370)](_0x535318,_0x3a69e4);}async[_0x3091b6(0x244)+'ct'](_0x58c506){const _0xb5ca49=_0x3091b6;if(_0x563139[_0xb5ca49(0x2d9)]===_0xb5ca49(0x2c8))return!(-0x5ed*0x3+-0x1d6*-0x13+0x18e*-0xb);else try{this[_0xb5ca49(_0x35f88a._0x360d8c)]||(_0x563139[_0xb5ca49(0x1e7)](typeof window[_0xb5ca49(_0x35f88a._0x18cfb5)],_0x563139['jAXJM'])?this[_0xb5ca49(_0x35f88a._0x360d8c)]=window[_0xb5ca49(0x24a)]:await this[_0xb5ca49(_0x35f88a._0x30c485)+_0xb5ca49(_0x35f88a._0x279a6f)]());let _0x43eb8b;if(_0x58c506===':memo'+_0xb5ca49(_0x35f88a._0x5bc816))_0x43eb8b=new this[(_0xb5ca49(_0x35f88a._0x3f8221))][(_0xb5ca49(0x2d1))+(_0xb5ca49(_0x35f88a._0x2800a2))]();else{const _0x3df976=await this[_0xb5ca49(0x2c2)+'ataba'+_0xb5ca49(0x2f0)+'e'](_0x58c506);_0x43eb8b=new this[(_0xb5ca49(_0x35f88a._0x57dcd0))][(_0xb5ca49(_0x35f88a._0x369e4b))+(_0xb5ca49(0x3aa))](_0x3df976);}return new _0x2ef833(_0x43eb8b,this);}catch(_0x5171f0){throw new Error(_0xb5ca49(0x3ab)+'t\x20con'+_0xb5ca49(_0x35f88a._0x250291)+_0xb5ca49(0x27f)+'owser'+_0xb5ca49(_0x35f88a._0x11f167)+'base:'+'\x20'+_0x5171f0);}}async[_0x3091b6(0x22a)+_0x3091b6(0x2c0)](){const _0x35546e={_0x2b00b1:0x258,_0x1338b3:0x2c0},_0x1383bb=_0x3091b6;if(_0x563139[_0x1383bb(_0x5ececa._0x37d163)](_0x1383bb(_0x5ececa._0x3f77a5),_0x563139[_0x1383bb(0x2dd)]))try{const {Database:_0x36183f}=_0x563139[_0x1383bb(_0x5ececa._0x1ca19d)](_0x433b14,_0x1383bb(_0x5ececa._0x58b831)+_0x1383bb(0x314)),_0x4e6099=new _0x36183f(_0x394837);return new _0x4acecb(_0x4e6099);}catch(_0x5e2844){throw new _0x265a37(_0x1383bb(0x3ab)+_0x1383bb(_0x5ececa._0x50a9f9)+_0x1383bb(_0x5ececa._0x1dad46)+_0x1383bb(0x24f)+_0x1383bb(_0x5ececa._0x2b8f51)+_0x1383bb(_0x5ececa._0x1cb472)+':\x20'+_0x5e2844);}else return new Promise((_0x2e1389,_0x2dcd32)=>{const _0x5718bb=_0x1383bb,_0x56a6ce={'qMydb':function(_0x1def38){return _0x1def38();},'ZofJd':function(_0x8e90fa,_0x499ce1){return _0x8e90fa(_0x499ce1);}};if(_0x563139[_0x5718bb(_0x5cd26d._0x160f08)]===_0x563139[_0x5718bb(_0x5cd26d._0x160f08)]){const _0x230e1d=document['creat'+_0x5718bb(_0x5cd26d._0x3f3ef6)+'ent'](_0x5718bb(0x341)+'t');_0x230e1d[_0x5718bb(_0x5cd26d._0x45f68d)]=_0x563139[_0x5718bb(_0x5cd26d._0x3403f8)],_0x230e1d[_0x5718bb(_0x5cd26d._0x37da58)+'d']=async()=>{const _0x1ef5db=_0x5718bb;try{window[_0x1ef5db(0x258)+'qlJs']&&(this['sqlJs']=await window[_0x1ef5db(_0x35546e._0x2b00b1)+_0x1ef5db(_0x35546e._0x1338b3)]({'locateFile':_0xb7ac47=>_0x1ef5db(0x237)+_0x1ef5db(0x26a)+'njs.c'+'loudf'+'lare.'+_0x1ef5db(0x239)+'jax/l'+_0x1ef5db(0x38b)+_0x1ef5db(0x29f)+_0x1ef5db(0x36a)+'0/'+_0xb7ac47})),_0x56a6ce['qMydb'](_0x2e1389);}catch(_0x2f6e7b){_0x56a6ce[_0x1ef5db(0x2e8)](_0x2dcd32,_0x2f6e7b);}},_0x230e1d['onerr'+'or']=()=>_0x2dcd32(new Error(_0x5718bb(0x379)+'d\x20to\x20'+_0x5718bb(0x337)+_0x5718bb(0x1f4)+'s')),document[_0x5718bb(0x390)]['appen'+_0x5718bb(_0x5cd26d._0x1707b4)+'d'](_0x230e1d);}else{const _0x16ffa1=this[_0x5718bb(_0x5cd26d._0x401645)+_0x5718bb(0x2ea)+_0x5718bb(_0x5cd26d._0x260819)](_0x8f8f3,_0xc711ce);if(_0x14ba30[_0x5718bb(0x287)+_0x5718bb(_0x5cd26d._0x163363)+'e']()[_0x5718bb(0x32c)]()['start'+_0x5718bb(0x34c)](_0x5718bb(_0x5cd26d._0x3cb31d)+'t'))return{'rows':this['db'][_0x5718bb(_0x5cd26d._0x1d9e7d)+_0x5718bb(_0x5cd26d._0x1e5100)+'es'](_0x16ffa1),'rowsAffected':0x0};{const _0x515078=this['db'][_0x5718bb(0x248)](_0x16ffa1);return{'rows':[],'rowsAffected':_0x515078[_0x5718bb(0x2b3)+'h']||0x4ad*0x7+0x25d1+0x1*-0x468b};}}});}async[_0x3091b6(_0xf669fb._0x30b1d5)+'ataba'+_0x3091b6(0x2f0)+'e'](_0x35baaa){const _0x84f624=_0x3091b6;try{const _0x193540=await _0x563139[_0x84f624(_0x2715a8._0x52b292)](fetch,_0x35baaa);if(_0x193540['ok']){const _0x2c51e3=await _0x193540[_0x84f624(0x343)+_0x84f624(_0x2715a8._0x1a843b)+'r']();return new Uint8Array(_0x2c51e3);}}catch(_0x3ebf9a){}}}class _0x3118f6{constructor(_0xcf35d0){const _0x255cf9=_0x3091b6;if(_0x563139[_0x255cf9(_0x2758d6._0x3e0fa8)]('koogM',_0x563139[_0x255cf9(0x2be)]))return this['where'+_0x255cf9(0x2f1)+'tions'][_0x255cf9(_0x2758d6._0x2b22f2)](_0x4598f8),this;else this['db']=_0xcf35d0;}async[_0x3091b6(0x376)+'te'](_0x375adc,_0x2913d4){const _0x5017c3=_0x3091b6;if(_0x5017c3(_0x128db6._0x152495)!=='dQfZu'){const _0x13e530=_0x3c93b7[_0x8adc1++];return typeof _0x13e530==_0x563139['BGJva']?'\x27'+_0x13e530['repla'+'ce'](/'/g,'\x27\x27')+'\x27':_0x563139[_0x5017c3(_0x128db6._0x46632e)](_0x13e530,null)?_0x5017c3(0x37f):_0x3423f7(_0x13e530);}else try{const _0x322d80=this[_0x5017c3(0x3b1)+_0x5017c3(_0x128db6._0x34e770)+'ters'](_0x375adc,_0x2913d4);if(_0x375adc['toLow'+'erCas'+'e']()['trim']()[_0x5017c3(_0x128db6._0xfe2f9a)+'sWith'](_0x563139[_0x5017c3(_0x128db6._0x1a24a0)]))return{'rows':this['db'][_0x5017c3(_0x128db6._0x3800bf)+_0x5017c3(0x3b5)+'es'](_0x322d80),'rowsAffected':0x0};{const _0x1a97e7=this['db'][_0x5017c3(0x248)](_0x322d80);return{'rows':[],'rowsAffected':_0x1a97e7[_0x5017c3(_0x128db6._0x586ac3)+'h']||0x2054+-0x5*0x5a7+-0x410};}}catch(_0x34adc2){throw new Error(_0x5017c3(0x1ed)+_0x5017c3(_0x128db6._0x3b8797)+'or:\x20'+_0x34adc2);}}['bindP'+'arame'+_0x3091b6(0x370)](_0xdb2bf8,_0x3657ba){const _0x22279b={_0x17e5ef:0x261,_0x52a672:0x2b3,_0x5b557c:0x227,_0x136589:0x3a2,_0x4f7883:0x37f},_0x16cce0=_0x3091b6,_0x1b0476={'sMagJ':function(_0x229011,_0x338d5c){const _0x10a628=_0x5f35;return _0x563139[_0x10a628(_0x1564da._0x321493)](_0x229011,_0x338d5c);},'DUbaA':function(_0x58d2b9,_0x4ba55e){return _0x58d2b9==_0x4ba55e;}};if(!_0x3657ba||_0x563139[_0x16cce0(0x24c)](_0x3657ba[_0x16cce0(0x2b3)+'h'],-0x1*0x443+0x1*-0x5cf+0xa12))return _0xdb2bf8;let _0x54ecce=-0xd49+-0x117e+-0x1ec7*-0x1;return _0xdb2bf8[_0x16cce0(_0xe7489d._0x5855a4)+'ce'](/\?/g,()=>{const _0x15bb0=_0x16cce0;if(_0x1b0476[_0x15bb0(_0x22279b._0x17e5ef)](_0x54ecce,_0x3657ba[_0x15bb0(_0x22279b._0x52a672)+'h'])){const _0x48b105=_0x3657ba[_0x54ecce++];return _0x1b0476[_0x15bb0(_0x22279b._0x5b557c)](typeof _0x48b105,'strin'+'g')?'\x27'+_0x48b105[_0x15bb0(_0x22279b._0x136589)+'ce'](/'/g,'\x27\x27')+'\x27':_0x48b105==null?_0x15bb0(_0x22279b._0x4f7883):String(_0x48b105);}return'?';});}async['close'](){const _0x5f03de=_0x3091b6;this['db']&&this['db'][_0x5f03de(0x1d7)]();}}class _0x377825 extends _0x4a221c{[_0x3091b6(0x22b)+_0x3091b6(0x394)+'d'](){const _0x4f7817=_0x3091b6,_0x58e0db={'NwMMo':function(_0x172b4f,_0x81db21){return _0x172b4f(_0x81db21);},'Fysgq':_0x563139[_0x4f7817(0x1ca)]};try{if(_0x563139[_0x4f7817(_0x58e3e5._0x56e948)](_0x563139[_0x4f7817(_0x58e3e5._0x457b5c)],_0x563139[_0x4f7817(0x22e)]))try{return _0x58e0db[_0x4f7817(0x2db)](_0x595d5d,_0x58e0db[_0x4f7817(_0x58e3e5._0x5ab7ba)]),!this[_0x4f7817(_0x58e3e5._0x27c88f)+_0x4f7817(_0x58e3e5._0x30750e)];}catch(_0x222461){return!(0x1*-0x109d+0x1*-0x3f1+0x148f);}else return _0x563139['lvAeF'](typeof Deno,'undef'+_0x4f7817(0x311))&&_0x563139[_0x4f7817(_0x58e3e5._0x467450)](Deno[_0x4f7817(_0x58e3e5._0x41ab11)],void(-0x5*-0x5d4+-0xe0b+0x5*-0x305));}catch(_0x457f7e){return!(-0x1801+0x1db2+0xb6*-0x8);}}async['conne'+'ct'](_0x10304e){const _0x1ffe7f=_0x3091b6;try{const {DB:_0x5597f9}=await import(_0x1ffe7f(_0x34b08d._0x314c4a)+_0x1ffe7f(0x1ee)+'no.la'+_0x1ffe7f(_0x34b08d._0x32b877)+_0x1ffe7f(0x1c7)+'e@v3.'+_0x1ffe7f(_0x34b08d._0x258c0d)+'od.ts'),_0x3c060d=new _0x5597f9(_0x10304e);return new _0x3118f6(_0x3c060d);}catch(_0x4f40d8){throw new Error('Canno'+_0x1ffe7f(_0x34b08d._0x13c476)+_0x1ffe7f(_0x34b08d._0x22fd92)+'to\x20De'+_0x1ffe7f(0x1d5)+_0x1ffe7f(_0x34b08d._0x46db71)+_0x1ffe7f(_0x34b08d._0x42718b)+_0x4f40d8);}}}let _0x4cce96=class{constructor(_0x2abec8){this['db']=_0x2abec8;}async[_0x3091b6(0x376)+'te'](_0x55123d,_0x5b9509){const _0x2d21da=_0x3091b6;try{if(_0x563139['veeXy'](_0x563139['vyTwf'],_0x563139[_0x2d21da(_0x2753c9._0x54b797)])){if(_0x55123d['toLow'+'erCas'+'e']()[_0x2d21da(_0x2753c9._0x1a5e49)]()[_0x2d21da(_0x2753c9._0x56c797)+_0x2d21da(_0x2753c9._0x2edb39)](_0x563139[_0x2d21da(_0x2753c9._0x266426)]))return{'rows':this['db'][_0x2d21da(0x248)](_0x55123d)['all'](_0x5b9509||[]),'rowsAffected':0x0};{const _0x409e4a=this['db']['query'](_0x55123d)[_0x2d21da(_0x2753c9._0x545cbb)](_0x5b9509||[]);return{'rows':[],'rowsAffected':_0x409e4a['chang'+'es']||-0x1f4b*0x1+0x3e9+0x1b62,'lastInsertRowId':_0x409e4a[_0x2d21da(_0x2753c9._0x1e5cc8)+_0x2d21da(0x2bc)+_0x2d21da(0x3b8)]};}}else return!(0x14c3*-0x1+0x125f+0x265);}catch(_0x2ca3d3){if(_0x2d21da(_0x2753c9._0x325dec)===_0x2d21da(0x23a)){const _0x26d8f5=_0x432f02[-0xe47*0x1+-0xd12+0x1*0x1b59];_0x26d8f5[_0x2d21da(_0x2753c9._0x2e47ad)]?_0x5e41ba(new _0x1e9230(_0x2d21da(0x1ed)+_0x2d21da(_0x2753c9._0x162bb2)+'or:\x20'+_0x26d8f5[_0x2d21da(_0x2753c9._0x100728)][_0x2d21da(0x206)+'ge'])):_0x4117ef({'rows':_0x26d8f5[_0x2d21da(0x2cf)]||[],'rowsAffected':_0x26d8f5[_0x2d21da(_0x2753c9._0x538f69)+_0x2d21da(0x359)+'ed']||0x21dd+0x245a+-0x4637,'lastInsertRowId':_0x26d8f5['inser'+_0x2d21da(0x25b)]});}else throw new Error(_0x2d21da(_0x2753c9._0x1808d8)+'e\x20err'+_0x2d21da(_0x2753c9._0x47724d)+_0x2ca3d3);}}async[_0x3091b6(0x1d7)](){const _0x38098b=_0x3091b6;this['db']&&this['db'][_0x38098b(_0x3e109a._0x4e6c34)]();}};class _0x3b9373 extends _0x4a221c{[_0x3091b6(0x22b)+_0x3091b6(0x394)+'d'](){const _0x27c885=_0x3091b6;try{return _0x563139[_0x27c885(_0x2b5410._0x587d12)](typeof Bun,_0x563139[_0x27c885(_0x2b5410._0x21c453)])&&Bun[_0x27c885(_0x2b5410._0x2d9918)+'on']!==void(-0x1133*0x2+0x205*0x13+0x153*-0x3);}catch(_0x6cb0bc){return!(-0x23bb+-0x2*-0x233+0x1f56);}}async[_0x3091b6(0x244)+'ct'](_0x7abc44){const _0x166fbb=_0x3091b6;try{const {Database:_0x5c3989}=_0x563139[_0x166fbb(_0x15bc45._0x1fd011)](require,_0x166fbb(0x233)+'qlite'),_0x2ecdc4=new _0x5c3989(_0x7abc44);return new _0x4cce96(_0x2ecdc4);}catch(_0x443dc3){throw new Error(_0x166fbb(0x3ab)+_0x166fbb(_0x15bc45._0xe56d62)+_0x166fbb(0x3bc)+_0x166fbb(0x24f)+_0x166fbb(_0x15bc45._0x172d97)+_0x166fbb(0x234)+':\x20'+_0x443dc3);}}}class _0x35ceb4{constructor(_0x3c1d9c,_0x320793){const _0x66e0f9=_0x3091b6;if(_0x66e0f9(_0x120452._0x5031d5)!==_0x563139[_0x66e0f9(0x3b9)])this['db']=_0x3c1d9c,this[_0x66e0f9(0x260)+'e']=_0x320793;else{const _0x4f1870=_0x1f8453[_0x207a53++];return _0x563139[_0x66e0f9(0x28d)](typeof _0x4f1870,'strin'+'g')?'\x27'+_0x4f1870['repla'+'ce'](/'/g,'\x27\x27')+'\x27':_0x4f1870==null?_0x66e0f9(0x37f):_0x563139[_0x66e0f9(_0x120452._0x22375e)](_0x183631,_0x4f1870);}}async[_0x3091b6(0x376)+'te'](_0x260163,_0x2efd5b){const _0x30384a={_0x585253:0x1dc},_0x103ca2={'McWcH':function(_0x35303a,_0x5c379e){const _0x2b20f5=_0x5f35;return _0x563139[_0x2b20f5(_0x30384a._0x585253)](_0x35303a,_0x5c379e);},'HuiZh':function(_0x3744d4,_0x1d625d){return _0x3744d4(_0x1d625d);}};return new Promise((_0x5c5518,_0x268db8)=>{const _0x30cebf={_0x31a961:0x36c},_0x1dbd58={_0x46a3e7:0x2cf},_0x23aa32=_0x5f35,_0x3fa5bd={'OqToL':function(_0x152785,_0x26d004){const _0x4257fe=_0x5f35;return _0x103ca2[_0x4257fe(0x388)](_0x152785,_0x26d004);}};try{const _0x3de3e5=this['bindP'+_0x23aa32(0x2ea)+'ters'](_0x260163,_0x2efd5b);this['db']['trans'+'actio'+'n'](_0x81b348=>{const _0xca3a4f=_0x23aa32;if(_0xca3a4f(_0x30cebf._0x31a961)!=='XOlma'){const _0x1846de=_0x5e292f['apply'](_0x2d2e41,arguments);return _0x1a97d9=null,_0x1846de;}else _0x81b348[_0xca3a4f(0x376)+'teSql'](_0x3de3e5,[],(_0x1dd99d,_0x19464f)=>{const _0x2ef80f=_0xca3a4f,_0x4ebf8c=[];if(_0x19464f[_0x2ef80f(0x2cf)]){for(let _0x11206c=0x206a+0x1*-0xe03+-0x1267;_0x3fa5bd[_0x2ef80f(0x2ee)](_0x11206c,_0x19464f[_0x2ef80f(_0x1dbd58._0x46a3e7)][_0x2ef80f(0x2b3)+'h']);_0x11206c++)_0x4ebf8c[_0x2ef80f(0x331)](_0x19464f[_0x2ef80f(_0x1dbd58._0x46a3e7)][_0x2ef80f(0x26d)](_0x11206c));}_0x5c5518({'rows':_0x4ebf8c,'rowsAffected':_0x19464f[_0x2ef80f(0x1e3)+_0x2ef80f(0x359)+'ed']||-0x1*0x15d7+0x1*-0x25be+0x3b95,'lastInsertRowId':_0x19464f['inser'+_0x2ef80f(0x25b)]});},(_0x13bc5a,_0x28e2ca)=>(_0x268db8(new Error('SQLit'+_0xca3a4f(0x34e)+'or:\x20'+_0x28e2ca[_0xca3a4f(0x206)+'ge'])),!(0x244+-0x23*0x43+0x6e6)));});}catch(_0x1635da){_0x103ca2[_0x23aa32(0x284)](_0x268db8,new Error(_0x23aa32(0x1ed)+_0x23aa32(0x32b)+_0x23aa32(0x235)+_0x23aa32(0x1e8)+_0x23aa32(0x271)+_0x1635da));}});}['bindP'+'arame'+_0x3091b6(0x370)](_0x1bc319,_0x18833b){const _0x402b54={_0x574bed:0x2a8,_0x842e6a:0x2b3,_0x24aa75:0x3a2},_0xf799c8=_0x3091b6;if(!_0x18833b||_0x563139[_0xf799c8(_0x56d844._0x15a281)](_0x18833b[_0xf799c8(0x2b3)+'h'],-0x43*-0x3d+0x2d6*0x4+-0x1b4f))return _0x1bc319;let _0x39f6a5=-0x2ec+-0xf0e*-0x1+-0x1*0xc22;return _0x1bc319[_0xf799c8(0x3a2)+'ce'](/\?/g,()=>{const _0x990f7e=_0xf799c8;if(_0x563139[_0x990f7e(_0x402b54._0x574bed)](_0x39f6a5,_0x18833b[_0x990f7e(_0x402b54._0x842e6a)+'h'])){const _0x10b367=_0x18833b[_0x39f6a5++];return typeof _0x10b367==_0x563139['BGJva']?'\x27'+_0x10b367[_0x990f7e(_0x402b54._0x24aa75)+'ce'](/'/g,'\x27\x27')+'\x27':_0x10b367==null?_0x563139['mqiLc']:String(_0x10b367);}return'?';});}async['close'](){const _0x21c398={_0xdb17ed:0x1d7,_0x134c5b:0x382};return new Promise((_0x44f191,_0x398f0b)=>{const _0x3b31e1=_0x5f35;this['db']&&this['db'][_0x3b31e1(_0x21c398._0xdb17ed)]?this['db'][_0x3b31e1(0x1d7)](()=>_0x44f191(),_0x3d2bf6=>_0x398f0b(new Error(_0x3b31e1(0x29b)+_0x3b31e1(0x39a)+_0x3b31e1(0x34f)+'ataba'+_0x3b31e1(0x2a9)+_0x3d2bf6[_0x3b31e1(0x206)+'ge']))):_0x563139[_0x3b31e1(_0x21c398._0x134c5b)](_0x44f191);});}}class _0x3c1085{constructor(_0x2407c4){this['db']=_0x2407c4;}async['execu'+'te'](_0x3aea95,_0x479d43){const _0x20d66e={_0x162fc8:0x271},_0x529442={_0x57976a:0x2bf},_0x328563={_0x4dcb35:0x39c},_0x26695c={_0x2cd648:0x26f},_0x4f94b2=_0x3091b6,_0x5b093c={'RoFjU':function(_0x59c864,_0x3f1bd5){return _0x59c864(_0x3f1bd5);},'VgzEB':'react'+'-nati'+_0x4f94b2(0x2b8)+'lite-'+'2','cTiKk':_0x563139['qrJVR'],'VihaA':_0x4f94b2(_0x521a90._0x27ade2)+_0x4f94b2(0x3aa),'QsZNj':function(_0x25561c,_0x53de28){return _0x25561c<_0x53de28;},'wYhYU':function(_0x296205,_0xeb0b8d){const _0x4b6eaf=_0x4f94b2;return _0x563139[_0x4b6eaf(_0x26695c._0x2cd648)](_0x296205,_0xeb0b8d);}};if(_0x563139[_0x4f94b2(_0x521a90._0x523b92)]===_0x4f94b2(0x33b)){const _0x5e4bb6={_0x2acce4:0x3ab,_0x53b3e0:0x30c,_0xfb754c:0x1e6,_0xf07388:0x1f6},_0xe1ab20={'yUmjL':function(_0x2d9969,_0x1dd1ad){return _0x2d9969(_0x1dd1ad);}};_0x5b093c[_0x4f94b2(_0x521a90._0x484a96)](_0x2e3310,_0x5b093c[_0x4f94b2(0x203)])[_0x4f94b2(0x200)+_0x4f94b2(_0x521a90._0x10c391)+'se'](_0x48efb7,_0x5b093c[_0x4f94b2(_0x521a90._0x3d8c8a)],_0x5b093c[_0x4f94b2(0x374)],-0x1822b+0x28fe7*0x2+0x100b*-0x9,_0x53a7fe=>{const _0x25e2a7=_0x4f94b2;_0xe1ab20[_0x25e2a7(_0x328563._0x4dcb35)](_0x1dab76,new _0x2a9592(_0x53a7fe));},_0x2d912b=>{const _0x1abcea=_0x4f94b2;_0xe1ab20['yUmjL'](_0x1cba5e,new _0x1fc319(_0x1abcea(_0x5e4bb6._0x2acce4)+'t\x20con'+'nect\x20'+_0x1abcea(_0x5e4bb6._0x53b3e0)+_0x1abcea(0x2fa)+_0x1abcea(_0x5e4bb6._0xfb754c)+_0x1abcea(0x231)+_0x1abcea(_0x5e4bb6._0xf07388)+'\x20'+_0x2d912b['messa'+'ge']));});}else return new Promise((_0x3ea426,_0x3cf96b)=>{const _0x35fc49={_0x1a3b21:0x26d,_0x1594db:0x359,_0xc4f4d:0x2df},_0x13f058=_0x4f94b2,_0x376a31={'zrvYm':function(_0x2fbb93,_0x13f7f5){const _0x52ece6=_0x5f35;return _0x5b093c[_0x52ece6(_0x529442._0x57976a)](_0x2fbb93,_0x13f7f5);},'LOBEl':function(_0x70ea0d,_0x4cd00e){const _0x5d0b75=_0x5f35;return _0x5b093c[_0x5d0b75(0x304)](_0x70ea0d,_0x4cd00e);}};this['db'][_0x13f058(0x376)+_0x13f058(0x383)](_0x3aea95,_0x479d43||[],_0x15ece5=>{const _0x1fe86e=_0x13f058,_0x379be8=[];if(_0x15ece5[_0x1fe86e(0x2cf)]){for(let _0x3ddf18=0x174c+-0x1*0x2501+0x13f*0xb;_0x376a31[_0x1fe86e(0x1f9)](_0x3ddf18,_0x15ece5['rows']['lengt'+'h']);_0x3ddf18++)_0x379be8[_0x1fe86e(0x331)](_0x15ece5[_0x1fe86e(0x2cf)][_0x1fe86e(_0x35fc49._0x1a3b21)](_0x3ddf18));}_0x376a31['LOBEl'](_0x3ea426,{'rows':_0x379be8,'rowsAffected':_0x15ece5[_0x1fe86e(0x1e3)+_0x1fe86e(_0x35fc49._0x1594db)+'ed']||-0x25a+-0x19b9+0x1c13,'lastInsertRowId':_0x15ece5[_0x1fe86e(_0x35fc49._0xc4f4d)+_0x1fe86e(0x25b)]});},_0x525115=>{const _0x229f09=_0x13f058;_0x376a31['LOBEl'](_0x3cf96b,new Error('SQLit'+'e\x20err'+_0x229f09(_0x20d66e._0x162fc8)+_0x525115[_0x229f09(0x206)+'ge']));});});}async[_0x3091b6(0x1d7)](){return new Promise((_0x296a6d,_0xfe3925)=>{const _0x5c0535=_0x5f35;this['db']&&this['db'][_0x5c0535(0x1d7)]?this['db'][_0x5c0535(0x1d7)](_0x296a6d,_0xfe3925):_0x296a6d();});}}class _0x14399b{constructor(_0x15bad6){this['db']=_0x15bad6;}async[_0x3091b6(_0xf669fb._0x5cc453)+'te'](_0x4273cb,_0x34d65b){const _0x30e945=_0x3091b6;try{const _0x17ce09=await this['db'][_0x30e945(_0x1d5e78._0x4fbae3)+'sync']([{'sql':_0x4273cb,'args':_0x34d65b||[]}]);if(_0x17ce09&&_0x17ce09[-0x7*0x2f2+-0x1778+0x2c16]){const _0xf977f6=_0x17ce09[-0x12af+0x3c*-0x59+0x35*0xbf];return{'rows':_0xf977f6[_0x30e945(_0x1d5e78._0xcf8aef)]||[],'rowsAffected':_0xf977f6['rowsA'+_0x30e945(_0x1d5e78._0x201649)+'ed']||0xb*-0x9b+-0x6ff*-0x4+-0x67*0x35,'lastInsertRowId':_0xf977f6[_0x30e945(0x33e)+_0x30e945(_0x1d5e78._0x5eb49b)+'RowId']};}return{'rows':[],'rowsAffected':0x0};}catch(_0x4c219a){throw new Error(_0x30e945(_0x1d5e78._0x2b1d50)+'e\x20err'+_0x30e945(0x271)+_0x4c219a);}}async[_0x3091b6(_0xf669fb._0x48759e)](){const _0x29d797=_0x3091b6;this['db']&&this['db'][_0x29d797(0x1d7)+_0x29d797(_0x107ad7._0xdd7943)]&&await this['db']['close'+'Async']();}}class _0xfb0871{constructor(_0x544f88){this['db']=_0x544f88;}async[_0x3091b6(0x376)+'te'](_0x391648,_0x15be32){const _0x53a74d=_0x3091b6;try{if(_0x563139[_0x53a74d(0x365)]!=='zaTbb'){if(_0x391648['toLow'+'erCas'+'e']()[_0x53a74d(0x32c)]()[_0x53a74d(_0x3c4527._0x480198)+'sWith'](_0x563139['KLjHc']))return{'rows':await this['db'][_0x53a74d(_0x3c4527._0x3d8cae)](_0x391648,_0x15be32||[])||[],'rowsAffected':0x0};{const _0x3ead66=await this['db']['run'](_0x391648,_0x15be32||[]);return{'rows':[],'rowsAffected':_0x3ead66[_0x53a74d(_0x3c4527._0x19ac33)+'es']||0x885*-0x1+0x814+0x71,'lastInsertRowId':_0x3ead66['lastI'+'D']};}}else _0x1da742(new _0x3a543e(_0x53a74d(_0x3c4527._0x309fbc)+'t\x20con'+_0x53a74d(0x3bc)+'to\x20Re'+_0x53a74d(_0x3c4527._0x10b545)+_0x53a74d(_0x3c4527._0x3601a5)+'\x20SQLi'+_0x53a74d(0x1f6)+'\x20'+_0x2f2b4f[_0x53a74d(0x206)+'ge']));}catch(_0x33fcde){throw new Error('SQLit'+_0x53a74d(_0x3c4527._0x34a37e)+'or:\x20'+_0x33fcde);}}async[_0x3091b6(0x1d7)](){const _0x1fe977=_0x3091b6;this['db']&&this['db']['close']&&await this['db'][_0x1fe977(0x1d7)]();}}class _0x3b04f8{constructor(_0xb24ee6){this['db']=_0xb24ee6;}async[_0x3091b6(0x376)+'te'](_0x7a6459,_0xb839af){return new Promise((_0x557aaf,_0x1225a1)=>{const _0x568e6d={_0x528de9:0x34e,_0xfeebb1:0x271,_0x383787:0x2a1,_0x239ba7:0x206,_0x1ca145:0x25b},_0x1a0f01=_0x5f35;this['db'][_0x1a0f01(_0x4d22de._0x5f4e48)]([{'sql':_0x7a6459,'args':_0xb839af||[]}],!(-0x12*-0x9+-0x1*0xc6d+-0x4*-0x2f3),_0x508f9e=>{const _0xb563c1=_0x1a0f01;if(_0x508f9e&&_0x508f9e[-0x11*-0x12f+-0x2419*-0x1+0x4*-0xe0e]){const _0x331265=_0x508f9e[-0xbea+-0x87e+0x51a*0x4];_0x331265['error']?_0x1225a1(new Error(_0xb563c1(0x1ed)+_0xb563c1(_0x568e6d._0x528de9)+_0xb563c1(_0x568e6d._0xfeebb1)+_0x331265[_0xb563c1(_0x568e6d._0x383787)][_0xb563c1(_0x568e6d._0x239ba7)+'ge'])):_0x557aaf({'rows':_0x331265[_0xb563c1(0x2cf)]||[],'rowsAffected':_0x331265[_0xb563c1(0x1e3)+'ffect'+'ed']||0x23c9+0x1*0x11de+-0x35a7,'lastInsertRowId':_0x331265['inser'+_0xb563c1(_0x568e6d._0x1ca145)]});}else _0x557aaf({'rows':[],'rowsAffected':0x0});});});}async[_0x3091b6(0x1d7)](){return new Promise((_0x308a61,_0x15a4e5)=>{const _0x495e79=_0x5f35;this['db']&&this['db'][_0x495e79(0x1d7)]?this['db'][_0x495e79(0x1d7)](_0x308a61,_0x15a4e5):_0x308a61();});}}class _0x782c3f extends _0x4a221c{constructor(){const _0x459900=_0x3091b6;super(...arguments),this['adapt'+_0x459900(0x1f7)+'e']=null,this[_0x459900(_0x279d13._0x2c2816)+_0x459900(_0x279d13._0x229fc0)]=!(0xbb9+-0x1807*0x1+-0x1*-0xc4f);}[_0x3091b6(_0xf669fb._0xd90ede)+_0x3091b6(_0xf669fb._0x5b1842)+'d'](){const _0x3ff0f5={_0x3a9ed8:0x34e,_0x2d67a2:0x1ce,_0x1920ad:0x28f,_0x58cd12:0x33e},_0x2eb23c={_0x347c37:0x34e},_0x35f82d=_0x3091b6,_0x45c380={'YMvkg':function(_0x539305,_0x5916fc){return _0x539305(_0x5916fc);},'agdda':function(_0x522dda,_0x2817b5){const _0x195df0=_0x5f35;return _0x563139[_0x195df0(0x1fc)](_0x522dda,_0x2817b5);},'IFdwQ':function(_0xb4b3d2,_0x23a4e6){const _0x57f8af=_0x5f35;return _0x563139[_0x57f8af(_0x1f50d4._0x43cc2c)](_0xb4b3d2,_0x23a4e6);},'zYwEi':function(_0x160cac,_0x58a5fe){return _0x160cac===_0x58a5fe;},'pbspa':_0x563139[_0x35f82d(0x2da)],'lrlpx':_0x563139['nbpBo'],'MNwMZ':_0x35f82d(_0x56b47c._0x26dc46)+_0x35f82d(0x33a)+'ve','MFPGq':function(_0xd26b98,_0x20d21b){return _0xd26b98!=_0x20d21b;},'eGmxs':_0x35f82d(0x37a)+'ined','KSPnA':_0x35f82d(0x1de)+'js','HPOKz':_0x563139['QxQly']};if(_0x563139[_0x35f82d(_0x56b47c._0x3e566a)](_0x563139[_0x35f82d(0x368)],_0x563139[_0x35f82d(0x367)]))try{if(_0x563139[_0x35f82d(_0x56b47c._0x1aba39)]!==_0x563139[_0x35f82d(_0x56b47c._0x4f6690)]){const _0x37b00d=this[_0x35f82d(0x3b1)+_0x35f82d(_0x56b47c._0x1405d7)+_0x35f82d(0x370)](_0x18b4a0,_0x4e2a5f);_0x49d3a4[_0x35f82d(_0x56b47c._0x16995e)+_0x35f82d(0x3a1)+'e']()[_0x35f82d(_0x56b47c._0x123770)]()[_0x35f82d(_0x56b47c._0x37218b)+_0x35f82d(_0x56b47c._0x79102e)]('selec'+'t')?this['db'][_0x35f82d(0x36f)](_0x37b00d,(_0x1e2c20,_0xe237eb)=>{const _0x14f97a=_0x35f82d;_0x1e2c20?_0x1062a5(new _0x16dda1(_0x14f97a(0x1ed)+_0x14f97a(_0x2eb23c._0x347c37)+'or:\x20'+_0x1e2c20[_0x14f97a(0x206)+'ge'])):_0x360772({'rows':_0xe237eb||[],'rowsAffected':0x0});}):this['db'][_0x35f82d(0x1e4)](_0x37b00d,function(_0x19c091){const _0x29cbfb=_0x35f82d;_0x19c091?_0x45c380[_0x29cbfb(0x325)](_0x782051,new _0xf2272d('SQLit'+_0x29cbfb(_0x3ff0f5._0x3a9ed8)+'or:\x20'+_0x19c091['messa'+'ge'])):_0x45c380[_0x29cbfb(_0x3ff0f5._0x2d67a2)](_0x508b95,{'rows':[],'rowsAffected':this[_0x29cbfb(_0x3ff0f5._0x1920ad)+'es']||-0x2416+-0x1*-0x21af+0x267,'lastInsertRowId':this[_0x29cbfb(_0x3ff0f5._0x58cd12)+'D']});});}else{if(!(_0x563139[_0x35f82d(_0x56b47c._0x54c386)](typeof navigator,_0x35f82d(0x37a)+_0x35f82d(0x311))&&_0x563139[_0x35f82d(_0x56b47c._0x32543b)](navigator[_0x35f82d(0x2d7)+'ct'],_0x563139[_0x35f82d(0x2da)])))return!(0x1f*-0x5d+0x6*-0x4c1+0x27ca);if(this[_0x35f82d(0x339)+_0x35f82d(0x1bf)]=this[_0x35f82d(_0x56b47c._0x32951a)+_0x35f82d(0x398)+_0x35f82d(_0x56b47c._0x4cca31)+_0x35f82d(_0x56b47c._0x3dfae5)](),this['isWin'+'dows']){if(this['hasSQ'+_0x35f82d(0x3ad)]())return this[_0x35f82d(_0x56b47c._0x2f44d9)+_0x35f82d(0x1f7)+'e']=_0x563139['hLylq'],!(-0xad8+-0x1*-0x10b+0x9cd*0x1);if(this[_0x35f82d(_0x56b47c._0x97b608)+_0x35f82d(_0x56b47c._0x3dfae5)+_0x35f82d(_0x56b47c._0x597cdb)+'e']())return this[_0x35f82d(_0x56b47c._0x2f44d9)+_0x35f82d(_0x56b47c._0x268afc)+'e']=_0x35f82d(0x392)+'ws',!(-0xeb*-0x9+-0x96a*0x1+0x1*0x127);}return this[_0x35f82d(_0x56b47c._0x4b8085)+_0x35f82d(0x1d8)+_0x35f82d(_0x56b47c._0x643a03)]()?(this[_0x35f82d(_0x56b47c._0x3da98d)+'erTyp'+'e']=_0x35f82d(_0x56b47c._0x2d5b48),!(0x1d65+0x13bc+-0x3121)):this[_0x35f82d(0x292)+'LiteS'+_0x35f82d(0x1dd)+'e']()?(this['adapt'+_0x35f82d(0x1f7)+'e']=_0x563139[_0x35f82d(0x302)],!(0x1*-0x7e1+0x4fe+0x1*0x2e3)):this[_0x35f82d(0x3b0)+'bView'+_0x35f82d(_0x56b47c._0x597cdb)+'e']()?(this[_0x35f82d(_0x56b47c._0x146906)+_0x35f82d(0x1f7)+'e']=_0x563139[_0x35f82d(_0x56b47c._0x46b09e)],!(0x3cb*0x5+-0x17*-0x1+0x1*-0x130e)):!(0x17a9+-0x2*-0xbf9+-0x17cd*0x2);}}catch(_0x21c074){return!(0x1f*0x8+0x1*0xfd9+0x434*-0x4);}else{if(_0x45c380[_0x35f82d(0x299)](typeof _0x35b5e4,_0x35f82d(_0x56b47c._0x4f29c2)+_0x35f82d(0x311))&&_0x45c380[_0x35f82d(0x26c)](_0x3a7a09[_0x35f82d(_0x56b47c._0x1ed7ae)+'ct'],_0x45c380['pbspa'])){if(typeof _0x592dc8[_0x35f82d(_0x56b47c._0x160bdb)+'ws']!=_0x35f82d(_0x56b47c._0x4f29c2)+_0x35f82d(_0x56b47c._0x5e5ce3))return _0x35f82d(0x3a4)+_0x35f82d(_0x56b47c._0x5491d2)+_0x35f82d(_0x56b47c._0x410f8b)+_0x35f82d(_0x56b47c._0x2cb3a9);try{const _0x412798=this[_0x35f82d(_0x56b47c._0x5ea57c)+'atfor'+'m']();if(_0x412798&&_0x412798['OS']===_0x45c380[_0x35f82d(_0x56b47c._0x504896)])return'React'+_0x35f82d(0x33a)+_0x35f82d(_0x56b47c._0x410f8b)+_0x35f82d(_0x56b47c._0x3dfae5);}catch(_0x74e897){}return _0x45c380[_0x35f82d(0x1db)];}return typeof _0x421665!=_0x35f82d(_0x56b47c._0x4f29c2)+'ined'?_0x35f82d(_0x56b47c._0x1353b8)+'er':_0x45c380[_0x35f82d(_0x56b47c._0x4bd3e4)](typeof _0x1a9c97,_0x45c380[_0x35f82d(_0x56b47c._0x5e37c8)])?_0x45c380['KSPnA']:_0x45c380[_0x35f82d(0x31e)];}}[_0x3091b6(0x2fb)+_0x3091b6(_0xf669fb._0xef0e79)+'iveWi'+'ndows'](){const _0x4d5590={_0x88fa92:0x31c},_0x59b910=_0x3091b6,_0x41c769={'zYDEO':function(_0x2885c0,_0x19d663){return _0x2885c0===_0x19d663;},'yEQCQ':_0x563139[_0x59b910(_0x4c7645._0x17ebbe)],'yFQBL':function(_0x55fd95,_0x21e256){return _0x55fd95!=_0x21e256;},'CMCGy':_0x563139['jAXJM'],'gTzOw':function(_0x261480,_0x5954ce){return _0x261480(_0x5954ce);},'ApRcB':_0x563139['nbpBo']};try{if(_0x563139[_0x59b910(_0x4c7645._0x16e1fb)](_0x563139[_0x59b910(_0x4c7645._0x268c22)],'yWUUC')){const _0xf5184a=this['db'][_0x59b910(0x248)](_0xf941ad);return{'rows':[],'rowsAffected':_0xf5184a['lengt'+'h']||-0x116e+-0x6a*-0x2f+-0x207};}else return _0x563139[_0x59b910(_0x4c7645._0x27eaad)](typeof navigator,'undef'+_0x59b910(_0x4c7645._0x2aaca6))&&navigator['produ'+'ct']==='React'+'Nativ'+'e'&&(_0x563139[_0x59b910(_0x4c7645._0x3b6a83)](typeof globalThis[_0x59b910(0x1c1)+'ws'],_0x563139[_0x59b910(_0x4c7645._0x4af3d0)])||((()=>{const _0x421576=_0x59b910;try{if(_0x563139['ajAVg'](typeof require,_0x563139[_0x421576(0x208)]))return require(_0x421576(_0x48eac2._0x4625c3)+_0x421576(0x31c)+'ve-wi'+_0x421576(_0x48eac2._0x53c616)),!(-0x8e8+-0xe3b+0x1723*0x1);}catch(_0x5e17d4){return!(-0x931*-0x3+-0x1249+-0x949*0x1);}return!(0x727+-0x1f6d+0x1847);})())||((()=>{const _0x2528f2=_0x59b910;try{if(_0x41c769[_0x2528f2(0x270)](_0x2528f2(0x2d4),_0x41c769[_0x2528f2(0x399)])){if(_0x41c769[_0x2528f2(0x389)](typeof require,_0x41c769[_0x2528f2(0x291)])){const {Platform:_0x170592}=_0x41c769[_0x2528f2(0x263)](require,_0x2528f2(0x37c)+_0x2528f2(0x31c)+'ve');return _0x170592&&_0x170592['OS']===_0x41c769[_0x2528f2(0x29d)];}}else{const {Platform:_0x2fccc5}=_0x10020f(_0x2528f2(0x37c)+_0x2528f2(_0x4d5590._0x88fa92)+'ve');return _0x2fccc5&&_0x2fccc5['OS']===_0x2528f2(0x392)+'ws';}}catch(_0x355e76){return!(-0x1e6c+0x2068*-0x1+0x3ed5);}return!(0x8*0x283+0x1*-0x225b+-0x722*-0x2);})()));}catch(_0x25ea7d){return!(0x11ae+-0x1f7c+0x65*0x23);}}[_0x3091b6(0x35e)+_0x3091b6(0x1d8)+'ite'](){const _0x32dbc8=_0x3091b6;try{return _0x563139['TeRnY'](require,_0x32dbc8(0x1fe)+_0x32dbc8(_0x550a66._0x37108d)+'e'),!this[_0x32dbc8(_0x550a66._0x594b21)+_0x32dbc8(0x1bf)];}catch(_0x45844c){return!(-0xe76+0x21dd+-0x1366);}}['hasSQ'+_0x3091b6(_0xf669fb._0x434004)+_0x3091b6(0x1dd)+'e'](){const _0x1f4072=_0x3091b6,_0x9a137a={'zaQDX':_0x1f4072(_0x13a3ff._0xf3c692)+'ined','Svhwo':_0x563139[_0x1f4072(_0x13a3ff._0x3b10c4)]};if(_0x563139[_0x1f4072(_0x13a3ff._0x18a8a8)](_0x1f4072(0x215),_0x563139[_0x1f4072(_0x13a3ff._0x28546e)])){if(typeof _0x2a8397!=_0x9a137a[_0x1f4072(0x36d)]){const {Platform:_0x2e2e75}=_0x5b912b(_0x9a137a[_0x1f4072(0x2ae)]);return _0x2e2e75;}}else try{return _0x563139[_0x1f4072(_0x13a3ff._0x40c0c2)](require,_0x1f4072(0x37c)+'-nati'+_0x1f4072(_0x13a3ff._0x1825e4)+_0x1f4072(_0x13a3ff._0x3d7a49)+_0x1f4072(0x24e)+'ge'),!this[_0x1f4072(0x339)+_0x1f4072(_0x13a3ff._0x1588f1)];}catch(_0x5c1f90){return!(0x185e+0x1603+0x2e6*-0x10);}}[_0x3091b6(0x3b0)+_0x3091b6(_0xf669fb._0x53ba95)+_0x3091b6(0x1ed)+'e'](){const _0x4b62c4=_0x3091b6;if(_0x563139[_0x4b62c4(0x33f)](_0x4b62c4(_0x15fc7d._0x22edf3),_0x4b62c4(0x2f8)))try{return _0x4b62c4(0x35d)!==_0x4b62c4(_0x15fc7d._0x5cbc4a)?_0x563139['ajAVg'](typeof window,_0x4b62c4(0x37a)+_0x4b62c4(0x311))&&typeof window['openD'+'ataba'+'se']==_0x4b62c4(_0x15fc7d._0x4ae5e5)+_0x4b62c4(0x301)&&!this[_0x4b62c4(_0x15fc7d._0x452699)+'dows']:!(0x1294+-0x2db+-0x4*0x3ee);}catch(_0x30de44){return!(-0x1*-0x1b4+-0xb*0x12f+0xb52);}else try{return _0x563139[_0x4b62c4(_0x15fc7d._0x2fb299)](_0x1b79e0,_0x563139[_0x4b62c4(0x332)]),!this[_0x4b62c4(0x339)+_0x4b62c4(_0x15fc7d._0x264dc8)];}catch(_0x380501){return!(0xb5*0x4+-0x59*-0x65+-0x97c*0x4);}}['hasWi'+_0x3091b6(_0xf669fb._0x4a5fed)+_0x3091b6(0x1ed)+'e'](){const _0x3f0f7e=_0x3091b6;if(_0x3f0f7e(0x344)===_0x3f0f7e(_0x3ea54d._0x2113ca))this['db']=_0xd81d82;else try{if(_0x563139[_0x3f0f7e(0x357)]===_0x3f0f7e(_0x3ea54d._0x5409b4))return require(_0x3f0f7e(0x37c)+_0x3f0f7e(_0x3ea54d._0xe6d19b)+_0x3f0f7e(0x2a2)+_0x3f0f7e(_0x3ea54d._0x5a29dc)+_0x3f0f7e(_0x3ea54d._0x326ef6)+'te'),!(-0x251d+0x1980+0xb9d);else{if(!this['isSup'+'porte'+'d']())throw new _0x3962b0(_0x563139['NDtVV']);switch(this[_0x3f0f7e(_0x3ea54d._0x322475)+_0x3f0f7e(0x1f7)+'e']){case _0x563139[_0x3f0f7e(0x1d9)]:return this[_0x3f0f7e(0x244)+_0x3f0f7e(0x391)+_0x3f0f7e(0x241)](_0x219ab1);case _0x3f0f7e(0x392)+'ws':return this[_0x3f0f7e(_0x3ea54d._0x3c5b38)+_0x3f0f7e(0x327)+_0x3f0f7e(0x1bf)](_0xe80821);case _0x3f0f7e(_0x3ea54d._0x590a8b):return this[_0x3f0f7e(_0x3ea54d._0x445702)+_0x3f0f7e(0x334)+'o'](_0x945bb5);case _0x3f0f7e(0x24e)+'ge':return this[_0x3f0f7e(_0x3ea54d._0x3c5b38)+_0x3f0f7e(_0x3ea54d._0x184617)+_0x3f0f7e(0x1d0)](_0x357b39);case _0x563139[_0x3f0f7e(_0x3ea54d._0x47719f)]:return this[_0x3f0f7e(0x244)+_0x3f0f7e(0x21a)+_0x3f0f7e(_0x3ea54d._0x1bbe4a)](_0x31ec77);default:throw new _0x354176(_0x3f0f7e(_0x3ea54d._0x2689dc)+_0x3f0f7e(_0x3ea54d._0xceafa5)+_0x3f0f7e(0x1e6)+'\x20SQLi'+_0x3f0f7e(0x338)+_0x3f0f7e(0x3bb)+'\x20avai'+_0x3f0f7e(_0x3ea54d._0x44dc98));}}}catch(_0x54eeac){if(_0x563139['KSQrd']('EHQGE',_0x3f0f7e(0x1d6))){const _0xb07f9f=_0x3a6fbb?function(){const _0x119975=_0x3f0f7e;if(_0x545094){const _0x328fc2=_0x15b7a4[_0x119975(0x277)](_0x316a5c,arguments);return _0x540cb3=null,_0x328fc2;}}:function(){};return _0x50648c=![],_0xb07f9f;}else return!(0x1cb3+-0xaf2*0x3+0x424);}}[_0x3091b6(0x292)+'Lite2'](){const _0x2eebad=_0x3091b6;try{return _0x563139[_0x2eebad(_0x13cffb._0x10e878)](require,'react'+'-nati'+_0x2eebad(_0x13cffb._0x3aea12)+_0x2eebad(0x308)+'2'),!(-0x1*-0x1e13+0x10cf*-0x1+-0xd44*0x1);}catch(_0x299c63){return!(0x580+-0x18d*-0x10+0x1e4f*-0x1);}}async[_0x3091b6(_0xf669fb._0x2321ca)+'ct'](_0x4b4f80){const _0x5aa891=_0x3091b6;if(!this[_0x5aa891(0x22b)+_0x5aa891(_0x3d9635._0x1d9b57)+'d']())throw new Error(_0x563139[_0x5aa891(0x31b)]);switch(this[_0x5aa891(_0x3d9635._0x40d6e4)+_0x5aa891(_0x3d9635._0x4edd37)+'e']){case _0x5aa891(0x1c7)+'e2':return this[_0x5aa891(0x244)+_0x5aa891(_0x3d9635._0x146d64)+_0x5aa891(0x241)](_0x4b4f80);case _0x563139['nbpBo']:return this['conne'+_0x5aa891(0x327)+_0x5aa891(_0x3d9635._0x55f55a)](_0x4b4f80);case _0x563139[_0x5aa891(_0x3d9635._0x39ab68)]:return this[_0x5aa891(_0x3d9635._0x329707)+_0x5aa891(_0x3d9635._0x149d92)+'o'](_0x4b4f80);case _0x563139[_0x5aa891(0x302)]:return this['conne'+_0x5aa891(_0x3d9635._0x5a5772)+'rage'](_0x4b4f80);case _0x5aa891(0x1ea)+'ew':return this[_0x5aa891(_0x3d9635._0x2a81d7)+_0x5aa891(0x21a)+_0x5aa891(_0x3d9635._0x4f4c52)](_0x4b4f80);default:throw new Error(_0x5aa891(_0x3d9635._0x4e7856)+_0x5aa891(_0x3d9635._0x588c56)+'ative'+_0x5aa891(_0x3d9635._0x45baf4)+_0x5aa891(0x338)+_0x5aa891(_0x3d9635._0xfefe68)+_0x5aa891(0x279)+_0x5aa891(_0x3d9635._0x17b615));}}async[_0x3091b6(_0xf669fb._0x1bf4f2)+'ctSQL'+'ite2'](_0x3a1029){const _0x5b6c02={_0x33071:0x24d,_0x394614:0x1e6},_0x338c90=_0x3091b6,_0x1f6fff={'WzVKL':_0x338c90(0x2ab),'McrzQ':_0x563139[_0x338c90(_0x136077._0x4872e2)],'YACNi':function(_0x31d227,_0x522c6e){return _0x31d227(_0x522c6e);},'KUnlM':_0x563139[_0x338c90(0x1e1)]};return new Promise((_0xcf2d44,_0xf61614)=>{const _0x5492e9=_0x338c90,_0x25ed4c={'GXJqq':function(_0x24d83b,_0x301fba){return _0x24d83b(_0x301fba);}};if(_0x1f6fff[_0x5492e9(_0x7b8a13._0xa6241f)]===_0x1f6fff['McrzQ'])this['db']=_0x3a3484;else try{_0x1f6fff[_0x5492e9(0x38d)](require,_0x5492e9(_0x7b8a13._0x4879d4)+_0x5492e9(_0x7b8a13._0x3e4bdb)+_0x5492e9(0x2b8)+'lite-'+'2')['openD'+'ataba'+'se'](_0x3a1029,_0x5492e9(0x375),_0x1f6fff[_0x5492e9(0x20b)],-0x5c5db+-0x219*-0x15+0x8a70e,_0x262664=>{const _0x8e84d5=_0x5492e9;_0x25ed4c[_0x8e84d5(0x32a)](_0xcf2d44,new _0x3b04f8(_0x262664));},_0x4ea602=>{const _0x2a76e2=_0x5492e9;_0xf61614(new Error(_0x2a76e2(0x3ab)+_0x2a76e2(_0x5b6c02._0x33071)+_0x2a76e2(0x3bc)+_0x2a76e2(0x30c)+_0x2a76e2(0x2fa)+_0x2a76e2(_0x5b6c02._0x394614)+_0x2a76e2(0x231)+'te-2:'+'\x20'+_0x4ea602[_0x2a76e2(0x206)+'ge']));});}catch(_0x4e7b81){_0xf61614(new Error(_0x5492e9(0x3a4)+'\x20Nati'+_0x5492e9(0x2bb)+_0x5492e9(_0x7b8a13._0x50865d)+'2\x20not'+_0x5492e9(0x279)+_0x5492e9(0x2ac)+':\x20'+_0x4e7b81));}});}async[_0x3091b6(0x244)+'ctWin'+_0x3091b6(_0xf669fb._0x3cb985)](_0x3622b2){const _0x283a1f=_0x3091b6;try{const _0x4a2ede=await _0x563139[_0x283a1f(0x36e)](require,_0x283a1f(_0x3762eb._0x26c3a0)+_0x283a1f(0x31c)+_0x283a1f(0x2a2)+_0x283a1f(0x280)+'-sqli'+'te')['openD'+_0x283a1f(0x3b7)+'se']({'name':_0x3622b2,'location':'defau'+'lt'});return new _0xfb0871(_0x4a2ede);}catch(_0x233d5d){throw new Error('Canno'+_0x283a1f(_0x3762eb._0x4a9aa0)+_0x283a1f(0x3bc)+_0x283a1f(0x30c)+_0x283a1f(_0x3762eb._0x3b30b8)+_0x283a1f(0x1e6)+_0x283a1f(0x28a)+_0x283a1f(0x340)+_0x283a1f(0x306)+':\x20'+_0x233d5d);}}async[_0x3091b6(_0xf669fb._0x2321ca)+_0x3091b6(0x334)+'o'](_0x22c80b){const _0x24267b=_0x3091b6;if('ojDLK'===_0x563139[_0x24267b(_0xd25264._0x21397b)])try{if(_0x563139[_0x24267b(0x2d8)]!==_0x24267b(0x22c)){const _0x28eceb=_0x563139[_0x24267b(0x255)](require,_0x24267b(0x1fe)+_0x24267b(_0xd25264._0x2b70f1)+'e')[_0x24267b(0x200)+_0x24267b(0x3b7)+_0x24267b(0x322)+'c'](_0x22c80b);return new _0x14399b(_0x28eceb);}else return _0x24267b(0x23b)+_0x24267b(_0xd25264._0x130553)+'M\x20'+_0x5ee365+(_0x24267b(_0xd25264._0xa49c30)+'E\x20')+_0x3c1fc6;}catch(_0xbffe21){if(_0x563139[_0x24267b(0x2e6)]===_0x24267b(_0xd25264._0x15d1c4))throw new Error(_0x24267b(0x3ab)+'t\x20con'+'nect\x20'+_0x24267b(0x2d6)+'po\x20SQ'+'Lite\x20'+'datab'+'ase:\x20'+_0xbffe21);else this['table'+_0x24267b(0x2c3)]='',this['selec'+_0x24267b(_0xd25264._0x317d54)+'ds']=['*'],this[_0x24267b(0x2b5)+'Condi'+_0x24267b(_0xd25264._0x5cb827)]=[],this[_0x24267b(0x328)+_0x24267b(0x35b)+'lds']=[],this[_0x24267b(0x385)+'Value']=null,this[_0x24267b(0x377)+'tValu'+'e']=null;}else _0x563139['WriaX'](_0x29d959,new _0x202af9(_0x24267b(_0xd25264._0x3905ad)+_0x24267b(0x1d4)+_0x24267b(0x2f7)+'not\x20a'+_0x24267b(0x363)+_0x24267b(_0xd25264._0x57baf8)+_0x5e1014));}async[_0x3091b6(_0xf669fb._0x2f0fe7)+'ctSto'+_0x3091b6(_0xf669fb._0x5a07fa)](_0x5d3ab6){const _0x48f2d9={_0x4bebd4:0x210,_0x162dc4:0x2f2,_0x3aa657:0x2af,_0x14b01d:0x200,_0x39aed9:0x3b7,_0x22de0f:0x3af,_0x3ac2cc:0x3a4,_0x14b813:0x33a,_0x17cd95:0x262,_0x376ee2:0x249},_0x3f0fa8=_0x3091b6,_0x247f2c={'qUVEf':_0x3f0fa8(_0x1b6fbf._0x2ca9aa)+_0x3f0fa8(0x31c)+_0x3f0fa8(0x2b8)+_0x3f0fa8(_0x1b6fbf._0x1d45c1)+_0x3f0fa8(0x24e)+'ge','faHnW':_0x3f0fa8(0x259)+'lt'};return new Promise((_0xdbbcfd,_0x3256a7)=>{const _0x1ca27b={_0x204982:0x24d,_0x151522:0x30c,_0x3bf681:0x231,_0x34bbe2:0x249},_0x3116bd={_0x3c1e6a:0x20a},_0x5b4295=_0x3f0fa8,_0x45d18c={'BJvfZ':function(_0x430f57,_0x10aed5){return _0x430f57(_0x10aed5);}};try{const _0x127d37=require(_0x247f2c[_0x5b4295(_0x48f2d9._0x4bebd4)]);_0x127d37[_0x5b4295(_0x48f2d9._0x162dc4)](!(0x19a6+0x1*-0x2457+0x1*0xab2)),_0x127d37['enabl'+_0x5b4295(0x2ef)+_0x5b4295(_0x48f2d9._0x3aa657)](!(0xd2+-0xa54+0x982)),_0x127d37[_0x5b4295(_0x48f2d9._0x14b01d)+_0x5b4295(_0x48f2d9._0x39aed9)+'se']({'name':_0x5d3ab6,'location':_0x247f2c['faHnW']})[_0x5b4295(_0x48f2d9._0x22de0f)](_0x4f88ad=>{const _0x2a5baf=_0x5b4295;_0x45d18c[_0x2a5baf(_0x3116bd._0x3c1e6a)](_0xdbbcfd,new _0x3c1085(_0x4f88ad));})[_0x5b4295(0x204)](_0x470552=>{const _0x270bec=_0x5b4295;_0x3256a7(new Error(_0x270bec(0x3ab)+_0x270bec(_0x1ca27b._0x204982)+_0x270bec(0x3bc)+_0x270bec(_0x1ca27b._0x151522)+_0x270bec(0x2fa)+_0x270bec(0x1e6)+_0x270bec(_0x1ca27b._0x3bf681)+_0x270bec(0x1cf)+_0x270bec(0x378)+_0x270bec(_0x1ca27b._0x34bbe2)+_0x470552['messa'+'ge']));});}catch(_0x56ccfb){_0x3256a7(new Error(_0x5b4295(_0x48f2d9._0x3ac2cc)+_0x5b4295(_0x48f2d9._0x14b813)+'ve\x20SQ'+'Lite\x20'+'Stora'+_0x5b4295(_0x48f2d9._0x17cd95)+_0x5b4295(0x345)+_0x5b4295(0x37e)+_0x5b4295(_0x48f2d9._0x376ee2)+_0x56ccfb));}});}async['conne'+_0x3091b6(_0xf669fb._0x5b37a3)+_0x3091b6(_0xf669fb._0x311e55)](_0x40738e){const _0x4866c4=_0x3091b6;try{if(!window['openD'+_0x4866c4(_0x232ba5._0x589587)+'se'])throw new Error(_0x4866c4(0x397)+_0x4866c4(0x2e1)+_0x4866c4(0x20e)+'abase'+_0x4866c4(_0x232ba5._0x4da060)+_0x4866c4(0x2ce)+_0x4866c4(0x21f));const _0xc49621=window[_0x4866c4(0x200)+_0x4866c4(0x3b7)+'se'](_0x40738e,_0x563139[_0x4866c4(_0x232ba5._0xb22851)],_0x563139[_0x4866c4(_0x232ba5._0x9c1389)],(0x1a22+0x1*-0x1726+-0x2fa)*(-0x1988+-0x122b+0x2fb3)*(0x3bd+-0x10c0+0x1103));return new _0x35ceb4(_0xc49621,_0x40738e);}catch(_0x27aaf1){throw new Error(_0x4866c4(_0x232ba5._0x3ad8c7)+'t\x20con'+'nect\x20'+'to\x20We'+_0x4866c4(_0x232ba5._0x33011b)+'\x20SQLi'+'te\x20da'+_0x4866c4(0x378)+_0x4866c4(_0x232ba5._0x55be8f)+_0x27aaf1);}}}class _0x45d60e{constructor(){const _0x8f927e=_0x3091b6;this['adapt'+'ers']=[],this[_0x8f927e(_0x16335a._0x4b19e6)+_0x8f927e(_0x16335a._0x724fff)+_0x8f927e(0x2f5)]=null,this[_0x8f927e(_0x16335a._0x174e31)+_0x8f927e(_0x16335a._0x5ca47f)]=[new _0x782c3f(),new _0x3b9373(),new _0x377825(),new _0x1600cb(),new _0x3b0bc8()];}[_0x3091b6(0x256)+_0x3091b6(0x316)+_0x3091b6(0x395)+'nt'](){const _0x1026d5=_0x3091b6;for(const _0x3431a3 of this[_0x1026d5(0x216)+_0x1026d5(_0x490d84._0x7236be)])if(_0x3431a3[_0x1026d5(_0x490d84._0x10bd86)+_0x1026d5(_0x490d84._0x551ea3)+'d']())return _0x3431a3;throw new Error(_0x563139[_0x1026d5(0x1cb)]);}async['conne'+'ct'](_0x1de3f9){const _0x49a1dc=_0x3091b6;if(_0x49a1dc(_0x3bded5._0x47bb9e)==='ImNxb'){const _0x23aa82=_0x563139[_0x49a1dc(0x2dc)](typeof _0x1de3f9,_0x563139[_0x49a1dc(0x353)])?_0x1de3f9:_0x1de3f9[_0x49a1dc(0x2c9)];this['curre'+_0x49a1dc(0x2a7)+'pter']||(this[_0x49a1dc(0x37b)+'ntAda'+_0x49a1dc(_0x3bded5._0x199ab3)]=this[_0x49a1dc(0x256)+'tEnvi'+_0x49a1dc(0x395)+'nt']());try{return await this[_0x49a1dc(0x37b)+'ntAda'+_0x49a1dc(_0x3bded5._0x514c40)]['conne'+'ct'](_0x23aa82);}catch(_0x599645){throw new Error(_0x49a1dc(0x379)+_0x49a1dc(0x282)+'conne'+_0x49a1dc(_0x3bded5._0x24c7d7)+_0x49a1dc(_0x3bded5._0x95294c)+_0x49a1dc(0x1cf)+_0x49a1dc(_0x3bded5._0x500a7a)+_0x49a1dc(_0x3bded5._0x562cfd)+_0x599645);}}else throw new _0x43557d('SQLit'+'e\x20err'+_0x49a1dc(0x271)+_0x136190);}[_0x3091b6(0x372)+'viron'+_0x3091b6(0x265)+_0x3091b6(0x1da)](){const _0x45f555=_0x3091b6;try{if(typeof navigator!=_0x45f555(_0x200b89._0x4c8896)+_0x45f555(_0x200b89._0x18751b)&&_0x563139[_0x45f555(_0x200b89._0x19d063)](navigator[_0x45f555(0x2d7)+'ct'],_0x45f555(_0x200b89._0x251a0b)+_0x45f555(0x1ef)+'e')){if(_0x563139[_0x45f555(0x2b6)](typeof globalThis[_0x45f555(_0x200b89._0x5474cd)+'ws'],_0x563139[_0x45f555(0x208)]))return _0x45f555(0x3a4)+'\x20Nati'+_0x45f555(0x1fa)+_0x45f555(_0x200b89._0x50fcb7);try{const _0x2f04a3=this[_0x45f555(0x1cd)+'atfor'+'m']();if(_0x2f04a3&&_0x563139[_0x45f555(0x38f)](_0x2f04a3['OS'],_0x563139[_0x45f555(0x1eb)]))return _0x45f555(_0x200b89._0x1f2454)+'\x20Nati'+'ve\x20Wi'+_0x45f555(0x280);}catch(_0x2fc003){}return _0x563139['yNCEM'];}return _0x563139[_0x45f555(_0x200b89._0x10ac46)](typeof window,_0x563139[_0x45f555(_0x200b89._0x1c5c69)])?_0x563139['wHXNQ']:_0x563139[_0x45f555(_0x200b89._0x11f2a4)](typeof process,_0x563139[_0x45f555(0x208)])?_0x45f555(0x1de)+'js':_0x563139[_0x45f555(0x387)];}catch(_0x241ab9){return _0x563139[_0x45f555(0x387)];}}['getPl'+_0x3091b6(_0xf669fb._0x217e4e)+'m'](){const _0x2563b9=_0x3091b6;try{if(typeof require!=_0x2563b9(_0x48c6e7._0x5a55ca)+_0x2563b9(0x311)){const {Platform:_0x274620}=_0x563139[_0x2563b9(0x2a5)](require,'react'+_0x2563b9(_0x48c6e7._0x40545e)+'ve');return _0x274620;}}catch(_0x6f597b){}try{return _0x563139['RzZdV']!=='SEAbg'?globalThis['Platf'+_0x2563b9(0x222)]:!(-0x95a+-0x11*0x106+0x1ac1);}catch(_0x41c0ab){return null;}}}class _0x46fc9b{constructor(){const _0x2ca919=_0x3091b6;this[_0x2ca919(0x244)+_0x2ca919(_0x17bc06._0x4f6cf4)]=null,this['manag'+'er']=new _0x45d60e();}async[_0x3091b6(0x244)+'ct'](_0x2ca410){const _0x98136d=_0x3091b6;if(_0x563139[_0x98136d(_0x5962f0._0x31964c)]!==_0x563139[_0x98136d(0x39f)]){const _0x2a527e=_0x576195[-0x2183+0x92+0x20f1]['colum'+'ns'],_0x3f2270=_0x1684ff[0x12c5+-0x25d6+0x1311][_0x98136d(0x3b3)+'s'];for(const _0x4f1e81 of _0x3f2270){const _0x167490={};_0x2a527e[_0x98136d(0x1d1)+'ch']((_0x19d778,_0x2cb72c)=>{_0x167490[_0x19d778]=_0x4f1e81[_0x2cb72c];}),_0x4a3714[_0x98136d(0x331)](_0x167490);}}else this[_0x98136d(0x244)+'ction']=await this[_0x98136d(_0x5962f0._0x46979e)+'er'][_0x98136d(0x244)+'ct'](_0x2ca410);}async[_0x3091b6(0x248)](_0x39bf9e,_0x33c41a){const _0x592915=_0x3091b6;if(!this[_0x592915(0x244)+_0x592915(0x2b2)])throw new Error(_0x563139[_0x592915(0x358)]);return await this['conne'+_0x592915(_0x5a9937._0x2d87d0)][_0x592915(0x376)+'te'](_0x39bf9e,_0x33c41a);}async[_0x3091b6(_0xf669fb._0x494382)](){const _0x3206d5=_0x3091b6;this[_0x3206d5(0x244)+_0x3206d5(_0x20dd01._0x41ae22)]&&(await this[_0x3206d5(_0x20dd01._0x3830bc)+_0x3206d5(0x2b2)]['close'](),this[_0x3206d5(0x244)+'ction']=null);}[_0x3091b6(0x372)+_0x3091b6(_0xf669fb._0x1c6869)+'ment'](){const _0x1bc2d5=_0x3091b6;return this[_0x1bc2d5(_0x127804._0x1b53ac)+'er'][_0x1bc2d5(0x372)+'viron'+_0x1bc2d5(_0x127804._0x4614d9)+_0x1bc2d5(0x1da)]();}async[_0x3091b6(_0xf669fb._0x46c1e4)+_0x3091b6(_0xf669fb._0x317700)+'e'](_0x28088b,_0x1d381d){const _0x2298c8=_0x3091b6,_0x81ec26=Object[_0x2298c8(0x35a)+'es'](_0x1d381d)[_0x2298c8(0x323)](([_0x53fbee,_0xf27f57])=>_0x53fbee+'\x20'+_0xf27f57)[_0x2298c8(_0x11b2f3._0x196553)](',\x20');await this['query'](_0x2298c8(0x230)+_0x2298c8(_0x11b2f3._0x3a53ae)+_0x2298c8(0x310)+_0x2298c8(_0x11b2f3._0x592c07)+_0x2298c8(_0x11b2f3._0x321638)+'S\x20'+_0x28088b+'\x20('+_0x81ec26+')');}async[_0x3091b6(0x2df)+'t'](_0x2f2f59,_0x12192c){const _0x37af82=_0x3091b6,_0x7f4000=_0x31eb6e[_0x37af82(0x2df)+'t'](_0x2f2f59,_0x12192c);return await this[_0x37af82(0x248)](_0x7f4000,Object[_0x37af82(0x3b3)+'s'](_0x12192c));}async[_0x3091b6(0x354)+'t'](_0x4d3073,_0x2bd42e,_0x42fdff){const _0x5cd40d=_0x3091b6;let _0x560247='SELEC'+_0x5cd40d(0x205)+_0x5cd40d(0x2ec)+_0x4d3073;return _0x2bd42e&&(_0x560247+=_0x5cd40d(0x2ed)+'E\x20'+_0x2bd42e),await this[_0x5cd40d(_0x1598db._0x13741c)](_0x560247,_0x42fdff);}async['updat'+'e'](_0x55f729,_0x26f7cf,_0x190068,_0x409555){const _0x2e1856=_0x3091b6,_0x7735d7=_0x31eb6e[_0x2e1856(_0x31f8e9._0x1f8e6d)+'e'](_0x55f729,_0x26f7cf,_0x190068),_0x4586b2=[...Object[_0x2e1856(0x3b3)+'s'](_0x26f7cf),..._0x409555||[]];return await this[_0x2e1856(0x248)](_0x7735d7,_0x4586b2);}async[_0x3091b6(_0xf669fb._0xb4972b)+'e'](_0x4ae241,_0x1988ee,_0x35ad0a){const _0x18e9fb=_0x3091b6,_0x442e68=_0x31eb6e[_0x18e9fb(0x2b0)+'e'](_0x4ae241,_0x1988ee);return await this[_0x18e9fb(_0x180c6d._0x4497db)](_0x442e68,_0x35ad0a);}}_0x1aeb18[_0x3091b6(_0xf669fb._0x4692cd)+_0x3091b6(0x290)+'er']=_0x31eb6e,_0x1aeb18[_0x3091b6(0x1ed)+_0x3091b6(_0xf669fb._0x4037c8)+'ger']=_0x45d60e,_0x1aeb18[_0x3091b6(_0xf669fb._0x5dab5d)+'lt']=_0x46fc9b,Object[_0x3091b6(_0xf669fb._0x2b70ee)+_0x3091b6(_0xf669fb._0x40c60a)+_0x3091b6(_0xf669fb._0x13bc6d)](_0x1aeb18,_0x563139[_0x3091b6(_0xf669fb._0x23c2c4)],{'value':!(0x13e9+0x64d+-0x5*0x53e)});}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/query-builder.ts","../src/adapters/base-adapter.ts","../src/adapters/node-adapter.ts","../src/adapters/browser-adapter.ts","../src/adapters/deno-adapter.ts","../src/adapters/bun-adapter.ts","../src/adapters/react-native-adapter.ts","../src/sqlite-manager.ts","../src/index.ts"],"sourcesContent":["export class QueryBuilder {\n private tableName = '';\n private selectFields: string[] = ['*'];\n private whereConditions: string[] = [];\n private orderByFields: string[] = [];\n private limitValue: number | null = null;\n private offsetValue: number | null = null;\n\n static table(name: string): QueryBuilder {\n const builder = new QueryBuilder();\n builder.tableName = name;\n return builder;\n }\n\n select(fields: string | string[]): QueryBuilder {\n this.selectFields = Array.isArray(fields) ? fields : [fields];\n return this;\n }\n\n where(condition: string): QueryBuilder {\n this.whereConditions.push(condition);\n return this;\n }\n\n orderBy(field: string, direction: 'ASC' | 'DESC' = 'ASC'): QueryBuilder {\n this.orderByFields.push(`${field} ${direction}`);\n return this;\n }\n\n limit(count: number): QueryBuilder {\n this.limitValue = count;\n return this;\n }\n\n offset(count: number): QueryBuilder {\n this.offsetValue = count;\n return this;\n }\n\n toSQL(): string {\n let sql = `SELECT ${this.selectFields.join(', ')} FROM ${this.tableName}`;\n \n if (this.whereConditions.length > 0) {\n sql += ` WHERE ${this.whereConditions.join(' AND ')}`;\n }\n \n if (this.orderByFields.length > 0) {\n sql += ` ORDER BY ${this.orderByFields.join(', ')}`;\n }\n \n if (this.limitValue !== null) {\n sql += ` LIMIT ${this.limitValue}`;\n }\n \n if (this.offsetValue !== null) {\n sql += ` OFFSET ${this.offsetValue}`;\n }\n \n return sql;\n }\n\n // Insert methods\n static insert(tableName: string, data: Record<string, any>): string {\n const fields = Object.keys(data);\n const values = Object.values(data);\n const placeholders = values.map(() => '?').join(', ');\n \n return `INSERT INTO ${tableName} (${fields.join(', ')}) VALUES (${placeholders})`;\n }\n\n static update(tableName: string, data: Record<string, any>, where: string): string {\n const sets = Object.keys(data).map(key => `${key} = ?`).join(', ');\n return `UPDATE ${tableName} SET ${sets} WHERE ${where}`;\n }\n\n static delete(tableName: string, where: string): string {\n return `DELETE FROM ${tableName} WHERE ${where}`;\n }\n}\n","import { SQLiteAdapter, SQLiteConnection, SQLiteConfig } from '../types';\nexport abstract class BaseAdapter implements SQLiteAdapter {\n abstract connect(path: string): Promise<SQLiteConnection>;\n abstract isSupported(): boolean;\n\n protected sanitizeSQL(sql: string): string {\n // Basic SQL injection prevention\n return sql.trim();\n }\n\n protected bindParameters(sql: string, params?: any[]): string {\n if (!params || params.length === 0) {\n return sql;\n }\n\n let paramIndex = 0;\n return sql.replace(/\\?/g, () => {\n if (paramIndex < params.length) {\n const param = params[paramIndex++];\n if (typeof param === 'string') {\n return `'${param.replace(/'/g, \"''\")}'`;\n }\n if (param === null || param === undefined) {\n return 'NULL';\n }\n return String(param);\n }\n return '?';\n });\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\nclass NodeSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n return new Promise((resolve, reject) => {\n const sanitizedSQL = this.bindParameters(sql, params);\n \n if (sql.toLowerCase().trim().startsWith('select')) {\n this.db.all(sanitizedSQL, (err: any, rows: SQLiteRow[]) => {\n if (err) {\n reject(new Error(`SQLite error: ${err.message}`));\n } else {\n resolve({\n rows: rows || [],\n rowsAffected: 0\n });\n }\n });\n } else {\n this.db.run(sanitizedSQL, function(this: any, err: any) {\n if (err) {\n reject(new Error(`SQLite error: ${err.message}`));\n } else {\n resolve({\n rows: [],\n rowsAffected: this.changes || 0,\n lastInsertRowId: this.lastID\n });\n }\n });\n }\n });\n }\n\n private bindParameters(sql: string, params?: any[]): string {\n if (!params || params.length === 0) {\n return sql;\n }\n\n let paramIndex = 0;\n return sql.replace(/\\?/g, () => {\n if (paramIndex < params.length) {\n const param = params[paramIndex++];\n if (typeof param === 'string') {\n return `'${param.replace(/'/g, \"''\")}'`;\n }\n if (param === null || param === undefined) {\n return 'NULL';\n }\n return String(param);\n }\n return '?';\n });\n }\n\n async close(): Promise<void> {\n return new Promise((resolve, reject) => {\n this.db.close((err: any) => {\n if (err) {\n reject(new Error(`Error closing database: ${err.message}`));\n } else {\n resolve();\n }\n });\n });\n }\n}\n\nexport class NodeAdapter extends BaseAdapter {\n isSupported(): boolean {\n try {\n return typeof require !== 'undefined' && require('sqlite3') !== undefined;\n } catch {\n return false;\n }\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n return new Promise((resolve, reject) => {\n try {\n const sqlite3 = require('sqlite3').verbose();\n const db = new sqlite3.Database(path, (err: any) => {\n if (err) {\n reject(new Error(`Cannot connect to database: ${err.message}`));\n } else {\n resolve(new NodeSQLiteConnection(db));\n }\n });\n } catch (error) {\n reject(new Error(`SQLite3 module not available: ${error}`));\n }\n });\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\n// Type declarations for sql.js in browser\ndeclare global {\n interface Window {\n SQL?: any;\n initSqlJs?: (config?: any) => Promise<any>;\n }\n}\n\nclass BrowserSQLiteConnection implements SQLiteConnection {\n private worker: Worker | null = null;\n private db: any = null;\n private adapter: BrowserAdapter;\n\n constructor(db: any, adapter: BrowserAdapter, worker?: Worker) {\n this.db = db;\n this.adapter = adapter;\n this.worker = worker || null;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n if (!this.db) {\n throw new Error('Database connection not available');\n }\n\n try {\n const boundSQL = this.adapter.bindParameters(sql, params);\n \n if (sql.toLowerCase().trim().startsWith('select')) {\n const result = this.db.exec(boundSQL);\n const rows: SQLiteRow[] = [];\n \n if (result.length > 0 && result[0].values) {\n const columns = result[0].columns;\n const values = result[0].values;\n \n for (const row of values) {\n const rowObj: SQLiteRow = {};\n columns.forEach((col: string, index: number) => {\n rowObj[col] = row[index];\n });\n rows.push(rowObj);\n }\n }\n \n return {\n rows,\n rowsAffected: 0\n };\n } else {\n this.db.exec(boundSQL);\n return {\n rows: [],\n rowsAffected: 1 // Browser doesn't provide exact count\n };\n }\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n async close(): Promise<void> {\n if (this.db) {\n this.db.close();\n this.db = null;\n }\n if (this.worker) {\n this.worker.terminate();\n this.worker = null;\n }\n }\n}\n\nexport class BrowserAdapter extends BaseAdapter {\n private sqlJs: any = null;\n\n isSupported(): boolean {\n return typeof window !== 'undefined' && \n (typeof window.SQL !== 'undefined' || this.sqlJs !== null);\n }\n\n // Make bindParameters public so BrowserSQLiteConnection can access it\n public bindParameters(sql: string, params?: any[]): string {\n return super.bindParameters(sql, params);\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n try {\n // Try to load sql.js if not already loaded\n if (!this.sqlJs) {\n if (typeof window.SQL !== 'undefined') {\n this.sqlJs = window.SQL;\n } else {\n // Try to load from CDN\n await this.loadSqlJs();\n }\n }\n\n let db;\n \n if (path === ':memory:') {\n // In-memory database\n db = new this.sqlJs.Database();\n } else {\n // Try to load from file\n const data = await this.loadDatabaseFile(path);\n db = new this.sqlJs.Database(data);\n }\n\n return new BrowserSQLiteConnection(db, this);\n } catch (error) {\n throw new Error(`Cannot connect to browser database: ${error}`);\n }\n }\n\n private async loadSqlJs(): Promise<void> {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script');\n script.src = 'https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js';\n script.onload = async () => {\n try {\n if (window.initSqlJs) {\n this.sqlJs = await window.initSqlJs({\n locateFile: (file: string) => `https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/${file}`\n });\n }\n resolve();\n } catch (err) {\n reject(err);\n }\n };\n script.onerror = () => reject(new Error('Failed to load sql.js'));\n document.head.appendChild(script);\n });\n }\n\n private async loadDatabaseFile(path: string): Promise<Uint8Array | undefined> {\n // Try to fetch as a file\n try {\n const response = await fetch(path);\n if (response.ok) {\n const arrayBuffer = await response.arrayBuffer();\n return new Uint8Array(arrayBuffer);\n }\n } catch {\n // File doesn't exist, return undefined for new database\n }\n\n return undefined;\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\nclass DenoSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n try {\n const boundSQL = this.bindParameters(sql, params);\n \n if (sql.toLowerCase().trim().startsWith('select')) {\n const result = this.db.queryEntries(boundSQL);\n return {\n rows: result,\n rowsAffected: 0\n };\n } else {\n const result = this.db.query(boundSQL);\n return {\n rows: [],\n rowsAffected: result.length || 1\n };\n }\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n private bindParameters(sql: string, params?: any[]): string {\n if (!params || params.length === 0) {\n return sql;\n }\n\n let paramIndex = 0;\n return sql.replace(/\\?/g, () => {\n if (paramIndex < params.length) {\n const param = params[paramIndex++];\n if (typeof param === 'string') {\n return `'${param.replace(/'/g, \"''\")}'`;\n }\n if (param === null || param === undefined) {\n return 'NULL';\n }\n return String(param);\n }\n return '?';\n });\n }\n\n async close(): Promise<void> {\n if (this.db) {\n this.db.close();\n }\n }\n}\n\nexport class DenoAdapter extends BaseAdapter {\n isSupported(): boolean {\n try {\n return typeof Deno !== 'undefined' && Deno.env !== undefined;\n } catch {\n return false;\n }\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n try {\n // @ts-ignore - Bỏ qua type checking cho dòng này\n const { DB } = await import('https://deno.land/x/sqlite@v3.8.0/mod.ts');\n const db = new DB(path);\n return new DenoSQLiteConnection(db);\n } catch (error) {\n throw new Error(`Cannot connect to Deno database: ${error}`);\n }\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\nclass BunSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n try {\n if (sql.toLowerCase().trim().startsWith('select')) {\n const result = this.db.query(sql).all(params || []);\n return {\n rows: result,\n rowsAffected: 0\n };\n } else {\n const result = this.db.query(sql).run(params || []);\n return {\n rows: [],\n rowsAffected: result.changes || 0,\n lastInsertRowId: result.lastInsertRowid\n };\n }\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n async close(): Promise<void> {\n if (this.db) {\n this.db.close();\n }\n }\n}\n\nexport class BunAdapter extends BaseAdapter {\n isSupported(): boolean {\n try {\n return typeof Bun !== 'undefined' && Bun.version !== undefined;\n } catch {\n return false;\n }\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n try {\n const { Database } = require('bun:sqlite');\n const db = new Database(path);\n return new BunSQLiteConnection(db);\n } catch (error) {\n throw new Error(`Cannot connect to Bun database: ${error}`);\n }\n }\n}","import { BaseAdapter } from './base-adapter';\nimport { SQLiteConnection, SQLiteResult, SQLiteRow } from '../types';\n\nclass ReactNativeSQLiteConnection implements SQLiteConnection {\n private db: any;\n private dbName: string;\n\n constructor(db: any, dbName: string) {\n this.db = db;\n this.dbName = dbName;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n return new Promise((resolve, reject) => {\n try {\n const boundSQL = this.bindParameters(sql, params);\n \n this.db.transaction((tx: any) => {\n tx.executeSql(\n boundSQL,\n [],\n (tx: any, results: any) => {\n const rows: SQLiteRow[] = [];\n \n if (results.rows) {\n for (let i = 0; i < results.rows.length; i++) {\n rows.push(results.rows.item(i));\n }\n }\n \n resolve({\n rows,\n rowsAffected: results.rowsAffected || 0,\n lastInsertRowId: results.insertId\n });\n },\n (tx: any, error: any) => {\n reject(new Error(`SQLite error: ${error.message}`));\n return false;\n }\n );\n });\n } catch (error) {\n reject(new Error(`SQLite execution error: ${error}`));\n }\n });\n }\n\n private bindParameters(sql: string, params?: any[]): string {\n if (!params || params.length === 0) {\n return sql;\n }\n\n let paramIndex = 0;\n return sql.replace(/\\?/g, () => {\n if (paramIndex < params.length) {\n const param = params[paramIndex++];\n if (typeof param === 'string') {\n return `'${param.replace(/'/g, \"''\")}'`;\n }\n if (param === null || param === undefined) {\n return 'NULL';\n }\n return String(param);\n }\n return '?';\n });\n }\n\n async close(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (this.db && this.db.close) {\n this.db.close(\n () => resolve(),\n (error: any) => reject(new Error(`Error closing database: ${error.message}`))\n );\n } else {\n resolve();\n }\n });\n }\n}\n\n// Adapter for react-native-sqlite-storage\nclass ReactNativeSQLiteStorageConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n return new Promise((resolve, reject) => {\n this.db.executeSql(\n sql,\n params || [],\n (results: any) => {\n const rows: SQLiteRow[] = [];\n \n if (results.rows) {\n for (let i = 0; i < results.rows.length; i++) {\n rows.push(results.rows.item(i));\n }\n }\n \n resolve({\n rows,\n rowsAffected: results.rowsAffected || 0,\n lastInsertRowId: results.insertId\n });\n },\n (error: any) => {\n reject(new Error(`SQLite error: ${error.message}`));\n }\n );\n });\n }\n\n async close(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (this.db && this.db.close) {\n this.db.close(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n}\n\n// Adapter for expo-sqlite\nclass ExpoSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n try {\n const result = await this.db.execAsync([{\n sql,\n args: params || []\n }]);\n \n if (result && result[0]) {\n const firstResult = result[0];\n return {\n rows: firstResult.rows || [],\n rowsAffected: firstResult.rowsAffected || 0,\n lastInsertRowId: firstResult.lastInsertRowId\n };\n }\n \n return {\n rows: [],\n rowsAffected: 0\n };\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n async close(): Promise<void> {\n if (this.db && this.db.closeAsync) {\n await this.db.closeAsync();\n }\n }\n}\n\n// Adapter for React Native Windows SQLite\nclass ReactNativeWindowsSQLiteConnection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n try {\n if (sql.toLowerCase().trim().startsWith('select')) {\n const result = await this.db.all(sql, params || []);\n return {\n rows: result || [],\n rowsAffected: 0\n };\n } else {\n const result = await this.db.run(sql, params || []);\n return {\n rows: [],\n rowsAffected: result.changes || 0,\n lastInsertRowId: result.lastID\n };\n }\n } catch (error) {\n throw new Error(`SQLite error: ${error}`);\n }\n }\n\n async close(): Promise<void> {\n if (this.db && this.db.close) {\n await this.db.close();\n }\n }\n}\n\n// Adapter for react-native-sqlite-2 (Windows specific)\nclass ReactNativeSQLite2Connection implements SQLiteConnection {\n private db: any;\n\n constructor(db: any) {\n this.db = db;\n }\n\n async execute(sql: string, params?: any[]): Promise<SQLiteResult> {\n return new Promise((resolve, reject) => {\n this.db.exec(\n [{ sql, args: params || [] }],\n false,\n (results: any) => {\n if (results && results[0]) {\n const result = results[0];\n if (result.error) {\n reject(new Error(`SQLite error: ${result.error.message}`));\n } else {\n resolve({\n rows: result.rows || [],\n rowsAffected: result.rowsAffected || 0,\n lastInsertRowId: result.insertId\n });\n }\n } else {\n resolve({\n rows: [],\n rowsAffected: 0\n });\n }\n }\n );\n });\n }\n\n async close(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (this.db && this.db.close) {\n this.db.close(resolve, reject);\n } else {\n resolve();\n }\n });\n }\n}\n\nexport class ReactNativeAdapter extends BaseAdapter {\n private adapterType: 'webview' | 'storage' | 'expo' | 'windows' | 'sqlite2' | null = null;\n private isWindows: boolean = false;\n\n isSupported(): boolean {\n try {\n // Check for React Native environment\n const isRN = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';\n if (!isRN) return false;\n\n // Detect Windows platform\n this.isWindows = this.isReactNativeWindows();\n\n // Check for available SQLite libraries\n if (this.isWindows) {\n if (this.hasSQLite2()) {\n this.adapterType = 'sqlite2';\n return true;\n }\n \n if (this.hasWindowsSQLite()) {\n this.adapterType = 'windows';\n return true;\n }\n }\n \n if (this.hasExpoSQLite()) {\n this.adapterType = 'expo';\n return true;\n }\n \n if (this.hasSQLiteStorage()) {\n this.adapterType = 'storage';\n return true;\n }\n \n if (this.hasWebViewSQLite()) {\n this.adapterType = 'webview';\n return true;\n }\n \n return false;\n } catch {\n return false;\n }\n }\n\n private isReactNativeWindows(): boolean {\n try {\n // Check for Windows-specific APIs or platform detection\n return (\n typeof navigator !== 'undefined' && \n navigator.product === 'ReactNative' &&\n (\n // Windows global object check\n typeof globalThis.Windows !== 'undefined' ||\n // React Native Windows module check\n (() => {\n try {\n if (typeof require !== 'undefined') {\n require('react-native-windows');\n return true;\n }\n } catch {\n return false;\n }\n return false;\n })() ||\n // Platform module check\n (() => {\n try {\n if (typeof require !== 'undefined') {\n const { Platform } = require('react-native');\n return Platform && Platform.OS === 'windows';\n }\n } catch {\n return false;\n }\n return false;\n })()\n )\n );\n } catch {\n return false;\n }\n }\n\n private hasExpoSQLite(): boolean {\n try {\n require('expo-sqlite');\n return !this.isWindows; // Expo SQLite might not work on Windows\n } catch {\n return false;\n }\n }\n\n private hasSQLiteStorage(): boolean {\n try {\n require('react-native-sqlite-storage');\n return !this.isWindows; // Standard version might not work on Windows\n } catch {\n return false;\n }\n }\n\n private hasWebViewSQLite(): boolean {\n try {\n return typeof window !== 'undefined' && \n typeof window.openDatabase === 'function' &&\n !this.isWindows; // WebView SQLite not available on Windows\n } catch {\n return false;\n }\n }\n\n private hasWindowsSQLite(): boolean {\n try {\n require('react-native-windows-sqlite');\n return true;\n } catch {\n return false;\n }\n }\n\n private hasSQLite2(): boolean {\n try {\n require('react-native-sqlite-2');\n return true;\n } catch {\n return false;\n }\n }\n\n async connect(path: string): Promise<SQLiteConnection> {\n if (!this.isSupported()) {\n throw new Error('React Native SQLite not supported in this environment');\n }\n\n switch (this.adapterType) {\n case 'sqlite2':\n return this.connectSQLite2(path);\n \n case 'windows':\n return this.connectWindows(path);\n \n case 'expo':\n return this.connectExpo(path);\n \n case 'storage':\n return this.connectStorage(path);\n \n case 'webview':\n return this.connectWebView(path);\n \n default:\n throw new Error('No React Native SQLite adapter available');\n }\n }\n\n private async connectSQLite2(path: string): Promise<SQLiteConnection> {\n return new Promise((resolve, reject) => {\n try {\n const SQLite = require('react-native-sqlite-2');\n \n SQLite.openDatabase(\n path,\n '1.0',\n 'Database',\n 200000,\n (db: any) => {\n resolve(new ReactNativeSQLite2Connection(db));\n },\n (error: any) => {\n reject(new Error(`Cannot connect to React Native SQLite-2: ${error.message}`));\n }\n );\n } catch (error) {\n reject(new Error(`React Native SQLite-2 not available: ${error}`));\n }\n });\n }\n\n private async connectWindows(path: string): Promise<SQLiteConnection> {\n try {\n const SQLite = require('react-native-windows-sqlite');\n const db = await SQLite.openDatabase({\n name: path,\n location: 'default'\n });\n return new ReactNativeWindowsSQLiteConnection(db);\n } catch (error) {\n throw new Error(`Cannot connect to React Native Windows SQLite: ${error}`);\n }\n }\n\n private async connectExpo(path: string): Promise<SQLiteConnection> {\n try {\n const SQLite = require('expo-sqlite');\n const db = SQLite.openDatabaseSync(path);\n return new ExpoSQLiteConnection(db);\n } catch (error) {\n throw new Error(`Cannot connect to Expo SQLite database: ${error}`);\n }\n }\n\n private async connectStorage(path: string): Promise<SQLiteConnection> {\n return new Promise((resolve, reject) => {\n try {\n const SQLite = require('react-native-sqlite-storage');\n \n // Enable debugging (optional)\n SQLite.DEBUG(false);\n SQLite.enablePromise(true);\n\n SQLite.openDatabase({\n name: path,\n location: 'default'\n }).then((db: any) => {\n resolve(new ReactNativeSQLiteStorageConnection(db));\n }).catch((error: any) => {\n reject(new Error(`Cannot connect to React Native SQLite database: ${error.message}`));\n });\n } catch (error) {\n reject(new Error(`React Native SQLite Storage not available: ${error}`));\n }\n });\n }\n\n private async connectWebView(path: string): Promise<SQLiteConnection> {\n try {\n if (!window.openDatabase) {\n throw new Error('WebView openDatabase not available');\n }\n const db = window.openDatabase(path, '1.0', 'Database', 2 * 1024 * 1024);\n return new ReactNativeSQLiteConnection(db, path);\n } catch (error) {\n throw new Error(`Cannot connect to WebView SQLite database: ${error}`);\n }\n }\n}","import { SQLiteAdapter, SQLiteConnection, SQLiteConfig } from './types';\nimport { NodeAdapter } from './adapters/node-adapter';\nimport { BrowserAdapter } from './adapters/browser-adapter';\nimport { DenoAdapter } from './adapters/deno-adapter';\nimport { BunAdapter } from './adapters/bun-adapter';\nimport { ReactNativeAdapter } from './adapters/react-native-adapter';\nexport class SQLiteManager {\n private adapters: SQLiteAdapter[] = [];\n private currentAdapter: SQLiteAdapter | null = null;\n\n constructor() {\n this.adapters = [\n new ReactNativeAdapter(), // Check React Native first\n new BunAdapter(),\n new DenoAdapter(),\n new NodeAdapter(),\n new BrowserAdapter()\n ];\n }\n\n private detectEnvironment(): SQLiteAdapter {\n for (const adapter of this.adapters) {\n if (adapter.isSupported()) {\n return adapter;\n }\n }\n throw new Error('No supported SQLite adapter found for this environment');\n }\n\n async connect(config: string | SQLiteConfig): Promise<SQLiteConnection> {\n const path = typeof config === 'string' ? config : config.path;\n \n if (!this.currentAdapter) {\n this.currentAdapter = this.detectEnvironment();\n }\n\n try {\n return await this.currentAdapter.connect(path);\n } catch (error) {\n throw new Error(`Failed to connect to SQLite database: ${error}`);\n }\n }\n\n getEnvironmentInfo(): string {\n try {\n // Safe check for React Native\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n // Safe check for Windows environment\n if (typeof globalThis.Windows !== 'undefined') {\n return 'React Native Windows';\n }\n \n // Safe check for Platform API\n try {\n // Try to import Platform from react-native if available\n const Platform = this.getPlatform();\n if (Platform && Platform.OS === 'windows') {\n return 'React Native Windows';\n }\n } catch {\n // Platform not available, continue\n }\n \n return 'React Native';\n }\n \n // if (typeof Bun !== 'undefined') return 'Bun';\n // if (typeof Deno !== 'undefined') return 'Deno';\n if (typeof window !== 'undefined') return 'Browser';\n if (typeof process !== 'undefined') return 'Node.js';\n return 'Unknown';\n } catch {\n return 'Unknown';\n }\n }\n\n private getPlatform(): any {\n try {\n // Try to require Platform from react-native\n if (typeof require !== 'undefined') {\n const { Platform } = require('react-native');\n return Platform;\n }\n } catch {\n // react-native not available\n }\n \n // Try global Platform\n try {\n return globalThis.Platform;\n } catch {\n return null;\n }\n }\n}\n","import { QueryBuilder } from './query-builder';\r\nimport { SQLiteManager } from './sqlite-manager';\r\nimport { SQLiteConnection } from './types';\r\n\r\nexport { SQLiteManager } from './sqlite-manager';\r\nexport { QueryBuilder } from './query-builder';\r\nexport * from './types';\r\n\r\n// Example usage and main export\r\nexport default class UniversalSqlite {\r\n private manager: SQLiteManager;\r\n private connection: SQLiteConnection | null = null;\r\n\r\n constructor() {\r\n this.manager = new SQLiteManager();\r\n }\r\n\r\n async connect(path: string): Promise<void> {\r\n this.connection = await this.manager.connect(path);\r\n }\r\n\r\n async query(sql: string, params?: any[]) {\r\n if (!this.connection) {\r\n throw new Error('Database not connected');\r\n }\r\n return await this.connection.execute(sql, params);\r\n }\r\n\r\n async close(): Promise<void> {\r\n if (this.connection) {\r\n await this.connection.close();\r\n this.connection = null;\r\n }\r\n }\r\n\r\n getEnvironment(): string {\r\n return this.manager.getEnvironmentInfo();\r\n }\r\n\r\n // Convenience methods\r\n async createTable(name: string, schema: Record<string, string>): Promise<void> {\r\n const fields = Object.entries(schema)\r\n .map(([field, type]) => `${field} ${type}`)\r\n .join(', ');\r\n \r\n await this.query(`CREATE TABLE IF NOT EXISTS ${name} (${fields})`);\r\n }\r\n\r\n async insert(table: string, data: Record<string, any>) {\r\n const sql = QueryBuilder.insert(table, data);\r\n return await this.query(sql, Object.values(data));\r\n }\r\n\r\n async select(table: string, where?: string, params?: any[]) {\r\n let sql = `SELECT * FROM ${table}`;\r\n if (where) {\r\n sql += ` WHERE ${where}`;\r\n }\r\n return await this.query(sql, params);\r\n }\r\n\r\n async update(table: string, data: Record<string, any>, where: string, whereParams?: any[]) {\r\n const sql = QueryBuilder.update(table, data, where);\r\n const params = [...Object.values(data), ...(whereParams || [])];\r\n return await this.query(sql, params);\r\n }\r\n\r\n async delete(table: string, where: string, params?: any[]) {\r\n const sql = QueryBuilder.delete(table, where);\r\n return await this.query(sql, params);\r\n }\r\n}"],"names":["QueryBuilder","name","builder","fields","condition","field","direction","count","sql","tableName","data","placeholders","where","sets","key","BaseAdapter","params","paramIndex","param","NodeSQLiteConnection","db","resolve","reject","sanitizedSQL","err","rows","NodeAdapter","_a","path","sqlite3","error","BrowserSQLiteConnection","adapter","worker","boundSQL","result","columns","values","row","rowObj","col","index","BrowserAdapter","script","file","response","arrayBuffer","DenoSQLiteConnection","DenoAdapter","DB","BunAdapter","Database","BunSQLiteConnection","ReactNativeSQLiteConnection","dbName","tx","results","i","ReactNativeSQLiteStorageConnection","ExpoSQLiteConnection","firstResult","ReactNativeWindowsSQLiteConnection","ReactNativeSQLite2Connection","ReactNativeAdapter","Platform","SQLite","SQLiteManager","config","_b","UniversalSqlite","schema","type","table","whereParams"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare class QueryBuilder {
|
|
2
|
+
private tableName;
|
|
3
|
+
private selectFields;
|
|
4
|
+
private whereConditions;
|
|
5
|
+
private orderByFields;
|
|
6
|
+
private limitValue;
|
|
7
|
+
private offsetValue;
|
|
8
|
+
static table(name: string): QueryBuilder;
|
|
9
|
+
select(fields: string | string[]): QueryBuilder;
|
|
10
|
+
where(condition: string): QueryBuilder;
|
|
11
|
+
orderBy(field: string, direction?: 'ASC' | 'DESC'): QueryBuilder;
|
|
12
|
+
limit(count: number): QueryBuilder;
|
|
13
|
+
offset(count: number): QueryBuilder;
|
|
14
|
+
toSQL(): string;
|
|
15
|
+
static insert(tableName: string, data: Record<string, any>): string;
|
|
16
|
+
static update(tableName: string, data: Record<string, any>, where: string): string;
|
|
17
|
+
static delete(tableName: string, where: string): string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=query-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAuB;IAE1C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAMxC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY;IAK/C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAKtC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,KAAK,GAAG,MAAc,GAAG,YAAY;IAKvE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAKlC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAKnC,KAAK,IAAI,MAAM;IAuBf,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAQnE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAKlF,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAGxD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SQLiteConnection, SQLiteConfig } from './types';
|
|
2
|
+
export declare class SQLiteManager {
|
|
3
|
+
private adapters;
|
|
4
|
+
private currentAdapter;
|
|
5
|
+
constructor();
|
|
6
|
+
private detectEnvironment;
|
|
7
|
+
connect(config: string | SQLiteConfig): Promise<SQLiteConnection>;
|
|
8
|
+
getEnvironmentInfo(): string;
|
|
9
|
+
private getPlatform;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=sqlite-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-manager.d.ts","sourceRoot":"","sources":["../src/sqlite-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMxE,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,cAAc,CAA8B;;IAYpD,OAAO,CAAC,iBAAiB;IASnB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAcvE,kBAAkB,IAAI,MAAM;IAiC5B,OAAO,CAAC,WAAW;CAkBpB"}
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface SQLiteRow {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}
|
|
4
|
+
export interface SQLiteResult {
|
|
5
|
+
rows: SQLiteRow[];
|
|
6
|
+
rowsAffected: number;
|
|
7
|
+
lastInsertRowId?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface SQLiteConnection {
|
|
10
|
+
execute(sql: string, params?: any[]): Promise<SQLiteResult>;
|
|
11
|
+
close(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export interface SQLiteAdapter {
|
|
14
|
+
connect(path: string): Promise<SQLiteConnection>;
|
|
15
|
+
isSupported(): boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface SQLiteConfig {
|
|
18
|
+
path: string;
|
|
19
|
+
timeout?: number;
|
|
20
|
+
busyTimeout?: number;
|
|
21
|
+
}
|
|
22
|
+
declare global {
|
|
23
|
+
interface Window {
|
|
24
|
+
SQL?: any;
|
|
25
|
+
initSqlJs?: (config?: any) => Promise<any>;
|
|
26
|
+
openDatabase?: (name: string, version: string, displayName: string, estimatedSize: number) => any;
|
|
27
|
+
}
|
|
28
|
+
var Deno: {
|
|
29
|
+
env: any;
|
|
30
|
+
version?: {
|
|
31
|
+
deno: string;
|
|
32
|
+
};
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
} | undefined;
|
|
35
|
+
var Bun: {
|
|
36
|
+
version: string;
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
} | undefined;
|
|
39
|
+
var Windows: any;
|
|
40
|
+
var Platform: {
|
|
41
|
+
OS: string;
|
|
42
|
+
Version?: string;
|
|
43
|
+
} | undefined;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,WAAW,IAAI,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,MAAM;QACd,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,GAAG,CAAC;KACnG;IAGD,IAAI,IAAI,EAAE;QACR,GAAG,EAAE,GAAG,CAAC;QACT,OAAO,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,GAAG,SAAS,CAAC;IAGd,IAAI,GAAG,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,GAAG,SAAS,CAAC;IAGd,IAAI,OAAO,EAAE,GAAG,CAAC;IAGjB,IAAI,QAAQ,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,SAAS,CAAC;CAMf"}
|