@onairos/react-native 3.6.2 → 3.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/lib/commonjs/api/index.js +1 -1
  2. package/lib/commonjs/components/BodyText.js +1 -1
  3. package/lib/commonjs/components/BrandMark.js +1 -1
  4. package/lib/commonjs/components/CodeInput.js +1 -1
  5. package/lib/commonjs/components/EmailInput.js +1 -1
  6. package/lib/commonjs/components/GoogleButton.js +1 -1
  7. package/lib/commonjs/components/HeadingGroup.js +1 -1
  8. package/lib/commonjs/components/LLMDataInputModal.js +1 -1
  9. package/lib/commonjs/components/ModalHeader.js +1 -1
  10. package/lib/commonjs/components/ModalSheet.js +1 -1
  11. package/lib/commonjs/components/Onairos.js +1 -1
  12. package/lib/commonjs/components/OnairosButton.js +1 -1
  13. package/lib/commonjs/components/OnairosSignInButton.js +1 -1
  14. package/lib/commonjs/components/Overlay.js +1 -1
  15. package/lib/commonjs/components/PersonaImage.js +1 -1
  16. package/lib/commonjs/components/PersonaLoadingScreen.js +1 -1
  17. package/lib/commonjs/components/PersonalizationConsentScreen.js +1 -1
  18. package/lib/commonjs/components/PinCreationScreen.js +1 -1
  19. package/lib/commonjs/components/PinInput.js +1 -1
  20. package/lib/commonjs/components/PlatformConnectorsStep.js +1 -1
  21. package/lib/commonjs/components/PlatformList.js +1 -1
  22. package/lib/commonjs/components/PlatformToggle.js +1 -1
  23. package/lib/commonjs/components/PrimaryButton.js +1 -1
  24. package/lib/commonjs/components/SignInMatchAnimation.js +1 -1
  25. package/lib/commonjs/components/SignInStep.js +1 -1
  26. package/lib/commonjs/components/UniversalOnboarding.js +1 -1
  27. package/lib/commonjs/components/VerificationStep.js +1 -1
  28. package/lib/commonjs/components/WelcomeScreen.js +1 -1
  29. package/lib/commonjs/components/icons/Basicproficon.js +1 -1
  30. package/lib/commonjs/components/icons/Basicprofile.js +1 -1
  31. package/lib/commonjs/components/icons/Checkbox.js +1 -1
  32. package/lib/commonjs/components/icons/Checkmark.js +1 -1
  33. package/lib/commonjs/components/icons/Contentanalysis.js +1 -1
  34. package/lib/commonjs/components/icons/Contenticon.js +1 -1
  35. package/lib/commonjs/components/icons/EnochE.js +1 -1
  36. package/lib/commonjs/components/icons/Personalityicon.js +1 -1
  37. package/lib/commonjs/components/icons/Personalityprofile.js +1 -1
  38. package/lib/commonjs/components/icons/Personalitytraits.js +1 -1
  39. package/lib/commonjs/components/icons/Userpreferences.js +1 -1
  40. package/lib/commonjs/components/icons/index.js +1 -1
  41. package/lib/commonjs/components/onboarding/OAuthWebView.js +1 -1
  42. package/lib/commonjs/components/onboarding/OnboardingHeader.js +1 -1
  43. package/lib/commonjs/components/onboarding/PinInput.js +1 -1
  44. package/lib/commonjs/components/onboarding/PlatformConnector.js +1 -1
  45. package/lib/commonjs/config/api.js +1 -1
  46. package/lib/commonjs/constants/index.js +1 -1
  47. package/lib/commonjs/context/AuthContext.js +1 -1
  48. package/lib/commonjs/hooks/useConnectedAccounts.js +1 -1
  49. package/lib/commonjs/hooks/useConnections.js +1 -1
  50. package/lib/commonjs/hooks/useCredentials.js +1 -1
  51. package/lib/commonjs/hooks/useUserConnections.js +1 -1
  52. package/lib/commonjs/index.js +1 -1
  53. package/lib/commonjs/services/apiClient.js +1 -1
  54. package/lib/commonjs/services/apiKeyService.js +1 -1
  55. package/lib/commonjs/services/authService.js +1 -1
  56. package/lib/commonjs/services/biometricPinService.js +1 -1
  57. package/lib/commonjs/services/chatGPTConversationExtractor.js +1 -1
  58. package/lib/commonjs/services/chatGPTConversationService.js +1 -1
  59. package/lib/commonjs/services/claudeConversationExtractor.js +1 -1
  60. package/lib/commonjs/services/claudeConversationService.js +1 -1
  61. package/lib/commonjs/services/connectedAccountsService.js +1 -1
  62. package/lib/commonjs/services/googleAuthService.js +1 -1
  63. package/lib/commonjs/services/hingeDataExtractor.js +1 -1
  64. package/lib/commonjs/services/hingeDataService.js +1 -1
  65. package/lib/commonjs/services/imageCompressionService.js +1 -1
  66. package/lib/commonjs/services/instagramDataExtractor.js +1 -1
  67. package/lib/commonjs/services/instagramDataService.js +1 -1
  68. package/lib/commonjs/services/jwtStorageService.js +1 -1
  69. package/lib/commonjs/services/linkedinDOMExtractor.js +1 -1
  70. package/lib/commonjs/services/linkedinProfileService.js +1 -1
  71. package/lib/commonjs/services/linkedinScrapingService.js +1 -1
  72. package/lib/commonjs/services/llmDataStorage.js +1 -1
  73. package/lib/commonjs/services/mobileTrainingService.js +1 -1
  74. package/lib/commonjs/services/oauthService.js +1 -1
  75. package/lib/commonjs/services/pinEncryptionService.js +1 -1
  76. package/lib/commonjs/services/pinStorageUtils.js +1 -1
  77. package/lib/commonjs/services/platformAuthService.js +1 -1
  78. package/lib/commonjs/services/sephoraDataExtractor.js +1 -1
  79. package/lib/commonjs/services/sephoraDataService.js +1 -1
  80. package/lib/commonjs/services/storageService.js +1 -1
  81. package/lib/commonjs/services/telegramDataExtractor.js +1 -1
  82. package/lib/commonjs/services/telegramDataService.js +1 -1
  83. package/lib/commonjs/services/trainingApiHelpers.js +1 -1
  84. package/lib/commonjs/services/userConnectionsService.js +1 -1
  85. package/lib/commonjs/services/youtubeMigrationService.js +1 -1
  86. package/lib/commonjs/theme/index.js +1 -1
  87. package/lib/commonjs/types/index.js +1 -1
  88. package/lib/commonjs/types.js +1 -1
  89. package/lib/commonjs/utils/Portal.js +1 -1
  90. package/lib/commonjs/utils/api.js +1 -1
  91. package/lib/commonjs/utils/assetRegistry.js +1 -1
  92. package/lib/commonjs/utils/auth.js +1 -1
  93. package/lib/commonjs/utils/connectorTests.js +1 -1
  94. package/lib/commonjs/utils/crypto.js +1 -1
  95. package/lib/commonjs/utils/debugHelper.js +1 -1
  96. package/lib/commonjs/utils/encryption.js +1 -1
  97. package/lib/commonjs/utils/eventUtils.js +1 -1
  98. package/lib/commonjs/utils/haptics.js +1 -1
  99. package/lib/commonjs/utils/imagePreloader.js +1 -1
  100. package/lib/commonjs/utils/networkDiagnostics.js +1 -1
  101. package/lib/commonjs/utils/onairosApi.js +1 -1
  102. package/lib/commonjs/utils/programmaticFlow.js +1 -1
  103. package/lib/commonjs/utils/retryHelper.js +1 -1
  104. package/lib/commonjs/utils/secureStorage.js +1 -1
  105. package/lib/commonjs/utils/webviewScripts/chatgpt.js +1 -1
  106. package/lib/commonjs/utils/webviewScripts/claude.js +1 -1
  107. package/lib/commonjs/utils/webviewScripts/hinge.js +1 -1
  108. package/lib/commonjs/utils/webviewScripts/index.js +1 -1
  109. package/lib/commonjs/utils/webviewScripts/instagram.js +1 -1
  110. package/lib/commonjs/utils/webviewScripts/linkedin.js +1 -1
  111. package/lib/commonjs/utils/webviewScripts/sephora.js +1 -1
  112. package/lib/commonjs/utils/webviewScripts/telegram.js +1 -1
  113. package/lib/module/api/index.js +1 -1
  114. package/lib/module/components/BodyText.js +1 -1
  115. package/lib/module/components/BrandMark.js +1 -1
  116. package/lib/module/components/CodeInput.js +1 -1
  117. package/lib/module/components/EmailInput.js +1 -1
  118. package/lib/module/components/GoogleButton.js +1 -1
  119. package/lib/module/components/HeadingGroup.js +1 -1
  120. package/lib/module/components/LLMDataInputModal.js +1 -1
  121. package/lib/module/components/ModalHeader.js +1 -1
  122. package/lib/module/components/ModalSheet.js +1 -1
  123. package/lib/module/components/Onairos.js +1 -1
  124. package/lib/module/components/OnairosButton.js +1 -1
  125. package/lib/module/components/OnairosSignInButton.js +1 -1
  126. package/lib/module/components/Overlay.js +1 -1
  127. package/lib/module/components/PersonaImage.js +1 -1
  128. package/lib/module/components/PersonaLoadingScreen.js +1 -1
  129. package/lib/module/components/PersonalizationConsentScreen.js +1 -1
  130. package/lib/module/components/PinCreationScreen.js +1 -1
  131. package/lib/module/components/PinInput.js +1 -1
  132. package/lib/module/components/PlatformConnectorsStep.js +1 -1
  133. package/lib/module/components/PlatformList.js +1 -1
  134. package/lib/module/components/PlatformToggle.js +1 -1
  135. package/lib/module/components/PrimaryButton.js +1 -1
  136. package/lib/module/components/SignInMatchAnimation.js +1 -1
  137. package/lib/module/components/SignInStep.js +1 -1
  138. package/lib/module/components/UniversalOnboarding.js +1 -1
  139. package/lib/module/components/VerificationStep.js +1 -1
  140. package/lib/module/components/WelcomeScreen.js +1 -1
  141. package/lib/module/components/icons/Basicproficon.js +1 -1
  142. package/lib/module/components/icons/Basicprofile.js +1 -1
  143. package/lib/module/components/icons/Checkbox.js +1 -1
  144. package/lib/module/components/icons/Checkmark.js +1 -1
  145. package/lib/module/components/icons/Contentanalysis.js +1 -1
  146. package/lib/module/components/icons/Contenticon.js +1 -1
  147. package/lib/module/components/icons/EnochE.js +1 -1
  148. package/lib/module/components/icons/Personalityicon.js +1 -1
  149. package/lib/module/components/icons/Personalityprofile.js +1 -1
  150. package/lib/module/components/icons/Personalitytraits.js +1 -1
  151. package/lib/module/components/icons/Userpreferences.js +1 -1
  152. package/lib/module/components/onboarding/OAuthWebView.js +1 -1
  153. package/lib/module/components/onboarding/OnboardingHeader.js +1 -1
  154. package/lib/module/components/onboarding/PinInput.js +1 -1
  155. package/lib/module/components/onboarding/PlatformConnector.js +1 -1
  156. package/lib/module/config/api.js +1 -1
  157. package/lib/module/constants/index.js +1 -1
  158. package/lib/module/context/AuthContext.js +1 -1
  159. package/lib/module/hooks/useConnectedAccounts.js +1 -1
  160. package/lib/module/hooks/useConnections.js +1 -1
  161. package/lib/module/hooks/useCredentials.js +1 -1
  162. package/lib/module/hooks/useUserConnections.js +1 -1
  163. package/lib/module/index.js +1 -1
  164. package/lib/module/services/apiClient.js +1 -1
  165. package/lib/module/services/apiKeyService.js +1 -1
  166. package/lib/module/services/authService.js +1 -1
  167. package/lib/module/services/biometricPinService.js +1 -1
  168. package/lib/module/services/chatGPTConversationExtractor.js +1 -1
  169. package/lib/module/services/chatGPTConversationService.js +1 -1
  170. package/lib/module/services/claudeConversationExtractor.js +1 -1
  171. package/lib/module/services/claudeConversationService.js +1 -1
  172. package/lib/module/services/connectedAccountsService.js +1 -1
  173. package/lib/module/services/googleAuthService.js +1 -1
  174. package/lib/module/services/hingeDataExtractor.js +1 -1
  175. package/lib/module/services/hingeDataService.js +1 -1
  176. package/lib/module/services/imageCompressionService.js +1 -1
  177. package/lib/module/services/instagramDataExtractor.js +1 -1
  178. package/lib/module/services/instagramDataService.js +1 -1
  179. package/lib/module/services/jwtStorageService.js +1 -1
  180. package/lib/module/services/linkedinDOMExtractor.js +1 -1
  181. package/lib/module/services/linkedinProfileService.js +1 -1
  182. package/lib/module/services/linkedinScrapingService.js +1 -1
  183. package/lib/module/services/llmDataStorage.js +1 -1
  184. package/lib/module/services/mobileTrainingService.js +1 -1
  185. package/lib/module/services/oauthService.js +1 -1
  186. package/lib/module/services/pinEncryptionService.js +1 -1
  187. package/lib/module/services/pinStorageUtils.js +1 -1
  188. package/lib/module/services/platformAuthService.js +1 -1
  189. package/lib/module/services/sephoraDataExtractor.js +1 -1
  190. package/lib/module/services/sephoraDataService.js +1 -1
  191. package/lib/module/services/storageService.js +1 -1
  192. package/lib/module/services/telegramDataExtractor.js +1 -1
  193. package/lib/module/services/telegramDataService.js +1 -1
  194. package/lib/module/services/trainingApiHelpers.js +1 -1
  195. package/lib/module/services/userConnectionsService.js +1 -1
  196. package/lib/module/services/youtubeMigrationService.js +1 -1
  197. package/lib/module/theme/index.js +1 -1
  198. package/lib/module/types.js +1 -1
  199. package/lib/module/utils/Portal.js +1 -1
  200. package/lib/module/utils/api.js +1 -1
  201. package/lib/module/utils/assetRegistry.js +1 -1
  202. package/lib/module/utils/auth.js +1 -1
  203. package/lib/module/utils/connectorTests.js +1 -1
  204. package/lib/module/utils/crypto.js +1 -1
  205. package/lib/module/utils/debugHelper.js +1 -1
  206. package/lib/module/utils/encryption.js +1 -1
  207. package/lib/module/utils/eventUtils.js +1 -1
  208. package/lib/module/utils/haptics.js +1 -1
  209. package/lib/module/utils/networkDiagnostics.js +1 -1
  210. package/lib/module/utils/onairosApi.js +1 -1
  211. package/lib/module/utils/programmaticFlow.js +1 -1
  212. package/lib/module/utils/retryHelper.js +1 -1
  213. package/lib/module/utils/secureStorage.js +1 -1
  214. package/lib/module/utils/webviewScripts/chatgpt.js +1 -1
  215. package/lib/module/utils/webviewScripts/claude.js +1 -1
  216. package/lib/module/utils/webviewScripts/hinge.js +1 -1
  217. package/lib/module/utils/webviewScripts/index.js +1 -1
  218. package/lib/module/utils/webviewScripts/instagram.js +1 -1
  219. package/lib/module/utils/webviewScripts/linkedin.js +1 -1
  220. package/lib/module/utils/webviewScripts/sephora.js +1 -1
  221. package/lib/module/utils/webviewScripts/telegram.js +1 -1
  222. package/package.json +1 -1
@@ -6,4 +6,4 @@ var __ONAIROS_REQ_REGISTRY__ = [
6
6
  require("../services/apiKeyService")
7
7
  ];
8
8
  function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
9
- Object[_0xd1d7(0x0)](exports,'__esModule',{'value':!![]}),exports[_0xd1d7(0x1)]=exports[_0xd1d7(0x2)]=exports[_0xd1d7(0x3)]=exports[_0xd1d7(0x4)]=exports[_0xd1d7(0x5)]=exports[_0xd1d7(0x6)]=exports[_0xd1d7(0x7)]=exports[_0xd1d7(0x8)]=exports['createAccount']=exports[_0xd1d7(0x9)]=exports[_0xd1d7(0xa)]=void 0x0;var _netinfo=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_debugHelper=__ONAIROS_REQ_FUNC__(0x1),_apiKeyService=__ONAIROS_REQ_FUNC__(0x2);function _interopRequireDefault(_0x3748c4){return _0x3748c4&&_0x3748c4[_0xd1d7(0xb)]?_0x3748c4:{'default':_0x3748c4};}class ApiError extends Error{constructor(_0x40ccc4,_0x1580f9,_0x4b0d8a,_0x557c76){const _0x252cfd={'gyWJD':_0xd1d7(0xa)},_0x1f46d8='0|2|4|3|1'['split']('|');let _0x2e0572=0x0;while(!![]){switch(_0x1f46d8[_0x2e0572++]){case'0':super(_0x40ccc4);continue;case'1':this[_0xd1d7(0xc)]=_0x252cfd[_0xd1d7(0xd)];continue;case'2':this['type']=_0x1580f9;continue;case'3':this[_0xd1d7(0xe)]=_0x557c76;continue;case'4':this[_0xd1d7(0xf)]=_0x4b0d8a;continue;}break;}}}function _0xd1d7(_0x5f162e,_0xd1d730){_0x5f162e=_0x5f162e-0x0;const _0x2b08d9=_0x5f16();let _0xacb230=_0x2b08d9[_0x5f162e];return _0xacb230;}exports[_0xd1d7(0xa)]=ApiError;const checkNetworkConnection=async()=>{const _0x4dbd57=await _netinfo[_0xd1d7(0x10)][_0xd1d7(0x11)]();return _0x4dbd57[_0xd1d7(0x12)]===!![];},makeUserApiRequest=async(_0x46c447,_0x36562a,_0xab2f5e={})=>{const _0xec0ea2={'wDXup':function(_0x564abb){return _0x564abb();},'NOxaa':_0xd1d7(0x13),'LmRVU':'auth_error','avgoV':_0xd1d7(0x14),'cvZdC':function(_0x366bf1,_0x35ceb1){return _0x366bf1||_0x35ceb1;},'hRote':_0xd1d7(0x15),'BhuJE':_0xd1d7(0x16),'scplM':_0xd1d7(0x17),'olnuG':function(_0x179944,_0x3dcf48){return _0x179944===_0x3dcf48;},'xZtrB':function(_0x40aec2,_0x23f29f){return _0x40aec2>=_0x23f29f;},'UyZIr':_0xd1d7(0x18),'izIXn':_0xd1d7(0x19),'FIQYz':function(_0x5706ec,_0x154695){return _0x5706ec===_0x154695;},'tqjvB':function(_0x2da355,_0xbd41f7){return _0x2da355 instanceof _0xbd41f7;},'LblkU':_0xd1d7(0x1a),'Bnarg':_0xd1d7(0x1b),'vzynJ':_0xd1d7(0x1c),'NxIYw':_0xd1d7(0x1d),'xrwOI':_0xd1d7(0x1e),'Yfqio':_0xd1d7(0x1f)},{data:_0x2c4be2,headers:headers={},debug:debug=![]}=_0xab2f5e;try{const _0x21d48c=await _0xec0ea2['wDXup'](checkNetworkConnection);if(!_0x21d48c)throw new ApiError(_0xd1d7(0x20),_0xd1d7(0x21));if(!(0x0,_apiKeyService[_0xd1d7(0x22)])())throw new ApiError(_0xec0ea2[_0xd1d7(0x23)],_0xec0ea2[_0xd1d7(0x24)]);debug&&(0x0,_debugHelper[_0xd1d7(0x25)])(_0xec0ea2[_0xd1d7(0x26)],{'endpoint':_0x46c447,'method':_0x36562a,'headers':{...headers,'Authorization':_0xd1d7(0x27)},'data':_0xec0ea2[_0xd1d7(0x28)](_0x2c4be2,null)});const _0x419d7f=await(0x0,_apiKeyService[_0xd1d7(0x29)])(_0x46c447,{'method':_0x36562a,'headers':headers,..._0x2c4be2?{'body':JSON['stringify'](_0x2c4be2)}:{}}),_0x23ab5c=await _0x419d7f[_0xd1d7(0x2a)]();debug&&(_0xec0ea2[_0xd1d7(0x2b)]===_0xec0ea2[_0xd1d7(0x2c)]?(0x0,_0x2e470d[_0xd1d7(0x25)])(_0xd1d7(0x14),{'endpoint':_0x382ad4,'method':_0x1e44b4,'headers':{..._0x193c58,'Authorization':_0xd1d7(0x27)},'data':_0x31e934||null}):(0x0,_debugHelper['logDebug'])(_0xec0ea2[_0xd1d7(0x2d)],{'status':_0x419d7f['status'],'data':_0x23ab5c}));if(!_0x419d7f['ok']){var _0x2dd3a1,_0x4d2fbc,_0x387e13;const _0x2c7d7f=_0xec0ea2[_0xd1d7(0x2e)](_0x419d7f[_0xd1d7(0x2f)],0x191)||_0x419d7f[_0xd1d7(0x2f)]===0x193?_0xec0ea2['LmRVU']:_0xec0ea2['olnuG'](_0x419d7f[_0xd1d7(0x2f)],0x190)?_0xd1d7(0x30):_0xec0ea2[_0xd1d7(0x31)](_0x419d7f[_0xd1d7(0x2f)],0x1f4)?_0xec0ea2[_0xd1d7(0x32)]:'unknown_error';throw new ApiError((_0xec0ea2[_0xd1d7(0x2e)](_0x2dd3a1=_0x23ab5c['error'],null)||_0xec0ea2[_0xd1d7(0x2e)](_0x2dd3a1,void 0x0)?void 0x0:_0x2dd3a1[_0xd1d7(0x33)])||_0xec0ea2[_0xd1d7(0x34)],_0x2c7d7f,(_0x4d2fbc=_0x23ab5c[_0xd1d7(0x35)])===null||_0xec0ea2[_0xd1d7(0x2e)](_0x4d2fbc,void 0x0)?void 0x0:_0x4d2fbc[_0xd1d7(0xf)],_0xec0ea2[_0xd1d7(0x2e)](_0x387e13=_0x23ab5c[_0xd1d7(0x35)],null)||_0xec0ea2[_0xd1d7(0x36)](_0x387e13,void 0x0)?void 0x0:_0x387e13[_0xd1d7(0xe)]);}return _0x23ab5c;}catch(_0x316d4e){if(_0xec0ea2[_0xd1d7(0x37)](_0x316d4e,ApiError))throw _0x316d4e;if(_0x316d4e[_0xd1d7(0xc)]===_0xec0ea2['LblkU'])throw new ApiError(_0xd1d7(0x38),_0xec0ea2['Bnarg']);debug&&(0x0,_debugHelper[_0xd1d7(0x25)])(_0xec0ea2[_0xd1d7(0x39)],{'endpoint':_0x46c447,'method':_0x36562a,'error':_0x316d4e['message']||_0xec0ea2[_0xd1d7(0x3a)]});throw new ApiError(_0x316d4e[_0xd1d7(0x33)]||_0xec0ea2['xrwOI'],_0xec0ea2[_0xd1d7(0x3b)]);}},makeDeveloperApiRequest=async(_0x975a5a,_0xf57fb3,_0x4fd178={})=>{const _0x46b4c1={'uSKuP':function(_0x19b31c,_0x119a0c,_0x3637ce,_0xdb5a5a){return _0x19b31c(_0x119a0c,_0x3637ce,_0xdb5a5a);},'vTTxq':function(_0x5df929){return _0x5df929();},'Tqmxf':'No\x20network\x20connection\x20available','wCtER':_0xd1d7(0x27),'LvSci':function(_0x47ac20,_0x1db11c){return _0x47ac20||_0x1db11c;},'vMkjs':'Developer\x20API\x20Response','UEHjB':function(_0x4a6eec,_0x5a9a4b){return _0x4a6eec===_0x5a9a4b;},'qaKOl':function(_0x26663b,_0x565f3b){return _0x26663b>=_0x565f3b;},'mQqmi':_0xd1d7(0x18),'Gxxmw':_0xd1d7(0x1f),'TYyFr':function(_0x18e68f,_0x1f58b9){return _0x18e68f===_0x1f58b9;},'FUaAe':function(_0x519b96,_0x5fafba){return _0x519b96===_0x5fafba;},'xTTZV':function(_0x40455e,_0x16b4ec){return _0x40455e===_0x16b4ec;},'YKLsq':function(_0x49b04f,_0x39dfa3){return _0x49b04f instanceof _0x39dfa3;},'SYvYk':_0xd1d7(0x3c),'ylSCQ':_0xd1d7(0x1a),'TDCcP':_0xd1d7(0x38),'WGqqq':_0xd1d7(0x1b),'gHZQe':_0xd1d7(0x1d),'XxToT':_0xd1d7(0x1e)},{data:_0x2c043f,headers:headers={},debug:debug=![]}=_0x4fd178;try{const _0x5c03e6=await _0x46b4c1[_0xd1d7(0x3d)](checkNetworkConnection);if(!_0x5c03e6)throw new ApiError(_0x46b4c1['Tqmxf'],_0xd1d7(0x21));debug&&(0x0,_debugHelper['logDebug'])(_0xd1d7(0x3e),{'endpoint':_0x975a5a,'method':_0xf57fb3,'headers':{...headers,'Authorization':_0x46b4c1['wCtER']},'data':_0x46b4c1[_0xd1d7(0x3f)](_0x2c043f,null)});const _0x97329d=await(0x0,_apiKeyService[_0xd1d7(0x40)])(_0x975a5a,{'method':_0xf57fb3,'headers':headers,..._0x2c043f?{'body':JSON[_0xd1d7(0x41)](_0x2c043f)}:{}}),_0x406c9e=await _0x97329d[_0xd1d7(0x2a)]();debug&&(0x0,_debugHelper[_0xd1d7(0x25)])(_0x46b4c1[_0xd1d7(0x42)],{'status':_0x97329d[_0xd1d7(0x2f)],'data':_0x406c9e});if(!_0x97329d['ok']){var _0x1d052b,_0xd1aa4c,_0x352902;const _0x10e828=_0x46b4c1[_0xd1d7(0x43)](_0x97329d[_0xd1d7(0x2f)],0x191)||_0x97329d[_0xd1d7(0x2f)]===0x193?_0xd1d7(0x44):_0x46b4c1[_0xd1d7(0x43)](_0x97329d[_0xd1d7(0x2f)],0x190)?_0xd1d7(0x30):_0x46b4c1[_0xd1d7(0x45)](_0x97329d[_0xd1d7(0x2f)],0x1f4)?_0x46b4c1['mQqmi']:_0x46b4c1[_0xd1d7(0x46)];throw new ApiError((_0x46b4c1[_0xd1d7(0x47)](_0x1d052b=_0x406c9e['error'],null)||_0x1d052b===void 0x0?void 0x0:_0x1d052b[_0xd1d7(0x33)])||'API\x20request\x20failed',_0x10e828,_0x46b4c1['FUaAe'](_0xd1aa4c=_0x406c9e[_0xd1d7(0x35)],null)||_0x46b4c1[_0xd1d7(0x48)](_0xd1aa4c,void 0x0)?void 0x0:_0xd1aa4c[_0xd1d7(0xf)],_0x46b4c1[_0xd1d7(0x49)](_0x352902=_0x406c9e[_0xd1d7(0x35)],null)||_0x46b4c1[_0xd1d7(0x47)](_0x352902,void 0x0)?void 0x0:_0x352902[_0xd1d7(0xe)]);}return _0x406c9e;}catch(_0x268a7b){if(_0x46b4c1[_0xd1d7(0x4a)](_0x268a7b,ApiError)){if(_0xd1d7(0x3c)===_0x46b4c1['SYvYk'])throw _0x268a7b;else return _0x46b4c1[_0xd1d7(0x4b)](_0xa99053,_0xd1d7(0x4c),'POST',{'data':{'username':_0x478ed2[_0xd1d7(0x4d)],'platforms':_0x17fa49[_0xd1d7(0x4e)]},'debug':_0x5ad03e['debug']});}if(_0x46b4c1[_0xd1d7(0x43)](_0x268a7b['name'],_0x46b4c1[_0xd1d7(0x4f)]))throw new ApiError(_0x46b4c1['TDCcP'],_0x46b4c1[_0xd1d7(0x50)]);debug&&(0x0,_debugHelper['logDebug'])('Developer\x20API\x20Error',{'endpoint':_0x975a5a,'method':_0xf57fb3,'error':_0x268a7b[_0xd1d7(0x33)]||_0x46b4c1['gHZQe']});throw new ApiError(_0x268a7b['message']||_0x46b4c1[_0xd1d7(0x51)],_0xd1d7(0x1f));}},validateCredentials=async(_0x59d4ae,_0x1c696e={'debug':![]})=>{const _0x21fe0b={'WTqwL':_0xd1d7(0x52),'EvVAW':function(_0x1d453e,_0x4cb433){return _0x1d453e===_0x4cb433;},'Enbid':function(_0x576e50,_0x54de14){return _0x576e50===_0x54de14;},'VINDi':function(_0x152357,_0x533507){return _0x152357===_0x533507;}};try{var _0x111730,_0x3271ca;const _0x481660=await makeUserApiRequest(_0x21fe0b[_0xd1d7(0x53)],'POST',{'data':{'username':_0x59d4ae},'debug':_0x1c696e[_0xd1d7(0x54)]});return{'isValid':_0x481660[_0xd1d7(0x55)]&&_0x21fe0b[_0xd1d7(0x56)](_0x21fe0b[_0xd1d7(0x56)](_0x111730=_0x481660[_0xd1d7(0x57)],null)||_0x21fe0b['Enbid'](_0x111730,void 0x0)?void 0x0:_0x111730[_0xd1d7(0x58)],!![]),'message':_0x21fe0b[_0xd1d7(0x59)](_0x3271ca=_0x481660[_0xd1d7(0x35)],null)||_0x21fe0b[_0xd1d7(0x59)](_0x3271ca,void 0x0)?void 0x0:_0x3271ca['message']};}catch(_0x3b2919){return{'isValid':![],'message':_0x3b2919[_0xd1d7(0x33)]};}};exports[_0xd1d7(0x1)]=validateCredentials;const createAccount=async(_0x4867e1,_0x599219={'debug':![]})=>{const _0x121763={'XFaOO':'auth/register'};return makeDeveloperApiRequest(_0x121763[_0xd1d7(0x5a)],'POST',{'data':{'username':_0x4867e1[_0xd1d7(0x4d)],'platforms':_0x4867e1[_0xd1d7(0x4e)]},'debug':_0x599219['debug']});};exports[_0xd1d7(0x5b)]=createAccount;const authenticate=async(_0x91d2c9,_0xb383f5={'debug':![]})=>{const _0x55d2e7={'gUrFC':function(_0x23649d,_0x276c51,_0x405457,_0x59c469){return _0x23649d(_0x276c51,_0x405457,_0x59c469);}};return _0x55d2e7[_0xd1d7(0x5c)](makeUserApiRequest,_0xd1d7(0x5d),'POST',{'data':{'username':_0x91d2c9[_0xd1d7(0x4d)],'pin':_0x91d2c9[_0xd1d7(0x5e)]},'debug':_0xb383f5[_0xd1d7(0x54)]});};exports[_0xd1d7(0x9)]=authenticate;const refreshToken=async(_0x58cd10,_0x311f5c={'debug':![]})=>{const _0x30557a={'DIuTL':function(_0x20cdae,_0x5c20a0,_0x4a70e9,_0x29f22a){return _0x20cdae(_0x5c20a0,_0x4a70e9,_0x29f22a);}};return _0x30557a[_0xd1d7(0x5f)](makeUserApiRequest,_0xd1d7(0x60),'POST',{'data':{'refreshToken':_0x58cd10},'debug':_0x311f5c[_0xd1d7(0x54)]});};exports['refreshToken']=refreshToken;const getPlatformData=async(_0x2f1033,_0xe2639a={'debug':![]})=>{const _0x2f78c5={'ImLIB':function(_0x590b29,_0x1a1ad6,_0x4b29d3,_0x2af6b7){return _0x590b29(_0x1a1ad6,_0x4b29d3,_0x2af6b7);}};return _0x2f78c5[_0xd1d7(0x61)](makeUserApiRequest,'platforms/'+_0x2f1033+_0xd1d7(0x62),'GET',{'debug':_0xe2639a['debug']});};exports[_0xd1d7(0x7)]=getPlatformData;const getUserProfile=async(_0x458c6d={'debug':![]})=>{const _0x4d59ee={'zTXsL':function(_0x146e67,_0x26178d,_0x3a5e1f,_0x3495c4){return _0x146e67(_0x26178d,_0x3a5e1f,_0x3495c4);},'lwsrz':_0xd1d7(0x63)};return _0x4d59ee[_0xd1d7(0x64)](makeUserApiRequest,_0x4d59ee['lwsrz'],'GET',{'debug':_0x458c6d[_0xd1d7(0x54)]});};exports['getUserProfile']=getUserProfile;const updatePlatformConnections=async(_0x20befa,_0x173d5c={'debug':![]})=>{const _0x22eeef={'xFQPc':function(_0x3b776b,_0x1e9c05,_0x42fff4,_0x437af5){return _0x3b776b(_0x1e9c05,_0x42fff4,_0x437af5);},'xTytR':_0xd1d7(0x65)};return _0x22eeef[_0xd1d7(0x66)](makeUserApiRequest,_0x22eeef[_0xd1d7(0x67)],'PUT',{'data':{'platforms':_0x20befa},'debug':_0x173d5c[_0xd1d7(0x54)]});};exports[_0xd1d7(0x2)]=updatePlatformConnections;const storePIN=async(_0x30b640,_0x32d8e0={})=>{const _0x1c416c={'xUgBv':_0xd1d7(0x44),'nxuJQ':function(_0x3333ed,_0x308bb6,_0x19464e,_0x22a4f3){return _0x3333ed(_0x308bb6,_0x19464e,_0x22a4f3);},'vIMBc':_0xd1d7(0x68)},{debug:debug=![],username:_0x3e7074}=_0x32d8e0,_0x1d0366=_0x3e7074||(0x0,_apiKeyService[_0xd1d7(0x69)])();if(!_0x1d0366)throw new ApiError('No\x20username\x20available\x20-\x20either\x20provide\x20username\x20or\x20ensure\x20JWT\x20token\x20is\x20valid',_0x1c416c[_0xd1d7(0x6a)]);return _0x1c416c['nxuJQ'](makeUserApiRequest,_0x1c416c[_0xd1d7(0x6b)],'POST',{'data':{'username':_0x1d0366,'pin':_0x30b640},'debug':debug});};function _0x5f16(){const _0x2fab98=['defineProperty','validateCredentials','updatePlatformConnections','storePIN','refreshToken','isCurrentUserAuthenticated','getUserProfile','getPlatformData','getCurrentUserToken','authenticate','ApiError','__esModule','name','gyWJD','details','code','default','fetch','isConnected','User\x20not\x20authenticated.\x20Please\x20verify\x20email\x20first.','User\x20API\x20Request','tKxGg','zDypH','User\x20API\x20Response','server_error','API\x20request\x20failed','AbortError','timeout_error','User\x20API\x20Error','Unknown\x20error','An\x20unexpected\x20error\x20occurred','unknown_error','No\x20network\x20connection\x20available','network_error','isUserAuthenticated','NOxaa','LmRVU','logDebug','avgoV','[REDACTED]','cvZdC','makeUserRequest','json','hRote','BhuJE','scplM','olnuG','status','validation_error','xZtrB','UyZIr','message','izIXn','error','FIQYz','tqjvB','Request\x20timed\x20out','vzynJ','NxIYw','Yfqio','ejuUb','vTTxq','Developer\x20API\x20Request','LvSci','makeDeveloperRequest','stringify','vMkjs','UEHjB','auth_error','qaKOl','Gxxmw','TYyFr','xTTZV','FUaAe','YKLsq','uSKuP','auth/register','username','platforms','ylSCQ','WGqqq','XxToT','auth/validate','WTqwL','debug','success','EvVAW','data','isValid','VINDi','XFaOO','createAccount','gUrFC','auth/login','userPin','DIuTL','auth/refresh','ImLIB','/data','user/profile','zTXsL','user/platforms','xFQPc','xTytR','store-pin/mobile','extractUsernameFromJWT','xUgBv','vIMBc'];_0x5f16=function(){return _0x2fab98;};return _0x5f16();}exports[_0xd1d7(0x3)]=storePIN;const getCurrentUserToken=async()=>{return await(0x0,_apiKeyService['getJWT'])();};exports[_0xd1d7(0x8)]=getCurrentUserToken;const isCurrentUserAuthenticated=()=>{return(0x0,_apiKeyService[_0xd1d7(0x22)])();};exports[_0xd1d7(0x5)]=isCurrentUserAuthenticated;
9
+ Object['defineProperty'](exports,_0x52d5(0x0),{'value':!![]}),exports[_0x52d5(0x1)]=exports[_0x52d5(0x2)]=exports[_0x52d5(0x3)]=exports[_0x52d5(0x4)]=exports[_0x52d5(0x5)]=exports['getUserProfile']=exports[_0x52d5(0x6)]=exports[_0x52d5(0x7)]=exports['createAccount']=exports[_0x52d5(0x8)]=exports[_0x52d5(0x9)]=void 0x0;var _netinfo=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_debugHelper=__ONAIROS_REQ_FUNC__(0x1),_apiKeyService=__ONAIROS_REQ_FUNC__(0x2);function _interopRequireDefault(_0x2aded4){return _0x2aded4&&_0x2aded4[_0x52d5(0x0)]?_0x2aded4:{'default':_0x2aded4};}class ApiError extends Error{constructor(_0xa20235,_0x57953e,_0x2043ca,_0x5f51fd){const _0x102c88={'xkZGf':_0x52d5(0xa),'LaxGR':'ApiError'},_0x28876b=_0x102c88[_0x52d5(0xb)]['split']('|');let _0xdec3fd=0x0;while(!![]){switch(_0x28876b[_0xdec3fd++]){case'0':this[_0x52d5(0xc)]=_0x5f51fd;continue;case'1':this[_0x52d5(0xd)]=_0x57953e;continue;case'2':this[_0x52d5(0xe)]=_0x2043ca;continue;case'3':this[_0x52d5(0xf)]=_0x102c88[_0x52d5(0x10)];continue;case'4':super(_0xa20235);continue;}break;}}}exports['ApiError']=ApiError;const checkNetworkConnection=async()=>{const _0x211689={'ERnAU':function(_0x20c96f,_0x43538b){return _0x20c96f===_0x43538b;}},_0x37f97b=await _netinfo[_0x52d5(0x11)]['fetch']();return _0x211689['ERnAU'](_0x37f97b['isConnected'],!![]);},makeUserApiRequest=async(_0x5d56c3,_0x182e55,_0x32c17b={})=>{const _0x4f2a90={'rIAne':_0x52d5(0x12),'HuGqM':'timeout_error','UKnXF':function(_0xb1ae1d,_0x4fb794,_0x459cc1,_0x40c160){return _0xb1ae1d(_0x4fb794,_0x459cc1,_0x40c160);},'ulOHg':_0x52d5(0x13),'EFMhK':_0x52d5(0x14),'VzKHX':_0x52d5(0x15),'EhoqZ':_0x52d5(0x16),'lCGYS':_0x52d5(0x17),'acNSq':_0x52d5(0x18),'DZNbg':_0x52d5(0x19),'WuzDJ':function(_0x825d7d,_0x23d557){return _0x825d7d!==_0x23d557;},'AdFZE':_0x52d5(0x1a),'wQqkd':'User\x20API\x20Request','WlUIi':'[REDACTED]','RSMhg':function(_0x140103,_0x269dcc){return _0x140103||_0x269dcc;},'LLiNt':_0x52d5(0x1b),'CPLUl':function(_0x4af5ff,_0x30df13){return _0x4af5ff===_0x30df13;},'iaIVG':function(_0x2e9e1e,_0x3bbea8){return _0x2e9e1e===_0x3bbea8;},'iVOVd':_0x52d5(0x1c),'UxeVG':function(_0x1bc356,_0x231c8a){return _0x1bc356>=_0x231c8a;},'yubtC':_0x52d5(0x1d),'HYCXj':'unknown_error','NSvPj':function(_0x3d62cf,_0x165a57){return _0x3d62cf===_0x165a57;},'pOMjP':_0x52d5(0x1e),'YqvSJ':function(_0x20c1a7,_0x1aeb37){return _0x20c1a7===_0x1aeb37;},'OrkzJ':function(_0x34f80e,_0x29415b){return _0x34f80e===_0x29415b;},'MmuUT':function(_0x533a00,_0x21b0dd){return _0x533a00===_0x21b0dd;},'HKsZg':function(_0x64452a,_0x267490){return _0x64452a instanceof _0x267490;},'rneOC':function(_0x47e463,_0x32b140){return _0x47e463===_0x32b140;},'liFqs':_0x52d5(0x1f),'LVJGu':_0x52d5(0x20),'amQEh':_0x52d5(0x21),'KkFzJ':_0x52d5(0x22)},{data:_0x4b7edb,headers:headers={},debug:debug=![]}=_0x32c17b;try{const _0x17c1da=await checkNetworkConnection();if(!_0x17c1da){if(_0x4f2a90[_0x52d5(0x23)]===_0x4f2a90[_0x52d5(0x24)])return(0x0,_0x6d8d43[_0x52d5(0x25)])();else throw new ApiError(_0x4f2a90[_0x52d5(0x26)],_0x4f2a90[_0x52d5(0x27)]);}if(!(0x0,_apiKeyService['isUserAuthenticated'])())throw new ApiError(_0x4f2a90[_0x52d5(0x28)],_0x4f2a90[_0x52d5(0x29)]);if(debug){if(_0x4f2a90[_0x52d5(0x2a)](_0x4f2a90[_0x52d5(0x2b)],_0x4f2a90[_0x52d5(0x2b)]))throw new _0x2e86d4(_0x4f2a90['rIAne'],_0x4f2a90['HuGqM']);else(0x0,_debugHelper['logDebug'])(_0x4f2a90[_0x52d5(0x2c)],{'endpoint':_0x5d56c3,'method':_0x182e55,'headers':{...headers,'Authorization':_0x4f2a90['WlUIi']},'data':_0x4f2a90[_0x52d5(0x2d)](_0x4b7edb,null)});}const _0x1cfbee=await(0x0,_apiKeyService['makeUserRequest'])(_0x5d56c3,{'method':_0x182e55,'headers':headers,..._0x4b7edb?{'body':JSON['stringify'](_0x4b7edb)}:{}}),_0x105fba=await _0x1cfbee['json']();debug&&(0x0,_debugHelper['logDebug'])(_0x4f2a90[_0x52d5(0x2e)],{'status':_0x1cfbee[_0x52d5(0x2f)],'data':_0x105fba});if(!_0x1cfbee['ok']){var _0x59bf5e,_0x375077,_0x381da3;const _0x50e954=_0x1cfbee[_0x52d5(0x2f)]===0x191||_0x4f2a90[_0x52d5(0x30)](_0x1cfbee[_0x52d5(0x2f)],0x193)?_0x52d5(0x19):_0x4f2a90[_0x52d5(0x31)](_0x1cfbee[_0x52d5(0x2f)],0x190)?_0x4f2a90[_0x52d5(0x32)]:_0x4f2a90['UxeVG'](_0x1cfbee[_0x52d5(0x2f)],0x1f4)?_0x4f2a90[_0x52d5(0x33)]:_0x4f2a90[_0x52d5(0x34)];throw new ApiError((_0x4f2a90[_0x52d5(0x35)](_0x59bf5e=_0x105fba['error'],null)||_0x4f2a90[_0x52d5(0x35)](_0x59bf5e,void 0x0)?void 0x0:_0x59bf5e[_0x52d5(0x36)])||_0x4f2a90[_0x52d5(0x37)],_0x50e954,_0x4f2a90[_0x52d5(0x38)](_0x375077=_0x105fba['error'],null)||_0x4f2a90[_0x52d5(0x39)](_0x375077,void 0x0)?void 0x0:_0x375077[_0x52d5(0xe)],(_0x381da3=_0x105fba[_0x52d5(0x3a)])===null||_0x4f2a90['MmuUT'](_0x381da3,void 0x0)?void 0x0:_0x381da3[_0x52d5(0xc)]);}return _0x105fba;}catch(_0x5ce658){if(_0x4f2a90[_0x52d5(0x3b)](_0x5ce658,ApiError)){if(_0x4f2a90[_0x52d5(0x3c)](_0x4f2a90[_0x52d5(0x3d)],_0x52d5(0x1f)))throw _0x5ce658;else throw _0x252bb3;}if(_0x4f2a90[_0x52d5(0x35)](_0x5ce658[_0x52d5(0xf)],_0x52d5(0x3e)))throw new ApiError(_0x4f2a90[_0x52d5(0x3f)],_0x4f2a90[_0x52d5(0x40)]);if(debug){if(_0x4f2a90['iaIVG'](_0x4f2a90['LVJGu'],_0x4f2a90[_0x52d5(0x41)]))(0x0,_debugHelper[_0x52d5(0x42)])(_0x52d5(0x43),{'endpoint':_0x5d56c3,'method':_0x182e55,'error':_0x5ce658[_0x52d5(0x36)]||_0x4f2a90['amQEh']});else return _0x4f2a90[_0x52d5(0x44)](_0xc35ee6,_0x4f2a90['ulOHg'],'POST',{'data':{'refreshToken':_0x313061},'debug':_0x57abfd[_0x52d5(0x45)]});}throw new ApiError(_0x5ce658[_0x52d5(0x36)]||_0x4f2a90[_0x52d5(0x46)],_0x4f2a90['HYCXj']);}},makeDeveloperApiRequest=async(_0x32a53b,_0x3b0502,_0x400e75={})=>{const _0x46ffb8={'DECQo':function(_0x2a8815,_0x20d4ec){return _0x2a8815 instanceof _0x20d4ec;},'xwAym':function(_0x3b31a5,_0x36d2f8){return _0x3b31a5===_0x36d2f8;},'tfDuq':'AbortError','oVIlu':_0x52d5(0x12),'iMQib':_0x52d5(0x47),'Hziuq':_0x52d5(0x43),'kZIBF':'Unknown\x20error','WYZCE':_0x52d5(0x22),'QWMMJ':'unknown_error','EzrwB':function(_0x5677cd){return _0x5677cd();},'slcKJ':_0x52d5(0x16),'JiBdw':_0x52d5(0x17),'pvTdC':_0x52d5(0x48),'KcbmG':_0x52d5(0x49),'vsDNU':function(_0x427886,_0x25b907){return _0x427886||_0x25b907;},'rfYMK':_0x52d5(0x4a),'ZWaYb':function(_0x5cf31f,_0x11b3ca){return _0x5cf31f===_0x11b3ca;},'zpAiw':_0x52d5(0x19),'dSCux':_0x52d5(0x1c),'YzLQE':function(_0x33844d,_0x5718d0){return _0x33844d>=_0x5718d0;},'ONBLR':_0x52d5(0x1d),'AlLur':function(_0x5f27c8,_0x311145){return _0x5f27c8===_0x311145;},'juvvg':function(_0x32973d,_0x484f27){return _0x32973d===_0x484f27;},'lcuBx':function(_0x5001df,_0x25c389){return _0x5001df===_0x25c389;},'fzhPJ':_0x52d5(0x4b),'HsydB':function(_0x3c3107,_0x59bdc7){return _0x3c3107===_0x59bdc7;},'igdcz':_0x52d5(0x4c)},{data:_0x564a05,headers:headers={},debug:debug=![]}=_0x400e75;try{const _0x1fe175=await _0x46ffb8['EzrwB'](checkNetworkConnection);if(!_0x1fe175)throw new ApiError(_0x46ffb8['slcKJ'],_0x46ffb8['JiBdw']);debug&&(0x0,_debugHelper[_0x52d5(0x42)])(_0x46ffb8[_0x52d5(0x4d)],{'endpoint':_0x32a53b,'method':_0x3b0502,'headers':{...headers,'Authorization':_0x46ffb8[_0x52d5(0x4e)]},'data':_0x46ffb8[_0x52d5(0x4f)](_0x564a05,null)});const _0x31bea5=await(0x0,_apiKeyService[_0x52d5(0x50)])(_0x32a53b,{'method':_0x3b0502,'headers':headers,..._0x564a05?{'body':JSON[_0x52d5(0x51)](_0x564a05)}:{}}),_0x58c5c7=await _0x31bea5[_0x52d5(0x52)]();debug&&(0x0,_debugHelper[_0x52d5(0x42)])(_0x46ffb8[_0x52d5(0x53)],{'status':_0x31bea5[_0x52d5(0x2f)],'data':_0x58c5c7});if(!_0x31bea5['ok']){var _0x54680c,_0xfc65f8,_0x576f5e;const _0x2cd998=_0x31bea5['status']===0x191||_0x46ffb8[_0x52d5(0x54)](_0x31bea5['status'],0x193)?_0x46ffb8['zpAiw']:_0x31bea5['status']===0x190?_0x46ffb8[_0x52d5(0x55)]:_0x46ffb8['YzLQE'](_0x31bea5['status'],0x1f4)?_0x46ffb8[_0x52d5(0x56)]:_0x46ffb8[_0x52d5(0x57)];throw new ApiError((_0x46ffb8['xwAym'](_0x54680c=_0x58c5c7[_0x52d5(0x3a)],null)||_0x46ffb8[_0x52d5(0x58)](_0x54680c,void 0x0)?void 0x0:_0x54680c[_0x52d5(0x36)])||_0x52d5(0x1e),_0x2cd998,_0x46ffb8['AlLur'](_0xfc65f8=_0x58c5c7[_0x52d5(0x3a)],null)||_0x46ffb8[_0x52d5(0x58)](_0xfc65f8,void 0x0)?void 0x0:_0xfc65f8[_0x52d5(0xe)],_0x46ffb8[_0x52d5(0x59)](_0x576f5e=_0x58c5c7[_0x52d5(0x3a)],null)||_0x46ffb8[_0x52d5(0x5a)](_0x576f5e,void 0x0)?void 0x0:_0x576f5e[_0x52d5(0xc)]);}return _0x58c5c7;}catch(_0x462a3b){if(_0x46ffb8[_0x52d5(0x5b)](_0x46ffb8[_0x52d5(0x5c)],_0x46ffb8['fzhPJ'])){if(_0x462a3b instanceof ApiError)throw _0x462a3b;if(_0x46ffb8[_0x52d5(0x5d)](_0x462a3b[_0x52d5(0xf)],'AbortError'))throw new ApiError(_0x46ffb8[_0x52d5(0x5e)],_0x46ffb8[_0x52d5(0x5f)]);debug&&(0x0,_debugHelper[_0x52d5(0x42)])(_0x46ffb8['igdcz'],{'endpoint':_0x32a53b,'method':_0x3b0502,'error':_0x462a3b['message']||_0x46ffb8['kZIBF']});throw new ApiError(_0x462a3b[_0x52d5(0x36)]||_0x46ffb8[_0x52d5(0x60)],_0x46ffb8[_0x52d5(0x57)]);}else{if(_0x46ffb8['DECQo'](_0x5d7561,_0x4e7539))throw _0x2ef55e;if(_0x46ffb8['xwAym'](_0x424d65[_0x52d5(0xf)],_0x46ffb8['tfDuq']))throw new _0x107e6d(_0x46ffb8[_0x52d5(0x5e)],_0x46ffb8['iMQib']);_0x1d60f6&&(0x0,_0x51725e[_0x52d5(0x42)])(_0x46ffb8['Hziuq'],{'endpoint':_0x5f2ab6,'method':_0x473f75,'error':_0x200eb7['message']||_0x46ffb8[_0x52d5(0x61)]});throw new _0x2ce7c5(_0x3129b3[_0x52d5(0x36)]||_0x46ffb8[_0x52d5(0x60)],_0x46ffb8[_0x52d5(0x57)]);}}},validateCredentials=async(_0x84f0b4,_0x2ef92d={'debug':![]})=>{const _0xeaf16b={'LEhqk':function(_0x468605,_0x38160a,_0x35f59e,_0x2549ed){return _0x468605(_0x38160a,_0x35f59e,_0x2549ed);},'peKCG':function(_0x755e32,_0x15d583){return _0x755e32===_0x15d583;},'ioFPL':_0x52d5(0x62)};try{var _0x2eee54,_0x153725;const _0x25266a=await _0xeaf16b['LEhqk'](makeUserApiRequest,_0x52d5(0x63),'POST',{'data':{'username':_0x84f0b4},'debug':_0x2ef92d[_0x52d5(0x45)]});return{'isValid':_0x25266a[_0x52d5(0x64)]&&((_0x2eee54=_0x25266a[_0x52d5(0x65)])===null||_0x2eee54===void 0x0?void 0x0:_0x2eee54['isValid'])===!![],'message':_0xeaf16b[_0x52d5(0x66)](_0x153725=_0x25266a[_0x52d5(0x3a)],null)||_0xeaf16b[_0x52d5(0x66)](_0x153725,void 0x0)?void 0x0:_0x153725['message']};}catch(_0x514041){return _0xeaf16b[_0x52d5(0x66)](_0xeaf16b['ioFPL'],_0x52d5(0x62))?{'isValid':![],'message':_0x514041['message']}:_0x16a0e6(_0x52d5(0x67),'POST',{'data':{'username':_0x4a707c['username'],'platforms':_0xec3422[_0x52d5(0x68)]},'debug':_0x11e891['debug']});}};exports[_0x52d5(0x1)]=validateCredentials;const createAccount=async(_0x2df514,_0x5ac052={'debug':![]})=>{const _0x23645e={'LRmBi':function(_0x572f14,_0x3dcedc,_0xcd49f9,_0x364a1e){return _0x572f14(_0x3dcedc,_0xcd49f9,_0x364a1e);},'pzgZv':_0x52d5(0x67)};return _0x23645e[_0x52d5(0x69)](makeDeveloperApiRequest,_0x23645e[_0x52d5(0x6a)],'POST',{'data':{'username':_0x2df514['username'],'platforms':_0x2df514[_0x52d5(0x68)]},'debug':_0x5ac052[_0x52d5(0x45)]});};exports[_0x52d5(0x6b)]=createAccount;const authenticate=async(_0x16ff47,_0x64520c={'debug':![]})=>{const _0x5b7eb9={'qmYLx':function(_0x585077,_0x507edd,_0x40c1d0,_0x1344ea){return _0x585077(_0x507edd,_0x40c1d0,_0x1344ea);}};return _0x5b7eb9['qmYLx'](makeUserApiRequest,_0x52d5(0x6c),'POST',{'data':{'username':_0x16ff47['username'],'pin':_0x16ff47['userPin']},'debug':_0x64520c[_0x52d5(0x45)]});};exports['authenticate']=authenticate;const refreshToken=async(_0x446ab1,_0x3fbbc1={'debug':![]})=>{const _0x1efb55={'aIgOq':function(_0x5ee6a1,_0x1d1e81,_0x194f43,_0x5c248e){return _0x5ee6a1(_0x1d1e81,_0x194f43,_0x5c248e);},'EIefy':_0x52d5(0x13)};return _0x1efb55[_0x52d5(0x6d)](makeUserApiRequest,_0x1efb55[_0x52d5(0x6e)],'POST',{'data':{'refreshToken':_0x446ab1},'debug':_0x3fbbc1[_0x52d5(0x45)]});};exports[_0x52d5(0x4)]=refreshToken;function _0x5666(){const _0x39f88c=['__esModule','validateCredentials','updatePlatformConnections','storePIN','refreshToken','isCurrentUserAuthenticated','getPlatformData','getCurrentUserToken','authenticate','ApiError','4|1|2|0|3','xkZGf','details','type','code','name','LaxGR','default','Request\x20timed\x20out','auth/refresh','xyuhh','GOjSs','No\x20network\x20connection\x20available','network_error','User\x20not\x20authenticated.\x20Please\x20verify\x20email\x20first.','auth_error','gBeEg','User\x20API\x20Response','validation_error','server_error','API\x20request\x20failed','jhzAA','HumVJ','Unknown\x20error','An\x20unexpected\x20error\x20occurred','EFMhK','VzKHX','isUserAuthenticated','EhoqZ','lCGYS','acNSq','DZNbg','WuzDJ','AdFZE','wQqkd','RSMhg','LLiNt','status','CPLUl','iaIVG','iVOVd','yubtC','HYCXj','NSvPj','message','pOMjP','YqvSJ','OrkzJ','error','HKsZg','rneOC','liFqs','AbortError','rIAne','HuGqM','LVJGu','logDebug','User\x20API\x20Error','UKnXF','debug','KkFzJ','timeout_error','Developer\x20API\x20Request','[REDACTED]','Developer\x20API\x20Response','CwCFq','Developer\x20API\x20Error','pvTdC','KcbmG','vsDNU','makeDeveloperRequest','stringify','json','rfYMK','ZWaYb','dSCux','ONBLR','QWMMJ','xwAym','juvvg','lcuBx','AlLur','fzhPJ','HsydB','oVIlu','iMQib','WYZCE','kZIBF','qiomd','auth/validate','success','data','peKCG','auth/register','platforms','LRmBi','pzgZv','createAccount','auth/login','aIgOq','EIefy','platforms/','user/profile','YkGox','getUserProfile','user/platforms','QnjvF','krlGz','extractUsernameFromJWT','No\x20username\x20available\x20-\x20either\x20provide\x20username\x20or\x20ensure\x20JWT\x20token\x20is\x20valid','zFClz','store-pin/mobile'];_0x5666=function(){return _0x39f88c;};return _0x5666();}function _0x52d5(_0x566648,_0x52d5a9){_0x566648=_0x566648-0x0;const _0x9f813b=_0x5666();let _0x3ba119=_0x9f813b[_0x566648];return _0x3ba119;}const getPlatformData=async(_0x8d9b6c,_0x4536f6={'debug':![]})=>{return makeUserApiRequest(_0x52d5(0x6f)+_0x8d9b6c+'/data','GET',{'debug':_0x4536f6[_0x52d5(0x45)]});};exports[_0x52d5(0x6)]=getPlatformData;const getUserProfile=async(_0x1511d6={'debug':![]})=>{const _0xe94956={'YkGox':_0x52d5(0x70)};return makeUserApiRequest(_0xe94956[_0x52d5(0x71)],'GET',{'debug':_0x1511d6[_0x52d5(0x45)]});};exports[_0x52d5(0x72)]=getUserProfile;const updatePlatformConnections=async(_0x420d25,_0x1a91ac={'debug':![]})=>{const _0x172457={'QnjvF':function(_0x2dfd5a,_0x18e8b2,_0x29818d,_0x539a5c){return _0x2dfd5a(_0x18e8b2,_0x29818d,_0x539a5c);},'krlGz':_0x52d5(0x73)};return _0x172457[_0x52d5(0x74)](makeUserApiRequest,_0x172457[_0x52d5(0x75)],'PUT',{'data':{'platforms':_0x420d25},'debug':_0x1a91ac['debug']});};exports[_0x52d5(0x2)]=updatePlatformConnections;const storePIN=async(_0x60912a,_0x27eac8={})=>{const _0xc9923a={'zFClz':function(_0x55408b,_0x5503e7,_0x42d912,_0x1ff6de){return _0x55408b(_0x5503e7,_0x42d912,_0x1ff6de);}},{debug:debug=![],username:_0x451ef9}=_0x27eac8,_0x3c62b8=_0x451ef9||(0x0,_apiKeyService[_0x52d5(0x76)])();if(!_0x3c62b8)throw new ApiError(_0x52d5(0x77),_0x52d5(0x19));return _0xc9923a[_0x52d5(0x78)](makeUserApiRequest,_0x52d5(0x79),'POST',{'data':{'username':_0x3c62b8,'pin':_0x60912a},'debug':debug});};exports[_0x52d5(0x3)]=storePIN;const getCurrentUserToken=async()=>{return await(0x0,_apiKeyService['getJWT'])();};exports[_0x52d5(0x7)]=getCurrentUserToken;const isCurrentUserAuthenticated=()=>{return(0x0,_apiKeyService['isUserAuthenticated'])();};exports[_0x52d5(0x5)]=isCurrentUserAuthenticated;
@@ -6,4 +6,4 @@ var __ONAIROS_REQ_REGISTRY__ = [
6
6
  require('react')
7
7
  ];
8
8
  function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
9
- function _0x439e(_0x5ede47,_0x439e59){_0x5ede47=_0x5ede47-0x0;const _0x160db9=_0x5ede();let _0x59632c=_0x160db9[_0x5ede47];return _0x59632c;}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['startOnairosFlow']=exports[_0x439e(0x0)]=void 0x0;var _platformAuthService=__ONAIROS_REQ_FUNC__(0x0);function _interopRequireWildcard(_0x28ad49,_0x27ffd5){const _0x5f3e81={'IUyaO':function(_0x906176,_0x44f4e7){return _0x906176===_0x44f4e7;},'aQLtI':_0x439e(0x1),'OvXIl':_0x439e(0x2),'jRXVN':function(_0x26f9e1,_0x5b3aac){return _0x26f9e1&&_0x5b3aac;},'wNTOJ':function(_0x11cc68,_0x5b9473){return _0x11cc68===_0x5b9473;},'bqsAl':function(_0x464c86,_0x44c599){return _0x464c86!=_0x44c599;},'XbRXf':_0x439e(0x3),'LyOTe':_0x439e(0x4),'zmDEn':function(_0x5a33e7,_0x58151f){return _0x5a33e7!==_0x58151f;},'CVBQd':_0x439e(0x5),'RyTrP':function(_0x1abb7d,_0x393e9e,_0x5c9710,_0x96f5d0){return _0x1abb7d(_0x393e9e,_0x5c9710,_0x96f5d0);},'FIBBf':function(_0x368342,_0x4dcfdc){return _0x368342==_0x4dcfdc;}};if(_0x5f3e81['FIBBf'](_0x5f3e81[_0x439e(0x6)],typeof WeakMap))var _0xfd92ff=new WeakMap(),_0x55d083=new WeakMap();return(_interopRequireWildcard=function(_0x8dc425,_0x48a93b){if(_0x5f3e81[_0x439e(0x7)](_0x5f3e81[_0x439e(0x8)],_0x5f3e81[_0x439e(0x9)]))_0x25d8f7[_0x439e(0xa)]();else{if(_0x5f3e81['jRXVN'](!_0x48a93b,_0x8dc425)&&_0x8dc425['__esModule'])return _0x8dc425;var _0x4e40ff,_0x10c358,_0x1c6414={'__proto__':null,'default':_0x8dc425};if(_0x5f3e81[_0x439e(0xb)](null,_0x8dc425)||_0x5f3e81['bqsAl'](_0x5f3e81[_0x439e(0xc)],typeof _0x8dc425)&&_0x5f3e81[_0x439e(0x6)]!=typeof _0x8dc425)return _0x1c6414;if(_0x4e40ff=_0x48a93b?_0x55d083:_0xfd92ff){if(_0x4e40ff[_0x439e(0xd)](_0x8dc425))return _0x4e40ff[_0x439e(0xe)](_0x8dc425);_0x4e40ff[_0x439e(0xf)](_0x8dc425,_0x1c6414);}for(const _0x14a17f in _0x8dc425)_0x5f3e81['zmDEn'](_0x5f3e81['CVBQd'],_0x14a17f)&&{}[_0x439e(0x10)][_0x439e(0x11)](_0x8dc425,_0x14a17f)&&((_0x10c358=(_0x4e40ff=Object[_0x439e(0x12)])&&Object[_0x439e(0x13)](_0x8dc425,_0x14a17f))&&(_0x10c358[_0x439e(0xe)]||_0x10c358[_0x439e(0xf)])?_0x5f3e81[_0x439e(0x14)](_0x4e40ff,_0x1c6414,_0x14a17f,_0x10c358):_0x1c6414[_0x14a17f]=_0x8dc425[_0x14a17f]);return _0x1c6414;}})(_0x28ad49,_0x27ffd5);}function _0x5ede(){const _0xe927df=['executeOnairosFlow','iFwem','ytxkA','object','function','default','LyOTe','IUyaO','aQLtI','OvXIl','close','wNTOJ','XbRXf','has','get','set','hasOwnProperty','call','defineProperty','getOwnPropertyDescriptor','RyTrP','nerml','❌\x20Onairos\x20flow\x20rejected:','eqeVM','❌\x20Failed\x20to\x20execute\x20Onairos\x20flow:','log','iXwgT','initializePlatformAuthService','resolve','then','muHWS','Excoo','onResolved','onRejection','QuAVp','KZclL','VrnaW','wpryA','mzbtl','ZGFJM','Lyqnw','__esModule','Ohfpv','npoXu','kSadr','bPivS','yeyBe','Onairos\x20flow\x20was\x20rejected','createElement','User\x20closed\x20the\x20modal','AppName','returnLink','preferredPlatform','debug','IQiPc','error','yvEJY','DEpqI','Pre-check\x20failed','XlzFd','XWWAd','oCsyP','yFlXH'];_0x5ede=function(){return _0xe927df;};return _0x5ede();}const executeOnairosFlow=async _0x587058=>{const _0x47b466={'muHWS':function(_0x3fa7f3,_0x35ee81){return _0x3fa7f3===_0x35ee81;},'Excoo':_0x439e(0x15),'lYtSX':'✅\x20Onairos\x20flow\x20completed\x20successfully','QuAVp':function(_0x2316f5,_0x57a738){return _0x2316f5&&_0x57a738;},'KZclL':function(_0x380c29,_0x3a0bc9){return _0x380c29===_0x3a0bc9;},'VrnaW':function(_0x5d1d44,_0xd0f2bf){return _0x5d1d44!=_0xd0f2bf;},'wpryA':function(_0x190d5e,_0x411042){return _0x190d5e!==_0x411042;},'mzbtl':_0x439e(0x16),'ZGFJM':_0x439e(0x17),'bPivS':function(_0x33a5d1,_0x1adfef){return _0x33a5d1(_0x1adfef);},'yeyBe':function(_0x2ab0b4,_0x379e22){return _0x2ab0b4||_0x379e22;},'IQiPc':'📱\x20Onairos\x20modal\x20should\x20be\x20displayed','iXwgT':'🚀\x20Starting\x20Onairos\x20flow\x20programmatically...','yvEJY':_0x439e(0x18)};try{console[_0x439e(0x19)](_0x47b466[_0x439e(0x1a)]),await(0x0,_platformAuthService[_0x439e(0x1b)])();const {UniversalOnboarding:_0x3d15ce}=await Promise[_0x439e(0x1c)]()[_0x439e(0x1d)](()=>_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x1))),React=await Promise[_0x439e(0x1c)]()[_0x439e(0x1d)](()=>_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x2)));return new Promise((_0x23a469,_0x565aaf)=>{let _0x15fed0=null;const _0x578115=(_0x81d1f0,_0x2c154d,_0x191e50)=>{_0x47b466[_0x439e(0x1e)](_0x47b466[_0x439e(0x1f)],_0x439e(0x15))?(console[_0x439e(0x19)](_0x47b466['lYtSX']),_0x15fed0&&_0x15fed0['close']&&_0x15fed0[_0x439e(0xa)](),_0x587058[_0x439e(0x20)]&&_0x587058[_0x439e(0x20)](_0x81d1f0,_0x2c154d,_0x191e50),_0x23a469()):_0x471c03[_0x439e(0x21)](_0x1ad4b1);},_0x5b3999=_0x45c8be=>{const _0x46ebf5={'Lyqnw':function(_0x34d1af,_0x4ddfaa){return _0x47b466[_0x439e(0x22)](_0x34d1af,_0x4ddfaa);},'Ohfpv':function(_0x4f3f2a,_0x1d8f90){return _0x47b466[_0x439e(0x23)](_0x4f3f2a,_0x1d8f90);},'npoXu':function(_0x5e1b64,_0x3bce2e){return _0x47b466[_0x439e(0x24)](_0x5e1b64,_0x3bce2e);},'HiCJE':function(_0x62bffd,_0x338e7d){return _0x62bffd!=_0x338e7d;},'kSadr':function(_0x119391,_0x24a23c){return _0x47b466[_0x439e(0x25)](_0x119391,_0x24a23c);},'fOVVM':'default'};console[_0x439e(0x19)](_0x47b466[_0x439e(0x26)],_0x45c8be);if(_0x15fed0&&_0x15fed0[_0x439e(0xa)]){if(_0x47b466['ZGFJM']!==_0x47b466[_0x439e(0x27)]){if(_0x46ebf5[_0x439e(0x28)](!_0x357d6f,_0x4904dc)&&_0x242c40[_0x439e(0x29)])return _0x4a4516;var _0x27bcfa,_0x48b2f7,_0x4bcc4b={'__proto__':null,'default':_0x1677b8};if(_0x46ebf5[_0x439e(0x2a)](null,_0xacda38)||_0x46ebf5[_0x439e(0x2b)]('object',typeof _0xa2ba3c)&&_0x46ebf5['HiCJE']('function',typeof _0x39e7cc))return _0x4bcc4b;if(_0x27bcfa=_0x37031c?_0x3342a7:_0x31c2df){if(_0x27bcfa[_0x439e(0xd)](_0x23ffbc))return _0x27bcfa[_0x439e(0xe)](_0x179ecf);_0x27bcfa[_0x439e(0xf)](_0x209e84,_0x4bcc4b);}for(const _0x44f2cb in _0x28255c)_0x46ebf5[_0x439e(0x2c)](_0x46ebf5['fOVVM'],_0x44f2cb)&&{}['hasOwnProperty'][_0x439e(0x11)](_0x2ca229,_0x44f2cb)&&((_0x48b2f7=(_0x27bcfa=_0x5b76db['defineProperty'])&&_0xa45c51[_0x439e(0x13)](_0x256468,_0x44f2cb))&&(_0x48b2f7[_0x439e(0xe)]||_0x48b2f7[_0x439e(0xf)])?_0x27bcfa(_0x4bcc4b,_0x44f2cb,_0x48b2f7):_0x4bcc4b[_0x44f2cb]=_0x452f35[_0x44f2cb]);return _0x4bcc4b;}else _0x15fed0['close']();}_0x587058['onRejection']&&_0x587058[_0x439e(0x21)](_0x45c8be),_0x47b466[_0x439e(0x2d)](_0x565aaf,new Error(_0x47b466[_0x439e(0x2e)](_0x45c8be,_0x439e(0x2f))));},_0x26a7f2=React[_0x439e(0x30)](_0x3d15ce,{'visible':!![],'onClose':()=>_0x5b3999(_0x439e(0x31)),'AppName':_0x587058[_0x439e(0x32)],'requestData':_0x587058['requestData'],'returnLink':_0x587058[_0x439e(0x33)],'onComplete':_0x578115,'preferredPlatform':_0x587058[_0x439e(0x34)],'debug':_0x587058[_0x439e(0x35)],'testMode':_0x587058['testMode']});_0x15fed0=_0x26a7f2,console[_0x439e(0x19)](_0x47b466[_0x439e(0x36)]);});}catch(_0x140dfa){console[_0x439e(0x37)](_0x47b466[_0x439e(0x38)],_0x140dfa);throw _0x140dfa;}};exports[_0x439e(0x0)]=executeOnairosFlow;const startOnairosFlow=async _0xdfb8a0=>{const _0x2a5c1a={'XlzFd':function(_0x3b87fe,_0x202aaf){return _0x3b87fe!==_0x202aaf;},'XWWAd':_0x439e(0x39),'oCsyP':_0x439e(0x3a),'yFlXH':function(_0x7cdd1c,_0x5546b5){return _0x7cdd1c(_0x5546b5);}};if(_0xdfb8a0['preCheck']){if(_0x2a5c1a[_0x439e(0x3b)](_0x2a5c1a[_0x439e(0x3c)],_0x2a5c1a[_0x439e(0x3c)]))_0x4017c5[_0x439e(0xa)]();else{const _0x6097e9=await _0xdfb8a0['preCheck']();if(!_0x6097e9){console['log']('❌\x20Pre-check\x20failed,\x20not\x20starting\x20Onairos\x20flow');_0xdfb8a0[_0x439e(0x21)]&&_0xdfb8a0['onRejection'](_0x2a5c1a[_0x439e(0x3d)]);return;}}}return _0x2a5c1a[_0x439e(0x3e)](executeOnairosFlow,_0xdfb8a0);};exports['startOnairosFlow']=startOnairosFlow;
9
+ function _0x1652(_0x38538c,_0x1652f4){_0x38538c=_0x38538c-0x0;const _0x562133=_0x3853();let _0x3af401=_0x562133[_0x38538c];return _0x3af401;}Object[_0x1652(0x0)](exports,_0x1652(0x1),{'value':!![]}),exports['startOnairosFlow']=exports['executeOnairosFlow']=void 0x0;function _0x3853(){const _0x4d3ccf=['defineProperty','__esModule','✅\x20Onairos\x20flow\x20completed\x20successfully','function','UTmGp','bmFbz','fCKMZ','pGOvB','hRKzH','WleyH','poSzN','xhMsh','JPYyQ','log','kMtRK','close','VtLdc','get','set','default','hasOwnProperty','getOwnPropertyDescriptor','YLzqW','❌\x20Failed\x20to\x20execute\x20Onairos\x20flow:','🚀\x20Starting\x20Onairos\x20flow\x20programmatically...','sIWwf','dhcZz','resolve','then','RHYHh','OHYoE','mXijQ','urZnA','onResolved','tVkbg','onRejection','WKMmK','Onairos\x20flow\x20was\x20rejected','User\x20closed\x20the\x20modal','AppName','requestData','returnLink','preferredPlatform','debug','GePqy','jgGmP','CqxEX','error','NPIea','executeOnairosFlow','Pre-check\x20failed','sDjEZ','DywtL','preCheck','❌\x20Pre-check\x20failed,\x20not\x20starting\x20Onairos\x20flow','ykiHn','JHkud','cRocL','hcpmF','startOnairosFlow'];_0x3853=function(){return _0x4d3ccf;};return _0x3853();}var _platformAuthService=__ONAIROS_REQ_FUNC__(0x0);function _interopRequireWildcard(_0x3983cf,_0x430e4f){const _0x2abffa={'kMtRK':_0x1652(0x2),'VtLdc':function(_0x44f132){return _0x44f132();},'MSgVi':function(_0x26c3f2,_0x299920){return _0x26c3f2&&_0x299920;},'pGOvB':function(_0x14110a,_0x422654){return _0x14110a===_0x422654;},'hRKzH':function(_0x3048a3,_0x3eee9c){return _0x3048a3!=_0x3eee9c;},'WleyH':'object','poSzN':function(_0x5e8238,_0x491503){return _0x5e8238!=_0x491503;},'fCKMZ':_0x1652(0x3),'xhMsh':function(_0x59fa1b,_0x468f86){return _0x59fa1b!==_0x468f86;},'JPYyQ':_0x1652(0x4),'bmFbz':function(_0x36f15f,_0x2d0591){return _0x36f15f==_0x2d0591;}};if(_0x2abffa[_0x1652(0x5)](_0x2abffa[_0x1652(0x6)],typeof WeakMap))var _0x3fdd57=new WeakMap(),_0x2cfc0c=new WeakMap();return(_interopRequireWildcard=function(_0x95e40b,_0x4cede5){if(_0x2abffa['MSgVi'](!_0x4cede5,_0x95e40b)&&_0x95e40b[_0x1652(0x1)])return _0x95e40b;var _0x30e9bb,_0x59187c,_0x3ee080={'__proto__':null,'default':_0x95e40b};if(_0x2abffa[_0x1652(0x7)](null,_0x95e40b)||_0x2abffa[_0x1652(0x8)](_0x2abffa[_0x1652(0x9)],typeof _0x95e40b)&&_0x2abffa[_0x1652(0xa)](_0x2abffa[_0x1652(0x6)],typeof _0x95e40b))return _0x3ee080;if(_0x30e9bb=_0x4cede5?_0x2cfc0c:_0x3fdd57){if(_0x2abffa[_0x1652(0xb)](_0x2abffa[_0x1652(0xc)],_0x2abffa[_0x1652(0xc)]))_0x5ed5dc[_0x1652(0xd)](_0x2abffa[_0x1652(0xe)]),_0x1d457a&&_0x4e77c2['close']&&_0x6e62d0[_0x1652(0xf)](),_0x2cc77b['onResolved']&&_0x5f00be['onResolved'](_0x1db418,_0x6e297c,_0x3dcfa3),_0x2abffa[_0x1652(0x10)](_0x289fbd);else{if(_0x30e9bb['has'](_0x95e40b))return _0x30e9bb[_0x1652(0x11)](_0x95e40b);_0x30e9bb[_0x1652(0x12)](_0x95e40b,_0x3ee080);}}for(const _0x12f62c in _0x95e40b)_0x2abffa[_0x1652(0xb)](_0x1652(0x13),_0x12f62c)&&{}[_0x1652(0x14)]['call'](_0x95e40b,_0x12f62c)&&((_0x59187c=(_0x30e9bb=Object[_0x1652(0x0)])&&Object[_0x1652(0x15)](_0x95e40b,_0x12f62c))&&(_0x59187c['get']||_0x59187c[_0x1652(0x12)])?_0x30e9bb(_0x3ee080,_0x12f62c,_0x59187c):_0x3ee080[_0x12f62c]=_0x95e40b[_0x12f62c]);return _0x3ee080;})(_0x3983cf,_0x430e4f);}const executeOnairosFlow=async _0x4e5f75=>{const _0x453c13={'uHzoe':'❌\x20Onairos\x20flow\x20rejected:','sVuZW':function(_0x5c6d25,_0xa90123){return _0x5c6d25(_0xa90123);},'WKMmK':function(_0x131405,_0x4004c0){return _0x131405||_0x4004c0;},'RHYHh':function(_0x550a8a){return _0x550a8a();},'OHYoE':function(_0x456750,_0x5a1153){return _0x456750===_0x5a1153;},'urZnA':_0x1652(0x16),'GePqy':'📱\x20Onairos\x20modal\x20should\x20be\x20displayed','NPIea':_0x1652(0x17),'dhcZz':_0x1652(0x18),'jgGmP':function(_0x4f7e73,_0x24749d){return _0x4f7e73!==_0x24749d;},'CqxEX':_0x1652(0x19)};try{console[_0x1652(0xd)](_0x453c13[_0x1652(0x1a)]),await(0x0,_platformAuthService['initializePlatformAuthService'])();const {UniversalOnboarding:_0x595ea7}=await Promise[_0x1652(0x1b)]()['then'](()=>_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x1))),React=await Promise[_0x1652(0x1b)]()[_0x1652(0x1c)](()=>_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x2)));return new Promise((_0x2c1142,_0x7cc0cd)=>{const _0x5e5c8b={'tVkbg':function(_0x461b4d){return _0x453c13[_0x1652(0x1d)](_0x461b4d);}};if(_0x453c13[_0x1652(0x1e)](_0x1652(0x1f),_0x453c13[_0x1652(0x20)]))_0x25dba9[_0x1652(0xf)]();else{let _0x1f9594=null;const _0x273f87=(_0x2c2eba,_0x47034e,_0x5283b1)=>{console[_0x1652(0xd)](_0x1652(0x2)),_0x1f9594&&_0x1f9594[_0x1652(0xf)]&&_0x1f9594[_0x1652(0xf)](),_0x4e5f75[_0x1652(0x21)]&&_0x4e5f75['onResolved'](_0x2c2eba,_0x47034e,_0x5283b1),_0x5e5c8b[_0x1652(0x22)](_0x2c1142);},_0x3abd12=_0x18fe5d=>{console['log'](_0x453c13['uHzoe'],_0x18fe5d),_0x1f9594&&_0x1f9594[_0x1652(0xf)]&&_0x1f9594['close'](),_0x4e5f75[_0x1652(0x23)]&&_0x4e5f75['onRejection'](_0x18fe5d),_0x453c13['sVuZW'](_0x7cc0cd,new Error(_0x453c13[_0x1652(0x24)](_0x18fe5d,_0x1652(0x25))));},_0x5d1b1d=React['createElement'](_0x595ea7,{'visible':!![],'onClose':()=>_0x3abd12(_0x1652(0x26)),'AppName':_0x4e5f75[_0x1652(0x27)],'requestData':_0x4e5f75[_0x1652(0x28)],'returnLink':_0x4e5f75[_0x1652(0x29)],'onComplete':_0x273f87,'preferredPlatform':_0x4e5f75[_0x1652(0x2a)],'debug':_0x4e5f75[_0x1652(0x2b)],'testMode':_0x4e5f75['testMode']});_0x1f9594=_0x5d1b1d,console['log'](_0x453c13[_0x1652(0x2c)]);}});}catch(_0x2f7510){if(_0x453c13[_0x1652(0x2d)](_0x453c13[_0x1652(0x2e)],_0x1652(0x19))){_0x3e233b[_0x1652(0x2f)](_0x453c13['NPIea'],_0x96f728);throw _0x5d4565;}else{console['error'](_0x453c13[_0x1652(0x30)],_0x2f7510);throw _0x2f7510;}}};exports[_0x1652(0x31)]=executeOnairosFlow;const startOnairosFlow=async _0x422f64=>{const _0x397b63={'cRocL':_0x1652(0x32),'ykiHn':function(_0x4851da,_0x59b27d){return _0x4851da!==_0x59b27d;},'JHkud':_0x1652(0x33),'QVirj':_0x1652(0x34),'hcpmF':function(_0x3d4e75,_0x4a502f){return _0x3d4e75(_0x4a502f);}};if(_0x422f64[_0x1652(0x35)]){const _0x326d26=await _0x422f64['preCheck']();if(!_0x326d26){console[_0x1652(0xd)](_0x1652(0x36));_0x422f64[_0x1652(0x23)]&&(_0x397b63[_0x1652(0x37)](_0x397b63[_0x1652(0x38)],_0x397b63['QVirj'])?_0x422f64[_0x1652(0x23)](_0x1652(0x32)):_0x3de103[_0x1652(0x23)](_0x397b63[_0x1652(0x39)]));return;}}return _0x397b63[_0x1652(0x3a)](executeOnairosFlow,_0x422f64);};exports[_0x1652(0x3b)]=startOnairosFlow;
@@ -1 +1 @@
1
- 'use strict';Object[_0x320a(0x0)](exports,_0x320a(0x1),{'value':!![]}),exports[_0x320a(0x2)]=exports['DEFAULT_RETRY_OPTIONS']=exports[_0x320a(0x3)]=void 0x0,exports['fetchWithRetry']=fetchWithRetry,exports['healthCheck']=healthCheck,exports[_0x320a(0x4)]=withRetry;const DEFAULT_RETRY_OPTIONS=exports[_0x320a(0x5)]={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'enableLogging':![],'shouldRetry':(_0x5eb1ef,_0xd759fd)=>{const _0x575cb1={'kdWAw':function(_0x31324c,_0x1da30c){return _0x31324c>=_0x1da30c;},'asSlp':function(_0x213781,_0x5415c5){return _0x213781<_0x5415c5;},'guUre':function(_0x12d4b0,_0x4132bf){return _0x12d4b0!==_0x4132bf;},'zhfdA':function(_0x54a763,_0x1e052e){return _0x54a763!==_0x1e052e;},'JDxOQ':function(_0x2566e1,_0x428810){return _0x2566e1===_0x428810;},'QFhUr':'VPhBA','uGcgU':function(_0x3cfb86,_0x60e4a9){return _0x3cfb86===_0x60e4a9;},'edNDz':_0x320a(0x6),'UtfPD':_0x320a(0x7),'matDZ':function(_0x21b55a,_0x38ef5a){return _0x21b55a>=_0x38ef5a;},'oIQXg':'JSON\x20Parse\x20error','paeas':_0x320a(0x8)};if(_0x575cb1[_0x320a(0x9)](_0x5eb1ef[_0x320a(0xa)],0x190)&&_0x575cb1['asSlp'](_0x5eb1ef[_0x320a(0xa)],0x1f4)&&_0x575cb1[_0x320a(0xb)](_0x5eb1ef['status'],0x198)&&_0x575cb1[_0x320a(0xc)](_0x5eb1ef[_0x320a(0xa)],0x1ad))return _0x575cb1['JDxOQ'](_0x575cb1[_0x320a(0xd)],_0x320a(0xe))?!![]:![];if(_0x575cb1[_0x320a(0xf)](_0x5eb1ef[_0x320a(0x10)],_0x320a(0x11))||_0x5eb1ef[_0x320a(0x12)][_0x320a(0x13)]('Network\x20request\x20failed')||_0x5eb1ef['message']['includes'](_0x575cb1[_0x320a(0x14)])||_0x5eb1ef[_0x320a(0x12)][_0x320a(0x13)](_0x575cb1['UtfPD'])||_0x5eb1ef[_0x320a(0x12)][_0x320a(0x13)](_0x320a(0x15))||_0x575cb1[_0x320a(0x16)](_0x5eb1ef[_0x320a(0xa)],0x1f4))return!![];if(_0x5eb1ef[_0x320a(0x12)][_0x320a(0x13)](_0x575cb1[_0x320a(0x17)])||_0x5eb1ef['message'][_0x320a(0x13)](_0x575cb1['paeas']))return!![];return![];}};function _0x1caf(){const _0x5cbd84=['defineProperty','__esModule','NETWORK_RETRY_OPTIONS','API_RETRY_OPTIONS','withRetry','DEFAULT_RETRY_OPTIONS','fetch','ENOTFOUND','Unexpected\x20character','kdWAw','status','guUre','zhfdA','QFhUr','QxfcK','uGcgU','name','AbortError','message','includes','edNDz','timeout','matDZ','oIQXg','Network\x20request\x20failed','HHEOy','rFWuz','now','maxRetries','ogXua','CrdXx','lGbGf','🔄\x20Retry\x20attempt\x20','cpkLr','MUGPJ','YxEbK','lwYrO','shouldRetry','QIiqh','enableLogging','error','❌\x20All\x20retry\x20attempts\x20exhausted\x20or\x20error\x20not\x20retryable:\x20','baseDelay','exponentialBackoff','XDHcl','min','pow','onRetry','UqyNF','random','floor','rbTdG','log','ms\x20before\x20retry\x20(attempt\x20','YeOAN','gTFvK','obzJt','Unknown\x20error','KnpyH','validation\x20endpoint','HTML\x20page\x20instead\x20of\x20JSON','UrOaD','WUiLw','EIeHZ','WEQGC','AZpds','EtuDY','GbwEw','Hdfwn','jybyD','DkroX','JEows','sbGds','yGRts','ehSMN','warn','),\x20retrying\x20in\x20','ms:\x20','DNS','lzDpb','JrYLS','mQEmA','GOCNU','success','data','abort','signal','JRqKj','uFmcH'];_0x1caf=function(){return _0x5cbd84;};return _0x1caf();}async function withRetry(_0x228923,_0x51caca={}){const _0x582ae3={'MUGPJ':function(_0x3dcea6,_0x208353){return _0x3dcea6-_0x208353;},'YeOAN':_0x320a(0x18),'gTFvK':_0x320a(0x7),'obzJt':function(_0xd3c4,_0x22a407){return _0xd3c4===_0x22a407;},'ogXua':function(_0x294330,_0x1a5532){return _0x294330===_0x1a5532;},'CrdXx':_0x320a(0x19),'lGbGf':function(_0x22529c,_0x30e85c){return _0x22529c===_0x30e85c;},'mGvwP':'DwRuA','cpkLr':function(_0x5cc725,_0x50d155){return _0x5cc725+_0x50d155;},'YxEbK':function(_0x5c2443){return _0x5c2443();},'typkN':function(_0x7fd2d2,_0x5acb15){return _0x7fd2d2-_0x5acb15;},'lwYrO':_0x320a(0x1a),'QIiqh':function(_0x2b38bc,_0x35a01a){return _0x2b38bc>_0x35a01a;},'UqyNF':function(_0x1ba270,_0x20ff3e){return _0x1ba270*_0x20ff3e;},'rbTdG':function(_0x49123e,_0x31c493){return _0x49123e+_0x31c493;},'KnpyH':function(_0x53fc7e,_0x2064fe){return _0x53fc7e+_0x2064fe;}},_0x2eab5d={...DEFAULT_RETRY_OPTIONS,..._0x51caca},_0x2d43af=Date[_0x320a(0x1b)]();let _0x3a5b6c=null;for(let _0x1c8674=0x1;_0x1c8674<=_0x2eab5d[_0x320a(0x1c)]+0x1;_0x1c8674++){try{if(_0x582ae3[_0x320a(0x1d)]('GtETp',_0x582ae3[_0x320a(0x1e)]))return![];else{if(_0x2eab5d['enableLogging']&&_0x1c8674>0x1){if(_0x582ae3[_0x320a(0x1f)](_0x582ae3['mGvwP'],_0x582ae3['mGvwP']))console['log'](_0x320a(0x20)+_0x1c8674+'/'+_0x582ae3[_0x320a(0x21)](_0x2eab5d[_0x320a(0x1c)],0x1));else return{'reachable':![],'error':_0x12a011[_0x320a(0x12)],'duration':_0x582ae3[_0x320a(0x22)](_0x2f8cdb[_0x320a(0x1b)](),_0x1e86a5)};}const _0x4ea835=await _0x582ae3[_0x320a(0x23)](_0x228923);return{'success':!![],'data':_0x4ea835,'attempts':_0x1c8674,'totalDuration':_0x582ae3['typkN'](Date[_0x320a(0x1b)](),_0x2d43af)};}}catch(_0x7e0526){if(_0x582ae3[_0x320a(0x24)]===_0x582ae3[_0x320a(0x24)]){_0x3a5b6c=_0x7e0526;const _0x5cc18e=_0x2eab5d[_0x320a(0x25)]?_0x2eab5d['shouldRetry'](_0x7e0526,_0x1c8674):!![];if(_0x582ae3[_0x320a(0x26)](_0x1c8674,_0x2eab5d[_0x320a(0x1c)])||!_0x5cc18e){_0x2eab5d[_0x320a(0x27)]&&console[_0x320a(0x28)](_0x320a(0x29)+_0x7e0526[_0x320a(0x12)]);break;}let _0x5c9415=_0x2eab5d[_0x320a(0x2a)];_0x2eab5d[_0x320a(0x2b)]&&(_0x582ae3[_0x320a(0x1f)](_0x320a(0x2c),_0x320a(0x2c))?_0x5c9415=Math[_0x320a(0x2d)](_0x2eab5d['baseDelay']*Math[_0x320a(0x2e)](0x2,_0x582ae3['typkN'](_0x1c8674,0x1)),_0x2eab5d['maxDelay']):_0xa5e01b[_0x320a(0x2f)](_0x2c60f1,_0x47b4f6,_0x1caa3c));const _0x233ae9=_0x582ae3[_0x320a(0x30)](Math[_0x320a(0x31)]()*0.1,_0x5c9415);_0x5c9415=Math[_0x320a(0x32)](_0x582ae3[_0x320a(0x33)](_0x5c9415,_0x233ae9)),_0x2eab5d[_0x320a(0x2f)]&&_0x2eab5d[_0x320a(0x2f)](_0x7e0526,_0x1c8674,_0x5c9415),_0x2eab5d['enableLogging']&&console[_0x320a(0x34)]('⏳\x20Waiting\x20'+_0x5c9415+_0x320a(0x35)+_0x1c8674+'/'+_0x582ae3[_0x320a(0x21)](_0x2eab5d[_0x320a(0x1c)],0x1)+')'),await new Promise(_0x3b1ef5=>setTimeout(()=>_0x3b1ef5(),_0x5c9415));}else return _0x588ff9[_0x320a(0x12)][_0x320a(0x13)](_0x582ae3[_0x320a(0x36)])||_0x5e4208[_0x320a(0x12)][_0x320a(0x13)](_0x582ae3[_0x320a(0x37)])||_0x394f94[_0x320a(0x12)][_0x320a(0x13)]('DNS')||_0x582ae3[_0x320a(0x38)](_0x3df031[_0x320a(0x10)],'AbortError');}}return{'success':![],'error':_0x3a5b6c||new Error(_0x320a(0x39)),'attempts':_0x582ae3[_0x320a(0x3a)](_0x2eab5d['maxRetries'],0x1),'totalDuration':Date[_0x320a(0x1b)]()-_0x2d43af};}const API_RETRY_OPTIONS=exports[_0x320a(0x3)]={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'shouldRetry':(_0x12a77c,_0x15cc5e)=>{const _0x26197e={'yGRts':function(_0x10bae0,_0x323ce7){return _0x10bae0===_0x323ce7;},'WEQGC':function(_0x4e2777,_0x40edda){return _0x4e2777===_0x40edda;},'WUiLw':function(_0x16a2f7,_0x4716eb){return _0x16a2f7===_0x4716eb;},'EIeHZ':_0x320a(0x3b),'LZWGm':function(_0x1aa28c,_0x2df2d8){return _0x1aa28c<=_0x2df2d8;},'AZpds':function(_0x241174,_0x567331){return _0x241174>=_0x567331;},'EtuDY':function(_0x371f84,_0x3ec2ca){return _0x371f84===_0x3ec2ca;},'GbwEw':_0x320a(0x11),'Hdfwn':_0x320a(0x15),'jybyD':_0x320a(0x6),'DkroX':_0x320a(0x7),'PRzXC':'JSON\x20Parse\x20error','JEows':_0x320a(0x8),'sbGds':_0x320a(0x3c),'ehSMN':_0x320a(0x3d)};if(_0x26197e['yGRts'](_0x12a77c['status'],0x191)||_0x26197e['WEQGC'](_0x12a77c[_0x320a(0xa)],0x193))return![];if(_0x12a77c[_0x320a(0xa)]===0x190||_0x26197e[_0x320a(0x3e)](_0x12a77c[_0x320a(0xa)],0x194)&&!_0x12a77c[_0x320a(0x12)][_0x320a(0x13)](_0x26197e[_0x320a(0x3f)]))return![];if(_0x26197e[_0x320a(0x40)](_0x12a77c[_0x320a(0xa)],0x1ad))return _0x26197e['LZWGm'](_0x15cc5e,0x2);if(_0x26197e[_0x320a(0x41)](_0x12a77c[_0x320a(0xa)],0x1f4))return!![];if(_0x26197e[_0x320a(0x42)](_0x12a77c['name'],_0x26197e[_0x320a(0x43)])||_0x12a77c[_0x320a(0x12)]['includes'](_0x26197e[_0x320a(0x44)])||_0x12a77c[_0x320a(0x12)]['includes']('Network\x20request\x20failed')||_0x12a77c[_0x320a(0x12)][_0x320a(0x13)](_0x26197e[_0x320a(0x45)])||_0x12a77c['message']['includes'](_0x26197e[_0x320a(0x46)]))return!![];if(_0x12a77c[_0x320a(0x12)]['includes'](_0x26197e['PRzXC'])||_0x12a77c['message']['includes'](_0x26197e[_0x320a(0x47)])||_0x12a77c[_0x320a(0x12)][_0x320a(0x13)](_0x26197e[_0x320a(0x48)]))return _0x26197e[_0x320a(0x49)](_0x26197e[_0x320a(0x4a)],_0x320a(0x3d))?!![]:!![];return![];},'onRetry':(_0x2f246a,_0x499072,_0x2fe5a6)=>{console[_0x320a(0x4b)]('⚠️\x20API\x20call\x20failed\x20(attempt\x20'+_0x499072+_0x320a(0x4c)+_0x2fe5a6+_0x320a(0x4d)+_0x2f246a[_0x320a(0x12)]);}},NETWORK_RETRY_OPTIONS=exports[_0x320a(0x2)]={'maxRetries':0x2,'baseDelay':0x7d0,'maxDelay':0x1f40,'exponentialBackoff':!![],'shouldRetry':(_0x5e7cb4,_0x55df35)=>{const _0x330c67={'lzDpb':_0x320a(0x18),'JrYLS':_0x320a(0x4e),'mQEmA':function(_0x31f689,_0x50815d){return _0x31f689===_0x50815d;},'GOCNU':'AbortError'};return _0x5e7cb4[_0x320a(0x12)]['includes'](_0x330c67[_0x320a(0x4f)])||_0x5e7cb4[_0x320a(0x12)][_0x320a(0x13)](_0x320a(0x7))||_0x5e7cb4[_0x320a(0x12)]['includes'](_0x330c67[_0x320a(0x50)])||_0x330c67[_0x320a(0x51)](_0x5e7cb4[_0x320a(0x10)],_0x330c67[_0x320a(0x52)]);}};function _0x320a(_0x1caf7f,_0x320a5d){_0x1caf7f=_0x1caf7f-0x0;const _0xd5309d=_0x1caf();let _0x437926=_0xd5309d[_0x1caf7f];return _0x437926;}async function fetchWithRetry(_0x35977f,_0x316ba5={},_0x5d8dfd=API_RETRY_OPTIONS){const _0x16ba27={'CxLkE':function(_0x14a649,_0x213728,_0x5bc7eb){return _0x14a649(_0x213728,_0x5bc7eb);}},_0x2e98e4=await _0x16ba27['CxLkE'](withRetry,()=>fetch(_0x35977f,_0x316ba5),_0x5d8dfd);if(!_0x2e98e4[_0x320a(0x53)])throw _0x2e98e4['error'];return _0x2e98e4[_0x320a(0x54)];}async function healthCheck(_0x51f65d,_0x3466c7=0x1388){const _0x38135c={'WXmUd':function(_0x32d374,_0x731d2,_0x2f93d3){return _0x32d374(_0x731d2,_0x2f93d3);},'JRqKj':'OnairosReactNative/HealthCheck','uFmcH':function(_0x30fbc3,_0x1f9ef8){return _0x30fbc3-_0x1f9ef8;}},_0x4add0d=Date[_0x320a(0x1b)]();try{const _0x8aeb4d=new AbortController(),_0x33df8c=_0x38135c['WXmUd'](setTimeout,()=>_0x8aeb4d[_0x320a(0x55)](),_0x3466c7),_0x284f2e=await fetch(_0x51f65d,{'method':'GET','signal':_0x8aeb4d[_0x320a(0x56)],'headers':{'User-Agent':_0x38135c[_0x320a(0x57)]}});return clearTimeout(_0x33df8c),{'reachable':!![],'status':_0x284f2e[_0x320a(0xa)],'duration':_0x38135c[_0x320a(0x58)](Date[_0x320a(0x1b)](),_0x4add0d)};}catch(_0x2564b6){return{'reachable':![],'error':_0x2564b6['message'],'duration':_0x38135c[_0x320a(0x58)](Date[_0x320a(0x1b)](),_0x4add0d)};}}
1
+ 'use strict';function _0x4313(_0x4dc08f,_0x431377){_0x4dc08f=_0x4dc08f-0x0;const _0x19f59e=_0x4dc0();let _0x54c75b=_0x19f59e[_0x4dc08f];return _0x54c75b;}Object[_0x4313(0x0)](exports,'__esModule',{'value':!![]}),exports[_0x4313(0x1)]=exports[_0x4313(0x2)]=exports['API_RETRY_OPTIONS']=void 0x0,exports[_0x4313(0x3)]=fetchWithRetry,exports['healthCheck']=healthCheck,exports[_0x4313(0x4)]=withRetry;const DEFAULT_RETRY_OPTIONS=exports['DEFAULT_RETRY_OPTIONS']={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'enableLogging':![],'shouldRetry':(_0x1d42d6,_0x33550d)=>{const _0x435f6a={'HXutb':function(_0x437b78,_0x562f1f){return _0x437b78<_0x562f1f;},'YZaCV':function(_0x4fe537,_0x21c515){return _0x4fe537!==_0x21c515;},'lNYeJ':function(_0x52ec53,_0x29efd1){return _0x52ec53!==_0x29efd1;},'kfKNO':_0x4313(0x5),'vLiIT':_0x4313(0x6),'sUyER':_0x4313(0x7),'sYIEV':'timeout','vUVJR':function(_0x28a4ba,_0x1f863b){return _0x28a4ba>=_0x1f863b;},'rNhPB':function(_0x3b1a51,_0x45f16c){return _0x3b1a51!==_0x45f16c;},'yeQPG':_0x4313(0x8),'gjlry':'Unexpected\x20character'};if(_0x1d42d6[_0x4313(0x9)]>=0x190&&_0x435f6a[_0x4313(0xa)](_0x1d42d6['status'],0x1f4)&&_0x435f6a[_0x4313(0xb)](_0x1d42d6['status'],0x198)&&_0x435f6a[_0x4313(0xc)](_0x1d42d6[_0x4313(0x9)],0x1ad))return![];if(_0x1d42d6[_0x4313(0xd)]===_0x435f6a[_0x4313(0xe)]||_0x1d42d6[_0x4313(0xf)]['includes'](_0x4313(0x10))||_0x1d42d6[_0x4313(0xf)][_0x4313(0x11)](_0x435f6a['vLiIT'])||_0x1d42d6[_0x4313(0xf)]['includes'](_0x435f6a[_0x4313(0x12)])||_0x1d42d6[_0x4313(0xf)][_0x4313(0x11)](_0x435f6a[_0x4313(0x13)])||_0x435f6a['vUVJR'](_0x1d42d6[_0x4313(0x9)],0x1f4))return _0x435f6a[_0x4313(0x14)](_0x435f6a['yeQPG'],'GHHch')?!![]:!![];if(_0x1d42d6[_0x4313(0xf)][_0x4313(0x11)](_0x4313(0x15))||_0x1d42d6[_0x4313(0xf)][_0x4313(0x11)](_0x435f6a[_0x4313(0x16)]))return!![];return![];}};async function withRetry(_0x33477b,_0x5514d1={}){const _0x5d8e19={'DFKmh':function(_0x3683bc,_0x2febc9){return _0x3683bc===_0x2febc9;},'eTNtT':_0x4313(0x17),'nNRqQ':function(_0x196f4b,_0x33bdb9){return _0x196f4b!==_0x33bdb9;},'zLFza':_0x4313(0x18),'RwbAY':function(_0xe13f53,_0x4001d9){return _0xe13f53+_0x4001d9;},'vAqIE':function(_0x3e533f){return _0x3e533f();},'jMmts':function(_0x492766,_0x201c37){return _0x492766-_0x201c37;},'mqTDn':function(_0x54e6b5,_0x3c1e02){return _0x54e6b5>_0x3c1e02;},'oUrav':function(_0x5a5744,_0x2abb7f){return _0x5a5744-_0x2abb7f;},'FWAmx':function(_0x5a69f1,_0x1e236a){return _0x5a69f1*_0x1e236a;},'ftpwr':_0x4313(0x19)},_0x32b91e={...DEFAULT_RETRY_OPTIONS,..._0x5514d1},_0x55bbad=Date[_0x4313(0x1a)]();let _0xb7b860=null;for(let _0x20e8b2=0x1;_0x20e8b2<=_0x32b91e[_0x4313(0x1b)]+0x1;_0x20e8b2++){if(_0x5d8e19[_0x4313(0x1c)](_0x5d8e19[_0x4313(0x1d)],_0x5d8e19[_0x4313(0x1d)]))try{if(_0x32b91e['enableLogging']&&_0x20e8b2>0x1){if(_0x5d8e19['nNRqQ'](_0x5d8e19[_0x4313(0x1e)],_0x5d8e19[_0x4313(0x1e)]))return!![];else console['log'](_0x4313(0x1f)+_0x20e8b2+'/'+_0x5d8e19[_0x4313(0x20)](_0x32b91e[_0x4313(0x1b)],0x1));}const _0x13cd20=await _0x5d8e19[_0x4313(0x21)](_0x33477b);return{'success':!![],'data':_0x13cd20,'attempts':_0x20e8b2,'totalDuration':_0x5d8e19[_0x4313(0x22)](Date[_0x4313(0x1a)](),_0x55bbad)};}catch(_0x4c6a5b){_0xb7b860=_0x4c6a5b;const _0x88610d=_0x32b91e[_0x4313(0x23)]?_0x32b91e['shouldRetry'](_0x4c6a5b,_0x20e8b2):!![];if(_0x5d8e19[_0x4313(0x24)](_0x20e8b2,_0x32b91e['maxRetries'])||!_0x88610d){_0x32b91e[_0x4313(0x25)]&&console['error'](_0x4313(0x26)+_0x4c6a5b[_0x4313(0xf)]);break;}let _0x18c46f=_0x32b91e['baseDelay'];_0x32b91e[_0x4313(0x27)]&&(_0x18c46f=Math[_0x4313(0x28)](_0x32b91e['baseDelay']*Math[_0x4313(0x29)](0x2,_0x5d8e19['oUrav'](_0x20e8b2,0x1)),_0x32b91e[_0x4313(0x2a)]));const _0x2d248e=_0x5d8e19[_0x4313(0x2b)](_0x5d8e19[_0x4313(0x2b)](Math[_0x4313(0x2c)](),0.1),_0x18c46f);_0x18c46f=Math[_0x4313(0x2d)](_0x5d8e19[_0x4313(0x20)](_0x18c46f,_0x2d248e)),_0x32b91e['onRetry']&&_0x32b91e[_0x4313(0x2e)](_0x4c6a5b,_0x20e8b2,_0x18c46f),_0x32b91e[_0x4313(0x25)]&&console[_0x4313(0x2f)](_0x4313(0x30)+_0x18c46f+_0x4313(0x31)+_0x20e8b2+'/'+(_0x32b91e[_0x4313(0x1b)]+0x1)+')'),await new Promise(_0xbe6834=>setTimeout(()=>_0xbe6834(),_0x18c46f));}else _0x5bcba2[_0x4313(0x2e)](_0x51d92a,_0x32cfbb,_0x46e5b7);}return{'success':![],'error':_0xb7b860||new Error(_0x5d8e19['ftpwr']),'attempts':_0x5d8e19[_0x4313(0x20)](_0x32b91e[_0x4313(0x1b)],0x1),'totalDuration':_0x5d8e19[_0x4313(0x22)](Date[_0x4313(0x1a)](),_0x55bbad)};}function _0x4dc0(){const _0x21e415=['defineProperty','NETWORK_RETRY_OPTIONS','DEFAULT_RETRY_OPTIONS','fetchWithRetry','withRetry','AbortError','fetch','ENOTFOUND','xhexe','status','HXutb','YZaCV','lNYeJ','name','kfKNO','message','Network\x20request\x20failed','includes','sUyER','sYIEV','rNhPB','JSON\x20Parse\x20error','gjlry','FYagV','GSYNQ','Unknown\x20error','now','maxRetries','DFKmh','eTNtT','zLFza','🔄\x20Retry\x20attempt\x20','RwbAY','vAqIE','jMmts','shouldRetry','mqTDn','enableLogging','❌\x20All\x20retry\x20attempts\x20exhausted\x20or\x20error\x20not\x20retryable:\x20','exponentialBackoff','min','pow','maxDelay','FWAmx','random','floor','onRetry','log','⏳\x20Waiting\x20','ms\x20before\x20retry\x20(attempt\x20','API_RETRY_OPTIONS','DaXWt','validation\x20endpoint','WJsjN','timeout','Unexpected\x20character','XpLUG','xTWpQ','AEOSM','Ppfmj','KpAhw','uUTKE','WWhTB','eBuwQ','DxWmM','HnABq','LUITg','vMqdc','lhKGF','HoYMh','pOUFi','⚠️\x20API\x20call\x20failed\x20(attempt\x20','),\x20retrying\x20in\x20','ms:\x20','BlJtV','WYZtH','DNS','ZRBDh','OPhNd','success','error','eNsFj','bXxKl','Qcgnq','abort','signal','FgbFG','nvcUn','lmArc','qCOTB','mskDM','YBbQL','SkNiZ','ITvrL','lDjuR'];_0x4dc0=function(){return _0x21e415;};return _0x4dc0();}const API_RETRY_OPTIONS=exports[_0x4313(0x32)]={'maxRetries':0x3,'baseDelay':0x3e8,'maxDelay':0x1388,'exponentialBackoff':!![],'shouldRetry':(_0x1615a6,_0x29aee5)=>{const _0x50a22b={'XpLUG':function(_0x43c217,_0x19ba02){return _0x43c217===_0x19ba02;},'xTWpQ':function(_0x47e2bb,_0x6153e8){return _0x47e2bb===_0x6153e8;},'uUTKE':function(_0x1660bf,_0x165689){return _0x1660bf!==_0x165689;},'AEOSM':_0x4313(0x33),'Ppfmj':'fKniX','KpAhw':_0x4313(0x34),'WWhTB':'rthON','eBuwQ':_0x4313(0x35),'DxWmM':function(_0x1b0742,_0x26eee2){return _0x1b0742<=_0x26eee2;},'HnABq':function(_0x1ec7bb,_0x90acf6){return _0x1ec7bb>=_0x90acf6;},'LUITg':_0x4313(0x36),'vMqdc':_0x4313(0x10),'lhKGF':_0x4313(0x6),'HoYMh':_0x4313(0x15),'xluNO':_0x4313(0x37),'pOUFi':'HTML\x20page\x20instead\x20of\x20JSON'};if(_0x50a22b[_0x4313(0x38)](_0x1615a6['status'],0x191)||_0x50a22b[_0x4313(0x39)](_0x1615a6[_0x4313(0x9)],0x193))return _0x50a22b['uUTKE'](_0x50a22b[_0x4313(0x3a)],_0x50a22b[_0x4313(0x3b)])?![]:!![];if(_0x1615a6[_0x4313(0x9)]===0x190||_0x1615a6[_0x4313(0x9)]===0x194&&!_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x50a22b[_0x4313(0x3c)]))return _0x50a22b[_0x4313(0x3d)](_0x50a22b[_0x4313(0x3e)],_0x50a22b[_0x4313(0x3f)])?![]:![];if(_0x50a22b[_0x4313(0x38)](_0x1615a6[_0x4313(0x9)],0x1ad))return _0x50a22b[_0x4313(0x40)](_0x29aee5,0x2);if(_0x50a22b[_0x4313(0x41)](_0x1615a6['status'],0x1f4))return!![];if(_0x1615a6['name']===_0x4313(0x5)||_0x1615a6[_0x4313(0xf)]['includes'](_0x50a22b[_0x4313(0x42)])||_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x50a22b[_0x4313(0x43)])||_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x50a22b[_0x4313(0x44)])||_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x4313(0x7)))return!![];if(_0x1615a6[_0x4313(0xf)][_0x4313(0x11)](_0x50a22b[_0x4313(0x45)])||_0x1615a6['message'][_0x4313(0x11)](_0x50a22b['xluNO'])||_0x1615a6['message'][_0x4313(0x11)](_0x50a22b[_0x4313(0x46)]))return!![];return![];},'onRetry':(_0x32fa8d,_0x3342b1,_0x4a871f)=>{console['warn'](_0x4313(0x47)+_0x3342b1+_0x4313(0x48)+_0x4a871f+_0x4313(0x49)+_0x32fa8d['message']);}},NETWORK_RETRY_OPTIONS=exports[_0x4313(0x1)]={'maxRetries':0x2,'baseDelay':0x7d0,'maxDelay':0x1f40,'exponentialBackoff':!![],'shouldRetry':(_0x556c7c,_0x4fba86)=>{const _0x185920={'BlJtV':_0x4313(0x10),'WYZtH':'ENOTFOUND','ZRBDh':function(_0x426774,_0xe0c0b1){return _0x426774===_0xe0c0b1;}};return _0x556c7c[_0x4313(0xf)][_0x4313(0x11)](_0x185920[_0x4313(0x4a)])||_0x556c7c['message'][_0x4313(0x11)](_0x185920[_0x4313(0x4b)])||_0x556c7c[_0x4313(0xf)][_0x4313(0x11)](_0x4313(0x4c))||_0x185920[_0x4313(0x4d)](_0x556c7c[_0x4313(0xd)],_0x4313(0x5));}};async function fetchWithRetry(_0x54871d,_0xb741e0={},_0x509c7f=API_RETRY_OPTIONS){const _0x233860={'OPhNd':function(_0x4eb7d2,_0x2b3e4a,_0x206380){return _0x4eb7d2(_0x2b3e4a,_0x206380);}},_0x14642e=await _0x233860[_0x4313(0x4e)](withRetry,()=>fetch(_0x54871d,_0xb741e0),_0x509c7f);if(!_0x14642e[_0x4313(0x4f)])throw _0x14642e[_0x4313(0x50)];return _0x14642e['data'];}async function healthCheck(_0x205fa6,_0x3ffeae=0x1388){const _0xb73649={'Qcgnq':function(_0x4e097f,_0x3f6e55){return _0x4e097f+_0x3f6e55;},'mskDM':_0x4313(0x10),'YBbQL':_0x4313(0x7),'SkNiZ':_0x4313(0x4c),'ITvrL':function(_0x532c3e,_0x2f8544){return _0x532c3e===_0x2f8544;},'lDjuR':'AbortError','mLoRh':function(_0x556c06,_0x404cff){return _0x556c06!==_0x404cff;},'IrCoi':_0x4313(0x51),'FgbFG':'OnairosReactNative/HealthCheck','nvcUn':function(_0x5d7410,_0x24f784){return _0x5d7410(_0x24f784);},'lmArc':function(_0x133dc3,_0x248fbf){return _0x133dc3-_0x248fbf;},'QUZkV':function(_0xd064ff,_0x2945e9){return _0xd064ff!==_0x2945e9;},'qCOTB':_0x4313(0x52)},_0x151e13=Date[_0x4313(0x1a)]();try{if(_0xb73649['mLoRh'](_0x4313(0x51),_0xb73649['IrCoi']))_0xb1a357[_0x4313(0x2f)]('⏳\x20Waiting\x20'+_0x1ba8bd+_0x4313(0x31)+_0x2743d3+'/'+_0xb73649[_0x4313(0x53)](_0x35a18a['maxRetries'],0x1)+')');else{const _0x1a8229=new AbortController(),_0x394d4a=setTimeout(()=>_0x1a8229[_0x4313(0x54)](),_0x3ffeae),_0x3dfa4c=await fetch(_0x205fa6,{'method':'GET','signal':_0x1a8229[_0x4313(0x55)],'headers':{'User-Agent':_0xb73649[_0x4313(0x56)]}});return _0xb73649[_0x4313(0x57)](clearTimeout,_0x394d4a),{'reachable':!![],'status':_0x3dfa4c[_0x4313(0x9)],'duration':_0xb73649[_0x4313(0x58)](Date[_0x4313(0x1a)](),_0x151e13)};}}catch(_0x39c6cd){return _0xb73649['QUZkV'](_0xb73649[_0x4313(0x59)],_0xb73649['qCOTB'])?_0x25f9f6[_0x4313(0xf)]['includes'](_0xb73649[_0x4313(0x5a)])||_0x1212bf[_0x4313(0xf)][_0x4313(0x11)](_0xb73649[_0x4313(0x5b)])||_0x57dc7f[_0x4313(0xf)][_0x4313(0x11)](_0xb73649[_0x4313(0x5c)])||_0xb73649[_0x4313(0x5d)](_0x2a9c8c[_0x4313(0xd)],_0xb73649[_0x4313(0x5e)]):{'reachable':![],'error':_0x39c6cd['message'],'duration':_0xb73649[_0x4313(0x58)](Date[_0x4313(0x1a)](),_0x151e13)};}}
@@ -7,4 +7,4 @@ var __ONAIROS_REQ_REGISTRY__ = [
7
7
  require('react-native-keychain')
8
8
  ];
9
9
  function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
10
- Object['defineProperty'](exports,_0x2a1e(0x0),{'value':!![]}),exports['verifyCredentials']=exports[_0x2a1e(0x1)]=exports[_0x2a1e(0x2)]=exports[_0x2a1e(0x3)]=exports[_0x2a1e(0x4)]=exports['hasCredentials']=exports[_0x2a1e(0x5)]=exports[_0x2a1e(0x6)]=exports[_0x2a1e(0x7)]=exports['generateDeviceUsername']=exports[_0x2a1e(0x8)]=exports[_0x2a1e(0x9)]=void 0x0;var _reactNative=__ONAIROS_REQ_FUNC__(0x0),_constants=__ONAIROS_REQ_FUNC__(0x1),_asyncStorage=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2));function _interopRequireDefault(_0x98a73e){return _0x98a73e&&_0x98a73e[_0x2a1e(0x0)]?_0x98a73e:{'default':_0x98a73e};}const JWT_TOKEN_KEY=_0x2a1e(0xa),mockStorage={};let Keychain=null;try{Keychain=__ONAIROS_REQ_FUNC__(0x3);}catch(_0x46fb7e){console[_0x2a1e(0xb)]('react-native-keychain module not available, using mock storage'),Keychain={'ACCESS_CONTROL':{'BIOMETRY_ANY_OR_DEVICE_PASSCODE':_0x2a1e(0xc)},'ACCESSIBLE':{'WHEN_UNLOCKED':_0x2a1e(0xc)},'getGenericPassword':async()=>null,'setGenericPassword':async()=>!![],'resetGenericPassword':async()=>!![]};}const isKeychainAvailable=()=>{const _0x5dd7f1={'xbpFt':_0x2a1e(0xd),'YXrGd':function(_0x6f5cff,_0x19b7f1){return _0x6f5cff===_0x19b7f1;},'QRniU':'default','Ghkhv':'❌\x20Failed\x20to\x20retrieve\x20JWT\x20token:','OCIxJ':_0x2a1e(0xe),'cECFZ':function(_0x116684,_0x3f9d0e){return _0x116684===_0x3f9d0e;},'hCNOg':_0x2a1e(0xf),'vHwAX':_0x2a1e(0x10)};try{if(_0x5dd7f1[_0x2a1e(0x11)]===_0x5dd7f1[_0x2a1e(0x11)])return Keychain&&_0x5dd7f1[_0x2a1e(0x12)](typeof Keychain[_0x2a1e(0x13)],_0x5dd7f1[_0x2a1e(0x14)]);else{_0x5734cb[_0x2a1e(0xb)](_0x5dd7f1[_0x2a1e(0x15)],_0x20d766);const _0x3ca31c=(_0x5dd7f1[_0x2a1e(0x16)](_0x45df25,null)||_0x5dd7f1[_0x2a1e(0x16)](_0x7d2ddc,void 0x0)?void 0x0:_0x178e87[_0x2a1e(0x17)])||_0x5dd7f1[_0x2a1e(0x18)];return _0x5c981b[_0x3ca31c]={'username':_0x2e7718,'password':_0x307218},!![];}}catch(_0x2dab2e){return _0x5dd7f1[_0x2a1e(0x19)]!==_0x5dd7f1[_0x2a1e(0x19)]?(_0x28b250[_0x2a1e(0x1a)](_0x5dd7f1[_0x2a1e(0x1b)],_0xfb48e2),null):![];}},safeGetGenericPassword=async _0x3a876a=>{const _0x4e35a9={'IvKpr':function(_0x5e00f9,_0x27448a){return _0x5e00f9(_0x27448a);},'TQoOq':function(_0x5176ec,_0x77be82){return _0x5176ec!==_0x77be82;},'UHQcD':_0x2a1e(0x1c),'XmpbI':function(_0x22eabc,_0x29a502){return _0x22eabc===_0x29a502;},'YnlJH':_0x2a1e(0x1d),'yDCRa':_0x2a1e(0xd)};try{if(_0x4e35a9[_0x2a1e(0x1e)](_0x4e35a9[_0x2a1e(0x1f)],_0x2a1e(0x1c)))return _0x4e35a9[_0x2a1e(0x20)](_0x322bb2,_0x4bfa46);else{if(isKeychainAvailable())return await Keychain[_0x2a1e(0x13)](_0x3a876a);else{const _0x1756cd=(_0x4e35a9[_0x2a1e(0x21)](_0x3a876a,null)||_0x4e35a9['XmpbI'](_0x3a876a,void 0x0)?void 0x0:_0x3a876a[_0x2a1e(0x17)])||_0x4e35a9['YnlJH'];return mockStorage[_0x1756cd]||null;}}}catch(_0x4a1cec){console[_0x2a1e(0xb)](_0x4e35a9['yDCRa'],_0x4a1cec);const _0x5ab15f=(_0x3a876a===null||_0x3a876a===void 0x0?void 0x0:_0x3a876a[_0x2a1e(0x17)])||_0x4e35a9[_0x2a1e(0x22)];return mockStorage[_0x5ab15f]||null;}},safeSetGenericPassword=async(_0x2b2933,_0x108fce,_0x638f65)=>{const _0x2e9e28={'qUEpQ':_0x2a1e(0x23),'ObxQN':'Username\x20is\x20required\x20for\x20storing\x20credentials','NVora':function(_0x2fb5fc,_0x5eef16){return _0x2fb5fc!==_0x5eef16;},'yvszs':function(_0x326a22){return _0x326a22();},'hRzJc':function(_0x1687ed,_0x183898){return _0x1687ed!==_0x183898;},'dgyCH':_0x2a1e(0x24),'dhykP':function(_0x3260c8,_0x3d5bd5){return _0x3260c8===_0x3d5bd5;},'jSpKE':function(_0x5d2d40,_0x2e5bd1){return _0x5d2d40===_0x2e5bd1;},'wnHXr':_0x2a1e(0x1d),'lGMRs':_0x2a1e(0xd)};try{if(_0x2e9e28[_0x2a1e(0x25)](_0x2a1e(0x26),_0x2a1e(0x26)))return _0x4f94f2[_0x2a1e(0x1a)](_0x2e9e28[_0x2a1e(0x27)],_0x1d7b44),!![];else{if(_0x2e9e28[_0x2a1e(0x28)](isKeychainAvailable))return await Keychain[_0x2a1e(0x29)](_0x2b2933,_0x108fce,_0x638f65);else{if(_0x2e9e28['hRzJc'](_0x2e9e28[_0x2a1e(0x2a)],_0x2e9e28[_0x2a1e(0x2a)]))throw new _0xbefefb(_0x2e9e28[_0x2a1e(0x2b)]);else{const _0x295f74=(_0x2e9e28[_0x2a1e(0x2c)](_0x638f65,null)||_0x2e9e28[_0x2a1e(0x2d)](_0x638f65,void 0x0)?void 0x0:_0x638f65[_0x2a1e(0x17)])||_0x2e9e28[_0x2a1e(0x2e)];return mockStorage[_0x295f74]={'username':_0x2b2933,'password':_0x108fce},!![];}}}}catch(_0x266c18){console['warn'](_0x2e9e28[_0x2a1e(0x2f)],_0x266c18);const _0x17bca7=(_0x638f65===null||_0x2e9e28[_0x2a1e(0x2d)](_0x638f65,void 0x0)?void 0x0:_0x638f65['service'])||_0x2e9e28[_0x2a1e(0x2e)];return mockStorage[_0x17bca7]={'username':_0x2b2933,'password':_0x108fce},!![];}},safeResetGenericPassword=async _0x182954=>{const _0x3c731d={'YrCUp':_0x2a1e(0x30),'UihbN':function(_0x329525,_0x18e0bc){return _0x329525!==_0x18e0bc;},'qrQuA':'ZQGRR','okyzE':function(_0x382292){return _0x382292();},'bnJNh':_0x2a1e(0x31),'NxHFU':_0x2a1e(0x32),'QJroF':function(_0x4f0296,_0x302f3a){return _0x4f0296===_0x302f3a;},'MqCra':_0x2a1e(0x1d)};try{if(_0x3c731d['UihbN'](_0x3c731d[_0x2a1e(0x33)],_0x3c731d[_0x2a1e(0x33)]))return _0x518ee3['error'](_0x3c731d[_0x2a1e(0x34)],_0x59a14f),![];else{if(_0x3c731d[_0x2a1e(0x35)](isKeychainAvailable))return await Keychain[_0x2a1e(0x36)](_0x182954);else{if(_0x3c731d[_0x2a1e(0x37)]===_0x3c731d[_0x2a1e(0x38)])_0x111496[_0x2a1e(0x39)]=Keychain[_0x2a1e(0x3a)]['BIOMETRY_ANY_OR_DEVICE_PASSCODE'],_0x6b8ff3['accessible']=Keychain[_0x2a1e(0x3b)][_0x2a1e(0x3c)];else{const _0x3dad1e=(_0x3c731d[_0x2a1e(0x3d)](_0x182954,null)||_0x182954===void 0x0?void 0x0:_0x182954[_0x2a1e(0x17)])||_0x3c731d[_0x2a1e(0x3e)];return delete mockStorage[_0x3dad1e],!![];}}}}catch(_0x4e1ce9){console[_0x2a1e(0xb)]('Keychain\x20access\x20failed,\x20using\x20mock\x20storage',_0x4e1ce9);const _0x8fc731=(_0x3c731d[_0x2a1e(0x3d)](_0x182954,null)||_0x3c731d[_0x2a1e(0x3d)](_0x182954,void 0x0)?void 0x0:_0x182954[_0x2a1e(0x17)])||_0x3c731d[_0x2a1e(0x3e)];return delete mockStorage[_0x8fc731],!![];}},storeCredentials=async _0x793b0=>{const _0xda0c7f={'VjTvv':function(_0x1a29e8){return _0x1a29e8();},'tfgzv':function(_0xc8a724,_0xaad42c){return _0xc8a724===_0xaad42c;},'RhfbO':_0x2a1e(0x3f),'WghtV':function(_0xab2b49,_0x190320){return _0xab2b49!==_0x190320;},'JEbng':_0x2a1e(0x40),'QprSc':function(_0x54c79e,_0xeb17e8,_0x28e37a,_0x2c0a57){return _0x54c79e(_0xeb17e8,_0x28e37a,_0x2c0a57);}};try{const _0x37b463=await _0xda0c7f[_0x2a1e(0x41)](getCredentials),_0x4d9c92={..._0x37b463,..._0x793b0,'createdAt':(_0xda0c7f['tfgzv'](_0x37b463,null)||_0xda0c7f[_0x2a1e(0x42)](_0x37b463,void 0x0)?void 0x0:_0x37b463['createdAt'])||Date[_0x2a1e(0x43)]()},_0x1fb328=_0x4d9c92['username'];if(!_0x1fb328)throw new Error(_0xda0c7f[_0x2a1e(0x44)]);const _0x5b9667={'service':_constants[_0x2a1e(0x45)][_0x2a1e(0x46)]};return _0xda0c7f[_0x2a1e(0x47)](_reactNative[_0x2a1e(0x48)]['OS'],_0xda0c7f['JEbng'])&&_0xda0c7f[_0x2a1e(0x41)](isKeychainAvailable)&&(_0x5b9667[_0x2a1e(0x39)]=Keychain[_0x2a1e(0x3a)]['BIOMETRY_ANY_OR_DEVICE_PASSCODE'],_0x5b9667[_0x2a1e(0x49)]=Keychain['ACCESSIBLE'][_0x2a1e(0x3c)]),await _0xda0c7f[_0x2a1e(0x4a)](safeSetGenericPassword,_0x1fb328,JSON['stringify'](_0x4d9c92),_0x5b9667),!![];}catch(_0x25b63d){return console['error'](_0x2a1e(0x4b),_0x25b63d),![];}};exports['storeCredentials']=storeCredentials;const getCredentials=async()=>{const _0x20cc0e={'UFWxQ':function(_0xc4130b,_0x131586){return _0xc4130b(_0x131586);}};try{const _0x57be39=await _0x20cc0e['UFWxQ'](safeGetGenericPassword,{'service':_constants['STORAGE_KEYS']['credentials']});if(_0x57be39)return JSON[_0x2a1e(0x4c)](_0x57be39[_0x2a1e(0x4d)]);return null;}catch(_0x233339){return console[_0x2a1e(0x1a)]('Error\x20getting\x20credentials:',_0x233339),null;}};exports[_0x2a1e(0x7)]=getCredentials;const hasCredentials=async()=>{const _0x504aff={'kYgKW':function(_0x58aba0,_0x447177){return _0x58aba0(_0x447177);},'TjOdO':_0x2a1e(0x4e)};try{const _0x578da4=await _0x504aff['kYgKW'](safeGetGenericPassword,{'service':_constants[_0x2a1e(0x45)][_0x2a1e(0x46)]});return!!_0x578da4;}catch(_0x1de65a){return console['error'](_0x504aff[_0x2a1e(0x4f)],_0x1de65a),![];}};exports[_0x2a1e(0x50)]=hasCredentials;const deleteCredentials=async()=>{const _0x3bccb6={'HGYmy':function(_0xeba67e,_0x4595d9){return _0xeba67e(_0x4595d9);},'FrEQU':function(_0xd8441f,_0x10a78a){return _0xd8441f!==_0x10a78a;},'senqM':_0x2a1e(0x51),'fyHEm':_0x2a1e(0x52)};try{return await _0x3bccb6[_0x2a1e(0x53)](safeResetGenericPassword,{'service':_constants['STORAGE_KEYS'][_0x2a1e(0x46)]}),!![];}catch(_0x2fe20a){return _0x3bccb6[_0x2a1e(0x54)](_0x2a1e(0x55),_0x3bccb6[_0x2a1e(0x56)])?(console['error'](_0x3bccb6[_0x2a1e(0x57)],_0x2fe20a),![]):![];}};exports[_0x2a1e(0x8)]=deleteCredentials;const updateCredentials=async _0x3bbd02=>{return storeCredentials(_0x3bbd02);};exports['updateCredentials']=updateCredentials;const generateDeviceUsername=()=>{const _0x5c9d93=Math[_0x2a1e(0x58)]()[_0x2a1e(0x59)](0x24)[_0x2a1e(0x5a)](0x2,0xa);return _0x2a1e(0x5b)+_0x5c9d93;};exports[_0x2a1e(0x5c)]=generateDeviceUsername;const verifyCredentials=async _0x4152a5=>{const _0x4f9ac4={'zWExK':function(_0x566c5c,_0xbe4db9){return _0x566c5c+_0xbe4db9;},'gjEyH':function(_0x4f0581,_0x186500){return _0x4f0581|_0x186500;},'yVJxj':function(_0x52b6b5,_0x6f7765){return _0x52b6b5|_0x6f7765;},'ReOPI':function(_0x1d8a8e,_0x207d5c){return _0x1d8a8e|_0x207d5c;},'bOnhT':function(_0x53a5ad,_0xcdedeb){return _0x53a5ad<<_0xcdedeb;},'YqzoQ':function(_0x305bc3,_0x547828){return _0x305bc3<<_0x547828;},'ypdBa':function(_0x2d1107,_0x30673b){return _0x2d1107&_0x30673b;},'oYtyn':function(_0x3587e2,_0x99898a){return _0x3587e2>>_0x99898a;},'tWIOU':function(_0x43b1a7,_0x5e9084){return _0x43b1a7!==_0x5e9084;},'MfUwG':_0x2a1e(0x5d),'TVqPw':function(_0x5ed095){return _0x5ed095();},'rtPmo':_0x2a1e(0x30)};try{if(_0x4f9ac4[_0x2a1e(0x5e)]===_0x4f9ac4[_0x2a1e(0x5e)]){if(!_0x4f9ac4['TVqPw'](isKeychainAvailable))return!![];return!![];}else{const _0x1f359d=_0x3bacf8[_0x2a1e(0x5f)](_0x5bcbf1[_0x2a1e(0x60)](_0x24e489)),_0x40e816=_0x2d7ac3[_0x2a1e(0x5f)](_0x33e290[_0x2a1e(0x60)](_0x4f9ac4[_0x2a1e(0x61)](_0x5866d3,0x1))),_0x4e794c=_0x4e50fc[_0x2a1e(0x5f)](_0x25c423[_0x2a1e(0x60)](_0x4f9ac4['zWExK'](_0x43efcd,0x2))),_0x1aa61c=_0xb1d68f['indexOf'](_0x3c6a23[_0x2a1e(0x60)](_0x4f9ac4[_0x2a1e(0x61)](_0xbb574b,0x3))),_0xd13919=_0x4f9ac4['gjEyH'](_0x4f9ac4[_0x2a1e(0x62)](_0x4f9ac4[_0x2a1e(0x63)](_0x4f9ac4[_0x2a1e(0x64)](_0x1f359d,0x12),_0x4f9ac4[_0x2a1e(0x65)](_0x40e816,0xc)),_0x4e794c<<0x6),_0x1aa61c);_0x11349d+=_0x2eb443[_0x2a1e(0x66)](_0xd13919>>0x10&0xff);if(_0x4e794c!==0x40)_0x152f27+=_0x5b91fa['fromCharCode'](_0x4f9ac4[_0x2a1e(0x67)](_0x4f9ac4['oYtyn'](_0xd13919,0x8),0xff));if(_0x4f9ac4[_0x2a1e(0x68)](_0x1aa61c,0x40))_0xed7fa7+=_0x45d20a[_0x2a1e(0x66)](_0xd13919&0xff);}}catch(_0x41495a){return console[_0x2a1e(0x1a)](_0x4f9ac4[_0x2a1e(0x69)],_0x41495a),![];}};exports[_0x2a1e(0x6a)]=verifyCredentials;const getJWT=async()=>{try{const _0xc48394=await _asyncStorage[_0x2a1e(0x1d)][_0x2a1e(0x6b)](JWT_TOKEN_KEY);return _0xc48394;}catch(_0x4d48b3){return console['error'](_0x2a1e(0x6c),_0x4d48b3),null;}};exports['getJWT']=getJWT;const hasJWT=async()=>{const _0x19a271={'gzewz':_0x2a1e(0x6d)};try{const _0x36e95a=await _asyncStorage[_0x2a1e(0x1d)][_0x2a1e(0x6b)](JWT_TOKEN_KEY);return!!_0x36e95a;}catch(_0x3a4196){return console[_0x2a1e(0x1a)](_0x19a271[_0x2a1e(0x6e)],_0x3a4196),![];}};exports[_0x2a1e(0x4)]=hasJWT;function _0x2a1e(_0x42c003,_0x2a1e83){_0x42c003=_0x42c003-0x0;const _0x30393c=_0x42c0();let _0x4e95ff=_0x30393c[_0x42c003];return _0x4e95ff;}const clearJWT=async()=>{const _0x4b6194={'TGGPe':_0x2a1e(0x6f),'UprRq':_0x2a1e(0x70)};try{return await _asyncStorage['default'][_0x2a1e(0x71)](JWT_TOKEN_KEY),console[_0x2a1e(0x72)](_0x4b6194[_0x2a1e(0x73)]),!![];}catch(_0x5ceebc){return console[_0x2a1e(0x1a)](_0x4b6194[_0x2a1e(0x74)],_0x5ceebc),![];}};exports[_0x2a1e(0x9)]=clearJWT;const base64Decode=_0x3f5701=>{const _0x38b999={'JGkgo':function(_0x159814,_0x443181){return _0x159814%_0x443181;},'ZJbYT':function(_0x456fa4,_0x406ca6){return _0x456fa4<_0x406ca6;},'VVrQd':function(_0x4226bc,_0x3a571e){return _0x4226bc+_0x3a571e;},'qzAAc':function(_0x56be0f,_0x28fbb5){return _0x56be0f|_0x28fbb5;},'cUnuc':function(_0xef2bc2,_0xc38aa1){return _0xef2bc2<<_0xc38aa1;},'OmCxG':function(_0x5e9b06,_0x11fa4e){return _0x5e9b06<<_0x11fa4e;},'vSwUm':function(_0x45d3ad,_0xb7cda){return _0x45d3ad!==_0xb7cda;},'srtkg':function(_0x456f88,_0x290299){return _0x456f88&_0x290299;}};while(_0x38b999[_0x2a1e(0x75)](_0x3f5701[_0x2a1e(0x76)],0x4)){_0x3f5701+='=';}const _0x3e3061=_0x2a1e(0x77);let _0x27aa90='';for(let _0x59a338=0x0;_0x38b999['ZJbYT'](_0x59a338,_0x3f5701[_0x2a1e(0x76)]);_0x59a338+=0x4){const _0x358e7b=_0x3e3061[_0x2a1e(0x5f)](_0x3f5701[_0x2a1e(0x60)](_0x59a338)),_0x317725=_0x3e3061['indexOf'](_0x3f5701[_0x2a1e(0x60)](_0x59a338+0x1)),_0x32dd7c=_0x3e3061[_0x2a1e(0x5f)](_0x3f5701[_0x2a1e(0x60)](_0x59a338+0x2)),_0x352518=_0x3e3061['indexOf'](_0x3f5701[_0x2a1e(0x60)](_0x38b999['VVrQd'](_0x59a338,0x3))),_0xb77dfc=_0x38b999[_0x2a1e(0x78)](_0x358e7b<<0x12,_0x38b999[_0x2a1e(0x79)](_0x317725,0xc))|_0x38b999[_0x2a1e(0x7a)](_0x32dd7c,0x6)|_0x352518;_0x27aa90+=String[_0x2a1e(0x66)](_0xb77dfc>>0x10&0xff);if(_0x38b999[_0x2a1e(0x7b)](_0x32dd7c,0x40))_0x27aa90+=String[_0x2a1e(0x66)](_0x38b999[_0x2a1e(0x7c)](_0xb77dfc>>0x8,0xff));if(_0x38b999[_0x2a1e(0x7b)](_0x352518,0x40))_0x27aa90+=String[_0x2a1e(0x66)](_0x38b999[_0x2a1e(0x7c)](_0xb77dfc,0xff));}return _0x27aa90;},getJWTPayload=async()=>{const _0x5a6a02={'awaMk':_0x2a1e(0x7d),'Yryoy':function(_0x38a14a,_0x13948a){return _0x38a14a!==_0x13948a;},'ovKUe':_0x2a1e(0x7e),'KQHGz':_0x2a1e(0x7f),'bTLCi':function(_0x96e84c,_0x3881e9){return _0x96e84c===_0x3881e9;},'YNnAU':_0x2a1e(0x80)};try{if(_0x5a6a02['Yryoy'](_0x5a6a02[_0x2a1e(0x81)],_0x5a6a02[_0x2a1e(0x82)])){const _0xc5b018=await getJWT();if(!_0xc5b018)return null;const _0x56ec06=_0xc5b018[_0x2a1e(0x83)]('.');if(_0x56ec06[_0x2a1e(0x76)]!==0x3)return null;const _0x27b67c=base64Decode(_0x56ec06[0x1]),_0x5022cd=JSON[_0x2a1e(0x4c)](_0x27b67c);return _0x5022cd;}else _0xf6c8e9+='=';}catch(_0x142624){return _0x5a6a02[_0x2a1e(0x84)](_0x5a6a02['YNnAU'],_0x5a6a02[_0x2a1e(0x85)])?(console['error'](_0x5a6a02[_0x2a1e(0x86)],_0x142624),null):(_0x507bba[_0x2a1e(0x1a)](_0x5a6a02[_0x2a1e(0x86)],_0x207c45),null);}};exports[_0x2a1e(0x5)]=getJWTPayload;const isJWTExpired=async()=>{const _0x1f65ce={'RgKtE':function(_0x2a545e){return _0x2a545e();},'RSmvf':_0x2a1e(0x30),'LDjsF':function(_0x3b816a,_0x31efaa){return _0x3b816a===_0x31efaa;},'ontVs':_0x2a1e(0x87),'LFUjS':function(_0xb3e17f){return _0xb3e17f();},'Xgbyw':function(_0x59de90,_0x367f8f){return _0x59de90/_0x367f8f;},'TwJAw':function(_0x3bfea1,_0x3325c3){return _0x3bfea1<_0x3325c3;}};try{if(_0x1f65ce[_0x2a1e(0x88)](_0x2a1e(0x87),_0x1f65ce['ontVs'])){const _0x41ba0e=await _0x1f65ce[_0x2a1e(0x89)](getJWTPayload);if(!_0x41ba0e||!_0x41ba0e[_0x2a1e(0x8a)])return!![];const _0x3ab1f7=Math[_0x2a1e(0x8b)](_0x1f65ce[_0x2a1e(0x8c)](Date[_0x2a1e(0x43)](),0x3e8));return _0x1f65ce[_0x2a1e(0x8d)](_0x41ba0e[_0x2a1e(0x8a)],_0x3ab1f7);}else try{if(!_0x1f65ce[_0x2a1e(0x8e)](_0x145716))return!![];return!![];}catch(_0x122dcd){return _0x5b162e[_0x2a1e(0x1a)](_0x1f65ce['RSmvf'],_0x122dcd),![];}}catch(_0x34c69d){return console[_0x2a1e(0x1a)](_0x2a1e(0x23),_0x34c69d),!![];}};exports[_0x2a1e(0x3)]=isJWTExpired;function _0x42c0(){const _0xb71075=['__esModule','updateCredentials','storeCredentials','isJWTExpired','hasJWT','getJWTPayload','getJWT','getCredentials','deleteCredentials','clearJWT','onairos_jwt_token','warn','mock','Keychain\x20access\x20failed,\x20using\x20mock\x20storage','pUfsJ','function','LlrXk','OCIxJ','cECFZ','getGenericPassword','hCNOg','xbpFt','YXrGd','service','QRniU','vHwAX','error','Ghkhv','TDbDp','default','TQoOq','UHQcD','IvKpr','XmpbI','YnlJH','❌\x20Failed\x20to\x20check\x20JWT\x20expiration:','jBGdF','NVora','VMemz','qUEpQ','yvszs','setGenericPassword','dgyCH','ObxQN','dhykP','jSpKE','wnHXr','lGMRs','Error\x20verifying\x20credentials:','xfNAL','wGGJP','qrQuA','YrCUp','okyzE','resetGenericPassword','bnJNh','NxHFU','accessControl','ACCESS_CONTROL','ACCESSIBLE','WHEN_UNLOCKED','QJroF','MqCra','Username\x20is\x20required\x20for\x20storing\x20credentials','web','VjTvv','tfgzv','now','RhfbO','STORAGE_KEYS','credentials','WghtV','Platform','accessible','QprSc','Error\x20storing\x20credentials:','parse','password','Error\x20checking\x20credentials:','TjOdO','hasCredentials','xEZYR','Error\x20deleting\x20credentials:','HGYmy','FrEQU','Mrycp','senqM','fyHEm','random','toString','substring','dev_','generateDeviceUsername','TDyHe','MfUwG','indexOf','charAt','zWExK','yVJxj','ReOPI','bOnhT','YqzoQ','fromCharCode','ypdBa','tWIOU','rtPmo','verifyCredentials','getItem','❌\x20Failed\x20to\x20retrieve\x20JWT\x20token:','❌\x20Failed\x20to\x20check\x20JWT\x20token:','gzewz','🗑️\x20JWT\x20token\x20cleared','❌\x20Failed\x20to\x20clear\x20JWT\x20token:','removeItem','log','TGGPe','UprRq','JGkgo','length','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/','qzAAc','cUnuc','OmCxG','vSwUm','srtkg','❌\x20Failed\x20to\x20decode\x20JWT\x20payload:','nHBCu','MEolh','Bedtq','ovKUe','KQHGz','split','bTLCi','YNnAU','awaMk','BFEcn','LDjsF','LFUjS','exp','floor','Xgbyw','TwJAw','RgKtE'];_0x42c0=function(){return _0xb71075;};return _0x42c0();}
10
+ Object[_0xbaf6(0x0)](exports,_0xbaf6(0x1),{'value':!![]}),exports[_0xbaf6(0x2)]=exports[_0xbaf6(0x3)]=exports[_0xbaf6(0x4)]=exports[_0xbaf6(0x5)]=exports['hasJWT']=exports[_0xbaf6(0x6)]=exports['getJWTPayload']=exports['getJWT']=exports[_0xbaf6(0x7)]=exports[_0xbaf6(0x8)]=exports[_0xbaf6(0x9)]=exports['clearJWT']=void 0x0;var _reactNative=__ONAIROS_REQ_FUNC__(0x0),_constants=__ONAIROS_REQ_FUNC__(0x1),_asyncStorage=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2));function _interopRequireDefault(_0x8b2ada){return _0x8b2ada&&_0x8b2ada[_0xbaf6(0x1)]?_0x8b2ada:{'default':_0x8b2ada};}const JWT_TOKEN_KEY=_0xbaf6(0xa),mockStorage={};let Keychain=null;try{Keychain=__ONAIROS_REQ_FUNC__(0x3);}catch(_0x370852){console[_0xbaf6(0xb)]('react-native-keychain module not available, using mock storage'),Keychain={'ACCESS_CONTROL':{'BIOMETRY_ANY_OR_DEVICE_PASSCODE':_0xbaf6(0xc)},'ACCESSIBLE':{'WHEN_UNLOCKED':_0xbaf6(0xc)},'getGenericPassword':async()=>null,'setGenericPassword':async()=>!![],'resetGenericPassword':async()=>!![]};}const isKeychainAvailable=()=>{const _0x132a2b={'mIZdl':_0xbaf6(0xd),'ElDtc':function(_0x391f2d,_0x186015){return _0x391f2d<_0x186015;},'qZITi':function(_0x44df38,_0x5b6db2){return _0x44df38+_0x5b6db2;},'dxEpy':function(_0x4de142,_0x19762f){return _0x4de142|_0x19762f;},'vAqNc':function(_0x583fef,_0x14a30f){return _0x583fef<<_0x14a30f;},'zjRtE':function(_0x524105,_0x530855){return _0x524105&_0x530855;},'eVOrT':function(_0x4eac3f,_0x2197e9){return _0x4eac3f>>_0x2197e9;},'swMeX':function(_0x46fc90,_0x212719){return _0x46fc90!==_0x212719;},'XMObL':function(_0x2cd3d5,_0x38c3a3){return _0x2cd3d5===_0x38c3a3;},'Jnjfe':'function','Cewiw':function(_0x4378cb,_0x33509b){return _0x4378cb===_0x33509b;},'BRQMD':'gUONJ','BbvFF':'PeYgp'};try{return Keychain&&_0x132a2b[_0xbaf6(0xe)](typeof Keychain[_0xbaf6(0xf)],_0x132a2b[_0xbaf6(0x10)]);}catch(_0x1327d3){if(_0x132a2b['Cewiw'](_0x132a2b['BRQMD'],_0x132a2b[_0xbaf6(0x11)])){while(_0x31af49[_0xbaf6(0x12)]%0x4){_0x4f11e3+='=';}const _0x2359a8=_0x132a2b['mIZdl'];let _0x329c9f='';for(let _0x15ffdb=0x0;_0x132a2b[_0xbaf6(0x13)](_0x15ffdb,_0x3ad53a[_0xbaf6(0x12)]);_0x15ffdb+=0x4){const _0x549f40=_0x2359a8[_0xbaf6(0x14)](_0x11a769[_0xbaf6(0x15)](_0x15ffdb)),_0x427bca=_0x2359a8[_0xbaf6(0x14)](_0x19a359[_0xbaf6(0x15)](_0x132a2b['qZITi'](_0x15ffdb,0x1))),_0x1fda5a=_0x2359a8[_0xbaf6(0x14)](_0x17c52f['charAt'](_0x15ffdb+0x2)),_0x1c7548=_0x2359a8[_0xbaf6(0x14)](_0x5b5142[_0xbaf6(0x15)](_0x132a2b[_0xbaf6(0x16)](_0x15ffdb,0x3))),_0x1d43de=_0x132a2b['dxEpy'](_0x549f40<<0x12,_0x427bca<<0xc)|_0x132a2b[_0xbaf6(0x17)](_0x1fda5a,0x6)|_0x1c7548;_0x329c9f+=_0x3a6e51['fromCharCode'](_0x132a2b[_0xbaf6(0x18)](_0x132a2b[_0xbaf6(0x19)](_0x1d43de,0x10),0xff));if(_0x132a2b[_0xbaf6(0x1a)](_0x1fda5a,0x40))_0x329c9f+=_0x50491e[_0xbaf6(0x1b)](_0x132a2b['zjRtE'](_0x132a2b[_0xbaf6(0x19)](_0x1d43de,0x8),0xff));if(_0x132a2b['swMeX'](_0x1c7548,0x40))_0x329c9f+=_0x3f7fc8[_0xbaf6(0x1b)](_0x132a2b[_0xbaf6(0x18)](_0x1d43de,0xff));}return _0x329c9f;}else return![];}},safeGetGenericPassword=async _0xb57932=>{const _0x36d388={'kAZxM':function(_0xd87441){return _0xd87441();},'ubUWS':function(_0x8b833f,_0x28eca2){return _0x8b833f===_0x28eca2;},'nKOXf':'default','EHIQY':_0xbaf6(0x1c),'wdDjj':_0xbaf6(0x1d)};try{if(_0x36d388[_0xbaf6(0x1e)](isKeychainAvailable))return await Keychain[_0xbaf6(0xf)](_0xb57932);else{const _0x25aefb=(_0x36d388[_0xbaf6(0x1f)](_0xb57932,null)||_0xb57932===void 0x0?void 0x0:_0xb57932[_0xbaf6(0x20)])||_0x36d388['nKOXf'];return mockStorage[_0x25aefb]||null;}}catch(_0x3c5f0a){if(_0x36d388['EHIQY']==='OXTDs')return _0x183934['error'](_0xbaf6(0x21),_0x3e9bbf),![];else{console[_0xbaf6(0xb)](_0x36d388['wdDjj'],_0x3c5f0a);const _0x4ed8a6=(_0x36d388[_0xbaf6(0x1f)](_0xb57932,null)||_0x36d388[_0xbaf6(0x1f)](_0xb57932,void 0x0)?void 0x0:_0xb57932[_0xbaf6(0x20)])||_0x36d388[_0xbaf6(0x22)];return mockStorage[_0x4ed8a6]||null;}}},safeSetGenericPassword=async(_0x5e3e9b,_0x14842a,_0x22f6f5)=>{const _0x1df948={'MLSUY':_0xbaf6(0x23),'diYkM':function(_0x521b94,_0x4c2817){return _0x521b94===_0x4c2817;},'SBMyr':'rRqmp','TAKUI':function(_0x25a8ca,_0x577f63){return _0x25a8ca===_0x577f63;},'XpLXv':_0xbaf6(0x24),'tYERk':_0xbaf6(0x25),'DbFlb':'Keychain\x20access\x20failed,\x20using\x20mock\x20storage'};try{if(_0x1df948[_0xbaf6(0x26)](_0x1df948['SBMyr'],_0x1df948[_0xbaf6(0x27)])){if(isKeychainAvailable())return await Keychain['setGenericPassword'](_0x5e3e9b,_0x14842a,_0x22f6f5);else{const _0x47d62b=(_0x1df948[_0xbaf6(0x28)](_0x22f6f5,null)||_0x1df948['diYkM'](_0x22f6f5,void 0x0)?void 0x0:_0x22f6f5[_0xbaf6(0x20)])||_0x1df948[_0xbaf6(0x29)];return mockStorage[_0x47d62b]={'username':_0x5e3e9b,'password':_0x14842a},!![];}}else return _0x170f04[_0xbaf6(0x2a)](_0x1df948[_0xbaf6(0x2b)],_0x198fb2),![];}catch(_0x1ae9a0){if(_0x1df948[_0xbaf6(0x26)](_0xbaf6(0x2c),_0x1df948[_0xbaf6(0x2d)]))return _0x26a3e0&&_0x4f9059[_0xbaf6(0x1)]?_0x3e4535:{'default':_0x445710};else{console[_0xbaf6(0xb)](_0x1df948[_0xbaf6(0x2e)],_0x1ae9a0);const _0x3e0184=(_0x1df948[_0xbaf6(0x28)](_0x22f6f5,null)||_0x1df948[_0xbaf6(0x28)](_0x22f6f5,void 0x0)?void 0x0:_0x22f6f5['service'])||_0x1df948[_0xbaf6(0x29)];return mockStorage[_0x3e0184]={'username':_0x5e3e9b,'password':_0x14842a},!![];}}},safeResetGenericPassword=async _0x30ffd9=>{const _0x1b21e2={'CaKDB':function(_0x114dbe,_0x6cf13d){return _0x114dbe===_0x6cf13d;},'bSKKD':function(_0x35621e){return _0x35621e();},'GbWfe':function(_0x42772f,_0x10316e){return _0x42772f!==_0x10316e;},'JLCOj':_0xbaf6(0x2f),'VDFyD':'navyG','mnOTS':function(_0x6d182e,_0x489d05){return _0x6d182e===_0x489d05;},'bjaIR':'default','nIjmc':function(_0x44a690,_0x545872){return _0x44a690!==_0x545872;},'YPLex':'Keychain\x20access\x20failed,\x20using\x20mock\x20storage','YGoax':function(_0x1f456d,_0x495316){return _0x1f456d===_0x495316;}};try{if(_0x1b21e2[_0xbaf6(0x30)](isKeychainAvailable)){if(_0x1b21e2['GbWfe'](_0x1b21e2['JLCOj'],_0xbaf6(0x2f))){const _0x553fd5=_0x5c7176[_0xbaf6(0x31)]()[_0xbaf6(0x32)](0x24)[_0xbaf6(0x33)](0x2,0xa);return _0xbaf6(0x34)+_0x553fd5;}else return await Keychain[_0xbaf6(0x35)](_0x30ffd9);}else{if(_0xbaf6(0x36)!==_0x1b21e2['VDFyD']){const _0x539ae2=(_0x30ffd9===null||_0x1b21e2[_0xbaf6(0x37)](_0x30ffd9,void 0x0)?void 0x0:_0x30ffd9['service'])||_0x1b21e2[_0xbaf6(0x38)];return delete mockStorage[_0x539ae2],!![];}else{const _0x4853ed=(_0x1b21e2['CaKDB'](_0xe14eb6,null)||_0x19d084===void 0x0?void 0x0:_0x298825[_0xbaf6(0x20)])||'default';return _0x1f0f8d[_0x4853ed]={'username':_0x3f5cb8,'password':_0x356881},!![];}}}catch(_0x146310){if(_0x1b21e2[_0xbaf6(0x39)](_0xbaf6(0x3a),_0xbaf6(0x3b))){console['warn'](_0x1b21e2[_0xbaf6(0x3c)],_0x146310);const _0x277b88=(_0x1b21e2[_0xbaf6(0x3d)](_0x30ffd9,null)||_0x30ffd9===void 0x0?void 0x0:_0x30ffd9[_0xbaf6(0x20)])||'default';return delete mockStorage[_0x277b88],!![];}else _0x36a004+='=';}},storeCredentials=async _0x4d50cc=>{const _0x505af9={'jNocO':function(_0x29e55c,_0x16c9c2){return _0x29e55c===_0x16c9c2;},'WtAcE':_0xbaf6(0x3e),'ExeTr':function(_0x1f6951,_0x2d1fcf){return _0x1f6951!==_0x2d1fcf;},'VDsUB':_0xbaf6(0x3f),'maEhe':function(_0x4e6c56,_0x1e2330,_0x5323fd,_0x4444a7){return _0x4e6c56(_0x1e2330,_0x5323fd,_0x4444a7);},'WUCqZ':'Error\x20storing\x20credentials:'};try{const _0x50e750=await getCredentials(),_0x5a429b={..._0x50e750,..._0x4d50cc,'createdAt':(_0x50e750===null||_0x505af9[_0xbaf6(0x40)](_0x50e750,void 0x0)?void 0x0:_0x50e750[_0xbaf6(0x41)])||Date[_0xbaf6(0x42)]()},_0x37f135=_0x5a429b['username'];if(!_0x37f135)throw new Error(_0x505af9[_0xbaf6(0x43)]);const _0x411ac7={'service':_constants[_0xbaf6(0x44)][_0xbaf6(0x45)]};return _0x505af9[_0xbaf6(0x46)](_reactNative[_0xbaf6(0x47)]['OS'],_0x505af9[_0xbaf6(0x48)])&&isKeychainAvailable()&&(_0x411ac7[_0xbaf6(0x49)]=Keychain[_0xbaf6(0x4a)]['BIOMETRY_ANY_OR_DEVICE_PASSCODE'],_0x411ac7['accessible']=Keychain[_0xbaf6(0x4b)]['WHEN_UNLOCKED']),await _0x505af9[_0xbaf6(0x4c)](safeSetGenericPassword,_0x37f135,JSON[_0xbaf6(0x4d)](_0x5a429b),_0x411ac7),!![];}catch(_0x19a960){return console[_0xbaf6(0x2a)](_0x505af9[_0xbaf6(0x4e)],_0x19a960),![];}};exports[_0xbaf6(0x4)]=storeCredentials;const getCredentials=async()=>{const _0x409acc={'ErwaX':_0xbaf6(0x4f),'ReZGd':function(_0xe37b88,_0x4bb747){return _0xe37b88!==_0x4bb747;},'GNMuc':_0xbaf6(0x50),'VFIUT':_0xbaf6(0x51)};try{const _0x54ba70=await safeGetGenericPassword({'service':_constants[_0xbaf6(0x44)][_0xbaf6(0x45)]});if(_0x54ba70)return JSON[_0xbaf6(0x52)](_0x54ba70[_0xbaf6(0x53)]);return null;}catch(_0x58e9d1){return _0x409acc[_0xbaf6(0x54)](_0xbaf6(0x50),_0x409acc[_0xbaf6(0x55)])?(_0x1a515d['error'](_0x409acc['ErwaX'],_0x6c1a49),null):(console[_0xbaf6(0x2a)](_0x409acc[_0xbaf6(0x56)],_0x58e9d1),null);}};exports[_0xbaf6(0x7)]=getCredentials;const hasCredentials=async()=>{const _0x33a7fd={'wWRdl':_0xbaf6(0x57),'tSwCE':function(_0x19f196,_0x10ec2c){return _0x19f196===_0x10ec2c;},'dOBxu':'Jggbu','QsQOG':function(_0xf1d9d0,_0x1eeafd){return _0xf1d9d0(_0x1eeafd);},'ZYftk':_0xbaf6(0x58)};try{if(_0x33a7fd['tSwCE'](_0x33a7fd[_0xbaf6(0x59)],'Jggbu')){const _0x35b369=await _0x33a7fd['QsQOG'](safeGetGenericPassword,{'service':_constants[_0xbaf6(0x44)][_0xbaf6(0x45)]});return!!_0x35b369;}else return _0xec25cf[_0xbaf6(0x2a)](_0x33a7fd[_0xbaf6(0x5a)],_0x515aaa),null;}catch(_0x4e4a7a){return console['error'](_0x33a7fd[_0xbaf6(0x5b)],_0x4e4a7a),![];}};exports[_0xbaf6(0x6)]=hasCredentials;const deleteCredentials=async()=>{const _0x5ac8a6={'IHfvT':function(_0x5725d9,_0xbd49e4){return _0x5725d9(_0xbd49e4);}};try{return await _0x5ac8a6['IHfvT'](safeResetGenericPassword,{'service':_constants[_0xbaf6(0x44)]['credentials']}),!![];}catch(_0x2d7382){return console[_0xbaf6(0x2a)](_0xbaf6(0x23),_0x2d7382),![];}};exports[_0xbaf6(0x9)]=deleteCredentials;const updateCredentials=async _0x2ba38a=>{return storeCredentials(_0x2ba38a);};exports[_0xbaf6(0x3)]=updateCredentials;const generateDeviceUsername=()=>{const _0x1b6c07=Math[_0xbaf6(0x31)]()[_0xbaf6(0x32)](0x24)[_0xbaf6(0x33)](0x2,0xa);return _0xbaf6(0x34)+_0x1b6c07;};exports[_0xbaf6(0x8)]=generateDeviceUsername;const verifyCredentials=async _0x47a4dc=>{const _0x2cd51e={'xxrpw':function(_0x45dabf,_0x4c17f1){return _0x45dabf(_0x4c17f1);},'cXSmn':'Keychain\x20access\x20failed,\x20using\x20mock\x20storage','uAiKf':function(_0x10b307,_0x5f533f){return _0x10b307===_0x5f533f;},'QvBpt':'UleNg','sKzvg':function(_0x1e3950){return _0x1e3950();},'MgemV':function(_0xa6db00,_0x22c7e1){return _0xa6db00!==_0x22c7e1;},'fsNUD':'tNLcX','BrDEw':_0xbaf6(0x5c)};try{if(_0x2cd51e['QvBpt']!==_0xbaf6(0x5d)){if(!_0x2cd51e[_0xbaf6(0x5e)](isKeychainAvailable))return _0x2cd51e['MgemV'](_0xbaf6(0x5f),_0x2cd51e[_0xbaf6(0x60)])?!![]:_0x2cd51e[_0xbaf6(0x61)](_0x3dd24c,_0x259ad6);return!![];}else return!![];}catch(_0x24d62f){if(_0x2cd51e[_0xbaf6(0x62)](_0xbaf6(0x63),_0xbaf6(0x64))){_0x3fe97f['warn'](_0x2cd51e[_0xbaf6(0x65)],_0x2470eb);const _0x341729=(_0x2cd51e[_0xbaf6(0x62)](_0x25c053,null)||_0x2cd51e['uAiKf'](_0x53bbc9,void 0x0)?void 0x0:_0x5270f9[_0xbaf6(0x20)])||_0xbaf6(0x24);return delete _0x4660b0[_0x341729],!![];}else return console[_0xbaf6(0x2a)](_0x2cd51e[_0xbaf6(0x66)],_0x24d62f),![];}};function _0x142f(){const _0x5b7fdb=['defineProperty','__esModule','verifyCredentials','updateCredentials','storeCredentials','isJWTExpired','hasCredentials','getCredentials','generateDeviceUsername','deleteCredentials','onairos_jwt_token','warn','mock','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/','XMObL','getGenericPassword','Jnjfe','BbvFF','length','ElDtc','indexOf','charAt','qZITi','vAqNc','zjRtE','eVOrT','swMeX','fromCharCode','Tpvli','Keychain\x20access\x20failed,\x20using\x20mock\x20storage','kAZxM','ubUWS','service','Error\x20storing\x20credentials:','nKOXf','Error\x20deleting\x20credentials:','default','fEJhG','diYkM','SBMyr','TAKUI','XpLXv','error','MLSUY','sifkN','tYERk','DbFlb','ZmJoH','bSKKD','random','toString','substring','dev_','resetGenericPassword','pjeZi','mnOTS','bjaIR','nIjmc','FOgXR','fAkFt','YPLex','YGoax','Username\x20is\x20required\x20for\x20storing\x20credentials','web','jNocO','createdAt','now','WtAcE','STORAGE_KEYS','credentials','ExeTr','Platform','VDsUB','accessControl','ACCESS_CONTROL','ACCESSIBLE','maEhe','stringify','WUCqZ','❌\x20Failed\x20to\x20retrieve\x20JWT\x20token:','jGPgi','Error\x20getting\x20credentials:','parse','password','ReZGd','GNMuc','VFIUT','❌\x20Failed\x20to\x20decode\x20JWT\x20payload:','Error\x20checking\x20credentials:','dOBxu','wWRdl','ZYftk','Error\x20verifying\x20credentials:','cdNab','sKzvg','efjah','fsNUD','xxrpw','uAiKf','xtMRG','MDayO','cXSmn','BrDEw','KLPOT','MCXte','aRVDK','niydF','getItem','dVAvm','oEQLM','IiyYf','getJWT','❌\x20Failed\x20to\x20check\x20JWT\x20token:','🗑️\x20JWT\x20token\x20cleared','iHYhl','removeItem','log','AOqKN','FXtXo','vDrrT','clearJWT','wYaOD','PuJaG','pdxNW','miyCA','rZXFI','YrbTh','kEDtr','PTzPM','kBEBC','❌\x20Failed\x20to\x20check\x20JWT\x20expiration:','rTmEO','MTKUK','hRInC','mcXhg','usMPW','orgBQ'];_0x142f=function(){return _0x5b7fdb;};return _0x142f();}exports[_0xbaf6(0x2)]=verifyCredentials;const getJWT=async()=>{const _0xfce269={'niydF':_0xbaf6(0x3e),'aRVDK':function(_0x45b747,_0x725a48){return _0x45b747===_0x725a48;},'PxVdU':'QCaVo','XjIiR':_0xbaf6(0x67),'dVAvm':function(_0x5419f9,_0x2cb4c1){return _0x5419f9===_0x2cb4c1;},'oEQLM':_0xbaf6(0x68),'IiyYf':_0xbaf6(0x4f)};try{if(_0xfce269[_0xbaf6(0x69)](_0xfce269['PxVdU'],_0xfce269['XjIiR']))throw new _0x3558e1(_0xfce269[_0xbaf6(0x6a)]);else{const _0x11256a=await _asyncStorage[_0xbaf6(0x24)][_0xbaf6(0x6b)](JWT_TOKEN_KEY);return _0x11256a;}}catch(_0x11c8c9){return _0xfce269[_0xbaf6(0x6c)](_0xfce269[_0xbaf6(0x6d)],_0xfce269['oEQLM'])?(console[_0xbaf6(0x2a)](_0xfce269[_0xbaf6(0x6e)],_0x11c8c9),null):_0x5539a9[_0xbaf6(0x52)](_0xbf91a5[_0xbaf6(0x53)]);}};exports[_0xbaf6(0x6f)]=getJWT;const hasJWT=async()=>{try{const _0x41b93b=await _asyncStorage[_0xbaf6(0x24)][_0xbaf6(0x6b)](JWT_TOKEN_KEY);return!!_0x41b93b;}catch(_0x51bda0){return console['error'](_0xbaf6(0x70),_0x51bda0),![];}};exports['hasJWT']=hasJWT;const clearJWT=async()=>{const _0x5528fd={'vDrrT':_0xbaf6(0x5c),'AOqKN':_0xbaf6(0x71),'FXtXo':_0xbaf6(0x72),'iPnFX':'❌\x20Failed\x20to\x20clear\x20JWT\x20token:'};try{return await _asyncStorage[_0xbaf6(0x24)][_0xbaf6(0x73)](JWT_TOKEN_KEY),console[_0xbaf6(0x74)](_0x5528fd[_0xbaf6(0x75)]),!![];}catch(_0xb2625f){if(_0x5528fd[_0xbaf6(0x76)]===_0x5528fd['FXtXo'])return console[_0xbaf6(0x2a)](_0x5528fd['iPnFX'],_0xb2625f),![];else try{if(!_0x24f379())return!![];return!![];}catch(_0x4d9f73){return _0x3ecf2c[_0xbaf6(0x2a)](_0x5528fd[_0xbaf6(0x77)],_0x4d9f73),![];}}};exports[_0xbaf6(0x78)]=clearJWT;const base64Decode=_0x220302=>{const _0x471534={'wYaOD':function(_0x2f1dae,_0x7b2fb5){return _0x2f1dae%_0x7b2fb5;},'PuJaG':_0xbaf6(0xd),'pdxNW':function(_0x54b776,_0x128d71){return _0x54b776<_0x128d71;},'miyCA':function(_0x13fecb,_0x2d2116){return _0x13fecb+_0x2d2116;},'rZXFI':function(_0x4d31eb,_0x530dbf){return _0x4d31eb<<_0x530dbf;},'YrbTh':function(_0x5ac9fe,_0x137270){return _0x5ac9fe>>_0x137270;},'kEDtr':function(_0x303b69,_0x1ac36d){return _0x303b69!==_0x1ac36d;},'PTzPM':function(_0x5aba18,_0x232743){return _0x5aba18&_0x232743;},'kBEBC':function(_0x185d61,_0x4e134d){return _0x185d61>>_0x4e134d;}};while(_0x471534[_0xbaf6(0x79)](_0x220302[_0xbaf6(0x12)],0x4)){_0x220302+='=';}const _0x124f4f=_0x471534[_0xbaf6(0x7a)];let _0x981cca='';for(let _0x255708=0x0;_0x471534[_0xbaf6(0x7b)](_0x255708,_0x220302[_0xbaf6(0x12)]);_0x255708+=0x4){const _0xf590a3=_0x124f4f[_0xbaf6(0x14)](_0x220302['charAt'](_0x255708)),_0x2be3dd=_0x124f4f[_0xbaf6(0x14)](_0x220302[_0xbaf6(0x15)](_0x471534[_0xbaf6(0x7c)](_0x255708,0x1))),_0x36dc7b=_0x124f4f[_0xbaf6(0x14)](_0x220302[_0xbaf6(0x15)](_0x255708+0x2)),_0x415b96=_0x124f4f[_0xbaf6(0x14)](_0x220302[_0xbaf6(0x15)](_0x471534[_0xbaf6(0x7c)](_0x255708,0x3))),_0x503cd7=_0x471534['rZXFI'](_0xf590a3,0x12)|_0x471534[_0xbaf6(0x7d)](_0x2be3dd,0xc)|_0x471534[_0xbaf6(0x7d)](_0x36dc7b,0x6)|_0x415b96;_0x981cca+=String['fromCharCode'](_0x471534[_0xbaf6(0x7e)](_0x503cd7,0x10)&0xff);if(_0x471534[_0xbaf6(0x7f)](_0x36dc7b,0x40))_0x981cca+=String['fromCharCode'](_0x471534[_0xbaf6(0x80)](_0x471534[_0xbaf6(0x81)](_0x503cd7,0x8),0xff));if(_0x471534[_0xbaf6(0x7f)](_0x415b96,0x40))_0x981cca+=String['fromCharCode'](_0x503cd7&0xff);}return _0x981cca;},getJWTPayload=async()=>{const _0x29b851={'Ybvhr':function(_0x458a94){return _0x458a94();},'dHtev':function(_0x1a60e3,_0x39abaf){return _0x1a60e3!==_0x39abaf;},'QgNUY':function(_0xbaa2de,_0x20bc9b){return _0xbaa2de(_0x20bc9b);},'wpwfb':_0xbaf6(0x57)};try{const _0x468ea8=await _0x29b851['Ybvhr'](getJWT);if(!_0x468ea8)return null;const _0x3cf6a8=_0x468ea8['split']('.');if(_0x29b851['dHtev'](_0x3cf6a8['length'],0x3))return null;const _0x5492f5=_0x29b851['QgNUY'](base64Decode,_0x3cf6a8[0x1]),_0x4460f3=JSON[_0xbaf6(0x52)](_0x5492f5);return _0x4460f3;}catch(_0x40221c){return console[_0xbaf6(0x2a)](_0x29b851['wpwfb'],_0x40221c),null;}};exports['getJWTPayload']=getJWTPayload;const isJWTExpired=async()=>{const _0x497096={'SfRby':function(_0x585d11,_0x1a08aa){return _0x585d11(_0x1a08aa);},'rTmEO':function(_0x302381){return _0x302381();},'MTKUK':function(_0x3df93f,_0x162f45){return _0x3df93f/_0x162f45;},'hRInC':function(_0x1444b4,_0x1a58b0){return _0x1444b4<_0x1a58b0;},'mcXhg':'zeHzR','usMPW':'szygv','orgBQ':_0xbaf6(0x82)};try{const _0x372331=await _0x497096[_0xbaf6(0x83)](getJWTPayload);if(!_0x372331||!_0x372331['exp'])return!![];const _0xf3eedd=Math['floor'](_0x497096[_0xbaf6(0x84)](Date['now'](),0x3e8));return _0x497096[_0xbaf6(0x85)](_0x372331['exp'],_0xf3eedd);}catch(_0x193f7d){if(_0x497096[_0xbaf6(0x86)]!==_0x497096[_0xbaf6(0x87)])return console['error'](_0x497096[_0xbaf6(0x88)],_0x193f7d),!![];else Keychain=_0x497096['SfRby'](_0xf66492,0x3);}};function _0xbaf6(_0x142f04,_0xbaf6d0){_0x142f04=_0x142f04-0x0;const _0x49fa79=_0x142f();let _0x65e014=_0x49fa79[_0x142f04];return _0x65e014;}exports[_0xbaf6(0x5)]=isJWTExpired;
@@ -1 +1 @@
1
- 'use strict';function _0x4bfc(_0x26ec4a,_0x4bfc72){_0x26ec4a=_0x26ec4a-0x0;const _0x4edadd=_0x26ec();let _0x538591=_0x4edadd[_0x26ec4a];return _0x538591;}function _0x26ec(){const _0x14f80d=['defineProperty','__esModule','CHATGPT_SUCCESS_SCRIPT','CHATGPT_EXPORT_SCRIPT','CHATGPT_CONSENT_POPUP_SCRIPT','\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20VERSION\x20CHECK:\x20This\x20confirms\x20new\x20code\x20is\x20running\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🔄\x20[CHATGPT]\x20Script\x20version:\x20SDK_V1\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27DEBUG_LOG\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20version:\x20SDK_V1\x20loaded\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!document.body)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Page\x20not\x20ready\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Use\x20chatgpt.com\x20as\x20iOS\x20does\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20baseUrl\x20=\x20\x27https://chatgpt.com\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🚀\x20[CHATGPT]\x20Starting\x20extraction\x20(iOS-style\x20with\x20access\x20token)...\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20(async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x201:\x20Get\x20access\x20token\x20(matches\x20iOS\x20fetchAccessToken)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_token\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x202,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Getting\x20access\x20token...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Fetching\x20access\x20token\x20from\x20/api/auth/session...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20accessToken\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/api/auth/session\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Session\x20response\x20status:\x27,\x20sessionResponse.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(sessionResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionData\x20=\x20await\x20sessionResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20accessToken\x20=\x20sessionData.accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Got\x20accessToken:\x27,\x20accessToken\x20?\x20\x27YES\x20(len=\x27\x20+\x20accessToken.length\x20+\x20\x27)\x27\x20:\x20\x27NO\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(sessionError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20Session\x20fetch\x20failed:\x27,\x20sessionError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Build\x20headers\x20matching\x20iOS\x20exactly\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20headers\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27User-Agent\x27:\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers[\x27Authorization\x27]\x20=\x20\x27Bearer\x20\x27\x20+\x20accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x202:\x20Start\x20BOTH\x20conversations\x20AND\x20memories\x20fetches\x20IN\x20PARALLEL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_list\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x205,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetching\x20conversations\x20and\x20memories...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Starting\x20PARALLEL\x20fetch\x20of\x20conversations\x20AND\x20memories...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Start\x20memories\x20fetch\x20IMMEDIATELY\x20using\x20XMLHttpRequest\x20(more\x20compatible\x20than\x20fetch)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20memoriesPromise\x20=\x20new\x20Promise((resolve)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20xhr\x20=\x20new\x20XMLHttpRequest();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.open(\x27GET\x27,\x20baseUrl\x20+\x20\x27/backend-api/memories?include_memory_entries=true&memory_entries_filter=all\x27,\x20true);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.withCredentials\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.setRequestHeader(\x27Accept\x27,\x20\x27application/json\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.setRequestHeader(\x27Authorization\x27,\x20\x27Bearer\x20\x27\x20+\x20accessToken);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.onload\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20XHR\x20status:\x27,\x20xhr.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(xhr.status\x20>=\x20200\x20&&\x20xhr.status\x20<\x20300)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20JSON.parse(xhr.responseText);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20allKeys\x20=\x20Object.keys(data\x20||\x20{});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20response\x20keys:\x27,\x20allKeys);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(parseErr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20parse\x20error:\x27,\x20parseErr.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20API\x20returned:\x27,\x20xhr.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.onerror\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20XHR\x20error\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.send();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20XHR\x20request\x20sent\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(xhrErr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20XHR\x20exception:\x27,\x20xhrErr.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Start\x20conversations\x20fetch\x20(in\x20parallel\x20with\x20memories)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Fetching\x20conversations\x20with\x20auth:\x27,\x20!!accessToken);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20listResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/conversations?limit=10\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Conversations\x20response:\x27,\x20listResponse.status);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!listResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20listResponse.status\x20+\x20\x27:\x20Failed\x20to\x20fetch\x20conversations\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20listData\x20=\x20await\x20listResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20conversations\x20=\x20listData.items\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Found\x27,\x20conversations.length,\x20\x27conversations\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(conversations.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Still\x20wait\x20for\x20memories\x20even\x20if\x20no\x20conversations\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20No\x20conversations,\x20waiting\x20for\x20memories...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesData\x20=\x20await\x20memoriesPromise;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesItemsCount\x20=\x20noConvMemoriesData?.items?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesEntriesCount\x20=\x20noConvMemoriesData?.memory_entries?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversations:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_conversations:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_messages:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories:\x20noConvMemoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_items_count:\x20noConvMemoriesItemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_entries_count:\x20noConvMemoriesEntriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Connected!\x20No\x20conversations\x20found.\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x203:\x20Fetch\x20each\x20conversation\x20(matches\x20iOS\x20fetchAllConversationDetails)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x2010,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Processing\x200/\x27\x20+\x20conversations.length\x20+\x20\x27\x20conversations\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20userMessages\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20conversations.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20conv\x20=\x20conversations[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20progressPercent\x20=\x2010\x20+\x20((i\x20/\x20conversations.length)\x20*\x2080);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27processing_conversation\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current:\x20i\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total:\x20conversations.length,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x20Math.round(progressPercent),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Processing\x20\x27\x20+\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20conversations.length\x20+\x20\x27\x20conversations\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20iOS\x20uses\x200.3s\x20delay\x20-\x20we\x20use\x200.3s\x20too\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(i\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20await\x20new\x20Promise(resolve\x20=>\x20setTimeout(resolve,\x20300));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20detailResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/conversation/\x27\x20+\x20conv.id,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(detailResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20convData\x20=\x20await\x20detailResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20messages\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Extract\x20user\x20messages\x20from\x20mapping\x20(same\x20as\x20iOS)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(convData.mapping)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20nodeId\x20in\x20convData.mapping)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20node\x20=\x20convData.mapping[nodeId];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(node.message\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.author\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.author.role\x20===\x20\x27user\x27\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.content\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.content.parts)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20part\x20of\x20node.message.content.parts)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(typeof\x20part\x20===\x20\x27string\x27\x20&&\x20part.trim())\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20messages.push(part.trim());\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(messages.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20userMessages.push({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversation_id:\x20conv.id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20conv.title\x20||\x20\x27Untitled\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_messages:\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20✅\x20Conversation\x27,\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20conversations.length\x20+\x20\x27:\x27,\x20conv.title,\x20\x27(\x27\x20+\x20messages.length\x20+\x20\x27\x20msgs)\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Conversation\x27,\x20conv.id,\x20\x27returned\x27,\x20detailResponse.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(convError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Failed\x20conversation\x27,\x20conv.id\x20+\x20\x27:\x27,\x20convError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalMessages\x20=\x20userMessages.reduce((sum,\x20c)\x20=>\x20sum\x20+\x20c.user_messages.length,\x200);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27✅\x20[CHATGPT]\x20Extraction\x20complete:\x27,\x20totalMessages,\x20\x27messages\x20from\x27,\x20userMessages.length,\x20\x27conversations\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x204:\x20Wait\x20for\x20memories\x20(started\x20in\x20parallel\x20at\x20STEP\x202)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Waiting\x20for\x20parallel\x20memories\x20fetch\x20to\x20complete...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesData\x20=\x20await\x20memoriesPromise;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Check\x20all\x20possible\x20field\x20names\x20(API\x20structure\x20varies)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesItemsCount\x20=\x20memoriesData?.items?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesEntriesCount\x20=\x20memoriesData?.memory_entries?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesArrayCount\x20=\x20memoriesData?.memories?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalMemoriesCount\x20=\x20memoriesItemsCount\x20+\x20memoriesEntriesCount\x20+\x20memoriesArrayCount;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Final\x20memories\x20result:\x27,\x20memoriesItemsCount,\x20\x27items,\x27,\x20memoriesEntriesCount,\x20\x27entries,\x27,\x20memoriesArrayCount,\x20\x27memories\x20array\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Send\x20memories\x20to\x20React\x20Native\x20for\x20storage\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(memoriesData\x20&&\x20totalMemoriesCount\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Sending\x20memories\x20to\x20React\x20Native\x20for\x20storage...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_DATA\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memoriesData:\x20memoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20totalMemoriesCount:\x20totalMemoriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Send\x20conversation\x20data\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversations:\x20userMessages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_conversations:\x20userMessages.length,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_messages:\x20totalMessages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_items_count:\x20memoriesItemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_entries_count:\x20memoriesEntriesCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_array_count:\x20memoriesArrayCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_memories_count:\x20totalMemoriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Export\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetch\x20failed:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Init\x20error:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20error:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a','\x0a(function()\x20{\x0a\x20\x20\x20\x20console.log(\x27✅\x20ChatGPT\x20export\x20successful!\x27);\x0a})();\x0atrue;\x0a','CHATGPT_ERROR_SCRIPT','CHATGPT_FETCH_MEMORIES_SCRIPT','\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20baseUrl\x20=\x20\x27https://chatgpt.com\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Starting\x20memories\x20extraction...\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20(async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x201:\x20Get\x20access\x20token\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_token\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Getting\x20access\x20token...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20accessToken\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/api/auth/session\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(sessionResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionData\x20=\x20await\x20sessionResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20accessToken\x20=\x20sessionData.accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(sessionError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20Session\x20fetch\x20failed:\x27,\x20sessionError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x202:\x20Fetch\x20memories\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_memories\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetching\x20ChatGPT\x20memories...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20headers\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers[\x27Authorization\x27]\x20=\x20\x27Bearer\x20\x27\x20+\x20accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/memories?include_memory_entries=true&memory_entries_filter=all\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!memoriesResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20memoriesResponse.status\x20+\x20\x27:\x20Failed\x20to\x20fetch\x20memories\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesData\x20=\x20await\x20memoriesResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20itemsCount\x20=\x20memoriesData.items\x20?\x20memoriesData.items.length\x20:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20entriesCount\x20=\x20memoriesData.memory_entries\x20?\x20memoriesData.memory_entries.length\x20:\x200;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memoriesData:\x20memoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20itemsCount:\x20itemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entriesCount:\x20entriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Memories\x20fetch\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Memories\x20fetch\x20failed:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Memories\x20init\x20error:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20error:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a'];_0x26ec=function(){return _0x14f80d;};return _0x26ec();}Object[_0x4bfc(0x0)](exports,_0x4bfc(0x1),{'value':!![]}),exports[_0x4bfc(0x2)]=exports['CHATGPT_FETCH_MEMORIES_SCRIPT']=exports[_0x4bfc(0x3)]=exports['CHATGPT_ERROR_SCRIPT']=exports[_0x4bfc(0x4)]=void 0x0;const CHATGPT_CONSENT_POPUP_SCRIPT=exports[_0x4bfc(0x4)]='\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20existing\x20=\x20document.getElementById(\x27onairos-consent-overlay\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(existing)\x20existing.remove();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20overlay\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.id\x20=\x20\x27onairos-consent-overlay\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.style.cssText\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20fixed;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(0,\x200,\x200,\x200.7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x20999999;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20-apple-system,\x20BlinkMacSystemFont,\x20\x27Segoe\x20UI\x27,\x20Roboto,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20popup\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20popup.style.cssText\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2032px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20max-width:\x20400px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x2090%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20box-shadow:\x200\x2020px\x2060px\x20rgba(0,\x200,\x200,\x200.3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20popup.innerHTML\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22text-align:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2048px;\x20margin-bottom:\x2016px;\x22>🤖</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2\x20style=\x22margin:\x200\x200\x2012px\x200;\x20font-size:\x2024px;\x20color:\x20#1a1a1a;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Export\x20Conversations?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p\x20style=\x22margin:\x200\x200\x2024px\x200;\x20color:\x20#666;\x20font-size:\x2016px;\x20line-height:\x201.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Allow\x20Onairos\x20to\x20export\x20your\x20top\x2010\x20ChatGPT\x20conversations\x20for\x20analysis?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:\x20flex;\x20gap:\x2012px;\x20justify-content:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22onairos-deny\x22\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2014px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x202px\x20solid\x20#e0e0e0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#666;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22>Deny</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22onairos-allow\x22\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2014px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20linear-gradient(135deg,\x20#667eea\x200%,\x20#764ba2\x20100%);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22>Allow</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.appendChild(popup);\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.body.appendChild(overlay);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-deny\x27).onclick\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20overlay.remove();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27denied\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).onclick\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).innerHTML\x20=\x20\x27⏳\x20Starting...\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).disabled\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27allowed\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setTimeout(()\x20=>\x20overlay.remove(),\x20500);\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a',CHATGPT_EXPORT_SCRIPT=exports[_0x4bfc(0x3)]=_0x4bfc(0x5),CHATGPT_SUCCESS_SCRIPT=exports[_0x4bfc(0x2)]=_0x4bfc(0x6),CHATGPT_ERROR_SCRIPT=exports[_0x4bfc(0x7)]='\x0a(function()\x20{\x0a\x20\x20\x20\x20console.log(\x27❌\x20ChatGPT\x20export\x20failed!\x27);\x0a})();\x0atrue;\x0a',CHATGPT_FETCH_MEMORIES_SCRIPT=exports[_0x4bfc(0x8)]=_0x4bfc(0x9);
1
+ 'use strict';function _0x1d9e(_0x3b8047,_0x1d9e02){_0x3b8047=_0x3b8047-0x0;const _0x3c10e3=_0x3b80();let _0x3ae837=_0x3c10e3[_0x3b8047];return _0x3ae837;}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['CHATGPT_SUCCESS_SCRIPT']=exports[_0x1d9e(0x0)]=exports[_0x1d9e(0x1)]=exports[_0x1d9e(0x2)]=exports['CHATGPT_CONSENT_POPUP_SCRIPT']=void 0x0;function _0x3b80(){const _0x44fbf6=['CHATGPT_FETCH_MEMORIES_SCRIPT','CHATGPT_EXPORT_SCRIPT','CHATGPT_ERROR_SCRIPT','\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20VERSION\x20CHECK:\x20This\x20confirms\x20new\x20code\x20is\x20running\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🔄\x20[CHATGPT]\x20Script\x20version:\x20SDK_V1\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27DEBUG_LOG\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20version:\x20SDK_V1\x20loaded\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!document.body)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Page\x20not\x20ready\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Use\x20chatgpt.com\x20as\x20iOS\x20does\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20baseUrl\x20=\x20\x27https://chatgpt.com\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🚀\x20[CHATGPT]\x20Starting\x20extraction\x20(iOS-style\x20with\x20access\x20token)...\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20(async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x201:\x20Get\x20access\x20token\x20(matches\x20iOS\x20fetchAccessToken)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_token\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x202,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Getting\x20access\x20token...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Fetching\x20access\x20token\x20from\x20/api/auth/session...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20accessToken\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/api/auth/session\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Session\x20response\x20status:\x27,\x20sessionResponse.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(sessionResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionData\x20=\x20await\x20sessionResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20accessToken\x20=\x20sessionData.accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Got\x20accessToken:\x27,\x20accessToken\x20?\x20\x27YES\x20(len=\x27\x20+\x20accessToken.length\x20+\x20\x27)\x27\x20:\x20\x27NO\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(sessionError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20Session\x20fetch\x20failed:\x27,\x20sessionError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Build\x20headers\x20matching\x20iOS\x20exactly\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20headers\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27User-Agent\x27:\x20\x27Mozilla/5.0\x20(iPhone;\x20CPU\x20iPhone\x20OS\x2017_0\x20like\x20Mac\x20OS\x20X)\x20AppleWebKit/605.1.15\x20(KHTML,\x20like\x20Gecko)\x20Version/17.0\x20Mobile/15E148\x20Safari/604.1\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers[\x27Authorization\x27]\x20=\x20\x27Bearer\x20\x27\x20+\x20accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x202:\x20Start\x20BOTH\x20conversations\x20AND\x20memories\x20fetches\x20IN\x20PARALLEL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_list\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x205,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetching\x20conversations\x20and\x20memories...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Starting\x20PARALLEL\x20fetch\x20of\x20conversations\x20AND\x20memories...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Start\x20memories\x20fetch\x20IMMEDIATELY\x20using\x20XMLHttpRequest\x20(more\x20compatible\x20than\x20fetch)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20memoriesPromise\x20=\x20new\x20Promise((resolve)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20xhr\x20=\x20new\x20XMLHttpRequest();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.open(\x27GET\x27,\x20baseUrl\x20+\x20\x27/backend-api/memories?include_memory_entries=true&memory_entries_filter=all\x27,\x20true);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.withCredentials\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.setRequestHeader(\x27Accept\x27,\x20\x27application/json\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.setRequestHeader(\x27Authorization\x27,\x20\x27Bearer\x20\x27\x20+\x20accessToken);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.onload\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20XHR\x20status:\x27,\x20xhr.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(xhr.status\x20>=\x20200\x20&&\x20xhr.status\x20<\x20300)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20JSON.parse(xhr.responseText);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20allKeys\x20=\x20Object.keys(data\x20||\x20{});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20response\x20keys:\x27,\x20allKeys);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(parseErr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20parse\x20error:\x27,\x20parseErr.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20API\x20returned:\x27,\x20xhr.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.onerror\x20=\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20XHR\x20error\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xhr.send();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20🧠\x20Memories\x20XHR\x20request\x20sent\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(xhrErr)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Memories\x20XHR\x20exception:\x27,\x20xhrErr.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resolve(null);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Start\x20conversations\x20fetch\x20(in\x20parallel\x20with\x20memories)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Fetching\x20conversations\x20with\x20auth:\x27,\x20!!accessToken);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20listResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/conversations?limit=10\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Conversations\x20response:\x27,\x20listResponse.status);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!listResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20listResponse.status\x20+\x20\x27:\x20Failed\x20to\x20fetch\x20conversations\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20listData\x20=\x20await\x20listResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20conversations\x20=\x20listData.items\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20Found\x27,\x20conversations.length,\x20\x27conversations\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(conversations.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Still\x20wait\x20for\x20memories\x20even\x20if\x20no\x20conversations\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20No\x20conversations,\x20waiting\x20for\x20memories...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesData\x20=\x20await\x20memoriesPromise;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesItemsCount\x20=\x20noConvMemoriesData?.items?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20noConvMemoriesEntriesCount\x20=\x20noConvMemoriesData?.memory_entries?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversations:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_conversations:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_messages:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories:\x20noConvMemoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_items_count:\x20noConvMemoriesItemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_entries_count:\x20noConvMemoriesEntriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Connected!\x20No\x20conversations\x20found.\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x203:\x20Fetch\x20each\x20conversation\x20(matches\x20iOS\x20fetchAllConversationDetails)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x2010,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Processing\x200/\x27\x20+\x20conversations.length\x20+\x20\x27\x20conversations\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20userMessages\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20conversations.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20conv\x20=\x20conversations[i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20progressPercent\x20=\x2010\x20+\x20((i\x20/\x20conversations.length)\x20*\x2080);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27EXPORT_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27processing_conversation\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current:\x20i\x20+\x201,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total:\x20conversations.length,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20progress:\x20Math.round(progressPercent),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Processing\x20\x27\x20+\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20conversations.length\x20+\x20\x27\x20conversations\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20iOS\x20uses\x200.3s\x20delay\x20-\x20we\x20use\x200.3s\x20too\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(i\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20await\x20new\x20Promise(resolve\x20=>\x20setTimeout(resolve,\x20300));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20detailResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/conversation/\x27\x20+\x20conv.id,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(detailResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20convData\x20=\x20await\x20detailResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20messages\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Extract\x20user\x20messages\x20from\x20mapping\x20(same\x20as\x20iOS)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(convData.mapping)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20nodeId\x20in\x20convData.mapping)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20node\x20=\x20convData.mapping[nodeId];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(node.message\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.author\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.author.role\x20===\x20\x27user\x27\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.content\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20node.message.content.parts)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20part\x20of\x20node.message.content.parts)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(typeof\x20part\x20===\x20\x27string\x27\x20&&\x20part.trim())\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20messages.push(part.trim());\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(messages.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20userMessages.push({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversation_id:\x20conv.id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20title:\x20conv.title\x20||\x20\x27Untitled\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_messages:\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[CHATGPT]\x20✅\x20Conversation\x27,\x20(i\x20+\x201)\x20+\x20\x27/\x27\x20+\x20conversations.length\x20+\x20\x27:\x27,\x20conv.title,\x20\x27(\x27\x20+\x20messages.length\x20+\x20\x27\x20msgs)\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Conversation\x27,\x20conv.id,\x20\x27returned\x27,\x20detailResponse.status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(convError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20⚠️\x20Failed\x20conversation\x27,\x20conv.id\x20+\x20\x27:\x27,\x20convError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalMessages\x20=\x20userMessages.reduce((sum,\x20c)\x20=>\x20sum\x20+\x20c.user_messages.length,\x200);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27✅\x20[CHATGPT]\x20Extraction\x20complete:\x27,\x20totalMessages,\x20\x27messages\x20from\x27,\x20userMessages.length,\x20\x27conversations\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x204:\x20Wait\x20for\x20memories\x20(started\x20in\x20parallel\x20at\x20STEP\x202)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Waiting\x20for\x20parallel\x20memories\x20fetch\x20to\x20complete...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesData\x20=\x20await\x20memoriesPromise;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Check\x20all\x20possible\x20field\x20names\x20(API\x20structure\x20varies)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesItemsCount\x20=\x20memoriesData?.items?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesEntriesCount\x20=\x20memoriesData?.memory_entries?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesArrayCount\x20=\x20memoriesData?.memories?.length\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalMemoriesCount\x20=\x20memoriesItemsCount\x20+\x20memoriesEntriesCount\x20+\x20memoriesArrayCount;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Final\x20memories\x20result:\x27,\x20memoriesItemsCount,\x20\x27items,\x27,\x20memoriesEntriesCount,\x20\x27entries,\x27,\x20memoriesArrayCount,\x20\x27memories\x20array\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Send\x20memories\x20to\x20React\x20Native\x20for\x20storage\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(memoriesData\x20&&\x20totalMemoriesCount\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Sending\x20memories\x20to\x20React\x20Native\x20for\x20storage...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_DATA\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memoriesData:\x20memoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20totalMemoriesCount:\x20totalMemoriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Send\x20conversation\x20data\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conversations:\x20userMessages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_conversations:\x20userMessages.length,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_messages:\x20totalMessages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_items_count:\x20memoriesItemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_entries_count:\x20memoriesEntriesCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memories_array_count:\x20memoriesArrayCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20total_memories_count:\x20totalMemoriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Export\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetch\x20failed:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Init\x20error:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CONVERSATION_EXPORT_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20error:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a','CHATGPT_SUCCESS_SCRIPT','\x0a(function()\x20{\x0a\x20\x20\x20\x20console.log(\x27✅\x20ChatGPT\x20export\x20successful!\x27);\x0a})();\x0atrue;\x0a','\x0a(function()\x20{\x0a\x20\x20\x20\x20console.log(\x27❌\x20ChatGPT\x20export\x20failed!\x27);\x0a})();\x0atrue;\x0a','\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20baseUrl\x20=\x20\x27https://chatgpt.com\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27🧠\x20[CHATGPT]\x20Starting\x20memories\x20extraction...\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20(async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x201:\x20Get\x20access\x20token\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_token\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Getting\x20access\x20token...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20accessToken\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/api/auth/session\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(sessionResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20sessionData\x20=\x20await\x20sessionResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20accessToken\x20=\x20sessionData.accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(sessionError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.warn(\x27[CHATGPT]\x20Session\x20fetch\x20failed:\x27,\x20sessionError.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20STEP\x202:\x20Fetch\x20memories\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_PROGRESS\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stage:\x20\x27fetching_memories\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Fetching\x20ChatGPT\x20memories...\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20headers\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Accept\x27:\x20\x27application/json\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27Referer\x27:\x20baseUrl\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(accessToken)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers[\x27Authorization\x27]\x20=\x20\x27Bearer\x20\x27\x20+\x20accessToken;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesResponse\x20=\x20await\x20fetch(baseUrl\x20+\x20\x27/backend-api/memories?include_memory_entries=true&memory_entries_filter=all\x27,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20method:\x20\x27GET\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20credentials:\x20\x27include\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20headers:\x20headers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!memoriesResponse.ok)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27HTTP\x20\x27\x20+\x20memoriesResponse.status\x20+\x20\x27:\x20Failed\x20to\x20fetch\x20memories\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20memoriesData\x20=\x20await\x20memoriesResponse.json();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20itemsCount\x20=\x20memoriesData.items\x20?\x20memoriesData.items.length\x20:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20entriesCount\x20=\x20memoriesData.memory_entries\x20?\x20memoriesData.memory_entries.length\x20:\x200;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_COMPLETE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27success\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20memoriesData:\x20memoriesData,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20itemsCount:\x20itemsCount,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entriesCount:\x20entriesCount\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Memories\x20fetch\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Memories\x20fetch\x20failed:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27❌\x20[CHATGPT]\x20Memories\x20init\x20error:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27MEMORIES_FETCH_ERROR\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Script\x20error:\x20\x27\x20+\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a'];_0x3b80=function(){return _0x44fbf6;};return _0x3b80();}const CHATGPT_CONSENT_POPUP_SCRIPT=exports['CHATGPT_CONSENT_POPUP_SCRIPT']='\x0a(function()\x20{\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20existing\x20=\x20document.getElementById(\x27onairos-consent-overlay\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(existing)\x20existing.remove();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20overlay\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.id\x20=\x20\x27onairos-consent-overlay\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.style.cssText\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20position:\x20fixed;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20top:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20left:\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20100%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20rgba(0,\x200,\x200,\x200.7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20z-index:\x20999999;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20-apple-system,\x20BlinkMacSystemFont,\x20\x27Segoe\x20UI\x27,\x20Roboto,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20popup\x20=\x20document.createElement(\x27div\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20popup.style.cssText\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2032px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20max-width:\x20400px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x2090%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20box-shadow:\x200\x2020px\x2060px\x20rgba(0,\x200,\x200,\x200.3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20popup.innerHTML\x20=\x20`\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22text-align:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2048px;\x20margin-bottom:\x2016px;\x22>🤖</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h2\x20style=\x22margin:\x200\x200\x2012px\x200;\x20font-size:\x2024px;\x20color:\x20#1a1a1a;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Export\x20Conversations?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</h2>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<p\x20style=\x22margin:\x200\x200\x2024px\x200;\x20color:\x20#666;\x20font-size:\x2016px;\x20line-height:\x201.5;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Allow\x20Onairos\x20to\x20export\x20your\x20top\x2010\x20ChatGPT\x20conversations\x20for\x20analysis?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:\x20flex;\x20gap:\x2012px;\x20justify-content:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22onairos-deny\x22\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2014px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x202px\x20solid\x20#e0e0e0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#666;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22>Deny</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22onairos-allow\x22\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20flex:\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2014px\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x20none;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20linear-gradient(135deg,\x20#667eea\x200%,\x20#764ba2\x20100%);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20white;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22>Allow</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20overlay.appendChild(popup);\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.body.appendChild(overlay);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-deny\x27).onclick\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20overlay.remove();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27denied\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).onclick\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).innerHTML\x20=\x20\x27⏳\x20Starting...\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.getElementById(\x27onairos-allow\x27).disabled\x20=\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27allowed\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20setTimeout(()\x20=>\x20overlay.remove(),\x20500);\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20window.ReactNativeWebView.postMessage(JSON.stringify({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27CHATGPT_CONSENT\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a})();\x0atrue;\x0a',CHATGPT_EXPORT_SCRIPT=exports[_0x1d9e(0x1)]=_0x1d9e(0x3),CHATGPT_SUCCESS_SCRIPT=exports[_0x1d9e(0x4)]=_0x1d9e(0x5),CHATGPT_ERROR_SCRIPT=exports[_0x1d9e(0x2)]=_0x1d9e(0x6),CHATGPT_FETCH_MEMORIES_SCRIPT=exports[_0x1d9e(0x0)]=_0x1d9e(0x7);