@willieee802/zigbee-herdsman 0.49.4 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/.github/dependabot.yml +0 -3
  2. package/.github/workflows/ci.yml +1 -2
  3. package/.github/workflows/release-please.yml +1 -1
  4. package/.github/workflows/typedoc.yaml +3 -3
  5. package/.release-please-manifest.json +1 -1
  6. package/CHANGELOG.md +143 -0
  7. package/biome.json +1 -1
  8. package/dist/adapter/adapter.d.ts +14 -1
  9. package/dist/adapter/adapter.d.ts.map +1 -1
  10. package/dist/adapter/adapter.js +17 -0
  11. package/dist/adapter/adapter.js.map +1 -1
  12. package/dist/adapter/adapterDiscovery.d.ts.map +1 -1
  13. package/dist/adapter/adapterDiscovery.js.map +1 -1
  14. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +1 -3
  15. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  16. package/dist/adapter/deconz/adapter/deconzAdapter.js +14 -29
  17. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  18. package/dist/adapter/deconz/driver/constants.d.ts +1 -1
  19. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  20. package/dist/adapter/ember/adapter/emberAdapter.d.ts +1 -1
  21. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  22. package/dist/adapter/ember/adapter/emberAdapter.js +19 -10
  23. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  24. package/dist/adapter/ember/adapter/oneWaitress.d.ts +2 -0
  25. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  26. package/dist/adapter/ember/adapter/oneWaitress.js +13 -5
  27. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  28. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +1 -3
  29. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  30. package/dist/adapter/ezsp/adapter/ezspAdapter.js +17 -30
  31. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  32. package/dist/adapter/ezsp/driver/index.d.ts +1 -1
  33. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  34. package/dist/adapter/ezsp/driver/index.js +1 -1
  35. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  36. package/dist/adapter/ezsp/driver/types/index.d.ts +1 -1
  37. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  38. package/dist/adapter/ezsp/driver/types/index.js +3 -3
  39. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  40. package/dist/adapter/serialPort.d.ts.map +1 -1
  41. package/dist/adapter/serialPort.js +7 -0
  42. package/dist/adapter/serialPort.js.map +1 -1
  43. package/dist/adapter/z-stack/adapter/adapter-backup.js +1 -1
  44. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  45. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +1 -1
  46. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  47. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  48. package/dist/adapter/z-stack/adapter/manager.js +12 -2
  49. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  50. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +1 -1
  51. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +1 -3
  52. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  53. package/dist/adapter/z-stack/adapter/zStackAdapter.js +20 -34
  54. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  55. package/dist/adapter/z-stack/constants/index.d.ts +1 -1
  56. package/dist/adapter/z-stack/constants/index.d.ts.map +1 -1
  57. package/dist/adapter/z-stack/constants/index.js +1 -1
  58. package/dist/adapter/z-stack/constants/index.js.map +1 -1
  59. package/dist/adapter/z-stack/unpi/constants.d.ts +1 -1
  60. package/dist/adapter/z-stack/unpi/constants.d.ts.map +1 -1
  61. package/dist/adapter/z-stack/unpi/constants.js +1 -1
  62. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  63. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +7 -8
  64. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
  65. package/dist/adapter/zboss/adapter/zbossAdapter.js +12 -30
  66. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
  67. package/dist/adapter/zboss/driver.d.ts.map +1 -1
  68. package/dist/adapter/zboss/driver.js +8 -1
  69. package/dist/adapter/zboss/driver.js.map +1 -1
  70. package/dist/adapter/zboss/uart.d.ts.map +1 -1
  71. package/dist/adapter/zboss/uart.js +14 -2
  72. package/dist/adapter/zboss/uart.js.map +1 -1
  73. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +1 -3
  74. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  75. package/dist/adapter/zigate/adapter/zigateAdapter.js +8 -29
  76. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  77. package/dist/adapter/zoh/adapter/zohAdapter.d.ts +1 -3
  78. package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -1
  79. package/dist/adapter/zoh/adapter/zohAdapter.js +18 -33
  80. package/dist/adapter/zoh/adapter/zohAdapter.js.map +1 -1
  81. package/dist/controller/controller.d.ts.map +1 -1
  82. package/dist/controller/controller.js +10 -2
  83. package/dist/controller/controller.js.map +1 -1
  84. package/dist/controller/greenPower.d.ts.map +1 -1
  85. package/dist/controller/greenPower.js +15 -9
  86. package/dist/controller/greenPower.js.map +1 -1
  87. package/dist/controller/helpers/ota.d.ts +4 -4
  88. package/dist/controller/helpers/ota.d.ts.map +1 -1
  89. package/dist/controller/helpers/ota.js +28 -9
  90. package/dist/controller/helpers/ota.js.map +1 -1
  91. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  92. package/dist/controller/helpers/zclFrameConverter.js +17 -16
  93. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  94. package/dist/controller/model/device.d.ts +14 -3
  95. package/dist/controller/model/device.d.ts.map +1 -1
  96. package/dist/controller/model/device.js +155 -68
  97. package/dist/controller/model/device.js.map +1 -1
  98. package/dist/controller/model/endpoint.d.ts +7 -3
  99. package/dist/controller/model/endpoint.d.ts.map +1 -1
  100. package/dist/controller/model/endpoint.js +34 -21
  101. package/dist/controller/model/endpoint.js.map +1 -1
  102. package/dist/controller/model/group.js +4 -4
  103. package/dist/controller/model/group.js.map +1 -1
  104. package/dist/controller/touchlink.js +3 -3
  105. package/dist/controller/touchlink.js.map +1 -1
  106. package/dist/utils/timeService.js +2 -2
  107. package/dist/utils/timeService.js.map +1 -1
  108. package/dist/zspec/zcl/buffaloZcl.d.ts +3 -3
  109. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  110. package/dist/zspec/zcl/buffaloZcl.js +198 -96
  111. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  112. package/dist/zspec/zcl/definition/cluster.d.ts +2 -2
  113. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  114. package/dist/zspec/zcl/definition/cluster.js +2699 -2808
  115. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  116. package/dist/zspec/zcl/definition/clusters-types.d.ts +63 -1109
  117. package/dist/zspec/zcl/definition/clusters-types.d.ts.map +1 -1
  118. package/dist/zspec/zcl/definition/enums.d.ts +0 -1
  119. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -1
  120. package/dist/zspec/zcl/definition/enums.js +0 -1
  121. package/dist/zspec/zcl/definition/enums.js.map +1 -1
  122. package/dist/zspec/zcl/definition/foundation.d.ts +306 -7
  123. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  124. package/dist/zspec/zcl/definition/foundation.js +552 -207
  125. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  126. package/dist/zspec/zcl/definition/status.d.ts +21 -10
  127. package/dist/zspec/zcl/definition/status.d.ts.map +1 -1
  128. package/dist/zspec/zcl/definition/status.js +11 -0
  129. package/dist/zspec/zcl/definition/status.js.map +1 -1
  130. package/dist/zspec/zcl/definition/tstype.d.ts +57 -48
  131. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  132. package/dist/zspec/zcl/utils.d.ts +7 -4
  133. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  134. package/dist/zspec/zcl/utils.js +133 -240
  135. package/dist/zspec/zcl/utils.js.map +1 -1
  136. package/dist/zspec/zcl/zclFrame.d.ts +4 -4
  137. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  138. package/dist/zspec/zcl/zclFrame.js +19 -103
  139. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  140. package/dist/zspec/zcl/zclStatusError.d.ts +1 -1
  141. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -1
  142. package/dist/zspec/zcl/zclStatusError.js +2 -2
  143. package/dist/zspec/zcl/zclStatusError.js.map +1 -1
  144. package/package.json +1 -1
  145. package/scripts/clusters-typegen.ts +44 -139
  146. package/src/adapter/adapter.ts +38 -3
  147. package/src/adapter/adapterDiscovery.ts +2 -1
  148. package/src/adapter/deconz/adapter/deconzAdapter.ts +24 -51
  149. package/src/adapter/deconz/driver/constants.ts +1 -1
  150. package/src/adapter/ember/adapter/emberAdapter.ts +23 -10
  151. package/src/adapter/ember/adapter/oneWaitress.ts +16 -6
  152. package/src/adapter/ezsp/adapter/ezspAdapter.ts +27 -48
  153. package/src/adapter/ezsp/driver/index.ts +1 -1
  154. package/src/adapter/ezsp/driver/types/index.ts +99 -99
  155. package/src/adapter/serialPort.ts +9 -0
  156. package/src/adapter/z-stack/adapter/adapter-backup.ts +1 -1
  157. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +1 -1
  158. package/src/adapter/z-stack/adapter/manager.ts +16 -2
  159. package/src/adapter/z-stack/adapter/tstype.ts +1 -0
  160. package/src/adapter/z-stack/adapter/zStackAdapter.ts +34 -81
  161. package/src/adapter/z-stack/constants/index.ts +1 -1
  162. package/src/adapter/z-stack/unpi/constants.ts +1 -1
  163. package/src/adapter/zboss/adapter/zbossAdapter.ts +23 -54
  164. package/src/adapter/zboss/driver.ts +8 -1
  165. package/src/adapter/zboss/uart.ts +14 -1
  166. package/src/adapter/zigate/adapter/zigateAdapter.ts +17 -48
  167. package/src/adapter/zoh/adapter/zohAdapter.ts +27 -50
  168. package/src/controller/controller.ts +12 -2
  169. package/src/controller/greenPower.ts +16 -9
  170. package/src/controller/helpers/ota.ts +37 -11
  171. package/src/controller/helpers/zclFrameConverter.ts +20 -17
  172. package/src/controller/model/device.ts +192 -79
  173. package/src/controller/model/endpoint.ts +36 -24
  174. package/src/controller/model/group.ts +4 -4
  175. package/src/controller/touchlink.ts +3 -3
  176. package/src/utils/timeService.ts +2 -2
  177. package/src/zspec/zcl/buffaloZcl.ts +226 -100
  178. package/src/zspec/zcl/definition/cluster.ts +2713 -2822
  179. package/src/zspec/zcl/definition/clusters-types.ts +80 -1135
  180. package/src/zspec/zcl/definition/enums.ts +0 -1
  181. package/src/zspec/zcl/definition/foundation.ts +703 -216
  182. package/src/zspec/zcl/definition/status.ts +22 -11
  183. package/src/zspec/zcl/definition/tstype.ts +59 -58
  184. package/src/zspec/zcl/utils.ts +137 -264
  185. package/src/zspec/zcl/zclFrame.ts +25 -130
  186. package/src/zspec/zcl/zclStatusError.ts +2 -2
  187. package/test/adapter/ember/emberAdapter.test.ts +191 -4
  188. package/test/adapter/ezsp/uart.test.ts +10 -10
  189. package/test/adapter/z-stack/adapter.test.ts +88 -32
  190. package/test/adapter/zoh/zohAdapter.test.ts +4 -4
  191. package/test/controller.test.ts +822 -248
  192. package/test/device-ota.test.ts +141 -16
  193. package/test/device.test.ts +731 -0
  194. package/test/requests.bench.ts +2 -0
  195. package/test/zcl.test.ts +70 -95
  196. package/test/zspec/zcl/buffalo.test.ts +251 -11
  197. package/test/zspec/zcl/foundation.test.ts +990 -0
  198. package/test/zspec/zcl/frame.test.ts +84 -69
  199. package/test/zspec/zcl/utils.test.ts +105 -81
  200. package/tsconfig.json +0 -1
  201. package/scripts/check-clusters-changes.ts +0 -328
  202. package/scripts/clusters-changes.log +0 -584
  203. package/scripts/utils.ts +0 -88
  204. package/scripts/zap-update-clusters-report.json +0 -303
  205. package/scripts/zap-update-clusters.ts +0 -1520
  206. package/scripts/zap-update-types.ts +0 -707
  207. package/scripts/zap-xml-clusters-overrides-data.ts +0 -52
  208. package/scripts/zap-xml-clusters-overrides.ts +0 -400
  209. package/scripts/zap-xml-types.ts +0 -146
@@ -35,12 +35,11 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.BuffaloZcl = void 0;
37
37
  const buffalo_1 = require("../../buffalo");
38
- const logger_1 = require("../../utils/logger");
39
38
  const utils_1 = require("../../utils/utils");
40
39
  const datatypes_1 = require("./definition/datatypes");
41
40
  const enums_1 = require("./definition/enums");
42
41
  const Utils = __importStar(require("./utils"));
43
- const NS = "zh:zcl:buffalo";
42
+ const utils_2 = require("./utils");
44
43
  const UINT8_NON_VALUE = datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[datatypes_1.ZclType.Uint8];
45
44
  const UINT16_NON_VALUE = datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[datatypes_1.ZclType.Uint16];
46
45
  const SEC_KEY_LENGTH = 16;
@@ -345,104 +344,207 @@ class BuffaloZcl extends buffalo_1.Buffalo {
345
344
  }
346
345
  // ensure offset by options.payload.payloadSize (if any) at end of parsing to not cause issues with spec changes (until supported)
347
346
  const startPosition = this.position;
348
- if (options.payload.commandID === 0xe0) {
349
- // Commisioning
350
- const frame = {
351
- deviceID: this.readUInt8(),
352
- options: this.readUInt8(),
353
- extendedOptions: 0,
354
- securityKey: Buffer.alloc(16),
355
- keyMic: 0,
356
- outgoingCounter: 0,
357
- applicationInfo: 0,
358
- manufacturerID: 0,
359
- modelID: 0,
360
- numGpdCommands: 0,
361
- gpdCommandIdList: Buffer.alloc(0),
362
- numServerClusters: 0,
363
- numClientClusters: 0,
364
- gpdServerClusters: Buffer.alloc(0),
365
- gpdClientClusters: Buffer.alloc(0),
366
- genericSwitchConfig: 0,
367
- currentContactStatus: 0,
368
- };
369
- if (frame.options & 0x80) {
370
- frame.extendedOptions = this.readUInt8();
371
- }
372
- if (frame.extendedOptions & 0x20) {
373
- frame.securityKey = this.readBuffer(16);
374
- }
375
- if (frame.extendedOptions & 0x40) {
376
- frame.keyMic = this.readUInt32();
377
- }
378
- if (frame.extendedOptions & 0x80) {
379
- frame.outgoingCounter = this.readUInt32();
380
- }
381
- if (frame.options & 0x04) {
382
- frame.applicationInfo = this.readUInt8();
383
- }
384
- if (frame.applicationInfo & 0x01) {
385
- frame.manufacturerID = this.readUInt16();
386
- }
387
- if (frame.applicationInfo & 0x02) {
388
- frame.modelID = this.readUInt16();
389
- }
390
- if (frame.applicationInfo & 0x04) {
391
- frame.numGpdCommands = this.readUInt8();
392
- frame.gpdCommandIdList = this.readBuffer(frame.numGpdCommands);
393
- }
394
- if (frame.applicationInfo & 0x08) {
395
- const len = this.readUInt8();
396
- frame.numServerClusters = len & 0xf;
397
- frame.numClientClusters = (len >> 4) & 0xf;
398
- frame.gpdServerClusters = this.readBuffer(2 * frame.numServerClusters);
399
- frame.gpdClientClusters = this.readBuffer(2 * frame.numClientClusters);
400
- }
401
- if (frame.applicationInfo & 0x10) {
402
- const len = this.readUInt8();
403
- if (len >= 1) {
404
- frame.genericSwitchConfig = this.readUInt8();
347
+ switch (options.payload.commandID) {
348
+ case 0xe0: {
349
+ // Commisioning
350
+ const frame = {
351
+ deviceID: this.readUInt8(),
352
+ options: this.readUInt8(),
353
+ extendedOptions: 0,
354
+ securityKey: Buffer.alloc(16),
355
+ keyMic: 0,
356
+ outgoingCounter: 0,
357
+ applicationInfo: 0,
358
+ manufacturerID: 0,
359
+ modelID: 0,
360
+ numGpdCommands: 0,
361
+ gpdCommandIdList: Buffer.alloc(0),
362
+ numServerClusters: 0,
363
+ numClientClusters: 0,
364
+ gpdServerClusters: Buffer.alloc(0),
365
+ gpdClientClusters: Buffer.alloc(0),
366
+ genericSwitchConfig: 0,
367
+ currentContactStatus: 0,
368
+ };
369
+ if (frame.options & 0x80) {
370
+ frame.extendedOptions = this.readUInt8();
405
371
  }
406
- if (len >= 2) {
407
- frame.currentContactStatus = this.readUInt8();
372
+ if (frame.extendedOptions & 0x20) {
373
+ frame.securityKey = this.readBuffer(16);
408
374
  }
409
- }
410
- this.setPosition(startPosition + options.payload.payloadSize);
411
- return frame;
412
- }
413
- if (options.payload.commandID === 0xe3) {
414
- // Channel Request
415
- const channelOpts = this.readUInt8();
416
- this.setPosition(startPosition + options.payload.payloadSize);
417
- return {
418
- nextChannel: channelOpts & 0xf,
419
- nextNextChannel: channelOpts >> 4,
420
- };
421
- }
422
- if (options.payload.commandID === 0xa1) {
423
- // Manufacturer-specific Attribute Reporting
424
- const start = this.position;
425
- const frame = {
426
- manufacturerCode: this.readUInt16(),
427
- clusterID: this.readUInt16(),
428
- attributes: {},
429
- };
430
- const cluster = Utils.getCluster(frame.clusterID, frame.manufacturerCode, {});
431
- while (this.position - start < options.payload.payloadSize) {
432
- const attributeID = this.readUInt16();
433
- const type = this.readUInt8();
434
- /* v8 ignore next */
435
- let attribute = cluster.getAttribute(attributeID)?.name;
436
- // number type is only used when going into this if
437
- if (!attribute) {
438
- // this is spammy because of the many manufacturer-specific attributes not currently used
439
- logger_1.logger.debug(`Unknown attribute ${attributeID} in cluster ${cluster.name}`, NS);
440
- attribute = attributeID;
375
+ if (frame.extendedOptions & 0x40) {
376
+ frame.keyMic = this.readUInt32();
377
+ }
378
+ if (frame.extendedOptions & 0x80) {
379
+ frame.outgoingCounter = this.readUInt32();
380
+ }
381
+ if (frame.options & 0x04) {
382
+ frame.applicationInfo = this.readUInt8();
383
+ }
384
+ if (frame.applicationInfo & 0x01) {
385
+ frame.manufacturerID = this.readUInt16();
386
+ }
387
+ if (frame.applicationInfo & 0x02) {
388
+ frame.modelID = this.readUInt16();
389
+ }
390
+ if (frame.applicationInfo & 0x04) {
391
+ frame.numGpdCommands = this.readUInt8();
392
+ frame.gpdCommandIdList = this.readBuffer(frame.numGpdCommands);
393
+ }
394
+ if (frame.applicationInfo & 0x08) {
395
+ const len = this.readUInt8();
396
+ frame.numServerClusters = len & 0xf;
397
+ frame.numClientClusters = (len >> 4) & 0xf;
398
+ frame.gpdServerClusters = this.readBuffer(2 * frame.numServerClusters);
399
+ frame.gpdClientClusters = this.readBuffer(2 * frame.numClientClusters);
400
+ }
401
+ if (frame.applicationInfo & 0x10) {
402
+ const len = this.readUInt8();
403
+ if (len >= 1) {
404
+ frame.genericSwitchConfig = this.readUInt8();
405
+ }
406
+ if (len >= 2) {
407
+ frame.currentContactStatus = this.readUInt8();
408
+ }
409
+ }
410
+ this.setPosition(startPosition + options.payload.payloadSize);
411
+ return frame;
412
+ }
413
+ case 0xe3: {
414
+ // Channel Request
415
+ const channelOpts = this.readUInt8();
416
+ this.setPosition(startPosition + options.payload.payloadSize);
417
+ return {
418
+ nextChannel: channelOpts & 0xf,
419
+ nextNextChannel: channelOpts >> 4,
420
+ };
421
+ }
422
+ case 0xa0: {
423
+ // Attribute Reporting
424
+ const clusterID = this.readUInt16();
425
+ const cluster = Utils.getCluster(clusterID, undefined, {});
426
+ const frame = {
427
+ clusterID,
428
+ clusterName: cluster.name,
429
+ attributes: {},
430
+ };
431
+ while (this.position - startPosition < options.payload.payloadSize) {
432
+ const attributeId = this.readUInt16();
433
+ const dataType = this.readUInt8();
434
+ const attributeNameOrId = (0, utils_2.getClusterAttribute)(cluster, attributeId, undefined)?.name ?? attributeId;
435
+ frame.attributes[attributeNameOrId] = this.read(dataType, options);
436
+ }
437
+ this.setPosition(startPosition + options.payload.payloadSize);
438
+ return frame;
439
+ }
440
+ case 0xa1: {
441
+ // Manufacturer-specific Attribute Reporting
442
+ const manufacturerCode = this.readUInt16();
443
+ const clusterID = this.readUInt16();
444
+ const cluster = Utils.getCluster(clusterID, manufacturerCode, {});
445
+ const frame = {
446
+ manufacturerCode,
447
+ clusterID,
448
+ clusterName: cluster.name,
449
+ attributes: {},
450
+ };
451
+ while (this.position - startPosition < options.payload.payloadSize) {
452
+ const attributeId = this.readUInt16();
453
+ const dataType = this.readUInt8();
454
+ // many times will fallback to ID since lots of unknown manu-specific attributes (handled in ZHC)
455
+ const attributeNameOrId = (0, utils_2.getClusterAttribute)(cluster, attributeId, manufacturerCode)?.name ?? attributeId;
456
+ frame.attributes[attributeNameOrId] = this.read(dataType, options);
457
+ }
458
+ this.setPosition(startPosition + options.payload.payloadSize);
459
+ return frame;
460
+ }
461
+ case 0xa2: {
462
+ // Multi-Cluster Reporting
463
+ const frame = { reports: [] };
464
+ while (this.position - startPosition < options.payload.payloadSize) {
465
+ const clusterID = this.readUInt16();
466
+ const cluster = Utils.getCluster(clusterID, undefined, {});
467
+ const attributeId = this.readUInt16();
468
+ const dataType = this.readUInt8();
469
+ const attributeNameOrId = (0, utils_2.getClusterAttribute)(cluster, attributeId, undefined)?.name ?? attributeId;
470
+ const attrData = this.read(dataType, options);
471
+ const report = {
472
+ clusterID,
473
+ clusterName: cluster.name,
474
+ attribute: attributeNameOrId,
475
+ attrData,
476
+ };
477
+ frame.reports.push(report);
478
+ }
479
+ this.setPosition(startPosition + options.payload.payloadSize);
480
+ return frame;
481
+ }
482
+ case 0xa3: {
483
+ // Manufacturer-specific Multi-Cluster Reporting
484
+ const manufacturerCode = this.readUInt16();
485
+ const frame = { manufacturerCode, reports: [] };
486
+ while (this.position - startPosition < options.payload.payloadSize) {
487
+ const clusterID = this.readUInt16();
488
+ const cluster = Utils.getCluster(clusterID, manufacturerCode, {});
489
+ const attributeId = this.readUInt16();
490
+ const dataType = this.readUInt8();
491
+ // many times will fallback to ID since lots of unknown manu-specific attributes (handled in ZHC)
492
+ const attributeNameOrId = (0, utils_2.getClusterAttribute)(cluster, attributeId, manufacturerCode)?.name ?? attributeId;
493
+ const attrData = this.read(dataType, options);
494
+ const report = {
495
+ clusterID,
496
+ clusterName: cluster.name,
497
+ attribute: attributeNameOrId,
498
+ attrData,
499
+ };
500
+ frame.reports.push(report);
501
+ }
502
+ this.setPosition(startPosition + options.payload.payloadSize);
503
+ return frame;
504
+ }
505
+ case 0xa4: {
506
+ // Request Attributes
507
+ const frame = { options: this.readUInt8(), manufacturerID: undefined, records: [] };
508
+ // ignore multi-record bit, while loop automatically handles it
509
+ if (frame.options & 0x02) {
510
+ frame.manufacturerID = this.readUInt16();
511
+ }
512
+ while (this.position - startPosition < options.payload.payloadSize) {
513
+ const clusterID = this.readUInt16();
514
+ const recordsLength = this.readUInt8();
515
+ const attributes = this.readListUInt16(recordsLength);
516
+ frame.records.push({ clusterID, attributes });
517
+ }
518
+ this.setPosition(startPosition + options.payload.payloadSize);
519
+ return frame;
520
+ }
521
+ case 0xa5: {
522
+ // Read Attributes Response
523
+ const frame = { options: this.readUInt8(), manufacturerID: undefined, records: [] };
524
+ // ignore multi-record bit, while loop automatically handles it
525
+ if (frame.options & 0x02) {
526
+ frame.manufacturerID = this.readUInt16();
527
+ }
528
+ while (this.position - startPosition < options.payload.payloadSize) {
529
+ const clusterID = this.readUInt16();
530
+ const cluster = Utils.getCluster(clusterID, frame.manufacturerID, {});
531
+ const recordsLength = this.readUInt8();
532
+ const record = { clusterID, clusterName: cluster.name, attributes: {} };
533
+ for (let i = 0; i < recordsLength; i++) {
534
+ const attributeId = this.readUInt16();
535
+ const status = this.readUInt8();
536
+ const dataType = this.readUInt8();
537
+ const attributeNameOrId = (0, utils_2.getClusterAttribute)(cluster, attributeId, frame.manufacturerID)?.name ?? attributeId;
538
+ record.attributes[attributeNameOrId] = {
539
+ status,
540
+ attrData: this.read(dataType, options),
541
+ };
542
+ }
543
+ frame.records.push(record);
441
544
  }
442
- frame.attributes[attribute] = this.read(type, options);
545
+ this.setPosition(startPosition + options.payload.payloadSize);
546
+ return frame;
443
547
  }
444
- this.setPosition(startPosition + options.payload.payloadSize);
445
- return frame;
446
548
  }
447
549
  // might contain `gppNwkAddr`, `gppGpdLink` & `mic` from ZCL cluster after this, so limit by `payloadSize`
448
550
  return { raw: this.readBuffer(options.payload.payloadSize) };
@@ -1 +1 @@
1
- {"version":3,"file":"buffaloZcl.js","sourceRoot":"","sources":["../../../src/zspec/zcl/buffaloZcl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffaloZcl.js","sourceRoot":"","sources":["../../../src/zspec/zcl/buffaloZcl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAsC;AACtC,6CAAgD;AAChD,sDAAyE;AACzE,8CAAyF;AA0BzF,+CAAiC;AACjC,mCAA4C;AAE5C,MAAM,eAAe,GAAG,oCAAwB,CAAC,mBAAO,CAAC,KAAK,CAAW,CAAC;AAC1E,MAAM,gBAAgB,GAAG,oCAAwB,CAAC,mBAAO,CAAC,MAAM,CAAW,CAAC;AAE5E,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,8BAA8B,GAAgC;IAChE,CAAC,EAAE,CAAC,gBAAQ,CAAC,KAAK,CAAC;IACnB,CAAC,EAAE,CAAC,gBAAQ,CAAC,KAAK,CAAC;IACnB,GAAG,EAAE,CAAC,gBAAQ,CAAC,KAAK,EAAE,gBAAQ,CAAC,KAAK,CAAC;IACrC,GAAG,EAAE,CAAC,gBAAQ,CAAC,MAAM,EAAE,gBAAQ,CAAC,MAAM,EAAE,gBAAQ,CAAC,MAAM,EAAE,gBAAQ,CAAC,KAAK,EAAE,gBAAQ,CAAC,KAAK,EAAE,gBAAQ,CAAC,KAAK,EAAE,gBAAQ,CAAC,MAAM,EAAE,gBAAQ,CAAC,MAAM,CAAC;CAC7I,CAAC;AAEF,MAAa,UAAW,SAAQ,iBAAO;IAC3B,eAAe;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/B,OAAO,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,CAAC;IAEO,gBAAgB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEhC,OAAO,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3D,CAAC;IAEO,aAAa,CAAC,KAAgB;QAClC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAEO,YAAY;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED,qGAAqG;IAC7F,YAAY,CAAC,KAAyB;QAC1C,4DAA4D;QAC5D,oHAAoH;QACpH,gHAAgH;QAChH,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACJ,iCAAiC;gBACjC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAEO,WAAW;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEtC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAEO,iBAAiB,CAAC,KAAgB;QACtC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEO,gBAAgB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IAEO,gBAAgB,CAAC,KAAc;QACnC,4DAA4D;QAC5D,mHAAmH;QACnH,oHAAoH;QACpH,kCAAkC;QAClC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEO,eAAe;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAEO,UAAU,CAAC,KAAgB;QAC/B,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9G,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAExC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;YACzD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,8GAA8G;IACtG,SAAS;QACb,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,gBAAgB;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,WAAW,CAAC,KAAgB;QAChC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEO,UAAU;QACd,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,gBAAgB;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,QAAQ,CAAC,KAAmB;QAChC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrH,CAAC;IAEO,OAAO;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE1C,OAAO;YACH,KAAK;YACL,OAAO;YACP,OAAO;YACP,UAAU;SACb,CAAC;IACN,CAAC;IAEO,SAAS,CAAC,KAAc;QAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACtG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACjH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClH,CAAC;IAEO,QAAQ;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,OAAO;YACH,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,6BAA6B;YAChD,KAAK;YACL,UAAU;YACV,SAAS;SACZ,CAAC;IACN,CAAC;IAED,wBAAwB;IAEhB,iBAAiB,CAAC,MAAkB;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,MAAc;QACnC,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;gBACxB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;aAChC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,uBAAuB,CAAC,MAA2D;QACvF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3E,KAAK,EAAE,CAAC;YACZ,CAAC;QACL,CAAC;IACL,CAAC;IAEO,sBAAsB;QAC1B,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,uEAAuE;QACvE,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;YACrC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,QAAQ,GAAc,EAAE,CAAC;YAE/B,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,GAAG,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC5E,KAAK,EAAE,CAAC;YACZ,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,0BAA0B,CAAC,KAAyB;QACxD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,yBAAyB,CAAC,OAA0B;QACxD,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAChG,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACtC,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,KAAK,GAAqB;gBAC5B,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE;aACpC,CAAC;YAEF,IAAI,IAAI,EAAE,CAAC;gBACP,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACP,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,aAAa,CAAC,KAAuE;QACzF,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC3B,sBAAsB;YACtB,MAAM,CAAC,GAAG,KAA8B,CAAC;YAEzC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;YAC9C,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;YACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;YAC7C,MAAM,YAAY,GAAG,gBAAgB,IAAI,qBAAqB,CAAC;YAC/D,MAAM,eAAe,GAAG,qBAAqB,IAAI,gBAAgB,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,CAAC,CAAC;YAExH,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9I,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE3B,IAAI,YAAY,EAAE,CAAC;gBACf,yEAAyE;gBACzE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,qBAAqB,EAAE,CAAC;gBACxB,yEAAyE;gBACzE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAY,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACf,yEAAyE;gBACzE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAO,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBAClB,yEAAyE;gBACzE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAa,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAClC,wBAAwB;YACxB,MAAM,CAAC,GAAG,KAAgC,CAAC;YAE3C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC;YACtH,6BAA6B;YAC7B,MAAM,CAAC,GAAG,KAAuB,CAAC;YAElC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,yBAAyB;QACzB,wBAAwB;QACxB,sBAAsB;IAC1B,CAAC;IAEO,YAAY,CAChB,OAA0B;QAE1B,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YACjF,OAAO,EAAE,CAAC,CAAC,iCAAiC;QAChD,CAAC;QAED,kIAAkI;QAClI,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEpC,QAAQ,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,eAAe;gBACf,MAAM,KAAK,GAAQ;oBACf,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE;oBAC1B,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;oBACzB,eAAe,EAAE,CAAC;oBAClB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAA4B;oBACxD,MAAM,EAAE,CAAC;oBACT,eAAe,EAAE,CAAC;oBAClB,eAAe,EAAE,CAAC;oBAClB,cAAc,EAAE,CAAC;oBACjB,OAAO,EAAE,CAAC;oBACV,cAAc,EAAE,CAAC;oBACjB,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAA4B;oBAC5D,iBAAiB,EAAE,CAAC;oBACpB,iBAAiB,EAAE,CAAC;oBACpB,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAA4B;oBAC7D,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAA4B;oBAC7D,mBAAmB,EAAE,CAAC;oBACtB,oBAAoB,EAAE,CAAC;iBAC1B,CAAC;gBAEF,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;oBACvB,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7C,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBAC/B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBAC/B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBAC/B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9C,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;oBACvB,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7C,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBAC/B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7C,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBAC/B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBAC/B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC7B,KAAK,CAAC,iBAAiB,GAAG,GAAG,GAAG,GAAG,CAAC;oBACpC,KAAK,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;oBAE3C,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACvE,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC3E,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAE7B,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;wBACX,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjD,CAAC;oBAED,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;wBACX,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClD,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,kBAAkB;gBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAErC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9D,OAAO;oBACH,WAAW,EAAE,WAAW,GAAG,GAAG;oBAC9B,eAAe,EAAE,WAAW,IAAI,CAAC;iBACR,CAAC;YAClC,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,sBAAsB;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC3D,MAAM,KAAK,GAAuB;oBAC9B,SAAS;oBACT,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,UAAU,EAAE,EAAE;iBACjB,CAAC;gBAEF,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACjE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClC,MAAM,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC;oBACpG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,4CAA4C;gBAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAClE,MAAM,KAAK,GAA4B;oBACnC,gBAAgB;oBAChB,SAAS;oBACT,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,UAAU,EAAE,EAAE;iBACjB,CAAC;gBAEF,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACjE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClC,iGAAiG;oBACjG,MAAM,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC;oBAC3G,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,0BAA0B;gBAC1B,MAAM,KAAK,GAAmC,EAAC,OAAO,EAAE,EAAE,EAAC,CAAC;gBAE5D,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClC,MAAM,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC;oBACpG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC9C,MAAM,MAAM,GAAsD;wBAC9D,SAAS;wBACT,WAAW,EAAE,OAAO,CAAC,IAAI;wBACzB,SAAS,EAAE,iBAAiB;wBAC5B,QAAQ;qBACX,CAAC;oBAEF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,gDAAgD;gBAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAwC,EAAC,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;gBAEnF,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBAClE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClC,iGAAiG;oBACjG,MAAM,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC;oBAC3G,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC9C,MAAM,MAAM,GAA2D;wBACnE,SAAS;wBACT,WAAW,EAAE,OAAO,CAAC,IAAI;wBACzB,SAAS,EAAE,iBAAiB;wBAC5B,QAAQ;qBACX,CAAC;oBAEF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,qBAAqB;gBACrB,MAAM,KAAK,GAAwB,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;gBAEvG,+DAA+D;gBAE/D,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;oBACvB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7C,CAAC;gBAED,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;oBAEtD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;gBAChD,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACR,2BAA2B;gBAC3B,MAAM,KAAK,GAA6B,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;gBAE5G,+DAA+D;gBAE/D,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;oBACvB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7C,CAAC;gBAED,OAAO,IAAI,CAAC,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBACtE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAgD,EAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAC,CAAC;oBAEnH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;wBACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;wBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;wBAClC,MAAM,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC;wBAC/G,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG;4BACnC,MAAM;4BACN,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;yBACzC,CAAC;oBACN,CAAC;oBAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAE9D,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,0GAA0G;QAC1G,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC,CAAC;IAC/D,CAAC;IAEM,uBAAuB,CAAC,KAAyB;QACpD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,+BAAuB,CAAC,KAAK,CAAC;YAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC;YAEjD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;IAEM,sBAAsB;QACzB,mBAAmB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEnC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YAClB,kDAAkD;YAClD,OAAO,EAAC,aAAa,EAAE,+BAAuB,CAAC,KAAK,EAAC,CAAC;QAC1D,CAAC;QAED,IAAI,SAAS,GAAG,+BAAuB,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAkC,EAAE,CAAC;YAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,OAAO,EAAC,OAAO,EAAC,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IAEO,4BAA4B,CAAC,QAA8B;QAC/D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC,WAAW;YACX,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAEO,2BAA2B;QAC/B,MAAM,KAAK,GAAyB,EAAE,CAAC;QAEvC,uEAAuE;QACvE,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrD,KAAK,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM;YACV,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,MAAqB;QAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAEO,oBAAoB;QACxB,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEjC,KAAK,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,oBAAoB,CAAC,KAAa;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAEO,mBAAmB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,wCAAwC;IAChC,YAAY;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACjB,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBAClB,qDAAqD;oBACrD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM;YACV,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,kDAAkD;IAC3C,KAAK,CAAC,IAAmC,EAAE,KAAU,EAAE,OAA0B;QACpF,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,gBAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpB,OAAO,CAAC,mBAAmB;YAC/B,CAAC;YACD,KAAK,gBAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,gBAAQ,CAAC,KAAK,CAAC;YACpB,KAAK,gBAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,gBAAQ,CAAC,KAAK,CAAC;YACpB,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,UAAU,CAAC;YACzB,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,GAAG,CAAC;YAClB,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,6BAA6B;YAC7B,gDAAgD;YAChD,4BAA4B;YAC5B,oCAAoC;YACpC,aAAa;YACb,IAAI;YACJ,KAAK,gBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC;YACpB,KAAK,gBAAQ,CAAC,GAAG,CAAC;YAClB,KAAK,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtB,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACV,CAAC;YACD,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACxC,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACpC,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;oBAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAA,qBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;wBACjD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;wBACtC,MAAM;oBACV,CAAC;oBAED,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBACpF,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7C,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,2FAA2F;gBAC3F,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAClC,MAAM;YACV,CAAC;YACD,KAAK,0BAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM;YACV,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,uFAAuF;gBACvF,gEAAgE;gBAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAA,qBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBACtC,MAAM;gBACV,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,iBAAiB,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;IACL,CAAC;IAED,kDAAkD;IAC3C,IAAI,CAAC,IAAmC,EAAE,OAA0B;QACvE,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,gBAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpB,OAAO,CAAC,mBAAmB;YAC/B,CAAC;YACD,KAAK,gBAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,gBAAQ,CAAC,KAAK,CAAC;YACpB,KAAK,gBAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,gBAAQ,CAAC,KAAK,CAAC;YACpB,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,UAAU,CAAC;YACzB,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,GAAG,CAAC;YAClB,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC;YACrB,KAAK,gBAAQ,CAAC,QAAQ,CAAC;YACvB,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,gBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,6BAA6B;YAC7B,gDAAgD;YAChD,4BAA4B;YAC5B,qCAAqC;YACrC,IAAI;YACJ,KAAK,gBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;YACD,KAAK,gBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;YACD,KAAK,gBAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;YACD,KAAK,gBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;YACD,KAAK,gBAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC3B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnC,CAAC;YACD,KAAK,gBAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,CAAC;YACD,KAAK,gBAAQ,CAAC,KAAK,CAAC;YACpB,KAAK,gBAAQ,CAAC,GAAG,CAAC;YAClB,KAAK,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YACD,KAAK,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;YACD,KAAK,gBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,CAAC;YACD,KAAK,gBAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;YACD,KAAK,gBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,0BAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACpC,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;oBAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC;gBAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,0BAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjC,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBAC9E,CAAC;gBAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,0BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClC,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC/E,CAAC;gBAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,0BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClC,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC/E,CAAC;gBAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,0BAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClC,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC/E,CAAC;gBAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,0BAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACpC,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBACjF,CAAC;gBAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,KAAK,0BAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACzC,CAAC;YACD,KAAK,0BAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC;YACD,KAAK,0BAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,wDAAwD;gBACxD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YACD,KAAK,0BAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACzC,CAAC;YACD,KAAK,0BAAkB,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACjD,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAC9C,CAAC;YACD,KAAK,0BAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACvC,CAAC;YACD,KAAK,0BAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtC,CAAC;YACD,KAAK,0BAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,iBAAiB,CAAC,CAAC;IACxD,CAAC;CACJ;AAloCD,gCAkoCC"}
@@ -1,3 +1,3 @@
1
- import type { ClusterDefinition, ClusterName } from "./tstype";
2
- export declare const Clusters: Readonly<Record<ClusterName, Readonly<ClusterDefinition>>>;
1
+ import type { Cluster, ClusterName } from "./tstype";
2
+ export declare const Clusters: Readonly<Record<ClusterName, Cluster>>;
3
3
  //# sourceMappingURL=cluster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../../src/zspec/zcl/definition/cluster.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,iBAAiB,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CA43O/E,CAAC"}
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../../src/zspec/zcl/definition/cluster.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CA+wO3D,CAAC"}