@bota.dev/react-native-app-sdk 2.0.0-beta.0 → 2.0.0-beta.10

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 (125) hide show
  1. package/README.md +104 -3
  2. package/android/build.gradle +1 -0
  3. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDevices.kt +22 -0
  4. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDiagnostics.kt +53 -0
  5. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogs.kt +16 -0
  6. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploads.kt +144 -14
  7. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordings.kt +150 -29
  8. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKEncryptedUploadV2Materials.kt +27 -0
  9. package/android/src/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKModule.kt +86 -3
  10. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDevicesTest.kt +35 -0
  11. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogsTest.kt +33 -0
  12. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploadsTest.kt +135 -6
  13. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingsTest.kt +236 -10
  14. package/generated/codegen-contract.json +568 -8
  15. package/ios/BotaDeviceSDK.mm +114 -0
  16. package/ios/BotaDeviceSDKAppleBridge.swift +141 -4
  17. package/ios/BotaDeviceSDKAppleDevices.swift +11 -0
  18. package/ios/BotaDeviceSDKAppleDiagnostics.swift +40 -0
  19. package/ios/BotaDeviceSDKAppleLogs.swift +18 -0
  20. package/ios/BotaDeviceSDKAppleRecordingUploads.swift +138 -6
  21. package/ios/BotaDeviceSDKAppleRecordings.swift +113 -5
  22. package/ios/BotaDeviceSDKEncryptedUploadV2Materials.swift +40 -0
  23. package/lib/commonjs/BotaClient.js +16 -2
  24. package/lib/commonjs/BotaClient.js.map +1 -1
  25. package/lib/commonjs/ble/constants.js +5 -1
  26. package/lib/commonjs/ble/constants.js.map +1 -1
  27. package/lib/commonjs/ble/deviceDiagnostics.js +240 -0
  28. package/lib/commonjs/ble/deviceDiagnostics.js.map +1 -0
  29. package/lib/commonjs/client.js +183 -28
  30. package/lib/commonjs/client.js.map +1 -1
  31. package/lib/commonjs/clientPresence.js +26 -0
  32. package/lib/commonjs/clientPresence.js.map +1 -0
  33. package/lib/commonjs/index.js +29 -0
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/managers/DeviceManager.js +23 -0
  36. package/lib/commonjs/managers/DeviceManager.js.map +1 -1
  37. package/lib/commonjs/managers/NativeUploadQueue.js +386 -0
  38. package/lib/commonjs/managers/NativeUploadQueue.js.map +1 -0
  39. package/lib/commonjs/managers/RecordingManager.js +83 -102
  40. package/lib/commonjs/managers/RecordingManager.js.map +1 -1
  41. package/lib/commonjs/managers/uploadRecoveryMetadata.js +83 -0
  42. package/lib/commonjs/managers/uploadRecoveryMetadata.js.map +1 -0
  43. package/lib/commonjs/sdkIdentity.js +10 -0
  44. package/lib/commonjs/sdkIdentity.js.map +1 -0
  45. package/lib/commonjs/specs/NativeBotaDeviceSDK.js.map +1 -1
  46. package/lib/commonjs/uploadRecovery.js +68 -0
  47. package/lib/commonjs/uploadRecovery.js.map +1 -0
  48. package/lib/module/BotaClient.js +16 -2
  49. package/lib/module/BotaClient.js.map +1 -1
  50. package/lib/module/ble/constants.js +4 -0
  51. package/lib/module/ble/constants.js.map +1 -1
  52. package/lib/module/ble/deviceDiagnostics.js +234 -0
  53. package/lib/module/ble/deviceDiagnostics.js.map +1 -0
  54. package/lib/module/client.js +183 -28
  55. package/lib/module/client.js.map +1 -1
  56. package/lib/module/clientPresence.js +22 -0
  57. package/lib/module/clientPresence.js.map +1 -0
  58. package/lib/module/index.js +4 -0
  59. package/lib/module/index.js.map +1 -1
  60. package/lib/module/managers/DeviceManager.js +23 -0
  61. package/lib/module/managers/DeviceManager.js.map +1 -1
  62. package/lib/module/managers/NativeUploadQueue.js +380 -0
  63. package/lib/module/managers/NativeUploadQueue.js.map +1 -0
  64. package/lib/module/managers/RecordingManager.js +83 -102
  65. package/lib/module/managers/RecordingManager.js.map +1 -1
  66. package/lib/module/managers/uploadRecoveryMetadata.js +77 -0
  67. package/lib/module/managers/uploadRecoveryMetadata.js.map +1 -0
  68. package/lib/module/sdkIdentity.js +6 -0
  69. package/lib/module/sdkIdentity.js.map +1 -0
  70. package/lib/module/specs/NativeBotaDeviceSDK.js.map +1 -1
  71. package/lib/module/uploadRecovery.js +64 -0
  72. package/lib/module/uploadRecovery.js.map +1 -0
  73. package/lib/typescript/BotaClient.d.ts +2 -0
  74. package/lib/typescript/BotaClient.d.ts.map +1 -1
  75. package/lib/typescript/ble/constants.d.ts +4 -0
  76. package/lib/typescript/ble/constants.d.ts.map +1 -1
  77. package/lib/typescript/ble/deviceDiagnostics.d.ts +10 -0
  78. package/lib/typescript/ble/deviceDiagnostics.d.ts.map +1 -0
  79. package/lib/typescript/client.d.ts +24 -3
  80. package/lib/typescript/client.d.ts.map +1 -1
  81. package/lib/typescript/clientPresence.d.ts +26 -0
  82. package/lib/typescript/clientPresence.d.ts.map +1 -0
  83. package/lib/typescript/index.d.ts +10 -4
  84. package/lib/typescript/index.d.ts.map +1 -1
  85. package/lib/typescript/managers/DeviceManager.d.ts +5 -1
  86. package/lib/typescript/managers/DeviceManager.d.ts.map +1 -1
  87. package/lib/typescript/managers/NativeUploadQueue.d.ts +41 -0
  88. package/lib/typescript/managers/NativeUploadQueue.d.ts.map +1 -0
  89. package/lib/typescript/managers/RecordingManager.d.ts +3 -8
  90. package/lib/typescript/managers/RecordingManager.d.ts.map +1 -1
  91. package/lib/typescript/managers/types.d.ts +6 -1
  92. package/lib/typescript/managers/types.d.ts.map +1 -1
  93. package/lib/typescript/managers/uploadRecoveryMetadata.d.ts +6 -0
  94. package/lib/typescript/managers/uploadRecoveryMetadata.d.ts.map +1 -0
  95. package/lib/typescript/models/Device.d.ts +42 -0
  96. package/lib/typescript/models/Device.d.ts.map +1 -1
  97. package/lib/typescript/models/Recording.d.ts +47 -0
  98. package/lib/typescript/models/Recording.d.ts.map +1 -1
  99. package/lib/typescript/models/Status.d.ts +5 -1
  100. package/lib/typescript/models/Status.d.ts.map +1 -1
  101. package/lib/typescript/sdkIdentity.d.ts +3 -0
  102. package/lib/typescript/sdkIdentity.d.ts.map +1 -0
  103. package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts +70 -0
  104. package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts.map +1 -1
  105. package/lib/typescript/uploadRecovery.d.ts +27 -0
  106. package/lib/typescript/uploadRecovery.d.ts.map +1 -0
  107. package/package.json +1 -1
  108. package/scripts/bota_device_sdk_spm_workaround.rb +26 -15
  109. package/src/BotaClient.ts +17 -3
  110. package/src/ble/constants.ts +5 -0
  111. package/src/ble/deviceDiagnostics.ts +238 -0
  112. package/src/client.ts +189 -18
  113. package/src/clientPresence.ts +33 -0
  114. package/src/index.ts +18 -0
  115. package/src/managers/DeviceManager.ts +23 -0
  116. package/src/managers/NativeUploadQueue.ts +330 -0
  117. package/src/managers/RecordingManager.ts +83 -116
  118. package/src/managers/types.ts +7 -1
  119. package/src/managers/uploadRecoveryMetadata.ts +59 -0
  120. package/src/models/Device.ts +43 -0
  121. package/src/models/Recording.ts +52 -0
  122. package/src/models/Status.ts +5 -1
  123. package/src/sdkIdentity.ts +3 -0
  124. package/src/specs/NativeBotaDeviceSDK.ts +66 -0
  125. package/src/uploadRecovery.ts +66 -0
@@ -1 +1 @@
1
- {"version":3,"names":["reportCompatibilityDisconnection","BotaNativeModuleError","Error","code","constructor","name","mapDiscoveredDevice","device","id","deviceType","firmwareVersion","macAddress","pairingState","rssi","discoveredAt","Date","discoveredAtMs","toNativeDiscoveredDevice","getTime","mapConnectedDevice","connectionState","toNativeConnectedDevice","serialNumber","hardwareRevision","undefined","isProvisioned","mtu","errorMessage","error","message","String","createOpaqueId","replace","value","random","Math","floor","nibble","toString","bytesToHex","Array","from","byte","padStart","join","toNativeConnectionSettings","settings","enabledConnections","enabled_connections","heartbeatEnabledConnections","heartbeat_enabled_connections","wifi","cellular","uploadNetworkPreference","upload_network_preference","powerManagement","wifiIdleTimeoutSeconds","power_management","wifi_idle_timeout_seconds","cellularIdleTimeoutSeconds","cellular_idle_timeout_seconds","streamingEnabled","streaming_enabled","streamingFlushIntervalSeconds","streaming_flush_interval_seconds","isConnectionType","mapNativeConnectionSettings","filter","matchesScanOptions","options","deviceTypes","includes","minRssi","mapDeviceStatus","status","batteryLevel","batteryMv","storageTotalMb","storageUsedMb","state","pendingRecordings","lastTimeSyncAt","lastTimeSyncAtMs","signalStrength","flags","timestamp","lteStatus","lteSignalQuality","wifiStatus","modemInfo","mapRecording","recording","uuid","startedAt","startedAtMs","durationMs","fileSizeBytes","fileSize","codec","isEncrypted","toNativeRecording","mapRecordingProgress","progress","completedBytes","completedUnits","totalBytes","totalUnits","mapEncryptedUploadV2Progress","recordingUuid","phase","checkpointRevision","errorCode","retryable","protocolStatus","mapFirmwareProgress","isWiFiStatus","mapWiFiStatus","ssid","lastError","mapRecordingControlResult","result","success","mapRecordingState","active","recordingId","initiatedBy","mapWiFiConfigResult","mapWiFiScanResult","networks","map","network","currentSsid","requiredUploadOwnershipField","field","mapUploadOwnershipResult","kind","uploadId","destinationId","toNativeRecordingUploadRequest","task","taskId","deviceId","localPath","uploadUrl","uploadToken","completeUrl","contentType","contentSha256","relay","relayUrl","url","relayBearerToken","bearerToken","parseUploadQueue","serialized","JSON","parse","isArray","candidate","createdAt","updatedAt","createBotaDeviceSDK","nativeModule","requireNativeModule","devices","startScan","onDevice","module","subscription","onDeviceDiscovered","discovered","timeout","allowDuplicates","remove","stopScan","connect","connectSelected","reconnect","scanTimeoutMs","scanTimeout","connectionTimeoutMs","disconnect","readStatus","subscribeToStatus","onStatus","eventSubscription","onDeviceStatusUpdated","startStatusUpdates","removed","stopStatusUpdates","provisioning","provision","provider","onProvisioningMaterialRequested","request","material","nonce","devicePublicKey","resolveProvisioningMaterial","requestId","rejectApplicationMaterial","catch","deprovision","grantBlob","readConnectionSettings","writeConnectionSettings","controls","readPublicKey","readAuthNonce","setApiEndpoint","environment","deliverCertificate","certificatePem","privateKeyPem","deliverBackendPublicKey","publicKey","writeGrant","syncTime","requestStartRecording","requestStopRecording","readRecordingState","subscribeToRecordingState","onState","onRecordingStateUpdated","startRecordingStateUpdates","stopRecordingStateUpdates","factoryReset","persistResult","grantSubscription","onFactoryResetGrantRequested","commandId","bindingGeneration","resolveFactoryResetGrant","persistenceSubscription","onFactoryResetResultPersistenceRequested","localRecordingsDeleted","resolveFactoryResetResultPersistence","resumePendingFactoryReset","currentBindingGeneration","recordings","listRecordings","values","syncRecording","onProgress","sinkId","onRecordingTransferProgress","syncEncryptedRecordingV2","operationId","profileSubscription","onEncryptedUploadV2ProfileRequested","decision","capability","checkpoint","profile","resolveEncryptedUploadV2Profile","rejectEncryptedUploadV2Profile","progressSubscription","onEncryptedUploadV2Progress","uploadRecordingFile","onRecordingUploadProgress","confirmRecording","cancelRecordingUpload","loadUploadQueue","loadCompatibilityUploadQueue","saveUploadQueue","tasks","saveCompatibilityUploadQueue","stringify","destroyCompatibilityOperations","stopAllRecordingOperations","observeUploadOwnership","onUploadOwnershipProgress","ota","updateFirmware","image","onFirmwareUpdateProgress","version","sizeUnits","sizeBytes","crc32","cancelFirmwareUpdate","streaming","startStreaming","handlers","onStreamingProgress","sessionId","bytesReceived","chunksUploaded","destinationSubscription","onStreamingChunkDestinationRequested","nativeRequest","resolveChunkDestination","sequence","encrypted","then","destination","resolveStreamingChunkDestination","rejectStreamingChunkDestination","finalizeSubscription","onStreamingFinalizeRequested","finalize","totalChunks","resolveStreamingFinalize","rejectStreamingFinalize","abortStreaming","logs","subscribe","onLine","onDeviceLog","line","level","isBacklog","startDeviceLogs","stopDeviceLogs","configure","credentials","grant","configureWiFi","password","disconnectWiFi","readWiFiStatus","onWiFiStatusUpdated","startWiFiStatusUpdates","stopWiFiStatusUpdates","scanNetworks","scanWiFiNetworks","client","configuration","nativeConfiguration","logLevel","applicationSupportDirectory","destroy","getCapabilities","getState","onDeviceDisconnected","event"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SDK_PACKAGE","SDK_VERSION","reportCompatibilityDisconnection","BotaNativeModuleError","Error","code","constructor","name","formatAdvertisedMac","value","test","replace","toUpperCase","match","join","mapDiscoveredDevice","device","id","deviceType","firmwareVersion","macAddress","pairingState","rssi","discoveredAt","Date","discoveredAtMs","toNativeDiscoveredDevice","getTime","mapConnectedDevice","connectionState","toNativeConnectedDevice","serialNumber","hardwareRevision","undefined","isProvisioned","mtu","errorMessage","error","message","String","createOpaqueId","random","Math","floor","nibble","toString","catalogInteger","maximum","BigInt","Number","MAX_SAFE_INTEGER","mapPendingRecording","uuidPattern","profile","legacy","encrypted","recording","uuid","isSafeInteger","startedAtMs","durationMs","fileSize","codec","isEncrypted","mapRecording","plaintextLength","storageFormat","ciphertextLength","ciphertextSha256","isInteger","generation","startedAt","bytesToHex","Array","from","byte","padStart","toNativeConnectionSettings","settings","enabledConnections","enabled_connections","heartbeatEnabledConnections","heartbeat_enabled_connections","wifi","cellular","uploadNetworkPreference","upload_network_preference","powerManagement","wifiIdleTimeoutSeconds","power_management","wifi_idle_timeout_seconds","cellularIdleTimeoutSeconds","cellular_idle_timeout_seconds","streamingEnabled","streaming_enabled","streamingFlushIntervalSeconds","streaming_flush_interval_seconds","isConnectionType","mapNativeConnectionSettings","filter","matchesScanOptions","options","deviceTypes","includes","minRssi","mapDeviceStatus","status","batteryLevel","batteryMv","storageTotalMb","storageUsedMb","state","pendingRecordings","lastTimeSyncAt","lastTimeSyncAtMs","signalStrength","flags","timestamp","lteStatus","lteSignalQuality","wifiStatus","modemInfo","fileSizeBytes","toNativeRecording","mapRecordingProgress","progress","completedBytes","completedUnits","totalBytes","totalUnits","mapEncryptedUploadV2Progress","recordingUuid","phase","checkpointRevision","errorCode","retryable","protocolStatus","mapFirmwareProgress","isWiFiStatus","mapWiFiStatus","ssid","lastError","mapRecordingControlResult","result","success","mapRecordingState","active","recordingId","initiatedBy","mapWiFiConfigResult","mapWiFiScanResult","networks","map","network","currentSsid","requiredUploadOwnershipField","field","mapUploadOwnershipResult","kind","uploadId","destinationId","toNativeRecordingUploadRequest","task","taskId","deviceId","localPath","uploadUrl","uploadToken","completeUrl","contentType","contentSha256","relay","relayUrl","url","relayBearerToken","bearerToken","parseUploadQueue","serialized","JSON","parse","isArray","createdAt","updatedAt","candidate","createBotaDeviceSDK","nativeModule","presenceStopped","presenceGeneration","requireNativeModule","devices","startScan","onDevice","module","subscription","onDeviceDiscovered","discovered","timeout","allowDuplicates","remove","stopScan","connect","connectSelected","reconnect","scanTimeoutMs","scanTimeout","connectionTimeoutMs","disconnect","readStatus","subscribeToStatus","onStatus","eventSubscription","onDeviceStatusUpdated","startStatusUpdates","removed","stopStatusUpdates","provisioning","provision","provider","onProvisioningMaterialRequested","request","material","nonce","devicePublicKey","resolveProvisioningMaterial","requestId","rejectApplicationMaterial","catch","deprovision","grantBlob","readConnectionSettings","writeConnectionSettings","controls","readPublicKey","readAuthNonce","setApiEndpoint","environment","deliverCertificate","certificatePem","privateKeyPem","deliverBackendPublicKey","publicKey","writeGrant","syncTime","requestStartRecording","requestStopRecording","readRecordingState","subscribeToRecordingState","onState","onRecordingStateUpdated","startRecordingStateUpdates","stopRecordingStateUpdates","factoryReset","persistResult","grantSubscription","onFactoryResetGrantRequested","commandId","bindingGeneration","resolveFactoryResetGrant","persistenceSubscription","onFactoryResetResultPersistenceRequested","localRecordingsDeleted","resolveFactoryResetResultPersistence","resumePendingFactoryReset","currentBindingGeneration","recordings","listRecordings","values","listPendingRecordings","syncRecording","onProgress","sinkId","onRecordingTransferProgress","syncEncryptedRecordingV2","signal","aborted","operationId","nativeStarted","cancellation","cancellationFailed","cancel","cancelEncryptedRecordingV2","profileSubscription","progressSubscription","addEventListener","once","onEncryptedUploadV2ProfileRequested","decision","capability","checkpoint","releaseEncryptedUploadV2Material","materialRegistrationId","resolveEncryptedUploadV2Profile","rejectEncryptedUploadV2Profile","onEncryptedUploadV2Progress","cleanupFailed","removeEventListener","uploadRecordingFile","onRecordingUploadProgress","confirmRecording","cancelRecordingUpload","releaseRecordingFile","loadUploadQueue","loadCompatibilityUploadQueue","saveUploadQueue","tasks","saveCompatibilityUploadQueue","stringify","destroyCompatibilityOperations","stopAllRecordingOperations","observeUploadOwnership","onUploadOwnershipProgress","ota","updateFirmware","image","onFirmwareUpdateProgress","version","sizeUnits","sizeBytes","crc32","cancelFirmwareUpdate","streaming","startStreaming","handlers","onStreamingProgress","sessionId","bytesReceived","chunksUploaded","destinationSubscription","onStreamingChunkDestinationRequested","nativeRequest","resolveChunkDestination","sequence","then","destination","resolveStreamingChunkDestination","rejectStreamingChunkDestination","finalizeSubscription","onStreamingFinalizeRequested","finalize","totalChunks","resolveStreamingFinalize","rejectStreamingFinalize","abortStreaming","logs","readDiagnosticEvents","batch","schema_version","events","report","event","event_type","reason_code","fault","execution","pc_trace","runtime","breadcrumbs","acknowledgeDiagnosticEvents","acceptedEventIds","some","subscribe","onLine","onDeviceLog","line","level","isBacklog","startDeviceLogs","stopDeviceLogs","configure","credentials","grant","configureWiFi","password","disconnectWiFi","readWiFiStatus","onWiFiStatusUpdated","startWiFiStatusUpdates","stopWiFiStatusUpdates","scanNetworks","scanWiFiNetworks","client","clientPresence","nextReport","nextClientPresence","sdkPackage","sdkVersion","configuration","nativeConfiguration","logLevel","applicationSupportDirectory","destroy","getCapabilities","getState","onDeviceDisconnected"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ /** Optional diagnostics, not device attestation or command authority. */
4
+
5
+ /** Read fresh BLE status only while the same verified connection and host scope survive.
6
+ * The caller owns authentication, binding generation, scheduling and HTTP.
7
+ * Unavailable presence or a changed scope/session skips reporting without BLE writes.
8
+ */
9
+ export async function readClientPresenceObservation(options) {
10
+ if (!options.isCurrent()) return null;
11
+ const before = await options.presence.nextReport(options.deviceId);
12
+ if (!before || !options.isCurrent()) return null;
13
+ const status = await options.readStatus();
14
+ if (!options.isCurrent()) return null;
15
+ const after = await options.presence.nextReport(options.deviceId);
16
+ if (!after || !options.isCurrent() || before.session_id !== after.session_id) return null;
17
+ return {
18
+ status,
19
+ clientContext: after
20
+ };
21
+ }
22
+ //# sourceMappingURL=clientPresence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["readClientPresenceObservation","options","isCurrent","before","presence","nextReport","deviceId","status","readStatus","after","session_id","clientContext"],"sourceRoot":"../../src","sources":["clientPresence.ts"],"mappings":";;AAAA;;AAcA;AACA;AACA;AACA;AACA,OAAO,eAAeA,6BAA6BA,CAAIC,OAKtD,EAAkE;EACjE,IAAI,CAACA,OAAO,CAACC,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI;EACrC,MAAMC,MAAM,GAAG,MAAMF,OAAO,CAACG,QAAQ,CAACC,UAAU,CAACJ,OAAO,CAACK,QAAQ,CAAC;EAClE,IAAI,CAACH,MAAM,IAAI,CAACF,OAAO,CAACC,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI;EAChD,MAAMK,MAAM,GAAG,MAAMN,OAAO,CAACO,UAAU,CAAC,CAAC;EACzC,IAAI,CAACP,OAAO,CAACC,SAAS,CAAC,CAAC,EAAE,OAAO,IAAI;EACrC,MAAMO,KAAK,GAAG,MAAMR,OAAO,CAACG,QAAQ,CAACC,UAAU,CAACJ,OAAO,CAACK,QAAQ,CAAC;EACjE,IAAI,CAACG,KAAK,IAAI,CAACR,OAAO,CAACC,SAAS,CAAC,CAAC,IAAIC,MAAM,CAACO,UAAU,KAAKD,KAAK,CAACC,UAAU,EAAE,OAAO,IAAI;EACzF,OAAO;IAAEH,MAAM;IAAEI,aAAa,EAAEF;EAAM,CAAC;AACzC","ignoreList":[]}
@@ -7,10 +7,14 @@ export { BotaNativeModuleError, createBotaDeviceSDK } from './client';
7
7
  export const BotaDeviceSDK = createBotaDeviceSDK(NativeBotaDeviceSDK);
8
8
  setDefaultCompatibilityClient(BotaDeviceSDK);
9
9
  export { BotaClient } from './BotaClient';
10
+ export { readClientPresenceObservation } from './clientPresence';
11
+ export { createUploadRecoveryProvider } from './uploadRecovery';
10
12
  export { DeviceLogDecoder } from './ble/deviceLogs';
13
+ export { DeviceDiagnosticsDecoder, diagnosticEventIdCommand } from './ble/deviceDiagnostics';
11
14
  export { DeviceManager } from './managers/DeviceManager';
12
15
  export { OTAManager } from './managers/OTAManager';
13
16
  export { RecordingManager } from './managers/RecordingManager';
17
+ export const UPLOAD_RECOVERY_VERSION = 1;
14
18
  export { StreamingSession } from './managers/StreamingSession';
15
19
  export { BotaError, BluetoothError, DeviceError, ProvisioningError, SdkError, TransferError, UploadError, isBotaError } from './utils/errors';
16
20
  export { deriveSyncStatus } from './sync/syncStatus';
@@ -1 +1 @@
1
- {"version":3,"names":["NativeBotaDeviceSDK","createBotaDeviceSDK","setDefaultCompatibilityClient","BotaNativeModuleError","BotaDeviceSDK","BotaClient","DeviceLogDecoder","DeviceManager","OTAManager","RecordingManager","StreamingSession","BotaError","BluetoothError","DeviceError","ProvisioningError","SdkError","TransferError","UploadError","isBotaError","deriveSyncStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,OAAOA,mBAAmB,MAAM,6BAA6B;AAC7D,SAASC,mBAAmB,QAAQ,UAAU;AAC9C,SAASC,6BAA6B,QAAQ,yBAAyB;AAEvE,SACEC,qBAAqB,EACrBF,mBAAmB,QACd,UAAU;AA0CjB,OAAO,MAAMG,aAAa,GAAGH,mBAAmB,CAACD,mBAAmB,CAAC;AACrEE,6BAA6B,CAACE,aAAa,CAAC;AAE5C,SAASC,UAAU,QAAQ,cAAc;AAuEzC,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SACEC,SAAS,EACTC,cAAc,EACdC,WAAW,EACXC,iBAAiB,EACjBC,QAAQ,EACRC,aAAa,EACbC,WAAW,EACXC,WAAW,QACN,gBAAgB;AAEvB,SAASC,gBAAgB,QAAQ,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["NativeBotaDeviceSDK","createBotaDeviceSDK","setDefaultCompatibilityClient","BotaNativeModuleError","BotaDeviceSDK","BotaClient","readClientPresenceObservation","createUploadRecoveryProvider","DeviceLogDecoder","DeviceDiagnosticsDecoder","diagnosticEventIdCommand","DeviceManager","OTAManager","RecordingManager","UPLOAD_RECOVERY_VERSION","StreamingSession","BotaError","BluetoothError","DeviceError","ProvisioningError","SdkError","TransferError","UploadError","isBotaError","deriveSyncStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,OAAOA,mBAAmB,MAAM,6BAA6B;AAC7D,SAASC,mBAAmB,QAAQ,UAAU;AAC9C,SAASC,6BAA6B,QAAQ,yBAAyB;AAEvE,SACEC,qBAAqB,EACrBF,mBAAmB,QACd,UAAU;AA8CjB,OAAO,MAAMG,aAAa,GAAGH,mBAAmB,CAACD,mBAAmB,CAAC;AACrEE,6BAA6B,CAACE,aAAa,CAAC;AAE5C,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,6BAA6B,QAAQ,kBAAkB;AAChE,SAASC,4BAA4B,QAAQ,kBAAkB;AAgF/D,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,wBAAwB,EAAEC,wBAAwB,QAAQ,yBAAyB;AAC5F,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,OAAO,MAAMC,uBAAuB,GAAG,CAAC;AACxC,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SACEC,SAAS,EACTC,cAAc,EACdC,WAAW,EACXC,iBAAiB,EACjBC,QAAQ,EACRC,aAAa,EACbC,WAAW,EACXC,WAAW,QACN,gBAAgB;AAEvB,SAASC,gBAAgB,QAAQ,mBAAmB","ignoreList":[]}
@@ -4,6 +4,21 @@ import EventEmitter from 'eventemitter3';
4
4
  import { getCompatibilityClient, subscribeToCompatibilityDisconnections } from '../compatibility/runtime';
5
5
  import { DeviceError, ProvisioningError } from '../utils/errors';
6
6
  export class DeviceManager extends EventEmitter {
7
+ clientPresence = {
8
+ nextReport: async deviceId => {
9
+ if (this.destroyed) return null;
10
+ const report = await this.client.clientPresence.nextReport(deviceId);
11
+ if (this.destroyed || !report || report.platform !== 'ios' && report.platform !== 'android') return null;
12
+ return {
13
+ schema_version: 1,
14
+ session_id: report.sessionId,
15
+ sequence: report.sequence,
16
+ platform: report.platform,
17
+ sdk_package: report.sdkPackage,
18
+ sdk_version: report.sdkVersion
19
+ };
20
+ }
21
+ };
7
22
  discoveredDevices = new Map();
8
23
  connectedDevices = new Map();
9
24
  knownBleIds = new Map();
@@ -288,6 +303,14 @@ export class DeviceManager extends EventEmitter {
288
303
  void this.removeExpected(this.logSubscriptions, device.id, promise);
289
304
  });
290
305
  }
306
+ async readDiagnosticEvents(device) {
307
+ this.requireConnected(device.id);
308
+ return this.client.logs.readDiagnosticEvents(device);
309
+ }
310
+ async acknowledgeDiagnosticEvents(device, acceptedEventIds) {
311
+ this.requireConnected(device.id);
312
+ await this.client.logs.acknowledgeDiagnosticEvents(device, acceptedEventIds);
313
+ }
291
314
  async readConnectionSettings(device) {
292
315
  this.requireConnected(device.id);
293
316
  return this.client.provisioning.readConnectionSettings(device);
@@ -1 +1 @@
1
- {"version":3,"names":["EventEmitter","getCompatibilityClient","subscribeToCompatibilityDisconnections","DeviceError","ProvisioningError","DeviceManager","discoveredDevices","Map","connectedDevices","knownBleIds","cache","cacheListeners","Set","statusSubscriptions","statusCallbacks","wifiStatusSubscriptions","logSubscriptions","recordingStateCache","recordingStatePending","recordingStateSubscriptions","reconnectInFlight","reconnectChain","Promise","resolve","scanSubscription","scanActive","autoReconnectEnabled","autoReconnectSerial","autoReconnectTimer","autoReconnectAttempting","userDisconnected","destroyed","constructor","client","disconnectionSubscription","error","handleNativeDisconnection","initialize","startScan","options","assertAlive","emit","devices","device","set","id","asError","stopScan","remove","catch","getDiscoveredDevices","Array","from","values","getConnectedDevices","getKnownBleIds","Object","fromEntries","connect","priority","connected","rememberConnected","ensureStatusWatchdog","reconnect","serialNumber","existing","findConnectedBySerial","inFlight","get","run","undefined","then","finally","delete","disconnect","stopAutoReconnectLoop","removeOwned","isConnected","deviceId","connectionState","getStatus","requireConnected","readStatus","isProvisioned","controls","readPublicKey","readAuthNonce","setApiEndpoint","environment","deliverCert","certPem","privkeyPem","deliverCertificate","deliverBackendPubkey","pubkey","deliverBackendPublicKey","writeGrant","grantBlob","syncTime","provision","deviceToken","provisioning","apiEndpoint","String","fromCharCode","environmentCode","mtu","isAlreadyPaired","fetchDeprovisionGrant","provisioningError","nonce","result","deprovision","success","factoryReset","invalidToken","bleFactoryReset","persistResult","persisted","commandId","nextCompatibilityResetCommandId","bindingGeneration","rejected","factoryResetRejection","Error","resumeBleFactoryReset","resumePendingFactoryReset","requestStartRecording","grantOrFetcher","_options","runRecordingControl","fetchRecordingGrant","requestStopRecording","getRecordingState","pending","readAndCacheRecordingState","cachedRecordingState","subscribeToRecordingState","callback","promise","replaceOwned","idempotentRemoval","removeExpected","subscribeToStatus","callbacks","add","size","subscribeToDeviceLogs","logs","subscribe","readConnectionSettings","writeConnectionSettings","settings","configureWiFi","credentials","grant","wifi","configure","disconnectWiFi","getWiFiStatus","status","updateCachedDeviceState","wifiStatus","subscribeToWiFiStatus","scanWiFiNetworks","scanNetworks","getCachedDeviceState","getCachedWiFiStatus","patch","previous","mergeWiFiStatus","state","updatedAt","Date","now","listener","clearCachedDeviceState","clearAllCachedDeviceStates","clear","enableAutoReconnect","startAutoReconnectLoop","disableAutoReconnect","has","onCachedDeviceStateChanged","destroy","removeAllListeners","subscription","attempt","scanTimeout","setInterval","clearInterval","notConnected","fetcher","command","operation","pendingState","readRecordingState","active","initiatedBy","owner","next","expected","removed","signalStrength","ssid","lastError","nativeProtocolStatus","direct","Reflect","userInfo","nested","code","storageError","chunkError","alreadyPaired","compatibilityResetSequence","toString"],"sourceRoot":"../../../src","sources":["managers/DeviceManager.ts"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,eAAe;AAOxC,SACEC,sBAAsB,EACtBC,sCAAsC,QACjC,0BAA0B;AAyBjC,SAASC,WAAW,EAAEC,iBAAiB,QAAQ,iBAAiB;AAoBhE,OAAO,MAAMC,aAAa,SAASL,YAAY,CAAsB;EAElDM,iBAAiB,GAAG,IAAIC,GAAG,CAA2B,CAAC;EACvDC,gBAAgB,GAAG,IAAID,GAAG,CAA0B,CAAC;EACrDE,WAAW,GAAG,IAAIF,GAAG,CAAiB,CAAC;EACvCG,KAAK,GAAG,IAAIH,GAAG,CAA4B,CAAC;EAC5CI,cAAc,GAAG,IAAIC,GAAG,CAAgB,CAAC;EACzCC,mBAAmB,GAAG,IAAIN,GAAG,CAG5C,CAAC;EACcO,eAAe,GAAG,IAAIP,GAAG,CAGxC,CAAC;EACcQ,uBAAuB,GAAG,IAAIR,GAAG,CAGhD,CAAC;EACcS,gBAAgB,GAAG,IAAIT,GAAG,CAGzC,CAAC;EACcU,mBAAmB,GAAG,IAAIV,GAAG,CAAyB,CAAC;EACvDW,qBAAqB,GAAG,IAAIX,GAAG,CAG9C,CAAC;EACcY,2BAA2B,GAAG,IAAIZ,GAAG,CAGpD,CAAC;EACca,iBAAiB,GAAG,IAAIb,GAAG,CAG1C,CAAC;EACKc,cAAc,GAAqBC,OAAO,CAACC,OAAO,CAAC,CAAC;EACpDC,gBAAgB,GAAiC,IAAI;EACrDC,UAAU,GAAG,KAAK;EAClBC,oBAAoB,GAAG,KAAK;EAC5BC,mBAAmB,GAAkB,IAAI;EACzCC,kBAAkB,GAA0C,IAAI;EAChEC,uBAAuB,GAAG,KAAK;EAC/BC,gBAAgB,GAAG,KAAK;EACxBC,SAAS,GAAG,KAAK;EAGzBC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,MAAM,GAAGhC,sBAAsB,CAAC,CAAC;IACtC,IAAI,CAACiC,yBAAyB,GAAGhC,sCAAsC,CACrE,IAAI,CAAC+B,MAAM,EACVE,KAAK,IAAK,IAAI,CAACC,yBAAyB,CAACD,KAAK,CACjD,CAAC;EACH;EAEA,MAAME,UAAUA,CAAA,EAAkB,CAAC;EAEnC,MAAMC,SAASA,CAACC,OAAoB,GAAG,CAAC,CAAC,EAAiB;IACxD,IAAI,CAACC,WAAW,CAAC,CAAC;IAClB,IAAI,IAAI,CAACf,UAAU,EAAE;IACrB,IAAI,CAACgB,IAAI,CAAC,aAAa,CAAC;IACxB,IAAI;MACF,IAAI,CAACjB,gBAAgB,GAAG,MAAM,IAAI,CAACS,MAAM,CAACS,OAAO,CAACJ,SAAS,CACzDC,OAAO,EACNI,MAAM,IAAK;QACV,IAAI,CAACrC,iBAAiB,CAACsC,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEF,MAAM,CAAC;QAC7C,IAAI,CAACF,IAAI,CAAC,kBAAkB,EAAEE,MAAM,CAAC;MACvC,CACF,CAAC;MACD,IAAI,CAAClB,UAAU,GAAG,IAAI;IACxB,CAAC,CAAC,OAAOU,KAAK,EAAE;MACd,IAAI,CAACM,IAAI,CAAC,WAAW,EAAEK,OAAO,CAACX,KAAK,CAAC,CAAC;MACtC,MAAMA,KAAK;IACb;EACF;EAEAY,QAAQA,CAAA,EAAS;IACf,IAAI,CAAC,IAAI,CAACtB,UAAU,EAAE;IACtB,IAAI,CAACA,UAAU,GAAG,KAAK;IACvB,IAAI,CAACD,gBAAgB,EAAEwB,MAAM,CAAC,CAAC;IAC/B,IAAI,CAACxB,gBAAgB,GAAG,IAAI;IAC5B,KAAK,IAAI,CAACS,MAAM,CAACS,OAAO,CAACK,QAAQ,CAAC,CAAC,CAACE,KAAK,CAAEd,KAAK,IAAK;MACnD,IAAI,CAACM,IAAI,CAAC,WAAW,EAAEK,OAAO,CAACX,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,IAAI,CAACM,IAAI,CAAC,aAAa,CAAC;EAC1B;EAEAS,oBAAoBA,CAAA,EAAuB;IACzC,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC9C,iBAAiB,CAAC+C,MAAM,CAAC,CAAC,CAAC;EACpD;EAEAC,mBAAmBA,CAAA,EAAsB;IACvC,OAAOH,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC5C,gBAAgB,CAAC6C,MAAM,CAAC,CAAC,CAAC;EACnD;EAEAE,cAAcA,CAAA,EAA2B;IACvC,OAAOC,MAAM,CAACC,WAAW,CAAC,IAAI,CAAChD,WAAW,CAAC;EAC7C;EAEA,MAAMiD,OAAOA,CACXf,MAAwB,EACxBgB,QAAuB,GAAG,MAAM,EACN;IAC1B,KAAKA,QAAQ;IACb,IAAI,CAACnB,WAAW,CAAC,CAAC;IAClB,IAAI,CAACV,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACW,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,YAAY,CAAC;IAC5D,IAAI;MACF,MAAMe,SAAS,GAAG,MAAM,IAAI,CAAC3B,MAAM,CAACS,OAAO,CAACgB,OAAO,CAACf,MAAM,CAAC;MAC3D,IAAI,CAACkB,iBAAiB,CAACD,SAAS,CAAC;MACjC,IAAI,IAAI,CAAClC,oBAAoB,EAAE,IAAI,CAACoC,oBAAoB,CAACF,SAAS,CAAC;MACnE,IAAI,CAACnB,IAAI,CAAC,wBAAwB,EAAEmB,SAAS,CAACf,EAAE,EAAE,WAAW,CAAC;MAC9D,IAAI,CAACJ,IAAI,CAAC,iBAAiB,EAAEmB,SAAS,CAAC;MACvC,OAAOA,SAAS;IAClB,CAAC,CAAC,OAAOzB,KAAK,EAAE;MACd,IAAI,CAACM,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,cAAc,CAAC;MAC9D,MAAMV,KAAK;IACb;EACF;EAEA,MAAM4B,SAASA,CACbC,YAAoB,EACpBzB,OAA0B,EACA;IAC1B,IAAI,CAACC,WAAW,CAAC,CAAC;IAClB,MAAMyB,QAAQ,GAAG,IAAI,CAACC,qBAAqB,CAACF,YAAY,CAAC;IACzD,IAAIC,QAAQ,EAAE,OAAOA,QAAQ;IAC7B,IAAI,CAACnC,gBAAgB,GAAG,KAAK;IAC7B,MAAMqC,QAAQ,GAAG,IAAI,CAAC/C,iBAAiB,CAACgD,GAAG,CAACJ,YAAY,CAAC;IACzD,IAAIG,QAAQ,EAAE,OAAOA,QAAQ;IAC7B,MAAME,GAAG,GAAG,IAAI,CAAChD,cAAc,CAC5B4B,KAAK,CAAC,MAAMqB,SAAS,CAAC,CACtBC,IAAI,CAAC,YAAY;MAChB,MAAMX,SAAS,GAAG,MAAM,IAAI,CAAC3B,MAAM,CAACS,OAAO,CAACqB,SAAS,CACnDC,YAAY,EACZzB,OACF,CAAC;MACD,IAAI,CAACsB,iBAAiB,CAACD,SAAS,CAAC;MACjC,IAAI,IAAI,CAAClC,oBAAoB,EAAE,IAAI,CAACoC,oBAAoB,CAACF,SAAS,CAAC;MACnE,IAAI,CAACnB,IAAI,CAAC,wBAAwB,EAAEmB,SAAS,CAACf,EAAE,EAAE,WAAW,CAAC;MAC9D,IAAI,CAACJ,IAAI,CAAC,iBAAiB,EAAEmB,SAAS,CAAC;MACvC,OAAOA,SAAS;IAClB,CAAC,CAAC;IACJ,IAAI,CAACvC,cAAc,GAAGgD,GAAG,CAACpB,KAAK,CAAC,MAAMqB,SAAS,CAAC;IAChD,IAAI,CAAClD,iBAAiB,CAACwB,GAAG,CAACoB,YAAY,EAAEK,GAAG,CAAC;IAC7C,KAAKA,GAAG,CAACG,OAAO,CAAC,MAAM;MACrB,IAAI,IAAI,CAACpD,iBAAiB,CAACgD,GAAG,CAACJ,YAAY,CAAC,KAAKK,GAAG,EAAE;QACpD,IAAI,CAACjD,iBAAiB,CAACqD,MAAM,CAACT,YAAY,CAAC;MAC7C;IACF,CAAC,CAAC,CAACf,KAAK,CAAC,MAAMqB,SAAS,CAAC;IACzB,OAAOD,GAAG;EACZ;EAEA,MAAMK,UAAUA,CAAC/B,MAAuB,EAAiB;IACvD,IAAI,CAACH,WAAW,CAAC,CAAC;IAClB,IAAI,CAACV,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAAC6C,qBAAqB,CAAC,CAAC;IAC5B,IAAI,CAAClC,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,eAAe,CAAC;IAC/D,MAAM,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAAC/D,mBAAmB,EAAE8B,MAAM,CAACE,EAAE,CAAC;IAC3D,IAAI,CAAC/B,eAAe,CAAC2D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;IACtC,MAAM,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAAC7D,uBAAuB,EAAE4B,MAAM,CAACE,EAAE,CAAC;IAC/D,MAAM,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAAC5D,gBAAgB,EAAE2B,MAAM,CAACE,EAAE,CAAC;IACxD,MAAM,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAACzD,2BAA2B,EAAEwB,MAAM,CAACE,EAAE,CAAC;IACnE,MAAM,IAAI,CAACZ,MAAM,CAACS,OAAO,CAACgC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAClE,gBAAgB,CAACiE,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;IACvC,IAAI,CAAC5B,mBAAmB,CAACwD,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;IAC1C,IAAI,CAAC3B,qBAAqB,CAACuD,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;IAC5C,IAAI,CAACJ,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,cAAc,CAAC;IAC9D,IAAI,CAACJ,IAAI,CAAC,oBAAoB,EAAEE,MAAM,CAACE,EAAE,CAAC;EAC5C;EAEAgC,WAAWA,CAACC,QAAgB,EAAW;IACrC,OAAO,IAAI,CAACtE,gBAAgB,CAAC4D,GAAG,CAACU,QAAQ,CAAC,EAAEC,eAAe,KAAK,WAAW;EAC7E;EAEA,MAAMC,SAASA,CAACrC,MAAuB,EAAyB;IAC9D,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACZ,MAAM,CAACS,OAAO,CAACwC,UAAU,CAAC,CAAC;EACzC;EAEA,MAAMC,aAAaA,CAACxC,MAAuB,EAAoB;IAC7D,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACZ,MAAM,CAACmD,QAAQ,CAACD,aAAa,CAACxC,MAAM,CAAC;EACnD;EAEA,MAAM0C,aAAaA,CAAC1C,MAAuB,EAA0B;IACnE,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACZ,MAAM,CAACmD,QAAQ,CAACC,aAAa,CAAC1C,MAAM,CAAC;EACnD;EAEA,MAAM2C,aAAaA,CAAC3C,MAAuB,EAA0B;IACnE,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACZ,MAAM,CAACmD,QAAQ,CAACE,aAAa,CAAC3C,MAAM,CAAC;EACnD;EAEA,MAAM4C,cAAcA,CAClB5C,MAAuB,EACvB6C,WAAwB,EACT;IACf,IAAI,CAACP,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACZ,MAAM,CAACmD,QAAQ,CAACG,cAAc,CAAC5C,MAAM,EAAE6C,WAAW,CAAC;EAChE;EAEA,MAAMC,WAAWA,CACf9C,MAAuB,EACvB+C,OAAe,EACfC,UAAkB,EACH;IACf,IAAI,CAACV,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACZ,MAAM,CAACmD,QAAQ,CAACQ,kBAAkB,CAC3CjD,MAAM,EACN+C,OAAO,EACPC,UACF,CAAC;EACH;EAEA,MAAME,oBAAoBA,CACxBlD,MAAuB,EACvBmD,MAAkB,EACH;IACf,IAAI,CAACb,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACZ,MAAM,CAACmD,QAAQ,CAACW,uBAAuB,CAACpD,MAAM,EAAEmD,MAAM,CAAC;EACpE;EAEA,MAAME,UAAUA,CAACrD,MAAuB,EAAEsD,SAAiB,EAAiB;IAC1E,IAAI,CAAChB,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACZ,MAAM,CAACmD,QAAQ,CAACY,UAAU,CAACrD,MAAM,EAAEsD,SAAS,CAAC;EAC1D;EAEA,MAAMC,QAAQA,CAACpB,QAAgB,EAAiB;IAC9C,MAAM,IAAI,CAAC7C,MAAM,CAACmD,QAAQ,CAACc,QAAQ,CAAC,IAAI,CAACjB,gBAAgB,CAACH,QAAQ,CAAC,CAAC;EACtE;EAEA,MAAMqB,SAASA,CACbxD,MAAuB,EACvByD,WAAmB,EACnBZ,WAAwB,GAAG,YAAY,EACvCjD,OAA0B,EACX;IACf,IAAI,CAAC0C,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAMsD,SAAS,GAAGA,CAAA,KAAM,IAAI,CAAClE,MAAM,CAACoE,YAAY,CAACF,SAAS,CACxDxD,MAAM,EACN,aAAa;MACX2D,WAAW,EAAEC,MAAM,CAACC,YAAY,CAACC,eAAe,CAACjB,WAAW,CAAC,CAAC;MAC9DY,WAAW;MACXM,GAAG,EAAE/D,MAAM,CAAC+D;IACd,CAAC,CACH,CAAC;IACD,IAAI;MACF,MAAMP,SAAS,CAAC,CAAC;IACnB,CAAC,CAAC,OAAOhE,KAAK,EAAE;MACd,IAAI,CAACwE,eAAe,CAACxE,KAAK,CAAC,IAAI,CAACI,OAAO,EAAEqE,qBAAqB,EAAE;QAC9D,MAAMC,iBAAiB,CAAC1E,KAAK,EAAEQ,MAAM,CAACE,EAAE,CAAC;MAC3C;MACA,MAAMiE,KAAK,GAAG,MAAM,IAAI,CAACxB,aAAa,CAAC3C,MAAM,CAAC,CAACM,KAAK,CAAC,MAAM,IAAI,CAAC;MAChE,MAAMgD,SAAS,GAAG,MAAM1D,OAAO,CAACqE,qBAAqB,CAACE,KAAK,CAAC;MAC5D,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,WAAW,CAACrE,MAAM,EAAEsD,SAAS,CAAC;MACxD,IAAI,CAACc,MAAM,CAACE,OAAO,EAAE;QACnB,MAAM,IAAI7G,iBAAiB,CACzB,4BAA4B2G,MAAM,CAAC5E,KAAK,IAAI,SAAS,EAAE,EACvD,qBAAqB,EACrBQ,MAAM,CAACE,EACT,CAAC;MACH;MACA,MAAMsD,SAAS,CAAC,CAAC;IACnB;EACF;EAEA,MAAMa,WAAWA,CACfrE,MAAuB,EACvBsD,SAAiB,EAC8B;IAC/C,IAAI,CAAChB,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACZ,MAAM,CAACoE,YAAY,CAACW,WAAW,CAACrE,MAAM,EAAEsD,SAAS,CAAC;EAChE;EAEA,MAAMiB,YAAYA,CAACvE,MAAuB,EAAiB;IACzD,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAMzC,iBAAiB,CAAC+G,YAAY,CAACxE,MAAM,CAACE,EAAE,CAAC;EACjD;EAEA,MAAMuE,eAAeA,CACnBzE,MAAuB,EACvBsD,SAAiB,EACjBoB,aAA6C,EACb;IAChC,IAAI,CAACpC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,IAAIyE,SAAwE;IAC5E,IAAI;MACF,MAAM,IAAI,CAACrF,MAAM,CAACiF,YAAY,CAACA,YAAY,CACzCvE,MAAM,EACN;QACE4E,SAAS,EAAEC,+BAA+B,CAAC,CAAC;QAC5CC,iBAAiB,EAAE;MACrB,CAAC,EACD,YAAYxB,SAAS,EACrB,MAAOc,MAAM,IAAK;QAChB,MAAMM,aAAa,CAACN,MAAM,CAAC;QAC3BO,SAAS,GAAGP,MAAM;MACpB,CACF,CAAC;IACH,CAAC,CAAC,OAAO5E,KAAK,EAAE;MACd,MAAMuF,QAAQ,GAAGC,qBAAqB,CAACxF,KAAK,CAAC;MAC7C,IAAIuF,QAAQ,EAAE,OAAOA,QAAQ;MAC7B,MAAMvF,KAAK;IACb;IACA,IAAI,CAACmF,SAAS,EAAE;MACd,MAAM,IAAIM,KAAK,CAAC,oDAAoD,CAAC;IACvE;IACA,OAAON,SAAS;EAClB;EAEA,MAAMO,qBAAqBA,CACzBlF,MAAuB,EACvB0E,aAA6C,EACb;IAChC,IAAI,CAACpC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,IAAIyE,SAAwE;IAC5E,IAAI;MACF,MAAM,IAAI,CAACrF,MAAM,CAACiF,YAAY,CAACY,yBAAyB,CACtDnF,MAAM,EACN,CAAC,EACD,MAAOoE,MAAM,IAAK;QAChB,MAAMM,aAAa,CAACN,MAAM,CAAC;QAC3BO,SAAS,GAAGP,MAAM;MACpB,CACF,CAAC;IACH,CAAC,CAAC,OAAO5E,KAAK,EAAE;MACd,MAAMuF,QAAQ,GAAGC,qBAAqB,CAACxF,KAAK,CAAC;MAC7C,IAAIuF,QAAQ,EAAE,OAAOA,QAAQ;MAC7B,MAAMvF,KAAK;IACb;IACA,IAAI,CAACmF,SAAS,EAAE;MACd,MAAM,IAAIM,KAAK,CAAC,2DAA2D,CAAC;IAC9E;IACA,OAAON,SAAS;EAClB;EAEA,MAAMS,qBAAqBA,CACzBpF,MAAuB,EACvBqF,cAA8C,EAC9CC,QAAgC,EACe;IAC/C,IAAI,CAAChD,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,IAAI,OAAOmF,cAAc,KAAK,QAAQ,EAAE;MACtC,OAAO,IAAI,CAACE,mBAAmB,CAACvF,MAAM,EAAEqF,cAAc,EAAE,OAAO,CAAC;IAClE;IACA,MAAM/B,SAAS,GAAG,MAAM,IAAI,CAACkC,mBAAmB,CAACxF,MAAM,EAAEqF,cAAc,CAAC;IACxE,OAAO,IAAI,CAACE,mBAAmB,CAACvF,MAAM,EAAEsD,SAAS,EAAE,OAAO,CAAC;EAC7D;EAEA,MAAMmC,oBAAoBA,CACxBzF,MAAuB,EACvBqF,cAA8C,EAC9CC,QAA+B,EACgB;IAC/C,IAAI,CAAChD,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,IAAI,OAAOmF,cAAc,KAAK,QAAQ,EAAE;MACtC,OAAO,IAAI,CAACE,mBAAmB,CAACvF,MAAM,EAAEqF,cAAc,EAAE,MAAM,CAAC;IACjE;IACA,MAAM/B,SAAS,GAAG,MAAM,IAAI,CAACkC,mBAAmB,CAACxF,MAAM,EAAEqF,cAAc,CAAC;IACxE,OAAO,IAAI,CAACE,mBAAmB,CAACvF,MAAM,EAAEsD,SAAS,EAAE,MAAM,CAAC;EAC5D;EAEA,MAAMoC,iBAAiBA,CAAC1F,MAAuB,EAA2B;IACxE,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAMyF,OAAO,GAAG,IAAI,CAACpH,qBAAqB,CAACkD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC;IACzD,IAAIyF,OAAO,EAAE,OAAOA,OAAO;IAC3B,IAAI;MACF,OAAO,MAAM,IAAI,CAACC,0BAA0B,CAAC5F,MAAM,CAAC;IACtD,CAAC,CAAC,MAAM;MACN,OAAO,IAAI,CAAC6F,oBAAoB,CAAC7F,MAAM,CAACE,EAAE,CAAC;IAC7C;EACF;EAEA4F,yBAAyBA,CACvB9F,MAAuB,EACvB+F,QAAyC,EAC7B;IACZ,IAAI,CAACzD,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM8F,OAAO,GAAG,IAAI,CAACC,YAAY,CAC/B,IAAI,CAACzH,2BAA2B,EAChCwB,MAAM,CAACE,EAAE,EACT,IAAI,CAACZ,MAAM,CAACmD,QAAQ,CAACqD,yBAAyB,CAAC9F,MAAM,EAAE+F,QAAQ,CACjE,CAAC;IACD,OAAOG,iBAAiB,CAAC,MAAM;MAC7B,KAAK,IAAI,CAACC,cAAc,CACtB,IAAI,CAAC3H,2BAA2B,EAChCwB,MAAM,CAACE,EAAE,EACT8F,OACF,CAAC;IACH,CAAC,CAAC;EACJ;EAEAI,iBAAiBA,CACfpG,MAAuB,EACvB+F,QAAwC,EAC5B;IACZ,IAAI,CAACzD,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAMmG,SAAS,GAAG,IAAI,CAAClI,eAAe,CAACsD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC,IAAI,IAAIjC,GAAG,CAAC,CAAC;IAClEoI,SAAS,CAACC,GAAG,CAACP,QAAQ,CAAC;IACvB,IAAI,CAAC5H,eAAe,CAAC8B,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEmG,SAAS,CAAC;IAC9C,IAAI,CAAClF,oBAAoB,CAACnB,MAAM,CAAC;IACjC,OAAOkG,iBAAiB,CAAC,MAAM;MAC7BG,SAAS,CAACvE,MAAM,CAACiE,QAAQ,CAAC;MAC1B,IAAIM,SAAS,CAACE,IAAI,KAAK,CAAC,EAAE;QACxB,IAAI,CAACpI,eAAe,CAAC2D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAACnB,oBAAoB,EAAE;UAC9B,KAAK,IAAI,CAACkD,WAAW,CAAC,IAAI,CAAC/D,mBAAmB,EAAE8B,MAAM,CAACE,EAAE,CAAC,CACvDI,KAAK,CAAC,MAAMqB,SAAS,CAAC;QAC3B;MACF;IACF,CAAC,CAAC;EACJ;EAEA,MAAM6E,qBAAqBA,CACzBxG,MAAuB,EACvB+F,QAAyC,EACpB;IACrB,IAAI,CAACzD,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM8F,OAAO,GAAG,IAAI,CAACC,YAAY,CAC/B,IAAI,CAAC5H,gBAAgB,EACrB2B,MAAM,CAACE,EAAE,EACT,IAAI,CAACZ,MAAM,CAACmH,IAAI,CAACC,SAAS,CAAC1G,MAAM,EAAE+F,QAAQ,CAC7C,CAAC;IACD,MAAMC,OAAO;IACb,OAAOE,iBAAiB,CAAC,MAAM;MAC7B,KAAK,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC9H,gBAAgB,EAAE2B,MAAM,CAACE,EAAE,EAAE8F,OAAO,CAAC;IACrE,CAAC,CAAC;EACJ;EAEA,MAAMW,sBAAsBA,CAC1B3G,MAAuB,EACY;IACnC,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACZ,MAAM,CAACoE,YAAY,CAACiD,sBAAsB,CAAC3G,MAAM,CAAC;EAChE;EAEA,MAAM4G,uBAAuBA,CAC3B5G,MAAuB,EACvB6G,QAAkC,EACnB;IACf,IAAI,CAACvE,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,MAAM,IAAI,CAACZ,MAAM,CAACoE,YAAY,CAACkD,uBAAuB,CAAC5G,MAAM,EAAE6G,QAAQ,CAAC;EAC1E;EAEA,MAAMC,aAAaA,CACjB3E,QAAgB,EAChB4E,WAA4B,EAC5BC,KAAsB,EACK;IAC3B,OAAO,IAAI,CAAC1H,MAAM,CAAC2H,IAAI,CAACC,SAAS,CAC/B,IAAI,CAAC5E,gBAAgB,CAACH,QAAQ,CAAC,EAC/B4E,WAAW,EACXC,KACF,CAAC;EACH;EAEA,MAAMG,cAAcA,CAAChF,QAAgB,EAA6B;IAChE,OAAO,IAAI,CAAC7C,MAAM,CAAC2H,IAAI,CAAClF,UAAU,CAAC,IAAI,CAACO,gBAAgB,CAACH,QAAQ,CAAC,CAAC;EACrE;EAEA,MAAMiF,aAAaA,CAACjF,QAAgB,EAA2B;IAC7D,MAAMnC,MAAM,GAAG,IAAI,CAACsC,gBAAgB,CAACH,QAAQ,CAAC;IAC9C,MAAMkF,MAAM,GAAG,MAAM,IAAI,CAAC/H,MAAM,CAAC2H,IAAI,CAAC1E,UAAU,CAACvC,MAAM,CAAC;IACxD,IAAI,CAACsH,uBAAuB,CAACtH,MAAM,CAACqB,YAAY,EAAE;MAAEkG,UAAU,EAAEF;IAAO,CAAC,CAAC;IACzE,OAAOA,MAAM;EACf;EAEAG,qBAAqBA,CACnBrF,QAAgB,EAChB4D,QAA0C,EAC5B;IACd,MAAM/F,MAAM,GAAG,IAAI,CAACsC,gBAAgB,CAACH,QAAQ,CAAC;IAC9C,MAAM6D,OAAO,GAAG,IAAI,CAACC,YAAY,CAC/B,IAAI,CAAC7H,uBAAuB,EAC5B4B,MAAM,CAACE,EAAE,EACT,IAAI,CAACZ,MAAM,CAAC2H,IAAI,CAACb,iBAAiB,CAACpG,MAAM,EAAGqH,MAAM,IAAK;MACrD,IAAI,CAACC,uBAAuB,CAACtH,MAAM,CAACqB,YAAY,EAAE;QAAEkG,UAAU,EAAEF;MAAO,CAAC,CAAC;MACzEtB,QAAQ,CAACsB,MAAM,CAAC;IAClB,CAAC,CACH,CAAC;IACD,OAAO;MACLhH,MAAM,EAAE6F,iBAAiB,CAAC,MAAM;QAC9B,KAAK,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC/H,uBAAuB,EAAE4B,MAAM,CAACE,EAAE,EAAE8F,OAAO,CAAC;MAC5E,CAAC;IACH,CAAC;EACH;EAEA,MAAMyB,gBAAgBA,CACpBzH,MAAuB,EACQ;IAC/B,IAAI,CAACsC,gBAAgB,CAACtC,MAAM,CAACE,EAAE,CAAC;IAChC,OAAO,IAAI,CAACZ,MAAM,CAAC2H,IAAI,CAACS,YAAY,CAAC1H,MAAM,CAAC;EAC9C;EAEA2H,oBAAoBA,CAACtG,YAAoB,EAA4B;IACnE,OAAO,IAAI,CAACtD,KAAK,CAAC0D,GAAG,CAACJ,YAAY,CAAC,IAAI,IAAI;EAC7C;EAEAuG,mBAAmBA,CAACvG,YAAoB,EAAyB;IAC/D,OAAO,IAAI,CAACtD,KAAK,CAAC0D,GAAG,CAACJ,YAAY,CAAC,EAAEkG,UAAU,IAAI,IAAI;EACzD;EAEAD,uBAAuBA,CACrBjG,YAAoB,EACpBwG,KAAsD,EAChD;IACN,MAAMC,QAAQ,GAAG,IAAI,CAAC/J,KAAK,CAAC0D,GAAG,CAACJ,YAAY,CAAC;IAC7C,MAAMkG,UAAU,GAAGQ,eAAe,CAACD,QAAQ,EAAEP,UAAU,EAAEM,KAAK,CAACN,UAAU,CAAC;IAC1E,MAAMS,KAAwB,GAAG;MAC/B,IAAIT,UAAU,KAAK5F,SAAS,GAAG,CAAC,CAAC,GAAG;QAAE4F;MAAW,CAAC,CAAC;MACnDU,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;IACtB,CAAC;IACD,IAAI,CAACpK,KAAK,CAACkC,GAAG,CAACoB,YAAY,EAAE2G,KAAK,CAAC;IACnC,KAAK,MAAMI,QAAQ,IAAI,IAAI,CAACpK,cAAc,EAAEoK,QAAQ,CAAC/G,YAAY,EAAEwG,KAAK,EAAEG,KAAK,CAAC;EAClF;EAEAK,sBAAsBA,CAAChH,YAAoB,EAAQ;IACjD,IAAI,CAACtD,KAAK,CAAC+D,MAAM,CAACT,YAAY,CAAC;EACjC;EAEAiH,0BAA0BA,CAAA,EAAS;IACjC,IAAI,CAACvK,KAAK,CAACwK,KAAK,CAAC,CAAC;EACpB;EAEAC,mBAAmBA,CAACnH,YAAoB,EAAQ;IAC9C,IAAI,CAACxB,WAAW,CAAC,CAAC;IAClB,IAAI,CAACb,mBAAmB,GAAGqC,YAAY;IACvC,IAAI,CAACtC,oBAAoB,GAAG,IAAI;IAChC,IAAI,CAACI,gBAAgB,GAAG,KAAK;IAC7B,MAAM8B,SAAS,GAAG,IAAI,CAACM,qBAAqB,CAACF,YAAY,CAAC;IAC1D,IAAIJ,SAAS,EAAE;MACb,IAAI,CAACE,oBAAoB,CAACF,SAAS,CAAC;IACtC,CAAC,MAAM;MACL,IAAI,CAACwH,sBAAsB,CAAC,CAAC;IAC/B;EACF;EAEAC,oBAAoBA,CAAA,EAAS;IAC3B,MAAMrH,YAAY,GAAG,IAAI,CAACrC,mBAAmB;IAC7C,IAAI,CAACD,oBAAoB,GAAG,KAAK;IACjC,IAAI,CAACC,mBAAmB,GAAG,IAAI;IAC/B,IAAI,CAACG,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAAC6C,qBAAqB,CAAC,CAAC;IAC5B,MAAMf,SAAS,GAAGI,YAAY,GAC1B,IAAI,CAACE,qBAAqB,CAACF,YAAY,CAAC,GACxC,IAAI;IACR,IAAIJ,SAAS,IAAI,CAAC,IAAI,CAAC9C,eAAe,CAACwK,GAAG,CAAC1H,SAAS,CAACf,EAAE,CAAC,EAAE;MACxD,KAAK,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAAC/D,mBAAmB,EAAE+C,SAAS,CAACf,EAAE,CAAC,CAC1DI,KAAK,CAAC,MAAMqB,SAAS,CAAC;IAC3B;EACF;EAEAiH,0BAA0BA,CACxBR,QAIS,EACe;IACxB,IAAI,CAACpK,cAAc,CAACsI,GAAG,CAAC8B,QAAQ,CAAC;IACjC,OAAO;MAAE/H,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACrC,cAAc,CAAC8D,MAAM,CAACsG,QAAQ;IAAE,CAAC;EAC/D;EAEAS,OAAOA,CAAA,EAAS;IACd,IAAI,IAAI,CAACzJ,SAAS,EAAE;IACpB,IAAI,CAACA,SAAS,GAAG,IAAI;IACrB,IAAI,CAACG,yBAAyB,CAACc,MAAM,CAAC,CAAC;IACvC,IAAI,CAACqI,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAACtI,QAAQ,CAAC,CAAC;IACf,KAAK,MAAM,CAAC+B,QAAQ,CAAC,IAAI,IAAI,CAACjE,mBAAmB,EAAE;MACjD,KAAK,IAAI,CAAC+D,WAAW,CAAC,IAAI,CAAC/D,mBAAmB,EAAEiE,QAAQ,CAAC;IAC3D;IACA,KAAK,MAAM,CAACA,QAAQ,CAAC,IAAI,IAAI,CAAC/D,uBAAuB,EAAE;MACrD,KAAK,IAAI,CAAC6D,WAAW,CAAC,IAAI,CAAC7D,uBAAuB,EAAE+D,QAAQ,CAAC;IAC/D;IACA,KAAK,MAAM,CAACA,QAAQ,CAAC,IAAI,IAAI,CAAC9D,gBAAgB,EAAE;MAC9C,KAAK,IAAI,CAAC4D,WAAW,CAAC,IAAI,CAAC5D,gBAAgB,EAAE8D,QAAQ,CAAC;IACxD;IACA,KAAK,MAAM,CAACA,QAAQ,CAAC,IAAI,IAAI,CAAC3D,2BAA2B,EAAE;MACzD,KAAK,IAAI,CAACyD,WAAW,CAAC,IAAI,CAACzD,2BAA2B,EAAE2D,QAAQ,CAAC;IACnE;IACA,IAAI,CAACtE,gBAAgB,CAAC0K,KAAK,CAAC,CAAC;IAC7B,IAAI,CAACjK,mBAAmB,CAACiK,KAAK,CAAC,CAAC;IAChC,IAAI,CAAChK,qBAAqB,CAACgK,KAAK,CAAC,CAAC;IAClC,IAAI,CAACpK,eAAe,CAACoK,KAAK,CAAC,CAAC;IAC5B,IAAI,CAACxK,KAAK,CAACwK,KAAK,CAAC,CAAC;IAClB,IAAI,CAACvK,cAAc,CAACuK,KAAK,CAAC,CAAC;IAC3B,IAAI,CAACO,kBAAkB,CAAC,CAAC;EAC3B;EAEQ5H,iBAAiBA,CAAClB,MAAuB,EAAQ;IACvD,IAAI,CAACnC,gBAAgB,CAACoC,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEF,MAAM,CAAC;IAC5C,IAAI,CAAClC,WAAW,CAACmC,GAAG,CAACD,MAAM,CAACqB,YAAY,EAAErB,MAAM,CAACE,EAAE,CAAC;EACtD;EAEQiB,oBAAoBA,CAACnB,MAAuB,EAAQ;IAC1D,IAAI,IAAI,CAAC9B,mBAAmB,CAACyK,GAAG,CAAC3I,MAAM,CAACE,EAAE,CAAC,EAAE;IAC7C,MAAM6I,YAAY,GAAG,IAAI,CAACzJ,MAAM,CAACS,OAAO,CAACqG,iBAAiB,CAAEiB,MAAM,IAAK;MACrE,KAAK,MAAMtB,QAAQ,IAAI,IAAI,CAAC5H,eAAe,CAACsD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC,IAAI,EAAE,EAAE;QAChE6F,QAAQ,CAACsB,MAAM,CAAC;MAClB;MACA,IAAI,CAACvH,IAAI,CAAC,qBAAqB,EAAEE,MAAM,CAACE,EAAE,EAAEmH,MAAM,CAAC;IACrD,CAAC,CAAC;IACF,IAAI,CAACnJ,mBAAmB,CAAC+B,GAAG,CAACD,MAAM,CAACE,EAAE,EAAE6I,YAAY,CAAC;IACrD,KAAKA,YAAY,CAACzI,KAAK,CAAC,MAAM;MAC5B,IAAI,IAAI,CAACpC,mBAAmB,CAACuD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC,KAAK6I,YAAY,EAAE;QAC5D,IAAI,CAAC7K,mBAAmB,CAAC4D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MAC5C;IACF,CAAC,CAAC;EACJ;EAEQT,yBAAyBA,CAACD,KAAa,EAAQ;IACrD,IAAI,IAAI,CAACJ,SAAS,IAAI,IAAI,CAACD,gBAAgB,EAAE;IAC7C,KAAK,MAAMa,MAAM,IAAI,IAAI,CAACnC,gBAAgB,CAAC6C,MAAM,CAAC,CAAC,EAAE;MACnD,IAAI,CAAC7C,gBAAgB,CAACiE,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MACvC,IAAI,CAAC5B,mBAAmB,CAACwD,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MAC1C,IAAI,CAAC3B,qBAAqB,CAACuD,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MAC5C,IAAI,CAAC/B,eAAe,CAAC2D,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MACtC,KAAK,IAAI,CAAC+B,WAAW,CAAC,IAAI,CAAC/D,mBAAmB,EAAE8B,MAAM,CAACE,EAAE,CAAC,CACvDI,KAAK,CAAC,MAAMqB,SAAS,CAAC;MACzB,KAAK,IAAI,CAACM,WAAW,CAAC,IAAI,CAAC7D,uBAAuB,EAAE4B,MAAM,CAACE,EAAE,CAAC,CAC3DI,KAAK,CAAC,MAAMqB,SAAS,CAAC;MACzB,KAAK,IAAI,CAACM,WAAW,CAAC,IAAI,CAAC5D,gBAAgB,EAAE2B,MAAM,CAACE,EAAE,CAAC,CACpDI,KAAK,CAAC,MAAMqB,SAAS,CAAC;MACzB,KAAK,IAAI,CAACM,WAAW,CAAC,IAAI,CAACzD,2BAA2B,EAAEwB,MAAM,CAACE,EAAE,CAAC,CAC/DI,KAAK,CAAC,MAAMqB,SAAS,CAAC;MACzB,IAAI,CAAC7B,IAAI,CAAC,wBAAwB,EAAEE,MAAM,CAACE,EAAE,EAAE,cAAc,CAAC;MAC9D,IAAI,CAACJ,IAAI,CAAC,oBAAoB,EAAEE,MAAM,CAACE,EAAE,EAAEV,KAAK,CAAC;MACjD,IACE,IAAI,CAACT,oBAAoB,IACzB,IAAI,CAACC,mBAAmB,KAAKgB,MAAM,CAACqB,YAAY,EAChD;QACA,IAAI,CAACoH,sBAAsB,CAAC,CAAC;MAC/B;IACF;EACF;EAEQA,sBAAsBA,CAAA,EAAS;IACrC,IAAI,IAAI,CAACxJ,kBAAkB,IAAI,CAAC,IAAI,CAACD,mBAAmB,EAAE;IAC1D,MAAMgK,OAAO,GAAG,MAAAA,CAAA,KAA2B;MACzC,MAAM3H,YAAY,GAAG,IAAI,CAACrC,mBAAmB;MAC7C,IACE,CAAC,IAAI,CAACD,oBAAoB,IAC1B,CAACsC,YAAY,IACb,IAAI,CAAClC,gBAAgB,IACrB,IAAI,CAACC,SAAS,EACd;QACA,IAAI,CAAC4C,qBAAqB,CAAC,CAAC;QAC5B;MACF;MACA,IAAI,IAAI,CAACT,qBAAqB,CAACF,YAAY,CAAC,EAAE;QAC5C,IAAI,CAACW,qBAAqB,CAAC,CAAC;QAC5B;MACF;MACA,IAAI,IAAI,CAAC9C,uBAAuB,EAAE;MAClC,IAAI,CAACA,uBAAuB,GAAG,IAAI;MACnC,IAAI;QACF,MAAM,IAAI,CAACkC,SAAS,CAACC,YAAY,EAAE;UAAE4H,WAAW,EAAE;QAAM,CAAC,CAAC;QAC1D,IAAI,CAACjH,qBAAqB,CAAC,CAAC;MAC9B,CAAC,CAAC,MAAM;QACN;MAAA,CACD,SAAS;QACR,IAAI,CAAC9C,uBAAuB,GAAG,KAAK;MACtC;IACF,CAAC;IACD,KAAK8J,OAAO,CAAC,CAAC;IACd,IAAI,CAAC/J,kBAAkB,GAAGiK,WAAW,CAAC,MAAM,KAAKF,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC;EACpE;EAEQhH,qBAAqBA,CAAA,EAAS;IACpC,IAAI,CAAC,IAAI,CAAC/C,kBAAkB,EAAE;IAC9BkK,aAAa,CAAC,IAAI,CAAClK,kBAAkB,CAAC;IACtC,IAAI,CAACA,kBAAkB,GAAG,IAAI;EAChC;EAEQsC,qBAAqBA,CAACF,YAAoB,EAA0B;IAC1E,KAAK,MAAMrB,MAAM,IAAI,IAAI,CAACnC,gBAAgB,CAAC6C,MAAM,CAAC,CAAC,EAAE;MACnD,IACEV,MAAM,CAACqB,YAAY,KAAKA,YAAY,IACpCrB,MAAM,CAACoC,eAAe,KAAK,WAAW,EACtC;QACA,OAAOpC,MAAM;MACf;IACF;IACA,OAAO,IAAI;EACb;EAEQsC,gBAAgBA,CAACH,QAAgB,EAAmB;IAC1D,MAAMnC,MAAM,GAAG,IAAI,CAACnC,gBAAgB,CAAC4D,GAAG,CAACU,QAAQ,CAAC;IAClD,IAAI,CAACnC,MAAM,IAAIA,MAAM,CAACoC,eAAe,KAAK,WAAW,EAAE;MACrD,MAAM5E,WAAW,CAAC4L,YAAY,CAACjH,QAAQ,CAAC;IAC1C;IACA,OAAOnC,MAAM;EACf;EAEA,MAAcwF,mBAAmBA,CAC/BxF,MAAuB,EACvBqJ,OAA8B,EACb;IACjB,MAAMlF,KAAK,GAAG,MAAM,IAAI,CAACxB,aAAa,CAAC3C,MAAM,CAAC,CAACM,KAAK,CAAC,MAAM,IAAI,CAAC;IAChE,OAAO+I,OAAO,CAAClF,KAAK,CAAC;EACvB;EAEA,MAAcoB,mBAAmBA,CAC/BvF,MAAuB,EACvBsD,SAAiB,EACjBgG,OAAyB,EACsB;IAC/C,MAAMC,SAAS,GAAGD,OAAO,KAAK,OAAO,GACjC,IAAI,CAAChK,MAAM,CAACmD,QAAQ,CAAC2C,qBAAqB,CAACpF,MAAM,EAAEsD,SAAS,CAAC,GAC7D,IAAI,CAAChE,MAAM,CAACmD,QAAQ,CAACgD,oBAAoB,CAACzF,MAAM,EAAEsD,SAAS,CAAC;IAChE,MAAMkG,YAAY,GAAGD,SAAS,CAAC3H,IAAI,CACjC,MAAM,IAAI,CAACgE,0BAA0B,CAAC5F,MAAM,CAAC,EAC7C,MAAM,IAAI,CAAC6F,oBAAoB,CAAC7F,MAAM,CAACE,EAAE,CAC3C,CAAC;IACD,IAAI,CAAC3B,qBAAqB,CAAC0B,GAAG,CAACD,MAAM,CAACE,EAAE,EAAEsJ,YAAY,CAAC;IACvD,IAAI;MACF,MAAMpF,MAAM,GAAG,MAAMmF,SAAS;MAC9B,MAAMC,YAAY;MAClB,OAAOpF,MAAM;IACf,CAAC,CAAC,OAAO5E,KAAK,EAAE;MACd,MAAMgK,YAAY;MAClB,MAAMhK,KAAK;IACb,CAAC,SAAS;MACR,IAAI,IAAI,CAACjB,qBAAqB,CAACkD,GAAG,CAACzB,MAAM,CAACE,EAAE,CAAC,KAAKsJ,YAAY,EAAE;QAC9D,IAAI,CAACjL,qBAAqB,CAACuD,MAAM,CAAC9B,MAAM,CAACE,EAAE,CAAC;MAC9C;IACF;EACF;EAEA,MAAc0F,0BAA0BA,CACtC5F,MAAuB,EACE;IACzB,MAAMgI,KAAK,GAAG,MAAM,IAAI,CAAC1I,MAAM,CAACmD,QAAQ,CAACgH,kBAAkB,CAACzJ,MAAM,CAAC;IACnE,IAAI,CAAC1B,mBAAmB,CAAC2B,GAAG,CAACD,MAAM,CAACE,EAAE,EAAE8H,KAAK,CAAC;IAC9C,OAAOA,KAAK;EACd;EAEQnC,oBAAoBA,CAAC1D,QAAgB,EAAkB;IAC7D,OAAO,IAAI,CAAC7D,mBAAmB,CAACmD,GAAG,CAACU,QAAQ,CAAC,IAAI;MAC/CuH,MAAM,EAAE,KAAK;MACbC,WAAW,EAAE;IACf,CAAC;EACH;EAEQ1D,YAAYA,CAClB2D,KAAuD,EACvDzH,QAAgB,EAChB0H,IAAyC,EACJ;IACrC,KAAK,IAAI,CAAC5H,WAAW,CAAC2H,KAAK,EAAEzH,QAAQ,CAAC;IACtCyH,KAAK,CAAC3J,GAAG,CAACkC,QAAQ,EAAE0H,IAAI,CAAC;IACzB,KAAKA,IAAI,CAACvJ,KAAK,CAAC,MAAM;MACpB,IAAIsJ,KAAK,CAACnI,GAAG,CAACU,QAAQ,CAAC,KAAK0H,IAAI,EAAED,KAAK,CAAC9H,MAAM,CAACK,QAAQ,CAAC;IAC1D,CAAC,CAAC;IACF,OAAO0H,IAAI;EACb;EAEA,MAAc1D,cAAcA,CAC1ByD,KAAuD,EACvDzH,QAAgB,EAChB2H,QAA6C,EAC9B;IACf,IAAIF,KAAK,CAACnI,GAAG,CAACU,QAAQ,CAAC,KAAK2H,QAAQ,EAAE;IACtCF,KAAK,CAAC9H,MAAM,CAACK,QAAQ,CAAC;IACtB,MAAM,CAAC,MAAM2H,QAAQ,EAAEzJ,MAAM,CAAC,CAAC;EACjC;EAEA,MAAc4B,WAAWA,CACvB2H,KAAuD,EACvDzH,QAAgB,EACD;IACf,MAAM4G,YAAY,GAAGa,KAAK,CAACnI,GAAG,CAACU,QAAQ,CAAC;IACxC,IAAI,CAAC4G,YAAY,EAAE;IACnBa,KAAK,CAAC9H,MAAM,CAACK,QAAQ,CAAC;IACtB,MAAM,CAAC,MAAM4G,YAAY,EAAE1I,MAAM,CAAC,CAAC;EACrC;EAEQR,WAAWA,CAAA,EAAS;IAC1B,IAAI,IAAI,CAACT,SAAS,EAAE,MAAM,IAAI6F,KAAK,CAAC,kCAAkC,CAAC;EACzE;AACF;AAEA,MAAMiB,iBAAiB,GAAI7F,MAAkB,IAAmB;EAC9D,IAAI0J,OAAO,GAAG,KAAK;EACnB,OAAO,MAAM;IACX,IAAIA,OAAO,EAAE;IACbA,OAAO,GAAG,IAAI;IACd1J,MAAM,CAAC,CAAC;EACV,CAAC;AACH,CAAC;AAED,MAAM0H,eAAe,GAAGA,CACtBD,QAAoC,EACpCD,KAAiD,KAClB;EAC/B,IAAIA,KAAK,KAAKlG,SAAS,EAAE,OAAOmG,QAAQ;EACxC,IAAID,KAAK,KAAK,IAAI,EAAE,OAAOlG,SAAS;EACpC,OAAO;IACL0F,MAAM,EAAEQ,KAAK,CAACR,MAAM,IAAIS,QAAQ,EAAET,MAAM,IAAI,MAAM;IAClD,IAAG,CAACQ,KAAK,CAACmC,cAAc,IAAIlC,QAAQ,EAAEkC,cAAc,MAAMrI,SAAS,GAC/D,CAAC,CAAC,GACF;MAAEqI,cAAc,EAAEnC,KAAK,CAACmC,cAAc,IAAIlC,QAAQ,EAAEkC;IAAe,CAAC;IACxE,IAAG,CAACnC,KAAK,CAACoC,IAAI,IAAInC,QAAQ,EAAEmC,IAAI,MAAMtI,SAAS,GAC3C,CAAC,CAAC,GACF;MAAEsI,IAAI,EAAEpC,KAAK,CAACoC,IAAI,IAAInC,QAAQ,EAAEmC;IAAK,CAAC;IAC1C,IAAG,CAACpC,KAAK,CAACqC,SAAS,IAAIpC,QAAQ,EAAEoC,SAAS,MAAMvI,SAAS,GACrD,CAAC,CAAC,GACF;MAAEuI,SAAS,EAAErC,KAAK,CAACqC,SAAS,IAAIpC,QAAQ,EAAEoC;IAAU,CAAC;EAC3D,CAAC;AACH,CAAC;AAED,MAAM/J,OAAO,GAAIX,KAAc,IAC7BA,KAAK,YAAYyF,KAAK,GAAGzF,KAAK,GAAG,IAAIyF,KAAK,CAACrB,MAAM,CAACpE,KAAK,CAAC,CAAC;AAE3D,MAAMsE,eAAe,GAAIjB,WAAwB,IAAa;EAC5D,QAAQA,WAAW;IACjB,KAAK,aAAa;MAAE,OAAO,CAAC;IAC5B,KAAK,YAAY;MAAE,OAAO,CAAC;IAC3B,KAAK,OAAO;MAAE,OAAO,CAAC;EACxB;AACF,CAAC;AAED,MAAMsH,oBAAoB,GAAI3K,KAAc,IAAyB;EACnE,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOmC,SAAS;EACzD,MAAMyI,MAAM,GAAGC,OAAO,CAAC5I,GAAG,CAACjC,KAAK,EAAE,gBAAgB,CAAC;EACnD,IAAI,OAAO4K,MAAM,KAAK,QAAQ,EAAE,OAAOA,MAAM;EAC7C,MAAME,QAAQ,GAAGD,OAAO,CAAC5I,GAAG,CAACjC,KAAK,EAAE,UAAU,CAAC;EAC/C,IAAI,CAAC8K,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE,OAAO3I,SAAS;EAC/D,MAAM4I,MAAM,GAAGF,OAAO,CAAC5I,GAAG,CAAC6I,QAAQ,EAAE,gBAAgB,CAAC;EACtD,OAAO,OAAOC,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG5I,SAAS;AACxD,CAAC;AAED,MAAMqC,eAAe,GAAIxE,KAAc,IACpCA,KAAK,YAAY/B,iBAAiB,IAAI+B,KAAK,CAACgL,IAAI,KAAK,gBAAgB,IACtEL,oBAAoB,CAAC3K,KAAK,CAAC,KAAK,CAAC;AAEnC,MAAM0E,iBAAiB,GAAGA,CACxB1E,KAAc,EACd2C,QAAgB,KACN;EACV,IAAI3C,KAAK,YAAY/B,iBAAiB,EAAE,OAAO+B,KAAK;EACpD,QAAQ2K,oBAAoB,CAAC3K,KAAK,CAAC;IACjC,KAAK,CAAC;MAAE,OAAO/B,iBAAiB,CAAC+G,YAAY,CAACrC,QAAQ,CAAC;IACvD,KAAK,CAAC;MAAE,OAAO1E,iBAAiB,CAACgN,YAAY,CAACtI,QAAQ,CAAC;IACvD,KAAK,CAAC;MAAE,OAAO1E,iBAAiB,CAACiN,UAAU,CAACvI,QAAQ,CAAC;IACrD,KAAK,CAAC;MAAE,OAAO1E,iBAAiB,CAACkN,aAAa,CAACxI,QAAQ,CAAC;IACxD;MAAS,OAAOhC,OAAO,CAACX,KAAK,CAAC;EAChC;AACF,CAAC;AAED,IAAIoL,0BAA0B,GAAG,CAAC;AAElC,MAAM/F,+BAA+B,GAAGA,CAAA,KAAc;EACpD+F,0BAA0B,IAAI,CAAC;EAC/B,OAAO,YAAY1C,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC0C,QAAQ,CAAC,EAAE,CAAC,IAAID,0BAA0B,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAE;AACzF,CAAC;AAED,MAAM7F,qBAAqB,GACzBxF,KAAc,IACqD;EACnE,QAAQ2K,oBAAoB,CAAC3K,KAAK,CAAC;IACjC,KAAK,CAAC;MAAE,OAAO;QAAE8E,OAAO,EAAE,KAAK;QAAE9E,KAAK,EAAE;MAAgB,CAAC;IACzD,KAAK,CAAC;MAAE,OAAO;QAAE8E,OAAO,EAAE,KAAK;QAAE9E,KAAK,EAAE;MAAgB,CAAC;IACzD,KAAK,CAAC;MAAE,OAAO;QAAE8E,OAAO,EAAE,KAAK;QAAE9E,KAAK,EAAE;MAAc,CAAC;IACvD,KAAK,CAAC;MAAE,OAAO;QAAE8E,OAAO,EAAE,KAAK;QAAE9E,KAAK,EAAE;MAAiB,CAAC;IAC1D;MAAS,OAAOmC,SAAS;EAC3B;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["EventEmitter","getCompatibilityClient","subscribeToCompatibilityDisconnections","DeviceError","ProvisioningError","DeviceManager","clientPresence","nextReport","deviceId","destroyed","report","client","platform","schema_version","session_id","sessionId","sequence","sdk_package","sdkPackage","sdk_version","sdkVersion","discoveredDevices","Map","connectedDevices","knownBleIds","cache","cacheListeners","Set","statusSubscriptions","statusCallbacks","wifiStatusSubscriptions","logSubscriptions","recordingStateCache","recordingStatePending","recordingStateSubscriptions","reconnectInFlight","reconnectChain","Promise","resolve","scanSubscription","scanActive","autoReconnectEnabled","autoReconnectSerial","autoReconnectTimer","autoReconnectAttempting","userDisconnected","constructor","disconnectionSubscription","error","handleNativeDisconnection","initialize","startScan","options","assertAlive","emit","devices","device","set","id","asError","stopScan","remove","catch","getDiscoveredDevices","Array","from","values","getConnectedDevices","getKnownBleIds","Object","fromEntries","connect","priority","connected","rememberConnected","ensureStatusWatchdog","reconnect","serialNumber","existing","findConnectedBySerial","inFlight","get","run","undefined","then","finally","delete","disconnect","stopAutoReconnectLoop","removeOwned","isConnected","connectionState","getStatus","requireConnected","readStatus","isProvisioned","controls","readPublicKey","readAuthNonce","setApiEndpoint","environment","deliverCert","certPem","privkeyPem","deliverCertificate","deliverBackendPubkey","pubkey","deliverBackendPublicKey","writeGrant","grantBlob","syncTime","provision","deviceToken","provisioning","apiEndpoint","String","fromCharCode","environmentCode","mtu","isAlreadyPaired","fetchDeprovisionGrant","provisioningError","nonce","result","deprovision","success","factoryReset","invalidToken","bleFactoryReset","persistResult","persisted","commandId","nextCompatibilityResetCommandId","bindingGeneration","rejected","factoryResetRejection","Error","resumeBleFactoryReset","resumePendingFactoryReset","requestStartRecording","grantOrFetcher","_options","runRecordingControl","fetchRecordingGrant","requestStopRecording","getRecordingState","pending","readAndCacheRecordingState","cachedRecordingState","subscribeToRecordingState","callback","promise","replaceOwned","idempotentRemoval","removeExpected","subscribeToStatus","callbacks","add","size","subscribeToDeviceLogs","logs","subscribe","readDiagnosticEvents","acknowledgeDiagnosticEvents","acceptedEventIds","readConnectionSettings","writeConnectionSettings","settings","configureWiFi","credentials","grant","wifi","configure","disconnectWiFi","getWiFiStatus","status","updateCachedDeviceState","wifiStatus","subscribeToWiFiStatus","scanWiFiNetworks","scanNetworks","getCachedDeviceState","getCachedWiFiStatus","patch","previous","mergeWiFiStatus","state","updatedAt","Date","now","listener","clearCachedDeviceState","clearAllCachedDeviceStates","clear","enableAutoReconnect","startAutoReconnectLoop","disableAutoReconnect","has","onCachedDeviceStateChanged","destroy","removeAllListeners","subscription","attempt","scanTimeout","setInterval","clearInterval","notConnected","fetcher","command","operation","pendingState","readRecordingState","active","initiatedBy","owner","next","expected","removed","signalStrength","ssid","lastError","nativeProtocolStatus","direct","Reflect","userInfo","nested","code","storageError","chunkError","alreadyPaired","compatibilityResetSequence","toString"],"sourceRoot":"../../../src","sources":["managers/DeviceManager.ts"],"mappings":"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","ignoreList":[]}