@ovok/native 1.16.1-dev.2177 → 1.16.1-dev.2181

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 (47) hide show
  1. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +10 -0
  2. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +8 -7
  4. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +18 -3
  6. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js +26 -0
  8. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js.map +1 -0
  9. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +3 -0
  10. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +24 -8
  12. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  13. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +10 -0
  14. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  15. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +8 -7
  16. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  17. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +18 -3
  18. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  19. package/lib/module/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js +22 -0
  20. package/lib/module/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.js.map +1 -0
  21. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +3 -0
  22. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  23. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +24 -8
  24. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  25. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  26. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  27. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +2 -1
  28. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  29. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts +12 -0
  30. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts.map +1 -0
  31. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -0
  32. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +10 -0
  35. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  36. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  37. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  38. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +2 -1
  39. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  40. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts +12 -0
  41. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.record-saved-watch.d.ts.map +1 -0
  42. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -0
  43. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  44. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  45. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +10 -0
  46. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  47. package/package.json +1 -1
@@ -13,6 +13,8 @@ const HEX_BYTE = /^[0-9a-f]{2}$/;
13
13
  const MAX_OPCODE = 0xff;
14
14
  const MAX_DEVICE_TYPE = 0xffff;
15
15
  const MAX_POLL_INTERVAL_MS = 6_000_000;
16
+ const MAX_FRAME_INDEX = 0xffff;
17
+ const MAX_NIBBLE = 0x0f;
16
18
  const ECG_FILE_DECODERS = ["viatom-compressed", "raw-int16"];
17
19
  const assertFileTransfer = (id, fileTransfer) => {
18
20
  if (fileTransfer === undefined) {
@@ -86,6 +88,10 @@ const assertPollCommand = (id, lepu) => {
86
88
  return pollCommand === undefined ? undefined : (0, _assertIntegerInRange.assertIntegerInRange)(id, "lepu.pollCommand", pollCommand, [0, MAX_OPCODE], `is ${String(pollCommand)}; an opcode is a whole number between 0 and ${MAX_OPCODE}`);
87
89
  };
88
90
  const assertPollInterval = (id, interval) => interval === undefined ? undefined : (0, _assertIntegerInRange.assertIntegerInRange)(id, "lepu.pollIntervalMs", interval, [0, MAX_POLL_INTERVAL_MS], `is ${String(interval)}; it must be a whole number between 0 and ${MAX_POLL_INTERVAL_MS}`);
91
+ const assertRecordSavedStatus = (id, status) => status === undefined ? undefined : {
92
+ byteIndex: (0, _assertIntegerInRange.assertIntegerInRange)(id, "lepu.recordSavedStatus.byteIndex", status.byteIndex, [0, MAX_FRAME_INDEX], `is ${String(status.byteIndex)}; it must be a byte index between 0 and ${MAX_FRAME_INDEX}`),
93
+ state: (0, _assertIntegerInRange.assertIntegerInRange)(id, "lepu.recordSavedStatus.state", status.state, [0, MAX_NIBBLE], `is ${String(status.state)}; a low-nibble state is a whole number between 0 and ${MAX_NIBBLE}`)
94
+ };
89
95
 
90
96
  /**
91
97
  * Validates the Lepu declaration and normalises its UUIDs.
@@ -108,6 +114,7 @@ const compileCustomLepu = (id, spec, serviceUuids) => {
108
114
  const expectedDeviceTypes = assertDeviceTypes(id, lepu.expectedDeviceTypes);
109
115
  const pollCommand = assertPollCommand(id, lepu);
110
116
  const pollIntervalMs = assertPollInterval(id, lepu.pollIntervalMs);
117
+ const recordSavedStatus = assertRecordSavedStatus(id, lepu.recordSavedStatus);
111
118
  const fileTransfer = assertFileTransfer(id, lepu.fileTransfer);
112
119
  const ecgFileDecoder = lepu.ecgFileDecoder;
113
120
  if (ecgFileDecoder !== undefined && !ECG_FILE_DECODERS.includes(ecgFileDecoder)) {
@@ -147,6 +154,9 @@ const compileCustomLepu = (id, spec, serviceUuids) => {
147
154
  ...(pollIntervalMs === undefined ? {} : {
148
155
  pollIntervalMs
149
156
  }),
157
+ ...(recordSavedStatus === undefined ? {} : {
158
+ recordSavedStatus
159
+ }),
150
160
  ...(lepu.writeWithoutResponse === undefined ? {} : {
151
161
  writeWithoutResponse: Boolean(lepu.writeWithoutResponse)
152
162
  }),
@@ -1 +1 @@
1
- {"version":3,"names":["_assertIntegerInRange","require","_customDeviceError","_normalizeBleUuid","HEX_BYTE","MAX_OPCODE","MAX_DEVICE_TYPE","MAX_POLL_INTERVAL_MS","ECG_FILE_DECODERS","assertFileTransfer","id","fileTransfer","undefined","customDeviceError","String","assertProtocol","protocol","assertClockSyncProtocol","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","assertIntegerInRange","assertPollInterval","interval","compileCustomLepu","spec","serviceUuids","services","some","service","write","clockSyncProtocol","expectedDeviceTypes","pollIntervalMs","ecgFileDecoder","includes","requestStartByte","serviceUuid","normalizeBleUuid","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_assertIntegerInRange","require","_customDeviceError","_normalizeBleUuid","HEX_BYTE","MAX_OPCODE","MAX_DEVICE_TYPE","MAX_POLL_INTERVAL_MS","MAX_FRAME_INDEX","MAX_NIBBLE","ECG_FILE_DECODERS","assertFileTransfer","id","fileTransfer","undefined","customDeviceError","String","assertProtocol","protocol","assertClockSyncProtocol","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","assertIntegerInRange","assertPollInterval","interval","assertRecordSavedStatus","status","byteIndex","state","compileCustomLepu","spec","serviceUuids","services","some","service","write","clockSyncProtocol","expectedDeviceTypes","pollIntervalMs","recordSavedStatus","ecgFileDecoder","includes","requestStartByte","serviceUuid","normalizeBleUuid","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
15
15
  var _lepuEcgTransfer = require("../lepu/lepu.ecg-transfer.js");
16
16
  var _lepuEncryptionHandshake = require("../lepu/lepu.encryption-handshake.js");
17
17
  var _lepuFrameReader = require("../lepu/lepu.frame-reader.js");
18
+ var _lepuRecordSavedWatch = require("../lepu/lepu.record-saved-watch.js");
18
19
  var _lepuSession = require("../lepu/lepu.session.js");
19
20
  var _tmbCommandSequencer = require("../tmb/tmb.command-sequencer.js");
20
21
  var _tmbFrameReader = require("../tmb/tmb.frame-reader.js");
@@ -23,6 +24,9 @@ var _viatomEcgFiles = require("../viatom/viatom.ecg-files.js");
23
24
  var _customLepuSequencer = require("./custom-lepu-sequencer.js");
24
25
  /* eslint-disable max-lines */
25
26
 
27
+ /** ECG files are read again only on the poll answer that says a record was just saved. */
28
+ const recordSavedTrigger = lepu => lepu.recordSavedStatus ? new _lepuRecordSavedWatch.LepuRecordSavedWatch(lepu.recordSavedStatus).hasJustSaved : () => false;
29
+
26
30
  /**
27
31
  * Runs a device registered with defineCustomDevice.
28
32
  *
@@ -120,13 +124,9 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
120
124
  onFile: lepu.fileTransfer === "ecg" ? this.reportViatomEcgFile : lepu.fileTransfer === "bp2" ? this.reportViatomBp2File : this.reportViatomBp3File,
121
125
  skipFiles: lepu.fileTransfer === "bp3" ? undefined : this.deliveredFileNames,
122
126
  acceptFile: lepu.fileTransfer === "ecg" ? name => lepu.ecgFileDecoder !== undefined && /^R/i.test(name) : lepu.fileTransfer === "bp3" ? name => /^bp\.list$/i.test(name) : undefined,
123
- pollCommand: lepu.fileTransfer === "ecg" ? undefined : lepu.pollCommand,
124
- pollIntervalMs: lepu.fileTransfer === "ecg" ? undefined : lepu.pollIntervalMs,
125
- afterTransfer: lepu.fileTransfer === "ecg" && lepu.pollCommand ? () => [{
126
- serviceUuid: lepu.write.serviceUuid,
127
- characteristicUuid: lepu.write.characteristicUuid,
128
- frame: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
129
- }] : undefined,
127
+ pollCommand: lepu.pollCommand,
128
+ pollIntervalMs: lepu.pollIntervalMs,
129
+ shouldStartTransfer: lepu.fileTransfer === "ecg" ? recordSavedTrigger(lepu) : undefined,
130
130
  onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`)),
131
131
  onProgress: progress => this.onConnectionEvent?.({
132
132
  deviceData: this.deviceData,
@@ -158,6 +158,7 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
158
158
  }) : sequencer;
159
159
  reportViatomEcgFile = file => {
160
160
  const decoded = (0, _viatomEcgFiles.decodeViatomEcgRecording)(file.content);
161
+ this.deliveredFileNames.add(file.name);
161
162
  if (decoded.samples.length === 0) {
162
163
  this.onError?.(new Error(`Viatom ECG: file "${file.name}" does not decode to its recorded length.`));
163
164
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_next","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_bp2Files","_btManagedDevice","_lepuCommandBuilder","_lepuEcgTransfer","_lepuEncryptionHandshake","_lepuFrameReader","_lepuSession","_tmbCommandSequencer","_tmbFrameReader","_viatomBp3Files","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","lepuSession","LepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","selectLepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","createFrameValidator","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","TmbFrameReader","TmbCommandSequencer","protocol","LepuFrameReader","startBytes","fileTransfer","clear","withEncryption","LepuEcgTransferSequencer","characteristicUuid","builder","LepuCommandBuilder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","createLepuSequencer","sequencer","withLepuEncryption","session","startByte","file","decoded","decodeViatomEcgRecording","content","samples","length","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","decodeBP2File","reportHistoryOnce","decodeViatomBp3File","has","add","info","recordLepuIdentity","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","parseMeasurement","discard","reportMeasurement","discardedReadingError","parsedFields","rejectCustomReading","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_next","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_bp2Files","_btManagedDevice","_lepuCommandBuilder","_lepuEcgTransfer","_lepuEncryptionHandshake","_lepuFrameReader","_lepuRecordSavedWatch","_lepuSession","_tmbCommandSequencer","_tmbFrameReader","_viatomBp3Files","_viatomEcgFiles","_customLepuSequencer","recordSavedTrigger","lepu","recordSavedStatus","LepuRecordSavedWatch","hasJustSaved","CustomDevice","BTManagedDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","lepuSession","LepuSession","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","selectLepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","createFrameValidator","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","TmbFrameReader","TmbCommandSequencer","protocol","LepuFrameReader","startBytes","fileTransfer","clear","withEncryption","LepuEcgTransferSequencer","characteristicUuid","builder","LepuCommandBuilder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","shouldStartTransfer","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","createLepuSequencer","sequencer","withLepuEncryption","session","startByte","file","decoded","decodeViatomEcgRecording","content","add","samples","length","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagramPoints","duration","recordedAt","recordedAtFromViatomFileName","recordingId","decodeBP2File","reportHistoryOnce","decodeViatomBp3File","has","info","recordLepuIdentity","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","parseMeasurement","discard","reportMeasurement","discardedReadingError","parsedFields","rejectCustomReading","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AAgBA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAIA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;AAEA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,wBAAA,GAAAT,OAAA;AAEA,IAAAU,gBAAA,GAAAV,OAAA;AAEA,IAAAW,qBAAA,GAAAX,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AACA,IAAAa,oBAAA,GAAAb,OAAA;AACA,IAAAc,eAAA,GAAAd,OAAA;AACA,IAAAe,eAAA,GAAAf,OAAA;AACA,IAAAgB,eAAA,GAAAhB,OAAA;AAKA,IAAAiB,oBAAA,GAAAjB,OAAA;AA7CA;;AA4DA;AACA,MAAMkB,kBAAkB,GACtBC,IAAoB,IAEpBA,IAAI,CAACC,iBAAiB,GAClB,IAAIC,0CAAoB,CAACF,IAAI,CAACC,iBAAiB,CAAC,CAACE,YAAY,GAC7D,MAAM,KAAK;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAY,SAASC,gCAAe,CAAiB;EAOxDC,kBAAkB,GAAG,IAAIC,GAAG,CAAS,CAAC;EAC7BC,UAAU,GAAG,IAAIC,GAAG,CAAsC,CAAC;EAE3DC,iBAAiB,GAAG,IAAID,GAAG,CAA2B,CAAC;EACvDE,WAAW,GAAG,IAAIC,wBAAW,CAAC,CAAC;EAGhDC,WAAWA,CACTC,MAAc,EACdC,MAA0C,EAC1CC,UAAkC,EAClC;IACA,KAAK,CAACF,MAAM,EAAE;MACZ,GAAGC,MAAM;MACTE,uBAAuB,EACrBF,MAAM,CAACE,uBAAuB,IAAID,UAAU,CAACC;IACjD,CAAC,CAAC;IAEF,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACE,YAAY,GAAGF,UAAU,CAACG,kBAAkB,GAAG,CAAC;IACrD,IAAI,CAACC,aAAa,GAAGJ,UAAU,CAACI,aAAa;IAC7C,IAAI,CAACC,UAAU,CAACC,SAAS,GAAGN,UAAU,CAACM,SAAS;IAChD,IAAI,CAACC,kBAAkB,GAAG,IAAIhB,GAAG,CAAC,CAChC,IAAIQ,MAAM,CAACS,qBAAqB,IAAI,EAAE,CAAC,EACvC,IAAIT,MAAM,CAACQ,kBAAkB,IAAI,EAAE,CAAC,CACrC,CAAC;IACF,MAAME,YAAY,GAAGT,UAAU,CAAChB,IAAI,GAChC,IAAA0B,+BAAU,EAACV,UAAU,CAAChB,IAAI,EAAEc,MAAM,CAACa,gBAAgB,IAAIC,SAAS,CAAC,GACjEA,SAAS;IAEb,IAAI,CAACC,YAAY,GACfJ,YAAY,EAAEK,wBAAwB,KAAK,eAAe,GACtDd,UAAU,CAACa,YAAY,CAACE,MAAM,CAC3BC,OAAO,IAAKA,OAAO,CAACC,IAAI,KAAKR,YAAY,CAACS,KAAK,CAACC,WACnD,CAAC,GACDnB,UAAU,CAACa,YAAY;IAC7B,IAAI,CAACO,WAAW,GAAGpB,UAAU,CAACoB,WAAW;IACzC,IAAI,CAACC,gBAAgB,GAAGrB,UAAU,CAACqB,gBAAgB;IACnD,IAAI,CAACC,kBAAkB,GAAGtB,UAAU,CAACsB,kBAAkB,KAAK,IAAI;IAChE,IAAI,CAACC,gBAAgB,GAAGvB,UAAU,CAACM,SAAS,KAAK,SAAS;IAE1D,IAAIN,UAAU,CAACwB,YAAY,KAAKZ,SAAS,EAAE;MACzC,IAAI,CAACY,YAAY,GAAGxB,UAAU,CAACwB,YAAY;IAC7C;IAEA,IAAI,CAACC,mBAAmB,CAACzB,UAAU,EAAED,MAAM,CAACO,SAAS,CAAC;IACtD,IAAI,CAACoB,kBAAkB,CAAC1B,UAAU,EAAED,MAAM,CAACO,SAAS,CAAC;IACrD,IAAI,CAACqB,uBAAuB,CAAC3B,UAAU,EAAED,MAAM,CAAC;IAEhDC,UAAU,CAAC4B,MAAM,CAACC,OAAO,CAAC,CAACC,KAAK,EAAEb,IAAI,KAAK;MACzC,IAAI,CAACzB,UAAU,CAACuC,GAAG,CAACd,IAAI,EAAE,IAAAe,0CAAoB,EAACF,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;EACJ;;EAEA;EACQH,uBAAuBA,CAC7B3B,UAAkC,EAClCD,MAA0C,EACpC;IACN,MAAMkC,MAAM,GAAGjC,UAAU,CAACkC,sBAAsB;IAEhD,IAAI,CAACD,MAAM,EAAE;MACX;IACF;IAEA,IAAI,CAACC,sBAAsB,GAAG,MAC5BD,MAAM,CAAC;MACLE,QAAQ,EAAE,IAAI,CAACrC,MAAM,CAACsC,EAAE;MACxBC,mBAAmB,EAAEtC,MAAM,CAACsC;IAC9B,CAAC,CAAC;EACN;;EAEA;EACQX,kBAAkBA,CACxB1B,UAAkC,EAClCM,SAA0D,EACpD;IACN,MAAMgC,GAAG,GAAGtC,UAAU,CAACsC,GAAG;IAE1B,IAAI,CAACA,GAAG,EAAE;MACR;IACF;IAEA,IAAI,CAAClB,WAAW,GAAG,IAAImB,8BAAc,CAAC,CAAC;IACvC,IAAI,CAACL,sBAAsB,GAAG,MAC5B,IAAIM,wCAAmB,CAAC;MACtBC,QAAQ,EAAEH,GAAG;MACbhC;IACF,CAAC,CAAC;EACN;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACUmB,mBAAmBA,CACzBzB,UAAkC,EAClCM,SAA0D,EACpD;IACN,MAAMtB,IAAI,GAAGgB,UAAU,CAAChB,IAAI;IAE5B,IAAI,CAACA,IAAI,EAAE;MACT;IACF;IAEA,IAAI,CAACoC,WAAW,GAAG,IAAIsB,gCAAe,CAAC1D,IAAI,CAAC2D,UAAU,EAAE,IAAI,CAAChD,WAAW,CAAC;IAEzE,IAAI,CAACuC,sBAAsB,GAAG,MAAM;MAClC,IAAIlD,IAAI,CAAC4D,YAAY,KAAKhC,SAAS,EAAE;QACnC,IAAI,CAACtB,kBAAkB,CAACuD,KAAK,CAAC,CAAC;QAE/B,OAAO,IAAI,CAACC,cAAc,CAAC9D,IAAI,EAAE,IAAI+D,yCAAwB,CAAC;UAC5D7B,KAAK,EAAE;YACLC,WAAW,EAAEnC,IAAI,CAACkC,KAAK,CAACC,WAAW;YACnC6B,kBAAkB,EAAEhE,IAAI,CAACkC,KAAK,CAAC8B;UACjC,CAAC;UACDC,OAAO,EAAE,IAAIC,sCAAkB,CAAClE,IAAI,CAAC2D,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;UAC3DrC,SAAS;UACTK,gBAAgB,EAAE,IAAI,CAACb,MAAM,CAACa,gBAAgB,IAAIC,SAAS;UAC3DuC,uBAAuB,EAAEnE,IAAI,CAACmE,uBAAuB;UACrDC,mBAAmB,EAAEpE,IAAI,CAACoE,mBAAmB;UAC7CC,YAAY,EAAE,IAAI,CAACA,YAAY;UAC/BC,SAAS,EAAE,IAAI,CAACC,iBAAiB;UACjCC,MAAM,EACJxE,IAAI,CAAC4D,YAAY,KAAK,KAAK,GACvB,IAAI,CAACa,mBAAmB,GACxBzE,IAAI,CAAC4D,YAAY,KAAK,KAAK,GACzB,IAAI,CAACc,mBAAmB,GACxB,IAAI,CAACC,mBAAmB;UAChCC,SAAS,EACP5E,IAAI,CAAC4D,YAAY,KAAK,KAAK,GAAGhC,SAAS,GAAG,IAAI,CAACL,kBAAkB;UACnEsD,UAAU,EACR7E,IAAI,CAAC4D,YAAY,KAAK,KAAK,GACtBkB,IAAI,IACH9E,IAAI,CAAC+E,cAAc,KAAKnD,SAAS,IAAI,KAAK,CAACoD,IAAI,CAACF,IAAI,CAAC,GACvD9E,IAAI,CAAC4D,YAAY,KAAK,KAAK,GACxBkB,IAAI,IAAK,aAAa,CAACE,IAAI,CAACF,IAAI,CAAC,GAClClD,SAAS;UACjBqD,WAAW,EAAEjF,IAAI,CAACiF,WAAW;UAC7BC,cAAc,EAAElF,IAAI,CAACkF,cAAc;UACnCC,mBAAmB,EACjBnF,IAAI,CAAC4D,YAAY,KAAK,KAAK,GAAG7D,kBAAkB,CAACC,IAAI,CAAC,GAAG4B,SAAS;UACpEwD,OAAO,EAAGC,MAAM,IACd,IAAI,CAACD,OAAO,GAAG,IAAIE,KAAK,CAAC,eAAeD,MAAM,EAAE,CAAC,CAAC;UACpDE,UAAU,EAAGC,QAAQ,IACnB,IAAI,CAACC,iBAAiB,GAAG;YACvBpE,UAAU,EAAE,IAAI,CAACA,UAAU;YAC3BqE,IAAI,EAAE,kBAAkB;YACxBF,QAAQ,EAAE;cACRG,OAAO,EAAEH,QAAQ,CAACI,aAAa;cAC/BC,KAAK,EAAEL,QAAQ,CAACM;YAClB;UACF,CAAC;QACL,CAAC,CAAC,CAAC;MACL;MAEA,OAAO,IAAI,CAAChC,cAAc,CACxB9D,IAAI,EACJ,IAAA+F,wCAAmB,EACjB/F,IAAI,EACJ;QACEqE,YAAY,EAAE,IAAI,CAACA,YAAY;QAC/BC,SAAS,EAAE,IAAI,CAACC;MAClB,CAAC,EACDjD,SAAS,EACT,IAAI,CAACR,MAAM,CAACa,gBAAgB,IAAIC,SAClC,CACF,CAAC;IACH,CAAC;EACH;;EAEA;EACQkC,cAAc,GAAGA,CACvB9D,IAAoB,EACpBgG,SAAsD,KAEtDhG,IAAI,CAACyD,QAAQ,KAAK7B,SAAS,GACvB,IAAAqE,2CAAkB,EAACD,SAAS,EAAE;IAC5B9D,KAAK,EAAE;MACLC,WAAW,EAAEnC,IAAI,CAACkC,KAAK,CAACC,WAAW;MACnC6B,kBAAkB,EAAEhE,IAAI,CAACkC,KAAK,CAAC8B;IACjC,CAAC;IACDkC,OAAO,EAAE,IAAI,CAACvF,WAAW;IACzBgB,gBAAgB,EAAE,IAAI,CAACb,MAAM,CAACa,gBAAgB,IAAIC,SAAS;IAC3DuE,SAAS,EAAEnG,IAAI,CAAC2D,UAAU,CAAC,CAAC,CAAC;IAC7BW,SAAS,EAAE,IAAI,CAACC;EAClB,CAAC,CAAC,GACFyB,SAAS;EAEPvB,mBAAmB,GAAI2B,IAAc,IAAW;IACtD,MAAMC,OAAO,GAAG,IAAAC,wCAAwB,EAACF,IAAI,CAACG,OAAO,CAAC;IAEtD,IAAI,CAAChF,kBAAkB,CAACiF,GAAG,CAACJ,IAAI,CAACtB,IAAI,CAAC;IAEtC,IAAIuB,OAAO,CAACI,OAAO,CAACC,MAAM,KAAK,CAAC,EAAE;MAChC,IAAI,CAACtB,OAAO,GACV,IAAIE,KAAK,CACP,qBAAqBc,IAAI,CAACtB,IAAI,2CAChC,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAAC6B,QAAQ,GAAG;MACdC,kBAAkB,EAAEC,wBAAkB,CAACC,GAAG;MAC1CC,QAAQ,EAAEC,kBAAQ,CAACC,MAAM;MACzBC,aAAa,EAAEb,OAAO,CAACI,OAAO;MAC9BU,QAAQ,EAAEd,OAAO,CAACc,QAAQ;MAC1BC,UAAU,EAAE,IAAAC,4CAA4B,EAACjB,IAAI,CAACtB,IAAI,CAAC;MACnDwC,WAAW,EAAElB,IAAI,CAACtB;IACpB,CAA4B,CAAC;EAC/B,CAAC;EAEOJ,mBAAmB,GAAI0B,IAAc,IAAW;IACtD,MAAMC,OAAO,GAAG,IAAAkB,uBAAa,EAACnB,IAAI,CAACtB,IAAI,EAAEsB,IAAI,CAACG,OAAO,CAAC;IAEtD,IAAIF,OAAO,EAAE;MACX,IAAI,CAACmB,iBAAiB,CAACnB,OAAO,CAAC;IACjC;EACF,CAAC;EAEO1B,mBAAmB,GAAIyB,IAAc,IAAW;IACtD,IAAAqB,mCAAmB,EAACrB,IAAI,CAACtB,IAAI,EAAEsB,IAAI,CAACG,OAAO,CAAC,EAAE1D,OAAO,CAAEwD,OAAO,IAAK;MACjE,IAAI,CAAC,IAAI,CAAC9E,kBAAkB,CAACmG,GAAG,CAACrB,OAAO,CAACiB,WAAW,CAAC,EAAE;QACrD,IAAI,CAACE,iBAAiB,CAACnB,OAAO,CAAC;MACjC;IACF,CAAC,CAAC;EACJ,CAAC;;EAED;EACQmB,iBAAiB,GAAInB,OAAgC,IAAW;IACtE,IAAI,IAAI,CAAC/F,kBAAkB,CAACoH,GAAG,CAACrB,OAAO,CAACiB,WAAW,CAAC,EAAE;MACpD;IACF;IAEA,IAAI,CAAChH,kBAAkB,CAACkG,GAAG,CAACH,OAAO,CAACiB,WAAW,CAAC;IAChD,IAAI,CAACX,QAAQ,GAAG;MACd,GAAGN,OAAO;MACVU,QAAQ,EAAEC,kBAAQ,CAACC;IACrB,CAA4B,CAAC;EAC/B,CAAC;EAEO5C,YAAY,GAAIsD,IAAoB,IAC1C,IAAAC,uCAAkB,EAAC,IAAI,CAACvG,UAAU,EAAEsG,IAAI,CAAC;EAEnCpD,iBAAiB,GAAIc,MAAc,IAAW;IACpD,IAAI,CAACD,OAAO,GACV,IAAIE,KAAK,CACP,kBAAkB,IAAI,CAACtE,UAAU,CAACoC,EAAE,wBAAwBiC,MAAM,GACpE,CACF,CAAC;EACH,CAAC;EAESwC,eAAe,GAAGA,CAACC,GAAa,EAAE7F,IAAY,KAAc;IACpE,MAAM8F,QAAQ,GAAG,IAAI,CAACvH,UAAU,CAACwH,GAAG,CAACC,MAAM,CAAChG,IAAI,IAAI,EAAE,CAAC,CAACiG,WAAW,CAAC,CAAC,CAAC;IAEtE,IAAI,CAACH,QAAQ,EAAE;MACb,OAAO,KAAK;IACd;IAEA,OAAOA,QAAQ,CAACD,GAAG,CAAC;EACtB,CAAC;;EAED;AACF;AACA;AACA;AACA;EACYK,qBAAqB,GAC7BC,IAAuD,IACD;IACtD,IAAI;MACF,IAAIA,IAAI,CAACC,WAAW,CAACC,cAAc,IAAI,CAACF,IAAI,CAACG,WAAW,EAAE;QACxD,OAAO;UACL,GAAGH,IAAI;UACPC,WAAW,EAAE;YAAE,GAAGD,IAAI,CAACC,WAAW;YAAEtB,QAAQ,EAAEC,kBAAQ,CAACwB;UAAM;QAC/D,CAAC;MACH;MAEA,IAAI,CAACC,WAAW,CACdL,IAAI,CAACM,UAAU,EACfN,IAAI,CAACC,WAAW,EAChBD,IAAI,CAACtF,KAAK,IAAI,EAAE,EAChBsF,IAAI,CAACG,WAAW,KAAK,IACvB,CAAC;MAED,IAAIH,IAAI,CAACC,WAAW,CAACM,WAAW,EAAE;QAChC,OAAO;UACL,GAAGP,IAAI;UACPC,WAAW,EAAE;YAAE,GAAGD,IAAI,CAACC,WAAW;YAAEtB,QAAQ,EAAEC,kBAAQ,CAACwB;UAAM;QAC/D,CAAC;MACH;MAEA,IAAI,IAAI,CAACpH,aAAa,EAAE;QACtB,IAAI,CAACwH,oBAAoB,CAACR,IAAI,CAAC;QAE/B,OAAO;UACL,GAAGA,IAAI;UACPC,WAAW,EAAE;YAAE,GAAGD,IAAI,CAACC,WAAW;YAAEtB,QAAQ,EAAEC,kBAAQ,CAAC6B;UAAO;QAChE,CAAC;MACH;MAEA,IAAI,IAAI,CAACC,2BAA2B,CAACV,IAAI,CAAC,EAAE;QAC1C,IAAI,CAACW,WAAW,CAACX,IAAI,CAAC;MACxB;IACF,CAAC,CAAC,OAAOY,KAAK,EAAE;MACd,IAAI,CAAC5D,OAAO,GAAG4D,KAAc,CAAC;IAChC;IAEA,OAAO;MACL,GAAGZ,IAAI;MACPC,WAAW,EAAE;QAAE,GAAGD,IAAI,CAACC,WAAW;QAAEtB,QAAQ,EAAEC,kBAAQ,CAACwB;MAAM;IAC/D,CAAC;EACH,CAAC;;EAED;EACUM,2BAA2B,GACnCG,KAAwD,IAC5C,IAAI;;EAElB;AACF;AACA;AACA;EACYC,mBAAmBA,CAC3BC,aAA2B,EAC3BC,eAAyB,EACT;IAChB,IAAI,CAACX,WAAW,CAACU,aAAa,EAAEvH,SAAS,EAAEwH,eAAe,EAAE,IAAI,CAAC;IAEjE;EACF;EAEQX,WAAWA,CACjBC,UAAwB,EACxBL,WAAoC,EACpCvF,KAAwB,EACxByF,WAAoB,EACd;IACN,IAAI,CAACrH,YAAY,GAAG;MAClBwH,UAAU;MACVL,WAAW;MACXvF,KAAK;MACLyF,WAAW;MACXc,IAAI,EAAGC,OAAO,IACZ,IAAI,CAAC3C,QAAQ,GAAG;QACd,GAAG2C,OAAO;QACVvC,QAAQ,EAAEC,kBAAQ,CAACC;MACrB,CAAiB;IACrB,CAAC,CAAC;EACJ;;EAEA;EACUsC,oBAAoBA,CAAA,EAAS;IACrC,MAAMC,MAAM,GAAG,IAAI,CAACpI,aAAa;IAEjC,IAAI,CAACoI,MAAM,EAAE;MACX;IACF;IAEA,MAAMC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC/I,iBAAiB,CAACgJ,MAAM,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAChJ,iBAAiB,CAACmD,KAAK,CAAC,CAAC;IAC9B,MAAMuD,UAAU,GAAG,IAAI,CAACuC,gBAAgB;IAExC,IAAI,CAACA,gBAAgB,GAAG/H,SAAS;IAEjC,IAAI,CAACwF,UAAU,IAAIoC,MAAM,CAACH,IAAI,KAAK,MAAM,EAAE;MACzC;IACF;IAEAI,UAAU,CAAC5G,OAAO,CAAE+G,SAAS,IAAK;MAChC,IAAIA,SAAS,CAACC,KAAK,GAAGL,MAAM,CAACM,UAAU,EAAE;QACvC;MACF;MAEA,MAAMC,OAAO,GAAG;QACd,GAAGH,SAAS,CAACI,MAAM;QACnB,GAAGC,MAAM,CAACC,WAAW,CACnB,CAAC,GAAGN,SAAS,CAACO,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAACvF,IAAI,EAAEe,KAAK,CAAC,KAAK,CACnDf,IAAI,EACJ,IAAI,CAACwF,cAAc,CACjBV,SAAS,CAACI,MAAM,CAACpD,kBAAkB,EACnC9B,IAAI,EACJe,KAAK,GAAG+D,SAAS,CAACC,KACpB,CAAC,CACF,CACH,CAAC;QACD9C,QAAQ,EAAEC,kBAAQ,CAACC,MAAM;QACzBG;MACF,CAA4B;MAE5B,IAAI,CAACiC,IAAI,CAAC,IAAI,CAACkB,eAAe,CAACR,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC;EACJ;EAEQO,cAAcA,CACpB1D,kBAAsC,EACtC9B,IAAY,EACZ0F,KAAa,EACL;IACR,MAAMC,QAAQ,GAAG,IAAI,CAACzJ,UAAU,CAAC0J,MAAM,CAAC1C,GAAG,CACzC,GAAGpB,kBAAkB,IAAI9B,IAAI,EAC/B,CAAC,EAAE2F,QAAQ;IAEX,OAAOA,QAAQ,KAAK7I,SAAS,GACzB+I,IAAI,CAACC,KAAK,CAACJ,KAAK,CAAC,GACjBK,MAAM,CAACL,KAAK,CAACM,OAAO,CAACL,QAAQ,CAAC,CAAC;EACrC;;EAEA;EACQ7B,oBAAoBA,CAC1BR,IAAuD,EACjD;IACN,MAAM2C,YAAY,GAAG3C,IAAI,CAACC,WAAW,CAAC0C,YAAY,IAAI,EAAE;IACxD,MAAMC,eAAe,GAAG,IAAI,CAACrB,gBAAgB,IAAI,IAAIsB,IAAI,CAAC,CAAC;IAE3DF,YAAY,CAAClI,OAAO,CAAEqI,WAAW,IAAK;MACpC,MAAM5B,OAAO,GAAG,IAAI,CAAC6B,iBAAiB,CAAC/C,IAAI,CAACM,UAAU,EAAEwC,WAAW,CAAC;MACpE,MAAME,SAAS,GAAG,IAAI,CAACC,oBAAoB,CAAC/B,OAAO,EAAE4B,WAAW,CAAC;;MAEjE;MACA;MACA,IAAIE,SAAS,EAAE;QACb;MACF;;MAEA;MACA,IAAI,IAAI,CAACE,SAAS,CAACJ,WAAW,CAACtE,kBAAkB,CAAC,KAAK,QAAQ,EAAE;QAC/D,IAAI,CAACD,QAAQ,GAAG2C,OAAO,CAAC;QAExB;MACF;MAEA,MAAMiC,GAAG,GAAGtD,MAAM,CAACiD,WAAW,CAACtE,kBAAkB,CAAC;MAClD,MAAM4E,QAAQ,GAAG,IAAI,CAAC9K,iBAAiB,CAACsH,GAAG,CAACuD,GAAG,CAAC;MAChD,MAAMpB,IAAI,GAAGqB,QAAQ,EAAErB,IAAI,IAAI,IAAI1J,GAAG,CAAiB,CAAC;MACxD,MAAMgL,aAAa,GAAGnC,OAAiD;MAEvE4B,WAAW,CAACQ,UAAU,CAAC7I,OAAO,CAAEiC,IAAI,IAAK;QACvC,MAAM0F,KAAK,GAAGiB,aAAa,CAAC3G,IAAI,CAAC;QAEjC,IAAI,OAAO0F,KAAK,KAAK,QAAQ,EAAE;UAC7BL,IAAI,CAACpH,GAAG,CAAC+B,IAAI,EAAE,CAACqF,IAAI,CAACnC,GAAG,CAAClD,IAAI,CAAC,IAAI,CAAC,IAAI0F,KAAK,CAAC;QAC/C;MACF,CAAC,CAAC;MAEF,IAAI,CAAC9J,iBAAiB,CAACqC,GAAG,CAACwI,GAAG,EAAE;QAC9B1B,KAAK,EAAE,CAAC2B,QAAQ,EAAE3B,KAAK,IAAI,CAAC,IAAI,CAAC;QACjCG,MAAM,EAAEwB,QAAQ,EAAExB,MAAM,IAAIV,OAAO;QACnCa;MACF,CAAC,CAAC;MACF,IAAI,CAACR,gBAAgB,KAAKqB,eAAe;IAC3C,CAAC,CAAC;EACJ;;EAEA;EACUT,eAAe,GAAGA,CAC1BjB,OAAqB,EACrBxG,KAAyB,EACzB6I,YAAqB,KACG;IACxB,MAAMC,QAAQ,GAAG,IAAI,CAAC5K,UAAU,CAACuJ,eAAe;IAEhD,OAAOqB,QAAQ,GACVA,QAAQ,CAACtC,OAAO,EAAExG,KAAK,EAAE6I,YAAY,CAAC,GACvCrC,OAAO;EACb,CAAC;EAEOD,IAAIA,CAACC,OAA4B,EAAQ;IAC/C,IAAIA,OAAO,EAAE;MACX,IAAI,CAAC3C,QAAQ,GAAG2C,OAAO,CAAC;IAC1B;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACUP,WAAWA,CAACX,IAAuD,EAAE;IAC3E,MAAMyD,QAAQ,GAAGzD,IAAI,CAACC,WAAW,CAACyD,eAAe;IAEjD,IAAI,CAACD,QAAQ,IAAI,CAACzD,IAAI,CAACtF,KAAK,EAAE;MAC5B,IAAI,CAACiJ,MAAM,CAAC3D,IAAI,CAACM,UAAU,EAAEN,IAAI,CAACC,WAAW,EAAED,IAAI,CAACtF,KAAK,CAAC;MAE1D;IACF;IAEA,MAAMkJ,OAAO,GAAGrB,IAAI,CAACsB,KAAK,CACxB,CAAC7D,IAAI,CAACtF,KAAK,CAAC4D,MAAM,GAAGmF,QAAQ,CAACK,IAAI,IAAIL,QAAQ,CAACM,WACjD,CAAC;IAED,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGJ,OAAO,EAAEI,MAAM,EAAE,EAAE;MAC/C,IAAI,CAACL,MAAM,CACT,IAAAM,kCAAgB,EACdjE,IAAI,CAACtF,KAAK,EACVsF,IAAI,CAACC,WAAW,EAChBwD,QAAQ,CAACK,IAAI,GAAGE,MAAM,GAAGP,QAAQ,CAACM,WACpC,CAAC,EACD/D,IAAI,CAACC,WAAW,EAChBD,IAAI,CAACtF,KAAK,EACV+I,QAAQ,CAACK,IAAI,GAAGE,MAAM,GAAGP,QAAQ,CAACM,WACpC,CAAC;IACH;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUJ,MAAMA,CACZrD,UAAwB,EACxBL,WAAwB,EACxBvF,KAAyB,EACzB6I,YAAqB,EACf;IACN,MAAMZ,YAAY,GAAG1C,WAAW,CAAC0C,YAAY,IAAI,EAAE;IAEnD,IAAIA,YAAY,CAACrE,MAAM,KAAK,CAAC,EAAE;MAC7B,IAAI,CAAC4F,OAAO,CAAC,4CAA4C,EAAE5D,UAAU,CAAC;MAEtE;IACF;IAEAqC,YAAY,CAAClI,OAAO,CAAEqI,WAAW,IAC/B,IAAI,CAACqB,iBAAiB,CAAC7D,UAAU,EAAEwC,WAAW,EAAEpI,KAAK,EAAE6I,YAAY,CACrE,CAAC;EACH;EAEQW,OAAOA,CAACjH,MAAc,EAAEqD,UAAwB,EAAQ;IAC9D,IAAI,CAACtD,OAAO,GACV,IAAAoH,0CAAqB,EAAC,IAAI,CAACxL,UAAU,CAACoC,EAAE,EAAEiC,MAAM,EAAEqD,UAAU,CAC9D,CAAC;EACH;EAEQ6D,iBAAiBA,CACvB7D,UAAwB,EACxBwC,WAA6B,EAC7BpI,KAAyB,EACzB6I,YAAqB,EACf;IACN,MAAMrC,OAAO,GAAG,IAAI,CAAC6B,iBAAiB,CAACzC,UAAU,EAAEwC,WAAW,CAAC;IAC/D,MAAME,SAAS,GAAG,IAAI,CAACC,oBAAoB,CAAC/B,OAAO,EAAE4B,WAAW,CAAC;IAEjE,IAAIE,SAAS,EAAE;MACb,IAAI,CAACkB,OAAO,CAAClB,SAAS,EAAE9B,OAAO,CAAC;MAEhC;IACF;IAEA,IAAI,CAACD,IAAI,CAAC,IAAI,CAACkB,eAAe,CAACjB,OAAO,EAAExG,KAAK,EAAE6I,YAAY,CAAC,CAAC;EAC/D;EAEQR,iBAAiBA,CACvBzC,UAAwB,EACxBwC,WAA6B,EACf;IACd,MAAM5B,OAAO,GAAG;MACdvC,QAAQ,EAAE2B,UAAU,CAAC3B,QAAQ;MAC7BH,kBAAkB,EAAEsE,WAAW,CAACtE;IAClC,CAAiB;IAEjB,MAAM6E,aAAa,GAAGnC,OAAiD;IACvE,MAAMmD,YAAY,GAAG/D,UAAoD;IAEzEwC,WAAW,CAACQ,UAAU,CAAC7I,OAAO,CAAEiC,IAAI,IAAK;MACvC2G,aAAa,CAAC3G,IAAI,CAAC,GAAG2H,YAAY,CAAC3H,IAAI,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAOwE,OAAO;EAChB;EAEQ+B,oBAAoBA,CAC1B/B,OAAqB,EACrB4B,WAA6B,EACT;IACpB,OAAOA,WAAW,CAACQ,UAAU,CAC1BrB,GAAG,CAAEvF,IAAI,IACR,IAAA4H,wCAAmB,EACjB,IAAI,CAAC1L,UAAU,CAAC0J,MAAM,EACtBQ,WAAW,CAACtE,kBAAkB,EAC9B9B,IAAI,EACHwE,OAAO,CAA4CxE,IAAI,CAC1D,CACF,CAAC,CACA6H,IAAI,CAAEC,OAAO,IAAKA,OAAO,KAAKhL,SAAS,CAAC;EAC7C;AACF;AAACiL,OAAA,CAAAzM,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -11,6 +11,12 @@ var _lepuFileTransfer = require("./lepu.file-transfer.js");
11
11
  var _lepuFrame = require("./lepu.frame.js");
12
12
  var _lepuIdentityGate = require("./lepu.identity-gate.js");
13
13
  var _lepuResponseType = require("./lepu.response-type.js");
14
+ /** How long past its delay a poll may go unanswered before it is sent again. */
15
+ const POLL_ANSWER_GRACE_MS = 1_000;
16
+
17
+ /** Lets a device finish writing a record before its file list is read. */
18
+ const FILE_LIST_DELAY_MS = 3_000;
19
+
14
20
  /** Identifies a recorder, sets its local clock, then downloads its stored files. */
15
21
  class LepuEcgTransferSequencer {
16
22
  phase = "identity";
@@ -34,6 +40,9 @@ class LepuEcgTransferSequencer {
34
40
  if (this.phase === "identity") {
35
41
  return this.identity.commandTimeoutMs();
36
42
  }
43
+ if (this.phase === "polling" && this.params.pollIntervalMs !== undefined) {
44
+ return this.params.pollIntervalMs + POLL_ANSWER_GRACE_MS;
45
+ }
37
46
  return this.phase === "clock" ? _lepuConnectRetry.LEPU_CONNECT_REPLY_TIMEOUT_MS : undefined;
38
47
  };
39
48
 
@@ -42,6 +51,11 @@ class LepuEcgTransferSequencer {
42
51
  if (this.phase === "identity") {
43
52
  return this.identity.onCommandTimeout();
44
53
  }
54
+ if (this.phase === "polling") {
55
+ return {
56
+ commands: [this.pollCommand()]
57
+ };
58
+ }
45
59
  if (this.phase !== "clock") {
46
60
  return {};
47
61
  }
@@ -53,7 +67,8 @@ class LepuEcgTransferSequencer {
53
67
  if (this.phase === "identity") {
54
68
  return this.identity.commandProgress(frame);
55
69
  }
56
- return this.phase === "clock" && (0, _lepuFrame.lepuCommandOf)(frame) !== _lepuCommands.LepuCommand.SET_TIME ? "ignored" : "complete";
70
+ const awaited = this.phase === "clock" ? _lepuCommands.LepuCommand.SET_TIME : this.phase === "polling" ? this.params.pollCommand : undefined;
71
+ return awaited !== undefined && (0, _lepuFrame.lepuCommandOf)(frame) !== awaited ? "ignored" : "complete";
57
72
  };
58
73
  nextCommand = frame => {
59
74
  if (this.phase === "identity") {
@@ -66,7 +81,7 @@ class LepuEcgTransferSequencer {
66
81
  if (this.params.pollCommand === undefined || (0, _lepuFrame.lepuCommandOf)(frame) !== this.params.pollCommand) {
67
82
  return undefined;
68
83
  }
69
- return this.startTransfer(3_000);
84
+ return this.params.shouldStartTransfer?.(frame) ?? true ? this.startTransfer(FILE_LIST_DELAY_MS) : [this.pollCommand()];
70
85
  }
71
86
  return this.transfer?.nextCommand(frame);
72
87
  };
@@ -111,7 +126,7 @@ class LepuEcgTransferSequencer {
111
126
  this.phase = "polling";
112
127
  return [this.pollCommand()];
113
128
  }
114
- return this.params.afterTransfer?.() ?? [];
129
+ return [];
115
130
  };
116
131
  pollCommand = () => ({
117
132
  ...this.params.write,
@@ -1 +1 @@
1
- {"version":3,"names":["_clockSync","require","_lepuCommands","_lepuConnectRetry","_lepuFileTransfer","_lepuFrame","_lepuIdentityGate","_lepuResponseType","LepuEcgTransferSequencer","phase","clockRetry","LepuConnectRetry","constructor","params","identity","LepuIdentityGate","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","LEPU_CONNECT_REPLY_TIMEOUT_MS","undefined","onCommandTimeout","commands","mayRetry","setTimeCommand","startTransfer","commandProgress","frame","lepuCommandOf","LepuCommand","SET_TIME","nextCommand","finishClock","pollCommand","transfer","isClockSyncEnabled","clockSync","started","build","clockPayload","isLepuSuccess","onError","describeLepuResponseType","delayBeforeWriteMs","LepuFileTransfer","onFile","skipFiles","acceptFile","afterTransfer","finishTransfer","onProgress","pollIntervalMs","exports","parts","getClockParts","now","Date","timezone","year","month","day","hours","minutes","seconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clockSync","require","_lepuCommands","_lepuConnectRetry","_lepuFileTransfer","_lepuFrame","_lepuIdentityGate","_lepuResponseType","POLL_ANSWER_GRACE_MS","FILE_LIST_DELAY_MS","LepuEcgTransferSequencer","phase","clockRetry","LepuConnectRetry","constructor","params","identity","LepuIdentityGate","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","pollIntervalMs","undefined","LEPU_CONNECT_REPLY_TIMEOUT_MS","onCommandTimeout","commands","pollCommand","mayRetry","setTimeCommand","startTransfer","commandProgress","frame","awaited","LepuCommand","SET_TIME","lepuCommandOf","nextCommand","finishClock","shouldStartTransfer","transfer","isClockSyncEnabled","clockSync","started","build","clockPayload","isLepuSuccess","onError","describeLepuResponseType","delayBeforeWriteMs","LepuFileTransfer","onFile","skipFiles","acceptFile","afterTransfer","finishTransfer","onProgress","exports","parts","getClockParts","now","Date","timezone","year","month","day","hours","minutes","seconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LepuRecordSavedWatch = void 0;
7
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
8
+ const LOW_NIBBLE = 0x0f;
9
+ /** Spots the poll answer on which a recorder enters its record-saved state. */
10
+ class LepuRecordSavedWatch {
11
+ wasSaved = false;
12
+ constructor(status) {
13
+ this.status = status;
14
+ }
15
+
16
+ /** True on the first answer in the saved state, false on those that follow it. */
17
+ hasJustSaved = pollAnswer => {
18
+ const runStatus = (0, _hexToByte.hexToByte)(pollAnswer[this.status.byteIndex] ?? "00");
19
+ const isSaved = (runStatus & LOW_NIBBLE) === this.status.state;
20
+ const justSaved = isSaved && !this.wasSaved;
21
+ this.wasSaved = isSaved;
22
+ return justSaved;
23
+ };
24
+ }
25
+ exports.LepuRecordSavedWatch = LepuRecordSavedWatch;
26
+ //# sourceMappingURL=lepu.record-saved-watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hexToByte","require","LOW_NIBBLE","LepuRecordSavedWatch","wasSaved","constructor","status","hasJustSaved","pollAnswer","runStatus","hexToByte","byteIndex","isSaved","state","justSaved","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.record-saved-watch.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEA,MAAMC,UAAU,GAAG,IAAI;AAIvB;AACA,MAAMC,oBAAoB,CAAC;EACjBC,QAAQ,GAAG,KAAK;EAEjBC,WAAWA,CAAkBC,MAAyB,EAAE;IAAA,KAA3BA,MAAyB,GAAzBA,MAAyB;EAAG;;EAEhE;EACOC,YAAY,GAAIC,UAA6B,IAAc;IAChE,MAAMC,SAAS,GAAG,IAAAC,oBAAS,EAACF,UAAU,CAAC,IAAI,CAACF,MAAM,CAACK,SAAS,CAAC,IAAI,IAAI,CAAC;IACtE,MAAMC,OAAO,GAAG,CAACH,SAAS,GAAGP,UAAU,MAAM,IAAI,CAACI,MAAM,CAACO,KAAK;IAC9D,MAAMC,SAAS,GAAGF,OAAO,IAAI,CAAC,IAAI,CAACR,QAAQ;IAE3C,IAAI,CAACA,QAAQ,GAAGQ,OAAO;IAEvB,OAAOE,SAAS;EAClB,CAAC;AACH;AAACC,OAAA,CAAAZ,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -210,6 +210,9 @@ const lepuDevice = params => {
210
210
  ...(params.pollIntervalMs === undefined ? {} : {
211
211
  pollIntervalMs: params.pollIntervalMs
212
212
  }),
213
+ ...(params.recordSavedStatus === undefined ? {} : {
214
+ recordSavedStatus: params.recordSavedStatus
215
+ }),
213
216
  ...(params.writeWithoutResponse === undefined ? {} : {
214
217
  writeWithoutResponse: params.writeWithoutResponse
215
218
  }),
@@ -1 +1 @@
1
- {"version":3,"names":["_preferredMtu","require","_defineCustomDevice","_checkmeProtocol","STANDARD_SERVICE","CHECKME_SERVICE","STANDARD_WRITE","CHECKME_WRITE","STANDARD_NOTIFY","CHECKME_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","exports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","PREFERRED_MTU","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","defineCustomDevice","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_preferredMtu","require","_defineCustomDevice","_checkmeProtocol","STANDARD_SERVICE","CHECKME_SERVICE","STANDARD_WRITE","CHECKME_WRITE","STANDARD_NOTIFY","CHECKME_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","exports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","PREFERRED_MTU","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","defineCustomDevice","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","recordSavedStatus","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":";;;;;;AAEA,IAAAA,aAAA,GAAAC,OAAA;AAUA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAbA;;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,gBAAgB,GAAGC,gCAAe;AACxC,MAAMC,cAAc,GAAGC,8BAAa;AACpC,MAAMC,eAAe,GAAGC,+BAAc;;AAEtC;AACA,MAAMC,WAAW,GAAG,sCAAsC;AAC1D,MAAMC,SAAS,GAAG,sCAAsC;AACxD,MAAMC,UAAU,GAAG,sCAAsC;;AAEzD;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,sCAAsC;AAC3D,MAAMC,UAAU,GAAG,sCAAsC;AACzD,MAAMC,WAAW,GAAG,sCAAsC;;AAE1D;AACA,MAAMC,eAAe,GAAG,sCAAsC;AAC9D,MAAMC,aAAa,GAAG,sCAAsC;AAC5D,MAAMC,cAAc,GAAG,sCAAsC;;AAE7D;AACA;AACA,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA,MAAMC,wBAAwB,GAAG,MAAM;AAEvC,MAAMC,UAAU,GAAG,IAAI;AASvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EACrB;EACAE,QAAQ,EAAE;IACR;IACAC,WAAW,EAAErB,gBAAgB;IAE7B;IACAsB,UAAU,EAAElB,eAAe;IAE3B;IACAmB,SAAS,EAAErB,cAAc;IAEzB;IACAsB,YAAY,EAAEC;EAChB,CAAC;EAED;EACAC,gBAAgB,EAAE;IAChB;IACAL,WAAW,EAAErB,gBAAgB;IAE7B;IACAsB,UAAU,EAAElB,eAAe;IAE3B;IACAmB,SAAS,EAAErB,cAAc;IAEzB;IACAsB,YAAY,EAAET;EAChB,CAAC;EAED;EACAY,GAAG,EAAE;IACH;IACAN,WAAW,EAAEf,WAAW;IAExB;IACAgB,UAAU,EAAEd,UAAU;IAEtB;IACAe,SAAS,EAAEhB,SAAS;IAEpB;IACAiB,YAAY,EAAEC;EAChB,CAAC;EAED;EACAG,IAAI,EAAE;IACJ;IACAP,WAAW,EAAEZ,YAAY;IAEzB;IACAa,UAAU,EAAEX,WAAW;IAEvB;IACAY,SAAS,EAAEb,UAAU;IAErB;IACAc,YAAY,EAAEC;EAChB,CAAC;EAED;EACAI,MAAM,EAAE;IACN;IACAR,WAAW,EAAET,eAAe;IAE5B;IACAU,UAAU,EAAER,cAAc;IAE1B;IACAS,SAAS,EAAEV,aAAa;IAExB;IACAW,YAAY,EAAEC;EAChB;AACF,CAAkD;;AAElD;;AAGA;;AAyGA,MAAMK,YAAY,GAAG,CAAC;;AAEtB;AACA,MAAMC,UAAU,GAAIC,MAAwB,IAA6B;EACvE,MAAMC,SAAS,GAAGf,cAAc,CAACc,MAAM,CAACC,SAAS,IAAI,UAAU,CAAC;EAChE,MAAMC,YAAY,GAAGF,MAAM,CAACG,QAAQ,KAAK,eAAe;EAExD,MAAMC,OAAO,GAAIC,IAWhB,KAAM;IACLC,IAAI,EAAED,IAAI,CAACC,IAAI;IACfC,KAAK,EAAE;MAAEC,cAAc,EAAEH,IAAI,CAACG;IAAe,CAAC;IAC9C,IAAIH,IAAI,CAACI,iBAAiB,KAAKC,SAAS,GACpC,CAAC,CAAC,GACF;MAAED,iBAAiB,EAAEJ,IAAI,CAACI;IAAkB,CAAC,CAAC;IAClDE,KAAK,EAAEN,IAAI,CAACM;EACd,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAG,CACf;IACEN,IAAI,EAAEL,SAAS,CAACZ,WAAW;IAC3Be,OAAO,EAAE,CACPA,OAAO,CAAC;MACNE,IAAI,EAAEL,SAAS,CAACX,UAAU;MAC1BkB,cAAc,EAAER,MAAM,CAACQ,cAAc;MACrCC,iBAAiB,EAAET,MAAM,CAACS,iBAAiB;MAC3CE,KAAK,EAAEX,MAAM,CAACW;IAChB,CAAC,CAAC;EAEN,CAAC,EACD,IAAIX,MAAM,CAACa,EAAE,KAAKH,SAAS,GACvB,EAAE,GACF,CACE;IACEJ,IAAI,EAAEpB,cAAc,CAACS,GAAG,CAACN,WAAW;IACpCe,OAAO,EAAE,CACPA,OAAO,CAAC;MACNE,IAAI,EAAEpB,cAAc,CAACS,GAAG,CAACL,UAAU;MACnCkB,cAAc,EAAER,MAAM,CAACa,EAAE,CAACL,cAAc;MACxCC,iBAAiB,EAAET,MAAM,CAACa,EAAE,CAACJ,iBAAiB;MAC9CE,KAAK,EAAEX,MAAM,CAACa,EAAE,CAACF;IACnB,CAAC,CAAC;EAEN,CAAC,CACF,CAAC,CACP;EAED,OAAO,IAAAG,sCAAkB,EACvB;IACEC,EAAE,EAAEf,MAAM,CAACe,EAAE,IAAI,aAAa;IAC9BC,SAAS,EAAEhB,MAAM,CAACgB,SAAS;IAC3BC,cAAc,EAAEjB,MAAM,CAACgB,SAAS,KAAKN,SAAS;IAC9CQ,kBAAkB,EAAElB,MAAM,CAACkB,kBAAkB,IAAIlC,wBAAwB;IACzEQ,YAAY,EAAES,SAAS,CAACT,YAAY;IACpC,IAAIQ,MAAM,CAACmB,SAAS,KAAKT,SAAS,GAC9B,CAAC,CAAC,GACF;MAAES,SAAS,EAAEnB,MAAM,CAACmB;IAAU,CAAC,CAAC;IACpC,IAAInB,MAAM,CAACoB,aAAa,KAAKV,SAAS,GAClC,CAAC,CAAC,GACF;MAAEU,aAAa,EAAEpB,MAAM,CAACoB;IAAc,CAAC,CAAC;IAC5CC,IAAI,EAAE;MACJlB,QAAQ,EAAEH,MAAM,CAACG,QAAQ;MACzBmB,UAAU,EAAE,CACV,IAAIpB,YAAY,IAChBF,MAAM,CAACuB,wBAAwB,KAAK,eAAe,GAC/C,CAAC,IAAI,EAAE,IAAI,CAAC,GACZ,CAACrB,YAAY,GAAG,IAAI,GAAGjB,UAAU,CAAC,CAAC,CACxC;MACDuC,gBAAgB,EAAEtB,YAAY,GAAG,IAAI,GAAGjB,UAAU;MAClD,IAAIe,MAAM,CAACuB,wBAAwB,KAAKb,SAAS,GAC7C,CAAC,CAAC,GACF;QAAEa,wBAAwB,EAAEvB,MAAM,CAACuB;MAAyB,CAAC,CAAC;MAClE,IAAIvB,MAAM,CAACyB,uBAAuB,KAAKf,SAAS,GAC5C,CAAC,CAAC,GACF;QAAEe,uBAAuB,EAAEzB,MAAM,CAACyB;MAAwB,CAAC,CAAC;MAChEC,KAAK,EAAE;QACLrC,WAAW,EAAEY,SAAS,CAACZ,WAAW;QAClCsC,kBAAkB,EAAE1B,SAAS,CAACV;MAChC,CAAC;MACDqC,mBAAmB,EAAE,CAAC,IAAI5B,MAAM,CAAC4B,mBAAmB,IAAI,EAAE,CAAC,CAAC;MAC5D,IAAI5B,MAAM,CAAC6B,YAAY,KAAKnB,SAAS,GACjC,CAAC,CAAC,GACF;QAAEmB,YAAY,EAAE7B,MAAM,CAAC6B;MAAa,CAAC,CAAC;MAC1C,IAAI7B,MAAM,CAAC8B,cAAc,KAAKpB,SAAS,GACnC,CAAC,CAAC,GACF;QAAEoB,cAAc,EAAE9B,MAAM,CAAC8B;MAAe,CAAC,CAAC;MAC9C,IAAI9B,MAAM,CAAC+B,WAAW,KAAKrB,SAAS,GAChC,CAAC,CAAC,GACF;QAAEqB,WAAW,EAAE/B,MAAM,CAAC+B;MAAY,CAAC,CAAC;MACxC,IAAI/B,MAAM,CAACgC,cAAc,KAAKtB,SAAS,GACnC,CAAC,CAAC,GACF;QAAEsB,cAAc,EAAEhC,MAAM,CAACgC;MAAe,CAAC,CAAC;MAC9C,IAAIhC,MAAM,CAACiC,iBAAiB,KAAKvB,SAAS,GACtC,CAAC,CAAC,GACF;QAAEuB,iBAAiB,EAAEjC,MAAM,CAACiC;MAAkB,CAAC,CAAC;MACpD,IAAIjC,MAAM,CAACkC,oBAAoB,KAAKxB,SAAS,GACzC,CAAC,CAAC,GACF;QAAEwB,oBAAoB,EAAElC,MAAM,CAACkC;MAAqB,CAAC,CAAC;MAC1D,IAAIlC,MAAM,CAACmC,kBAAkB,KAAKzB,SAAS,GACvC,CAAC,CAAC,GACF;QAAEyB,kBAAkB,EAAEnC,MAAM,CAACmC;MAAmB,CAAC,CAAC;MACtD,IAAInC,MAAM,CAACoC,iBAAiB,KAAK1B,SAAS,GACtC,CAAC,CAAC,GACF;QAAE0B,iBAAiB,EAAEpC,MAAM,CAACoC;MAAkB,CAAC;IACrD,CAAC;IACDxB,QAAQ,EAAEA,QAAQ,CAACyB,GAAG,CAAEC,OAAO,KAAM;MACnC,GAAGA,OAAO;MACVlC,OAAO,EAAEkC,OAAO,CAAClC,OAAO,CAACiC,GAAG,CAAEhC,IAAI,KAAM;QACtC,GAAGA,IAAI;QACPI,iBAAiB,EAAEJ,IAAI,CAACI,iBAAiB,IAAI,CAACX,YAAY;MAC5D,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EACD;IACE,IAAIE,MAAM,CAACuC,eAAe,KAAK7B,SAAS,GACpC,CAAC,CAAC,GACF;MAAE6B,eAAe,EAAEvC,MAAM,CAACuC;IAAgB,CAAC,CAAC;IAChD,IAAIvC,MAAM,CAACwC,kBAAkB,KAAK9B,SAAS,GACvC,CAAC,CAAC,GACF;MAAE8B,kBAAkB,EAAExC,MAAM,CAACwC;IAAmB,CAAC;EACvD,CACF,CAAC;AACH,CAAC;AAACrD,OAAA,CAAAY,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -41,16 +41,23 @@ const RT_DATA = 0x03;
41
41
  /** The ER3 answers its realtime data on a different opcode from the rest of the range. */
42
42
  const ER3_RT_DATA = 0x06;
43
43
  const HEART_RATE_UNIT = "bpm";
44
+
45
+ /** The vendor's own client polls realtime at this pace. */
46
+ const POLL_INTERVAL_MS = 500;
47
+
48
+ /** The run status: the current state in the low nibble, the previous one above it. */
49
+ const RUN_STATUS_BYTE = 15;
50
+ const RECORDING = "2";
51
+ const SAVED = 4;
44
52
  /** ER1, ER2 and ER3 share one parameter block: the heart rate opens it. */
45
53
  const ER_HEART_RATE_BYTES = [7, 8];
46
54
  /**
47
- * Declares one recorder, reporting the heart rate from its realtime frame.
55
+ * Declares one recorder, reporting the heart rate from its realtime frame while it records.
48
56
  *
49
- * A recorder that is not against the skin reports a rate outside what a heart can beat at,
50
- * so it is discarded rather than reported. The device marks that condition in bits of a
51
- * status byte, which a declaration cannot select on, so a recorder left connected and unworn
52
- * reports a decoding failure on each poll. Reading those bits quietly needs a device class.
57
+ * Every other run status - idle, preparing, saving, lead off - leaves the device connected
58
+ * rather than measuring, so an unworn recorder is never shown as taking a reading.
53
59
  */
60
+ const byteHex = value => value.toString(16).padStart(2, "0");
54
61
  const declareRecorder = (advertisedName, profile, params) => (0, _lepuTransports.lepuDevice)({
55
62
  id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
56
63
  nameMatch: params.nameMatch ?? (0, _lepuNameMatch.lepuNameMatch)(advertisedName),
@@ -61,10 +68,15 @@ const declareRecorder = (advertisedName, profile, params) => (0, _lepuTransports
61
68
  emit: "none"
62
69
  },
63
70
  pollCommand: profile.pollCommand,
64
- minLengthBytes: profile.heartRateBytes[1] + 1,
65
- caseSelectorBytes: [1],
71
+ pollIntervalMs: POLL_INTERVAL_MS,
72
+ recordSavedStatus: {
73
+ byteIndex: RUN_STATUS_BYTE,
74
+ state: SAVED
75
+ },
76
+ minLengthBytes: RUN_STATUS_BYTE + 1,
77
+ caseSelectorBytes: [1, RUN_STATUS_BYTE],
66
78
  cases: [{
67
- selector: profile.pollCommand.toString(16).padStart(2, "0"),
79
+ selector: `${byteHex(profile.pollCommand)}?${RECORDING}`,
68
80
  kind: "result",
69
81
  measurementTypeKey: _next.MeasurementTypeKey.heartRate,
70
82
  description: "Realtime parameters and waveform",
@@ -75,6 +87,10 @@ const declareRecorder = (advertisedName, profile, params) => (0, _lepuTransports
75
87
  encoding: "uint",
76
88
  unit: HEART_RATE_UNIT
77
89
  }]
90
+ }, {
91
+ selector: `${byteHex(profile.pollCommand)}??`,
92
+ kind: "idle",
93
+ description: "Realtime frame while not recording"
78
94
  }],
79
95
  ...(params.expectedDeviceTypes ? {
80
96
  expectedDeviceTypes: params.expectedDeviceTypes
@@ -1 +1 @@
1
- {"version":3,"names":["_next","require","_lepuNameMatch","_lepuTransports","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","ER_HEART_RATE_BYTES","declareRecorder","advertisedName","profile","params","lepuDevice","id","toLowerCase","replace","nameMatch","lepuNameMatch","transport","clockSync","sessionPolicy","minSamples","emit","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","MeasurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","undefined","DECODED_ECG_MODEL_NAMES","has","ecgFileDecoder","er1Recorder","exports","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES","Set","ER3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_next","require","_lepuNameMatch","_lepuTransports","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","POLL_INTERVAL_MS","RUN_STATUS_BYTE","RECORDING","SAVED","ER_HEART_RATE_BYTES","byteHex","value","toString","padStart","declareRecorder","advertisedName","profile","params","lepuDevice","id","toLowerCase","replace","nameMatch","lepuNameMatch","transport","clockSync","sessionPolicy","minSamples","emit","pollCommand","pollIntervalMs","recordSavedStatus","byteIndex","state","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","MeasurementTypeKey","heartRate","description","fields","name","byteIndexes","heartRateBytes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","undefined","DECODED_ECG_MODEL_NAMES","has","ecgFileDecoder","er1Recorder","exports","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES","Set","ER3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,8 @@ const HEX_BYTE = /^[0-9a-f]{2}$/;
9
9
  const MAX_OPCODE = 0xff;
10
10
  const MAX_DEVICE_TYPE = 0xffff;
11
11
  const MAX_POLL_INTERVAL_MS = 6_000_000;
12
+ const MAX_FRAME_INDEX = 0xffff;
13
+ const MAX_NIBBLE = 0x0f;
12
14
  const ECG_FILE_DECODERS = ["viatom-compressed", "raw-int16"];
13
15
  const assertFileTransfer = (id, fileTransfer) => {
14
16
  if (fileTransfer === undefined) {
@@ -82,6 +84,10 @@ const assertPollCommand = (id, lepu) => {
82
84
  return pollCommand === undefined ? undefined : assertIntegerInRange(id, "lepu.pollCommand", pollCommand, [0, MAX_OPCODE], `is ${String(pollCommand)}; an opcode is a whole number between 0 and ${MAX_OPCODE}`);
83
85
  };
84
86
  const assertPollInterval = (id, interval) => interval === undefined ? undefined : assertIntegerInRange(id, "lepu.pollIntervalMs", interval, [0, MAX_POLL_INTERVAL_MS], `is ${String(interval)}; it must be a whole number between 0 and ${MAX_POLL_INTERVAL_MS}`);
87
+ const assertRecordSavedStatus = (id, status) => status === undefined ? undefined : {
88
+ byteIndex: assertIntegerInRange(id, "lepu.recordSavedStatus.byteIndex", status.byteIndex, [0, MAX_FRAME_INDEX], `is ${String(status.byteIndex)}; it must be a byte index between 0 and ${MAX_FRAME_INDEX}`),
89
+ state: assertIntegerInRange(id, "lepu.recordSavedStatus.state", status.state, [0, MAX_NIBBLE], `is ${String(status.state)}; a low-nibble state is a whole number between 0 and ${MAX_NIBBLE}`)
90
+ };
85
91
 
86
92
  /**
87
93
  * Validates the Lepu declaration and normalises its UUIDs.
@@ -104,6 +110,7 @@ export const compileCustomLepu = (id, spec, serviceUuids) => {
104
110
  const expectedDeviceTypes = assertDeviceTypes(id, lepu.expectedDeviceTypes);
105
111
  const pollCommand = assertPollCommand(id, lepu);
106
112
  const pollIntervalMs = assertPollInterval(id, lepu.pollIntervalMs);
113
+ const recordSavedStatus = assertRecordSavedStatus(id, lepu.recordSavedStatus);
107
114
  const fileTransfer = assertFileTransfer(id, lepu.fileTransfer);
108
115
  const ecgFileDecoder = lepu.ecgFileDecoder;
109
116
  if (ecgFileDecoder !== undefined && !ECG_FILE_DECODERS.includes(ecgFileDecoder)) {
@@ -143,6 +150,9 @@ export const compileCustomLepu = (id, spec, serviceUuids) => {
143
150
  ...(pollIntervalMs === undefined ? {} : {
144
151
  pollIntervalMs
145
152
  }),
153
+ ...(recordSavedStatus === undefined ? {} : {
154
+ recordSavedStatus
155
+ }),
146
156
  ...(lepu.writeWithoutResponse === undefined ? {} : {
147
157
  writeWithoutResponse: Boolean(lepu.writeWithoutResponse)
148
158
  }),
@@ -1 +1 @@
1
- {"version":3,"names":["assertIntegerInRange","customDeviceError","normalizeBleUuid","HEX_BYTE","MAX_OPCODE","MAX_DEVICE_TYPE","MAX_POLL_INTERVAL_MS","ECG_FILE_DECODERS","assertFileTransfer","id","fileTransfer","undefined","String","assertProtocol","protocol","assertClockSyncProtocol","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","assertPollInterval","interval","compileCustomLepu","spec","serviceUuids","services","some","service","write","clockSyncProtocol","expectedDeviceTypes","pollIntervalMs","ecgFileDecoder","includes","requestStartByte","serviceUuid","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["assertIntegerInRange","customDeviceError","normalizeBleUuid","HEX_BYTE","MAX_OPCODE","MAX_DEVICE_TYPE","MAX_POLL_INTERVAL_MS","MAX_FRAME_INDEX","MAX_NIBBLE","ECG_FILE_DECODERS","assertFileTransfer","id","fileTransfer","undefined","String","assertProtocol","protocol","assertClockSyncProtocol","assertStartBytes","startBytes","Array","isArray","length","map","byte","index","normalized","toLowerCase","test","assertDeviceTypes","deviceTypes","deviceType","Number","isInteger","assertPollCommand","lepu","pollCommand","assertPollInterval","interval","assertRecordSavedStatus","status","byteIndex","state","compileCustomLepu","spec","serviceUuids","services","some","service","write","clockSyncProtocol","expectedDeviceTypes","pollIntervalMs","recordSavedStatus","ecgFileDecoder","includes","requestStartByte","serviceUuid","rejectEncryptionAtBytes","writeWithoutResponse","Boolean","setClockBeforeInfo","manufacturerDataProtocol","characteristicUuid"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/compile-custom-lepu.ts"],"mappings":"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","ignoreList":[]}