@nathanclaire/edge-telemetry-sdk 3.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.md +348 -0
- package/dist/appLifecycle-Cynw0kAv.js +14 -0
- package/dist/appLifecycle-Cynw0kAv.js.map +1 -0
- package/dist/appLifecycle-DvJIt7ym.cjs +2 -0
- package/dist/appLifecycle-DvJIt7ym.cjs.map +1 -0
- package/dist/batch-CLBFgYPC.cjs +2 -0
- package/dist/batch-CLBFgYPC.cjs.map +1 -0
- package/dist/batch-DLG_gtOm.js +12 -0
- package/dist/batch-DLG_gtOm.js.map +1 -0
- package/dist/crashCapture-BYTM4FLC.cjs +2 -0
- package/dist/crashCapture-BYTM4FLC.cjs.map +1 -0
- package/dist/crashCapture-D_rkkBVa.js +31 -0
- package/dist/crashCapture-D_rkkBVa.js.map +1 -0
- package/dist/crashHandler.web-BSxDpFTo.cjs +2 -0
- package/dist/crashHandler.web-BSxDpFTo.cjs.map +1 -0
- package/dist/crashHandler.web-D59bmhg9.js +32 -0
- package/dist/crashHandler.web-D59bmhg9.js.map +1 -0
- package/dist/crashHandlerNative.native-DeAFze4E.cjs +2 -0
- package/dist/crashHandlerNative.native-DeAFze4E.cjs.map +1 -0
- package/dist/crashHandlerNative.native-d7qJkzA6.js +41 -0
- package/dist/crashHandlerNative.native-d7qJkzA6.js.map +1 -0
- package/dist/debug-DsvQ9y3W.js +68 -0
- package/dist/debug-DsvQ9y3W.js.map +1 -0
- package/dist/debug-rnOOxFpN.cjs +2 -0
- package/dist/debug-rnOOxFpN.cjs.map +1 -0
- package/dist/deviceInfo.native-7hbRYixR.cjs +2 -0
- package/dist/deviceInfo.native-7hbRYixR.cjs.map +1 -0
- package/dist/deviceInfo.native-D2k0LDhI.js +1171 -0
- package/dist/deviceInfo.native-D2k0LDhI.js.map +1 -0
- package/dist/deviceInfo.web-ByNAlEJh.cjs +2 -0
- package/dist/deviceInfo.web-ByNAlEJh.cjs.map +1 -0
- package/dist/deviceInfo.web-DzQyEku6.js +40 -0
- package/dist/deviceInfo.web-DzQyEku6.js.map +1 -0
- package/dist/frameAggregate-C_HoVFcK.cjs +2 -0
- package/dist/frameAggregate-C_HoVFcK.cjs.map +1 -0
- package/dist/frameAggregate-Cwh1juw1.js +17 -0
- package/dist/frameAggregate-Cwh1juw1.js.map +1 -0
- package/dist/frameDropsNative.native-CP7zrXDf.js +23 -0
- package/dist/frameDropsNative.native-CP7zrXDf.js.map +1 -0
- package/dist/frameDropsNative.native-DKqEDqip.cjs +2 -0
- package/dist/frameDropsNative.native-DKqEDqip.cjs.map +1 -0
- package/dist/frameDropsWeb.web-C9Lt3Fuj.js +22 -0
- package/dist/frameDropsWeb.web-C9Lt3Fuj.js.map +1 -0
- package/dist/frameDropsWeb.web-azpwQCUz.cjs +2 -0
- package/dist/frameDropsWeb.web-azpwQCUz.cjs.map +1 -0
- package/dist/httpAttributes-BV50UKQU.js +19 -0
- package/dist/httpAttributes-BV50UKQU.js.map +1 -0
- package/dist/httpAttributes-xXOD9trQ.cjs +2 -0
- package/dist/httpAttributes-xXOD9trQ.cjs.map +1 -0
- package/dist/index.native.cjs +2 -0
- package/dist/index.native.cjs.map +1 -0
- package/dist/index.native.d.ts +2 -0
- package/dist/index.native.js +109 -0
- package/dist/index.native.js.map +1 -0
- package/dist/index.web.cjs +2 -0
- package/dist/index.web.cjs.map +1 -0
- package/dist/index.web.d.ts +2 -0
- package/dist/index.web.js +80 -0
- package/dist/index.web.js.map +1 -0
- package/dist/interaction-CH8yoY5-.js +23 -0
- package/dist/interaction-CH8yoY5-.js.map +1 -0
- package/dist/interaction-DcNFBW7a.cjs +2 -0
- package/dist/interaction-DcNFBW7a.cjs.map +1 -0
- package/dist/interceptFetchNative.native-VlhtMG-U.js +49 -0
- package/dist/interceptFetchNative.native-VlhtMG-U.js.map +1 -0
- package/dist/interceptFetchNative.native-jEAldH14.cjs +2 -0
- package/dist/interceptFetchNative.native-jEAldH14.cjs.map +1 -0
- package/dist/interceptFetchWeb.web-DFzZliik.cjs +2 -0
- package/dist/interceptFetchWeb.web-DFzZliik.cjs.map +1 -0
- package/dist/interceptFetchWeb.web-DfsMfoRP.js +77 -0
- package/dist/interceptFetchWeb.web-DfsMfoRP.js.map +1 -0
- package/dist/memoryNative.native-BWLh2S9L.js +48 -0
- package/dist/memoryNative.native-BWLh2S9L.js.map +1 -0
- package/dist/memoryNative.native-DCXSOd4Q.cjs +2 -0
- package/dist/memoryNative.native-DCXSOd4Q.cjs.map +1 -0
- package/dist/memoryWeb.web-B3YuV-cB.js +48 -0
- package/dist/memoryWeb.web-B3YuV-cB.js.map +1 -0
- package/dist/memoryWeb.web-CheXAcJn.cjs +2 -0
- package/dist/memoryWeb.web-CheXAcJn.cjs.map +1 -0
- package/dist/nativeSender-BE_mzw_S.js +70 -0
- package/dist/nativeSender-BE_mzw_S.js.map +1 -0
- package/dist/nativeSender-DyAUGY7c.cjs +2 -0
- package/dist/nativeSender-DyAUGY7c.cjs.map +1 -0
- package/dist/navigationNative.native-3tO5JxSd.cjs +2 -0
- package/dist/navigationNative.native-3tO5JxSd.cjs.map +1 -0
- package/dist/navigationNative.native-BUCGPQX2.js +25 -0
- package/dist/navigationNative.native-BUCGPQX2.js.map +1 -0
- package/dist/navigationTracker-B2GMwyKk.cjs +2 -0
- package/dist/navigationTracker-B2GMwyKk.cjs.map +1 -0
- package/dist/navigationTracker-Cts68dgG.js +19 -0
- package/dist/navigationTracker-Cts68dgG.js.map +1 -0
- package/dist/navigationWeb.web-B0necr5j.cjs +2 -0
- package/dist/navigationWeb.web-B0necr5j.cjs.map +1 -0
- package/dist/navigationWeb.web-CORzE_Id.js +46 -0
- package/dist/navigationWeb.web-CORzE_Id.js.map +1 -0
- package/dist/networkChange-CUO1hRLj.cjs +2 -0
- package/dist/networkChange-CUO1hRLj.cjs.map +1 -0
- package/dist/networkChange-D39hdSb0.js +16 -0
- package/dist/networkChange-D39hdSb0.js.map +1 -0
- package/dist/networkInfo.native-BK5fpAOL.js +343 -0
- package/dist/networkInfo.native-BK5fpAOL.js.map +1 -0
- package/dist/networkInfo.native-cxuw93Uy.cjs +2 -0
- package/dist/networkInfo.native-cxuw93Uy.cjs.map +1 -0
- package/dist/networkInfo.web-DJmw1sNK.cjs +2 -0
- package/dist/networkInfo.web-DJmw1sNK.cjs.map +1 -0
- package/dist/networkInfo.web-twcNn_hc.js +32 -0
- package/dist/networkInfo.web-twcNn_hc.js.map +1 -0
- package/dist/src/adapters/appLifecycle.d.ts +15 -0
- package/dist/src/adapters/batch.d.ts +2 -0
- package/dist/src/adapters/crashCapture.d.ts +13 -0
- package/dist/src/adapters/frameAggregate.d.ts +12 -0
- package/dist/src/adapters/httpAttributes.d.ts +9 -0
- package/dist/src/adapters/interaction.d.ts +17 -0
- package/dist/src/adapters/native/crashHandlerNative.native.d.ts +9 -0
- package/dist/src/adapters/native/deviceInfo.native.d.ts +10 -0
- package/dist/src/adapters/native/frameDropsNative.native.d.ts +16 -0
- package/dist/src/adapters/native/interceptFetchNative.native.d.ts +23 -0
- package/dist/src/adapters/native/memoryNative.native.d.ts +25 -0
- package/dist/src/adapters/native/navigationNative.native.d.ts +12 -0
- package/dist/src/adapters/native/networkInfo.native.d.ts +12 -0
- package/dist/src/adapters/nativeSender.d.ts +3 -0
- package/dist/src/adapters/navigationTracker.d.ts +6 -0
- package/dist/src/adapters/networkChange.d.ts +15 -0
- package/dist/src/adapters/screenTiming.d.ts +9 -0
- package/dist/src/adapters/web/crashHandler.web.d.ts +9 -0
- package/dist/src/adapters/web/deviceInfo.web.d.ts +7 -0
- package/dist/src/adapters/web/frameDropsWeb.web.d.ts +16 -0
- package/dist/src/adapters/web/interceptFetchWeb.web.d.ts +29 -0
- package/dist/src/adapters/web/memoryWeb.web.d.ts +26 -0
- package/dist/src/adapters/web/navigationWeb.web.d.ts +29 -0
- package/dist/src/adapters/web/networkInfo.web.d.ts +8 -0
- package/dist/src/adapters/webSender.d.ts +3 -0
- package/dist/src/core/breadcrumbs.d.ts +12 -0
- package/dist/src/core/debug.d.ts +6 -0
- package/dist/src/core/telemetry.d.ts +233 -0
- package/dist/src/core/utils/uuid.d.ts +2 -0
- package/dist/src/createTelemetry.native.d.ts +16 -0
- package/dist/src/createTelemetry.web.d.ts +16 -0
- package/dist/src/index.base.d.ts +36 -0
- package/dist/src/index.native.d.ts +28 -0
- package/dist/src/index.web.d.ts +24 -0
- package/dist/src/shims/react-native-web-shim.d.ts +6 -0
- package/dist/telemetry-Co4MYdwa.cjs +2 -0
- package/dist/telemetry-Co4MYdwa.cjs.map +1 -0
- package/dist/telemetry-KI0x4gzC.js +389 -0
- package/dist/telemetry-KI0x4gzC.js.map +1 -0
- package/dist/v4-BysszJq8.js +31 -0
- package/dist/v4-BysszJq8.js.map +1 -0
- package/dist/v4-CqdK_b8Y.cjs +2 -0
- package/dist/v4-CqdK_b8Y.cjs.map +1 -0
- package/dist/webSender-B27tmT1w.js +42 -0
- package/dist/webSender-B27tmT1w.js.map +1 -0
- package/dist/webSender-BWi4x1df.cjs +2 -0
- package/dist/webSender-BWi4x1df.cjs.map +1 -0
- package/package.json +91 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-DsvQ9y3W.js","sources":["../src/index.base.ts","../src/core/debug.ts"],"sourcesContent":["// Shared delegation base for TelemetryWeb / TelemetryNative.\n// Both platform classes lazily build a core `Telemetry` behind `instancePromise`\n// and forward every public call to it; these methods are identical across platforms.\n// Platform-specific capture (getDeviceInfo, track*, navigation/screen) stays in the\n// subclasses because each imports a different platform adapter.\n\ntype ProfileInput = {\n userId?: string;\n fullName?: string;\n firstName?: string;\n lastName?: string;\n email?: string;\n phone?: string;\n avatar?: string;\n customAttributes?: Record<string, any>;\n};\n\nexport abstract class TelemetryBase {\n protected instancePromise!: Promise<any>;\n\n async log(event: string, data?: Record<string, any>) {\n const inst = await this.instancePromise;\n return inst.log(event, data);\n }\n\n async flush() {\n const inst = await this.instancePromise;\n return inst.flush();\n }\n\n async shutdown() {\n const inst = await this.instancePromise;\n return inst.shutdown();\n }\n\n async trackErrors(options?: { captureConsole?: boolean }) {\n const { CrashHandlerNative } = await import(\"./adapters/native/crashHandlerNative.native\");\n const inst = await this.instancePromise;\n const crashHandler = new CrashHandlerNative(inst);\n return inst.trackErrors(crashHandler, options);\n }\n\n // ---------- User Profile Management ----------\n\n async setUserId(id: string) {\n const inst = await this.instancePromise;\n inst.setUserId(id);\n }\n\n async generateUserId() {\n const inst = await this.instancePromise;\n return inst.generateUserId();\n }\n\n async setUserProfile(profile: ProfileInput) {\n const inst = await this.instancePromise;\n inst.setUserProfile(profile);\n }\n\n async setUserDetails(details: ProfileInput) {\n const inst = await this.instancePromise;\n inst.setUserDetails(details);\n }\n\n async updateUserProfile(updates: ProfileInput) {\n const inst = await this.instancePromise;\n inst.updateUserProfile(updates);\n }\n\n async getUserProfile() {\n const inst = await this.instancePromise;\n return inst.getUserProfile();\n }\n\n async clearUserProfile() {\n const inst = await this.instancePromise;\n inst.clearUserProfile();\n }\n\n async setUserName(fullName: string, firstName?: string, lastName?: string) {\n const inst = await this.instancePromise;\n inst.setUserName(fullName, firstName, lastName);\n }\n\n async setUserContact(email?: string, phone?: string) {\n const inst = await this.instancePromise;\n inst.setUserContact(email, phone);\n }\n\n // EdgeRum-style identify(): emits user.profile.update, preserves the anonymous user.id (#31)\n async identify(profile: { name?: string; email?: string; phone?: string; avatar?: string; customAttributes?: Record<string, any> }) {\n const inst = await this.instancePromise;\n return inst.identify(profile);\n }\n}\n","// SDK-internal debug gate (#23, Workstream E). Silent by default so v3 never spams the\n// host app's console; `createTelemetry({ debug: true })` flips it on. Gates log AND\n// warn/error — nothing prints unless debug is enabled.\nlet enabled = false;\n\nexport function setDebug(on: boolean): void {\n enabled = on;\n}\n\nexport const debug = {\n log: (...args: any[]) => { if (enabled) console.log(...args); },\n warn: (...args: any[]) => { if (enabled) console.warn(...args); },\n error: (...args: any[]) => { if (enabled) console.error(...args); },\n};\n"],"names":["TelemetryBase","event","data","options","CrashHandlerNative","inst","crashHandler","id","profile","details","updates","fullName","firstName","lastName","email","phone","enabled","setDebug","on","debug","args"],"mappings":"AAiBO,MAAeA,EAAc;AAAA,EAGhC,MAAM,IAAIC,GAAeC,GAA4B;AAEjD,YADa,MAAM,KAAK,iBACZ,IAAID,GAAOC,CAAI;AAAA,EAC/B;AAAA,EAEA,MAAM,QAAQ;AAEV,YADa,MAAM,KAAK,iBACZ,MAAA;AAAA,EAChB;AAAA,EAEA,MAAM,WAAW;AAEb,YADa,MAAM,KAAK,iBACZ,SAAA;AAAA,EAChB;AAAA,EAEA,MAAM,YAAYC,GAAwC;AACtD,UAAM,EAAE,oBAAAC,EAAA,IAAuB,MAAM,OAAO,yCAA6C,GACnFC,IAAO,MAAM,KAAK,iBAClBC,IAAe,IAAIF,EAAmBC,CAAI;AAChD,WAAOA,EAAK,YAAYC,GAAcH,CAAO;AAAA,EACjD;AAAA;AAAA,EAIA,MAAM,UAAUI,GAAY;AAExB,KADa,MAAM,KAAK,iBACnB,UAAUA,CAAE;AAAA,EACrB;AAAA,EAEA,MAAM,iBAAiB;AAEnB,YADa,MAAM,KAAK,iBACZ,eAAA;AAAA,EAChB;AAAA,EAEA,MAAM,eAAeC,GAAuB;AAExC,KADa,MAAM,KAAK,iBACnB,eAAeA,CAAO;AAAA,EAC/B;AAAA,EAEA,MAAM,eAAeC,GAAuB;AAExC,KADa,MAAM,KAAK,iBACnB,eAAeA,CAAO;AAAA,EAC/B;AAAA,EAEA,MAAM,kBAAkBC,GAAuB;AAE3C,KADa,MAAM,KAAK,iBACnB,kBAAkBA,CAAO;AAAA,EAClC;AAAA,EAEA,MAAM,iBAAiB;AAEnB,YADa,MAAM,KAAK,iBACZ,eAAA;AAAA,EAChB;AAAA,EAEA,MAAM,mBAAmB;AAErB,KADa,MAAM,KAAK,iBACnB,iBAAA;AAAA,EACT;AAAA,EAEA,MAAM,YAAYC,GAAkBC,GAAoBC,GAAmB;AAEvE,KADa,MAAM,KAAK,iBACnB,YAAYF,GAAUC,GAAWC,CAAQ;AAAA,EAClD;AAAA,EAEA,MAAM,eAAeC,GAAgBC,GAAgB;AAEjD,KADa,MAAM,KAAK,iBACnB,eAAeD,GAAOC,CAAK;AAAA,EACpC;AAAA;AAAA,EAGA,MAAM,SAASP,GAAqH;AAEhI,YADa,MAAM,KAAK,iBACZ,SAASA,CAAO;AAAA,EAChC;AACJ;AC3FA,IAAIQ,IAAU;AAEP,SAASC,EAASC,GAAmB;AAC1C,EAAAF,IAAUE;AACZ;AAEO,MAAMC,IAAQ;AAAA,EACnB,KAAK,IAAIC,MAAgB;AAAE,IAAIJ,KAAS,QAAQ,IAAI,GAAGI,CAAI;AAAA,EAAG;AAAA,EAC9D,MAAM,IAAIA,MAAgB;AAAE,IAAIJ,KAAS,QAAQ,KAAK,GAAGI,CAAI;AAAA,EAAG;AAAA,EAChE,OAAO,IAAIA,MAAgB;AAAE,IAAIJ,KAAS,QAAQ,MAAM,GAAGI,CAAI;AAAA,EAAG;AACpE;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";class a{async log(s,t){return(await this.instancePromise).log(s,t)}async flush(){return(await this.instancePromise).flush()}async shutdown(){return(await this.instancePromise).shutdown()}async trackErrors(s){const{CrashHandlerNative:t}=await Promise.resolve().then(()=>require("./crashHandlerNative.native-DeAFze4E.cjs")),n=await this.instancePromise,r=new t(n);return n.trackErrors(r,s)}async setUserId(s){(await this.instancePromise).setUserId(s)}async generateUserId(){return(await this.instancePromise).generateUserId()}async setUserProfile(s){(await this.instancePromise).setUserProfile(s)}async setUserDetails(s){(await this.instancePromise).setUserDetails(s)}async updateUserProfile(s){(await this.instancePromise).updateUserProfile(s)}async getUserProfile(){return(await this.instancePromise).getUserProfile()}async clearUserProfile(){(await this.instancePromise).clearUserProfile()}async setUserName(s,t,n){(await this.instancePromise).setUserName(s,t,n)}async setUserContact(s,t){(await this.instancePromise).setUserContact(s,t)}async identify(s){return(await this.instancePromise).identify(s)}}let i=!1;function o(e){i=e}const c={log:(...e)=>{i&&console.log(...e)},warn:(...e)=>{i&&console.warn(...e)},error:(...e)=>{i&&console.error(...e)}};exports.TelemetryBase=a;exports.debug=c;exports.setDebug=o;
|
|
2
|
+
//# sourceMappingURL=debug-rnOOxFpN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-rnOOxFpN.cjs","sources":["../src/index.base.ts","../src/core/debug.ts"],"sourcesContent":["// Shared delegation base for TelemetryWeb / TelemetryNative.\n// Both platform classes lazily build a core `Telemetry` behind `instancePromise`\n// and forward every public call to it; these methods are identical across platforms.\n// Platform-specific capture (getDeviceInfo, track*, navigation/screen) stays in the\n// subclasses because each imports a different platform adapter.\n\ntype ProfileInput = {\n userId?: string;\n fullName?: string;\n firstName?: string;\n lastName?: string;\n email?: string;\n phone?: string;\n avatar?: string;\n customAttributes?: Record<string, any>;\n};\n\nexport abstract class TelemetryBase {\n protected instancePromise!: Promise<any>;\n\n async log(event: string, data?: Record<string, any>) {\n const inst = await this.instancePromise;\n return inst.log(event, data);\n }\n\n async flush() {\n const inst = await this.instancePromise;\n return inst.flush();\n }\n\n async shutdown() {\n const inst = await this.instancePromise;\n return inst.shutdown();\n }\n\n async trackErrors(options?: { captureConsole?: boolean }) {\n const { CrashHandlerNative } = await import(\"./adapters/native/crashHandlerNative.native\");\n const inst = await this.instancePromise;\n const crashHandler = new CrashHandlerNative(inst);\n return inst.trackErrors(crashHandler, options);\n }\n\n // ---------- User Profile Management ----------\n\n async setUserId(id: string) {\n const inst = await this.instancePromise;\n inst.setUserId(id);\n }\n\n async generateUserId() {\n const inst = await this.instancePromise;\n return inst.generateUserId();\n }\n\n async setUserProfile(profile: ProfileInput) {\n const inst = await this.instancePromise;\n inst.setUserProfile(profile);\n }\n\n async setUserDetails(details: ProfileInput) {\n const inst = await this.instancePromise;\n inst.setUserDetails(details);\n }\n\n async updateUserProfile(updates: ProfileInput) {\n const inst = await this.instancePromise;\n inst.updateUserProfile(updates);\n }\n\n async getUserProfile() {\n const inst = await this.instancePromise;\n return inst.getUserProfile();\n }\n\n async clearUserProfile() {\n const inst = await this.instancePromise;\n inst.clearUserProfile();\n }\n\n async setUserName(fullName: string, firstName?: string, lastName?: string) {\n const inst = await this.instancePromise;\n inst.setUserName(fullName, firstName, lastName);\n }\n\n async setUserContact(email?: string, phone?: string) {\n const inst = await this.instancePromise;\n inst.setUserContact(email, phone);\n }\n\n // EdgeRum-style identify(): emits user.profile.update, preserves the anonymous user.id (#31)\n async identify(profile: { name?: string; email?: string; phone?: string; avatar?: string; customAttributes?: Record<string, any> }) {\n const inst = await this.instancePromise;\n return inst.identify(profile);\n }\n}\n","// SDK-internal debug gate (#23, Workstream E). Silent by default so v3 never spams the\n// host app's console; `createTelemetry({ debug: true })` flips it on. Gates log AND\n// warn/error — nothing prints unless debug is enabled.\nlet enabled = false;\n\nexport function setDebug(on: boolean): void {\n enabled = on;\n}\n\nexport const debug = {\n log: (...args: any[]) => { if (enabled) console.log(...args); },\n warn: (...args: any[]) => { if (enabled) console.warn(...args); },\n error: (...args: any[]) => { if (enabled) console.error(...args); },\n};\n"],"names":["TelemetryBase","event","data","options","CrashHandlerNative","inst","crashHandler","id","profile","details","updates","fullName","firstName","lastName","email","phone","enabled","setDebug","on","debug","args"],"mappings":"aAiBO,MAAeA,CAAc,CAGhC,MAAM,IAAIC,EAAeC,EAA4B,CAEjD,OADa,MAAM,KAAK,iBACZ,IAAID,EAAOC,CAAI,CAC/B,CAEA,MAAM,OAAQ,CAEV,OADa,MAAM,KAAK,iBACZ,MAAA,CAChB,CAEA,MAAM,UAAW,CAEb,OADa,MAAM,KAAK,iBACZ,SAAA,CAChB,CAEA,MAAM,YAAYC,EAAwC,CACtD,KAAM,CAAE,mBAAAC,CAAA,EAAuB,MAAM,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,0CAA6C,CAAA,EACnFC,EAAO,MAAM,KAAK,gBAClBC,EAAe,IAAIF,EAAmBC,CAAI,EAChD,OAAOA,EAAK,YAAYC,EAAcH,CAAO,CACjD,CAIA,MAAM,UAAUI,EAAY,EACX,MAAM,KAAK,iBACnB,UAAUA,CAAE,CACrB,CAEA,MAAM,gBAAiB,CAEnB,OADa,MAAM,KAAK,iBACZ,eAAA,CAChB,CAEA,MAAM,eAAeC,EAAuB,EAC3B,MAAM,KAAK,iBACnB,eAAeA,CAAO,CAC/B,CAEA,MAAM,eAAeC,EAAuB,EAC3B,MAAM,KAAK,iBACnB,eAAeA,CAAO,CAC/B,CAEA,MAAM,kBAAkBC,EAAuB,EAC9B,MAAM,KAAK,iBACnB,kBAAkBA,CAAO,CAClC,CAEA,MAAM,gBAAiB,CAEnB,OADa,MAAM,KAAK,iBACZ,eAAA,CAChB,CAEA,MAAM,kBAAmB,EACR,MAAM,KAAK,iBACnB,iBAAA,CACT,CAEA,MAAM,YAAYC,EAAkBC,EAAoBC,EAAmB,EAC1D,MAAM,KAAK,iBACnB,YAAYF,EAAUC,EAAWC,CAAQ,CAClD,CAEA,MAAM,eAAeC,EAAgBC,EAAgB,EACpC,MAAM,KAAK,iBACnB,eAAeD,EAAOC,CAAK,CACpC,CAGA,MAAM,SAASP,EAAqH,CAEhI,OADa,MAAM,KAAK,iBACZ,SAASA,CAAO,CAChC,CACJ,CC3FA,IAAIQ,EAAU,GAEP,SAASC,EAASC,EAAmB,CAC1CF,EAAUE,CACZ,CAEO,MAAMC,EAAQ,CACnB,IAAK,IAAIC,IAAgB,CAAMJ,GAAS,QAAQ,IAAI,GAAGI,CAAI,CAAG,EAC9D,KAAM,IAAIA,IAAgB,CAAMJ,GAAS,QAAQ,KAAK,GAAGI,CAAI,CAAG,EAChE,MAAO,IAAIA,IAAgB,CAAMJ,GAAS,QAAQ,MAAM,GAAGI,CAAI,CAAG,CACpE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react-native"),u=require("react"),ee=require("./v4-CqdK_b8Y.cjs");function p(o,r){const[s,a]=u.useState({loading:!0,result:r});return u.useEffect(()=>{(async()=>{const i=await o();a({loading:!1,result:i})})()},[o]),s}const te=new n.NativeEventEmitter(n.NativeModules.RNDeviceInfo);function b(o,r,s){const{loading:a,result:d}=p(r,s),[i,g]=u.useState(s);return u.useEffect(()=>{g(d)},[d]),u.useEffect(()=>{const y=te.addListener(o,g);return()=>y.remove()},[o]),u.useMemo(()=>({loading:a,result:i}),[a,i])}const ne=[{brand:"Apple",model:"iPhone 16"},{brand:"Apple",model:"iPhone 16 Plus"},{brand:"Apple",model:"iPhone 16 Pro"},{brand:"Apple",model:"iPhone 16 Pro Max"},{brand:"Apple",model:"iPhone 15"},{brand:"Apple",model:"iPhone 15 Plus"},{brand:"Apple",model:"iPhone 15 Pro"},{brand:"Apple",model:"iPhone 15 Pro Max"},{brand:"Apple",model:"iPhone 14 Pro"},{brand:"Apple",model:"iPhone 14 Pro Max"}],oe=[{brand:"Apple",model:"iPhone 16"},{brand:"Apple",model:"iPhone 16 Plus"},{brand:"Apple",model:"iPhone 16 Pro"},{brand:"Apple",model:"iPhone 16 Pro Max"},{brand:"Apple",model:"iPhone 15"},{brand:"Apple",model:"iPhone 15 Plus"},{brand:"Apple",model:"iPhone 15 Pro"},{brand:"Apple",model:"iPhone 15 Pro Max"},{brand:"Apple",model:"iPhone 14"},{brand:"Apple",model:"iPhone 14 Plus"},{brand:"Apple",model:"iPhone 14 Pro"},{brand:"Apple",model:"iPhone 14 Pro Max"},{brand:"Apple",model:"iPhone 13 mini"},{brand:"Apple",model:"iPhone 13"},{brand:"Apple",model:"iPhone 13 Pro"},{brand:"Apple",model:"iPhone 13 Pro Max"},{brand:"Apple",model:"iPhone 12 mini"},{brand:"Apple",model:"iPhone 12"},{brand:"Apple",model:"iPhone 12 Pro"},{brand:"Apple",model:"iPhone 12 Pro Max"},{brand:"Apple",model:"iPhone 11"},{brand:"Apple",model:"iPhone 11 Pro"},{brand:"Apple",model:"iPhone 11 Pro Max"},{brand:"Apple",model:"iPhone X"},{brand:"Apple",model:"iPhone XS"},{brand:"Apple",model:"iPhone XS Max"},{brand:"Apple",model:"iPhone XR"},{brand:"Asus",model:"ZenFone 5"},{brand:"Asus",model:"ZenFone 5z"},{brand:"google",model:"Pixel 3 XL"},{brand:"google",model:"Pixel 4a"},{brand:"Huawei",model:"P20"},{brand:"Huawei",model:"P20 Plus"},{brand:"Huawei",model:"P20 Lite"},{brand:"Huawei",model:"ANE-LX1"},{brand:"Huawei",model:"INE-LX1"},{brand:"Huawei",model:"POT-LX1"},{brand:"Huawei",model:"Honor Play"},{brand:"Huawei",model:"Honor 10"},{brand:"Huawei",model:"Mate 20 Lite"},{brand:"Huawei",model:"Mate 20 Pro"},{brand:"Huawei",model:"ELE-L29"},{brand:"Huawei",model:"P30 Lite"},{brand:"Huawei",model:"P30 Pro"},{brand:"Huawei",model:"JNY-LX1"},{brand:"Huawei",model:"Nova 3"},{brand:"Huawei",model:"Nova 3i"},{brand:"Leagoo",model:"S9"},{brand:"LG",model:"G7"},{brand:"LG",model:"G7 ThinQ"},{brand:"LG",model:"G7+ ThinQ"},{brand:"LG",model:"LM-Q910"},{brand:"LG",model:"LM-G710"},{brand:"LG",model:"LM-V405"},{brand:"Motorola",model:"Moto g7 Play"},{brand:"Motorola",model:"Moto g7 Power"},{brand:"Motorola",model:"One"},{brand:"Motorola",model:"Motorola One Vision"},{brand:"Nokia",model:"5.1 Plus"},{brand:"Nokia",model:"Nokia 6.1 Plus"},{brand:"Nokia",model:"7.1"},{brand:"Nokia",model:"8.1"},{brand:"OnePlus",model:"6"},{brand:"OnePlus",model:"A6003"},{brand:"ONEPLUS",model:"A6000"},{brand:"OnePlus",model:"OnePlus A6003"},{brand:"OnePlus",model:"ONEPLUS A6010"},{brand:"OnePlus",model:"ONEPLUS A6013"},{brand:"OnePlus",model:"ONEPLUS A6000"},{brand:"Oppo",model:"R15"},{brand:"Oppo",model:"R15 Pro"},{brand:"Oppo",model:"F7"},{brand:"Oukitel",model:"U18"},{brand:"Redmi",model:"M2004J19C"},{brand:"Sharp",model:"Aquos S3"},{brand:"Vivo",model:"V9"},{brand:"Vivo",model:"X21"},{brand:"Vivo",model:"X21 UD"},{brand:"xiaomi",model:"MI 8"},{brand:"xiaomi",model:"MI 8 Explorer Edition"},{brand:"xiaomi",model:"MI 8 SE"},{brand:"xiaomi",model:"MI 8 UD"},{brand:"xiaomi",model:"MI 8 Lite"},{brand:"xiaomi",model:"Mi 9"},{brand:"xiaomi",model:"POCO F1"},{brand:"xiaomi",model:"POCOPHONE F1"},{brand:"xiaomi",model:"Redmi 6 Pro"},{brand:"xiaomi",model:"Redmi Note 7"},{brand:"xiaomi",model:"Redmi 7"},{brand:"xiaomi",model:"Redmi Note 8"},{brand:"xiaomi",model:"Redmi Note 8 Pro"},{brand:"xiaomi",model:"Mi A2 Lite"},{brand:"Blackview",model:"A30"},{brand:"Samsung",model:"SM-A202F"},{brand:"Samsung",model:"SM-A217F"},{brand:"Samsung",model:"SM-A715F"}];let e=n.NativeModules.RNDeviceInfo;(n.Platform.OS==="web"||n.Platform.OS==="dom")&&(e=require("../web"));if(!e&&(n.Platform.OS==="android"||n.Platform.OS==="ios"||n.Platform.OS==="web"||n.Platform.OS==="dom"))throw new Error("react-native-device-info: NativeModule.RNDeviceInfo is null. To fix this issue try these steps:\n • For react-native <= 0.59: Run `react-native link react-native-device-info` in the project root.\n • Rebuild and re-run the app.\n • If you are using CocoaPods on iOS, run `pod install` in the `ios` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.\n If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-device-info/react-native-device-info");let m={};function O(o,r,s){let a={};return o.filter(d=>n.Platform.OS==d).forEach(d=>a[d]=r),n.Platform.select({...a,default:s})}function c({getter:o,supportedPlatforms:r,defaultValue:s,memoKey:a}){if(a&&m[a]!=null)return m[a];{const d=O(r,o,()=>s)();return a&&(m[a]=d),d}}async function h({getter:o,supportedPlatforms:r,defaultValue:s,memoKey:a}){if(a&&m[a]!=null)return m[a];{const d=await O(r,o,()=>Promise.resolve(s))();return a&&(m[a]=d),d}}function t({syncGetter:o,...r}){return[()=>h(r),()=>c({...r,getter:o})]}const[M,re]=t({memoKey:"uniqueId",supportedPlatforms:["android","ios","windows"],getter:()=>e.getUniqueId(),syncGetter:()=>e.getUniqueIdSync(),defaultValue:"unknown"});let S;async function ae(){return n.Platform.OS==="ios"?S=await e.syncUniqueId():S=await M(),S}const[se,de]=t({memoKey:"instanceId",supportedPlatforms:["android"],getter:()=>e.getInstanceId(),syncGetter:()=>e.getInstanceIdSync(),defaultValue:"unknown"}),[ie,le]=t({memoKey:"serialNumber",supportedPlatforms:["android","windows"],getter:()=>e.getSerialNumber(),syncGetter:()=>e.getSerialNumberSync(),defaultValue:"unknown"}),[ue,ce]=t({memoKey:"androidId",supportedPlatforms:["android"],getter:()=>e.getAndroidId(),syncGetter:()=>e.getAndroidIdSync(),defaultValue:"unknown"}),[me,pe]=t({supportedPlatforms:["android","ios","windows"],getter:()=>e.getIpAddress(),syncGetter:()=>e.getIpAddressSync(),defaultValue:"unknown"}),[ge,fe]=t({supportedPlatforms:["android","windows","web"],getter:()=>e.isCameraPresent(),syncGetter:()=>e.isCameraPresentSync(),defaultValue:!1});async function ye(){return n.Platform.OS==="android"?e.getMacAddress():n.Platform.OS==="ios"?"02:00:00:00:00:00":"unknown"}function Se(){return n.Platform.OS==="android"?e.getMacAddressSync():n.Platform.OS==="ios"?"02:00:00:00:00:00":"unknown"}const Pe=()=>c({defaultValue:"unknown",memoKey:"deviceId",getter:()=>e.deviceId,supportedPlatforms:["android","ios","windows"]}),[L,we]=t({memoKey:"manufacturer",supportedPlatforms:["android","ios","windows"],getter:()=>n.Platform.OS=="ios"?Promise.resolve("Apple"):e.getSystemManufacturer(),syncGetter:()=>n.Platform.OS=="ios"?"Apple":e.getSystemManufacturerSync(),defaultValue:"unknown"}),v=()=>c({memoKey:"model",defaultValue:"unknown",supportedPlatforms:["ios","android","windows"],getter:()=>e.model}),A=()=>c({memoKey:"brand",supportedPlatforms:["android","ios","windows"],defaultValue:"unknown",getter:()=>e.brand}),be=()=>c({defaultValue:"unknown",supportedPlatforms:["ios","android","windows"],memoKey:"systemName",getter:()=>n.Platform.select({ios:e.systemName,android:"Android",windows:"Windows",default:"unknown"})}),he=()=>c({defaultValue:"unknown",getter:()=>e.systemVersion,supportedPlatforms:["android","ios","windows"],memoKey:"systemVersion"}),[ve,Ae]=t({memoKey:"buildId",supportedPlatforms:["android","ios","windows"],getter:()=>e.getBuildId(),syncGetter:()=>e.getBuildIdSync(),defaultValue:"unknown"}),[Ie,Ve]=t({memoKey:"apiLevel",supportedPlatforms:["android"],getter:()=>e.getApiLevel(),syncGetter:()=>e.getApiLevelSync(),defaultValue:-1}),ke=()=>c({memoKey:"bundleId",supportedPlatforms:["android","ios","windows"],defaultValue:"unknown",getter:()=>e.bundleId}),[Oe,Me]=t({memoKey:"installerPackageName",supportedPlatforms:["android","windows","ios"],getter:()=>e.getInstallerPackageName(),syncGetter:()=>e.getInstallerPackageNameSync(),defaultValue:"unknown"}),Le=()=>c({memoKey:"appName",defaultValue:"unknown",getter:()=>e.appName,supportedPlatforms:["android","ios","windows"]}),N=()=>c({memoKey:"buildNumber",supportedPlatforms:["android","ios","windows"],getter:()=>e.buildNumber,defaultValue:"unknown"}),C=()=>c({memoKey:"version",defaultValue:"unknown",supportedPlatforms:["android","ios","windows"],getter:()=>e.appVersion});function Ne(){return C()+"."+N()}const[G,Ce]=t({supportedPlatforms:["android","ios","windows"],getter:()=>e.getDeviceName(),syncGetter:()=>e.getDeviceNameSync(),defaultValue:"unknown"}),[Ge,De]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getUsedMemory(),syncGetter:()=>e.getUsedMemorySync(),defaultValue:-1}),Be=()=>h({memoKey:"userAgent",defaultValue:"unknown",supportedPlatforms:["android","ios","web"],getter:()=>e.getUserAgent()}),He=()=>c({memoKey:"userAgentSync",defaultValue:"unknown",supportedPlatforms:["android","web"],getter:()=>e.getUserAgentSync()}),[Te,Fe]=t({supportedPlatforms:["android","ios","windows"],getter:()=>e.getFontScale(),syncGetter:()=>e.getFontScaleSync(),defaultValue:-1}),[Ke,Ee]=t({memoKey:"bootloader",supportedPlatforms:["android"],getter:()=>e.getBootloader(),syncGetter:()=>e.getBootloaderSync(),defaultValue:"unknown"}),[xe,Re]=t({getter:()=>e.getDevice(),syncGetter:()=>e.getDeviceSync(),defaultValue:"unknown",memoKey:"device",supportedPlatforms:["android"]}),[Ue,_e]=t({memoKey:"display",supportedPlatforms:["android"],getter:()=>e.getDisplay(),syncGetter:()=>e.getDisplaySync(),defaultValue:"unknown"}),[qe,Xe]=t({memoKey:"fingerprint",supportedPlatforms:["android"],getter:()=>e.getFingerprint(),syncGetter:()=>e.getFingerprintSync(),defaultValue:"unknown"}),[We,Ze]=t({memoKey:"hardware",supportedPlatforms:["android"],getter:()=>e.getHardware(),syncGetter:()=>e.getHardwareSync(),defaultValue:"unknown"}),[$e,Qe]=t({memoKey:"host",supportedPlatforms:["android","windows"],getter:()=>e.getHost(),syncGetter:()=>e.getHostSync(),defaultValue:"unknown"}),[je,ze]=t({memoKey:"hostNames",supportedPlatforms:["windows"],getter:()=>e.getHostNames(),syncGetter:()=>e.getHostNamesSync(),defaultValue:[]}),[Je,Ye]=t({memoKey:"product",supportedPlatforms:["android"],getter:()=>e.getProduct(),syncGetter:()=>e.getProductSync(),defaultValue:"unknown"}),[et,tt]=t({memoKey:"tags",supportedPlatforms:["android"],getter:()=>e.getTags(),syncGetter:()=>e.getTagsSync(),defaultValue:"unknown"}),[nt,ot]=t({memoKey:"type",supportedPlatforms:["android"],getter:()=>e.getType(),syncGetter:()=>e.getTypeSync(),defaultValue:"unknown"}),[rt,at]=t({memoKey:"baseOs",supportedPlatforms:["android","web","windows"],getter:()=>e.getBaseOs(),syncGetter:()=>e.getBaseOsSync(),defaultValue:"unknown"}),[st,dt]=t({memoKey:"previewSdkInt",supportedPlatforms:["android"],getter:()=>e.getPreviewSdkInt(),syncGetter:()=>e.getPreviewSdkIntSync(),defaultValue:-1}),[it,lt]=t({memoKey:"securityPatch",supportedPlatforms:["android"],getter:()=>e.getSecurityPatch(),syncGetter:()=>e.getSecurityPatchSync(),defaultValue:"unknown"}),[ut,ct]=t({memoKey:"codeName",supportedPlatforms:["android"],getter:()=>e.getCodename(),syncGetter:()=>e.getCodenameSync(),defaultValue:"unknown"}),[mt,pt]=t({memoKey:"incremental",supportedPlatforms:["android"],getter:()=>e.getIncremental(),syncGetter:()=>e.getIncrementalSync(),defaultValue:"unknown"}),[D,gt]=t({memoKey:"emulator",supportedPlatforms:["android","ios","windows"],getter:()=>e.isEmulator(),syncGetter:()=>e.isEmulatorSync(),defaultValue:!1}),ft=()=>c({defaultValue:!1,supportedPlatforms:["android","ios","windows"],memoKey:"tablet",getter:()=>e.isTablet}),yt=()=>c({defaultValue:!1,supportedPlatforms:["android"],memoKey:"lowRam",getter:()=>e.isLowRamDevice}),St=()=>c({defaultValue:!1,supportedPlatforms:["ios"],memoKey:"zoomed",getter:()=>e.isDisplayZoomed}),[Pt,wt]=t({supportedPlatforms:["android","ios","windows"],getter:()=>e.isPinOrFingerprintSet(),syncGetter:()=>e.isPinOrFingerprintSetSync(),defaultValue:!1});let P;function bt(){if(P===void 0){let o=A(),r=v();P=oe.findIndex(s=>s.brand.toLowerCase()===o.toLowerCase()&&s.model.toLowerCase()===r.toLowerCase())!==-1}return P}let w;function ht(){if(w===void 0){let o=A(),r=v();w=ne.findIndex(s=>s.brand.toLowerCase()===o.toLowerCase()&&s.model.toLowerCase()===r.toLowerCase())!==-1}return w}const[vt,At]=t({supportedPlatforms:["android"],getter:()=>e.hasGms(),syncGetter:()=>e.hasGmsSync(),defaultValue:!1}),[It,Vt]=t({supportedPlatforms:["android"],getter:()=>e.hasHms(),syncGetter:()=>e.hasHmsSync(),defaultValue:!1}),[B,kt]=t({memoKey:"firstInstallTime",supportedPlatforms:["android","ios","windows"],getter:()=>e.getFirstInstallTime(),syncGetter:()=>e.getFirstInstallTimeSync(),defaultValue:-1}),[Ot,Mt]=t({memoKey:"installReferrer",supportedPlatforms:["android","windows","web"],getter:()=>e.getInstallReferrer(),syncGetter:()=>e.getInstallReferrerSync(),defaultValue:"unknown"}),[Lt,Nt]=t({memoKey:"lastUpdateTime",supportedPlatforms:["android"],getter:()=>e.getLastUpdateTime(),syncGetter:()=>e.getLastUpdateTimeSync(),defaultValue:-1}),[Ct,Gt]=t({supportedPlatforms:["android","ios"],getter:()=>e.getCarrier(),syncGetter:()=>e.getCarrierSync(),defaultValue:"unknown"}),[Dt,Bt]=t({memoKey:"totalMemory",supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getTotalMemory(),syncGetter:()=>e.getTotalMemorySync(),defaultValue:-1}),[Ht,Tt]=t({memoKey:"maxMemory",supportedPlatforms:["android","windows","web"],getter:()=>e.getMaxMemory(),syncGetter:()=>e.getMaxMemorySync(),defaultValue:-1}),[H,T]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getTotalDiskCapacity(),syncGetter:()=>e.getTotalDiskCapacitySync(),defaultValue:-1});async function Ft(){return n.Platform.OS==="android"?e.getTotalDiskCapacityOld():n.Platform.OS==="ios"||n.Platform.OS==="windows"||n.Platform.OS==="web"?H():-1}function Kt(){return n.Platform.OS==="android"?e.getTotalDiskCapacityOldSync():n.Platform.OS==="ios"||n.Platform.OS==="windows"||n.Platform.OS==="web"?T():-1}const[F,K]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getFreeDiskStorage(),syncGetter:()=>e.getFreeDiskStorageSync(),defaultValue:-1});async function Et(){return n.Platform.OS==="android"?e.getFreeDiskStorageOld():n.Platform.OS==="ios"||n.Platform.OS==="windows"||n.Platform.OS==="web"?F():-1}function xt(){return n.Platform.OS==="android"?e.getFreeDiskStorageOldSync():n.Platform.OS==="ios"||n.Platform.OS==="windows"||n.Platform.OS==="web"?K():-1}const[I,Rt]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.getBatteryLevel(),syncGetter:()=>e.getBatteryLevelSync(),defaultValue:-1}),[E,Ut]=t({supportedPlatforms:["ios","android","windows","web"],getter:()=>e.getPowerState(),syncGetter:()=>e.getPowerStateSync(),defaultValue:{}}),[_t,qt]=t({supportedPlatforms:["android","ios","windows","web"],getter:()=>e.isBatteryCharging(),syncGetter:()=>e.isBatteryChargingSync(),defaultValue:!1});async function Xt(){return Promise.resolve(x())}function x(){const{height:o,width:r}=n.Dimensions.get("window");return r>=o}const[Wt,Zt]=t({supportedPlatforms:["android","web"],getter:()=>e.isAirplaneMode(),syncGetter:()=>e.isAirplaneModeSync(),defaultValue:!1}),$t=()=>c({memoKey:"deviceType",supportedPlatforms:["android","ios","windows"],defaultValue:"unknown",getter:()=>e.deviceType}),[Qt,jt]=t({memoKey:"_supportedAbis",supportedPlatforms:["android","ios","windows"],getter:()=>e.getSupportedAbis(),syncGetter:()=>e.getSupportedAbisSync(),defaultValue:[]}),[zt,Jt]=t({memoKey:"_supported32BitAbis",supportedPlatforms:["android"],getter:()=>e.getSupported32BitAbis(),syncGetter:()=>e.getSupported32BitAbisSync(),defaultValue:[]}),[Yt,en]=t({memoKey:"_supported64BitAbis",supportedPlatforms:["android"],getter:()=>e.getSupported64BitAbis(),syncGetter:()=>e.getSupported64BitAbisSync(),defaultValue:[]});async function R(o){return n.Platform.OS==="android"?e.hasSystemFeature(o):!1}function tn(o){return n.Platform.OS==="android"?e.hasSystemFeatureSync(o):!1}function nn(o){return n.Platform.OS==="android"?o<.15:o<.2}const[on,rn]=t({supportedPlatforms:["android"],getter:()=>e.getSystemAvailableFeatures(),syncGetter:()=>e.getSystemAvailableFeaturesSync(),defaultValue:[]}),[an,sn]=t({supportedPlatforms:["android","ios","web"],getter:()=>e.isLocationEnabled(),syncGetter:()=>e.isLocationEnabledSync(),defaultValue:!1}),[U,dn]=t({supportedPlatforms:["android","ios"],getter:()=>e.isHeadphonesConnected(),syncGetter:()=>e.isHeadphonesConnectedSync(),defaultValue:!1}),[_,ln]=t({supportedPlatforms:["android","ios"],getter:()=>e.isWiredHeadphonesConnected(),syncGetter:()=>e.isWiredHeadphonesConnectedSync(),defaultValue:!1}),[q,un]=t({supportedPlatforms:["android","ios"],getter:()=>e.isBluetoothHeadphonesConnected(),syncGetter:()=>e.isBluetoothHeadphonesConnectedSync(),defaultValue:!1}),[cn,mn]=t({supportedPlatforms:["windows"],getter:()=>e.isMouseConnected(),syncGetter:()=>e.isMouseConnectedSync(),defaultValue:!1}),[pn,gn]=t({supportedPlatforms:["windows"],getter:()=>e.isKeyboardConnected(),syncGetter:()=>e.isKeyboardConnectedSync(),defaultValue:!1}),[fn,yn]=t({supportedPlatforms:["android"],getter:()=>e.getSupportedMediaTypeList(),syncGetter:()=>e.getSupportedMediaTypeListSync(),defaultValue:[]}),Sn=()=>h({supportedPlatforms:["windows"],getter:()=>e.isTabletMode(),defaultValue:!1}),[Pn,wn]=t({supportedPlatforms:["android","ios"],getter:()=>e.getAvailableLocationProviders(),syncGetter:()=>e.getAvailableLocationProvidersSync(),defaultValue:{}}),[X,bn]=t({supportedPlatforms:["ios"],getter:()=>e.getBrightness(),syncGetter:()=>e.getBrightnessSync(),defaultValue:-1});async function hn(){return n.Platform.OS==="ios"?e.getDeviceToken():"unknown"}const f=new n.NativeEventEmitter(n.NativeModules.RNDeviceInfo);function vn(){const[o,r]=u.useState(null);return u.useEffect(()=>{const s=async()=>{const i=await I();r(i)},a=i=>{r(i)};s();const d=f.addListener("RNDeviceInfo_batteryLevelDidChange",a);return()=>d.remove()},[]),o}function An(){const[o,r]=u.useState(null);return u.useEffect(()=>{(async()=>{const i=await I();nn(i)&&r(i)})();const a=i=>{r(i)},d=f.addListener("RNDeviceInfo_batteryLevelIsLow",a);return()=>d.remove()},[]),o}function In(){const[o,r]=u.useState({});return u.useEffect(()=>{const s=async()=>{const i=await E();r(i)},a=i=>{r(i)};s();const d=f.addListener("RNDeviceInfo_powerStateDidChange",a);return()=>d.remove()},[]),o}function Vn(){return b("RNDeviceInfo_headphoneConnectionDidChange",U,!1)}function kn(){return b("RNDeviceInfo_headphoneWiredConnectionDidChange",_,!1)}function On(){return b("RNDeviceInfo_headphoneBluetoothConnectionDidChange",q,!1)}function Mn(){return p(B,-1)}function Ln(){return p(G,"unknown")}function Nn(o){const r=u.useCallback(()=>R(o),[o]);return p(r,!1)}function Cn(){return p(D,!1)}function Gn(){return p(L,"unknown")}function Dn(){const[o,r]=u.useState(null);return u.useEffect(()=>{const s=async()=>{const i=await X();r(i)},a=i=>{r(i)};s();const d=f.addListener("RNDeviceInfo_brightnessDidChange",a);return()=>d.remove()},[]),o}const l={getAndroidId:ue,getAndroidIdSync:ce,getApiLevel:Ie,getApiLevelSync:Ve,getApplicationName:Le,getAvailableLocationProviders:Pn,getAvailableLocationProvidersSync:wn,getBaseOs:rt,getBaseOsSync:at,getBatteryLevel:I,getBatteryLevelSync:Rt,getBootloader:Ke,getBootloaderSync:Ee,getBrand:A,getBuildId:ve,getBuildIdSync:Ae,getBuildNumber:N,getBundleId:ke,getCarrier:Ct,getCarrierSync:Gt,getCodename:ut,getCodenameSync:ct,getDevice:xe,getDeviceId:Pe,getDeviceName:G,getDeviceNameSync:Ce,getDeviceSync:Re,getDeviceToken:hn,getDeviceType:$t,getDisplay:Ue,getDisplaySync:_e,getFingerprint:qe,getFingerprintSync:Xe,getFirstInstallTime:B,getFirstInstallTimeSync:kt,getFontScale:Te,getFontScaleSync:Fe,getFreeDiskStorage:F,getFreeDiskStorageOld:Et,getFreeDiskStorageSync:K,getFreeDiskStorageOldSync:xt,getHardware:We,getHardwareSync:Ze,getHost:$e,getHostSync:Qe,getHostNames:je,getHostNamesSync:ze,getIncremental:mt,getIncrementalSync:pt,getInstallerPackageName:Oe,getInstallerPackageNameSync:Me,getInstallReferrer:Ot,getInstallReferrerSync:Mt,getInstanceId:se,getInstanceIdSync:de,getIpAddress:me,getIpAddressSync:pe,getLastUpdateTime:Lt,getLastUpdateTimeSync:Nt,getMacAddress:ye,getMacAddressSync:Se,getManufacturer:L,getManufacturerSync:we,getMaxMemory:Ht,getMaxMemorySync:Tt,getModel:v,getPowerState:E,getPowerStateSync:Ut,getPreviewSdkInt:st,getPreviewSdkIntSync:dt,getProduct:Je,getProductSync:Ye,getReadableVersion:Ne,getSecurityPatch:it,getSecurityPatchSync:lt,getSerialNumber:ie,getSerialNumberSync:le,getSystemAvailableFeatures:on,getSystemAvailableFeaturesSync:rn,getSystemName:be,getSystemVersion:he,getTags:et,getTagsSync:tt,getTotalDiskCapacity:H,getTotalDiskCapacityOld:Ft,getTotalDiskCapacitySync:T,getTotalDiskCapacityOldSync:Kt,getTotalMemory:Dt,getTotalMemorySync:Bt,getType:nt,getTypeSync:ot,getUniqueId:M,getUniqueIdSync:re,getUsedMemory:Ge,getUsedMemorySync:De,getUserAgent:Be,getUserAgentSync:He,getVersion:C,getBrightness:X,getBrightnessSync:bn,hasGms:vt,hasGmsSync:At,hasHms:It,hasHmsSync:Vt,hasNotch:bt,hasDynamicIsland:ht,hasSystemFeature:R,hasSystemFeatureSync:tn,isAirplaneMode:Wt,isAirplaneModeSync:Zt,isBatteryCharging:_t,isBatteryChargingSync:qt,isCameraPresent:ge,isCameraPresentSync:fe,isEmulator:D,isEmulatorSync:gt,isHeadphonesConnected:U,isHeadphonesConnectedSync:dn,isWiredHeadphonesConnected:_,isWiredHeadphonesConnectedSync:ln,isBluetoothHeadphonesConnected:q,isBluetoothHeadphonesConnectedSync:un,isLandscape:Xt,isLandscapeSync:x,isLocationEnabled:an,isLocationEnabledSync:sn,isPinOrFingerprintSet:Pt,isPinOrFingerprintSetSync:wt,isMouseConnected:cn,isMouseConnectedSync:mn,isKeyboardConnected:pn,isKeyboardConnectedSync:gn,isTabletMode:Sn,isTablet:ft,isLowRamDevice:yt,isDisplayZoomed:St,supported32BitAbis:zt,supported32BitAbisSync:Jt,supported64BitAbis:Yt,supported64BitAbisSync:en,supportedAbis:Qt,supportedAbisSync:jt,syncUniqueId:ae,useBatteryLevel:vn,useBatteryLevelIsLow:An,useDeviceName:Ln,useFirstInstallTime:Mn,useHasSystemFeature:Nn,useIsEmulator:Cn,usePowerState:In,useManufacturer:Gn,useIsHeadphonesConnected:Vn,useIsWiredHeadphonesConnected:kn,useIsBluetoothHeadphonesConnected:On,useBrightness:Dn,getSupportedMediaTypeList:fn,getSupportedMediaTypeListSync:yn};class Bn{constructor(){}async collect(){let r="";try{r=await l.getUniqueId()}catch{r=`device_${Date.now()}_${ee.v4()}_${n.Platform.OS}`}const s=await l.getApplicationName()||"UnknownApp",a=await l.getVersion()||"0.0.0",d=await l.getBuildNumber()||"0",i=await l.getBundleId()||"unknown.package",g=await l.getBrand(),y=await l.getManufacturer()||"",W=await l.getModel()||"",V=await l.getSystemVersion()||"",Z=await l.getSystemName()||"",$=await l.getDeviceName()||"",k=n.Platform.OS==="android"?await l.getApiLevel():void 0,Q=n.Platform.OS==="android"?await l.getFingerprint?.():void 0,j=n.Platform.OS==="android"?await l.getHardware?.():void 0,z=n.Platform.OS==="android"?await l.getProduct?.():void 0,J=n.Platform.OS==="ios"?Z:void 0,Y=n.Platform.OS==="ios"?$:void 0;return{app:{name:s,version:a,buildNumber:d,packageName:i},device:{id:r,platform:n.Platform.OS,platformVersion:V,model:W,manufacturer:y,brand:g,androidSdk:k?String(k):void 0,androidRelease:n.Platform.OS==="android"?V:void 0,fingerprint:Q,hardware:j,product:z,iosSystemName:J,iosDeviceName:Y}}}async start(r){}}exports.DeviceInfoTrackerNative=Bn;
|
|
2
|
+
//# sourceMappingURL=deviceInfo.native-7hbRYixR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deviceInfo.native-7hbRYixR.cjs","sources":["../node_modules/react-native-device-info/lib/module/internal/asyncHookWrappers.js","../node_modules/react-native-device-info/lib/module/internal/devicesWithDynamicIsland.js","../node_modules/react-native-device-info/lib/module/internal/devicesWithNotch.js","../node_modules/react-native-device-info/lib/module/internal/nativeInterface.js","../node_modules/react-native-device-info/lib/module/internal/supported-platform-info.js","../node_modules/react-native-device-info/lib/module/index.js","../src/adapters/native/deviceInfo.native.ts"],"sourcesContent":["import { useState, useEffect, useMemo } from 'react';\nimport { NativeEventEmitter, NativeModules } from 'react-native';\n\n/**\n * simple hook wrapper for async functions for 'on-mount / componentDidMount' that only need to fired once\n * @param asyncGetter async function that 'gets' something\n * @param initialResult -1 | false | 'unknown'\n */\nexport function useOnMount(asyncGetter, initialResult) {\n const [response, setResponse] = useState({\n loading: true,\n result: initialResult\n });\n useEffect(() => {\n // async function cuz react complains if useEffect's effect param is an async function\n const getAsync = async () => {\n const result = await asyncGetter();\n setResponse({\n loading: false,\n result\n });\n };\n\n getAsync();\n }, [asyncGetter]);\n return response;\n}\nexport const deviceInfoEmitter = new NativeEventEmitter(NativeModules.RNDeviceInfo);\n/**\n * simple hook wrapper for handling events\n * @param eventName\n * @param initialValueAsyncGetter\n * @param defaultValue\n */\n\nexport function useOnEvent(eventName, initialValueAsyncGetter, defaultValue) {\n const {\n loading,\n result: initialResult\n } = useOnMount(initialValueAsyncGetter, defaultValue);\n const [result, setResult] = useState(defaultValue); // sets the result to what the intial value is on mount\n\n useEffect(() => {\n setResult(initialResult);\n }, [initialResult]); // - set up the event listener to set the result\n // - set up the clean up function to remove subscription on unmount\n\n useEffect(() => {\n const subscription = deviceInfoEmitter.addListener(eventName, setResult);\n return () => subscription.remove();\n }, [eventName]); // loading will only be true while getting the inital value. After that, it will always be false, but a new result may occur\n\n return useMemo(() => ({\n loading,\n result\n }), [loading, result]);\n}\n//# sourceMappingURL=asyncHookWrappers.js.map","const devicesWithDynamicIsland = [{\n brand: 'Apple',\n model: 'iPhone 16'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 15'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro Max'\n}];\nexport default devicesWithDynamicIsland;\n//# sourceMappingURL=devicesWithDynamicIsland.js.map","const devicesWithNotch = [{\n brand: 'Apple',\n model: 'iPhone 16'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 16 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 15'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 15 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 14'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Plus'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 14 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 mini'\n}, {\n brand: 'Apple',\n model: 'iPhone 13'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 13 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 mini'\n}, {\n brand: 'Apple',\n model: 'iPhone 12'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 12 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone 11'\n}, {\n brand: 'Apple',\n model: 'iPhone 11 Pro'\n}, {\n brand: 'Apple',\n model: 'iPhone 11 Pro Max'\n}, {\n brand: 'Apple',\n model: 'iPhone X'\n}, {\n brand: 'Apple',\n model: 'iPhone XS'\n}, {\n brand: 'Apple',\n model: 'iPhone XS Max'\n}, {\n brand: 'Apple',\n model: 'iPhone XR'\n}, {\n brand: 'Asus',\n model: 'ZenFone 5'\n}, {\n brand: 'Asus',\n model: 'ZenFone 5z'\n}, {\n brand: 'google',\n model: 'Pixel 3 XL'\n}, {\n brand: 'google',\n model: 'Pixel 4a'\n}, {\n brand: 'Huawei',\n model: 'P20'\n}, {\n brand: 'Huawei',\n model: 'P20 Plus'\n}, {\n brand: 'Huawei',\n model: 'P20 Lite'\n}, {\n brand: 'Huawei',\n model: 'ANE-LX1'\n}, {\n brand: 'Huawei',\n model: 'INE-LX1'\n}, {\n brand: 'Huawei',\n model: 'POT-LX1'\n}, {\n brand: 'Huawei',\n model: 'Honor Play'\n}, {\n brand: 'Huawei',\n model: 'Honor 10'\n}, {\n brand: 'Huawei',\n model: 'Mate 20 Lite'\n}, {\n brand: 'Huawei',\n model: 'Mate 20 Pro'\n}, {\n brand: 'Huawei',\n model: 'ELE-L29' // P30\n\n}, {\n brand: 'Huawei',\n model: 'P30 Lite'\n}, {\n brand: 'Huawei',\n model: 'P30 Pro'\n}, {\n brand: 'Huawei',\n model: 'JNY-LX1' // P40 Lite\n\n}, {\n brand: 'Huawei',\n model: 'Nova 3'\n}, {\n brand: 'Huawei',\n model: 'Nova 3i'\n}, {\n brand: 'Leagoo',\n model: 'S9'\n}, {\n brand: 'LG',\n model: 'G7'\n}, {\n brand: 'LG',\n model: 'G7 ThinQ'\n}, {\n brand: 'LG',\n model: 'G7+ ThinQ'\n}, {\n brand: 'LG',\n model: 'LM-Q910' //G7 One\n\n}, {\n brand: 'LG',\n model: 'LM-G710' //G7 ThinQ\n\n}, {\n brand: 'LG',\n model: 'LM-V405' //V40 ThinQ\n\n}, {\n brand: 'Motorola',\n model: 'Moto g7 Play'\n}, {\n brand: 'Motorola',\n model: 'Moto g7 Power'\n}, {\n brand: 'Motorola',\n model: 'One'\n}, {\n brand: 'Motorola',\n model: 'Motorola One Vision'\n}, {\n brand: 'Nokia',\n model: '5.1 Plus'\n}, {\n brand: 'Nokia',\n model: 'Nokia 6.1 Plus'\n}, {\n brand: 'Nokia',\n model: '7.1'\n}, {\n brand: 'Nokia',\n model: '8.1'\n}, {\n brand: 'OnePlus',\n model: '6'\n}, {\n brand: 'OnePlus',\n model: 'A6003'\n}, {\n brand: 'ONEPLUS',\n model: 'A6000'\n}, {\n brand: 'OnePlus',\n model: 'OnePlus A6003'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6010'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6013'\n}, {\n brand: 'OnePlus',\n model: 'ONEPLUS A6000'\n}, {\n brand: 'Oppo',\n model: 'R15'\n}, {\n brand: 'Oppo',\n model: 'R15 Pro'\n}, {\n brand: 'Oppo',\n model: 'F7'\n}, {\n brand: 'Oukitel',\n model: 'U18'\n}, {\n brand: 'Redmi',\n model: 'M2004J19C'\n}, {\n brand: 'Sharp',\n model: 'Aquos S3'\n}, {\n brand: 'Vivo',\n model: 'V9'\n}, {\n brand: 'Vivo',\n model: 'X21'\n}, {\n brand: 'Vivo',\n model: 'X21 UD'\n}, {\n brand: 'xiaomi',\n model: 'MI 8'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 Explorer Edition'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 SE'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 UD'\n}, {\n brand: 'xiaomi',\n model: 'MI 8 Lite'\n}, {\n brand: 'xiaomi',\n model: 'Mi 9'\n}, {\n brand: 'xiaomi',\n model: 'POCO F1'\n}, {\n brand: 'xiaomi',\n model: 'POCOPHONE F1'\n}, {\n brand: 'xiaomi',\n model: 'Redmi 6 Pro'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 7'\n}, {\n brand: 'xiaomi',\n model: 'Redmi 7'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 8'\n}, {\n brand: 'xiaomi',\n model: 'Redmi Note 8 Pro'\n}, {\n brand: 'xiaomi',\n model: 'Mi A2 Lite'\n}, {\n brand: 'Blackview',\n model: 'A30'\n}, {\n brand: 'Samsung',\n model: 'SM-A202F'\n}, {\n brand: 'Samsung',\n model: 'SM-A217F'\n}, {\n brand: 'Samsung',\n model: 'SM-A715F'\n}];\nexport default devicesWithNotch;\n//# sourceMappingURL=devicesWithNotch.js.map","import { Platform, NativeModules } from 'react-native';\nlet RNDeviceInfo = NativeModules.RNDeviceInfo; // @ts-ignore\n\nif (Platform.OS === 'web' || Platform.OS === 'dom') {\n RNDeviceInfo = require('../web');\n}\n\nif (!RNDeviceInfo) {\n // Produce an error if we don't have the native module\n if (Platform.OS === 'android' || Platform.OS === 'ios' || Platform.OS === 'web' || // @ts-ignore\n Platform.OS === 'dom') {\n throw new Error(`react-native-device-info: NativeModule.RNDeviceInfo is null. To fix this issue try these steps:\n • For react-native <= 0.59: Run \\`react-native link react-native-device-info\\` in the project root.\n • Rebuild and re-run the app.\n • If you are using CocoaPods on iOS, run \\`pod install\\` in the \\`ios\\` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.\n If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-device-info/react-native-device-info`);\n }\n}\n\nexport default RNDeviceInfo;\n//# sourceMappingURL=nativeInterface.js.map","import { Platform } from 'react-native';\n// centralized memo object\nlet memo = {};\nexport function clearMemo() {\n memo = {};\n}\n/**\n * function returns the proper getter based current platform X supported platforms\n * @param supportedPlatforms array of supported platforms (OS)\n * @param getter desired function used to get info\n * @param defaultGetter getter that returns a default value if desired getter is not supported by current platform\n */\n\nfunction getSupportedFunction(supportedPlatforms, getter, defaultGetter) {\n let supportedMap = {};\n supportedPlatforms.filter(key => Platform.OS == key).forEach(key => supportedMap[key] = getter);\n return Platform.select({ ...supportedMap,\n default: defaultGetter\n });\n}\n/**\n * function used to get desired info synchronously — with optional memoization\n * @param param0\n */\n\n\nexport function getSupportedPlatformInfoSync({\n getter,\n supportedPlatforms,\n defaultValue,\n memoKey\n}) {\n if (memoKey && memo[memoKey] != undefined) {\n return memo[memoKey];\n } else {\n const output = getSupportedFunction(supportedPlatforms, getter, () => defaultValue)();\n\n if (memoKey) {\n memo[memoKey] = output;\n }\n\n return output;\n }\n}\n/**\n * function used to get desired info asynchronously — with optional memoization\n * @param param0\n */\n\nexport async function getSupportedPlatformInfoAsync({\n getter,\n supportedPlatforms,\n defaultValue,\n memoKey\n}) {\n if (memoKey && memo[memoKey] != undefined) {\n return memo[memoKey];\n } else {\n const output = await getSupportedFunction(supportedPlatforms, getter, () => Promise.resolve(defaultValue))();\n\n if (memoKey) {\n memo[memoKey] = output;\n }\n\n return output;\n }\n}\n/**\n * function that returns array of getter functions [async, sync]\n * @param param0\n */\n\nexport function getSupportedPlatformInfoFunctions({\n syncGetter,\n ...asyncParams\n}) {\n return [() => getSupportedPlatformInfoAsync(asyncParams), () => getSupportedPlatformInfoSync({ ...asyncParams,\n getter: syncGetter\n })];\n}\n//# sourceMappingURL=supported-platform-info.js.map","import { useCallback, useEffect, useState } from 'react';\nimport { Dimensions, NativeEventEmitter, NativeModules, Platform } from 'react-native';\nimport { useOnEvent, useOnMount } from './internal/asyncHookWrappers';\nimport devicesWithDynamicIsland from \"./internal/devicesWithDynamicIsland\";\nimport devicesWithNotch from './internal/devicesWithNotch';\nimport RNDeviceInfo from './internal/nativeInterface';\nimport { getSupportedPlatformInfoAsync, getSupportedPlatformInfoFunctions, getSupportedPlatformInfoSync } from './internal/supported-platform-info';\nexport const [getUniqueId, getUniqueIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'uniqueId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getUniqueId(),\n syncGetter: () => RNDeviceInfo.getUniqueIdSync(),\n defaultValue: 'unknown'\n});\nlet uniqueId;\nexport async function syncUniqueId() {\n if (Platform.OS === 'ios') {\n uniqueId = await RNDeviceInfo.syncUniqueId();\n } else {\n uniqueId = await getUniqueId();\n }\n\n return uniqueId;\n}\nexport const [getInstanceId, getInstanceIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'instanceId',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getInstanceId(),\n syncGetter: () => RNDeviceInfo.getInstanceIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getSerialNumber, getSerialNumberSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'serialNumber',\n supportedPlatforms: ['android', 'windows'],\n getter: () => RNDeviceInfo.getSerialNumber(),\n syncGetter: () => RNDeviceInfo.getSerialNumberSync(),\n defaultValue: 'unknown'\n});\nexport const [getAndroidId, getAndroidIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'androidId',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getAndroidId(),\n syncGetter: () => RNDeviceInfo.getAndroidIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getIpAddress, getIpAddressSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getIpAddress(),\n syncGetter: () => RNDeviceInfo.getIpAddressSync(),\n defaultValue: 'unknown'\n});\nexport const [isCameraPresent, isCameraPresentSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.isCameraPresent(),\n syncGetter: () => RNDeviceInfo.isCameraPresentSync(),\n defaultValue: false\n});\nexport async function getMacAddress() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getMacAddress();\n } else if (Platform.OS === 'ios') {\n return '02:00:00:00:00:00';\n }\n\n return 'unknown';\n}\nexport function getMacAddressSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getMacAddressSync();\n } else if (Platform.OS === 'ios') {\n return '02:00:00:00:00:00';\n }\n\n return 'unknown';\n}\nexport const getDeviceId = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n memoKey: 'deviceId',\n getter: () => RNDeviceInfo.deviceId,\n supportedPlatforms: ['android', 'ios', 'windows']\n});\nexport const [getManufacturer, getManufacturerSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'manufacturer',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => Platform.OS == 'ios' ? Promise.resolve('Apple') : RNDeviceInfo.getSystemManufacturer(),\n syncGetter: () => Platform.OS == 'ios' ? 'Apple' : RNDeviceInfo.getSystemManufacturerSync(),\n defaultValue: 'unknown'\n});\nexport const getModel = () => getSupportedPlatformInfoSync({\n memoKey: 'model',\n defaultValue: 'unknown',\n supportedPlatforms: ['ios', 'android', 'windows'],\n getter: () => RNDeviceInfo.model\n});\nexport const getBrand = () => getSupportedPlatformInfoSync({\n memoKey: 'brand',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.brand\n});\nexport const getSystemName = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n supportedPlatforms: ['ios', 'android', 'windows'],\n memoKey: 'systemName',\n getter: () => Platform.select({\n ios: RNDeviceInfo.systemName,\n android: 'Android',\n windows: 'Windows',\n default: 'unknown'\n })\n});\nexport const getSystemVersion = () => getSupportedPlatformInfoSync({\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.systemVersion,\n supportedPlatforms: ['android', 'ios', 'windows'],\n memoKey: 'systemVersion'\n});\nexport const [getBuildId, getBuildIdSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'buildId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getBuildId(),\n syncGetter: () => RNDeviceInfo.getBuildIdSync(),\n defaultValue: 'unknown'\n});\nexport const [getApiLevel, getApiLevelSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'apiLevel',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getApiLevel(),\n syncGetter: () => RNDeviceInfo.getApiLevelSync(),\n defaultValue: -1\n});\nexport const getBundleId = () => getSupportedPlatformInfoSync({\n memoKey: 'bundleId',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.bundleId\n});\nexport const [getInstallerPackageName, getInstallerPackageNameSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'installerPackageName',\n supportedPlatforms: ['android', 'windows', 'ios'],\n getter: () => RNDeviceInfo.getInstallerPackageName(),\n syncGetter: () => RNDeviceInfo.getInstallerPackageNameSync(),\n defaultValue: 'unknown'\n});\nexport const getApplicationName = () => getSupportedPlatformInfoSync({\n memoKey: 'appName',\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.appName,\n supportedPlatforms: ['android', 'ios', 'windows']\n});\nexport const getBuildNumber = () => getSupportedPlatformInfoSync({\n memoKey: 'buildNumber',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.buildNumber,\n defaultValue: 'unknown'\n});\nexport const getVersion = () => getSupportedPlatformInfoSync({\n memoKey: 'version',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.appVersion\n});\nexport function getReadableVersion() {\n return getVersion() + '.' + getBuildNumber();\n}\nexport const [getDeviceName, getDeviceNameSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getDeviceName(),\n syncGetter: () => RNDeviceInfo.getDeviceNameSync(),\n defaultValue: 'unknown'\n});\nexport const [getUsedMemory, getUsedMemorySync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getUsedMemory(),\n syncGetter: () => RNDeviceInfo.getUsedMemorySync(),\n defaultValue: -1\n});\nexport const getUserAgent = () => getSupportedPlatformInfoAsync({\n memoKey: 'userAgent',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'ios', 'web'],\n getter: () => RNDeviceInfo.getUserAgent()\n});\nexport const getUserAgentSync = () => getSupportedPlatformInfoSync({\n memoKey: 'userAgentSync',\n defaultValue: 'unknown',\n supportedPlatforms: ['android', 'web'],\n getter: () => RNDeviceInfo.getUserAgentSync()\n});\nexport const [getFontScale, getFontScaleSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getFontScale(),\n syncGetter: () => RNDeviceInfo.getFontScaleSync(),\n defaultValue: -1\n});\nexport const [getBootloader, getBootloaderSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'bootloader',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getBootloader(),\n syncGetter: () => RNDeviceInfo.getBootloaderSync(),\n defaultValue: 'unknown'\n});\nexport const [getDevice, getDeviceSync] = getSupportedPlatformInfoFunctions({\n getter: () => RNDeviceInfo.getDevice(),\n syncGetter: () => RNDeviceInfo.getDeviceSync(),\n defaultValue: 'unknown',\n memoKey: 'device',\n supportedPlatforms: ['android']\n});\nexport const [getDisplay, getDisplaySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'display',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getDisplay(),\n syncGetter: () => RNDeviceInfo.getDisplaySync(),\n defaultValue: 'unknown'\n});\nexport const [getFingerprint, getFingerprintSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'fingerprint',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getFingerprint(),\n syncGetter: () => RNDeviceInfo.getFingerprintSync(),\n defaultValue: 'unknown'\n});\nexport const [getHardware, getHardwareSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'hardware',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getHardware(),\n syncGetter: () => RNDeviceInfo.getHardwareSync(),\n defaultValue: 'unknown'\n});\nexport const [getHost, getHostSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'host',\n supportedPlatforms: ['android', 'windows'],\n getter: () => RNDeviceInfo.getHost(),\n syncGetter: () => RNDeviceInfo.getHostSync(),\n defaultValue: 'unknown'\n});\nexport const [getHostNames, getHostNamesSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'hostNames',\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.getHostNames(),\n syncGetter: () => RNDeviceInfo.getHostNamesSync(),\n defaultValue: []\n});\nexport const [getProduct, getProductSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'product',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getProduct(),\n syncGetter: () => RNDeviceInfo.getProductSync(),\n defaultValue: 'unknown'\n});\nexport const [getTags, getTagsSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'tags',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getTags(),\n syncGetter: () => RNDeviceInfo.getTagsSync(),\n defaultValue: 'unknown'\n});\nexport const [getType, getTypeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'type',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getType(),\n syncGetter: () => RNDeviceInfo.getTypeSync(),\n defaultValue: 'unknown'\n});\nexport const [getBaseOs, getBaseOsSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'baseOs',\n supportedPlatforms: ['android', 'web', 'windows'],\n getter: () => RNDeviceInfo.getBaseOs(),\n syncGetter: () => RNDeviceInfo.getBaseOsSync(),\n defaultValue: 'unknown'\n});\nexport const [getPreviewSdkInt, getPreviewSdkIntSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'previewSdkInt',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getPreviewSdkInt(),\n syncGetter: () => RNDeviceInfo.getPreviewSdkIntSync(),\n defaultValue: -1\n});\nexport const [getSecurityPatch, getSecurityPatchSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'securityPatch',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSecurityPatch(),\n syncGetter: () => RNDeviceInfo.getSecurityPatchSync(),\n defaultValue: 'unknown'\n});\nexport const [getCodename, getCodenameSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'codeName',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getCodename(),\n syncGetter: () => RNDeviceInfo.getCodenameSync(),\n defaultValue: 'unknown'\n});\nexport const [getIncremental, getIncrementalSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'incremental',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getIncremental(),\n syncGetter: () => RNDeviceInfo.getIncrementalSync(),\n defaultValue: 'unknown'\n});\nexport const [isEmulator, isEmulatorSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'emulator',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.isEmulator(),\n syncGetter: () => RNDeviceInfo.isEmulatorSync(),\n defaultValue: false\n});\nexport const isTablet = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['android', 'ios', 'windows'],\n memoKey: 'tablet',\n getter: () => RNDeviceInfo.isTablet\n});\nexport const isLowRamDevice = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['android'],\n memoKey: 'lowRam',\n getter: () => RNDeviceInfo.isLowRamDevice\n});\nexport const isDisplayZoomed = () => getSupportedPlatformInfoSync({\n defaultValue: false,\n supportedPlatforms: ['ios'],\n memoKey: 'zoomed',\n getter: () => RNDeviceInfo.isDisplayZoomed\n});\nexport const [isPinOrFingerprintSet, isPinOrFingerprintSetSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.isPinOrFingerprintSet(),\n syncGetter: () => RNDeviceInfo.isPinOrFingerprintSetSync(),\n defaultValue: false\n});\nlet notch;\nexport function hasNotch() {\n if (notch === undefined) {\n let _brand = getBrand();\n\n let _model = getModel();\n\n notch = devicesWithNotch.findIndex(item => item.brand.toLowerCase() === _brand.toLowerCase() && item.model.toLowerCase() === _model.toLowerCase()) !== -1;\n }\n\n return notch;\n}\nlet dynamicIsland;\nexport function hasDynamicIsland() {\n if (dynamicIsland === undefined) {\n let _brand = getBrand();\n\n let _model = getModel();\n\n dynamicIsland = devicesWithDynamicIsland.findIndex(item => item.brand.toLowerCase() === _brand.toLowerCase() && item.model.toLowerCase() === _model.toLowerCase()) !== -1;\n }\n\n return dynamicIsland;\n}\nexport const [hasGms, hasGmsSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.hasGms(),\n syncGetter: () => RNDeviceInfo.hasGmsSync(),\n defaultValue: false\n});\nexport const [hasHms, hasHmsSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.hasHms(),\n syncGetter: () => RNDeviceInfo.hasHmsSync(),\n defaultValue: false\n});\nexport const [getFirstInstallTime, getFirstInstallTimeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'firstInstallTime',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getFirstInstallTime(),\n syncGetter: () => RNDeviceInfo.getFirstInstallTimeSync(),\n defaultValue: -1\n});\nexport const [getInstallReferrer, getInstallReferrerSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'installReferrer',\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getInstallReferrer(),\n syncGetter: () => RNDeviceInfo.getInstallReferrerSync(),\n defaultValue: 'unknown'\n});\nexport const [getLastUpdateTime, getLastUpdateTimeSync] = getSupportedPlatformInfoFunctions({\n memoKey: 'lastUpdateTime',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getLastUpdateTime(),\n syncGetter: () => RNDeviceInfo.getLastUpdateTimeSync(),\n defaultValue: -1\n});\nexport const [getCarrier, getCarrierSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.getCarrier(),\n syncGetter: () => RNDeviceInfo.getCarrierSync(),\n defaultValue: 'unknown'\n});\nexport const [getTotalMemory, getTotalMemorySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'totalMemory',\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getTotalMemory(),\n syncGetter: () => RNDeviceInfo.getTotalMemorySync(),\n defaultValue: -1\n});\nexport const [getMaxMemory, getMaxMemorySync] = getSupportedPlatformInfoFunctions({\n memoKey: 'maxMemory',\n supportedPlatforms: ['android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getMaxMemory(),\n syncGetter: () => RNDeviceInfo.getMaxMemorySync(),\n defaultValue: -1\n});\nexport const [getTotalDiskCapacity, getTotalDiskCapacitySync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getTotalDiskCapacity(),\n syncGetter: () => RNDeviceInfo.getTotalDiskCapacitySync(),\n defaultValue: -1\n});\nexport async function getTotalDiskCapacityOld() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getTotalDiskCapacityOld();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getTotalDiskCapacity();\n }\n\n return -1;\n}\nexport function getTotalDiskCapacityOldSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getTotalDiskCapacityOldSync();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getTotalDiskCapacitySync();\n }\n\n return -1;\n}\nexport const [getFreeDiskStorage, getFreeDiskStorageSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getFreeDiskStorage(),\n syncGetter: () => RNDeviceInfo.getFreeDiskStorageSync(),\n defaultValue: -1\n});\nexport async function getFreeDiskStorageOld() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getFreeDiskStorageOld();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getFreeDiskStorage();\n }\n\n return -1;\n}\nexport function getFreeDiskStorageOldSync() {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.getFreeDiskStorageOldSync();\n }\n\n if (Platform.OS === 'ios' || Platform.OS === 'windows' || Platform.OS === 'web') {\n return getFreeDiskStorageSync();\n }\n\n return -1;\n}\nexport const [getBatteryLevel, getBatteryLevelSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.getBatteryLevel(),\n syncGetter: () => RNDeviceInfo.getBatteryLevelSync(),\n defaultValue: -1\n});\nexport const [getPowerState, getPowerStateSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['ios', 'android', 'windows', 'web'],\n getter: () => RNDeviceInfo.getPowerState(),\n syncGetter: () => RNDeviceInfo.getPowerStateSync(),\n defaultValue: {}\n});\nexport const [isBatteryCharging, isBatteryChargingSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'windows', 'web'],\n getter: () => RNDeviceInfo.isBatteryCharging(),\n syncGetter: () => RNDeviceInfo.isBatteryChargingSync(),\n defaultValue: false\n});\nexport async function isLandscape() {\n return Promise.resolve(isLandscapeSync());\n}\nexport function isLandscapeSync() {\n const {\n height,\n width\n } = Dimensions.get('window');\n return width >= height;\n}\nexport const [isAirplaneMode, isAirplaneModeSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'web'],\n getter: () => RNDeviceInfo.isAirplaneMode(),\n syncGetter: () => RNDeviceInfo.isAirplaneModeSync(),\n defaultValue: false\n});\nexport const getDeviceType = () => {\n return getSupportedPlatformInfoSync({\n memoKey: 'deviceType',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.deviceType\n });\n};\nexport const getDeviceTypeSync = () => {\n return getSupportedPlatformInfoSync({\n memoKey: 'deviceType',\n supportedPlatforms: ['android', 'ios', 'windows'],\n defaultValue: 'unknown',\n getter: () => RNDeviceInfo.deviceType\n });\n};\nexport const [supportedAbis, supportedAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supportedAbis',\n supportedPlatforms: ['android', 'ios', 'windows'],\n getter: () => RNDeviceInfo.getSupportedAbis(),\n syncGetter: () => RNDeviceInfo.getSupportedAbisSync(),\n defaultValue: []\n});\nexport const [supported32BitAbis, supported32BitAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supported32BitAbis',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupported32BitAbis(),\n syncGetter: () => RNDeviceInfo.getSupported32BitAbisSync(),\n defaultValue: []\n});\nexport const [supported64BitAbis, supported64BitAbisSync] = getSupportedPlatformInfoFunctions({\n memoKey: '_supported64BitAbis',\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupported64BitAbis(),\n syncGetter: () => RNDeviceInfo.getSupported64BitAbisSync(),\n defaultValue: []\n});\nexport async function hasSystemFeature(feature) {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.hasSystemFeature(feature);\n }\n\n return false;\n}\nexport function hasSystemFeatureSync(feature) {\n if (Platform.OS === 'android') {\n return RNDeviceInfo.hasSystemFeatureSync(feature);\n }\n\n return false;\n}\nexport function isLowBatteryLevel(level) {\n if (Platform.OS === 'android') {\n return level < 0.15;\n }\n\n return level < 0.2;\n}\nexport const [getSystemAvailableFeatures, getSystemAvailableFeaturesSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSystemAvailableFeatures(),\n syncGetter: () => RNDeviceInfo.getSystemAvailableFeaturesSync(),\n defaultValue: []\n});\nexport const [isLocationEnabled, isLocationEnabledSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios', 'web'],\n getter: () => RNDeviceInfo.isLocationEnabled(),\n syncGetter: () => RNDeviceInfo.isLocationEnabledSync(),\n defaultValue: false\n});\nexport const [isHeadphonesConnected, isHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isWiredHeadphonesConnected, isWiredHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isWiredHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isWiredHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isBluetoothHeadphonesConnected, isBluetoothHeadphonesConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.isBluetoothHeadphonesConnected(),\n syncGetter: () => RNDeviceInfo.isBluetoothHeadphonesConnectedSync(),\n defaultValue: false\n});\nexport const [isMouseConnected, isMouseConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isMouseConnected(),\n syncGetter: () => RNDeviceInfo.isMouseConnectedSync(),\n defaultValue: false\n});\nexport const [isKeyboardConnected, isKeyboardConnectedSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isKeyboardConnected(),\n syncGetter: () => RNDeviceInfo.isKeyboardConnectedSync(),\n defaultValue: false\n});\nexport const [getSupportedMediaTypeList, getSupportedMediaTypeListSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android'],\n getter: () => RNDeviceInfo.getSupportedMediaTypeList(),\n syncGetter: () => RNDeviceInfo.getSupportedMediaTypeListSync(),\n defaultValue: []\n});\nexport const isTabletMode = () => getSupportedPlatformInfoAsync({\n supportedPlatforms: ['windows'],\n getter: () => RNDeviceInfo.isTabletMode(),\n defaultValue: false\n});\nexport const [getAvailableLocationProviders, getAvailableLocationProvidersSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['android', 'ios'],\n getter: () => RNDeviceInfo.getAvailableLocationProviders(),\n syncGetter: () => RNDeviceInfo.getAvailableLocationProvidersSync(),\n defaultValue: {}\n});\nexport const [getBrightness, getBrightnessSync] = getSupportedPlatformInfoFunctions({\n supportedPlatforms: ['ios'],\n getter: () => RNDeviceInfo.getBrightness(),\n syncGetter: () => RNDeviceInfo.getBrightnessSync(),\n defaultValue: -1\n});\nexport async function getDeviceToken() {\n if (Platform.OS === 'ios') {\n return RNDeviceInfo.getDeviceToken();\n }\n\n return 'unknown';\n}\nconst deviceInfoEmitter = new NativeEventEmitter(NativeModules.RNDeviceInfo);\nexport function useBatteryLevel() {\n const [batteryLevel, setBatteryLevel] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBatteryLevel();\n setBatteryLevel(initialValue);\n };\n\n const onChange = level => {\n setBatteryLevel(level);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_batteryLevelDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return batteryLevel;\n}\nexport function useBatteryLevelIsLow() {\n const [batteryLevelIsLow, setBatteryLevelIsLow] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBatteryLevel();\n isLowBatteryLevel(initialValue) && setBatteryLevelIsLow(initialValue);\n };\n\n setInitialValue();\n\n const onChange = level => {\n setBatteryLevelIsLow(level);\n };\n\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_batteryLevelIsLow', onChange);\n return () => subscription.remove();\n }, []);\n return batteryLevelIsLow;\n}\nexport function usePowerState() {\n const [powerState, setPowerState] = useState({});\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getPowerState();\n setPowerState(initialValue);\n };\n\n const onChange = state => {\n setPowerState(state);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_powerStateDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return powerState;\n}\nexport function useIsHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneConnectionDidChange', isHeadphonesConnected, false);\n}\nexport function useIsWiredHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneWiredConnectionDidChange', isWiredHeadphonesConnected, false);\n}\nexport function useIsBluetoothHeadphonesConnected() {\n return useOnEvent('RNDeviceInfo_headphoneBluetoothConnectionDidChange', isBluetoothHeadphonesConnected, false);\n}\nexport function useFirstInstallTime() {\n return useOnMount(getFirstInstallTime, -1);\n}\nexport function useDeviceName() {\n return useOnMount(getDeviceName, 'unknown');\n}\nexport function useHasSystemFeature(feature) {\n const asyncGetter = useCallback(() => hasSystemFeature(feature), [feature]);\n return useOnMount(asyncGetter, false);\n}\nexport function useIsEmulator() {\n return useOnMount(isEmulator, false);\n}\nexport function useManufacturer() {\n return useOnMount(getManufacturer, 'unknown');\n}\nexport function useBrightness() {\n const [brightness, setBrightness] = useState(null);\n useEffect(() => {\n const setInitialValue = async () => {\n const initialValue = await getBrightness();\n setBrightness(initialValue);\n };\n\n const onChange = value => {\n setBrightness(value);\n };\n\n setInitialValue();\n const subscription = deviceInfoEmitter.addListener('RNDeviceInfo_brightnessDidChange', onChange);\n return () => subscription.remove();\n }, []);\n return brightness;\n}\nconst DeviceInfo = {\n getAndroidId,\n getAndroidIdSync,\n getApiLevel,\n getApiLevelSync,\n getApplicationName,\n getAvailableLocationProviders,\n getAvailableLocationProvidersSync,\n getBaseOs,\n getBaseOsSync,\n getBatteryLevel,\n getBatteryLevelSync,\n getBootloader,\n getBootloaderSync,\n getBrand,\n getBuildId,\n getBuildIdSync,\n getBuildNumber,\n getBundleId,\n getCarrier,\n getCarrierSync,\n getCodename,\n getCodenameSync,\n getDevice,\n getDeviceId,\n getDeviceName,\n getDeviceNameSync,\n getDeviceSync,\n getDeviceToken,\n getDeviceType,\n getDisplay,\n getDisplaySync,\n getFingerprint,\n getFingerprintSync,\n getFirstInstallTime,\n getFirstInstallTimeSync,\n getFontScale,\n getFontScaleSync,\n getFreeDiskStorage,\n getFreeDiskStorageOld,\n getFreeDiskStorageSync,\n getFreeDiskStorageOldSync,\n getHardware,\n getHardwareSync,\n getHost,\n getHostSync,\n getHostNames,\n getHostNamesSync,\n getIncremental,\n getIncrementalSync,\n getInstallerPackageName,\n getInstallerPackageNameSync,\n getInstallReferrer,\n getInstallReferrerSync,\n getInstanceId,\n getInstanceIdSync,\n getIpAddress,\n getIpAddressSync,\n getLastUpdateTime,\n getLastUpdateTimeSync,\n getMacAddress,\n getMacAddressSync,\n getManufacturer,\n getManufacturerSync,\n getMaxMemory,\n getMaxMemorySync,\n getModel,\n getPowerState,\n getPowerStateSync,\n getPreviewSdkInt,\n getPreviewSdkIntSync,\n getProduct,\n getProductSync,\n getReadableVersion,\n getSecurityPatch,\n getSecurityPatchSync,\n getSerialNumber,\n getSerialNumberSync,\n getSystemAvailableFeatures,\n getSystemAvailableFeaturesSync,\n getSystemName,\n getSystemVersion,\n getTags,\n getTagsSync,\n getTotalDiskCapacity,\n getTotalDiskCapacityOld,\n getTotalDiskCapacitySync,\n getTotalDiskCapacityOldSync,\n getTotalMemory,\n getTotalMemorySync,\n getType,\n getTypeSync,\n getUniqueId,\n getUniqueIdSync,\n getUsedMemory,\n getUsedMemorySync,\n getUserAgent,\n getUserAgentSync,\n getVersion,\n getBrightness,\n getBrightnessSync,\n hasGms,\n hasGmsSync,\n hasHms,\n hasHmsSync,\n hasNotch,\n hasDynamicIsland,\n hasSystemFeature,\n hasSystemFeatureSync,\n isAirplaneMode,\n isAirplaneModeSync,\n isBatteryCharging,\n isBatteryChargingSync,\n isCameraPresent,\n isCameraPresentSync,\n isEmulator,\n isEmulatorSync,\n isHeadphonesConnected,\n isHeadphonesConnectedSync,\n isWiredHeadphonesConnected,\n isWiredHeadphonesConnectedSync,\n isBluetoothHeadphonesConnected,\n isBluetoothHeadphonesConnectedSync,\n isLandscape,\n isLandscapeSync,\n isLocationEnabled,\n isLocationEnabledSync,\n isPinOrFingerprintSet,\n isPinOrFingerprintSetSync,\n isMouseConnected,\n isMouseConnectedSync,\n isKeyboardConnected,\n isKeyboardConnectedSync,\n isTabletMode,\n isTablet,\n isLowRamDevice,\n isDisplayZoomed,\n supported32BitAbis,\n supported32BitAbisSync,\n supported64BitAbis,\n supported64BitAbisSync,\n supportedAbis,\n supportedAbisSync,\n syncUniqueId,\n useBatteryLevel,\n useBatteryLevelIsLow,\n useDeviceName,\n useFirstInstallTime,\n useHasSystemFeature,\n useIsEmulator,\n usePowerState,\n useManufacturer,\n useIsHeadphonesConnected,\n useIsWiredHeadphonesConnected,\n useIsBluetoothHeadphonesConnected,\n useBrightness,\n getSupportedMediaTypeList,\n getSupportedMediaTypeListSync\n};\nexport default DeviceInfo;\n//# sourceMappingURL=index.js.map","// adapters/native/deviceInfoNative.native.ts\nimport { Platform } from \"react-native\";\nimport DeviceInfoLib from \"react-native-device-info\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { Telemetry } from \"../../core/telemetry\";\nimport { DeviceInfo } from \"../../core/telemetry\";\n\nexport class DeviceInfoTrackerNative {\n // private telemetry: Telemetry;\n\n // constructor(telemetry?: Telemetry) {\n // this.telemetry = telemetry || new Telemetry();\n // }\n\n constructor() {\n }\n\n async collect(): Promise<DeviceInfo> {\n // 🔹 Device ID\n let uniqueId = \"\";\n try {\n uniqueId = await DeviceInfoLib.getUniqueId();\n } catch {\n uniqueId = `device_${Date.now()}_${uuidv4()}_${Platform.OS}`;\n }\n\n // 🔹 App metadata\n const appName = (await DeviceInfoLib.getApplicationName()) || \"UnknownApp\";\n const appVersion = (await DeviceInfoLib.getVersion()) || \"0.0.0\";\n const buildNumber = (await DeviceInfoLib.getBuildNumber()) || \"0\";\n const packageName = (await DeviceInfoLib.getBundleId()) || \"unknown.package\";\n\n // 🔹 Common Device metadata\n const brand = await DeviceInfoLib.getBrand();\n const manufacturer = (await DeviceInfoLib.getManufacturer()) || \"\";\n const model = (await DeviceInfoLib.getModel()) || \"\";\n const systemVersion = (await DeviceInfoLib.getSystemVersion()) || \"\";\n const systemName = (await DeviceInfoLib.getSystemName()) || \"\"; // iOS: \"iOS\", Android: \"Android\"\n const deviceName = (await DeviceInfoLib.getDeviceName()) || \"\";\n\n // 🔹 Android-only fields\n const sdk = Platform.OS === \"android\" ? await DeviceInfoLib.getApiLevel() : undefined;\n const fingerprint = Platform.OS === \"android\" ? await DeviceInfoLib.getFingerprint?.() : undefined;\n const hardware = Platform.OS === \"android\" ? await DeviceInfoLib.getHardware?.() : undefined;\n const product = Platform.OS === \"android\" ? await DeviceInfoLib.getProduct?.() : undefined;\n\n // 🔹 iOS-only fields\n const iosSystemName = Platform.OS === \"ios\" ? systemName : undefined;\n const iosDeviceName = Platform.OS === \"ios\" ? deviceName : undefined;\n\n const info: DeviceInfo = {\n app: {\n name: appName,\n version: appVersion,\n buildNumber,\n packageName,\n },\n device: {\n id: uniqueId,\n platform: Platform.OS,\n platformVersion: systemVersion,\n model,\n manufacturer,\n brand,\n\n // Android fields\n androidSdk: sdk ? String(sdk) : undefined,\n androidRelease: Platform.OS === \"android\" ? systemVersion : undefined,\n fingerprint,\n hardware,\n product,\n\n // iOS fields\n iosSystemName,\n iosDeviceName,\n },\n };\n\n return info;\n }\n\n /**\n * Context-only adapter. collect() feeds the Context block on every event;\n * start() emits no standalone device_info event (ADR-0002).\n */\n async start(_telemetry: Telemetry): Promise<void> {\n // no-op: device metadata rides as attributes on every event\n }\n}\n"],"names":["useOnMount","asyncGetter","initialResult","response","setResponse","useState","useEffect","result","deviceInfoEmitter","NativeEventEmitter","NativeModules","useOnEvent","eventName","initialValueAsyncGetter","defaultValue","loading","setResult","subscription","useMemo","devicesWithDynamicIsland","devicesWithNotch","RNDeviceInfo","Platform","memo","getSupportedFunction","supportedPlatforms","getter","defaultGetter","supportedMap","key","getSupportedPlatformInfoSync","memoKey","output","getSupportedPlatformInfoAsync","getSupportedPlatformInfoFunctions","syncGetter","asyncParams","getUniqueId","getUniqueIdSync","uniqueId","syncUniqueId","getInstanceId","getInstanceIdSync","getSerialNumber","getSerialNumberSync","getAndroidId","getAndroidIdSync","getIpAddress","getIpAddressSync","isCameraPresent","isCameraPresentSync","getMacAddress","getMacAddressSync","getDeviceId","getManufacturer","getManufacturerSync","getModel","getBrand","getSystemName","getSystemVersion","getBuildId","getBuildIdSync","getApiLevel","getApiLevelSync","getBundleId","getInstallerPackageName","getInstallerPackageNameSync","getApplicationName","getBuildNumber","getVersion","getReadableVersion","getDeviceName","getDeviceNameSync","getUsedMemory","getUsedMemorySync","getUserAgent","getUserAgentSync","getFontScale","getFontScaleSync","getBootloader","getBootloaderSync","getDevice","getDeviceSync","getDisplay","getDisplaySync","getFingerprint","getFingerprintSync","getHardware","getHardwareSync","getHost","getHostSync","getHostNames","getHostNamesSync","getProduct","getProductSync","getTags","getTagsSync","getType","getTypeSync","getBaseOs","getBaseOsSync","getPreviewSdkInt","getPreviewSdkIntSync","getSecurityPatch","getSecurityPatchSync","getCodename","getCodenameSync","getIncremental","getIncrementalSync","isEmulator","isEmulatorSync","isTablet","isLowRamDevice","isDisplayZoomed","isPinOrFingerprintSet","isPinOrFingerprintSetSync","notch","hasNotch","_brand","_model","item","dynamicIsland","hasDynamicIsland","hasGms","hasGmsSync","hasHms","hasHmsSync","getFirstInstallTime","getFirstInstallTimeSync","getInstallReferrer","getInstallReferrerSync","getLastUpdateTime","getLastUpdateTimeSync","getCarrier","getCarrierSync","getTotalMemory","getTotalMemorySync","getMaxMemory","getMaxMemorySync","getTotalDiskCapacity","getTotalDiskCapacitySync","getTotalDiskCapacityOld","getTotalDiskCapacityOldSync","getFreeDiskStorage","getFreeDiskStorageSync","getFreeDiskStorageOld","getFreeDiskStorageOldSync","getBatteryLevel","getBatteryLevelSync","getPowerState","getPowerStateSync","isBatteryCharging","isBatteryChargingSync","isLandscape","isLandscapeSync","height","width","Dimensions","isAirplaneMode","isAirplaneModeSync","getDeviceType","supportedAbis","supportedAbisSync","supported32BitAbis","supported32BitAbisSync","supported64BitAbis","supported64BitAbisSync","hasSystemFeature","feature","hasSystemFeatureSync","isLowBatteryLevel","level","getSystemAvailableFeatures","getSystemAvailableFeaturesSync","isLocationEnabled","isLocationEnabledSync","isHeadphonesConnected","isHeadphonesConnectedSync","isWiredHeadphonesConnected","isWiredHeadphonesConnectedSync","isBluetoothHeadphonesConnected","isBluetoothHeadphonesConnectedSync","isMouseConnected","isMouseConnectedSync","isKeyboardConnected","isKeyboardConnectedSync","getSupportedMediaTypeList","getSupportedMediaTypeListSync","isTabletMode","getAvailableLocationProviders","getAvailableLocationProvidersSync","getBrightness","getBrightnessSync","getDeviceToken","useBatteryLevel","batteryLevel","setBatteryLevel","setInitialValue","initialValue","onChange","useBatteryLevelIsLow","batteryLevelIsLow","setBatteryLevelIsLow","usePowerState","powerState","setPowerState","state","useIsHeadphonesConnected","useIsWiredHeadphonesConnected","useIsBluetoothHeadphonesConnected","useFirstInstallTime","useDeviceName","useHasSystemFeature","useCallback","useIsEmulator","useManufacturer","useBrightness","brightness","setBrightness","value","DeviceInfo","DeviceInfoTrackerNative","DeviceInfoLib","uuidv4","appName","appVersion","buildNumber","packageName","brand","manufacturer","model","systemVersion","systemName","deviceName","sdk","fingerprint","hardware","product","iosSystemName","iosDeviceName","_telemetry"],"mappings":"mKAQO,SAASA,EAAWC,EAAaC,EAAe,CACrD,KAAM,CAACC,EAAUC,CAAW,EAAIC,WAAS,CACvC,QAAS,GACT,OAAQH,CACZ,CAAG,EACDI,OAAAA,EAAAA,UAAU,IAAM,EAEG,SAAY,CAC3B,MAAMC,EAAS,MAAMN,EAAW,EAChCG,EAAY,CACV,QAAS,GACT,OAAAG,CACR,CAAO,CACH,GAEQ,CACV,EAAG,CAACN,CAAW,CAAC,EACTE,CACT,CACO,MAAMK,GAAoB,IAAIC,EAAAA,mBAAmBC,EAAAA,cAAc,YAAY,EAQ3E,SAASC,EAAWC,EAAWC,EAAyBC,EAAc,CAC3E,KAAM,CACJ,QAAAC,EACA,OAAQb,CACZ,EAAMF,EAAWa,EAAyBC,CAAY,EAC9C,CAACP,EAAQS,CAAS,EAAIX,EAAAA,SAASS,CAAY,EAEjDR,OAAAA,EAAAA,UAAU,IAAM,CACdU,EAAUd,CAAa,CACzB,EAAG,CAACA,CAAa,CAAC,EAGlBI,EAAAA,UAAU,IAAM,CACd,MAAMW,EAAeT,GAAkB,YAAYI,EAAWI,CAAS,EACvE,MAAO,IAAMC,EAAa,OAAM,CAClC,EAAG,CAACL,CAAS,CAAC,EAEPM,EAAAA,QAAQ,KAAO,CACpB,QAAAH,EACA,OAAAR,CACJ,GAAM,CAACQ,EAASR,CAAM,CAAC,CACvB,CCxDA,MAAMY,GAA2B,CAAC,CAChC,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,CAAC,EC9BKC,GAAmB,CAAC,CACxB,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,mBACT,EAAG,CACD,MAAO,QACP,MAAO,UACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,eACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,OACP,MAAO,WACT,EAAG,CACD,MAAO,OACP,MAAO,YACT,EAAG,CACD,MAAO,SACP,MAAO,YACT,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,KACT,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,YACT,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,cACT,EAAG,CACD,MAAO,SACP,MAAO,aACT,EAAG,CACD,MAAO,SACP,MAAO,SAET,EAAG,CACD,MAAO,SACP,MAAO,UACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,SAET,EAAG,CACD,MAAO,SACP,MAAO,QACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,IACT,EAAG,CACD,MAAO,KACP,MAAO,IACT,EAAG,CACD,MAAO,KACP,MAAO,UACT,EAAG,CACD,MAAO,KACP,MAAO,WACT,EAAG,CACD,MAAO,KACP,MAAO,SAET,EAAG,CACD,MAAO,KACP,MAAO,SAET,EAAG,CACD,MAAO,KACP,MAAO,SAET,EAAG,CACD,MAAO,WACP,MAAO,cACT,EAAG,CACD,MAAO,WACP,MAAO,eACT,EAAG,CACD,MAAO,WACP,MAAO,KACT,EAAG,CACD,MAAO,WACP,MAAO,qBACT,EAAG,CACD,MAAO,QACP,MAAO,UACT,EAAG,CACD,MAAO,QACP,MAAO,gBACT,EAAG,CACD,MAAO,QACP,MAAO,KACT,EAAG,CACD,MAAO,QACP,MAAO,KACT,EAAG,CACD,MAAO,UACP,MAAO,GACT,EAAG,CACD,MAAO,UACP,MAAO,OACT,EAAG,CACD,MAAO,UACP,MAAO,OACT,EAAG,CACD,MAAO,UACP,MAAO,eACT,EAAG,CACD,MAAO,UACP,MAAO,eACT,EAAG,CACD,MAAO,UACP,MAAO,eACT,EAAG,CACD,MAAO,UACP,MAAO,eACT,EAAG,CACD,MAAO,OACP,MAAO,KACT,EAAG,CACD,MAAO,OACP,MAAO,SACT,EAAG,CACD,MAAO,OACP,MAAO,IACT,EAAG,CACD,MAAO,UACP,MAAO,KACT,EAAG,CACD,MAAO,QACP,MAAO,WACT,EAAG,CACD,MAAO,QACP,MAAO,UACT,EAAG,CACD,MAAO,OACP,MAAO,IACT,EAAG,CACD,MAAO,OACP,MAAO,KACT,EAAG,CACD,MAAO,OACP,MAAO,QACT,EAAG,CACD,MAAO,SACP,MAAO,MACT,EAAG,CACD,MAAO,SACP,MAAO,uBACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,SACT,EAAG,CACD,MAAO,SACP,MAAO,WACT,EAAG,CACD,MAAO,SACP,MAAO,MA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","x_google_ignoreList":[0,1,2,3,4,5]}
|