@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,8 @@
|
|
|
1
|
+
import { SQLiteAdapter, SQLiteConnection } from '../types';
|
|
2
|
+
export declare abstract class BaseAdapter implements SQLiteAdapter {
|
|
3
|
+
abstract connect(path: string): Promise<SQLiteConnection>;
|
|
4
|
+
abstract isSupported(): boolean;
|
|
5
|
+
protected sanitizeSQL(sql: string): string;
|
|
6
|
+
protected bindParameters(sql: string, params?: any[]): string;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=base-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/base-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAgB,MAAM,UAAU,CAAC;AACzE,8BAAsB,WAAY,YAAW,aAAa;IACxD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACzD,QAAQ,CAAC,WAAW,IAAI,OAAO;IAE/B,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAK1C,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM;CAoB9D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
2
|
+
import { SQLiteConnection } from '../types';
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
SQL?: any;
|
|
6
|
+
initSqlJs?: (config?: any) => Promise<any>;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export declare class BrowserAdapter extends BaseAdapter {
|
|
10
|
+
private sqlJs;
|
|
11
|
+
isSupported(): boolean;
|
|
12
|
+
bindParameters(sql: string, params?: any[]): string;
|
|
13
|
+
connect(path: string): Promise<SQLiteConnection>;
|
|
14
|
+
private loadSqlJs;
|
|
15
|
+
private loadDatabaseFile;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=browser-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/browser-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAA2B,MAAM,UAAU,CAAC;AAGrE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KAC5C;CACF;AAkED,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAO,CAAC,KAAK,CAAa;IAE1B,WAAW,IAAI,OAAO;IAMf,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM;IAIpD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;YA6BxC,SAAS;YAqBT,gBAAgB;CAc/B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
2
|
+
import { SQLiteConnection } from '../types';
|
|
3
|
+
export declare class BunAdapter extends BaseAdapter {
|
|
4
|
+
isSupported(): boolean;
|
|
5
|
+
connect(path: string): Promise<SQLiteConnection>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=bun-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/bun-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAA2B,MAAM,UAAU,CAAC;AAqCrE,qBAAa,UAAW,SAAQ,WAAW;IACzC,WAAW,IAAI,OAAO;IAQhB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CASvD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
2
|
+
import { SQLiteConnection } from '../types';
|
|
3
|
+
export declare class DenoAdapter extends BaseAdapter {
|
|
4
|
+
isSupported(): boolean;
|
|
5
|
+
connect(path: string): Promise<SQLiteConnection>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=deno-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deno-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/deno-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAA2B,MAAM,UAAU,CAAC;AA2DrE,qBAAa,WAAY,SAAQ,WAAW;IAC1C,WAAW,IAAI,OAAO;IAQhB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAUvD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
2
|
+
import { SQLiteConnection } from '../types';
|
|
3
|
+
export declare class NodeAdapter extends BaseAdapter {
|
|
4
|
+
isSupported(): boolean;
|
|
5
|
+
connect(path: string): Promise<SQLiteConnection>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=node-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/node-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAA2B,MAAM,UAAU,CAAC;AA0ErE,qBAAa,WAAY,SAAQ,WAAW;IAC1C,WAAW,IAAI,OAAO;IAQhB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAgBvD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseAdapter } from './base-adapter';
|
|
2
|
+
import { SQLiteConnection } from '../types';
|
|
3
|
+
export declare class ReactNativeAdapter extends BaseAdapter {
|
|
4
|
+
private adapterType;
|
|
5
|
+
private isWindows;
|
|
6
|
+
isSupported(): boolean;
|
|
7
|
+
private isReactNativeWindows;
|
|
8
|
+
private hasExpoSQLite;
|
|
9
|
+
private hasSQLiteStorage;
|
|
10
|
+
private hasWebViewSQLite;
|
|
11
|
+
private hasWindowsSQLite;
|
|
12
|
+
private hasSQLite2;
|
|
13
|
+
connect(path: string): Promise<SQLiteConnection>;
|
|
14
|
+
private connectSQLite2;
|
|
15
|
+
private connectWindows;
|
|
16
|
+
private connectExpo;
|
|
17
|
+
private connectStorage;
|
|
18
|
+
private connectWebView;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=react-native-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-native-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/react-native-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAA2B,MAAM,UAAU,CAAC;AA2PrE,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,OAAO,CAAC,WAAW,CAAuE;IAC1F,OAAO,CAAC,SAAS,CAAkB;IAEnC,WAAW,IAAI,OAAO;IA2CtB,OAAO,CAAC,oBAAoB;IAwC5B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,UAAU;IASZ,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;YA0BxC,cAAc;YAuBd,cAAc;YAad,WAAW;YAUX,cAAc;YAuBd,cAAc;CAW7B"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { SQLiteManager } from './sqlite-manager';
|
|
2
|
+
export { QueryBuilder } from './query-builder';
|
|
3
|
+
export * from './types';
|
|
4
|
+
export default class UniversalSqlite {
|
|
5
|
+
private manager;
|
|
6
|
+
private connection;
|
|
7
|
+
constructor();
|
|
8
|
+
connect(path: string): Promise<void>;
|
|
9
|
+
query(sql: string, params?: any[]): Promise<import("./types").SQLiteResult>;
|
|
10
|
+
close(): Promise<void>;
|
|
11
|
+
getEnvironment(): string;
|
|
12
|
+
createTable(name: string, schema: Record<string, string>): Promise<void>;
|
|
13
|
+
insert(table: string, data: Record<string, any>): Promise<import("./types").SQLiteResult>;
|
|
14
|
+
select(table: string, where?: string, params?: any[]): Promise<import("./types").SQLiteResult>;
|
|
15
|
+
update(table: string, data: Record<string, any>, where: string, whereParams?: any[]): Promise<import("./types").SQLiteResult>;
|
|
16
|
+
delete(table: string, where: string, params?: any[]): Promise<import("./types").SQLiteResult>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,cAAc,SAAS,CAAC;AAGxB,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAiC;;IAM7C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE;IAOjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,cAAc,IAAI,MAAM;IAKlB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAK/C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE;IAQpD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE;IAMnF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE;CAI1D"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x57ad86=_0x196e;(function(_0x436514,_0x4ed481){const _0x16a99c={_0x4cd022:0xb7,_0xf7b637:0x1fe,_0x2e5686:0x20c,_0x1f98d7:0x1ed,_0x407485:0x18a,_0x54d37f:0x1ad,_0x1624ad:0x125},_0x3780ce=_0x196e,_0x2733a1=_0x436514();while(!![]){try{const _0x17fb4d=parseInt(_0x3780ce(_0x16a99c._0x4cd022))/(0x1842+0xd*0xe3+-0x23c8)+parseInt(_0x3780ce(_0x16a99c._0xf7b637))/(-0x1*-0x1087+-0xfbe+-0xc7)*(-parseInt(_0x3780ce(_0x16a99c._0x2e5686))/(-0x1b8a+0x1*-0x16d+-0x1cfa*-0x1))+-parseInt(_0x3780ce(_0x16a99c._0x1f98d7))/(0x1*-0x164b+-0x25e+0x18ad)*(-parseInt(_0x3780ce(0x1e8))/(0x1857+0x1104+-0x11e*0x25))+-parseInt(_0x3780ce(_0x16a99c._0x407485))/(-0x1154+-0x1f*-0x74+0x34e)*(parseInt(_0x3780ce(0x261))/(0x21dd+0x25*0x51+-0x2d8b))+parseInt(_0x3780ce(_0x16a99c._0x54d37f))/(-0xd9f+-0x1*0x260f+0x33b6)+parseInt(_0x3780ce(0x136))/(0x74f*0x3+0x221+-0x8f*0x2b)*(parseInt(_0x3780ce(_0x16a99c._0x1624ad))/(-0x24af+0x11c8+0x12f1))+-parseInt(_0x3780ce(0x162))/(-0x13*0x1e7+-0x1*-0x37e+0x20b2);if(_0x17fb4d===_0x4ed481)break;else _0x2733a1['push'](_0x2733a1['shift']());}catch(_0x3337af){_0x2733a1['push'](_0x2733a1['shift']());}}}(_0x13e8,-0x42d*0x39a+-0x8e8d7+0x206449));const _0x11793d=(function(){let _0x4db261=!![];return function(_0x5a49ff,_0x2d787b){const _0x4c6fbe=_0x4db261?function(){if(_0x2d787b){const _0x2a853f=_0x2d787b['apply'](_0x5a49ff,arguments);return _0x2d787b=null,_0x2a853f;}}:function(){};return _0x4db261=![],_0x4c6fbe;};}()),_0x169f58=_0x11793d(this,function(){const _0x4933fd={_0x24be8f:0xf2,_0x4a5610:0x133,_0x2e85c9:0x148,_0x4e2b73:0x155,_0x18671a:0xf2},_0x53c3af=_0x196e;return _0x169f58[_0x53c3af(0xf9)+_0x53c3af(0x133)]()[_0x53c3af(0x17c)+'h'](_0x53c3af(0x155)+_0x53c3af(_0x4933fd._0x24be8f)+'+$')['toStr'+_0x53c3af(_0x4933fd._0x4a5610)]()[_0x53c3af(0x21f)+_0x53c3af(_0x4933fd._0x2e85c9)+'r'](_0x169f58)[_0x53c3af(0x17c)+'h'](_0x53c3af(_0x4933fd._0x4e2b73)+_0x53c3af(_0x4933fd._0x18671a)+'+$');});_0x169f58();'use strict';var b=Object[_0x57ad86(0x25d)+'e'],w=Object['defin'+_0x57ad86(0x20a)+_0x57ad86(0xae)],p=Object[_0x57ad86(0x220)+_0x57ad86(0x1a4)+_0x57ad86(0x16a)+_0x57ad86(0x19b)+_0x57ad86(0x22f)],m=Object[_0x57ad86(0x220)+'nProp'+_0x57ad86(0x204)+_0x57ad86(0xc7)],S=Object[_0x57ad86(0x238)+_0x57ad86(0xf3)+_0x57ad86(0x210)],g=Object[_0x57ad86(0x1e4)+_0x57ad86(0x277)][_0x57ad86(0x114)+'nProp'+_0x57ad86(0xae)],E=(_0x50310b,_0xa6d3e2,_0x2aa9b0,_0x5d2044)=>{const _0x4b802e={_0x373fd4:0x1d7,_0x43bb86:0x1be,_0x1fd792:0x199,_0x18ce62:0x255},_0x4a0b56=_0x57ad86,_0x2c8d8c={'mJxAh':function(_0x33e70c,_0x18cb95){return _0x33e70c==_0x18cb95;},'qjOYB':_0x4a0b56(0xe5)+'t','rRzjh':'funct'+_0x4a0b56(_0x4b802e._0x373fd4),'AhByk':function(_0x7c96a8,_0x396ae6){return _0x7c96a8!==_0x396ae6;},'axiaw':function(_0x51bfb8,_0x347569,_0x4fdebe){return _0x51bfb8(_0x347569,_0x4fdebe);}};if(_0xa6d3e2&&_0x2c8d8c[_0x4a0b56(0xce)](typeof _0xa6d3e2,_0x2c8d8c[_0x4a0b56(0x13f)])||typeof _0xa6d3e2==_0x2c8d8c[_0x4a0b56(0x101)]){for(let _0x4c5b0b of m(_0xa6d3e2))!g['call'](_0x50310b,_0x4c5b0b)&&_0x2c8d8c[_0x4a0b56(0x223)](_0x4c5b0b,_0x2aa9b0)&&w(_0x50310b,_0x4c5b0b,{'get':()=>_0xa6d3e2[_0x4c5b0b],'enumerable':!(_0x5d2044=_0x2c8d8c[_0x4a0b56(_0x4b802e._0x43bb86)](p,_0xa6d3e2,_0x4c5b0b))||_0x5d2044[_0x4a0b56(_0x4b802e._0x1fd792)+_0x4a0b56(_0x4b802e._0x18ce62)]});}return _0x50310b;},L=(_0x429542,_0x909fcf,_0x5e787f)=>(_0x5e787f=_0x429542!=null?b(S(_0x429542)):{},E(_0x909fcf||!_0x429542||!_0x429542[_0x57ad86(0xd8)+'odule']?w(_0x5e787f,_0x57ad86(0x22b)+'lt',{'value':_0x429542,'enumerable':!(0x37d*0x3+0xdd3*-0x1+0x4*0xd7)}):_0x5e787f,_0x429542));Object[_0x57ad86(0x10a)+_0x57ad86(0x20a)+_0x57ad86(0xae)](exports,_0x57ad86(0xd8)+_0x57ad86(0x1e6),{'value':!(-0x2037+0x5*0x629+-0x16a*-0x1)});class l{constructor(){const _0x5e0625={_0x2b7220:0xe4,_0xa4b294:0x1cf,_0x456db3:0xd7,_0x4d8759:0x12c,_0x30efa9:0xaa,_0x468a35:0x1fb},_0x4096f4=_0x57ad86;this[_0x4096f4(_0x5e0625._0x2b7220)+_0x4096f4(_0x5e0625._0xa4b294)]='',this['selec'+_0x4096f4(_0x5e0625._0x456db3)+'ds']=['*'],this[_0x4096f4(_0x5e0625._0x4d8759)+'Condi'+_0x4096f4(0x207)]=[],this[_0x4096f4(0x23a)+_0x4096f4(0x1d4)+_0x4096f4(_0x5e0625._0x30efa9)]=[],this[_0x4096f4(_0x5e0625._0x468a35)+_0x4096f4(0x1fc)]=null,this[_0x4096f4(0xd3)+'tValu'+'e']=null;}static[_0x57ad86(0xe4)](_0x1dac07){const _0x4d6fd0={_0x998140:0xe4},_0x556255=_0x57ad86,_0x5e88d8=new l();return _0x5e88d8[_0x556255(_0x4d6fd0._0x998140)+_0x556255(0x1cf)]=_0x1dac07,_0x5e88d8;}[_0x57ad86(0x159)+'t'](_0x49e005){const _0x4ed042={_0x1bf78b:0x159},_0x43b342=_0x57ad86;return this[_0x43b342(_0x4ed042._0x1bf78b)+_0x43b342(0xd7)+'ds']=Array['isArr'+'ay'](_0x49e005)?_0x49e005:[_0x49e005],this;}['where'](_0x9de71e){const _0x1aff3c={_0x351bf8:0x12c,_0x396ba7:0x207,_0x52b417:0xa7},_0xe93cf=_0x57ad86;return this[_0xe93cf(_0x1aff3c._0x351bf8)+'Condi'+_0xe93cf(_0x1aff3c._0x396ba7)][_0xe93cf(_0x1aff3c._0x52b417)](_0x9de71e),this;}['order'+'By'](_0x3f73de,_0x1d6315=_0x57ad86(0x14b)){const _0x4aaa71={_0xebf2f7:0xaa,_0x584714:0xa7},_0x2bfd6f=_0x57ad86;return this[_0x2bfd6f(0x23a)+_0x2bfd6f(0x1d4)+_0x2bfd6f(_0x4aaa71._0xebf2f7)][_0x2bfd6f(_0x4aaa71._0x584714)](_0x3f73de+'\x20'+_0x1d6315),this;}[_0x57ad86(0x1fb)](_0x1e43b2){const _0x361ca8={_0x367bb3:0x1fb,_0x12e92a:0x1fc},_0x20e857=_0x57ad86;return this[_0x20e857(_0x361ca8._0x367bb3)+_0x20e857(_0x361ca8._0x12e92a)]=_0x1e43b2,this;}[_0x57ad86(0xd3)+'t'](_0x3877c2){const _0x6a0736=_0x57ad86;return this['offse'+_0x6a0736(0x21a)+'e']=_0x3877c2,this;}['toSQL'](){const _0x3cd975={_0x2bc812:0xff,_0x9477e:0x159,_0x3fdfdc:0x169,_0x994e37:0xe4,_0x2384c5:0x1cf,_0x2c03b5:0x12c,_0x33f91f:0x274,_0x37baca:0x207,_0x359721:0x154,_0xbe5dfb:0x1fc,_0x50ab2d:0x21a,_0x4a030d:0x23c},_0x441e6e=_0x57ad86,_0x5e1145={'rVMlg':_0x441e6e(_0x3cd975._0x2bc812),'UpBQd':function(_0x4cb346,_0x4295b5){return _0x4cb346>_0x4295b5;}};let _0x34fa18=_0x441e6e(0x152)+'T\x20'+this[_0x441e6e(_0x3cd975._0x9477e)+_0x441e6e(0xd7)+'ds'][_0x441e6e(_0x3cd975._0x3fdfdc)](',\x20')+('\x20FROM'+'\x20')+this[_0x441e6e(_0x3cd975._0x994e37)+_0x441e6e(_0x3cd975._0x2384c5)];return this[_0x441e6e(_0x3cd975._0x2c03b5)+'Condi'+_0x441e6e(0x207)][_0x441e6e(0x22c)+'h']>0x718*0x1+-0xe14+-0xc*-0x95&&(_0x34fa18+='\x20WHER'+'E\x20'+this[_0x441e6e(0x12c)+_0x441e6e(_0x3cd975._0x33f91f)+_0x441e6e(_0x3cd975._0x37baca)][_0x441e6e(0x169)](_0x5e1145[_0x441e6e(_0x3cd975._0x359721)])),_0x5e1145[_0x441e6e(0x1ae)](this['order'+_0x441e6e(0x1d4)+_0x441e6e(0xaa)]['lengt'+'h'],0x3*0x7dc+0x3*0x686+-0x2b26*0x1)&&(_0x34fa18+=_0x441e6e(0x177)+_0x441e6e(0xba)+this[_0x441e6e(0x23a)+'ByFie'+_0x441e6e(0xaa)]['join'](',\x20')),this[_0x441e6e(0x1fb)+_0x441e6e(0x1fc)]!==null&&(_0x34fa18+=_0x441e6e(0x250)+'T\x20'+this['limit'+_0x441e6e(_0x3cd975._0xbe5dfb)]),this['offse'+_0x441e6e(_0x3cd975._0x50ab2d)+'e']!==null&&(_0x34fa18+=_0x441e6e(_0x3cd975._0x4a030d)+_0x441e6e(0x1f7)+this[_0x441e6e(0xd3)+_0x441e6e(0x21a)+'e']),_0x34fa18;}static[_0x57ad86(0xeb)+'t'](_0x38b2a2,_0x35a8af){const _0x1d67b8={_0x5c2cf8:0xb3,_0x485461:0x1ff,_0x3f1d4a:0x24d},_0x11d279=_0x57ad86,_0x10727c=Object[_0x11d279(0x1d6)](_0x35a8af),_0x340292=Object[_0x11d279(0x149)+'s'](_0x35a8af)[_0x11d279(_0x1d67b8._0x5c2cf8)](()=>'?')[_0x11d279(0x169)](',\x20');return _0x11d279(0x1b6)+_0x11d279(_0x1d67b8._0x485461)+'O\x20'+_0x38b2a2+'\x20('+_0x10727c[_0x11d279(0x169)](',\x20')+(_0x11d279(_0x1d67b8._0x3f1d4a)+_0x11d279(0xf6))+_0x340292+')';}static[_0x57ad86(0x212)+'e'](_0x534494,_0x57138a,_0x3c9268){const _0x1f4fd3={_0x51c141:0x1d6,_0x4de0ce:0xb3,_0x3b3b94:0x246,_0x5a3f0e:0x10f},_0x13f1c6=_0x57ad86,_0x57d235=Object[_0x13f1c6(_0x1f4fd3._0x51c141)](_0x57138a)[_0x13f1c6(_0x1f4fd3._0x4de0ce)](_0x4bfcd8=>_0x4bfcd8+'\x20=\x20?')[_0x13f1c6(0x169)](',\x20');return _0x13f1c6(_0x1f4fd3._0x3b3b94)+'E\x20'+_0x534494+_0x13f1c6(_0x1f4fd3._0x5a3f0e)+_0x57d235+(_0x13f1c6(0xda)+'E\x20')+_0x3c9268;}static['delet'+'e'](_0x38f55d,_0x37923d){const _0x4f0f75=_0x57ad86;return'DELET'+_0x4f0f75(0x24a)+'M\x20'+_0x38f55d+(_0x4f0f75(0xda)+'E\x20')+_0x37923d;}}class h{[_0x57ad86(0x24e)+_0x57ad86(0xc4)+'L'](_0x21112a){const _0x764c80=_0x57ad86;return _0x21112a[_0x764c80(0x1b9)]();}[_0x57ad86(0x245)+_0x57ad86(0xa9)+_0x57ad86(0xa3)](_0x22777a,_0x19a7de){const _0x1a8812={_0x4bece7:0xe3,_0x13814d:0x22c},_0x4a8066={_0x3a9613:0x1c9},_0x370fcb=_0x57ad86,_0x4697d7={'OCzCq':_0x370fcb(_0x1a8812._0x4bece7),'Uvxhh':function(_0x460d01,_0x3a8358){return _0x460d01===_0x3a8358;}};if(!_0x19a7de||_0x4697d7[_0x370fcb(0x272)](_0x19a7de[_0x370fcb(_0x1a8812._0x13814d)+'h'],-0x3*-0xb85+0x281*-0x3+-0x241*0xc))return _0x22777a;let _0x4e8ae1=-0x60d*-0x2+0xe8*-0x1d+-0xf2*-0xf;return _0x22777a['repla'+'ce'](/\?/g,()=>{const _0x80f0fc=_0x370fcb;if(_0x4e8ae1<_0x19a7de['lengt'+'h']){const _0x95a923=_0x19a7de[_0x4e8ae1++];return typeof _0x95a923==_0x80f0fc(_0x4a8066._0x3a9613)+'g'?'\x27'+_0x95a923['repla'+'ce'](/'/g,'\x27\x27')+'\x27':_0x95a923==null?_0x4697d7[_0x80f0fc(0x168)]:String(_0x95a923);}return'?';});}}class ${constructor(_0x5d8d7e){this['db']=_0x5d8d7e;}async['execu'+'te'](_0x48ed1e,_0x17eb6d){const _0xd8ffbe={_0x423fc8:0x264,_0xefa1cc:0x245,_0x2ab61d:0x189,_0xb3ba90:0xb0,_0x3b7fe9:0xa1},_0xd686a0=_0x57ad86,_0x318827={'ACrdI':function(_0x1d0034,_0x5911c6){return _0x1d0034(_0x5911c6);},'IDafv':_0xd686a0(0x159)+'t'};return new Promise((_0x38e55e,_0x5d94c3)=>{const _0x5278e8={_0x472cb7:0x1b5,_0x485156:0xd1,_0x250507:0xde},_0x335f22={_0x1afdf5:0x22e,_0x4b62d2:0xb6,_0x28c2d8:0x1fa},_0x384f43=_0xd686a0,_0x37108f={'YWywj':_0x384f43(_0xd8ffbe._0x423fc8),'lmHfQ':'xunDZ','fpVWc':function(_0x902489,_0x4374eb){return _0x902489(_0x4374eb);},'dQJCa':function(_0x459181,_0x4d3d6e){const _0x5c80c4=_0x384f43;return _0x318827[_0x5c80c4(0x236)](_0x459181,_0x4d3d6e);}},_0x164d98=this[_0x384f43(_0xd8ffbe._0xefa1cc)+'arame'+'ters'](_0x48ed1e,_0x17eb6d);_0x48ed1e[_0x384f43(0x1ec)+_0x384f43(_0xd8ffbe._0x2ab61d)+'e']()[_0x384f43(0x1b9)]()[_0x384f43(0x1b2)+_0x384f43(_0xd8ffbe._0xb3ba90)](_0x318827[_0x384f43(0x226)])?this['db'][_0x384f43(0x1bd)](_0x164d98,(_0x1b2e67,_0xc5e32a)=>{const _0x5d6085=_0x384f43;if(_0x37108f['YWywj']!==_0x37108f[_0x5d6085(_0x335f22._0x1afdf5)])_0x1b2e67?_0x37108f[_0x5d6085(0x1b5)](_0x5d94c3,new Error(_0x5d6085(_0x335f22._0x4b62d2)+_0x5d6085(0x258)+'or:\x20'+_0x1b2e67[_0x5d6085(_0x335f22._0x28c2d8)+'ge'])):_0x37108f[_0x5d6085(0x1ea)](_0x38e55e,{'rows':_0xc5e32a||[],'rowsAffected':0x0});else{const _0x2b2a87={_0x4a894c:0x1df},_0x1e0042={'KOmFi':function(_0x1a3670){return _0x1a3670();}};return new _0x473050((_0x48701d,_0x438bdd)=>{const _0x5ad237=_0x5d6085;this['db']&&this['db'][_0x5ad237(_0x2b2a87._0x4a894c)]?this['db'][_0x5ad237(_0x2b2a87._0x4a894c)](()=>_0x48701d(),_0x157419=>_0x438bdd(new _0x5a48ca(_0x5ad237(0x163)+_0x5ad237(0x17e)+_0x5ad237(0x1dd)+_0x5ad237(0x209)+_0x5ad237(0xa6)+_0x157419[_0x5ad237(0x1fa)+'ge']))):_0x1e0042[_0x5ad237(0x150)](_0x48701d);});}}):this['db'][_0x384f43(_0xd8ffbe._0x3b7fe9)](_0x164d98,function(_0x1716d0){const _0x1178d3=_0x384f43;_0x1716d0?_0x37108f[_0x1178d3(_0x5278e8._0x472cb7)](_0x5d94c3,new Error('SQLit'+_0x1178d3(0x258)+_0x1178d3(_0x5278e8._0x485156)+_0x1716d0[_0x1178d3(0x1fa)+'ge'])):_0x38e55e({'rows':[],'rowsAffected':this[_0x1178d3(0x11d)+'es']||0xcd*0x2d+-0x2cb+-0x17*0x172,'lastInsertRowId':this[_0x1178d3(_0x5278e8._0x250507)+'D']});});});}[_0x57ad86(0x245)+_0x57ad86(0xa9)+_0x57ad86(0xa3)](_0x28a30b,_0x5b8180){const _0x72b58e={_0x48daf2:0xe3,_0x5d142a:0x1d1},_0x43372a={_0x4cc1ab:0x22c,_0x4c9d1c:0x1d1,_0xb4f0f4:0xab},_0x3d7416=_0x57ad86,_0x3b8976={'ifssf':function(_0x3c16ea,_0x284638){return _0x3c16ea<_0x284638;},'uvTHy':function(_0x4fa935,_0x19108b){return _0x4fa935==_0x19108b;},'Sycrg':_0x3d7416(_0x72b58e._0x48daf2)};if(!_0x5b8180||_0x5b8180['lengt'+'h']===0x138+0xd5e+0x2*-0x74b)return _0x28a30b;let _0x1d60f=0x7*0x31f+0x17da+-0x2db3;return _0x28a30b[_0x3d7416(_0x72b58e._0x5d142a)+'ce'](/\?/g,()=>{const _0x3dbd05=_0x3d7416;if(_0x3b8976[_0x3dbd05(0x195)](_0x1d60f,_0x5b8180[_0x3dbd05(_0x43372a._0x4cc1ab)+'h'])){const _0x2b4896=_0x5b8180[_0x1d60f++];return typeof _0x2b4896==_0x3dbd05(0x1c9)+'g'?'\x27'+_0x2b4896[_0x3dbd05(_0x43372a._0x4c9d1c)+'ce'](/'/g,'\x27\x27')+'\x27':_0x3b8976[_0x3dbd05(0x244)](_0x2b4896,null)?_0x3b8976[_0x3dbd05(_0x43372a._0xb4f0f4)]:String(_0x2b4896);}return'?';});}async[_0x57ad86(0x1df)](){const _0x454138={_0x240e4a:0x222},_0x3e556f={_0x1299c2:0xef,_0x2d00ae:0x129,_0x5767af:0x22c},_0x311344=_0x57ad86,_0x5143a2={'ksKLL':function(_0x29d12b,_0x43f06a){return _0x29d12b(_0x43f06a);},'HHPZK':_0x311344(_0x454138._0x240e4a),'pHHKm':'vGbho'};return new Promise((_0x355871,_0x120b1c)=>{const _0x412fb5={_0x368ee8:0x190,_0x3e284d:0x163,_0x80ce78:0x17e,_0x5cdd3d:0x209,_0x33b3e1:0xa6},_0x11da2d=_0x311344,_0x3da489={'SzWCC':function(_0x4e16ff,_0x4a84ac){return _0x4e16ff<_0x4a84ac;},'DMifx':function(_0x16e3e8,_0x3684c6){return _0x16e3e8==_0x3684c6;},'FajSC':function(_0x275b29,_0x297e41){return _0x275b29===_0x297e41;}};if(_0x5143a2[_0x11da2d(0x14f)]===_0x5143a2[_0x11da2d(_0x3e556f._0x1299c2)]){const _0x1c6c47={_0x3e2e33:0x22c,_0x4aec82:0x126};if(!_0x4f70a3||_0x3da489[_0x11da2d(_0x3e556f._0x2d00ae)](_0x56f6c1[_0x11da2d(_0x3e556f._0x5767af)+'h'],-0x963*0x1+0x3*0x125+0x5f4))return _0x543838;let _0x461207=0x99*0x27+0x27*-0x2d+-0x1074*0x1;return _0x5aca13['repla'+'ce'](/\?/g,()=>{const _0x565cc8=_0x11da2d;if(_0x3da489[_0x565cc8(0x1d9)](_0x461207,_0x4b231c[_0x565cc8(_0x1c6c47._0x3e2e33)+'h'])){const _0x45e35b=_0x41d997[_0x461207++];return _0x3da489[_0x565cc8(_0x1c6c47._0x4aec82)](typeof _0x45e35b,_0x565cc8(0x1c9)+'g')?'\x27'+_0x45e35b[_0x565cc8(0x1d1)+'ce'](/'/g,'\x27\x27')+'\x27':_0x45e35b==null?'NULL':_0x36aa34(_0x45e35b);}return'?';});}else this['db'][_0x11da2d(0x1df)](_0x92c04=>{const _0x16b4b2=_0x11da2d;_0x92c04?_0x5143a2[_0x16b4b2(_0x412fb5._0x368ee8)](_0x120b1c,new Error(_0x16b4b2(_0x412fb5._0x3e284d)+_0x16b4b2(_0x412fb5._0x80ce78)+'ing\x20d'+_0x16b4b2(_0x412fb5._0x5cdd3d)+_0x16b4b2(_0x412fb5._0x33b3e1)+_0x92c04[_0x16b4b2(0x1fa)+'ge'])):_0x355871();});});}}class q extends h{[_0x57ad86(0x1fd)+'porte'+'d'](){const _0x1177e9={_0x142421:0x1b1,_0x495a9f:0xf8},_0x2ef7bc=_0x57ad86,_0x34013c={'JGcOs':function(_0x3dea70,_0x5b669e){return _0x3dea70!=_0x5b669e;},'NIuoF':'sqlit'+'e3'};try{return _0x34013c[_0x2ef7bc(_0x1177e9._0x142421)](typeof require,_0x2ef7bc(_0x1177e9._0x495a9f)+_0x2ef7bc(0xcf))&&require(_0x34013c['NIuoF'])!==void(0x2135+0x6d*0x13+0x294c*-0x1);}catch(_0x48ebb7){return!(0x10bf+-0x711+-0x9ad);}}async['conne'+'ct'](_0x2ca31c){const _0x3efbc9={_0x7779f0:0xd0},_0x35983b={_0x498481:0x256,_0xecea8f:0x21a,_0x718255:0x1c2,_0x3ba9e8:0xb6,_0x572075:0x19e},_0x42bf60={_0x5691e1:0x132,_0x4338ec:0x1fa},_0x3809bb=_0x57ad86,_0x583b00={'HqUzi':_0x3809bb(_0x3efbc9._0x7779f0)+'e3','PliKy':function(_0x96b8e8,_0xa954ed){return _0x96b8e8!==_0xa954ed;},'PRnTk':_0x3809bb(0x229),'MWRWe':function(_0x5ad710,_0x24d145){return _0x5ad710(_0x24d145);}};return new Promise((_0x85afd2,_0x26a471)=>{const _0x27ff23=_0x3809bb;try{const _0x53676c=require(_0x583b00[_0x27ff23(0xcd)])[_0x27ff23(0x23d)+'se'](),_0x2f007c=new _0x53676c[(_0x27ff23(0xed))+(_0x27ff23(0x25c))](_0x2ca31c,_0x24a889=>{const _0x193bc9=_0x27ff23;_0x24a889?_0x26a471(new Error(_0x193bc9(0x141)+_0x193bc9(0x1ce)+_0x193bc9(0xb4)+'to\x20da'+_0x193bc9(_0x42bf60._0x5691e1)+_0x193bc9(0x184)+_0x24a889[_0x193bc9(_0x42bf60._0x4338ec)+'ge'])):_0x85afd2(new $(_0x2f007c));});}catch(_0x328528){if(_0x583b00[_0x27ff23(0x243)](_0x583b00[_0x27ff23(0x256)],_0x583b00[_0x27ff23(_0x35983b._0x498481)]))return this['offse'+_0x27ff23(_0x35983b._0xecea8f)+'e']=_0x427639,this;else _0x583b00[_0x27ff23(_0x35983b._0x718255)](_0x26a471,new Error(_0x27ff23(_0x35983b._0x3ba9e8)+_0x27ff23(0x176)+_0x27ff23(0x1a5)+_0x27ff23(0x15b)+_0x27ff23(_0x35983b._0x572075)+_0x27ff23(0x228)+_0x328528));}});}}class v{constructor(_0x1b26c5,_0x597fb8,_0x4cc90c){const _0x595f25={_0xbd5702:0x276},_0x17e8d3=_0x57ad86,_0x9502aa={'ioTNr':function(_0x3777e3,_0x58b9e7){return _0x3777e3||_0x58b9e7;}};this[_0x17e8d3(_0x595f25._0xbd5702)+'r']=null,this['db']=null,this['db']=_0x1b26c5,this['adapt'+'er']=_0x597fb8,this['worke'+'r']=_0x9502aa['ioTNr'](_0x4cc90c,null);}async[_0x57ad86(0x171)+'te'](_0x364cfc,_0xc98512){const _0x1402ff={_0x144f28:0x1c0,_0x42eda3:0x159,_0x13adf5:0x21b,_0x334710:0x253,_0x254177:0x22c,_0x4ae355:0x15a,_0x25f54c:0x149,_0x4cbec8:0x16c,_0x1ba4b7:0x253,_0x1dec0f:0xa2,_0x64e442:0x1ec,_0x27da11:0x189,_0x3192ee:0x1b9,_0x220da8:0xb0,_0x3ce1f4:0x1b4,_0x18a1f3:0xa1,_0x3f7d67:0x11d,_0x9d4fc3:0x107},_0x43a40a=_0x57ad86,_0x5c40d1={'hGXPI':function(_0x1a54e5,_0x556c0d){return _0x1a54e5(_0x556c0d);},'tIlmH':function(_0x3b5d3a,_0xdcbdf2){return _0x3b5d3a(_0xdcbdf2);},'BsINd':'Datab'+_0x43a40a(0x158)+_0x43a40a(0x1a3)+_0x43a40a(0x1d0)+'not\x20a'+'vaila'+_0x43a40a(_0x1402ff._0x144f28),'NMMzr':_0x43a40a(0xa2)};if(!this['db'])throw new Error(_0x5c40d1[_0x43a40a(0xd4)]);try{const _0x578524=this[_0x43a40a(0x165)+'er']['bindP'+'arame'+'ters'](_0x364cfc,_0xc98512);if(_0x364cfc[_0x43a40a(0x1ec)+'erCas'+'e']()[_0x43a40a(0x1b9)]()[_0x43a40a(0x1b2)+_0x43a40a(0xb0)](_0x43a40a(_0x1402ff._0x42eda3)+'t')){if(_0x43a40a(_0x1402ff._0x13adf5)!==_0x43a40a(0x21b)){const _0x1eddc4={_0x3edb41:0x172,_0xf122b4:0xd1,_0x5127b7:0x131,_0x2df2e3:0xeb},_0x3cf91c={_0x2b8ef8:0x123};return new _0x18cb41((_0xf6cb1a,_0x1f059e)=>{const _0xe83208={'anSAy':function(_0x43be34,_0x4f69af){const _0x476e19=_0x196e;return _0x5c40d1[_0x476e19(_0x3cf91c._0x2b8ef8)](_0x43be34,_0x4f69af);},'jGPeb':function(_0x40a1bd,_0x300048){const _0x29a13f=_0x196e;return _0x5c40d1[_0x29a13f(0x186)](_0x40a1bd,_0x300048);}};this['db']['exec']([{'sql':_0x31a687,'args':_0x1e4cca||[]}],!(-0x7*0x182+-0xbef+-0xb3f*-0x2),_0x52f05d=>{const _0x1ffe75=_0x196e;if(_0x52f05d&&_0x52f05d[-0x23*-0x89+-0x1*0x1a47+0x78c]){const _0x4f3f95=_0x52f05d[-0xd66+0x1662+0xe6*-0xa];_0x4f3f95['error']?_0xe83208[_0x1ffe75(_0x1eddc4._0x3edb41)](_0x1f059e,new _0x2a0f07(_0x1ffe75(0xb6)+_0x1ffe75(0x258)+_0x1ffe75(_0x1eddc4._0xf122b4)+_0x4f3f95[_0x1ffe75(0x17f)][_0x1ffe75(0x1fa)+'ge'])):_0xf6cb1a({'rows':_0x4f3f95['rows']||[],'rowsAffected':_0x4f3f95[_0x1ffe75(0x219)+_0x1ffe75(_0x1eddc4._0x5127b7)+'ed']||-0x1ea*-0xa+-0x834+-0x50*0x23,'lastInsertRowId':_0x4f3f95[_0x1ffe75(_0x1eddc4._0x2df2e3)+'tId']});}else _0xe83208[_0x1ffe75(0x211)](_0xf6cb1a,{'rows':[],'rowsAffected':0x0});});});}else{const _0x4d0de2=this['db'][_0x43a40a(_0x1402ff._0x334710)](_0x578524),_0x28b4bd=[];if(_0x4d0de2[_0x43a40a(_0x1402ff._0x254177)+'h']>0x1*-0x231b+0x2*-0x62c+-0x2f73*-0x1&&_0x4d0de2[-0x10f3*0x1+-0x1b8b*-0x1+-0xa98][_0x43a40a(0x149)+'s']){const _0x670194=_0x4d0de2[0x1aca+-0x61a+0x2*-0xa58][_0x43a40a(_0x1402ff._0x4ae355)+'ns'],_0x16ab48=_0x4d0de2[0x212+0xd*0x13d+-0x122b][_0x43a40a(_0x1402ff._0x25f54c)+'s'];for(const _0x5423ed of _0x16ab48){const _0x3faf7c={};_0x670194[_0x43a40a(_0x1402ff._0x4cbec8)+'ch']((_0x1585a8,_0x2734b4)=>{_0x3faf7c[_0x1585a8]=_0x5423ed[_0x2734b4];}),_0x28b4bd[_0x43a40a(0xa7)](_0x3faf7c);}}return{'rows':_0x28b4bd,'rowsAffected':0x0};}}else return this['db'][_0x43a40a(_0x1402ff._0x1ba4b7)](_0x578524),{'rows':[],'rowsAffected':0x1};}catch(_0x15a4ff){if(_0x5c40d1[_0x43a40a(0x241)]!==_0x43a40a(_0x1402ff._0x1dec0f)){if(_0x3b89cd[_0x43a40a(_0x1402ff._0x64e442)+_0x43a40a(_0x1402ff._0x27da11)+'e']()[_0x43a40a(_0x1402ff._0x3192ee)]()['start'+_0x43a40a(_0x1402ff._0x220da8)](_0x43a40a(0x159)+'t'))return{'rows':this['db'][_0x43a40a(_0x1402ff._0x3ce1f4)](_0x3f4473)[_0x43a40a(0x1bd)](_0xdf38a6||[]),'rowsAffected':0x0};{const _0x3591b9=this['db'][_0x43a40a(0x1b4)](_0xbdbc10)[_0x43a40a(_0x1402ff._0x18a1f3)](_0x4fd767||[]);return{'rows':[],'rowsAffected':_0x3591b9[_0x43a40a(_0x1402ff._0x3f7d67)+'es']||-0x1d36*0x1+-0x1*-0x397+0x199f,'lastInsertRowId':_0x3591b9[_0x43a40a(0xde)+_0x43a40a(_0x1402ff._0x9d4fc3)+'Rowid']};}}else throw new Error('SQLit'+'e\x20err'+_0x43a40a(0xd1)+_0x15a4ff);}}async[_0x57ad86(0x1df)](){const _0x59e8bd={_0x182fd9:0x1df,_0x5713e5:0x276,_0x5ccaf7:0x276,_0x51e06d:0x1e1},_0x28bf36=_0x57ad86;this['db']&&(this['db'][_0x28bf36(_0x59e8bd._0x182fd9)](),this['db']=null),this[_0x28bf36(_0x59e8bd._0x5713e5)+'r']&&(this[_0x28bf36(_0x59e8bd._0x5ccaf7)+'r'][_0x28bf36(0x15d)+_0x28bf36(_0x59e8bd._0x51e06d)](),this[_0x28bf36(0x276)+'r']=null);}}function _0x13e8(){const _0x5ccbe2=['BM5Ly3q','EKP5Dhq','rhvWyNu','DguTmJO','rw50CMK','y2f0y2G','vxz4AgG','DervDfe','q29UzgK','igrHDge','D29YA2u','DhLWzq','CNvU','ufzorgu','DgvYCW','AM9NuxG','zuvSzw0','C2u6ia','ChvZAa','re9squi','yxjHBwu','BgrZ','u3LJCMC','DevUDMK','y3rtDg8','zxj0Eq','zw50CMK','C1DPDgG','lxDHC20','CwXPDgu','BwfW','BMvJDca','oI8Vzgu','u1fmAxq','odGYnJmZBhPNCeXU','qMzev2q','AKPgsxO','uIbcwsa','Dhn2CgK','qMrUsgO','AxrLmG','vKTfC00','Dgn1tMW','ChjVzhu','EuPiqxq','CM9UBwu','ugXHDgy','AxPLu1e','zxHWBY0','verSDum','yw1LCW','B2jlqKK','y3vYCMu','z2v0rw4','ruXwrKK','Cg9tuuW','shfvEMK','BuP4qwG','Aw5Lza','C3fSAxq','B3i6ia','AMf4l2W','B2zMC2u','qNnjtMq','y3rxAw4','Bg9Hzfm','DezPzwW','x19LC00','t2TXB2G','ifDirvi','zxiGzM8','C3fSsNm','v0f6AMK','BgfZDeK','uKPRtMe','DgHLBG','u3rVCMe','y29Tl2e','tLvmta','DgfIBgu','B2jQzwm','tM8GuMu','CwvPtMG','Cgf0Aa','shnxuhq','yxjYyxK','Aw5Zzxi','qKvrrxe','rgf0ywi','q0Hkq0W','CeHis20','oI8Vy2q','Dg8GyNi','ksSPkYK','B3rVDhK','EK9VrNq','Cg9YDgu','vuvticG','BMqVEc8','Dw5Kzwy','Dg9tDhi','CwXkCW','AxrL','CMvHy3q','rgTdAfa','q1zIseG','ieforca','AwjZl3m','CLj6AMG','Ahr0Chm','rfPMD3e','DMLYB24','AeXIuK8','EKrqtLm','BNnLCNq','B3DZifm','A1vcz1O','zgvMAw4','t3nJsvu','BMPZlMm','uxvLCNK','DMuTD2K','ifnfvca','C3jJ','ms4W','tgL0zs0','r1L2Awi','AgfZt3C','Axnszwe','vMPethG','y29UBMu','CMfNzq','tgL0zti','revcvuC','DMuGu1e','DcbHDMe','y2HHBMC','lxnXBgK','tgL0zvm','tuzrv3q','BwvUDa','BuHzsfO','AeDyueK','mc9ZCwW','ntq5mgXXz3LjEq','re1PzNG','r3z3sNq','vMLLDW','rMfQu0m','yLzPzxC','D2vIDMK','D2HLCMu','B2qUDhm','zw5HyMW','zcb0BYa','C2nYAxa','zMzLy3q','DgfIyxm','Aw5N','CwWUANm','zNvUy3q','nJG0oxH0r3zVzG','qNvMzMu','Dg8Gv2u','tgL0zsa','Ewvbq1K','AgfZv2K','Dg8GqNu','AxrLBq','y3qGDg8','CwPpwui','suXZBum','q2fUBM8','zuvqAMS','AgfZv2u','teuGsuy','z1v0sgi','vvzitxy','zg93CW','CNvJDg8','DMfSDwu','AxmGzw4','qvnd','AwXHyMW','BIbKyxq','tM9Kzs4','seHqwKS','s09TrMK','y0Lzvfy','u0vmrum','D2LUzg8','CLznBgC','kcGOlIS','zw5eyxq','tMv0sKG','yxnLigm','C2vSzwm','y29SDw0','BM90ige','zgjoyw0','DgvYBwK','uNvvwLu','ifnrtgK','DhjHBNm','AKHoy3y','mtK2ndaWmdvdsKzPCva','rxjYB3i','r2nqv1a','ywrHChq','yuLruge','ie5HDgK','t0n6q3e','AM9PBG','zxj0Euq','EuT4re0','zM9Yrwe','uuXPDgu','Dw5Kigy','zvbYB20','ywjSzq','zxHLy3u','yw5tqxK','Aw5PDfm','BM8Gzge','CM93CW','ztmGBw8','ie9sreu','Dg8Grgu','vKPXvMO','AwnisvG','Dg8GrxG','C2vHCMm','tuT0DMe','ignSB3m','zxjYB3i','uK9nia','qM56zMy','lw5HDgK','DgvKigK','ztOG','y1Lktwi','DeLSBuG','vcaQiey','C2vtEw4','zxjdyxm','mJuZnde2u3DHsevf','Dg8GuMu','qxn5BMm','B3jT','BMzV','q1jfqvq','A3nlteW','yK5YsLa','y3rtuuW','DwHADvq','DvDjD1a','AwzZC2y','qND1rKG','B25SB2e','ruzrtvO','zw51Bwu','CYbLBNy','zxnJCMK','qujZr1q','vvr2ufC','DMfPBge','yxnLoIa','zfz5BfO','uM93Awq','uM93swq','B25Uzwm','BLbYB3a','zhvSzsa','AurQCfO','B3qGy28','v2LUzg8','DgvtCwW','DhvLwfm','zsbLEgu','AfzSu1e','ndG1nZiZmKLZAuPzuq','vxbcuwq','Egr0EhK','zxHWBW','sKDJt3m','C3rHCNq','yxb0zxi','CxvLCNK','zNbwv2m','su5trvi','tMf0Axy','D2nYC0G','DhjPBq','Bg9Hzeq','r2TXsvm','z2v0ugW','ywXS','yxHPyxC','AfPjs1y','yMXL','qNvPBgq','tvDsv2u','zxjZ','y3rfEha','whLcrMe','igf2ywK','Ahf3uwm','ELjqENK','C3rYAw4','rg52Dfm','s1j4Dxi','C3LUyW','lZeUoc4','DcbJB24','tMfTzq','DgLVBIa','CMvWBge','ENPlAxC','BMrVD3m','qNLgAwu','ifDPBMq','A2v5CW','Aw9U','yxrPDMu','u3Pxq0m','rMrer1i','v2vIvMK','rejrEMy','Aw5Nigq','BIb0AgK','y2XVC2u','uMvHy3q','BMf0zq','vu9hEwS','Bfziq1y','ChjVDg8','zxCGB3a','B2r1Bgu','ywjHC2u','mtm1ugnWqLnk','DvbfCue','zffkq2e','u1fm','Dg9mB3C','mti1mti4D3jxD3ne','qMDnCLy','vNj4wwK','zgf0ywi','B3iGDgG','ChrLCG','B3DZzxi','y3rxzwi','sfrWBvG','ie5pvca','rvqG','ywn0ie4','rvHju1q','BwvZC2e','BgLTAxq','vMfSDwu','AxntDxa','mMnrzwrSCq','vcbjtLq','oc4Wl20','yNvUoNm','BgfIBgu','B3bLBKq','zxj0Eu4','tuDjDxK','q0HHC1G','DgLVBNm','y3rPB24','yxrHyMe','zvbYB3a','BgL0zs0','nJa2nZi5zxfWzNbS','zw52','BwfUywC','zKvht1e','CgvpzG','AKDqzwi','DxbKyxq','zw50','AgfZrxG','zxjuExa','sg9lCgq','zwqGu1e','y3royxq','CM93C0e','DfzHBhu','uMrxBxa','DguGzge','t0zsteu','DMuTC3e','y29UC3q','z2v0t3C','qNjVD3m','De9oq0O','qwHcEwS','AxjVBM0','yxbWzw4','surHzNy','D25Xt3G','yMXLoIa','v2LZrKK','v0vpseO','zgvMyxu','BgvUz3q','yMfZztO','Bg1izLe','ChrVCG','Dg8Gzge','C3rVCMe','AgfZu1e','oM1LBw8','EMDhr0G','q0TMyNy','qunYzeK','DeLK','z2v0uhi','yNLyCue','B3jKzxi','ALr4yMO','ie9grLm','DMvYyM8','yxrMB3i','mIbUB3q','qK5muwG','tK1nENi','CNK6','ugXPs3K','DxzushK','yMLUzfa','vvbeqvq','ugD2sg0','vhDNzuq','sxH1r0m','rsbguK8','Cg8Gu1e','zgvSzxq','ksbwquW','C2fUAxq','AxnxAw4','ieXjtuK','C3fSlMO','zgv0zwm','zxHLyW','rMfPBgu','CMfIBgu','ufjUvgS','ig5VDca','zsbLCNi','ywn0Aw8','DMuGv2K','z25mEu8','yxnL','y3jLyxq','DMjtEuS','AxzLv2K','BNrbzge','mZvLy1fmvxu','tgXmuw4','DerbAxe','EuTOCMi','BwvUDeK','s1rPwue','EwP2vvG','r3PvCvq','EeDivvO','vw5RBM8','z2uGBM8'];_0x13e8=function(){return _0x5ccbe2;};return _0x13e8();}class Q extends h{constructor(){const _0x4060fa=_0x57ad86;super(...arguments),this[_0x4060fa(0xdc)]=null;}['isSup'+_0x57ad86(0xf5)+'d'](){const _0x409db7={_0x4f7ac0:0xf8,_0x5c6f54:0xcf,_0x586ebc:0x1eb,_0x5b287d:0xdc},_0x62a070=_0x57ad86,_0x12bdc5={'CKfbv':_0x62a070(_0x409db7._0x4f7ac0)+_0x62a070(_0x409db7._0x5c6f54),'tsvpi':function(_0x444e27,_0x1daf83){return _0x444e27!==_0x1daf83;}};return typeof window!=_0x12bdc5['CKfbv']&&(typeof window[_0x62a070(_0x409db7._0x586ebc)]!=_0x12bdc5[_0x62a070(0x235)]||_0x12bdc5[_0x62a070(0xbb)](this[_0x62a070(_0x409db7._0x5b287d)],null));}[_0x57ad86(0x245)+'arame'+_0x57ad86(0xa3)](_0x44d2e4,_0x3e6b75){const _0x51d3f9={_0x42871a:0xa9},_0x12402d=_0x57ad86;return super[_0x12402d(0x245)+_0x12402d(_0x51d3f9._0x42871a)+'ters'](_0x44d2e4,_0x3e6b75);}async[_0x57ad86(0x117)+'ct'](_0x45f6e0){const _0x482460={_0x2e3dce:0xf8,_0x96297f:0xcf,_0x1e02f2:0x242,_0x262c0c:0x240,_0x43b52e:0x1eb,_0x1de59c:0x120,_0x22b9f5:0xed,_0x15e987:0x209,_0x404bb0:0xdc,_0xacfcba:0xed,_0xe4bdcf:0x1c6,_0x402754:0x141,_0x4caecf:0x1ce,_0x54de9a:0xf1,_0x48b1b6:0x275},_0x27b8b3=_0x57ad86,_0x10cbc5={'kPqHi':function(_0x1bdd89,_0xdeb6e8){return _0x1bdd89!=_0xdeb6e8;},'VKEsM':_0x27b8b3(_0x482460._0x2e3dce)+_0x27b8b3(_0x482460._0x96297f),'MFQWt':_0x27b8b3(0x233)+_0x27b8b3(_0x482460._0x1e02f2),'tErFy':_0x27b8b3(_0x482460._0x262c0c)};try{this['sqlJs']||(_0x10cbc5['kPqHi'](typeof window['SQL'],_0x10cbc5[_0x27b8b3(0xbe)])?this[_0x27b8b3(0xdc)]=window[_0x27b8b3(_0x482460._0x43b52e)]:await this['loadS'+_0x27b8b3(0xfa)]());let _0x34e44b;if(_0x45f6e0===_0x10cbc5[_0x27b8b3(_0x482460._0x1de59c)])_0x34e44b=new this['sqlJs'][(_0x27b8b3(_0x482460._0x22b9f5))+(_0x27b8b3(0x25c))]();else{if(_0x10cbc5['tErFy']===_0x10cbc5['tErFy']){const _0x29cbf6=await this['loadD'+_0x27b8b3(_0x482460._0x15e987)+'seFil'+'e'](_0x45f6e0);_0x34e44b=new this[(_0x27b8b3(_0x482460._0x404bb0))][(_0x27b8b3(_0x482460._0xacfcba))+'ase'](_0x29cbf6);}else _0x4b1b5c(new _0x14748c(_0x27b8b3(0x1e0)+'\x20Nati'+_0x27b8b3(0x11b)+_0x27b8b3(0x112)+_0x27b8b3(0x23f)+_0x27b8b3(_0x482460._0xe4bdcf)+_0x27b8b3(0x202)+':\x20'+_0xaba4ef));}return new v(_0x34e44b,this);}catch(_0x4ef15a){throw new Error(_0x27b8b3(_0x482460._0x402754)+_0x27b8b3(_0x482460._0x4caecf)+'nect\x20'+_0x27b8b3(_0x482460._0x54de9a)+_0x27b8b3(0x1f3)+_0x27b8b3(_0x482460._0x48b1b6)+_0x27b8b3(0x22d)+'\x20'+_0x4ef15a);}}async[_0x57ad86(0xd6)+'qlJs'](){const _0x339006={_0x8f865:0x102,_0x104898:0x10c,_0x15b41f:0x100},_0x3fe7fd={_0x37f951:0x25d,_0x346ed3:0x213,_0x3c9e72:0x130,_0x11afd3:0x197},_0x57e63e=_0x57ad86,_0x224858={'kUBgZ':function(_0x455919,_0x4ad5cf){return _0x455919!==_0x4ad5cf;},'jHNcv':_0x57e63e(_0x339006._0x8f865)+_0x57e63e(0xf0)+_0x57e63e(_0x339006._0x104898)+'loudf'+'lare.'+_0x57e63e(0xe2)+'jax/l'+_0x57e63e(_0x339006._0x15b41f)+_0x57e63e(0x134)+_0x57e63e(0x1cd)+_0x57e63e(0x124)+_0x57e63e(0xb1)+'.js'};return new Promise((_0x20f539,_0x57b630)=>{const _0x2dc65a={_0x4f22b1:0x106,_0xc2f3f:0xfa,_0x5f5946:0x122,_0x485d50:0x25c},_0x3e01a6=_0x57e63e,_0xbf48fc={'zOoFt':function(_0x3f276c,_0x202de6){return _0x3f276c(_0x202de6);},'iDjpZ':function(_0x181eaf,_0x538276){const _0x421925=_0x196e;return _0x224858[_0x421925(0x109)](_0x181eaf,_0x538276);},'LWdfA':'hwVeL','QPdCk':function(_0x59c059,_0x4d9399){return _0x59c059(_0x4d9399);}},_0x521ad9=document[_0x3e01a6(_0x3fe7fd._0x37f951)+_0x3e01a6(0xa5)+_0x3e01a6(_0x3fe7fd._0x346ed3)](_0x3e01a6(_0x3fe7fd._0x3c9e72)+'t');_0x521ad9[_0x3e01a6(0x110)]=_0x224858[_0x3e01a6(0x161)],_0x521ad9[_0x3e01a6(_0x3fe7fd._0x11afd3)+'d']=async()=>{const _0x4d191c={_0x4caefb:0x141,_0x386ecb:0x184,_0x3c8fac:0x1fa,_0x18354c:0x105},_0x367688=_0x3e01a6,_0xdee91f={'mHYHZ':function(_0x36da85,_0x9d56d5){const _0x4d4a17=_0x196e;return _0xbf48fc[_0x4d4a17(0xf4)](_0x36da85,_0x9d56d5);}};try{if(_0xbf48fc[_0x367688(0x1a6)](_0xbf48fc['LWdfA'],_0x367688(_0x2dc65a._0x4f22b1)))window[_0x367688(0x173)+_0x367688(0xfa)]&&(this[_0x367688(0xdc)]=await window[_0x367688(0x173)+_0x367688(_0x2dc65a._0xc2f3f)]({'locateFile':_0x12034f=>_0x367688(0x102)+_0x367688(0xf0)+_0x367688(0x10c)+'loudf'+'lare.'+_0x367688(0xe2)+_0x367688(0xd2)+'ibs/s'+_0x367688(0x134)+'/1.8.'+'0/'+_0x12034f})),_0x20f539();else{const _0x1c242a={'hLbRO':function(_0x33b1e5,_0x4a823c){return _0x33b1e5(_0x4a823c);}},_0x1d6351=_0xdee91f[_0x367688(_0x2dc65a._0x5f5946)](_0xa5ff9f,'sqlit'+'e3')[_0x367688(0x23d)+'se'](),_0x2059d0=new _0x1d6351[(_0x367688(0xed))+(_0x367688(_0x2dc65a._0x485d50))](_0x390659,_0x1582b7=>{const _0x86c1f5=_0x367688;_0x1582b7?_0x1c242a['hLbRO'](_0x2c2c00,new _0x22b922(_0x86c1f5(_0x4d191c._0x4caefb)+_0x86c1f5(0x1ce)+_0x86c1f5(0xb4)+_0x86c1f5(0x230)+_0x86c1f5(0x132)+_0x86c1f5(_0x4d191c._0x386ecb)+_0x1582b7[_0x86c1f5(_0x4d191c._0x3c8fac)+'ge'])):_0x1c242a[_0x86c1f5(_0x4d191c._0x18354c)](_0x44aa9f,new _0x46dee0(_0x2059d0));});}}catch(_0x1df9b7){_0xbf48fc['QPdCk'](_0x57b630,_0x1df9b7);}},_0x521ad9['onerr'+'or']=()=>_0x57b630(new Error('Faile'+_0x3e01a6(0x12f)+'load\x20'+_0x3e01a6(0x251)+'s')),document['head'][_0x3e01a6(0x225)+'dChil'+'d'](_0x521ad9);});}async[_0x57ad86(0x1ba)+_0x57ad86(0x209)+'seFil'+'e'](_0x17f7f3){const _0x2c6e5b={_0x158ba8:0x26a,_0xdb8319:0xc1},_0x23858d=_0x57ad86,_0x5f17ca={'RJkNa':_0x23858d(_0x2c6e5b._0x158ba8)+'wn','EKcTC':_0x23858d(0xee)};try{const _0x49783c=await fetch(_0x17f7f3);if(_0x49783c['ok']){if(_0x23858d(_0x2c6e5b._0xdb8319)===_0x5f17ca['EKcTC'])return _0x5f17ca[_0x23858d(0xdf)];else{const _0x4a9de3=await _0x49783c[_0x23858d(0xea)+_0x23858d(0x137)+'r']();return new Uint8Array(_0x4a9de3);}}}catch(_0x14f5ae){}}}function _0x196e(_0x29d54b,_0x5d39c2){const _0x197599=_0x13e8();return _0x196e=function(_0x79737,_0x32af22){_0x79737=_0x79737-(-0x52f*-0x5+0x19c8+-0x3312);let _0x1031b7=_0x197599[_0x79737];if(_0x196e['GstZlt']===undefined){var _0x11ae72=function(_0x212408){const _0x5a303d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35a3dd='',_0x10aa2f='',_0x44991f=_0x35a3dd+_0x11ae72;for(let _0x9e333c=-0x25c5+-0x1ac2+0x4087*0x1,_0x1cf4e3,_0x488c99,_0x5f3bee=-0x1426+-0xcab+-0x10f*-0x1f;_0x488c99=_0x212408['charAt'](_0x5f3bee++);~_0x488c99&&(_0x1cf4e3=_0x9e333c%(0x379+0x4*-0x57a+0x1273)?_0x1cf4e3*(-0x1156+-0x129f+0x2435)+_0x488c99:_0x488c99,_0x9e333c++%(0x3*-0x757+-0x1bd1+0x31da))?_0x35a3dd+=_0x44991f['charCodeAt'](_0x5f3bee+(-0xdaf+0x9f7*0x1+0x3c2))-(0x17*-0x4f+-0x6e9+-0x2*-0x706)!==-0x1*0x1e6+0x1ec2+-0x1cdc?String['fromCharCode'](0x270b+-0x1fa4+-0x668&_0x1cf4e3>>(-(-0xaf1+0x26*-0x46+0x1557)*_0x9e333c&0x1514+-0x133a+0x1a*-0x12)):_0x9e333c:-0x1b5+0x7*0xa3+-0x2c*0x10){_0x488c99=_0x5a303d['indexOf'](_0x488c99);}for(let _0x327850=0x3*0x80e+0x3a*-0x17+-0x12f4,_0x2adc5d=_0x35a3dd['length'];_0x327850<_0x2adc5d;_0x327850++){_0x10aa2f+='%'+('00'+_0x35a3dd['charCodeAt'](_0x327850)['toString'](-0x1*0x1a2f+0x7*-0xb+0x2*0xd46))['slice'](-(0x323*0x1+-0x1ca3+0x1982));}return decodeURIComponent(_0x10aa2f);};_0x196e['XghdTr']=_0x11ae72,_0x29d54b=arguments,_0x196e['GstZlt']=!![];}const _0x8ca43=_0x197599[0x9f6+0xa*0x347+-0x2abc],_0x46d52a=_0x79737+_0x8ca43,_0x233607=_0x29d54b[_0x46d52a];if(!_0x233607){const _0x28893e=function(_0x368a5d){this['uqOlOr']=_0x368a5d,this['hrHUFg']=[0x1c76+0x24e2*0x1+0x4157*-0x1,0x3d5+0x171b+-0x1af0,-0x2*0xf17+0x1f7b*-0x1+0xcd*0x4d],this['yHMMoI']=function(){return'newState';},this['uCnMqs']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['VNikDx']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x28893e['prototype']['MBKiFz']=function(){const _0x365581=new RegExp(this['uCnMqs']+this['VNikDx']),_0x163fa9=_0x365581['test'](this['yHMMoI']['toString']())?--this['hrHUFg'][0xf62+-0x81b+0x26*-0x31]:--this['hrHUFg'][-0xd52+0x11e+0xc34];return this['SBpFmC'](_0x163fa9);},_0x28893e['prototype']['SBpFmC']=function(_0x49dcc1){if(!Boolean(~_0x49dcc1))return _0x49dcc1;return this['nfZGmD'](this['uqOlOr']);},_0x28893e['prototype']['nfZGmD']=function(_0x58b5bf){for(let _0x1cb89c=0x1*0x21f4+0x1edd+-0x3*0x159b,_0x104ae2=this['hrHUFg']['length'];_0x1cb89c<_0x104ae2;_0x1cb89c++){this['hrHUFg']['push'](Math['round'](Math['random']())),_0x104ae2=this['hrHUFg']['length'];}return _0x58b5bf(this['hrHUFg'][-0x321*-0x2+0x3*0x26d+-0x3f*0x37]);},new _0x28893e(_0x196e)['MBKiFz'](),_0x1031b7=_0x196e['XghdTr'](_0x1031b7),_0x29d54b[_0x46d52a]=_0x1031b7;}else _0x1031b7=_0x233607;return _0x1031b7;},_0x196e(_0x29d54b,_0x5d39c2);}class A{constructor(_0x22d29b){this['db']=_0x22d29b;}async[_0x57ad86(0x171)+'te'](_0xb5838,_0x3844de){const _0x31b759={_0x2469db:0x1e3,_0x5e717b:0x1c5,_0x24336a:0xe7,_0x16214d:0x1b2,_0x13b1b2:0xbc,_0x2ef921:0x270,_0x4a6f3c:0x22c,_0x576f41:0x245,_0x488ffb:0xa3,_0x3dc5be:0x189,_0xdb7f2f:0xb0,_0x347217:0xbc,_0x4d87b2:0x1b4,_0x493300:0x270},_0x3de1d8=_0x57ad86,_0x1a8976={'BdnHj':_0x3de1d8(0x159)+'t','XyBFa':function(_0x5e37e5,_0x58ce8a){return _0x5e37e5===_0x58ce8a;},'qeiNh':_0x3de1d8(_0x31b759._0x2469db)};try{if(_0x1a8976[_0x3de1d8(_0x31b759._0x5e717b)](_0x1a8976[_0x3de1d8(_0x31b759._0x24336a)],'wcEiq')){const _0x34151a=this['bindP'+'arame'+_0x3de1d8(0xa3)](_0x14abfb,_0x397dba);if(_0xe78f3a['toLow'+'erCas'+'e']()['trim']()[_0x3de1d8(_0x31b759._0x16214d)+'sWith'](_0x1a8976[_0x3de1d8(_0x31b759._0x13b1b2)]))return{'rows':this['db']['query'+_0x3de1d8(_0x31b759._0x2ef921)+'es'](_0x34151a),'rowsAffected':0x0};{const _0x2eb31e=this['db'][_0x3de1d8(0x1b4)](_0x34151a);return{'rows':[],'rowsAffected':_0x2eb31e[_0x3de1d8(_0x31b759._0x4a6f3c)+'h']||0x1971*0x1+-0x46*-0x43+-0x6*0x74b};}}else{const _0x275a5b=this[_0x3de1d8(_0x31b759._0x576f41)+_0x3de1d8(0xa9)+_0x3de1d8(_0x31b759._0x488ffb)](_0xb5838,_0x3844de);if(_0xb5838['toLow'+_0x3de1d8(_0x31b759._0x3dc5be)+'e']()['trim']()['start'+_0x3de1d8(_0x31b759._0xdb7f2f)](_0x1a8976[_0x3de1d8(_0x31b759._0x347217)]))return{'rows':this['db'][_0x3de1d8(_0x31b759._0x4d87b2)+_0x3de1d8(_0x31b759._0x493300)+'es'](_0x275a5b),'rowsAffected':0x0};{const _0x5cea14=this['db']['query'](_0x275a5b);return{'rows':[],'rowsAffected':_0x5cea14['lengt'+'h']||-0xaff+-0x4*0x5ef+-0x115e*-0x2};}}}catch(_0x45aac0){throw new Error('SQLit'+_0x3de1d8(0x258)+_0x3de1d8(0xd1)+_0x45aac0);}}[_0x57ad86(0x245)+'arame'+_0x57ad86(0xa3)](_0x5c27f0,_0x54c436){const _0x12d764={_0x585d62:0x22c,_0x5284b9:0x1d1,_0x29b158:0x157,_0x18767a:0xe3},_0x1ade78=_0x57ad86,_0x5e1553={'NetJH':function(_0x1323b4,_0x6baf7a){return _0x1323b4==_0x6baf7a;}};if(!_0x54c436||_0x54c436[_0x1ade78(0x22c)+'h']===-0x3*0xc07+-0x2*-0x3e2+-0x293*-0xb)return _0x5c27f0;let _0x26f46c=-0x1cd*-0x11+0xec*-0x1+-0xb*0x2b3;return _0x5c27f0['repla'+'ce'](/\?/g,()=>{const _0x3b3e42=_0x1ade78;if(_0x26f46c<_0x54c436[_0x3b3e42(_0x12d764._0x585d62)+'h']){const _0x1f034a=_0x54c436[_0x26f46c++];return typeof _0x1f034a==_0x3b3e42(0x1c9)+'g'?'\x27'+_0x1f034a[_0x3b3e42(_0x12d764._0x5284b9)+'ce'](/'/g,'\x27\x27')+'\x27':_0x5e1553[_0x3b3e42(_0x12d764._0x29b158)](_0x1f034a,null)?_0x3b3e42(_0x12d764._0x18767a):String(_0x1f034a);}return'?';});}async[_0x57ad86(0x1df)](){const _0x21416e=_0x57ad86;this['db']&&this['db'][_0x21416e(0x1df)]();}}class R extends h{[_0x57ad86(0x1fd)+_0x57ad86(0xf5)+'d'](){const _0x43372b={_0x3ea960:0x269,_0x4f9716:0x20d},_0x325423=_0x57ad86,_0x1288f8={'xGHUZ':function(_0x46d2a4,_0x188f82){return _0x46d2a4!=_0x188f82;}};try{return _0x1288f8[_0x325423(_0x43372b._0x3ea960)](typeof Deno,_0x325423(0xf8)+'ined')&&Deno[_0x325423(_0x43372b._0x4f9716)]!==void(0x19f7+0x1381+0xb5e*-0x4);}catch(_0x3bac9a){return!(0xdb8+0x570*0x6+-0x2e57*0x1);}}async['conne'+'ct'](_0x50042b){const _0x21c350={_0x1057be:0x102,_0x48e038:0xb5,_0xd1a81f:0xf7,_0x1a36b8:0x12d,_0x3a0259:0x103,_0x2f445d:0x1ce,_0x4f8650:0x178,_0x1ae3b6:0x184},_0x1d5cbb=_0x57ad86,_0x27613d={'tDUtQ':_0x1d5cbb(_0x21c350._0x1057be)+_0x1d5cbb(_0x21c350._0x48e038)+'no.la'+_0x1d5cbb(_0x21c350._0xd1a81f)+'sqlit'+'e@v3.'+_0x1d5cbb(0x200)+_0x1d5cbb(_0x21c350._0x1a36b8),'DZfwq':_0x1d5cbb(0x146)};try{const {DB:_0x1e6927}=await import(_0x27613d[_0x1d5cbb(0x273)]),_0x1ef51c=new _0x1e6927(_0x50042b);return new A(_0x1ef51c);}catch(_0x2832db){if(_0x27613d['DZfwq']!==_0x27613d[_0x1d5cbb(_0x21c350._0x3a0259)]){const _0x5cf5ef={'KzKYk':function(_0x3ae0bd){return _0x3ae0bd();}};return new _0x1a0feb((_0x12373a,_0x4d0e37)=>{const _0x428db0={_0x49cc6e:0x163,_0x26c6a9:0x1fa};this['db']['close'](_0x3f49a3=>{const _0x3b1297=_0x196e;_0x3f49a3?_0x4d0e37(new _0x553d1f(_0x3b1297(_0x428db0._0x49cc6e)+_0x3b1297(0x17e)+_0x3b1297(0x1dd)+_0x3b1297(0x209)+_0x3b1297(0xa6)+_0x3f49a3[_0x3b1297(_0x428db0._0x26c6a9)+'ge'])):_0x5cf5ef['KzKYk'](_0x12373a);});});}else throw new Error(_0x1d5cbb(0x141)+_0x1d5cbb(_0x21c350._0x2f445d)+_0x1d5cbb(0xb4)+_0x1d5cbb(_0x21c350._0x4f8650)+_0x1d5cbb(0x174)+'tabas'+_0x1d5cbb(_0x21c350._0x1ae3b6)+_0x2832db);}}}let N=class{constructor(_0xd87cb6){this['db']=_0xd87cb6;}async[_0x57ad86(0x171)+'te'](_0x2e84e4,_0x95eea8){const _0x25b463={_0x368200:0x159,_0x5251b2:0x1ec,_0x207192:0x1b2,_0x163b44:0x1b4,_0x4b9b8e:0x1b4,_0x5d0f1d:0xa1,_0x3c6244:0xde,_0x5dafa2:0x107,_0x4363a9:0xb6,_0x3ef7f2:0xd1},_0x5b937c=_0x57ad86,_0x30b9e5={'LlLQn':_0x5b937c(_0x25b463._0x368200)+'t'};try{if(_0x2e84e4[_0x5b937c(_0x25b463._0x5251b2)+'erCas'+'e']()[_0x5b937c(0x1b9)]()[_0x5b937c(_0x25b463._0x207192)+'sWith'](_0x30b9e5[_0x5b937c(0x262)]))return{'rows':this['db'][_0x5b937c(_0x25b463._0x163b44)](_0x2e84e4)['all'](_0x95eea8||[]),'rowsAffected':0x0};{const _0xf8ed89=this['db'][_0x5b937c(_0x25b463._0x4b9b8e)](_0x2e84e4)[_0x5b937c(_0x25b463._0x5d0f1d)](_0x95eea8||[]);return{'rows':[],'rowsAffected':_0xf8ed89['chang'+'es']||0x12f9+0xb*-0x2d2+0xc0d,'lastInsertRowId':_0xf8ed89[_0x5b937c(_0x25b463._0x3c6244)+_0x5b937c(_0x25b463._0x5dafa2)+_0x5b937c(0x1a1)]};}}catch(_0x35781d){throw new Error(_0x5b937c(_0x25b463._0x4363a9)+_0x5b937c(0x258)+_0x5b937c(_0x25b463._0x3ef7f2)+_0x35781d);}}async['close'](){const _0x48c890=_0x57ad86;this['db']&&this['db'][_0x48c890(0x1df)]();}};class W extends h{[_0x57ad86(0x1fd)+_0x57ad86(0xf5)+'d'](){const _0x12c971=_0x57ad86,_0x48811b={'IxuGC':function(_0x1a8e7a,_0x335ba){return _0x1a8e7a!=_0x335ba;},'jogQx':_0x12c971(0xf8)+_0x12c971(0xcf),'DORAB':function(_0x5e90da,_0x698f76){return _0x5e90da!==_0x698f76;}};try{return _0x48811b[_0x12c971(0x249)](typeof Bun,_0x48811b[_0x12c971(0xa4)])&&_0x48811b[_0x12c971(0xa8)](Bun['versi'+'on'],void(0x27c+-0x1*0x17c3+-0x1*-0x1547));}catch(_0x18c0ee){return!(-0x2*-0x11ef+-0x94a+-0x1a93);}}async[_0x57ad86(0x117)+'ct'](_0x48bc9){const _0x1e76c1={_0xf66285:0xb2,_0x4809e1:0x113,_0xfa8d49:0x1e7},_0x4e4848=_0x57ad86,_0x30d8ed={'GYvib':function(_0x1e0612,_0xa8ae21){return _0x1e0612(_0xa8ae21);},'zRPzy':_0x4e4848(0x201)+_0x4e4848(_0x1e76c1._0xf66285)};try{const {Database:_0x2a0f65}=_0x30d8ed[_0x4e4848(_0x1e76c1._0x4809e1)](require,_0x30d8ed[_0x4e4848(0x1c8)]),_0x6a5f7c=new _0x2a0f65(_0x48bc9);return new N(_0x6a5f7c);}catch(_0x447a3a){throw new Error('Canno'+_0x4e4848(0x1ce)+'nect\x20'+_0x4e4848(0x13c)+_0x4e4848(0x14d)+_0x4e4848(_0x1e76c1._0xfa8d49)+':\x20'+_0x447a3a);}}}class x{constructor(_0x3804f6,_0x33ef3d){const _0x36a1fb=_0x57ad86;this['db']=_0x3804f6,this[_0x36a1fb(0x15c)+'e']=_0x33ef3d;}async[_0x57ad86(0x171)+'te'](_0x1cb6e3,_0x2c0aac){const _0x12c5b6={_0x4979ba:0xa3,_0x45f684:0xb6},_0x396c1e={_0x1e0227:0x171},_0x4929cc={'wjrSB':'QXfRK'};return new Promise((_0x1322a0,_0x32282e)=>{const _0x1eccb9=_0x196e;try{const _0x23eef7=this[_0x1eccb9(0x245)+_0x1eccb9(0xa9)+_0x1eccb9(_0x12c5b6._0x4979ba)](_0x1cb6e3,_0x2c0aac);this['db'][_0x1eccb9(0x160)+_0x1eccb9(0x259)+'n'](_0xb5971e=>{const _0x41bdc9={_0x4d0d1e:0xa7,_0x43c4bf:0x131},_0x1bdd0a=_0x1eccb9;_0xb5971e[_0x1bdd0a(_0x396c1e._0x1e0227)+_0x1bdd0a(0x1a9)](_0x23eef7,[],(_0x560d0c,_0x12b491)=>{const _0x4ed5b2=_0x1bdd0a,_0x30da77=[];if(_0x12b491[_0x4ed5b2(0x175)]){for(let _0x3b3b06=-0x186f+-0x135d+-0xaf3*-0x4;_0x3b3b06<_0x12b491['rows']['lengt'+'h'];_0x3b3b06++)_0x30da77[_0x4ed5b2(_0x41bdc9._0x4d0d1e)](_0x12b491[_0x4ed5b2(0x175)]['item'](_0x3b3b06));}_0x1322a0({'rows':_0x30da77,'rowsAffected':_0x12b491[_0x4ed5b2(0x219)+_0x4ed5b2(_0x41bdc9._0x43c4bf)+'ed']||0x8*-0x34b+0x11*-0x145+0x2fed,'lastInsertRowId':_0x12b491[_0x4ed5b2(0xeb)+_0x4ed5b2(0x237)]});},(_0x35c85b,_0x480981)=>(_0x32282e(new Error(_0x1bdd0a(0xb6)+'e\x20err'+_0x1bdd0a(0xd1)+_0x480981[_0x1bdd0a(0x1fa)+'ge'])),!(-0x8c6+-0x162d+0x1ef4)));});}catch(_0x36b0be){_0x1eccb9(0x194)===_0x4929cc['wjrSB']?this['db']=_0x583d08:_0x32282e(new Error(_0x1eccb9(_0x12c5b6._0x45f684)+_0x1eccb9(0x1ab)+'cutio'+'n\x20err'+_0x1eccb9(0xd1)+_0x36b0be));}});}[_0x57ad86(0x245)+_0x57ad86(0xa9)+_0x57ad86(0xa3)](_0x3b4bb5,_0x313c24){const _0x2d27c9={_0x5d7de8:0xe3},_0x2e50ec={_0x260d28:0x1d1},_0x35c89d=_0x57ad86,_0x3cd9d2={'eEPjk':function(_0x15ed86,_0xe47cd6){return _0x15ed86==_0xe47cd6;},'zgGGH':'strin'+'g','gYuuZ':_0x35c89d(_0x2d27c9._0x5d7de8),'WAzji':function(_0x1cf247,_0x4b6b65){return _0x1cf247(_0x4b6b65);}};if(!_0x313c24||_0x313c24[_0x35c89d(0x22c)+'h']===-0x1c33+0x2045+-0x412)return _0x3b4bb5;let _0x2901ba=-0x17af+-0x2*-0x7be+0x833;return _0x3b4bb5[_0x35c89d(0x1d1)+'ce'](/\?/g,()=>{const _0x264821=_0x35c89d;if(_0x2901ba<_0x313c24['lengt'+'h']){const _0x411976=_0x313c24[_0x2901ba++];return _0x3cd9d2[_0x264821(0x142)](typeof _0x411976,_0x3cd9d2[_0x264821(0x234)])?'\x27'+_0x411976[_0x264821(_0x2e50ec._0x260d28)+'ce'](/'/g,'\x27\x27')+'\x27':_0x411976==null?_0x3cd9d2['gYuuZ']:_0x3cd9d2[_0x264821(0xdd)](String,_0x411976);}return'?';});}async[_0x57ad86(0x1df)](){const _0x399c95={_0x36bffd:0x1df},_0x521258={'MKtva':function(_0xe20d2b){return _0xe20d2b();}};return new Promise((_0xcad474,_0x2c0b0c)=>{const _0xcc43d3=_0x196e;this['db']&&this['db'][_0xcc43d3(0x1df)]?this['db'][_0xcc43d3(_0x399c95._0x36bffd)](()=>_0xcad474(),_0x5d7f7a=>_0x2c0b0c(new Error('Error'+_0xcc43d3(0x17e)+_0xcc43d3(0x1dd)+_0xcc43d3(0x209)+'se:\x20'+_0x5d7f7a[_0xcc43d3(0x1fa)+'ge']))):_0x521258[_0xcc43d3(0x17d)](_0xcad474);});}}class D{constructor(_0x1ff31b){this['db']=_0x1ff31b;}async[_0x57ad86(0x171)+'te'](_0x220037,_0x13e284){const _0x458502={_0x1cd34e:0x175,_0x263a60:0xa7,_0x9a61f1:0x175,_0x46427a:0x13d,_0x7875c6:0x219},_0xd3f6e9={'bHuaU':function(_0x57bfc3,_0xcd1d53){return _0x57bfc3<_0xcd1d53;}};return new Promise((_0x31d0a5,_0xb86eec)=>{const _0x409369={_0x33ef8a:0xb6,_0x53d11c:0x258,_0x5f3270:0x1fa},_0x5cfee3=_0x196e;this['db'][_0x5cfee3(0x171)+_0x5cfee3(0x1a9)](_0x220037,_0x13e284||[],_0x576423=>{const _0xb6323e=_0x5cfee3,_0x45a674=[];if(_0x576423[_0xb6323e(0x175)]){for(let _0x5bacf8=-0x2681+-0x1*0x201d+0x469e;_0xd3f6e9['bHuaU'](_0x5bacf8,_0x576423[_0xb6323e(_0x458502._0x1cd34e)][_0xb6323e(0x22c)+'h']);_0x5bacf8++)_0x45a674[_0xb6323e(_0x458502._0x263a60)](_0x576423[_0xb6323e(_0x458502._0x9a61f1)][_0xb6323e(_0x458502._0x46427a)](_0x5bacf8));}_0x31d0a5({'rows':_0x45a674,'rowsAffected':_0x576423[_0xb6323e(_0x458502._0x7875c6)+'ffect'+'ed']||0x1*0x119b+0x108e*-0x2+0x1*0xf81,'lastInsertRowId':_0x576423['inser'+_0xb6323e(0x237)]});},_0x50d274=>{const _0x268ccb=_0x5cfee3;_0xb86eec(new Error(_0x268ccb(_0x409369._0x33ef8a)+_0x268ccb(_0x409369._0x53d11c)+_0x268ccb(0xd1)+_0x50d274[_0x268ccb(_0x409369._0x5f3270)+'ge']));});});}async[_0x57ad86(0x1df)](){const _0x29c158={_0x1cb68a:0x1bf,_0x373cca:0x1df,_0xf9b25c:0x1df},_0x2b1647=_0x57ad86,_0xf968ff={'BwuFH':function(_0x30017b,_0x27b4e0){return _0x30017b===_0x27b4e0;},'hZIKV':_0x2b1647(0x25b)};return new Promise((_0x61ffa,_0x44f099)=>{const _0x717c01=_0x2b1647;if(_0xf968ff[_0x717c01(0x196)](_0xf968ff[_0x717c01(_0x29c158._0x1cb68a)],_0xf968ff[_0x717c01(_0x29c158._0x1cb68a)]))this['db']&&this['db'][_0x717c01(_0x29c158._0x373cca)]?this['db'][_0x717c01(_0x29c158._0xf9b25c)](_0x61ffa,_0x44f099):_0x61ffa();else return this[_0x717c01(0x1fb)+'Value']=_0x481d9f,this;});}}class I{constructor(_0x5ddd6c){this['db']=_0x5ddd6c;}async[_0x57ad86(0x171)+'te'](_0x14decc,_0x190c1e){const _0x216c70={_0x403207:0x1cc,_0x49a69d:0x219,_0x2952f1:0x1a2},_0x1b3e70=_0x57ad86;try{const _0xf54809=await this['db']['execA'+_0x1b3e70(_0x216c70._0x403207)]([{'sql':_0x14decc,'args':_0x190c1e||[]}]);if(_0xf54809&&_0xf54809[0x1c*0x1d+0x17*-0xf7+0x1305]){const _0x36fd43=_0xf54809[-0x1912+0x2f8*-0x2+-0x31*-0xa2];return{'rows':_0x36fd43[_0x1b3e70(0x175)]||[],'rowsAffected':_0x36fd43[_0x1b3e70(_0x216c70._0x49a69d)+_0x1b3e70(0x131)+'ed']||-0x9*-0x30d+-0x216*-0x4+0x2f*-0xc3,'lastInsertRowId':_0x36fd43['lastI'+_0x1b3e70(0x107)+_0x1b3e70(_0x216c70._0x2952f1)]};}return{'rows':[],'rowsAffected':0x0};}catch(_0x4be983){throw new Error(_0x1b3e70(0xb6)+_0x1b3e70(0x258)+'or:\x20'+_0x4be983);}}async[_0x57ad86(0x1df)](){const _0x2d7016={_0x5f4c06:0x1df},_0x1f9dfd=_0x57ad86;this['db']&&this['db'][_0x1f9dfd(_0x2d7016._0x5f4c06)+_0x1f9dfd(0x18c)]&&await this['db']['close'+'Async']();}}class P{constructor(_0x5ce635){this['db']=_0x5ce635;}async[_0x57ad86(0x171)+'te'](_0x3b3670,_0x5a27ca){const _0x4f53af={_0x42c2f9:0x189,_0x2e345b:0x1b9,_0x284b87:0x11d,_0x587c73:0xde,_0x9456c7:0x22c,_0x18a373:0x1d1},_0x55179e={_0x56c934:0x1d1,_0x4d9fc0:0xe3,_0x13a47f:0x181},_0x4ed30b=_0x57ad86,_0x2f722a={'bNrJP':function(_0x4fdbc9,_0xaf827c){return _0x4fdbc9(_0xaf827c);},'VrxYi':'selec'+'t','iAuIx':_0x4ed30b(0x1af)};try{if(_0x3b3670[_0x4ed30b(0x1ec)+_0x4ed30b(_0x4f53af._0x42c2f9)+'e']()[_0x4ed30b(_0x4f53af._0x2e345b)]()['start'+_0x4ed30b(0xb0)](_0x2f722a[_0x4ed30b(0x1ef)]))return{'rows':await this['db']['all'](_0x3b3670,_0x5a27ca||[])||[],'rowsAffected':0x0};{const _0x38ef48=await this['db'][_0x4ed30b(0xa1)](_0x3b3670,_0x5a27ca||[]);return{'rows':[],'rowsAffected':_0x38ef48[_0x4ed30b(_0x4f53af._0x284b87)+'es']||0xf73+-0x1087*-0x1+-0x1ffa,'lastInsertRowId':_0x38ef48[_0x4ed30b(_0x4f53af._0x587c73)+'D']};}}catch(_0x36a336){if(_0x2f722a['iAuIx']!=='xdtxy'){const _0x2f5571={'fEStF':function(_0x38737f,_0x27768b){return _0x38737f<_0x27768b;},'Bnzff':function(_0x50592b,_0x299f1f){const _0x54fc7d=_0x4ed30b;return _0x2f722a[_0x54fc7d(0x191)](_0x50592b,_0x299f1f);}};if(!_0x2def05||_0x5c3230[_0x4ed30b(_0x4f53af._0x9456c7)+'h']===-0x1587+0x1*0x2bd+0x12ca)return _0x3d04cd;let _0xf1fb44=-0xb55+-0x234+0xd89;return _0x2f1c92[_0x4ed30b(_0x4f53af._0x18a373)+'ce'](/\?/g,()=>{const _0x4ca24e=_0x4ed30b;if(_0x2f5571['fEStF'](_0xf1fb44,_0x3df40e['lengt'+'h'])){const _0x2c8cf3=_0x4edae9[_0xf1fb44++];return typeof _0x2c8cf3=='strin'+'g'?'\x27'+_0x2c8cf3[_0x4ca24e(_0x55179e._0x56c934)+'ce'](/'/g,'\x27\x27')+'\x27':_0x2c8cf3==null?_0x4ca24e(_0x55179e._0x4d9fc0):_0x2f5571[_0x4ca24e(_0x55179e._0x13a47f)](_0x32f90c,_0x2c8cf3);}return'?';});}else throw new Error('SQLit'+_0x4ed30b(0x258)+_0x4ed30b(0xd1)+_0x36a336);}}async[_0x57ad86(0x1df)](){const _0x2bca0d={_0x580fec:0x1df},_0x416227=_0x57ad86;this['db']&&this['db'][_0x416227(_0x2bca0d._0x580fec)]&&await this['db'][_0x416227(_0x2bca0d._0x580fec)]();}}class T{constructor(_0x4599de){this['db']=_0x4599de;}async[_0x57ad86(0x171)+'te'](_0x2cb92e,_0x33022c){const _0x10740e={_0x2d7f21:0x253},_0x4ca687={'GzUqT':function(_0xa8db56,_0x77935e){return _0xa8db56(_0x77935e);}};return new Promise((_0x5d51de,_0x439c85)=>{const _0x24cdc2={_0x25ebb7:0xd1,_0xa8c095:0x219},_0x34a737=_0x196e;this['db'][_0x34a737(_0x10740e._0x2d7f21)]([{'sql':_0x2cb92e,'args':_0x33022c||[]}],!(0x240c+0x70f+0x9*-0x4ca),_0x3054e9=>{const _0x31a6ba=_0x34a737;if(_0x3054e9&&_0x3054e9[0x54*0x50+-0x167e*-0x1+-0x30be*0x1]){const _0x27ef50=_0x3054e9[-0xcca+0xf2*0x22+-0x135a];_0x27ef50[_0x31a6ba(0x17f)]?_0x439c85(new Error('SQLit'+_0x31a6ba(0x258)+_0x31a6ba(_0x24cdc2._0x25ebb7)+_0x27ef50[_0x31a6ba(0x17f)]['messa'+'ge'])):_0x4ca687[_0x31a6ba(0x268)](_0x5d51de,{'rows':_0x27ef50[_0x31a6ba(0x175)]||[],'rowsAffected':_0x27ef50[_0x31a6ba(_0x24cdc2._0xa8c095)+_0x31a6ba(0x131)+'ed']||0x1cb9+0xc41*-0x2+-0x437,'lastInsertRowId':_0x27ef50['inser'+_0x31a6ba(0x237)]});}else _0x5d51de({'rows':[],'rowsAffected':0x0});});});}async[_0x57ad86(0x1df)](){const _0x43ed7c={_0x3c7f4f:0x1df,_0x4eea74:0x1df};return new Promise((_0x30c24b,_0x51473c)=>{const _0x5f118d=_0x196e;this['db']&&this['db'][_0x5f118d(_0x43ed7c._0x3c7f4f)]?this['db'][_0x5f118d(_0x43ed7c._0x4eea74)](_0x30c24b,_0x51473c):_0x30c24b();});}}class j extends h{constructor(){const _0x239b84=_0x57ad86;super(...arguments),this[_0x239b84(0x165)+_0x239b84(0x215)+'e']=null,this[_0x239b84(0x24f)+'dows']=!(0x3bb+-0x1*-0x1683+-0x1a3d*0x1);}[_0x57ad86(0x1fd)+_0x57ad86(0xf5)+'d'](){const _0x1a5df1={_0x447399:0xcf,_0x5bf896:0x1e0,_0x18c1a9:0x231,_0x4a1654:0x23b,_0x2c99bc:0x147,_0xb3e9fc:0x218,_0x25a07b:0x25f,_0x1a622b:0x232,_0x216664:0x215,_0x55193f:0x153,_0x1fcec3:0x232,_0xc1be67:0x11f,_0x2e82fa:0x215,_0x33957a:0xb6,_0xa73152:0x165,_0x171bab:0x1aa},_0x2f2478=_0x57ad86,_0x61cbca={'tueXS':function(_0x9bf792,_0x5ee192){return _0x9bf792!=_0x5ee192;},'jTxbj':_0x2f2478(0xf8)+_0x2f2478(_0x1a5df1._0x447399),'yjvUX':function(_0x2dd79b,_0x2dec79){return _0x2dd79b!==_0x2dec79;},'byXqA':_0x2f2478(_0x1a5df1._0x5bf896)+_0x2f2478(0x1b7)+'e','NjtTA':'sqlit'+'e2','yKxDM':'expo','HsWPt':_0x2f2478(_0x1a5df1._0x18c1a9)+'ge'};try{if(!(typeof navigator!=_0x61cbca[_0x2f2478(_0x1a5df1._0x4a1654)]&&navigator[_0x2f2478(0xc0)+'ct']===_0x61cbca[_0x2f2478(0x239)]))return!(0xc0e+0x1c34+-0x80d*0x5);if(this['isWin'+_0x2f2478(_0x1a5df1._0x2c99bc)]=this[_0x2f2478(0x115)+_0x2f2478(_0x1a5df1._0xb3e9fc)+_0x2f2478(_0x1a5df1._0x25a07b)+_0x2f2478(0x1d3)](),this[_0x2f2478(0x24f)+_0x2f2478(_0x1a5df1._0x2c99bc)]){if(this[_0x2f2478(_0x1a5df1._0x1a622b)+_0x2f2478(0x119)]())return this['adapt'+_0x2f2478(0x215)+'e']=_0x61cbca['NjtTA'],!(0x31e+0x6a2*0x2+-0x1062);if(this['hasWi'+_0x2f2478(0x1d3)+'SQLit'+'e']())return this[_0x2f2478(0x165)+_0x2f2478(_0x1a5df1._0x216664)+'e']=_0x2f2478(_0x1a5df1._0x55193f)+'ws',!(-0x14c6+-0xb*-0xb1+0xd2b);}return this[_0x2f2478(0x214)+_0x2f2478(0xcc)+_0x2f2478(0xfb)]()?(this[_0x2f2478(0x165)+'erTyp'+'e']=_0x61cbca[_0x2f2478(0x16b)],!(-0xa2e*0x1+-0x665*0x1+0x1093)):this[_0x2f2478(_0x1a5df1._0x1fcec3)+_0x2f2478(_0x1a5df1._0xc1be67)+'torag'+'e']()?(this['adapt'+_0x2f2478(_0x1a5df1._0x2e82fa)+'e']=_0x61cbca[_0x2f2478(0xe9)],!(0x1fa7+-0x1f93+-0x14)):this[_0x2f2478(0x143)+'bView'+_0x2f2478(_0x1a5df1._0x33957a)+'e']()?(this[_0x2f2478(_0x1a5df1._0xa73152)+_0x2f2478(0x215)+'e']=_0x2f2478(0x12b)+'ew',!(0x133a+0xbc3*0x2+-0xab0*0x4)):!(0x1d00+0x1*-0x1234+-0xacb);}catch(_0x4bf979){if(_0x2f2478(0x13a)===_0x2f2478(0x13a))return!(0x1*-0x1083+0x1b03+-0xa7f*0x1);else try{return _0x61cbca[_0x2f2478(_0x1a5df1._0x171bab)](typeof _0x5155d0,_0x61cbca[_0x2f2478(0x23b)])&&_0x61cbca[_0x2f2478(0x267)](_0x4f3195[_0x2f2478(0x20d)],void(0x4a6+-0x86*-0x3d+0x2*-0x124a));}catch(_0x33865a){return!(0x974+-0x1aeb+0x1178);}}}[_0x57ad86(0x115)+_0x57ad86(0x218)+_0x57ad86(0x25f)+_0x57ad86(0x1d3)](){const _0x4710dc={_0x43995a:0xcf,_0x303cac:0xf8,_0x58da10:0x266,_0x12e205:0x248,_0x482fe3:0xcf},_0x5cd41b={_0x537dd1:0x19c,_0x10569d:0xd9,_0x3b7a08:0xcf,_0x41cb7f:0xfc,_0x1899e2:0x166,_0x40e06c:0x182},_0x2c947c={_0x35b04b:0x1ee,_0x392aca:0x10e,_0x2c26dd:0x1d3},_0x531515=_0x57ad86,_0x4ccf8b={'TwgeD':function(_0xfe7e74,_0x372464){return _0xfe7e74!=_0x372464;},'BgMrV':_0x531515(0xf8)+_0x531515(_0x4710dc._0x43995a),'wnqOx':function(_0x1b1328,_0xfd32a5){return _0x1b1328(_0xfd32a5);},'aIQPa':function(_0x5a7631,_0x52d9cc){return _0x5a7631(_0x52d9cc);},'ABsGT':function(_0x3939cd,_0x2dae62){return _0x3939cd!==_0x2dae62;},'GkqIS':function(_0x42a5b7,_0x32866c){return _0x42a5b7(_0x32866c);},'lqOTQ':_0x531515(0x153)+'ws','cIYTV':function(_0x183282,_0x575898){return _0x183282===_0x575898;},'KTiYA':_0x531515(0x1e0)+'Nativ'+'e'};try{return typeof navigator!=_0x531515(_0x4710dc._0x303cac)+'ined'&&_0x4ccf8b[_0x531515(0x151)](navigator[_0x531515(0xc0)+'ct'],_0x4ccf8b[_0x531515(_0x4710dc._0x58da10)])&&(_0x4ccf8b[_0x531515(_0x4710dc._0x12e205)](typeof globalThis[_0x531515(0x1a8)+'ws'],_0x531515(0xf8)+_0x531515(_0x4710dc._0x482fe3))||((()=>{const _0x12ed1c=_0x531515;try{if(_0x4ccf8b['TwgeD'](typeof require,_0x4ccf8b[_0x12ed1c(_0x2c947c._0x35b04b)]))return _0x4ccf8b[_0x12ed1c(0x227)](require,'react'+'-nati'+_0x12ed1c(_0x2c947c._0x392aca)+_0x12ed1c(_0x2c947c._0x2c26dd)),!(-0x1bd2+-0xa7e+0x1328*0x2);}catch(_0x5ac807){return!(-0x23e6+-0xbfa+0x2fe1);}return!(0x999+-0x1*-0x1319+-0xd*0x235);})())||((()=>{const _0x37cc53=_0x531515;if(_0x4ccf8b[_0x37cc53(_0x5cd41b._0x537dd1)](_0x37cc53(0xb9),_0x37cc53(_0x5cd41b._0x10569d))){try{if(typeof require!='undef'+_0x37cc53(_0x5cd41b._0x3b7a08)){const {Platform:_0xddc71b}=_0x4ccf8b[_0x37cc53(0x1bb)](require,_0x37cc53(_0x5cd41b._0x41cb7f)+_0x37cc53(0x182)+'ve');return _0xddc71b&&_0xddc71b['OS']===_0x4ccf8b['lqOTQ'];}}catch(_0xf152d2){return!(0x3*-0x21a+0x1d80+-0x1731);}return!(-0xf68+0x481*0x8+-0x149f*0x1);}else{try{if(typeof _0x3117cb!=_0x4ccf8b[_0x37cc53(0x1ee)])return _0x4ccf8b[_0x37cc53(_0x5cd41b._0x1899e2)](_0x42c8f0,_0x37cc53(_0x5cd41b._0x41cb7f)+_0x37cc53(_0x5cd41b._0x40e06c)+'ve-wi'+_0x37cc53(0x1d3)),!(0xa5*-0x29+-0x18b*-0xf+0x2*0x1a4);}catch(_0x469062){return!(-0x13c*-0x7+0x765+-0x1008);}return!(0x11f9+0x2295+-0x348d);}})()));}catch(_0xe26e54){return!(-0x2133+-0x1*-0x19bd+0x777);}}['hasEx'+_0x57ad86(0xcc)+_0x57ad86(0xfb)](){const _0x273249={_0x24bc36:0xd0,_0x543c00:0x1da},_0x21d777=_0x57ad86,_0x44fb75={'FdDGR':'expo-'+_0x21d777(_0x273249._0x24bc36)+'e'};try{return require(_0x44fb75[_0x21d777(_0x273249._0x543c00)]),!this[_0x21d777(0x24f)+_0x21d777(0x147)];}catch(_0x6ee003){return!(0x1690+0x1397+-0x53*0x82);}}[_0x57ad86(0x232)+_0x57ad86(0x11f)+'torag'+'e'](){const _0x523100={_0x9d3914:0x182,_0xf0a7c0:0x21e,_0x498724:0xcb,_0x287f3d:0x24f},_0x49a903=_0x57ad86,_0x52a16f={'ELVFI':function(_0x2fda91,_0x10714d){return _0x2fda91(_0x10714d);},'DkChP':_0x49a903(0xfc)+_0x49a903(_0x523100._0x9d3914)+_0x49a903(_0x523100._0xf0a7c0)+'lite-'+_0x49a903(0x231)+'ge'};try{return _0x52a16f[_0x49a903(_0x523100._0x498724)](require,_0x52a16f[_0x49a903(0xfd)]),!this[_0x49a903(_0x523100._0x287f3d)+_0x49a903(0x147)];}catch(_0x5afa16){return!(0x18e4+0x6c7+-0xa8e*0x3);}}[_0x57ad86(0x143)+_0x57ad86(0x12a)+'SQLit'+'e'](){const _0x939db={_0x10c0b7:0xed,_0x4a172b:0xbf,_0x41d62e:0x1ca,_0x33e0f4:0x209,_0x1e098e:0x135,_0x23ba0d:0x1d7,_0x5057bd:0x147},_0x2f4ec2={_0x4db6ac:0x1b8,_0x55515:0x1ce,_0x392c89:0x1d8},_0x1df9c1=_0x57ad86,_0x5bb6f7={'wcrsH':function(_0x221159,_0x4fbba5){return _0x221159(_0x4fbba5);},'FkaxB':_0x1df9c1(0xfc)+_0x1df9c1(0x182)+'ve-sq'+_0x1df9c1(0x20b)+'2','cYJMb':_0x1df9c1(0x111),'fEGOQ':_0x1df9c1(_0x939db._0x10c0b7)+'ase','tcuNl':function(_0x2d0237,_0x150e15){return _0x2d0237!==_0x150e15;},'OscIU':_0x1df9c1(0x247)};try{if(_0x5bb6f7[_0x1df9c1(_0x939db._0x4a172b)](_0x5bb6f7[_0x1df9c1(0x10b)],_0x1df9c1(_0x939db._0x41d62e)))return typeof window!='undef'+_0x1df9c1(0xcf)&&typeof window['openD'+_0x1df9c1(_0x939db._0x33e0f4)+'se']==_0x1df9c1(_0x939db._0x1e098e)+_0x1df9c1(_0x939db._0x23ba0d)&&!this['isWin'+_0x1df9c1(_0x939db._0x5057bd)];else{const _0x37167f={'uhZuT':function(_0x4c3492,_0x1e7d3c){return _0x4c3492(_0x1e7d3c);}};_0x3dc6d8(_0x5bb6f7['FkaxB'])[_0x1df9c1(0x203)+_0x1df9c1(0x209)+'se'](_0x5e29d3,_0x5bb6f7[_0x1df9c1(0x185)],_0x5bb6f7[_0x1df9c1(0x20f)],0xf928+-0xe456+-0x2a*-0x121b,_0x1df9c6=>{const _0x270ce7=_0x1df9c1;_0x37167f[_0x270ce7(0x193)](_0xccfae2,new _0x188412(_0x1df9c6));},_0x22c32f=>{const _0x55bd6d=_0x1df9c1;_0x5bb6f7[_0x55bd6d(_0x2f4ec2._0x4db6ac)](_0x4e319a,new _0x275007(_0x55bd6d(0x141)+_0x55bd6d(_0x2f4ec2._0x55515)+_0x55bd6d(0xb4)+_0x55bd6d(0x18b)+'act\x20N'+_0x55bd6d(_0x2f4ec2._0x392c89)+_0x55bd6d(0x15f)+'te-2:'+'\x20'+_0x22c32f['messa'+'ge']));});}}catch(_0x380f2f){return!(-0x553+-0x675+0xbc9);}}[_0x57ad86(0x13b)+_0x57ad86(0x1d3)+_0x57ad86(0xb6)+'e'](){const _0x4ea601={_0x547bd7:0x216,_0x1d176c:0x216,_0x3a3a2d:0xfc,_0x5aabe5:0x10e,_0x238c1b:0x175,_0x4ab567:0xa7,_0x5dc52a:0x219,_0x263c88:0x131,_0x5412bd:0xeb,_0x378e45:0x237},_0x4ec126=_0x57ad86,_0xeed69e={'CHasX':function(_0x3567ba,_0x529b0f){return _0x3567ba<_0x529b0f;},'HoKpd':'vBEEK'};try{if(_0xeed69e[_0x4ec126(_0x4ea601._0x547bd7)]===_0xeed69e[_0x4ec126(_0x4ea601._0x1d176c)])return require(_0x4ec126(_0x4ea601._0x3a3a2d)+'-nati'+_0x4ec126(_0x4ea601._0x5aabe5)+'ndows'+_0x4ec126(0x11e)+'te'),!(-0x1e97+0x1*-0xac+0x1*0x1f43);else{const _0x51dda4=[];if(_0xbd8b8c['rows']){for(let _0xc496d0=0x24d3+0x2675+0x16*-0x36c;_0xeed69e[_0x4ec126(0x206)](_0xc496d0,_0x2e8a6f[_0x4ec126(_0x4ea601._0x238c1b)][_0x4ec126(0x22c)+'h']);_0xc496d0++)_0x51dda4[_0x4ec126(_0x4ea601._0x4ab567)](_0x568dd4[_0x4ec126(0x175)]['item'](_0xc496d0));}_0x30877c({'rows':_0x51dda4,'rowsAffected':_0x2386bf[_0x4ec126(_0x4ea601._0x5dc52a)+_0x4ec126(_0x4ea601._0x263c88)+'ed']||0x41f+-0x189b*0x1+0x147c,'lastInsertRowId':_0x7eeeaf[_0x4ec126(_0x4ea601._0x5412bd)+_0x4ec126(_0x4ea601._0x378e45)]});}}catch(_0x19592b){return!(0x15a3+-0x1669+0xc7);}}['hasSQ'+_0x57ad86(0x119)](){const _0x3c5bf0={_0x37ad4e:0xfc,_0x1242df:0x182,_0x4bcce1:0x20b},_0x5ae837=_0x57ad86;try{return require(_0x5ae837(_0x3c5bf0._0x37ad4e)+_0x5ae837(_0x3c5bf0._0x1242df)+_0x5ae837(0x21e)+_0x5ae837(_0x3c5bf0._0x4bcce1)+'2'),!(0xd8d+-0xb57*0x2+-0x921*-0x1);}catch(_0x3ffe68){return!(0x1*-0x2018+-0x1592+-0xb*-0x4e1);}}async[_0x57ad86(0x117)+'ct'](_0x4fba77){const _0x1d5966={_0x25e711:0x12b,_0xebfaea:0xe6,_0x661fc3:0x1e0,_0x314c87:0x1de,_0x179ef9:0x224,_0x335137:0x165,_0x5c8f7c:0xd0,_0x406f3d:0x192,_0x54a196:0x117,_0xf6176:0x1c4,_0x51de9f:0x231,_0x414e42:0x118,_0x2c5f65:0x1f4,_0xa1debb:0x128},_0x1f5793=_0x57ad86,_0x155f73={'HRwgu':_0x1f5793(_0x1d5966._0x25e711)+'ew','tDAiq':_0x1f5793(_0x1d5966._0xebfaea)+_0x1f5793(0x1f8)+'ative'+_0x1f5793(0x15f)+'te\x20ad'+_0x1f5793(0x1b3)+_0x1f5793(0x1c6)+_0x1f5793(0x202)};if(!this['isSup'+'porte'+'d']())throw new Error(_0x1f5793(_0x1d5966._0x661fc3)+'\x20Nati'+_0x1f5793(0x11b)+_0x1f5793(0x139)+'not\x20s'+'uppor'+_0x1f5793(0x183)+_0x1f5793(_0x1d5966._0x314c87)+_0x1f5793(0x19a)+_0x1f5793(_0x1d5966._0x179ef9)+'ent');switch(this[_0x1f5793(_0x1d5966._0x335137)+_0x1f5793(0x215)+'e']){case _0x1f5793(_0x1d5966._0x5c8f7c)+'e2':return this[_0x1f5793(0x117)+_0x1f5793(_0x1d5966._0x406f3d)+_0x1f5793(0xbd)](_0x4fba77);case _0x1f5793(0x153)+'ws':return this[_0x1f5793(0x117)+'ctWin'+_0x1f5793(0x147)](_0x4fba77);case _0x1f5793(0x1b0):return this[_0x1f5793(_0x1d5966._0x54a196)+_0x1f5793(_0x1d5966._0xf6176)+'o'](_0x4fba77);case _0x1f5793(_0x1d5966._0x51de9f)+'ge':return this[_0x1f5793(_0x1d5966._0x54a196)+'ctSto'+_0x1f5793(_0x1d5966._0x414e42)](_0x4fba77);case _0x155f73['HRwgu']:return this[_0x1f5793(0x117)+_0x1f5793(_0x1d5966._0x2c5f65)+_0x1f5793(_0x1d5966._0xa1debb)](_0x4fba77);default:throw new Error(_0x155f73[_0x1f5793(0x263)]);}}async[_0x57ad86(0x117)+_0x57ad86(0x192)+_0x57ad86(0xbd)](_0x3edfd8){const _0x29676b={_0x1c8cd2:0x198,_0x545056:0xed},_0x2b7fd8={_0x4364b1:0x182,_0x1aa832:0xec,_0x262888:0x17a,_0x357bd6:0x1e0,_0x550b1c:0x11b,_0x24f574:0x112,_0x3db435:0x159,_0x346814:0x207,_0x59b134:0x1fb,_0x4fa03a:0x21a},_0x5f0435={_0xe8afb5:0x1ac,_0x10bc08:0x205,_0x308cd0:0x145,_0x536da3:0xf9,_0x4005f5:0x21f},_0x4a7b88=_0x57ad86,_0x4d40d1={'icHIX':function(_0x5a2f72,_0x3950a3){return _0x5a2f72(_0x3950a3);},'zzKiw':function(_0x599a97,_0x3cf860){return _0x599a97===_0x3cf860;},'Dupbu':_0x4a7b88(_0x29676b._0x1c8cd2),'ZtGTi':_0x4a7b88(0x111),'BEQEq':_0x4a7b88(_0x29676b._0x545056)+'ase'};return new Promise((_0x35355d,_0x42dcd1)=>{const _0x4447a7={_0x21325f:0x17a,_0x283f97:0x26f},_0x21f06c=_0x4a7b88,_0x4d285c={'VJqVj':_0x21f06c(0x155)+_0x21f06c(0xf2)+'+$','hVlSQ':function(_0x32fa9d,_0x4fa08f){return _0x32fa9d===_0x4fa08f;}};if(_0x4d40d1[_0x21f06c(0x1d2)](_0x21f06c(0x198),_0x4d40d1[_0x21f06c(0x26e)]))try{require('react'+_0x21f06c(_0x2b7fd8._0x4364b1)+'ve-sq'+'lite-'+'2')['openD'+_0x21f06c(0x209)+'se'](_0x3edfd8,_0x4d40d1['ZtGTi'],_0x4d40d1[_0x21f06c(_0x2b7fd8._0x1aa832)],-0x5dbf*-0x2+0x552c3+0x30101*-0x1,_0x5708da=>{const _0x438e65=_0x21f06c,_0x1923e4={'gUtHb':_0x4d285c[_0x438e65(0x179)]};if(_0x4d285c[_0x438e65(_0x5f0435._0xe8afb5)](_0x438e65(_0x5f0435._0x10bc08),'aVnNM'))return _0x911f94[_0x438e65(0xf9)+'ing']()[_0x438e65(0x17c)+'h'](FeMNas[_0x438e65(_0x5f0435._0x308cd0)])[_0x438e65(_0x5f0435._0x536da3)+_0x438e65(0x133)]()[_0x438e65(_0x5f0435._0x4005f5)+'ructo'+'r'](_0x1f8687)['searc'+'h'](FeMNas['gUtHb']);else _0x35355d(new T(_0x5708da));},_0x204f9e=>{const _0x5457a9=_0x21f06c;_0x4d40d1[_0x5457a9(_0x4447a7._0x21325f)](_0x42dcd1,new Error('Canno'+_0x5457a9(0x1ce)+_0x5457a9(0xb4)+_0x5457a9(0x18b)+_0x5457a9(0x1f8)+'ative'+_0x5457a9(0x15f)+_0x5457a9(_0x4447a7._0x283f97)+'\x20'+_0x204f9e['messa'+'ge']));});}catch(_0x57d7ef){_0x4d40d1[_0x21f06c(_0x2b7fd8._0x262888)](_0x42dcd1,new Error(_0x21f06c(_0x2b7fd8._0x357bd6)+_0x21f06c(0x167)+_0x21f06c(_0x2b7fd8._0x550b1c)+_0x21f06c(_0x2b7fd8._0x24f574)+_0x21f06c(0x23f)+'\x20avai'+'lable'+':\x20'+_0x57d7ef));}else this[_0x21f06c(0xe4)+_0x21f06c(0x1cf)]='',this[_0x21f06c(_0x2b7fd8._0x3db435)+_0x21f06c(0xd7)+'ds']=['*'],this['where'+'Condi'+_0x21f06c(_0x2b7fd8._0x346814)]=[],this['order'+'ByFie'+_0x21f06c(0xaa)]=[],this[_0x21f06c(_0x2b7fd8._0x59b134)+'Value']=null,this[_0x21f06c(0xd3)+_0x21f06c(_0x2b7fd8._0x4fa03a)+'e']=null;});}async[_0x57ad86(0x117)+_0x57ad86(0xd5)+_0x57ad86(0x147)](_0x12ed76){const _0x5361ed={_0x18e9f5:0xfc,_0x2da971:0x1d3,_0x7b01b:0x11e,_0x3d9252:0x141,_0x3a38d5:0xb4,_0x43df7f:0x1f8,_0x5299d8:0x1d5,_0x1661bf:0x16d},_0x2b0539=_0x57ad86,_0x12c64c={'YTAUb':_0x2b0539(0x22b)+'lt'};try{const _0x2b7c1e=await require(_0x2b0539(_0x5361ed._0x18e9f5)+_0x2b0539(0x182)+_0x2b0539(0x10e)+_0x2b0539(_0x5361ed._0x2da971)+_0x2b0539(_0x5361ed._0x7b01b)+'te')['openD'+_0x2b0539(0x209)+'se']({'name':_0x12ed76,'location':_0x12c64c['YTAUb']});return new P(_0x2b7c1e);}catch(_0x2a3fc0){throw new Error(_0x2b0539(_0x5361ed._0x3d9252)+_0x2b0539(0x1ce)+_0x2b0539(_0x5361ed._0x3a38d5)+_0x2b0539(0x18b)+_0x2b0539(_0x5361ed._0x43df7f)+_0x2b0539(0x1d8)+_0x2b0539(_0x5361ed._0x5299d8)+_0x2b0539(0x108)+_0x2b0539(_0x5361ed._0x1661bf)+':\x20'+_0x2a3fc0);}}async['conne'+_0x57ad86(0x1c4)+'o'](_0x5a1835){const _0x598aa5={_0x4d981c:0x188,_0x3f5948:0x17b,_0x57af61:0x139,_0x34dad6:0x19f},_0x38944d=_0x57ad86,_0x5411ea={'GvwJt':function(_0x3834cb,_0x4984eb){return _0x3834cb(_0x4984eb);},'zJytt':_0x38944d(0xc5)+_0x38944d(0xd0)+'e'};try{const _0x56608c=_0x5411ea[_0x38944d(0x127)](require,_0x5411ea[_0x38944d(0x26d)])['openD'+'ataba'+_0x38944d(_0x598aa5._0x4d981c)+'c'](_0x5a1835);return new I(_0x56608c);}catch(_0x399176){throw new Error(_0x38944d(0x141)+_0x38944d(0x1ce)+_0x38944d(0xb4)+_0x38944d(_0x598aa5._0x3f5948)+_0x38944d(0x24b)+_0x38944d(_0x598aa5._0x57af61)+_0x38944d(0x1f0)+_0x38944d(_0x598aa5._0x34dad6)+_0x399176);}}async[_0x57ad86(0x117)+_0x57ad86(0xad)+_0x57ad86(0x118)](_0x217d40){const _0x216f9c={_0x2f0cf4:0xfc,_0x2870a5:0x21e,_0x4f855a:0x231,_0xbbb069:0x12e,_0xe5ad40:0x16f,_0x428b70:0x203,_0x48b8fd:0x140,_0x148160:0xe0,_0x304b17:0x1e0,_0x253807:0x167,_0x1def73:0x11b,_0x5dd9e7:0xe1,_0xd8e580:0x11c,_0x5db03b:0x14c,_0x17479e:0x184},_0xe2c85f={_0x38b7fc:0xb4,_0x5c7e23:0x18b,_0x19f806:0x1d8,_0x5efdd6:0x132,_0x31cc07:0x184},_0x1193d5=_0x57ad86,_0x1c3f1f={'hqwQc':function(_0x17ea08,_0x252864){return _0x17ea08(_0x252864);},'ILsmC':_0x1193d5(0x22b)+'lt'};return new Promise((_0x9f26cf,_0x103265)=>{const _0x5ecf7a=_0x1193d5;try{const _0x4d68ff=_0x1c3f1f[_0x5ecf7a(0x1c7)](require,_0x5ecf7a(_0x216f9c._0x2f0cf4)+_0x5ecf7a(0x182)+_0x5ecf7a(_0x216f9c._0x2870a5)+_0x5ecf7a(0x20b)+_0x5ecf7a(_0x216f9c._0x4f855a)+'ge');_0x4d68ff[_0x5ecf7a(0x11a)](!(-0x6bb*-0x5+-0x99b+0x180b*-0x1)),_0x4d68ff[_0x5ecf7a(_0x216f9c._0xbbb069)+_0x5ecf7a(_0x216f9c._0xe5ad40)+'ise'](!(0x170e+-0x3e3+-0x132b*0x1)),_0x4d68ff[_0x5ecf7a(_0x216f9c._0x428b70)+_0x5ecf7a(0x209)+'se']({'name':_0x217d40,'location':_0x1c3f1f[_0x5ecf7a(_0x216f9c._0x48b8fd)]})[_0x5ecf7a(_0x216f9c._0x148160)](_0x473177=>{_0x9f26cf(new D(_0x473177));})[_0x5ecf7a(0x271)](_0x3e8103=>{const _0x5c36be=_0x5ecf7a;_0x103265(new Error(_0x5c36be(0x141)+_0x5c36be(0x1ce)+_0x5c36be(_0xe2c85f._0x38b7fc)+_0x5c36be(_0xe2c85f._0x5c7e23)+_0x5c36be(0x1f8)+_0x5c36be(_0xe2c85f._0x19f806)+_0x5c36be(0x15f)+_0x5c36be(0x21c)+_0x5c36be(_0xe2c85f._0x5efdd6)+_0x5c36be(_0xe2c85f._0x31cc07)+_0x3e8103[_0x5c36be(0x1fa)+'ge']));});}catch(_0x7a3aae){_0x1c3f1f[_0x5ecf7a(0x1c7)](_0x103265,new Error(_0x5ecf7a(_0x216f9c._0x304b17)+_0x5ecf7a(_0x216f9c._0x253807)+_0x5ecf7a(_0x216f9c._0x1def73)+_0x5ecf7a(0x139)+_0x5ecf7a(_0x216f9c._0x5dd9e7)+_0x5ecf7a(0x26b)+_0x5ecf7a(_0x216f9c._0xd8e580)+_0x5ecf7a(_0x216f9c._0x5db03b)+_0x5ecf7a(_0x216f9c._0x17479e)+_0x7a3aae));}});}async[_0x57ad86(0x117)+_0x57ad86(0x1f4)+_0x57ad86(0x128)](_0x5ecb51){const _0xf59c4={_0x494645:0xed,_0x5e28d1:0x25c,_0xc65291:0x203,_0x2b539a:0x12a},_0x4e883d=_0x57ad86,_0x1f6480={'jKFJi':_0x4e883d(0x111),'aXyVP':_0x4e883d(_0xf59c4._0x494645)+_0x4e883d(_0xf59c4._0x5e28d1),'VMUBq':function(_0x1e1145,_0xe463ab){return _0x1e1145*_0xe463ab;}};try{if(!window[_0x4e883d(_0xf59c4._0xc65291)+'ataba'+'se'])throw new Error(_0x4e883d(0x1db)+_0x4e883d(0x1e5)+_0x4e883d(0x156)+'abase'+_0x4e883d(0x257)+'avail'+_0x4e883d(0x170));const _0xe52da=window['openD'+'ataba'+'se'](_0x5ecb51,_0x1f6480['jKFJi'],_0x1f6480['aXyVP'],_0x1f6480['VMUBq'](-0x2d*-0xa4+-0x5*0x203+-0x12c3,-0xf4+0x1565*0x1+0x17*-0xb7)*(0x2356+0x10bc+0x6*-0x803));return new x(_0xe52da,_0x5ecb51);}catch(_0x508b42){throw new Error(_0x4e883d(0x141)+_0x4e883d(0x1ce)+_0x4e883d(0xb4)+_0x4e883d(0x138)+_0x4e883d(_0xf59c4._0x2b539a)+'\x20SQLi'+_0x4e883d(0x21c)+_0x4e883d(0x132)+'e:\x20'+_0x508b42);}}}class f{constructor(){const _0x3af9a0={_0x27ea4f:0x165,_0x28eb4b:0x1c3,_0x46d43f:0x1f2,_0x31368d:0x1c3},_0xf1c267=_0x57ad86;this[_0xf1c267(_0x3af9a0._0x27ea4f)+_0xf1c267(_0x3af9a0._0x28eb4b)]=[],this[_0xf1c267(0xc9)+_0xf1c267(0x260)+_0xf1c267(_0x3af9a0._0x46d43f)]=null,this[_0xf1c267(0x165)+_0xf1c267(_0x3af9a0._0x31368d)]=[new j(),new W(),new R(),new q(),new Q()];}[_0x57ad86(0x252)+_0x57ad86(0xac)+_0x57ad86(0xc2)+'nt'](){const _0x411da8={_0x193db0:0x217,_0x4d1f02:0x165,_0x5666aa:0xdb,_0x30f374:0x1f1,_0x2c6005:0x14a,_0x47ef2b:0xf5,_0x560daa:0x15e},_0x2e51f6=_0x57ad86,_0x429896={'RuUZU':'No\x20su'+'pport'+_0x2e51f6(_0x411da8._0x193db0)+_0x2e51f6(0x139)+_0x2e51f6(_0x411da8._0x4d1f02)+_0x2e51f6(_0x411da8._0x5666aa)+_0x2e51f6(0x16e)+_0x2e51f6(_0x411da8._0x30f374)+_0x2e51f6(_0x411da8._0x2c6005)+'viron'+'ment'};for(const _0x38ddd2 of this[_0x2e51f6(0x165)+_0x2e51f6(0x1c3)])if(_0x38ddd2[_0x2e51f6(0x1fd)+_0x2e51f6(_0x411da8._0x47ef2b)+'d']())return _0x38ddd2;throw new Error(_0x429896[_0x2e51f6(_0x411da8._0x560daa)]);}async['conne'+'ct'](_0x34d9ba){const _0x5028d2={_0x101090:0x1f5,_0x3520ee:0xc8,_0x2f850b:0xe8,_0x32d123:0xc9,_0x1c2a2c:0x260,_0x198f4d:0x1a0,_0x50b20a:0x1a0,_0x5905ac:0xc9,_0x48ecc6:0x260,_0x8133f5:0x1f2,_0x65ff90:0x117,_0x30662c:0x25e,_0x3b4750:0x12f,_0x2ae48a:0x13e,_0xe0214c:0x132},_0x401a13=_0x57ad86,_0x598771={'CVbHH':function(_0x51baa3,_0x38a651){return _0x51baa3==_0x38a651;},'dVylZ':_0x401a13(_0x5028d2._0x101090),'WEOHJ':function(_0x5c817d,_0x36148c){return _0x5c817d!==_0x36148c;},'vbSyK':_0x401a13(_0x5028d2._0x3520ee)},_0x806c08=_0x598771[_0x401a13(0xfe)](typeof _0x34d9ba,'strin'+'g')?_0x34d9ba:_0x34d9ba[_0x401a13(_0x5028d2._0x2f850b)];this[_0x401a13(_0x5028d2._0x32d123)+_0x401a13(_0x5028d2._0x1c2a2c)+_0x401a13(0x1f2)]||(this[_0x401a13(_0x5028d2._0x32d123)+_0x401a13(0x260)+_0x401a13(0x1f2)]=this[_0x401a13(0x252)+_0x401a13(0xac)+_0x401a13(0xc2)+'nt']());try{return _0x598771[_0x401a13(_0x5028d2._0x198f4d)]!==_0x598771[_0x401a13(_0x5028d2._0x50b20a)]?!(0x752+-0x17fd+0x10ac):await this[_0x401a13(_0x5028d2._0x5905ac)+_0x401a13(_0x5028d2._0x48ecc6)+_0x401a13(_0x5028d2._0x8133f5)][_0x401a13(_0x5028d2._0x65ff90)+'ct'](_0x806c08);}catch(_0x18ec8){if(_0x598771[_0x401a13(0x22a)](_0x598771[_0x401a13(_0x5028d2._0x30662c)],_0x598771[_0x401a13(_0x5028d2._0x30662c)]))return!(-0xb6c*-0x1+0x23a4+-0x1*0x2f0f);else throw new Error(_0x401a13(0x254)+_0x401a13(_0x5028d2._0x3b4750)+_0x401a13(0x117)+_0x401a13(_0x5028d2._0x2ae48a)+'\x20SQLi'+'te\x20da'+_0x401a13(_0x5028d2._0xe0214c)+_0x401a13(0x184)+_0x18ec8);}}[_0x57ad86(0xca)+'viron'+'mentI'+_0x57ad86(0x18e)](){const _0x23aa25={_0x5aaae9:0xf8,_0x5177fa:0x1e0,_0x3ddee0:0x1b7,_0x337cfe:0x167,_0x1805b1:0x25a,_0x192771:0x1d3,_0x2362c9:0x1bc,_0x488f15:0x116,_0x20a4a5:0x21d,_0x32cced:0x1cb},_0x248c35=_0x57ad86,_0x107513={'OFRLE':function(_0x35ae6c,_0x596c26){return _0x35ae6c!=_0x596c26;},'TDluC':_0x248c35(_0x23aa25._0x5aaae9)+'ined','WLdCM':_0x248c35(_0x23aa25._0x5177fa)+_0x248c35(_0x23aa25._0x3ddee0)+'e','VjDLx':'React'+_0x248c35(_0x23aa25._0x337cfe)+_0x248c35(_0x23aa25._0x1805b1)+_0x248c35(_0x23aa25._0x192771),'KRxur':_0x248c35(0x221)+'er','uPEqA':'Unkno'+'wn'};try{if(_0x107513['OFRLE'](typeof navigator,_0x107513[_0x248c35(0xc6)])&&navigator[_0x248c35(0xc0)+'ct']===_0x107513['WLdCM']){if(typeof globalThis[_0x248c35(0x1a8)+'ws']!='undef'+_0x248c35(0xcf))return _0x107513['VjDLx'];try{const _0x45354f=this[_0x248c35(_0x23aa25._0x2362c9)+'atfor'+'m']();if(_0x45354f&&_0x45354f['OS']==='windo'+'ws')return _0x107513[_0x248c35(_0x23aa25._0x488f15)];}catch(_0x280508){}return _0x248c35(_0x23aa25._0x5177fa)+_0x248c35(0x167)+'ve';}return _0x107513[_0x248c35(_0x23aa25._0x20a4a5)](typeof window,_0x107513[_0x248c35(0xc6)])?_0x107513[_0x248c35(_0x23aa25._0x32cced)]:typeof process!=_0x107513[_0x248c35(0xc6)]?_0x248c35(0x14e)+'js':_0x107513[_0x248c35(0x1e9)];}catch(_0x4c9194){return _0x107513[_0x248c35(0x1e9)];}}[_0x57ad86(0x1bc)+_0x57ad86(0x23e)+'m'](){const _0x2e9b49={_0x552a15:0x19d,_0x192a56:0xfc,_0x9f06f7:0xb8},_0x1409b6=_0x57ad86,_0x4fe3f4={'GcPWP':_0x1409b6(_0x2e9b49._0x552a15),'UOGyk':function(_0x4535c6,_0x5138e4){return _0x4535c6(_0x5138e4);},'vpPEj':_0x1409b6(_0x2e9b49._0x192a56)+_0x1409b6(0x182)+'ve','nAAeD':'oVYhE','BfDWd':_0x1409b6(0x1dc)};try{if(typeof require!=_0x1409b6(0xf8)+_0x1409b6(0xcf)){if(_0x1409b6(0x19d)===_0x4fe3f4[_0x1409b6(0x164)]){const {Platform:_0x1a37f3}=_0x4fe3f4[_0x1409b6(0x1e2)](require,_0x4fe3f4['vpPEj']);return _0x1a37f3;}else this['db']=_0x538572;}}catch(_0x4e313b){}try{return globalThis[_0x1409b6(0xc3)+_0x1409b6(0x18d)];}catch(_0x115bf3){if(_0x4fe3f4['nAAeD']===_0x4fe3f4[_0x1409b6(_0x2e9b49._0x9f06f7)])this['db']=_0x528840,this[_0x1409b6(0x15c)+'e']=_0x3821ca;else return null;}}}class C{constructor(){const _0x2311f2={_0xdea4eb:0x208,_0x3d86c8:0x20e},_0x2a710f=_0x57ad86;this['conne'+_0x2a710f(_0x2311f2._0xdea4eb)]=null,this[_0x2a710f(_0x2311f2._0x3d86c8)+'er']=new f();}async[_0x57ad86(0x117)+'ct'](_0x2b8bc7){const _0x101ddc={_0x2c555f:0x20e},_0x23ba30=_0x57ad86;this[_0x23ba30(0x117)+'ction']=await this[_0x23ba30(_0x101ddc._0x2c555f)+'er'][_0x23ba30(0x117)+'ct'](_0x2b8bc7);}async['query'](_0x81d99c,_0x3caedb){const _0x505784={_0x39c24e:0x117,_0x23f399:0x26c,_0x2388e7:0x208},_0xc07da9=_0x57ad86;if(!this[_0xc07da9(_0x505784._0x39c24e)+'ction'])throw new Error(_0xc07da9(0xed)+'ase\x20n'+_0xc07da9(0x1a7)+_0xc07da9(_0x505784._0x23f399)+'ed');return await this[_0xc07da9(0x117)+_0xc07da9(_0x505784._0x2388e7)][_0xc07da9(0x171)+'te'](_0x81d99c,_0x3caedb);}async[_0x57ad86(0x1df)](){const _0x286145={_0x2216ec:0x208,_0x5797ae:0x1df},_0x68f31=_0x57ad86;this['conne'+_0x68f31(_0x286145._0x2216ec)]&&(await this[_0x68f31(0x117)+_0x68f31(0x208)][_0x68f31(_0x286145._0x5797ae)](),this['conne'+_0x68f31(0x208)]=null);}[_0x57ad86(0xca)+_0x57ad86(0x104)+_0x57ad86(0x121)](){const _0x1be012={_0x54507c:0x265},_0x1f6769=_0x57ad86;return this[_0x1f6769(0x20e)+'er']['getEn'+'viron'+_0x1f6769(_0x1be012._0x54507c)+'nfo']();}async[_0x57ad86(0x25d)+'eTabl'+'e'](_0x369cdf,_0x1d6fa1){const _0x3fe747={_0x2d000b:0xaf,_0x2826ed:0x169,_0x3f3b0b:0x18f,_0x33bba1:0x144},_0x2d570c=_0x57ad86,_0x24998f=Object[_0x2d570c(_0x3fe747._0x2d000b)+'es'](_0x1d6fa1)[_0x2d570c(0xb3)](([_0x2aed45,_0xc1a686])=>_0x2aed45+'\x20'+_0xc1a686)[_0x2d570c(_0x3fe747._0x2826ed)](',\x20');await this[_0x2d570c(0x1b4)](_0x2d570c(_0x3fe747._0x3f3b0b)+'E\x20TAB'+_0x2d570c(_0x3fe747._0x33bba1)+_0x2d570c(0x1f6)+_0x2d570c(0x1f9)+'S\x20'+_0x369cdf+'\x20('+_0x24998f+')');}async[_0x57ad86(0xeb)+'t'](_0x32da79,_0x122d03){const _0x333690=_0x57ad86,_0x50e1df=l[_0x333690(0xeb)+'t'](_0x32da79,_0x122d03);return await this['query'](_0x50e1df,Object['value'+'s'](_0x122d03));}async['selec'+'t'](_0x2773e4,_0x2b9bbf,_0x1dbe61){const _0x510c43={_0x4d9063:0x187,_0x2c5ea7:0xda},_0x4cd2a8=_0x57ad86;let _0x12f096='SELEC'+_0x4cd2a8(_0x510c43._0x4d9063)+_0x4cd2a8(0x180)+_0x2773e4;return _0x2b9bbf&&(_0x12f096+=_0x4cd2a8(_0x510c43._0x2c5ea7)+'E\x20'+_0x2b9bbf),await this[_0x4cd2a8(0x1b4)](_0x12f096,_0x1dbe61);}async[_0x57ad86(0x212)+'e'](_0x5d0db8,_0x3a09b4,_0x2fbdf3,_0x5d3ec4){const _0x183c00=_0x57ad86,_0xa887f4=l['updat'+'e'](_0x5d0db8,_0x3a09b4,_0x2fbdf3),_0x2301cc=[...Object[_0x183c00(0x149)+'s'](_0x3a09b4),..._0x5d3ec4||[]];return await this[_0x183c00(0x1b4)](_0xa887f4,_0x2301cc);}async[_0x57ad86(0x24c)+'e'](_0x4401d8,_0x720662,_0x8ec19){const _0x13c9a7=_0x57ad86,_0x567bfc=l[_0x13c9a7(0x24c)+'e'](_0x4401d8,_0x720662);return await this[_0x13c9a7(0x1b4)](_0x567bfc,_0x8ec19);}}exports[_0x57ad86(0x10d)+_0x57ad86(0x1c1)+'er']=l,exports[_0x57ad86(0xb6)+'eMana'+'ger']=f,exports['defau'+'lt']=C;
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.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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"}
|
package/lib/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
class l{constructor(){this.tableName="",this.selectFields=["*"],this.whereConditions=[],this.orderByFields=[],this.limitValue=null,this.offsetValue=null}static table(e){const t=new l;return t.tableName=e,t}select(e){return this.selectFields=Array.isArray(e)?e:[e],this}where(e){return this.whereConditions.push(e),this}orderBy(e,t="ASC"){return this.orderByFields.push(`${e} ${t}`),this}limit(e){return this.limitValue=e,this}offset(e){return this.offsetValue=e,this}toSQL(){let e=`SELECT ${this.selectFields.join(", ")} FROM ${this.tableName}`;return this.whereConditions.length>0&&(e+=` WHERE ${this.whereConditions.join(" AND ")}`),this.orderByFields.length>0&&(e+=` ORDER BY ${this.orderByFields.join(", ")}`),this.limitValue!==null&&(e+=` LIMIT ${this.limitValue}`),this.offsetValue!==null&&(e+=` OFFSET ${this.offsetValue}`),e}static insert(e,t){const r=Object.keys(t),s=Object.values(t).map(()=>"?").join(", ");return`INSERT INTO ${e} (${r.join(", ")}) VALUES (${s})`}static update(e,t,r){const s=Object.keys(t).map(n=>`${n} = ?`).join(", ");return`UPDATE ${e} SET ${s} WHERE ${r}`}static delete(e,t){return`DELETE FROM ${e} WHERE ${t}`}}class h{sanitizeSQL(e){return e.trim()}bindParameters(e,t){if(!t||t.length===0)return e;let r=0;return e.replace(/\?/g,()=>{if(r<t.length){const s=t[r++];return typeof s=="string"?`'${s.replace(/'/g,"''")}'`:s==null?"NULL":String(s)}return"?"})}}class y{constructor(e){this.db=e}async execute(e,t){return new Promise((r,s)=>{const n=this.bindParameters(e,t);e.toLowerCase().trim().startsWith("select")?this.db.all(n,(o,i)=>{o?s(new Error(`SQLite error: ${o.message}`)):r({rows:i||[],rowsAffected:0})}):this.db.run(n,function(o){o?s(new Error(`SQLite error: ${o.message}`)):r({rows:[],rowsAffected:this.changes||0,lastInsertRowId:this.lastID})})})}bindParameters(e,t){if(!t||t.length===0)return e;let r=0;return e.replace(/\?/g,()=>{if(r<t.length){const s=t[r++];return typeof s=="string"?`'${s.replace(/'/g,"''")}'`:s==null?"NULL":String(s)}return"?"})}async close(){return new Promise((e,t)=>{this.db.close(r=>{r?t(new Error(`Error closing database: ${r.message}`)):e()})})}}class b extends h{isSupported(){try{return typeof require!="undefined"&&require("sqlite3")!==void 0}catch(e){return!1}}async connect(e){return new Promise((t,r)=>{try{const s=require("sqlite3").verbose(),n=new s.Database(e,o=>{o?r(new Error(`Cannot connect to database: ${o.message}`)):t(new y(n))})}catch(s){r(new Error(`SQLite3 module not available: ${s}`))}})}}class p{constructor(e,t,r){this.worker=null,this.db=null,this.db=e,this.adapter=t,this.worker=r||null}async execute(e,t){if(!this.db)throw new Error("Database connection not available");try{const r=this.adapter.bindParameters(e,t);if(e.toLowerCase().trim().startsWith("select")){const s=this.db.exec(r),n=[];if(s.length>0&&s[0].values){const o=s[0].columns,i=s[0].values;for(const c of i){const u={};o.forEach((d,f)=>{u[d]=c[f]}),n.push(u)}}return{rows:n,rowsAffected:0}}else return this.db.exec(r),{rows:[],rowsAffected:1}}catch(r){throw new Error(`SQLite error: ${r}`)}}async close(){this.db&&(this.db.close(),this.db=null),this.worker&&(this.worker.terminate(),this.worker=null)}}class m extends h{constructor(){super(...arguments),this.sqlJs=null}isSupported(){return typeof window!="undefined"&&(typeof window.SQL!="undefined"||this.sqlJs!==null)}bindParameters(e,t){return super.bindParameters(e,t)}async connect(e){try{this.sqlJs||(typeof window.SQL!="undefined"?this.sqlJs=window.SQL:await this.loadSqlJs());let t;if(e===":memory:")t=new this.sqlJs.Database;else{const r=await this.loadDatabaseFile(e);t=new this.sqlJs.Database(r)}return new p(t,this)}catch(t){throw new Error(`Cannot connect to browser database: ${t}`)}}async loadSqlJs(){return new Promise((e,t)=>{const r=document.createElement("script");r.src="https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/sql-wasm.js",r.onload=async()=>{try{window.initSqlJs&&(this.sqlJs=await window.initSqlJs({locateFile:s=>`https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.8.0/${s}`})),e()}catch(s){t(s)}},r.onerror=()=>t(new Error("Failed to load sql.js")),document.head.appendChild(r)})}async loadDatabaseFile(e){try{const t=await fetch(e);if(t.ok){const r=await t.arrayBuffer();return new Uint8Array(r)}}catch(t){}}}class S{constructor(e){this.db=e}async execute(e,t){try{const r=this.bindParameters(e,t);if(e.toLowerCase().trim().startsWith("select"))return{rows:this.db.queryEntries(r),rowsAffected:0};{const s=this.db.query(r);return{rows:[],rowsAffected:s.length||1}}}catch(r){throw new Error(`SQLite error: ${r}`)}}bindParameters(e,t){if(!t||t.length===0)return e;let r=0;return e.replace(/\?/g,()=>{if(r<t.length){const s=t[r++];return typeof s=="string"?`'${s.replace(/'/g,"''")}'`:s==null?"NULL":String(s)}return"?"})}async close(){this.db&&this.db.close()}}class g extends h{isSupported(){try{return typeof Deno!="undefined"&&Deno.env!==void 0}catch(e){return!1}}async connect(e){try{const{DB:t}=await import("https://deno.land/x/sqlite@v3.8.0/mod.ts"),r=new t(e);return new S(r)}catch(t){throw new Error(`Cannot connect to Deno database: ${t}`)}}}let E=class{constructor(e){this.db=e}async execute(e,t){try{if(e.toLowerCase().trim().startsWith("select"))return{rows:this.db.query(e).all(t||[]),rowsAffected:0};{const r=this.db.query(e).run(t||[]);return{rows:[],rowsAffected:r.changes||0,lastInsertRowId:r.lastInsertRowid}}}catch(r){throw new Error(`SQLite error: ${r}`)}}async close(){this.db&&this.db.close()}};class L extends h{isSupported(){try{return typeof Bun!="undefined"&&Bun.version!==void 0}catch(e){return!1}}async connect(e){try{const{Database:t}=require("bun:sqlite"),r=new t(e);return new E(r)}catch(t){throw new Error(`Cannot connect to Bun database: ${t}`)}}}class ${constructor(e,t){this.db=e,this.dbName=t}async execute(e,t){return new Promise((r,s)=>{try{const n=this.bindParameters(e,t);this.db.transaction(o=>{o.executeSql(n,[],(i,c)=>{const u=[];if(c.rows)for(let d=0;d<c.rows.length;d++)u.push(c.rows.item(d));r({rows:u,rowsAffected:c.rowsAffected||0,lastInsertRowId:c.insertId})},(i,c)=>(s(new Error(`SQLite error: ${c.message}`)),!1))})}catch(n){s(new Error(`SQLite execution error: ${n}`))}})}bindParameters(e,t){if(!t||t.length===0)return e;let r=0;return e.replace(/\?/g,()=>{if(r<t.length){const s=t[r++];return typeof s=="string"?`'${s.replace(/'/g,"''")}'`:s==null?"NULL":String(s)}return"?"})}async close(){return new Promise((e,t)=>{this.db&&this.db.close?this.db.close(()=>e(),r=>t(new Error(`Error closing database: ${r.message}`))):e()})}}class q{constructor(e){this.db=e}async execute(e,t){return new Promise((r,s)=>{this.db.executeSql(e,t||[],n=>{const o=[];if(n.rows)for(let i=0;i<n.rows.length;i++)o.push(n.rows.item(i));r({rows:o,rowsAffected:n.rowsAffected||0,lastInsertRowId:n.insertId})},n=>{s(new Error(`SQLite error: ${n.message}`))})})}async close(){return new Promise((e,t)=>{this.db&&this.db.close?this.db.close(e,t):e()})}}class v{constructor(e){this.db=e}async execute(e,t){try{const r=await this.db.execAsync([{sql:e,args:t||[]}]);if(r&&r[0]){const s=r[0];return{rows:s.rows||[],rowsAffected:s.rowsAffected||0,lastInsertRowId:s.lastInsertRowId}}return{rows:[],rowsAffected:0}}catch(r){throw new Error(`SQLite error: ${r}`)}}async close(){this.db&&this.db.closeAsync&&await this.db.closeAsync()}}class A{constructor(e){this.db=e}async execute(e,t){try{if(e.toLowerCase().trim().startsWith("select"))return{rows:await this.db.all(e,t||[])||[],rowsAffected:0};{const r=await this.db.run(e,t||[]);return{rows:[],rowsAffected:r.changes||0,lastInsertRowId:r.lastID}}}catch(r){throw new Error(`SQLite error: ${r}`)}}async close(){this.db&&this.db.close&&await this.db.close()}}class Q{constructor(e){this.db=e}async execute(e,t){return new Promise((r,s)=>{this.db.exec([{sql:e,args:t||[]}],!1,n=>{if(n&&n[0]){const o=n[0];o.error?s(new Error(`SQLite error: ${o.error.message}`)):r({rows:o.rows||[],rowsAffected:o.rowsAffected||0,lastInsertRowId:o.insertId})}else r({rows:[],rowsAffected:0})})})}async close(){return new Promise((e,t)=>{this.db&&this.db.close?this.db.close(e,t):e()})}}class R extends h{constructor(){super(...arguments),this.adapterType=null,this.isWindows=!1}isSupported(){try{if(!(typeof navigator!="undefined"&&navigator.product==="ReactNative"))return!1;if(this.isWindows=this.isReactNativeWindows(),this.isWindows){if(this.hasSQLite2())return this.adapterType="sqlite2",!0;if(this.hasWindowsSQLite())return this.adapterType="windows",!0}return this.hasExpoSQLite()?(this.adapterType="expo",!0):this.hasSQLiteStorage()?(this.adapterType="storage",!0):this.hasWebViewSQLite()?(this.adapterType="webview",!0):!1}catch(e){return!1}}isReactNativeWindows(){try{return typeof navigator!="undefined"&&navigator.product==="ReactNative"&&(typeof globalThis.Windows!="undefined"||(()=>{try{if(typeof require!="undefined")return require("react-native-windows"),!0}catch(e){return!1}return!1})()||(()=>{try{if(typeof require!="undefined"){const{Platform:e}=require("react-native");return e&&e.OS==="windows"}}catch(e){return!1}return!1})())}catch(e){return!1}}hasExpoSQLite(){try{return require("expo-sqlite"),!this.isWindows}catch(e){return!1}}hasSQLiteStorage(){try{return require("react-native-sqlite-storage"),!this.isWindows}catch(e){return!1}}hasWebViewSQLite(){try{return typeof window!="undefined"&&typeof window.openDatabase=="function"&&!this.isWindows}catch(e){return!1}}hasWindowsSQLite(){try{return require("react-native-windows-sqlite"),!0}catch(e){return!1}}hasSQLite2(){try{return require("react-native-sqlite-2"),!0}catch(e){return!1}}async connect(e){if(!this.isSupported())throw new Error("React Native SQLite not supported in this environment");switch(this.adapterType){case"sqlite2":return this.connectSQLite2(e);case"windows":return this.connectWindows(e);case"expo":return this.connectExpo(e);case"storage":return this.connectStorage(e);case"webview":return this.connectWebView(e);default:throw new Error("No React Native SQLite adapter available")}}async connectSQLite2(e){return new Promise((t,r)=>{try{require("react-native-sqlite-2").openDatabase(e,"1.0","Database",2e5,s=>{t(new Q(s))},s=>{r(new Error(`Cannot connect to React Native SQLite-2: ${s.message}`))})}catch(s){r(new Error(`React Native SQLite-2 not available: ${s}`))}})}async connectWindows(e){try{const t=await require("react-native-windows-sqlite").openDatabase({name:e,location:"default"});return new A(t)}catch(t){throw new Error(`Cannot connect to React Native Windows SQLite: ${t}`)}}async connectExpo(e){try{const t=require("expo-sqlite").openDatabaseSync(e);return new v(t)}catch(t){throw new Error(`Cannot connect to Expo SQLite database: ${t}`)}}async connectStorage(e){return new Promise((t,r)=>{try{const s=require("react-native-sqlite-storage");s.DEBUG(!1),s.enablePromise(!0),s.openDatabase({name:e,location:"default"}).then(n=>{t(new q(n))}).catch(n=>{r(new Error(`Cannot connect to React Native SQLite database: ${n.message}`))})}catch(s){r(new Error(`React Native SQLite Storage not available: ${s}`))}})}async connectWebView(e){try{if(!window.openDatabase)throw new Error("WebView openDatabase not available");const t=window.openDatabase(e,"1.0","Database",2*1024*1024);return new $(t,e)}catch(t){throw new Error(`Cannot connect to WebView SQLite database: ${t}`)}}}class w{constructor(){this.adapters=[],this.currentAdapter=null,this.adapters=[new R,new L,new g,new b,new m]}detectEnvironment(){for(const e of this.adapters)if(e.isSupported())return e;throw new Error("No supported SQLite adapter found for this environment")}async connect(e){const t=typeof e=="string"?e:e.path;this.currentAdapter||(this.currentAdapter=this.detectEnvironment());try{return await this.currentAdapter.connect(t)}catch(r){throw new Error(`Failed to connect to SQLite database: ${r}`)}}getEnvironmentInfo(){try{if(typeof navigator!="undefined"&&navigator.product==="ReactNative"){if(typeof globalThis.Windows!="undefined")return"React Native Windows";try{const e=this.getPlatform();if(e&&e.OS==="windows")return"React Native Windows"}catch(e){}return"React Native"}return typeof window!="undefined"?"Browser":typeof process!="undefined"?"Node.js":"Unknown"}catch(e){return"Unknown"}}getPlatform(){try{if(typeof require!="undefined"){const{Platform:e}=require("react-native");return e}}catch(e){}try{return globalThis.Platform}catch(e){return null}}}class x{constructor(){this.connection=null,this.manager=new w}async connect(e){this.connection=await this.manager.connect(e)}async query(e,t){if(!this.connection)throw new Error("Database not connected");return await this.connection.execute(e,t)}async close(){this.connection&&(await this.connection.close(),this.connection=null)}getEnvironment(){return this.manager.getEnvironmentInfo()}async createTable(e,t){const r=Object.entries(t).map(([s,n])=>`${s} ${n}`).join(", ");await this.query(`CREATE TABLE IF NOT EXISTS ${e} (${r})`)}async insert(e,t){const r=l.insert(e,t);return await this.query(r,Object.values(t))}async select(e,t,r){let s=`SELECT * FROM ${e}`;return t&&(s+=` WHERE ${t}`),await this.query(s,r)}async update(e,t,r,s){const n=l.update(e,t,r),o=[...Object.values(t),...s||[]];return await this.query(n,o)}async delete(e,t,r){const s=l.delete(e,t);return await this.query(s,r)}}export{l as QueryBuilder,w as SQLiteManager,x as default};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|