@bota.dev/react-native-app-sdk 2.0.0-beta.1 → 2.0.0-beta.11

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 (152) hide show
  1. package/README.md +115 -4
  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/main/java/dev/bota/sdk/reactnative/BotaDeviceSDKPackage.kt +9 -0
  11. package/android/src/main/java/dev/bota/sdk/reactnative/upload/BotaUploadV2BackendModule.kt +66 -0
  12. package/android/src/main/java/dev/bota/sdk/reactnative/upload/NativeUpload.kt +400 -0
  13. package/android/src/main/java/dev/bota/sdk/reactnative/upload/UploadHttp.kt +158 -0
  14. package/android/src/main/java/dev/bota/sdk/reactnative/upload/UploadJournal.kt +112 -0
  15. package/android/src/main/java/dev/bota/sdk/reactnative/upload/UploadModels.kt +171 -0
  16. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidDevicesTest.kt +35 -0
  17. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidLogsTest.kt +33 -0
  18. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingUploadsTest.kt +135 -6
  19. package/android/src/test/java/dev/bota/sdk/reactnative/BotaDeviceSDKAndroidRecordingsTest.kt +236 -10
  20. package/generated/codegen-contract.json +751 -32
  21. package/ios/BotaDeviceSDK.mm +114 -0
  22. package/ios/BotaDeviceSDKAppleBridge.swift +141 -4
  23. package/ios/BotaDeviceSDKAppleDevices.swift +11 -0
  24. package/ios/BotaDeviceSDKAppleDiagnostics.swift +40 -0
  25. package/ios/BotaDeviceSDKAppleLogs.swift +18 -0
  26. package/ios/BotaDeviceSDKAppleRecordingUploads.swift +138 -6
  27. package/ios/BotaDeviceSDKAppleRecordings.swift +113 -5
  28. package/ios/BotaDeviceSDKEncryptedUploadV2Materials.swift +40 -0
  29. package/ios/BotaUploadV2Backend.mm +49 -0
  30. package/ios/UploadBackend/BotaUploadV2BackendBridge.swift +98 -0
  31. package/ios/UploadBackend/UploadCoordinator.swift +84 -0
  32. package/ios/UploadBackend/UploadHTTP.swift +82 -0
  33. package/ios/UploadBackend/UploadJournal.swift +187 -0
  34. package/ios/UploadBackend/UploadModels.swift +273 -0
  35. package/ios/UploadBackend/UploadOperation.swift +391 -0
  36. package/lib/commonjs/BotaClient.js +16 -2
  37. package/lib/commonjs/BotaClient.js.map +1 -1
  38. package/lib/commonjs/ble/constants.js +5 -1
  39. package/lib/commonjs/ble/constants.js.map +1 -1
  40. package/lib/commonjs/ble/deviceDiagnostics.js +240 -0
  41. package/lib/commonjs/ble/deviceDiagnostics.js.map +1 -0
  42. package/lib/commonjs/client.js +183 -28
  43. package/lib/commonjs/client.js.map +1 -1
  44. package/lib/commonjs/clientPresence.js +26 -0
  45. package/lib/commonjs/clientPresence.js.map +1 -0
  46. package/lib/commonjs/encryptedUploadV2Backend.js +200 -0
  47. package/lib/commonjs/encryptedUploadV2Backend.js.map +1 -0
  48. package/lib/commonjs/index.js +34 -0
  49. package/lib/commonjs/index.js.map +1 -1
  50. package/lib/commonjs/managers/DeviceManager.js +23 -0
  51. package/lib/commonjs/managers/DeviceManager.js.map +1 -1
  52. package/lib/commonjs/managers/NativeUploadQueue.js +386 -0
  53. package/lib/commonjs/managers/NativeUploadQueue.js.map +1 -0
  54. package/lib/commonjs/managers/RecordingManager.js +83 -102
  55. package/lib/commonjs/managers/RecordingManager.js.map +1 -1
  56. package/lib/commonjs/managers/uploadRecoveryMetadata.js +83 -0
  57. package/lib/commonjs/managers/uploadRecoveryMetadata.js.map +1 -0
  58. package/lib/commonjs/sdkIdentity.js +10 -0
  59. package/lib/commonjs/sdkIdentity.js.map +1 -0
  60. package/lib/commonjs/specs/NativeBotaDeviceSDK.js.map +1 -1
  61. package/lib/commonjs/specs/NativeBotaUploadV2Backend.js +11 -0
  62. package/lib/commonjs/specs/NativeBotaUploadV2Backend.js.map +1 -0
  63. package/lib/commonjs/uploadRecovery.js +68 -0
  64. package/lib/commonjs/uploadRecovery.js.map +1 -0
  65. package/lib/module/BotaClient.js +16 -2
  66. package/lib/module/BotaClient.js.map +1 -1
  67. package/lib/module/ble/constants.js +4 -0
  68. package/lib/module/ble/constants.js.map +1 -1
  69. package/lib/module/ble/deviceDiagnostics.js +234 -0
  70. package/lib/module/ble/deviceDiagnostics.js.map +1 -0
  71. package/lib/module/client.js +183 -28
  72. package/lib/module/client.js.map +1 -1
  73. package/lib/module/clientPresence.js +22 -0
  74. package/lib/module/clientPresence.js.map +1 -0
  75. package/lib/module/encryptedUploadV2Backend.js +196 -0
  76. package/lib/module/encryptedUploadV2Backend.js.map +1 -0
  77. package/lib/module/index.js +7 -0
  78. package/lib/module/index.js.map +1 -1
  79. package/lib/module/managers/DeviceManager.js +23 -0
  80. package/lib/module/managers/DeviceManager.js.map +1 -1
  81. package/lib/module/managers/NativeUploadQueue.js +380 -0
  82. package/lib/module/managers/NativeUploadQueue.js.map +1 -0
  83. package/lib/module/managers/RecordingManager.js +83 -102
  84. package/lib/module/managers/RecordingManager.js.map +1 -1
  85. package/lib/module/managers/uploadRecoveryMetadata.js +77 -0
  86. package/lib/module/managers/uploadRecoveryMetadata.js.map +1 -0
  87. package/lib/module/sdkIdentity.js +6 -0
  88. package/lib/module/sdkIdentity.js.map +1 -0
  89. package/lib/module/specs/NativeBotaDeviceSDK.js.map +1 -1
  90. package/lib/module/specs/NativeBotaUploadV2Backend.js +9 -0
  91. package/lib/module/specs/NativeBotaUploadV2Backend.js.map +1 -0
  92. package/lib/module/uploadRecovery.js +64 -0
  93. package/lib/module/uploadRecovery.js.map +1 -0
  94. package/lib/typescript/BotaClient.d.ts +2 -0
  95. package/lib/typescript/BotaClient.d.ts.map +1 -1
  96. package/lib/typescript/ble/constants.d.ts +4 -0
  97. package/lib/typescript/ble/constants.d.ts.map +1 -1
  98. package/lib/typescript/ble/deviceDiagnostics.d.ts +10 -0
  99. package/lib/typescript/ble/deviceDiagnostics.d.ts.map +1 -0
  100. package/lib/typescript/client.d.ts +24 -3
  101. package/lib/typescript/client.d.ts.map +1 -1
  102. package/lib/typescript/clientPresence.d.ts +26 -0
  103. package/lib/typescript/clientPresence.d.ts.map +1 -0
  104. package/lib/typescript/encryptedUploadV2Backend.d.ts +41 -0
  105. package/lib/typescript/encryptedUploadV2Backend.d.ts.map +1 -0
  106. package/lib/typescript/index.d.ts +13 -4
  107. package/lib/typescript/index.d.ts.map +1 -1
  108. package/lib/typescript/managers/DeviceManager.d.ts +5 -1
  109. package/lib/typescript/managers/DeviceManager.d.ts.map +1 -1
  110. package/lib/typescript/managers/NativeUploadQueue.d.ts +41 -0
  111. package/lib/typescript/managers/NativeUploadQueue.d.ts.map +1 -0
  112. package/lib/typescript/managers/RecordingManager.d.ts +3 -8
  113. package/lib/typescript/managers/RecordingManager.d.ts.map +1 -1
  114. package/lib/typescript/managers/types.d.ts +6 -1
  115. package/lib/typescript/managers/types.d.ts.map +1 -1
  116. package/lib/typescript/managers/uploadRecoveryMetadata.d.ts +6 -0
  117. package/lib/typescript/managers/uploadRecoveryMetadata.d.ts.map +1 -0
  118. package/lib/typescript/models/Device.d.ts +42 -0
  119. package/lib/typescript/models/Device.d.ts.map +1 -1
  120. package/lib/typescript/models/Recording.d.ts +47 -0
  121. package/lib/typescript/models/Recording.d.ts.map +1 -1
  122. package/lib/typescript/models/Status.d.ts +5 -1
  123. package/lib/typescript/models/Status.d.ts.map +1 -1
  124. package/lib/typescript/sdkIdentity.d.ts +3 -0
  125. package/lib/typescript/sdkIdentity.d.ts.map +1 -0
  126. package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts +70 -0
  127. package/lib/typescript/specs/NativeBotaDeviceSDK.d.ts.map +1 -1
  128. package/lib/typescript/specs/NativeBotaUploadV2Backend.d.ts +18 -0
  129. package/lib/typescript/specs/NativeBotaUploadV2Backend.d.ts.map +1 -0
  130. package/lib/typescript/uploadRecovery.d.ts +27 -0
  131. package/lib/typescript/uploadRecovery.d.ts.map +1 -0
  132. package/package.json +1 -1
  133. package/scripts/bota_device_sdk_spm_workaround.rb +26 -15
  134. package/src/BotaClient.ts +17 -3
  135. package/src/ble/constants.ts +5 -0
  136. package/src/ble/deviceDiagnostics.ts +238 -0
  137. package/src/client.ts +189 -18
  138. package/src/clientPresence.ts +33 -0
  139. package/src/encryptedUploadV2Backend.ts +171 -0
  140. package/src/index.ts +24 -0
  141. package/src/managers/DeviceManager.ts +23 -0
  142. package/src/managers/NativeUploadQueue.ts +330 -0
  143. package/src/managers/RecordingManager.ts +83 -116
  144. package/src/managers/types.ts +7 -1
  145. package/src/managers/uploadRecoveryMetadata.ts +59 -0
  146. package/src/models/Device.ts +43 -0
  147. package/src/models/Recording.ts +52 -0
  148. package/src/models/Status.ts +5 -1
  149. package/src/sdkIdentity.ts +3 -0
  150. package/src/specs/NativeBotaDeviceSDK.ts +66 -0
  151. package/src/specs/NativeBotaUploadV2Backend.ts +19 -0
  152. package/src/uploadRecovery.ts +66 -0
@@ -5,6 +5,7 @@ import { getCompatibilityClient } from './compatibility/runtime';
5
5
  import { DeviceManager } from './managers/DeviceManager';
6
6
  import { OTAManager } from './managers/OTAManager';
7
7
  import { RecordingManager } from './managers/RecordingManager';
8
+ import { rejectRecordingDataStore } from './managers/uploadRecoveryMetadata';
8
9
  import { BluetoothError, SdkError } from './utils/errors';
9
10
  import { logger } from './utils/logger';
10
11
  const log = logger.tag('BotaClient');
@@ -13,9 +14,15 @@ const normalizeConfig = config => ({
13
14
  backgroundSyncEnabled: config.backgroundSyncEnabled ?? true,
14
15
  wifiOnlyUpload: config.wifiOnlyUpload ?? false,
15
16
  logLevel: config.logLevel ?? 'warn',
16
- debug: config.debug ?? false
17
+ debug: config.debug ?? false,
18
+ ...(config.uploadRecoveryProvider ? {
19
+ uploadRecoveryProvider: config.uploadRecoveryProvider
20
+ } : {})
17
21
  });
18
22
  class BotaClientImpl extends EventEmitter {
23
+ clientPresence = {
24
+ nextReport: async deviceId => this._deviceManager?.clientPresence.nextReport(deviceId) ?? null
25
+ };
19
26
  _config = null;
20
27
  _state = 'uninitialized';
21
28
  _bluetoothState = 'unknown';
@@ -55,6 +62,11 @@ class BotaClientImpl extends EventEmitter {
55
62
  return this._otaManager;
56
63
  }
57
64
  configure(config = {}) {
65
+ try {
66
+ rejectRecordingDataStore(config.recordingDataStore);
67
+ } catch (error) {
68
+ return Promise.reject(error);
69
+ }
58
70
  if (this._configurePromise && !this._destroyPromise) {
59
71
  return this._configurePromise;
60
72
  }
@@ -135,7 +147,9 @@ class BotaClientImpl extends EventEmitter {
135
147
  this.setBluetoothState(capabilities.bluetooth ? 'poweredOn' : 'unsupported');
136
148
  deviceManager = new DeviceManager();
137
149
  await deviceManager.initialize();
138
- recordingManager = new RecordingManager();
150
+ recordingManager = new RecordingManager({
151
+ uploadRecoveryProvider: config.uploadRecoveryProvider
152
+ });
139
153
  await recordingManager.initialize();
140
154
  otaManager = new OTAManager(deviceManager);
141
155
  this._deviceManager = deviceManager;
@@ -1 +1 @@
1
- {"version":3,"names":["EventEmitter","getCompatibilityClient","DeviceManager","OTAManager","RecordingManager","BluetoothError","SdkError","logger","log","tag","normalizeConfig","config","environment","backgroundSyncEnabled","wifiOnlyUpload","logLevel","debug","BotaClientImpl","_config","_state","_bluetoothState","_client","_deviceManager","_recordingManager","_otaManager","_nativeOwned","_operation","Promise","resolve","_configurePromise","_destroyPromise","state","bluetoothState","isBluetoothReady","isInitialized","devices","notInitialized","recordings","ota","configure","normalized","operation","enqueue","performConfigure","finally","catch","undefined","waitForBluetooth","timeoutMs","unavailable","deadline","Date","now","setTimeout","capabilities","getCapabilities","bluetooth","setBluetoothState","timeout","setLogLevel","level","setLevel","setLogHandler","handler","setHandler","destroy","releaseOwnerGraph","removeAllListeners","queued","then","warn","setState","client","deviceManager","recordingManager","otaManager","nativeState","getState","invalidState","initialize","info","error","failure","Error","String","emit","BotaClient"],"sourceRoot":"../../src","sources":["BotaClient.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["EventEmitter","getCompatibilityClient","DeviceManager","OTAManager","RecordingManager","rejectRecordingDataStore","BluetoothError","SdkError","logger","log","tag","normalizeConfig","config","environment","backgroundSyncEnabled","wifiOnlyUpload","logLevel","debug","uploadRecoveryProvider","BotaClientImpl","clientPresence","nextReport","deviceId","_deviceManager","_config","_state","_bluetoothState","_client","_recordingManager","_otaManager","_nativeOwned","_operation","Promise","resolve","_configurePromise","_destroyPromise","state","bluetoothState","isBluetoothReady","isInitialized","devices","notInitialized","recordings","ota","configure","recordingDataStore","error","reject","normalized","operation","enqueue","performConfigure","finally","catch","undefined","waitForBluetooth","timeoutMs","unavailable","deadline","Date","now","setTimeout","capabilities","getCapabilities","bluetooth","setBluetoothState","timeout","setLogLevel","level","setLevel","setLogHandler","handler","setHandler","destroy","releaseOwnerGraph","removeAllListeners","queued","then","warn","setState","client","deviceManager","recordingManager","otaManager","nativeState","getState","invalidState","initialize","info","failure","Error","String","emit","BotaClient"],"sourceRoot":"../../src","sources":["BotaClient.ts"],"mappings":"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","ignoreList":[]}
@@ -3,4 +3,8 @@
3
3
  export const DEVICE_LOG_FLAG_BACKLOG = 0x01;
4
4
  export const DEVICE_LOG_FLAG_DROPPED = 0x02;
5
5
  export const BLE_ERROR_STORAGE_KEY_UNAVAILABLE = 0x14;
6
+ export const DEVICE_DIAGNOSTICS_EVT_META = 0x90;
7
+ export const DEVICE_DIAGNOSTICS_EVT_SIGNATURE = 0x91;
8
+ export const DEVICE_DIAGNOSTICS_EVT_END = 0x92;
9
+ export const DEVICE_DIAGNOSTICS_EVT_DETAIL = 0x95;
6
10
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DEVICE_LOG_FLAG_BACKLOG","DEVICE_LOG_FLAG_DROPPED","BLE_ERROR_STORAGE_KEY_UNAVAILABLE"],"sourceRoot":"../../../src","sources":["ble/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,uBAAuB,GAAG,IAAI;AAC3C,OAAO,MAAMC,uBAAuB,GAAG,IAAI;AAC3C,OAAO,MAAMC,iCAAiC,GAAG,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["DEVICE_LOG_FLAG_BACKLOG","DEVICE_LOG_FLAG_DROPPED","BLE_ERROR_STORAGE_KEY_UNAVAILABLE","DEVICE_DIAGNOSTICS_EVT_META","DEVICE_DIAGNOSTICS_EVT_SIGNATURE","DEVICE_DIAGNOSTICS_EVT_END","DEVICE_DIAGNOSTICS_EVT_DETAIL"],"sourceRoot":"../../../src","sources":["ble/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,uBAAuB,GAAG,IAAI;AAC3C,OAAO,MAAMC,uBAAuB,GAAG,IAAI;AAC3C,OAAO,MAAMC,iCAAiC,GAAG,IAAI;AAErD,OAAO,MAAMC,2BAA2B,GAAG,IAAI;AAC/C,OAAO,MAAMC,gCAAgC,GAAG,IAAI;AACpD,OAAO,MAAMC,0BAA0B,GAAG,IAAI;AAC9C,OAAO,MAAMC,6BAA6B,GAAG,IAAI","ignoreList":[]}
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+
3
+ import { Buffer } from 'buffer';
4
+ import { DEVICE_DIAGNOSTICS_EVT_END, DEVICE_DIAGNOSTICS_EVT_DETAIL, DEVICE_DIAGNOSTICS_EVT_META, DEVICE_DIAGNOSTICS_EVT_SIGNATURE } from './constants';
5
+ const EVENT_TYPES = {
6
+ 1: 'reset',
7
+ 2: 'watchdog',
8
+ 3: 'hard_fault',
9
+ 4: 'storage',
10
+ 5: 'power',
11
+ 6: 'radio',
12
+ 7: 'security'
13
+ };
14
+ const REASONS = {
15
+ 1: 'watchdog_timeout',
16
+ 2: 'cpu_illegal_instruction',
17
+ 3: 'cpu_misaligned_access',
18
+ 4: 'cpu_stack_overflow',
19
+ 5: 'cpu_usage_fault',
20
+ 6: 'memory_protection_fault',
21
+ 7: 'invalid_register_read',
22
+ 8: 'invalid_register_write',
23
+ 9: 'audio_subsystem_fault',
24
+ 10: 'wireless_subsystem_fault',
25
+ 11: 'flash_mmu_fault',
26
+ 12: 'low_voltage_reset',
27
+ 255: 'unknown_cpu_exception'
28
+ };
29
+ const SUBSYSTEMS = {
30
+ 0: 'system',
31
+ 1: 'audio',
32
+ 2: 'wireless',
33
+ 3: 'storage',
34
+ 4: 'power',
35
+ 5: 'security'
36
+ };
37
+ const STATES = {
38
+ 0: 'boot',
39
+ 1: 'deep_standby',
40
+ 2: 'recording',
41
+ 3: 'upload_preparing',
42
+ 4: 'uploading',
43
+ 5: 'error_recovery',
44
+ 6: 'full_sleep'
45
+ };
46
+ const BREADCRUMBS = {
47
+ 1: 'boot',
48
+ 2: 'standby_entered',
49
+ 3: 'recording_started',
50
+ 4: 'upload_preparing',
51
+ 5: 'upload_started',
52
+ 6: 'error_recovery',
53
+ 7: 'full_sleep'
54
+ };
55
+ const DETAIL_WIRE_SIZE = 176;
56
+ function u64LeHex(bytes) {
57
+ return Buffer.from(bytes).reverse().toString('hex').padStart(16, '0');
58
+ }
59
+ export function diagnosticEventIdCommand(eventId) {
60
+ if (!/^[0-9a-f]{16}$/.test(eventId)) {
61
+ throw new Error('Diagnostic event_id must be 16 lowercase hex characters');
62
+ }
63
+ return Buffer.concat([Buffer.from([0x11]), Buffer.from(eventId, 'hex').reverse()]);
64
+ }
65
+ function normalizedAddress(value) {
66
+ if (value === 0) return undefined;
67
+ const region = (value & 0x80000000) !== 0 ? 'sdram' : (value & 0x40000000) !== 0 ? 'ram' : 'rom';
68
+ const offset = (value & 0x3fffffff).toString(16).padStart(8, '0');
69
+ return `${region}:${offset}`;
70
+ }
71
+ function fixedHex32(value) {
72
+ return value.toString(16).padStart(8, '0');
73
+ }
74
+ function decodeDetail(bytes) {
75
+ if (bytes.length !== DETAIL_WIRE_SIZE || bytes[0] !== 1) {
76
+ throw new Error('Unsupported diagnostic detail payload');
77
+ }
78
+ const hasReport = (bytes[1] & 1) !== 0;
79
+ const firmwareBuildId = Buffer.from(bytes.subarray(2, 14)).toString('ascii');
80
+ if (!/^[0-9a-f]{12}$/.test(firmwareBuildId)) {
81
+ throw new Error('Invalid diagnostic firmware build id');
82
+ }
83
+ const common = {
84
+ firmware_build_id: firmwareBuildId,
85
+ subsystem: SUBSYSTEMS[bytes[14]] ?? 'system',
86
+ state_before_event: STATES[bytes[15]] ?? 'unknown'
87
+ };
88
+ if (!hasReport) return common;
89
+ const pcCount = Math.min(bytes[17], 6);
90
+ const breadcrumbCount = Math.min(bytes[18], 8);
91
+ const runtimeMask = bytes[19];
92
+ const pcTrace = [];
93
+ for (let index = 0; index < pcCount; index++) {
94
+ const address = normalizedAddress(bytes.readUInt32LE(48 + index * 4));
95
+ if (address) pcTrace.push(address);
96
+ }
97
+ const task = Buffer.from(bytes.subarray(80, 96)).toString('ascii').replace(/\0.*$/, '');
98
+ const breadcrumbs = [];
99
+ for (let index = 0; index < breadcrumbCount; index++) {
100
+ const offset = 96 + index * 10;
101
+ breadcrumbs.push({
102
+ delta_ms: bytes.readInt32LE(offset),
103
+ code: BREADCRUMBS[bytes.readUInt16LE(offset + 4)] ?? 'state_changed',
104
+ arg0: bytes.readInt32LE(offset + 6)
105
+ });
106
+ }
107
+ const reti = normalizedAddress(bytes.readUInt32LE(40));
108
+ const rets = normalizedAddress(bytes.readUInt32LE(44));
109
+ return {
110
+ ...common,
111
+ report: {
112
+ fault: {
113
+ cpu_id: bytes[16],
114
+ cpu_emu: fixedHex32(bytes.readUInt32LE(20)),
115
+ core_emu: fixedHex32(bytes.readUInt32LE(24)),
116
+ hsb_emu: fixedHex32(bytes.readUInt32LE(28)),
117
+ audio_emu: fixedHex32(bytes.readUInt32LE(32)),
118
+ wireless_emu: fixedHex32(bytes.readUInt32LE(36))
119
+ },
120
+ execution: {
121
+ ...(task ? {
122
+ task
123
+ } : {}),
124
+ ...(reti ? {
125
+ reti
126
+ } : {}),
127
+ ...(rets ? {
128
+ rets
129
+ } : {}),
130
+ pc_trace: pcTrace
131
+ },
132
+ ...((runtimeMask & 3) !== 0 ? {
133
+ runtime: {
134
+ ...((runtimeMask & 1) !== 0 ? {
135
+ heap_free_bytes: bytes.readUInt32LE(72)
136
+ } : {}),
137
+ ...((runtimeMask & 2) !== 0 ? {
138
+ task_stack_remaining_bytes: bytes.readUInt32LE(76)
139
+ } : {})
140
+ }
141
+ } : {}),
142
+ ...(breadcrumbs.length ? {
143
+ breadcrumbs
144
+ } : {})
145
+ }
146
+ };
147
+ }
148
+ export class DeviceDiagnosticsDecoder {
149
+ events = new Map();
150
+ details = new Map();
151
+ push(packet) {
152
+ if (packet.length === 17 && packet[0] === DEVICE_DIAGNOSTICS_EVT_META) {
153
+ const type = EVENT_TYPES[packet[2]];
154
+ if (!type) return null;
155
+ this.events.set(packet[1], {
156
+ event_id: u64LeHex(packet.subarray(9, 17)),
157
+ event_type: type,
158
+ reason_code: REASONS[packet.readUInt16LE(3)] ?? 'unknown_cpu_exception',
159
+ uptime_ms: packet.readUInt32LE(5)
160
+ });
161
+ return null;
162
+ }
163
+ if (packet.length === 10 && packet[0] === DEVICE_DIAGNOSTICS_EVT_SIGNATURE) {
164
+ const event = this.events.get(packet[1]);
165
+ if (event) event.signature = u64LeHex(packet.subarray(2, 10));
166
+ return null;
167
+ }
168
+ if (packet.length >= 6 && packet.length <= 20 && packet[0] === DEVICE_DIAGNOSTICS_EVT_DETAIL) {
169
+ const index = packet[1];
170
+ const offset = packet.readUInt16LE(2);
171
+ const total = packet.readUInt16LE(4);
172
+ if (total !== DETAIL_WIRE_SIZE || offset + packet.length - 6 > total) {
173
+ this.reset();
174
+ throw new Error('Invalid diagnostic detail chunk');
175
+ }
176
+ let detail = this.details.get(index);
177
+ if (offset === 0) {
178
+ if (detail) {
179
+ this.reset();
180
+ throw new Error(`Duplicate diagnostic detail at index ${index}`);
181
+ }
182
+ detail = {
183
+ buffer: Buffer.alloc(total),
184
+ received: 0
185
+ };
186
+ this.details.set(index, detail);
187
+ }
188
+ if (!detail || detail.received !== offset) {
189
+ this.reset();
190
+ throw new Error(`Out-of-order diagnostic detail at index ${index}`);
191
+ }
192
+ packet.copy(detail.buffer, offset, 6);
193
+ detail.received += packet.length - 6;
194
+ if (detail.received === total) {
195
+ const event = this.events.get(index);
196
+ if (!event) {
197
+ this.reset();
198
+ throw new Error(`Diagnostic detail without metadata at index ${index}`);
199
+ }
200
+ try {
201
+ Object.assign(event, decodeDetail(detail.buffer));
202
+ } catch (error) {
203
+ this.reset();
204
+ throw error;
205
+ }
206
+ }
207
+ return null;
208
+ }
209
+ if (packet.length === 2 && packet[0] === DEVICE_DIAGNOSTICS_EVT_END) {
210
+ const expected = packet[1];
211
+ const events = [];
212
+ for (let index = 0; index < expected; index++) {
213
+ const event = this.events.get(index);
214
+ if (!event?.signature || !event.firmware_build_id || !event.subsystem || !event.state_before_event || this.details.get(index)?.received !== DETAIL_WIRE_SIZE) {
215
+ this.reset();
216
+ throw new Error(`Incomplete diagnostic event at index ${index}`);
217
+ }
218
+ events.push(event);
219
+ }
220
+ const batch = {
221
+ schema_version: 1,
222
+ events
223
+ };
224
+ this.reset();
225
+ return batch;
226
+ }
227
+ return null;
228
+ }
229
+ reset() {
230
+ this.events.clear();
231
+ this.details.clear();
232
+ }
233
+ }
234
+ //# sourceMappingURL=deviceDiagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Buffer","DEVICE_DIAGNOSTICS_EVT_END","DEVICE_DIAGNOSTICS_EVT_DETAIL","DEVICE_DIAGNOSTICS_EVT_META","DEVICE_DIAGNOSTICS_EVT_SIGNATURE","EVENT_TYPES","REASONS","SUBSYSTEMS","STATES","BREADCRUMBS","DETAIL_WIRE_SIZE","u64LeHex","bytes","from","reverse","toString","padStart","diagnosticEventIdCommand","eventId","test","Error","concat","normalizedAddress","value","undefined","region","offset","fixedHex32","decodeDetail","length","hasReport","firmwareBuildId","subarray","common","firmware_build_id","subsystem","state_before_event","pcCount","Math","min","breadcrumbCount","runtimeMask","pcTrace","index","address","readUInt32LE","push","task","replace","breadcrumbs","delta_ms","readInt32LE","code","readUInt16LE","arg0","reti","rets","report","fault","cpu_id","cpu_emu","core_emu","hsb_emu","audio_emu","wireless_emu","execution","pc_trace","runtime","heap_free_bytes","task_stack_remaining_bytes","DeviceDiagnosticsDecoder","events","Map","details","packet","type","set","event_id","event_type","reason_code","uptime_ms","event","get","signature","total","reset","detail","buffer","alloc","received","copy","Object","assign","error","expected","batch","schema_version","clear"],"sourceRoot":"../../../src","sources":["ble/deviceDiagnostics.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,SACEC,0BAA0B,EAC1BC,6BAA6B,EAC7BC,2BAA2B,EAC3BC,gCAAgC,QAC3B,aAAa;AAQpB,MAAMC,WAAsD,GAAG;EAC7D,CAAC,EAAE,OAAO;EAAE,CAAC,EAAE,UAAU;EAAE,CAAC,EAAE,YAAY;EAAE,CAAC,EAAE,SAAS;EACxD,CAAC,EAAE,OAAO;EAAE,CAAC,EAAE,OAAO;EAAE,CAAC,EAAE;AAC7B,CAAC;AACD,MAAMC,OAAmD,GAAG;EAC1D,CAAC,EAAE,kBAAkB;EAAE,CAAC,EAAE,yBAAyB;EACnD,CAAC,EAAE,uBAAuB;EAAE,CAAC,EAAE,oBAAoB;EACnD,CAAC,EAAE,iBAAiB;EAAE,CAAC,EAAE,yBAAyB;EAClD,CAAC,EAAE,uBAAuB;EAAE,CAAC,EAAE,wBAAwB;EACvD,CAAC,EAAE,uBAAuB;EAAE,EAAE,EAAE,0BAA0B;EAC1D,EAAE,EAAE,iBAAiB;EAAE,EAAE,EAAE,mBAAmB;EAC9C,GAAG,EAAE;AACP,CAAC;AACD,MAAMC,UAAkC,GAAG;EACzC,CAAC,EAAE,QAAQ;EAAE,CAAC,EAAE,OAAO;EAAE,CAAC,EAAE,UAAU;EAAE,CAAC,EAAE,SAAS;EACpD,CAAC,EAAE,OAAO;EAAE,CAAC,EAAE;AACjB,CAAC;AACD,MAAMC,MAA8B,GAAG;EACrC,CAAC,EAAE,MAAM;EAAE,CAAC,EAAE,cAAc;EAAE,CAAC,EAAE,WAAW;EAAE,CAAC,EAAE,kBAAkB;EACnE,CAAC,EAAE,WAAW;EAAE,CAAC,EAAE,gBAAgB;EAAE,CAAC,EAAE;AAC1C,CAAC;AACD,MAAMC,WAAmC,GAAG;EAC1C,CAAC,EAAE,MAAM;EAAE,CAAC,EAAE,iBAAiB;EAAE,CAAC,EAAE,mBAAmB;EACvD,CAAC,EAAE,kBAAkB;EAAE,CAAC,EAAE,gBAAgB;EAAE,CAAC,EAAE,gBAAgB;EAC/D,CAAC,EAAE;AACL,CAAC;AACD,MAAMC,gBAAgB,GAAG,GAAG;AAE5B,SAASC,QAAQA,CAACC,KAAiB,EAAU;EAC3C,OAAOZ,MAAM,CAACa,IAAI,CAACD,KAAK,CAAC,CAACE,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,KAAK,CAAC,CAACC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;AACvE;AAEA,OAAO,SAASC,wBAAwBA,CAACC,OAAe,EAAU;EAChE,IAAI,CAAC,gBAAgB,CAACC,IAAI,CAACD,OAAO,CAAC,EAAE;IACnC,MAAM,IAAIE,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EACA,OAAOpB,MAAM,CAACqB,MAAM,CAAC,CACnBrB,MAAM,CAACa,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EACnBb,MAAM,CAACa,IAAI,CAACK,OAAO,EAAE,KAAK,CAAC,CAACJ,OAAO,CAAC,CAAC,CACtC,CAAC;AACJ;AAeA,SAASQ,iBAAiBA,CAACC,KAAa,EAAsB;EAC5D,IAAIA,KAAK,KAAK,CAAC,EAAE,OAAOC,SAAS;EACjC,MAAMC,MAAM,GAAG,CAACF,KAAK,GAAG,UAAU,MAAM,CAAC,GACrC,OAAO,GACP,CAACA,KAAK,GAAG,UAAU,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK;EAC9C,MAAMG,MAAM,GAAG,CAACH,KAAK,GAAG,UAAU,EAAER,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACjE,OAAO,GAAGS,MAAM,IAAIC,MAAM,EAAE;AAC9B;AAEA,SAASC,UAAUA,CAACJ,KAAa,EAAU;EACzC,OAAOA,KAAK,CAACR,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC5C;AAEA,SAASY,YAAYA,CAAChB,KAAa,EACoC;EACrE,IAAIA,KAAK,CAACiB,MAAM,KAAKnB,gBAAgB,IAAIE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;IACvD,MAAM,IAAIQ,KAAK,CAAC,uCAAuC,CAAC;EAC1D;EACA,MAAMU,SAAS,GAAG,CAAClB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;EACtC,MAAMmB,eAAe,GAAG/B,MAAM,CAACa,IAAI,CAACD,KAAK,CAACoB,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAACjB,QAAQ,CAAC,OAAO,CAAC;EAC5E,IAAI,CAAC,gBAAgB,CAACI,IAAI,CAACY,eAAe,CAAC,EAAE;IAC3C,MAAM,IAAIX,KAAK,CAAC,sCAAsC,CAAC;EACzD;EACA,MAAMa,MAAM,GAAG;IACbC,iBAAiB,EAAEH,eAAe;IAClCI,SAAS,EAAE5B,UAAU,CAACK,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ;IAC5CwB,kBAAkB,EAAE5B,MAAM,CAACI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI;EAC3C,CAAC;EACD,IAAI,CAACkB,SAAS,EAAE,OAAOG,MAAM;EAE7B,MAAMI,OAAO,GAAGC,IAAI,CAACC,GAAG,CAAC3B,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACtC,MAAM4B,eAAe,GAAGF,IAAI,CAACC,GAAG,CAAC3B,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC9C,MAAM6B,WAAW,GAAG7B,KAAK,CAAC,EAAE,CAAC;EAC7B,MAAM8B,OAAiB,GAAG,EAAE;EAC5B,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGN,OAAO,EAAEM,KAAK,EAAE,EAAE;IAC5C,MAAMC,OAAO,GAAGtB,iBAAiB,CAACV,KAAK,CAACiC,YAAY,CAAC,EAAE,GAAGF,KAAK,GAAG,CAAC,CAAC,CAAC;IACrE,IAAIC,OAAO,EAAEF,OAAO,CAACI,IAAI,CAACF,OAAO,CAAC;EACpC;EACA,MAAMG,IAAI,GAAG/C,MAAM,CAACa,IAAI,CAACD,KAAK,CAACoB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAACjB,QAAQ,CAAC,OAAO,CAAC,CAACiC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;EACvF,MAAMC,WAAW,GAAG,EAAE;EACtB,KAAK,IAAIN,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,eAAe,EAAEG,KAAK,EAAE,EAAE;IACpD,MAAMjB,MAAM,GAAG,EAAE,GAAGiB,KAAK,GAAG,EAAE;IAC9BM,WAAW,CAACH,IAAI,CAAC;MACfI,QAAQ,EAAEtC,KAAK,CAACuC,WAAW,CAACzB,MAAM,CAAC;MACnC0B,IAAI,EAAE3C,WAAW,CAACG,KAAK,CAACyC,YAAY,CAAC3B,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,eAAe;MACpE4B,IAAI,EAAE1C,KAAK,CAACuC,WAAW,CAACzB,MAAM,GAAG,CAAC;IACpC,CAAC,CAAC;EACJ;EACA,MAAM6B,IAAI,GAAGjC,iBAAiB,CAACV,KAAK,CAACiC,YAAY,CAAC,EAAE,CAAC,CAAC;EACtD,MAAMW,IAAI,GAAGlC,iBAAiB,CAACV,KAAK,CAACiC,YAAY,CAAC,EAAE,CAAC,CAAC;EACtD,OAAO;IACL,GAAGZ,MAAM;IACTwB,MAAM,EAAE;MACNC,KAAK,EAAE;QACLC,MAAM,EAAE/C,KAAK,CAAC,EAAE,CAAC;QACjBgD,OAAO,EAAEjC,UAAU,CAACf,KAAK,CAACiC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3CgB,QAAQ,EAAElC,UAAU,CAACf,KAAK,CAACiC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5CiB,OAAO,EAAEnC,UAAU,CAACf,KAAK,CAACiC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3CkB,SAAS,EAAEpC,UAAU,CAACf,KAAK,CAACiC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC7CmB,YAAY,EAAErC,UAAU,CAACf,KAAK,CAACiC,YAAY,CAAC,EAAE,CAAC;MACjD,CAAC;MACDoB,SAAS,EAAE;QACT,IAAIlB,IAAI,GAAG;UAAEA;QAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAIQ,IAAI,GAAG;UAAEA;QAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAIC,IAAI,GAAG;UAAEA;QAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzBU,QAAQ,EAAExB;MACZ,CAAC;MACD,IAAI,CAACD,WAAW,GAAG,CAAC,MAAM,CAAC,GAAG;QAC5B0B,OAAO,EAAE;UACP,IAAI,CAAC1B,WAAW,GAAG,CAAC,MAAM,CAAC,GACvB;YAAE2B,eAAe,EAAExD,KAAK,CAACiC,YAAY,CAAC,EAAE;UAAE,CAAC,GAAG,CAAC,CAAC,CAAC;UACrD,IAAI,CAACJ,WAAW,GAAG,CAAC,MAAM,CAAC,GACvB;YAAE4B,0BAA0B,EAAEzD,KAAK,CAACiC,YAAY,CAAC,EAAE;UAAE,CAAC,GAAG,CAAC,CAAC;QACjE;MACF,CAAC,GAAG,CAAC,CAAC,CAAC;MACP,IAAII,WAAW,CAACpB,MAAM,GAAG;QAAEoB;MAAY,CAAC,GAAG,CAAC,CAAC;IAC/C;EACF,CAAC;AACH;AAEA,OAAO,MAAMqB,wBAAwB,CAAC;EAC5BC,MAAM,GAAG,IAAIC,GAAG,CAAuB,CAAC;EACxCC,OAAO,GAAG,IAAID,GAAG,CAAyB,CAAC;EAEnD1B,IAAIA,CAAC4B,MAAc,EAAiC;IAClD,IAAIA,MAAM,CAAC7C,MAAM,KAAK,EAAE,IAAI6C,MAAM,CAAC,CAAC,CAAC,KAAKvE,2BAA2B,EAAE;MACrE,MAAMwE,IAAI,GAAGtE,WAAW,CAACqE,MAAM,CAAC,CAAC,CAAC,CAAC;MACnC,IAAI,CAACC,IAAI,EAAE,OAAO,IAAI;MACtB,IAAI,CAACJ,MAAM,CAACK,GAAG,CAACF,MAAM,CAAC,CAAC,CAAC,EAAE;QACzBG,QAAQ,EAAElE,QAAQ,CAAC+D,MAAM,CAAC1C,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C8C,UAAU,EAAEH,IAAI;QAChBI,WAAW,EAAEzE,OAAO,CAACoE,MAAM,CAACrB,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,uBAAuB;QACvE2B,SAAS,EAAEN,MAAM,CAAC7B,YAAY,CAAC,CAAC;MAClC,CAAC,CAAC;MACF,OAAO,IAAI;IACb;IACA,IAAI6B,MAAM,CAAC7C,MAAM,KAAK,EAAE,IAAI6C,MAAM,CAAC,CAAC,CAAC,KAAKtE,gCAAgC,EAAE;MAC1E,MAAM6E,KAAK,GAAG,IAAI,CAACV,MAAM,CAACW,GAAG,CAACR,MAAM,CAAC,CAAC,CAAC,CAAC;MACxC,IAAIO,KAAK,EAAEA,KAAK,CAACE,SAAS,GAAGxE,QAAQ,CAAC+D,MAAM,CAAC1C,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MAC7D,OAAO,IAAI;IACb;IACA,IAAI0C,MAAM,CAAC7C,MAAM,IAAI,CAAC,IAAI6C,MAAM,CAAC7C,MAAM,IAAI,EAAE,IACzC6C,MAAM,CAAC,CAAC,CAAC,KAAKxE,6BAA6B,EAAE;MAC/C,MAAMyC,KAAK,GAAG+B,MAAM,CAAC,CAAC,CAAC;MACvB,MAAMhD,MAAM,GAAGgD,MAAM,CAACrB,YAAY,CAAC,CAAC,CAAC;MACrC,MAAM+B,KAAK,GAAGV,MAAM,CAACrB,YAAY,CAAC,CAAC,CAAC;MACpC,IAAI+B,KAAK,KAAK1E,gBAAgB,IAAIgB,MAAM,GAAGgD,MAAM,CAAC7C,MAAM,GAAG,CAAC,GAAGuD,KAAK,EAAE;QACpE,IAAI,CAACC,KAAK,CAAC,CAAC;QACZ,MAAM,IAAIjE,KAAK,CAAC,iCAAiC,CAAC;MACpD;MACA,IAAIkE,MAAM,GAAG,IAAI,CAACb,OAAO,CAACS,GAAG,CAACvC,KAAK,CAAC;MACpC,IAAIjB,MAAM,KAAK,CAAC,EAAE;QAChB,IAAI4D,MAAM,EAAE;UACV,IAAI,CAACD,KAAK,CAAC,CAAC;UACZ,MAAM,IAAIjE,KAAK,CAAC,wCAAwCuB,KAAK,EAAE,CAAC;QAClE;QACA2C,MAAM,GAAG;UAAEC,MAAM,EAAEvF,MAAM,CAACwF,KAAK,CAACJ,KAAK,CAAC;UAAEK,QAAQ,EAAE;QAAE,CAAC;QACrD,IAAI,CAAChB,OAAO,CAACG,GAAG,CAACjC,KAAK,EAAE2C,MAAM,CAAC;MACjC;MACA,IAAI,CAACA,MAAM,IAAIA,MAAM,CAACG,QAAQ,KAAK/D,MAAM,EAAE;QACzC,IAAI,CAAC2D,KAAK,CAAC,CAAC;QACZ,MAAM,IAAIjE,KAAK,CAAC,2CAA2CuB,KAAK,EAAE,CAAC;MACrE;MACA+B,MAAM,CAACgB,IAAI,CAACJ,MAAM,CAACC,MAAM,EAAE7D,MAAM,EAAE,CAAC,CAAC;MACrC4D,MAAM,CAACG,QAAQ,IAAIf,MAAM,CAAC7C,MAAM,GAAG,CAAC;MACpC,IAAIyD,MAAM,CAACG,QAAQ,KAAKL,KAAK,EAAE;QAC7B,MAAMH,KAAK,GAAG,IAAI,CAACV,MAAM,CAACW,GAAG,CAACvC,KAAK,CAAC;QACpC,IAAI,CAACsC,KAAK,EAAE;UACV,IAAI,CAACI,KAAK,CAAC,CAAC;UACZ,MAAM,IAAIjE,KAAK,CAAC,+CAA+CuB,KAAK,EAAE,CAAC;QACzE;QACA,IAAI;UACFgD,MAAM,CAACC,MAAM,CAACX,KAAK,EAAErD,YAAY,CAAC0D,MAAM,CAACC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,OAAOM,KAAK,EAAE;UACd,IAAI,CAACR,KAAK,CAAC,CAAC;UACZ,MAAMQ,KAAK;QACb;MACF;MACA,OAAO,IAAI;IACb;IACA,IAAInB,MAAM,CAAC7C,MAAM,KAAK,CAAC,IAAI6C,MAAM,CAAC,CAAC,CAAC,KAAKzE,0BAA0B,EAAE;MACnE,MAAM6F,QAAQ,GAAGpB,MAAM,CAAC,CAAC,CAAC;MAC1B,MAAMH,MAA+B,GAAG,EAAE;MAC1C,KAAK,IAAI5B,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGmD,QAAQ,EAAEnD,KAAK,EAAE,EAAE;QAC7C,MAAMsC,KAAK,GAAG,IAAI,CAACV,MAAM,CAACW,GAAG,CAACvC,KAAK,CAAC;QACpC,IAAI,CAACsC,KAAK,EAAEE,SAAS,IAAI,CAACF,KAAK,CAAC/C,iBAAiB,IAC7C,CAAC+C,KAAK,CAAC9C,SAAS,IAAI,CAAC8C,KAAK,CAAC7C,kBAAkB,IAC7C,IAAI,CAACqC,OAAO,CAACS,GAAG,CAACvC,KAAK,CAAC,EAAE8C,QAAQ,KAAK/E,gBAAgB,EAAE;UAC1D,IAAI,CAAC2E,KAAK,CAAC,CAAC;UACZ,MAAM,IAAIjE,KAAK,CAAC,wCAAwCuB,KAAK,EAAE,CAAC;QAClE;QACA4B,MAAM,CAACzB,IAAI,CAACmC,KAA8B,CAAC;MAC7C;MACA,MAAMc,KAA6B,GAAG;QACpCC,cAAc,EAAE,CAAC;QACjBzB;MACF,CAAC;MACD,IAAI,CAACc,KAAK,CAAC,CAAC;MACZ,OAAOU,KAAK;IACd;IACA,OAAO,IAAI;EACb;EAEAV,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACd,MAAM,CAAC0B,KAAK,CAAC,CAAC;IACnB,IAAI,CAACxB,OAAO,CAACwB,KAAK,CAAC,CAAC;EACtB;AACF","ignoreList":[]}