@zwave-js/cc 15.1.1 → 15.1.2

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 (535) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +7 -7
  2. package/build/cjs/cc/AlarmSensorCC.js +22 -23
  3. package/build/cjs/cc/AlarmSensorCC.js.map +3 -3
  4. package/build/cjs/cc/AssociationCC.d.ts +8 -9
  5. package/build/cjs/cc/AssociationCC.js +29 -29
  6. package/build/cjs/cc/AssociationCC.js.map +3 -3
  7. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +7 -7
  8. package/build/cjs/cc/AssociationGroupInfoCC.js +31 -32
  9. package/build/cjs/cc/AssociationGroupInfoCC.js.map +3 -3
  10. package/build/cjs/cc/BarrierOperatorCC.d.ts +8 -8
  11. package/build/cjs/cc/BarrierOperatorCC.js +35 -36
  12. package/build/cjs/cc/BarrierOperatorCC.js.map +3 -3
  13. package/build/cjs/cc/BasicCC.d.ts +4 -4
  14. package/build/cjs/cc/BasicCC.js +23 -24
  15. package/build/cjs/cc/BasicCC.js.map +3 -3
  16. package/build/cjs/cc/BatteryCC.d.ts +4 -7
  17. package/build/cjs/cc/BatteryCC.js +18 -20
  18. package/build/cjs/cc/BatteryCC.js.map +3 -3
  19. package/build/cjs/cc/BinarySensorCC.d.ts +5 -5
  20. package/build/cjs/cc/BinarySensorCC.js +20 -21
  21. package/build/cjs/cc/BinarySensorCC.js.map +3 -3
  22. package/build/cjs/cc/BinarySwitchCC._validateArgs.js +2 -2
  23. package/build/cjs/cc/BinarySwitchCC.d.ts +6 -6
  24. package/build/cjs/cc/BinarySwitchCC.js +26 -26
  25. package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
  26. package/build/cjs/cc/CRC16CC.d.ts +3 -3
  27. package/build/cjs/cc/CRC16CC.js +15 -15
  28. package/build/cjs/cc/CRC16CC.js.map +3 -3
  29. package/build/cjs/cc/CentralSceneCC.d.ts +8 -8
  30. package/build/cjs/cc/CentralSceneCC.js +23 -24
  31. package/build/cjs/cc/CentralSceneCC.js.map +3 -3
  32. package/build/cjs/cc/ClimateControlScheduleCC.d.ts +6 -6
  33. package/build/cjs/cc/ClimateControlScheduleCC.js +19 -20
  34. package/build/cjs/cc/ClimateControlScheduleCC.js.map +3 -3
  35. package/build/cjs/cc/ClockCC.d.ts +3 -4
  36. package/build/cjs/cc/ClockCC.js +13 -14
  37. package/build/cjs/cc/ClockCC.js.map +3 -3
  38. package/build/cjs/cc/ColorSwitchCC.d.ts +3 -4
  39. package/build/cjs/cc/ColorSwitchCC.js +22 -24
  40. package/build/cjs/cc/ColorSwitchCC.js.map +3 -3
  41. package/build/cjs/cc/ConfigurationCC.d.ts +3 -3
  42. package/build/cjs/cc/ConfigurationCC.js +114 -115
  43. package/build/cjs/cc/ConfigurationCC.js.map +3 -3
  44. package/build/cjs/cc/DeviceResetLocallyCC.d.ts +2 -2
  45. package/build/cjs/cc/DeviceResetLocallyCC.js +5 -5
  46. package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
  47. package/build/cjs/cc/DoorLockCC.d.ts +29 -29
  48. package/build/cjs/cc/DoorLockCC.js +39 -40
  49. package/build/cjs/cc/DoorLockCC.js.map +3 -3
  50. package/build/cjs/cc/DoorLockLoggingCC.d.ts +4 -4
  51. package/build/cjs/cc/DoorLockLoggingCC.js +13 -14
  52. package/build/cjs/cc/DoorLockLoggingCC.js.map +3 -3
  53. package/build/cjs/cc/EnergyProductionCC.d.ts +2 -3
  54. package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
  55. package/build/cjs/cc/EntryControlCC.d.ts +8 -8
  56. package/build/cjs/cc/EntryControlCC.js +41 -42
  57. package/build/cjs/cc/EntryControlCC.js.map +3 -3
  58. package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +9 -10
  59. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +52 -53
  60. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +3 -3
  61. package/build/cjs/cc/HailCC.js +2 -2
  62. package/build/cjs/cc/HailCC.js.map +1 -1
  63. package/build/cjs/cc/HumidityControlModeCC.d.ts +5 -5
  64. package/build/cjs/cc/HumidityControlModeCC.js +20 -21
  65. package/build/cjs/cc/HumidityControlModeCC.js.map +3 -3
  66. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +3 -3
  67. package/build/cjs/cc/HumidityControlOperatingStateCC.js +9 -9
  68. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +3 -3
  69. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +6 -6
  70. package/build/cjs/cc/HumidityControlSetpointCC.js +43 -44
  71. package/build/cjs/cc/HumidityControlSetpointCC.js.map +3 -3
  72. package/build/cjs/cc/InclusionControllerCC.d.ts +2 -3
  73. package/build/cjs/cc/InclusionControllerCC.js.map +2 -2
  74. package/build/cjs/cc/IndicatorCC.d.ts +3 -3
  75. package/build/cjs/cc/IndicatorCC.js +50 -52
  76. package/build/cjs/cc/IndicatorCC.js.map +3 -3
  77. package/build/cjs/cc/IrrigationCC.d.ts +3 -3
  78. package/build/cjs/cc/IrrigationCC.js +74 -75
  79. package/build/cjs/cc/IrrigationCC.js.map +3 -3
  80. package/build/cjs/cc/LanguageCC.d.ts +5 -6
  81. package/build/cjs/cc/LanguageCC.js +14 -15
  82. package/build/cjs/cc/LanguageCC.js.map +3 -3
  83. package/build/cjs/cc/LockCC.d.ts +4 -4
  84. package/build/cjs/cc/LockCC.js +10 -10
  85. package/build/cjs/cc/LockCC.js.map +3 -3
  86. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +3 -3
  87. package/build/cjs/cc/ManufacturerProprietaryCC.js +10 -10
  88. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +3 -3
  89. package/build/cjs/cc/ManufacturerSpecificCC.d.ts +7 -8
  90. package/build/cjs/cc/ManufacturerSpecificCC.js +20 -21
  91. package/build/cjs/cc/ManufacturerSpecificCC.js.map +3 -3
  92. package/build/cjs/cc/MeterCC.d.ts +4 -6
  93. package/build/cjs/cc/MeterCC.js +52 -54
  94. package/build/cjs/cc/MeterCC.js.map +3 -3
  95. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +7 -8
  96. package/build/cjs/cc/MultiChannelAssociationCC.js +34 -35
  97. package/build/cjs/cc/MultiChannelAssociationCC.js.map +3 -3
  98. package/build/cjs/cc/MultiChannelCC.d.ts +11 -11
  99. package/build/cjs/cc/MultiChannelCC.js +53 -53
  100. package/build/cjs/cc/MultiChannelCC.js.map +3 -3
  101. package/build/cjs/cc/MultiCommandCC.d.ts +3 -3
  102. package/build/cjs/cc/MultiCommandCC.js +13 -13
  103. package/build/cjs/cc/MultiCommandCC.js.map +3 -3
  104. package/build/cjs/cc/MultilevelSensorCC.d.ts +4 -7
  105. package/build/cjs/cc/MultilevelSensorCC.js +26 -28
  106. package/build/cjs/cc/MultilevelSensorCC.js.map +3 -3
  107. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.js +3 -3
  108. package/build/cjs/cc/MultilevelSwitchCC.d.ts +13 -13
  109. package/build/cjs/cc/MultilevelSwitchCC.js +36 -37
  110. package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
  111. package/build/cjs/cc/NoOperationCC.js +4 -4
  112. package/build/cjs/cc/NoOperationCC.js.map +1 -1
  113. package/build/cjs/cc/NodeNamingCC.d.ts +5 -5
  114. package/build/cjs/cc/NodeNamingCC.js +20 -20
  115. package/build/cjs/cc/NodeNamingCC.js.map +3 -3
  116. package/build/cjs/cc/NotificationCC.d.ts +4 -5
  117. package/build/cjs/cc/NotificationCC.js +66 -68
  118. package/build/cjs/cc/NotificationCC.js.map +3 -3
  119. package/build/cjs/cc/PowerlevelCC.d.ts +3 -3
  120. package/build/cjs/cc/PowerlevelCC.js +25 -26
  121. package/build/cjs/cc/PowerlevelCC.js.map +3 -3
  122. package/build/cjs/cc/ProtectionCC._validateArgs.js +2 -2
  123. package/build/cjs/cc/ProtectionCC.d.ts +11 -11
  124. package/build/cjs/cc/ProtectionCC.js +35 -36
  125. package/build/cjs/cc/ProtectionCC.js.map +3 -3
  126. package/build/cjs/cc/SceneActivationCC._validateArgs.js +2 -2
  127. package/build/cjs/cc/SceneActivationCC.d.ts +5 -6
  128. package/build/cjs/cc/SceneActivationCC.js +10 -10
  129. package/build/cjs/cc/SceneActivationCC.js.map +3 -3
  130. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.js +2 -2
  131. package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +5 -5
  132. package/build/cjs/cc/SceneActuatorConfigurationCC.js +19 -20
  133. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +3 -3
  134. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.js +2 -2
  135. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +6 -6
  136. package/build/cjs/cc/SceneControllerConfigurationCC.js +25 -26
  137. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +3 -3
  138. package/build/cjs/cc/ScheduleEntryLockCC.d.ts +2 -3
  139. package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
  140. package/build/cjs/cc/Security2CC.d.ts +3 -4
  141. package/build/cjs/cc/Security2CC.js +60 -62
  142. package/build/cjs/cc/Security2CC.js.map +3 -3
  143. package/build/cjs/cc/SecurityCC.d.ts +3 -4
  144. package/build/cjs/cc/SecurityCC.js +25 -26
  145. package/build/cjs/cc/SecurityCC.js.map +3 -3
  146. package/build/cjs/cc/SoundSwitchCC.d.ts +7 -7
  147. package/build/cjs/cc/SoundSwitchCC.js +28 -29
  148. package/build/cjs/cc/SoundSwitchCC.js.map +3 -3
  149. package/build/cjs/cc/SupervisionCC.d.ts +4 -4
  150. package/build/cjs/cc/SupervisionCC.js +28 -29
  151. package/build/cjs/cc/SupervisionCC.js.map +3 -3
  152. package/build/cjs/cc/ThermostatFanModeCC.d.ts +6 -6
  153. package/build/cjs/cc/ThermostatFanModeCC.js +21 -22
  154. package/build/cjs/cc/ThermostatFanModeCC.js.map +3 -3
  155. package/build/cjs/cc/ThermostatFanStateCC.d.ts +3 -3
  156. package/build/cjs/cc/ThermostatFanStateCC.js +9 -9
  157. package/build/cjs/cc/ThermostatFanStateCC.js.map +3 -3
  158. package/build/cjs/cc/ThermostatModeCC.d.ts +6 -6
  159. package/build/cjs/cc/ThermostatModeCC.js +30 -31
  160. package/build/cjs/cc/ThermostatModeCC.js.map +3 -3
  161. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +3 -4
  162. package/build/cjs/cc/ThermostatOperatingStateCC.js +9 -9
  163. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +3 -3
  164. package/build/cjs/cc/ThermostatSetbackCC.d.ts +3 -3
  165. package/build/cjs/cc/ThermostatSetbackCC.js +14 -15
  166. package/build/cjs/cc/ThermostatSetbackCC.js.map +3 -3
  167. package/build/cjs/cc/ThermostatSetpointCC.d.ts +6 -6
  168. package/build/cjs/cc/ThermostatSetpointCC.js +48 -49
  169. package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
  170. package/build/cjs/cc/TimeCC.d.ts +3 -4
  171. package/build/cjs/cc/TimeCC.js +9 -10
  172. package/build/cjs/cc/TimeCC.js.map +3 -3
  173. package/build/cjs/cc/TimeParametersCC.d.ts +3 -4
  174. package/build/cjs/cc/TimeParametersCC.js +2 -2
  175. package/build/cjs/cc/TimeParametersCC.js.map +2 -2
  176. package/build/cjs/cc/TransportServiceCC.d.ts +3 -3
  177. package/build/cjs/cc/TransportServiceCC.js +44 -45
  178. package/build/cjs/cc/TransportServiceCC.js.map +3 -3
  179. package/build/cjs/cc/UserCodeCC.d.ts +19 -19
  180. package/build/cjs/cc/UserCodeCC.js +102 -103
  181. package/build/cjs/cc/UserCodeCC.js.map +3 -3
  182. package/build/cjs/cc/VersionCC.d.ts +17 -17
  183. package/build/cjs/cc/VersionCC.js +46 -47
  184. package/build/cjs/cc/VersionCC.js.map +3 -3
  185. package/build/cjs/cc/WakeUpCC.d.ts +6 -6
  186. package/build/cjs/cc/WakeUpCC.js +16 -17
  187. package/build/cjs/cc/WakeUpCC.js.map +3 -3
  188. package/build/cjs/cc/WindowCoveringCC.d.ts +3 -4
  189. package/build/cjs/cc/WindowCoveringCC.js +17 -18
  190. package/build/cjs/cc/WindowCoveringCC.js.map +3 -3
  191. package/build/cjs/cc/ZWavePlusCC.d.ts +8 -8
  192. package/build/cjs/cc/ZWavePlusCC.js +15 -16
  193. package/build/cjs/cc/ZWavePlusCC.js.map +3 -3
  194. package/build/cjs/cc/ZWaveProtocolCC.d.ts +2 -2
  195. package/build/cjs/cc/ZWaveProtocolCC.js +35 -35
  196. package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
  197. package/build/cjs/cc/_CCValues.generated.js +24 -26
  198. package/build/cjs/cc/_CCValues.generated.js.map +3 -3
  199. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  200. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +14 -14
  201. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  202. package/build/cjs/lib/API.d.ts +3 -3
  203. package/build/cjs/lib/API.js.map +2 -2
  204. package/build/cjs/lib/CommandClass.d.ts +5 -6
  205. package/build/cjs/lib/CommandClass.js +45 -45
  206. package/build/cjs/lib/CommandClass.js.map +3 -3
  207. package/build/cjs/lib/CommandClassDecorators.d.ts +2 -2
  208. package/build/cjs/lib/CommandClassDecorators.js +3 -3
  209. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  210. package/build/cjs/lib/Security2/Extension.d.ts +2 -2
  211. package/build/cjs/lib/Security2/Extension.js +17 -17
  212. package/build/cjs/lib/Security2/Extension.js.map +3 -3
  213. package/build/cjs/lib/SetValueResult.d.ts +1 -1
  214. package/build/cjs/lib/SetValueResult.js.map +1 -1
  215. package/build/cjs/lib/Values.d.ts +3 -3
  216. package/build/cjs/lib/Values.js +6 -6
  217. package/build/cjs/lib/Values.js.map +2 -2
  218. package/build/cjs/lib/_Types.d.ts +2 -2
  219. package/build/cjs/lib/_Types.js +3 -3
  220. package/build/cjs/lib/_Types.js.map +1 -1
  221. package/build/cjs/lib/serializers.d.ts +1 -1
  222. package/build/cjs/lib/serializers.js +5 -5
  223. package/build/cjs/lib/serializers.js.map +2 -2
  224. package/build/cjs/lib/traits.d.ts +2 -2
  225. package/build/cjs/lib/utils.d.ts +2 -2
  226. package/build/cjs/lib/utils.js +60 -60
  227. package/build/cjs/lib/utils.js.map +3 -3
  228. package/build/esm/cc/AlarmSensorCC.d.ts +7 -7
  229. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  230. package/build/esm/cc/AlarmSensorCC.js +2 -3
  231. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  232. package/build/esm/cc/AssociationCC.d.ts +8 -9
  233. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  234. package/build/esm/cc/AssociationCC.js +2 -2
  235. package/build/esm/cc/AssociationCC.js.map +1 -1
  236. package/build/esm/cc/AssociationGroupInfoCC.d.ts +7 -7
  237. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  238. package/build/esm/cc/AssociationGroupInfoCC.js +2 -3
  239. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  240. package/build/esm/cc/BarrierOperatorCC.d.ts +8 -8
  241. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  242. package/build/esm/cc/BarrierOperatorCC.js +2 -3
  243. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  244. package/build/esm/cc/BasicCC.d.ts +4 -4
  245. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  246. package/build/esm/cc/BasicCC.js +2 -3
  247. package/build/esm/cc/BasicCC.js.map +1 -1
  248. package/build/esm/cc/BatteryCC.d.ts +4 -7
  249. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  250. package/build/esm/cc/BatteryCC.js +2 -4
  251. package/build/esm/cc/BatteryCC.js.map +1 -1
  252. package/build/esm/cc/BinarySensorCC.d.ts +5 -5
  253. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  254. package/build/esm/cc/BinarySensorCC.js +2 -3
  255. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  256. package/build/esm/cc/BinarySwitchCC._validateArgs.js +1 -1
  257. package/build/esm/cc/BinarySwitchCC._validateArgs.js.map +1 -1
  258. package/build/esm/cc/BinarySwitchCC.d.ts +6 -6
  259. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  260. package/build/esm/cc/BinarySwitchCC.js +2 -2
  261. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  262. package/build/esm/cc/CRC16CC.d.ts +3 -3
  263. package/build/esm/cc/CRC16CC.d.ts.map +1 -1
  264. package/build/esm/cc/CRC16CC.js +2 -2
  265. package/build/esm/cc/CRC16CC.js.map +1 -1
  266. package/build/esm/cc/CentralSceneCC.d.ts +8 -8
  267. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  268. package/build/esm/cc/CentralSceneCC.js +2 -3
  269. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  270. package/build/esm/cc/ClimateControlScheduleCC.d.ts +6 -6
  271. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  272. package/build/esm/cc/ClimateControlScheduleCC.js +2 -3
  273. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  274. package/build/esm/cc/ClockCC.d.ts +3 -4
  275. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  276. package/build/esm/cc/ClockCC.js +2 -3
  277. package/build/esm/cc/ClockCC.js.map +1 -1
  278. package/build/esm/cc/ColorSwitchCC.d.ts +3 -4
  279. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  280. package/build/esm/cc/ColorSwitchCC.js +2 -4
  281. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  282. package/build/esm/cc/ConfigurationCC.d.ts +3 -3
  283. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  284. package/build/esm/cc/ConfigurationCC.js +2 -3
  285. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  286. package/build/esm/cc/DeviceResetLocallyCC.d.ts +2 -2
  287. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  288. package/build/esm/cc/DeviceResetLocallyCC.js +1 -1
  289. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  290. package/build/esm/cc/DoorLockCC.d.ts +29 -29
  291. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  292. package/build/esm/cc/DoorLockCC.js +2 -3
  293. package/build/esm/cc/DoorLockCC.js.map +1 -1
  294. package/build/esm/cc/DoorLockLoggingCC.d.ts +4 -4
  295. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  296. package/build/esm/cc/DoorLockLoggingCC.js +2 -3
  297. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  298. package/build/esm/cc/EnergyProductionCC.d.ts +2 -3
  299. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
  300. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  301. package/build/esm/cc/EntryControlCC.d.ts +8 -8
  302. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  303. package/build/esm/cc/EntryControlCC.js +2 -3
  304. package/build/esm/cc/EntryControlCC.js.map +1 -1
  305. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +9 -10
  306. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  307. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +2 -3
  308. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  309. package/build/esm/cc/HailCC.js +1 -1
  310. package/build/esm/cc/HailCC.js.map +1 -1
  311. package/build/esm/cc/HumidityControlModeCC.d.ts +5 -5
  312. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  313. package/build/esm/cc/HumidityControlModeCC.js +2 -3
  314. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  315. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +3 -3
  316. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  317. package/build/esm/cc/HumidityControlOperatingStateCC.js +2 -2
  318. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  319. package/build/esm/cc/HumidityControlSetpointCC.d.ts +6 -6
  320. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  321. package/build/esm/cc/HumidityControlSetpointCC.js +2 -3
  322. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  323. package/build/esm/cc/InclusionControllerCC.d.ts +2 -3
  324. package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
  325. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  326. package/build/esm/cc/IndicatorCC.d.ts +3 -3
  327. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  328. package/build/esm/cc/IndicatorCC.js +2 -4
  329. package/build/esm/cc/IndicatorCC.js.map +1 -1
  330. package/build/esm/cc/IrrigationCC.d.ts +3 -3
  331. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  332. package/build/esm/cc/IrrigationCC.js +2 -3
  333. package/build/esm/cc/IrrigationCC.js.map +1 -1
  334. package/build/esm/cc/LanguageCC.d.ts +5 -6
  335. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  336. package/build/esm/cc/LanguageCC.js +2 -3
  337. package/build/esm/cc/LanguageCC.js.map +1 -1
  338. package/build/esm/cc/LockCC.d.ts +4 -4
  339. package/build/esm/cc/LockCC.d.ts.map +1 -1
  340. package/build/esm/cc/LockCC.js +2 -2
  341. package/build/esm/cc/LockCC.js.map +1 -1
  342. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +3 -3
  343. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  344. package/build/esm/cc/ManufacturerProprietaryCC.js +2 -2
  345. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  346. package/build/esm/cc/ManufacturerSpecificCC.d.ts +7 -8
  347. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  348. package/build/esm/cc/ManufacturerSpecificCC.js +2 -3
  349. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  350. package/build/esm/cc/MeterCC.d.ts +4 -6
  351. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  352. package/build/esm/cc/MeterCC.js +2 -4
  353. package/build/esm/cc/MeterCC.js.map +1 -1
  354. package/build/esm/cc/MultiChannelAssociationCC.d.ts +7 -8
  355. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  356. package/build/esm/cc/MultiChannelAssociationCC.js +2 -3
  357. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  358. package/build/esm/cc/MultiChannelCC.d.ts +11 -11
  359. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  360. package/build/esm/cc/MultiChannelCC.js +2 -2
  361. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  362. package/build/esm/cc/MultiCommandCC.d.ts +3 -3
  363. package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
  364. package/build/esm/cc/MultiCommandCC.js +2 -2
  365. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  366. package/build/esm/cc/MultilevelSensorCC.d.ts +4 -7
  367. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  368. package/build/esm/cc/MultilevelSensorCC.js +2 -4
  369. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  370. package/build/esm/cc/MultilevelSwitchCC._validateArgs.js +1 -1
  371. package/build/esm/cc/MultilevelSwitchCC._validateArgs.js.map +1 -1
  372. package/build/esm/cc/MultilevelSwitchCC.d.ts +13 -13
  373. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  374. package/build/esm/cc/MultilevelSwitchCC.js +2 -3
  375. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  376. package/build/esm/cc/NoOperationCC.js +1 -1
  377. package/build/esm/cc/NoOperationCC.js.map +1 -1
  378. package/build/esm/cc/NodeNamingCC.d.ts +5 -5
  379. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  380. package/build/esm/cc/NodeNamingCC.js +2 -2
  381. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  382. package/build/esm/cc/NotificationCC.d.ts +4 -5
  383. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  384. package/build/esm/cc/NotificationCC.js +2 -4
  385. package/build/esm/cc/NotificationCC.js.map +1 -1
  386. package/build/esm/cc/PowerlevelCC.d.ts +3 -3
  387. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
  388. package/build/esm/cc/PowerlevelCC.js +2 -3
  389. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  390. package/build/esm/cc/ProtectionCC._validateArgs.js +1 -1
  391. package/build/esm/cc/ProtectionCC._validateArgs.js.map +1 -1
  392. package/build/esm/cc/ProtectionCC.d.ts +11 -11
  393. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  394. package/build/esm/cc/ProtectionCC.js +2 -3
  395. package/build/esm/cc/ProtectionCC.js.map +1 -1
  396. package/build/esm/cc/SceneActivationCC._validateArgs.js +1 -1
  397. package/build/esm/cc/SceneActivationCC._validateArgs.js.map +1 -1
  398. package/build/esm/cc/SceneActivationCC.d.ts +5 -6
  399. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
  400. package/build/esm/cc/SceneActivationCC.js +2 -2
  401. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  402. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js +1 -1
  403. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.js.map +1 -1
  404. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +5 -5
  405. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
  406. package/build/esm/cc/SceneActuatorConfigurationCC.js +2 -3
  407. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  408. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js +1 -1
  409. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.js.map +1 -1
  410. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +6 -6
  411. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  412. package/build/esm/cc/SceneControllerConfigurationCC.js +2 -3
  413. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  414. package/build/esm/cc/ScheduleEntryLockCC.d.ts +2 -3
  415. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  416. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  417. package/build/esm/cc/Security2CC.d.ts +3 -4
  418. package/build/esm/cc/Security2CC.d.ts.map +1 -1
  419. package/build/esm/cc/Security2CC.js +2 -4
  420. package/build/esm/cc/Security2CC.js.map +1 -1
  421. package/build/esm/cc/SecurityCC.d.ts +3 -4
  422. package/build/esm/cc/SecurityCC.d.ts.map +1 -1
  423. package/build/esm/cc/SecurityCC.js +1 -2
  424. package/build/esm/cc/SecurityCC.js.map +1 -1
  425. package/build/esm/cc/SoundSwitchCC.d.ts +7 -7
  426. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  427. package/build/esm/cc/SoundSwitchCC.js +2 -3
  428. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  429. package/build/esm/cc/SupervisionCC.d.ts +4 -4
  430. package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
  431. package/build/esm/cc/SupervisionCC.js +2 -3
  432. package/build/esm/cc/SupervisionCC.js.map +1 -1
  433. package/build/esm/cc/ThermostatFanModeCC.d.ts +6 -6
  434. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  435. package/build/esm/cc/ThermostatFanModeCC.js +2 -3
  436. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  437. package/build/esm/cc/ThermostatFanStateCC.d.ts +3 -3
  438. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  439. package/build/esm/cc/ThermostatFanStateCC.js +2 -2
  440. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  441. package/build/esm/cc/ThermostatModeCC.d.ts +6 -6
  442. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  443. package/build/esm/cc/ThermostatModeCC.js +2 -3
  444. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  445. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +3 -4
  446. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  447. package/build/esm/cc/ThermostatOperatingStateCC.js +2 -2
  448. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  449. package/build/esm/cc/ThermostatSetbackCC.d.ts +3 -3
  450. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
  451. package/build/esm/cc/ThermostatSetbackCC.js +2 -3
  452. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  453. package/build/esm/cc/ThermostatSetpointCC.d.ts +6 -6
  454. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  455. package/build/esm/cc/ThermostatSetpointCC.js +2 -3
  456. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  457. package/build/esm/cc/TimeCC.d.ts +3 -4
  458. package/build/esm/cc/TimeCC.d.ts.map +1 -1
  459. package/build/esm/cc/TimeCC.js +1 -2
  460. package/build/esm/cc/TimeCC.js.map +1 -1
  461. package/build/esm/cc/TimeParametersCC.d.ts +3 -4
  462. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  463. package/build/esm/cc/TimeParametersCC.js +1 -1
  464. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  465. package/build/esm/cc/TransportServiceCC.d.ts +3 -3
  466. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
  467. package/build/esm/cc/TransportServiceCC.js +2 -3
  468. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  469. package/build/esm/cc/UserCodeCC.d.ts +19 -19
  470. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  471. package/build/esm/cc/UserCodeCC.js +2 -3
  472. package/build/esm/cc/UserCodeCC.js.map +1 -1
  473. package/build/esm/cc/VersionCC.d.ts +17 -17
  474. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  475. package/build/esm/cc/VersionCC.js +2 -3
  476. package/build/esm/cc/VersionCC.js.map +1 -1
  477. package/build/esm/cc/WakeUpCC.d.ts +6 -6
  478. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  479. package/build/esm/cc/WakeUpCC.js +2 -3
  480. package/build/esm/cc/WakeUpCC.js.map +1 -1
  481. package/build/esm/cc/WindowCoveringCC.d.ts +3 -4
  482. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  483. package/build/esm/cc/WindowCoveringCC.js +1 -2
  484. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  485. package/build/esm/cc/ZWavePlusCC.d.ts +8 -8
  486. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  487. package/build/esm/cc/ZWavePlusCC.js +2 -3
  488. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  489. package/build/esm/cc/ZWaveProtocolCC.d.ts +2 -2
  490. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
  491. package/build/esm/cc/ZWaveProtocolCC.js +1 -1
  492. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  493. package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
  494. package/build/esm/cc/_CCValues.generated.js +2 -4
  495. package/build/esm/cc/_CCValues.generated.js.map +1 -1
  496. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  497. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  498. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +1 -1
  499. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  500. package/build/esm/lib/API.d.ts +3 -3
  501. package/build/esm/lib/API.d.ts.map +1 -1
  502. package/build/esm/lib/API.js.map +1 -1
  503. package/build/esm/lib/CommandClass.d.ts +5 -6
  504. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  505. package/build/esm/lib/CommandClass.js +2 -2
  506. package/build/esm/lib/CommandClass.js.map +1 -1
  507. package/build/esm/lib/CommandClassDecorators.d.ts +2 -2
  508. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  509. package/build/esm/lib/CommandClassDecorators.js +1 -1
  510. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  511. package/build/esm/lib/Security2/Extension.d.ts +2 -2
  512. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  513. package/build/esm/lib/Security2/Extension.js +2 -2
  514. package/build/esm/lib/Security2/Extension.js.map +1 -1
  515. package/build/esm/lib/SetValueResult.d.ts +1 -1
  516. package/build/esm/lib/SetValueResult.d.ts.map +1 -1
  517. package/build/esm/lib/Values.d.ts +3 -3
  518. package/build/esm/lib/Values.d.ts.map +1 -1
  519. package/build/esm/lib/Values.js +1 -1
  520. package/build/esm/lib/Values.js.map +1 -1
  521. package/build/esm/lib/_Types.d.ts +2 -2
  522. package/build/esm/lib/_Types.d.ts.map +1 -1
  523. package/build/esm/lib/_Types.js +1 -1
  524. package/build/esm/lib/_Types.js.map +1 -1
  525. package/build/esm/lib/serializers.d.ts +1 -1
  526. package/build/esm/lib/serializers.d.ts.map +1 -1
  527. package/build/esm/lib/serializers.js +1 -1
  528. package/build/esm/lib/serializers.js.map +1 -1
  529. package/build/esm/lib/traits.d.ts +2 -2
  530. package/build/esm/lib/traits.d.ts.map +1 -1
  531. package/build/esm/lib/utils.d.ts +2 -2
  532. package/build/esm/lib/utils.d.ts.map +1 -1
  533. package/build/esm/lib/utils.js +2 -2
  534. package/build/esm/lib/utils.js.map +1 -1
  535. package/package.json +6 -6
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/ZWaveProtocolCC.ts"],
4
- "sourcesContent": ["import { type CCEncodingContext, type CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\ttype BasicDeviceClass,\n\tCommandClasses,\n\ttype DataRate,\n\ttype FLiRS,\n\tMAX_NODES,\n\tMAX_REPEATERS,\n\ttype NodeInformationFrame,\n\ttype NodeProtocolInfoAndDeviceClass,\n\ttype NodeType,\n\ttype ProtocolVersion,\n\ttype WithAddress,\n\tZWaveDataRate,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeBitMask,\n\tencodeNodeInformationFrame,\n\tencodeNodeProtocolInfoAndDeviceClass,\n\tparseBitMask,\n\tparseNodeInformationFrame,\n\tparseNodeProtocolInfoAndDeviceClass,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport {\n\tCCCommand,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport {\n\ttype NetworkTransferStatus,\n\tWakeUpTime,\n\tZWaveProtocolCommand,\n\tparseWakeUpTime,\n} from \"../lib/_Types.js\";\n\nenum DataRateBitmask {\n\t\"9k6\" = 0b001,\n\t\"40k\" = 0b010,\n\t\"100k\" = 0b100,\n}\n\nfunction dataRate2Bitmask(dataRate: ZWaveDataRate): DataRateBitmask {\n\treturn dataRate === ZWaveDataRate[\"100k\"]\n\t\t? DataRateBitmask[\"100k\"]\n\t\t: dataRate === ZWaveDataRate[\"40k\"]\n\t\t? DataRateBitmask[\"40k\"]\n\t\t: DataRateBitmask[\"9k6\"];\n}\n\nfunction bitmask2DataRate(mask: DataRateBitmask): ZWaveDataRate {\n\treturn mask === DataRateBitmask[\"100k\"]\n\t\t? ZWaveDataRate[\"100k\"]\n\t\t: mask === DataRateBitmask[\"40k\"]\n\t\t? ZWaveDataRate[\"40k\"]\n\t\t: ZWaveDataRate[\"9k6\"];\n}\n\n@commandClass(CommandClasses[\"Z-Wave Protocol\"])\n@implementedVersion(1)\nexport class ZWaveProtocolCC extends CommandClass {\n\tdeclare ccCommand: ZWaveProtocolCommand;\n}\n\n// @publicAPI\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ZWaveProtocolCCNodeInformationFrameOptions\n\textends NodeInformationFrame\n{}\n\n@CCCommand(ZWaveProtocolCommand.NodeInformationFrame)\nexport class ZWaveProtocolCCNodeInformationFrame extends ZWaveProtocolCC\n\timplements NodeInformationFrame\n{\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNodeInformationFrameOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.basicDeviceClass = options.basicDeviceClass;\n\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t\tthis.specificDeviceClass = options.specificDeviceClass;\n\t\tthis.isListening = options.isListening;\n\t\tthis.isFrequentListening = options.isFrequentListening;\n\t\tthis.isRouting = options.isRouting;\n\t\tthis.supportedDataRates = options.supportedDataRates;\n\t\tthis.protocolVersion = options.protocolVersion;\n\t\tthis.optionalFunctionality = options.optionalFunctionality;\n\t\tthis.nodeType = options.nodeType;\n\t\tthis.supportsSecurity = options.supportsSecurity;\n\t\tthis.supportsBeaming = options.supportsBeaming;\n\t\tthis.supportedCCs = options.supportedCCs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNodeInformationFrame {\n\t\tconst nif = parseNodeInformationFrame(raw.payload);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t...nif,\n\t\t});\n\t}\n\n\tpublic basicDeviceClass: BasicDeviceClass;\n\tpublic genericDeviceClass: number;\n\tpublic specificDeviceClass: number;\n\tpublic isListening: boolean;\n\tpublic isFrequentListening: FLiRS;\n\tpublic isRouting: boolean;\n\tpublic supportedDataRates: DataRate[];\n\tpublic protocolVersion: ProtocolVersion;\n\tpublic optionalFunctionality: boolean;\n\tpublic nodeType: NodeType;\n\tpublic supportsSecurity: boolean;\n\tpublic supportsBeaming: boolean;\n\tpublic supportedCCs: CommandClasses[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = encodeNodeInformationFrame(this);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.RequestNodeInformationFrame)\n@expectedCCResponse(ZWaveProtocolCCNodeInformationFrame)\nexport class ZWaveProtocolCCRequestNodeInformationFrame\n\textends ZWaveProtocolCC\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCAssignIDsOptions {\n\tassignedNodeId: number;\n\thomeId: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignIDs)\nexport class ZWaveProtocolCCAssignIDs extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCAssignIDsOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.assignedNodeId = options.assignedNodeId;\n\t\tthis.homeId = options.homeId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCAssignIDs {\n\t\tvalidatePayload(raw.payload.length >= 5);\n\t\tconst assignedNodeId = raw.payload[0];\n\t\tconst homeId = raw.payload.readUInt32BE(1);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tassignedNodeId,\n\t\t\thomeId,\n\t\t});\n\t}\n\n\tpublic assignedNodeId: number;\n\tpublic homeId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = new Bytes(5);\n\t\tthis.payload[0] = this.assignedNodeId;\n\t\tthis.payload.writeUInt32BE(this.homeId, 1);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCFindNodesInRangeOptions {\n\tcandidateNodeIds: number[];\n\twakeUpTime: WakeUpTime;\n\tdataRate?: ZWaveDataRate;\n}\n\n@CCCommand(ZWaveProtocolCommand.FindNodesInRange)\nexport class ZWaveProtocolCCFindNodesInRange extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCFindNodesInRangeOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.candidateNodeIds = options.candidateNodeIds;\n\t\tthis.wakeUpTime = options.wakeUpTime;\n\t\tthis.dataRate = options.dataRate ?? ZWaveDataRate[\"9k6\"];\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCFindNodesInRange {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst speedPresent = raw.payload[0] & 0b1000_0000;\n\t\tconst bitmaskLength = raw.payload[0] & 0b0001_1111;\n\n\t\tvalidatePayload(raw.payload.length >= 1 + bitmaskLength);\n\t\tconst candidateNodeIds = parseBitMask(\n\t\t\traw.payload.subarray(1, 1 + bitmaskLength),\n\t\t);\n\t\tconst rest = raw.payload.subarray(1 + bitmaskLength);\n\n\t\tlet dataRate: ZWaveDataRate;\n\t\tlet wakeUpTime: WakeUpTime;\n\t\tif (speedPresent) {\n\t\t\tvalidatePayload(rest.length >= 1);\n\t\t\tif (rest.length === 1) {\n\t\t\t\tdataRate = rest[0] & 0b111;\n\t\t\t\twakeUpTime = WakeUpTime.None;\n\t\t\t} else if (rest.length === 2) {\n\t\t\t\twakeUpTime = parseWakeUpTime(rest[0]);\n\t\t\t\tdataRate = rest[1] & 0b111;\n\t\t\t} else {\n\t\t\t\tvalidatePayload.fail(\"Invalid payload length\");\n\t\t\t}\n\t\t} else if (rest.length >= 1) {\n\t\t\twakeUpTime = parseWakeUpTime(rest[0]);\n\t\t\tdataRate = ZWaveDataRate[\"9k6\"];\n\t\t} else {\n\t\t\twakeUpTime = WakeUpTime.None;\n\t\t\tdataRate = ZWaveDataRate[\"9k6\"];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tcandidateNodeIds,\n\t\t\tdataRate,\n\t\t\twakeUpTime,\n\t\t});\n\t}\n\n\tpublic candidateNodeIds: number[];\n\tpublic wakeUpTime: WakeUpTime;\n\tpublic dataRate: ZWaveDataRate;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst nodesBitmask = encodeBitMask(this.candidateNodeIds, MAX_NODES);\n\t\tconst speedAndLength = 0b1000_0000 | nodesBitmask.length;\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([speedAndLength]),\n\t\t\tnodesBitmask,\n\t\t\tBytes.from([this.wakeUpTime, this.dataRate]),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCRangeInfoOptions {\n\tneighborNodeIds: number[];\n\twakeUpTime?: WakeUpTime;\n}\n\n@CCCommand(ZWaveProtocolCommand.RangeInfo)\nexport class ZWaveProtocolCCRangeInfo extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCRangeInfoOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.neighborNodeIds = options.neighborNodeIds;\n\t\tthis.wakeUpTime = options.wakeUpTime;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCRangeInfo {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst bitmaskLength = raw.payload[0] & 0b0001_1111;\n\n\t\tvalidatePayload(raw.payload.length >= 1 + bitmaskLength);\n\t\tconst neighborNodeIds = parseBitMask(\n\t\t\traw.payload.subarray(1, 1 + bitmaskLength),\n\t\t);\n\n\t\tlet wakeUpTime: WakeUpTime | undefined;\n\t\tif (raw.payload.length >= 2 + bitmaskLength) {\n\t\t\twakeUpTime = parseWakeUpTime(\n\t\t\t\traw.payload[1 + bitmaskLength],\n\t\t\t);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tneighborNodeIds,\n\t\t\twakeUpTime,\n\t\t});\n\t}\n\n\tpublic neighborNodeIds: number[];\n\tpublic wakeUpTime?: WakeUpTime;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([nodesBitmask.length]),\n\t\t\tnodesBitmask,\n\t\t\tthis.wakeUpTime != undefined\n\t\t\t\t? Bytes.from([this.wakeUpTime])\n\t\t\t\t: new Bytes(),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.GetNodesInRange)\n@expectedCCResponse(ZWaveProtocolCCRangeInfo)\nexport class ZWaveProtocolCCGetNodesInRange extends ZWaveProtocolCC {}\n\n// @publicAPI\nexport interface ZWaveProtocolCCCommandCompleteOptions {\n\tsequenceNumber: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.CommandComplete)\nexport class ZWaveProtocolCCCommandComplete extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCCommandCompleteOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCCommandComplete {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst sequenceNumber = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t});\n\t}\n\n\tpublic sequenceNumber: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.sequenceNumber]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferPresentationOptions {\n\tsupportsNWI: boolean;\n\tincludeNode: boolean;\n\texcludeNode: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferPresentation)\nexport class ZWaveProtocolCCTransferPresentation extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCTransferPresentationOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.includeNode && options.excludeNode) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`${this.constructor.name}: the includeNode and excludeNode options cannot both be true`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.supportsNWI = options.supportsNWI;\n\t\tthis.includeNode = options.includeNode;\n\t\tthis.excludeNode = options.excludeNode;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferPresentation {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst option = raw.payload[0];\n\t\tconst supportsNWI = !!(option & 0b0001);\n\t\tconst excludeNode = !!(option & 0b0010);\n\t\tconst includeNode = !!(option & 0b0100);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportsNWI,\n\t\t\texcludeNode,\n\t\t\tincludeNode,\n\t\t});\n\t}\n\n\tpublic supportsNWI: boolean;\n\tpublic includeNode: boolean;\n\tpublic excludeNode: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\t(this.supportsNWI ? 0b0001 : 0)\n\t\t\t| (this.excludeNode ? 0b0010 : 0)\n\t\t\t| (this.includeNode ? 0b0100 : 0),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNodeInformationOptions\n\textends NodeProtocolInfoAndDeviceClass\n{\n\tsequenceNumber: number;\n\tsourceNodeId: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferNodeInformation)\nexport class ZWaveProtocolCCTransferNodeInformation extends ZWaveProtocolCC\n\timplements NodeProtocolInfoAndDeviceClass\n{\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCTransferNodeInformationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.sourceNodeId = options.sourceNodeId;\n\n\t\tthis.basicDeviceClass = options.basicDeviceClass;\n\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t\tthis.specificDeviceClass = options.specificDeviceClass;\n\t\tthis.isListening = options.isListening;\n\t\tthis.isFrequentListening = options.isFrequentListening;\n\t\tthis.isRouting = options.isRouting;\n\t\tthis.supportedDataRates = options.supportedDataRates;\n\t\tthis.protocolVersion = options.protocolVersion;\n\t\tthis.optionalFunctionality = options.optionalFunctionality;\n\t\tthis.nodeType = options.nodeType;\n\t\tthis.supportsSecurity = options.supportsSecurity;\n\t\tthis.supportsBeaming = options.supportsBeaming;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferNodeInformation {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tconst sourceNodeId = raw.payload[1];\n\n\t\tconst { info } = parseNodeProtocolInfoAndDeviceClass(\n\t\t\traw.payload.subarray(2),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\tsourceNodeId,\n\t\t\t...info,\n\t\t});\n\t}\n\n\tpublic sequenceNumber: number;\n\tpublic sourceNodeId: number;\n\tpublic basicDeviceClass: BasicDeviceClass;\n\tpublic genericDeviceClass: number;\n\tpublic specificDeviceClass: number;\n\tpublic isListening: boolean;\n\tpublic isFrequentListening: FLiRS;\n\tpublic isRouting: boolean;\n\tpublic supportedDataRates: DataRate[];\n\tpublic protocolVersion: ProtocolVersion;\n\tpublic optionalFunctionality: boolean;\n\tpublic nodeType: NodeType;\n\tpublic supportsSecurity: boolean;\n\tpublic supportsBeaming: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.sequenceNumber, this.sourceNodeId]),\n\t\t\tencodeNodeProtocolInfoAndDeviceClass(this),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferRangeInformationOptions {\n\tsequenceNumber: number;\n\ttestedNodeId: number;\n\tneighborNodeIds: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferRangeInformation)\nexport class ZWaveProtocolCCTransferRangeInformation extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCTransferRangeInformationOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.testedNodeId = options.testedNodeId;\n\t\tthis.neighborNodeIds = options.neighborNodeIds;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferRangeInformation {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tconst testedNodeId = raw.payload[1];\n\t\tconst bitmaskLength = raw.payload[2];\n\n\t\tvalidatePayload(raw.payload.length >= 3 + bitmaskLength);\n\t\tconst neighborNodeIds = parseBitMask(\n\t\t\traw.payload.subarray(3, 3 + bitmaskLength),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\ttestedNodeId,\n\t\t\tneighborNodeIds,\n\t\t});\n\t}\n\n\tpublic sequenceNumber: number;\n\tpublic testedNodeId: number;\n\tpublic neighborNodeIds: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([\n\t\t\t\tthis.sequenceNumber,\n\t\t\t\tthis.testedNodeId,\n\t\t\t\tnodesBitmask.length,\n\t\t\t]),\n\t\t\tnodesBitmask,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferEndOptions {\n\tstatus: NetworkTransferStatus;\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferEnd)\nexport class ZWaveProtocolCCTransferEnd extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCTransferEndOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.status = options.status;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferEnd {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst status: NetworkTransferStatus = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic status: NetworkTransferStatus;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.status]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRouteOptions {\n\tdestinationNodeId: number;\n\trouteIndex: number;\n\trepeaters: number[];\n\tdestinationWakeUp: WakeUpTime;\n\tdestinationSpeed: ZWaveDataRate;\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoute)\nexport class ZWaveProtocolCCAssignReturnRoute extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCAssignReturnRouteOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.repeaters.length > MAX_REPEATERS) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`${this.constructor.name}: too many repeaters`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tthis.destinationNodeId = options.destinationNodeId;\n\t\tthis.routeIndex = options.routeIndex;\n\t\tthis.repeaters = options.repeaters;\n\t\tthis.destinationWakeUp = options.destinationWakeUp;\n\t\tthis.destinationSpeed = options.destinationSpeed;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCAssignReturnRoute {\n\t\tvalidatePayload(raw.payload.length >= 7);\n\t\tconst destinationNodeId = raw.payload[0];\n\t\tconst routeIndex = raw.payload[1] >>> 4;\n\t\tconst numRepeaters = raw.payload[1] & 0b1111;\n\t\tconst repeaters = [...raw.payload.subarray(2, 2 + numRepeaters)];\n\t\tconst speedAndWakeup = raw.payload[2 + numRepeaters];\n\t\tconst destinationSpeed = bitmask2DataRate(\n\t\t\t(speedAndWakeup >>> 3) & 0b111,\n\t\t);\n\t\tconst destinationWakeUp: WakeUpTime = (speedAndWakeup >>> 1) & 0b11;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdestinationNodeId,\n\t\t\trouteIndex,\n\t\t\trepeaters,\n\t\t\tdestinationSpeed,\n\t\t\tdestinationWakeUp,\n\t\t});\n\t}\n\n\tpublic destinationNodeId: number;\n\tpublic routeIndex: number;\n\tpublic repeaters: number[];\n\tpublic destinationWakeUp: WakeUpTime;\n\tpublic destinationSpeed: ZWaveDataRate;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst routeByte = (this.routeIndex << 4) | this.repeaters.length;\n\t\tconst speedMask = dataRate2Bitmask(this.destinationSpeed);\n\t\tconst speedByte = (speedMask << 3) | (this.destinationWakeUp << 1);\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.destinationNodeId,\n\t\t\trouteByte,\n\t\t\t...this.repeaters,\n\t\t\tspeedByte,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNewNodeRegisteredOptions\n\textends NodeInformationFrame\n{\n\tnewNodeId: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.NewNodeRegistered)\nexport class ZWaveProtocolCCNewNodeRegistered extends ZWaveProtocolCC\n\timplements NodeInformationFrame\n{\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNewNodeRegisteredOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.newNodeId = options.newNodeId;\n\t\tthis.basicDeviceClass = options.basicDeviceClass;\n\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t\tthis.specificDeviceClass = options.specificDeviceClass;\n\t\tthis.isListening = options.isListening;\n\t\tthis.isFrequentListening = options.isFrequentListening;\n\t\tthis.isRouting = options.isRouting;\n\t\tthis.supportedDataRates = options.supportedDataRates;\n\t\tthis.protocolVersion = options.protocolVersion;\n\t\tthis.optionalFunctionality = options.optionalFunctionality;\n\t\tthis.nodeType = options.nodeType;\n\t\tthis.supportsSecurity = options.supportsSecurity;\n\t\tthis.supportsBeaming = options.supportsBeaming;\n\t\tthis.supportedCCs = options.supportedCCs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNewNodeRegistered {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst newNodeId = raw.payload[0];\n\n\t\tconst nif = parseNodeInformationFrame(raw.payload.subarray(1));\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnewNodeId,\n\t\t\t...nif,\n\t\t});\n\t}\n\n\tpublic newNodeId: number;\n\tpublic basicDeviceClass: BasicDeviceClass;\n\tpublic genericDeviceClass: number;\n\tpublic specificDeviceClass: number;\n\tpublic isListening: boolean;\n\tpublic isFrequentListening: FLiRS;\n\tpublic isRouting: boolean;\n\tpublic supportedDataRates: DataRate[];\n\tpublic protocolVersion: ProtocolVersion;\n\tpublic optionalFunctionality: boolean;\n\tpublic nodeType: NodeType;\n\tpublic supportsSecurity: boolean;\n\tpublic supportsBeaming: boolean;\n\tpublic supportedCCs: CommandClasses[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.newNodeId]),\n\t\t\tencodeNodeInformationFrame(this),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNewRangeRegisteredOptions {\n\ttestedNodeId: number;\n\tneighborNodeIds: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.NewRangeRegistered)\nexport class ZWaveProtocolCCNewRangeRegistered extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNewRangeRegisteredOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.testedNodeId = options.testedNodeId;\n\t\tthis.neighborNodeIds = options.neighborNodeIds;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNewRangeRegistered {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst testedNodeId = raw.payload[0];\n\t\tconst numNeighbors = raw.payload[1];\n\t\tconst neighborNodeIds = [\n\t\t\t...raw.payload.subarray(2, 2 + numNeighbors),\n\t\t];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttestedNodeId,\n\t\t\tneighborNodeIds,\n\t\t});\n\t}\n\n\tpublic testedNodeId: number;\n\tpublic neighborNodeIds: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.testedNodeId, nodesBitmask.length]),\n\t\t\tnodesBitmask,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions {\n\tgenericDeviceClass: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferNewPrimaryControllerComplete)\nexport class ZWaveProtocolCCTransferNewPrimaryControllerComplete\n\textends ZWaveProtocolCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<\n\t\t\tZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions\n\t\t>,\n\t) {\n\t\tsuper(options);\n\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferNewPrimaryControllerComplete {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst genericDeviceClass = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tgenericDeviceClass,\n\t\t});\n\t}\n\n\tpublic genericDeviceClass: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.genericDeviceClass]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.AutomaticControllerUpdateStart)\nexport class ZWaveProtocolCCAutomaticControllerUpdateStart\n\textends ZWaveProtocolCC\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSUCNodeIDOptions {\n\tsucNodeId: number;\n\tisSIS: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.SUCNodeID)\nexport class ZWaveProtocolCCSUCNodeID extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCSUCNodeIDOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sucNodeId = options.sucNodeId;\n\t\tthis.isSIS = options.isSIS;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSUCNodeID {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst sucNodeId = raw.payload[0];\n\t\tconst capabilities = raw.payload[1] ?? 0;\n\t\tconst isSIS = !!(capabilities & 0b1);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsucNodeId,\n\t\t\tisSIS,\n\t\t});\n\t}\n\n\tpublic sucNodeId: number;\n\tpublic isSIS: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.sucNodeId, this.isSIS ? 0b1 : 0]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCOptions {\n\tenableSIS: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.SetSUC)\nexport class ZWaveProtocolCCSetSUC extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCSetSUCOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.enableSIS = options.enableSIS;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSetSUC {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\t// Byte 0 must be 0x01 or ignored\n\t\tconst capabilities = raw.payload[1] ?? 0;\n\t\tconst enableSIS = !!(capabilities & 0b1);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tenableSIS,\n\t\t});\n\t}\n\n\tpublic enableSIS: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([0x01, this.enableSIS ? 0b1 : 0]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCAckOptions {\n\taccepted: boolean;\n\tisSIS: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.SetSUCAck)\nexport class ZWaveProtocolCCSetSUCAck extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCSetSUCAckOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.accepted = options.accepted;\n\t\tthis.isSIS = options.isSIS;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSetSUCAck {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst accepted = raw.payload[0] === 0x01;\n\t\tconst capabilities = raw.payload[1] ?? 0;\n\t\tconst isSIS = !!(capabilities & 0b1);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\taccepted,\n\t\t\tisSIS,\n\t\t});\n\t}\n\n\tpublic accepted: boolean;\n\tpublic isSIS: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.accepted ? 0x01 : 0x00,\n\t\t\tthis.isSIS ? 0b1 : 0,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoute)\nexport class ZWaveProtocolCCAssignSUCReturnRoute\n\textends ZWaveProtocolCCAssignReturnRoute\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCStaticRouteRequestOptions {\n\tnodeIds: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.StaticRouteRequest)\nexport class ZWaveProtocolCCStaticRouteRequest extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCStaticRouteRequestOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.nodeIds.some((n) => n < 1 || n > MAX_NODES)) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`All node IDs must be between 1 and ${MAX_NODES}!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.nodeIds = options.nodeIds;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCStaticRouteRequest {\n\t\tvalidatePayload(raw.payload.length >= 5);\n\t\tconst nodeIds = [...raw.payload.subarray(0, 5)].filter(\n\t\t\t(id) => id > 0 && id <= MAX_NODES,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnodeIds,\n\t\t});\n\t}\n\n\tpublic nodeIds: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.alloc(5, 0);\n\t\tfor (let i = 0; i < this.nodeIds.length && i < 5; i++) {\n\t\t\tthis.payload[i] = this.nodeIds[i];\n\t\t}\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCLostOptions {\n\tlostNodeId: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.Lost)\nexport class ZWaveProtocolCCLost extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCLostOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.lostNodeId = options.lostNodeId;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCLost {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst lostNodeId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tlostNodeId,\n\t\t});\n\t}\n\n\tpublic lostNodeId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.lostNodeId]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCAcceptLostOptions {\n\taccepted: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.AcceptLost)\nexport class ZWaveProtocolCCAcceptLost extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCAcceptLostOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.accepted = options.accepted;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCAcceptLost {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tvalidatePayload(\n\t\t\traw.payload[0] === 0x04 || raw.payload[0] === 0x05,\n\t\t);\n\t\tconst accepted = raw.payload[0] === 0x05;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\taccepted,\n\t\t});\n\t}\n\n\tpublic accepted: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.accepted ? 0x05 : 0x04]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNOPPowerOptions {\n\tpowerDampening: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.NOPPower)\nexport class ZWaveProtocolCCNOPPower extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNOPPowerOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.powerDampening < 0 || options.powerDampening > 14) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`${this.constructor.name}: power dampening must be between 0 and 14 dBm!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.powerDampening = options.powerDampening;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNOPPower {\n\t\tlet powerDampening;\n\n\t\tif (raw.payload.length >= 2) {\n\t\t\t// Ignore byte 0\n\t\t\tpowerDampening = raw.payload[1];\n\t\t} else if (raw.payload.length === 1) {\n\t\t\tpowerDampening = [\n\t\t\t\t0xf0,\n\t\t\t\t0xc8,\n\t\t\t\t0xa7,\n\t\t\t\t0x91,\n\t\t\t\t0x77,\n\t\t\t\t0x67,\n\t\t\t\t0x60,\n\t\t\t\t0x46,\n\t\t\t\t0x38,\n\t\t\t\t0x35,\n\t\t\t\t0x32,\n\t\t\t\t0x30,\n\t\t\t\t0x24,\n\t\t\t\t0x22,\n\t\t\t\t0x20,\n\t\t\t].indexOf(raw.payload[0]);\n\t\t\tif (powerDampening === -1) powerDampening = 0;\n\t\t} else {\n\t\t\tvalidatePayload.fail(\"Invalid payload length!\");\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tpowerDampening,\n\t\t});\n\t}\n\n\t// Power dampening in (negative) dBm. A value of 2 means -2 dBm.\n\tpublic powerDampening: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([0, this.powerDampening]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCReservedIDsOptions {\n\treservedNodeIDs: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.ReservedIDs)\nexport class ZWaveProtocolCCReservedIDs extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCReservedIDsOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.reservedNodeIDs = options.reservedNodeIDs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCReservedIDs {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst numNodeIDs = raw.payload[0];\n\t\tvalidatePayload(raw.payload.length >= 1 + numNodeIDs);\n\t\tconst reservedNodeIDs = [\n\t\t\t...raw.payload.subarray(1, 1 + numNodeIDs),\n\t\t];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\treservedNodeIDs,\n\t\t});\n\t}\n\n\tpublic reservedNodeIDs: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.reservedNodeIDs.length,\n\t\t\t...this.reservedNodeIDs,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCReserveNodeIDsOptions {\n\tnumNodeIDs: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.ReserveNodeIDs)\n@expectedCCResponse(ZWaveProtocolCCReservedIDs)\nexport class ZWaveProtocolCCReserveNodeIDs extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCReserveNodeIDsOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.numNodeIDs = options.numNodeIDs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCReserveNodeIDs {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst numNodeIDs = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnumNodeIDs,\n\t\t});\n\t}\n\n\tpublic numNodeIDs: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.numNodeIDs]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistReplyOptions {\n\tnodeMaskType: number;\n\tnodeListUpdated: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.NodesExistReply)\nexport class ZWaveProtocolCCNodesExistReply extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNodesExistReplyOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.nodeMaskType = options.nodeMaskType;\n\t\tthis.nodeListUpdated = options.nodeListUpdated;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNodesExistReply {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst nodeMaskType = raw.payload[0];\n\t\tconst nodeListUpdated = raw.payload[1] === 0x01;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnodeMaskType,\n\t\t\tnodeListUpdated,\n\t\t});\n\t}\n\n\tpublic nodeMaskType: number;\n\tpublic nodeListUpdated: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.nodeMaskType,\n\t\t\tthis.nodeListUpdated ? 0x01 : 0x00,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\nfunction testResponseForZWaveProtocolNodesExist(\n\tsent: ZWaveProtocolCCNodesExist,\n\treceived: ZWaveProtocolCCNodesExistReply,\n) {\n\treturn received.nodeMaskType === sent.nodeMaskType;\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistOptions {\n\tnodeMaskType: number;\n\tnodeIDs: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.NodesExist)\n@expectedCCResponse(\n\tZWaveProtocolCCNodesExistReply,\n\ttestResponseForZWaveProtocolNodesExist,\n)\nexport class ZWaveProtocolCCNodesExist extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNodesExistOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.nodeMaskType = options.nodeMaskType;\n\t\tthis.nodeIDs = options.nodeIDs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNodesExist {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst nodeMaskType = raw.payload[0];\n\t\tconst numNodeIDs = raw.payload[1];\n\t\tvalidatePayload(raw.payload.length >= 2 + numNodeIDs);\n\t\tconst nodeIDs = [...raw.payload.subarray(2, 2 + numNodeIDs)];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnodeMaskType,\n\t\t\tnodeIDs,\n\t\t});\n\t}\n\n\tpublic nodeMaskType: number;\n\tpublic nodeIDs: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.nodeMaskType,\n\t\t\tthis.nodeIDs.length,\n\t\t\t...this.nodeIDs,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSetNWIModeOptions {\n\tenabled: boolean;\n\ttimeoutMinutes?: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.SetNWIMode)\nexport class ZWaveProtocolCCSetNWIMode extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCSetNWIModeOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.enabled = options.enabled;\n\t\tthis.timeoutMinutes = options.timeoutMinutes;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSetNWIMode {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst enabled = raw.payload[0] === 0x01;\n\t\tconst timeoutMinutes: number | undefined = raw.payload[1] || undefined;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tenabled,\n\t\t\ttimeoutMinutes,\n\t\t});\n\t}\n\n\tpublic enabled: boolean;\n\tpublic timeoutMinutes?: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.enabled ? 0x01 : 0x00,\n\t\t\tthis.timeoutMinutes ?? 0x00,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.ExcludeRequest)\nexport class ZWaveProtocolCCExcludeRequest\n\textends ZWaveProtocolCCNodeInformationFrame\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRoutePriorityOptions {\n\ttargetNodeId: number;\n\trouteNumber: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoutePriority)\nexport class ZWaveProtocolCCAssignReturnRoutePriority extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCAssignReturnRoutePriorityOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.targetNodeId = options.targetNodeId;\n\t\tthis.routeNumber = options.routeNumber;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCAssignReturnRoutePriority {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst targetNodeId = raw.payload[0];\n\t\tconst routeNumber = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttargetNodeId,\n\t\t\trouteNumber,\n\t\t});\n\t}\n\n\tpublic targetNodeId: number;\n\tpublic routeNumber: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.targetNodeId, this.routeNumber]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoutePriority)\nexport class ZWaveProtocolCCAssignSUCReturnRoutePriority\n\textends ZWaveProtocolCCAssignReturnRoutePriority\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSmartStartIncludedNodeInformationOptions {\n\tnwiHomeId: Uint8Array;\n}\n\n@CCCommand(ZWaveProtocolCommand.SmartStartIncludedNodeInformation)\nexport class ZWaveProtocolCCSmartStartIncludedNodeInformation\n\textends ZWaveProtocolCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<\n\t\t\tZWaveProtocolCCSmartStartIncludedNodeInformationOptions\n\t\t>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.nwiHomeId.length !== 4) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`nwiHomeId must have length 4`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.nwiHomeId = options.nwiHomeId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSmartStartIncludedNodeInformation {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst nwiHomeId = raw.payload.subarray(0, 4);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnwiHomeId,\n\t\t});\n\t}\n\n\tpublic nwiHomeId: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from(this.nwiHomeId);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.SmartStartPrime)\nexport class ZWaveProtocolCCSmartStartPrime\n\textends ZWaveProtocolCCNodeInformationFrame\n{}\n\n@CCCommand(ZWaveProtocolCommand.SmartStartInclusionRequest)\nexport class ZWaveProtocolCCSmartStartInclusionRequest\n\textends ZWaveProtocolCCNodeInformationFrame\n{}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { CCEncodingContext, CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\ttype BasicDeviceClass,\n\tCommandClasses,\n\ttype DataRate,\n\ttype FLiRS,\n\tMAX_NODES,\n\tMAX_REPEATERS,\n\ttype NodeInformationFrame,\n\ttype NodeProtocolInfoAndDeviceClass,\n\ttype NodeType,\n\ttype ProtocolVersion,\n\ttype WithAddress,\n\tZWaveDataRate,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tencodeBitMask,\n\tencodeNodeInformationFrame,\n\tencodeNodeProtocolInfoAndDeviceClass,\n\tparseBitMask,\n\tparseNodeInformationFrame,\n\tparseNodeProtocolInfoAndDeviceClass,\n\tvalidatePayload,\n} from \"@zwave-js/core\";\nimport { Bytes } from \"@zwave-js/shared\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport {\n\tCCCommand,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport {\n\ttype NetworkTransferStatus,\n\tWakeUpTime,\n\tZWaveProtocolCommand,\n\tparseWakeUpTime,\n} from \"../lib/_Types.js\";\n\nenum DataRateBitmask {\n\t\"9k6\" = 0b001,\n\t\"40k\" = 0b010,\n\t\"100k\" = 0b100,\n}\n\nfunction dataRate2Bitmask(dataRate: ZWaveDataRate): DataRateBitmask {\n\treturn dataRate === ZWaveDataRate[\"100k\"]\n\t\t? DataRateBitmask[\"100k\"]\n\t\t: dataRate === ZWaveDataRate[\"40k\"]\n\t\t? DataRateBitmask[\"40k\"]\n\t\t: DataRateBitmask[\"9k6\"];\n}\n\nfunction bitmask2DataRate(mask: DataRateBitmask): ZWaveDataRate {\n\treturn mask === DataRateBitmask[\"100k\"]\n\t\t? ZWaveDataRate[\"100k\"]\n\t\t: mask === DataRateBitmask[\"40k\"]\n\t\t? ZWaveDataRate[\"40k\"]\n\t\t: ZWaveDataRate[\"9k6\"];\n}\n\n@commandClass(CommandClasses[\"Z-Wave Protocol\"])\n@implementedVersion(1)\nexport class ZWaveProtocolCC extends CommandClass {\n\tdeclare ccCommand: ZWaveProtocolCommand;\n}\n\n// @publicAPI\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ZWaveProtocolCCNodeInformationFrameOptions\n\textends NodeInformationFrame\n{}\n\n@CCCommand(ZWaveProtocolCommand.NodeInformationFrame)\nexport class ZWaveProtocolCCNodeInformationFrame extends ZWaveProtocolCC\n\timplements NodeInformationFrame\n{\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNodeInformationFrameOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.basicDeviceClass = options.basicDeviceClass;\n\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t\tthis.specificDeviceClass = options.specificDeviceClass;\n\t\tthis.isListening = options.isListening;\n\t\tthis.isFrequentListening = options.isFrequentListening;\n\t\tthis.isRouting = options.isRouting;\n\t\tthis.supportedDataRates = options.supportedDataRates;\n\t\tthis.protocolVersion = options.protocolVersion;\n\t\tthis.optionalFunctionality = options.optionalFunctionality;\n\t\tthis.nodeType = options.nodeType;\n\t\tthis.supportsSecurity = options.supportsSecurity;\n\t\tthis.supportsBeaming = options.supportsBeaming;\n\t\tthis.supportedCCs = options.supportedCCs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNodeInformationFrame {\n\t\tconst nif = parseNodeInformationFrame(raw.payload);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\t...nif,\n\t\t});\n\t}\n\n\tpublic basicDeviceClass: BasicDeviceClass;\n\tpublic genericDeviceClass: number;\n\tpublic specificDeviceClass: number;\n\tpublic isListening: boolean;\n\tpublic isFrequentListening: FLiRS;\n\tpublic isRouting: boolean;\n\tpublic supportedDataRates: DataRate[];\n\tpublic protocolVersion: ProtocolVersion;\n\tpublic optionalFunctionality: boolean;\n\tpublic nodeType: NodeType;\n\tpublic supportsSecurity: boolean;\n\tpublic supportsBeaming: boolean;\n\tpublic supportedCCs: CommandClasses[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = encodeNodeInformationFrame(this);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.RequestNodeInformationFrame)\n@expectedCCResponse(ZWaveProtocolCCNodeInformationFrame)\nexport class ZWaveProtocolCCRequestNodeInformationFrame\n\textends ZWaveProtocolCC\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCAssignIDsOptions {\n\tassignedNodeId: number;\n\thomeId: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignIDs)\nexport class ZWaveProtocolCCAssignIDs extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCAssignIDsOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.assignedNodeId = options.assignedNodeId;\n\t\tthis.homeId = options.homeId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCAssignIDs {\n\t\tvalidatePayload(raw.payload.length >= 5);\n\t\tconst assignedNodeId = raw.payload[0];\n\t\tconst homeId = raw.payload.readUInt32BE(1);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tassignedNodeId,\n\t\t\thomeId,\n\t\t});\n\t}\n\n\tpublic assignedNodeId: number;\n\tpublic homeId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = new Bytes(5);\n\t\tthis.payload[0] = this.assignedNodeId;\n\t\tthis.payload.writeUInt32BE(this.homeId, 1);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCFindNodesInRangeOptions {\n\tcandidateNodeIds: number[];\n\twakeUpTime: WakeUpTime;\n\tdataRate?: ZWaveDataRate;\n}\n\n@CCCommand(ZWaveProtocolCommand.FindNodesInRange)\nexport class ZWaveProtocolCCFindNodesInRange extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCFindNodesInRangeOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.candidateNodeIds = options.candidateNodeIds;\n\t\tthis.wakeUpTime = options.wakeUpTime;\n\t\tthis.dataRate = options.dataRate ?? ZWaveDataRate[\"9k6\"];\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCFindNodesInRange {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst speedPresent = raw.payload[0] & 0b1000_0000;\n\t\tconst bitmaskLength = raw.payload[0] & 0b0001_1111;\n\n\t\tvalidatePayload(raw.payload.length >= 1 + bitmaskLength);\n\t\tconst candidateNodeIds = parseBitMask(\n\t\t\traw.payload.subarray(1, 1 + bitmaskLength),\n\t\t);\n\t\tconst rest = raw.payload.subarray(1 + bitmaskLength);\n\n\t\tlet dataRate: ZWaveDataRate;\n\t\tlet wakeUpTime: WakeUpTime;\n\t\tif (speedPresent) {\n\t\t\tvalidatePayload(rest.length >= 1);\n\t\t\tif (rest.length === 1) {\n\t\t\t\tdataRate = rest[0] & 0b111;\n\t\t\t\twakeUpTime = WakeUpTime.None;\n\t\t\t} else if (rest.length === 2) {\n\t\t\t\twakeUpTime = parseWakeUpTime(rest[0]);\n\t\t\t\tdataRate = rest[1] & 0b111;\n\t\t\t} else {\n\t\t\t\tvalidatePayload.fail(\"Invalid payload length\");\n\t\t\t}\n\t\t} else if (rest.length >= 1) {\n\t\t\twakeUpTime = parseWakeUpTime(rest[0]);\n\t\t\tdataRate = ZWaveDataRate[\"9k6\"];\n\t\t} else {\n\t\t\twakeUpTime = WakeUpTime.None;\n\t\t\tdataRate = ZWaveDataRate[\"9k6\"];\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tcandidateNodeIds,\n\t\t\tdataRate,\n\t\t\twakeUpTime,\n\t\t});\n\t}\n\n\tpublic candidateNodeIds: number[];\n\tpublic wakeUpTime: WakeUpTime;\n\tpublic dataRate: ZWaveDataRate;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst nodesBitmask = encodeBitMask(this.candidateNodeIds, MAX_NODES);\n\t\tconst speedAndLength = 0b1000_0000 | nodesBitmask.length;\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([speedAndLength]),\n\t\t\tnodesBitmask,\n\t\t\tBytes.from([this.wakeUpTime, this.dataRate]),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCRangeInfoOptions {\n\tneighborNodeIds: number[];\n\twakeUpTime?: WakeUpTime;\n}\n\n@CCCommand(ZWaveProtocolCommand.RangeInfo)\nexport class ZWaveProtocolCCRangeInfo extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCRangeInfoOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.neighborNodeIds = options.neighborNodeIds;\n\t\tthis.wakeUpTime = options.wakeUpTime;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCRangeInfo {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst bitmaskLength = raw.payload[0] & 0b0001_1111;\n\n\t\tvalidatePayload(raw.payload.length >= 1 + bitmaskLength);\n\t\tconst neighborNodeIds = parseBitMask(\n\t\t\traw.payload.subarray(1, 1 + bitmaskLength),\n\t\t);\n\n\t\tlet wakeUpTime: WakeUpTime | undefined;\n\t\tif (raw.payload.length >= 2 + bitmaskLength) {\n\t\t\twakeUpTime = parseWakeUpTime(\n\t\t\t\traw.payload[1 + bitmaskLength],\n\t\t\t);\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tneighborNodeIds,\n\t\t\twakeUpTime,\n\t\t});\n\t}\n\n\tpublic neighborNodeIds: number[];\n\tpublic wakeUpTime?: WakeUpTime;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([nodesBitmask.length]),\n\t\t\tnodesBitmask,\n\t\t\tthis.wakeUpTime != undefined\n\t\t\t\t? Bytes.from([this.wakeUpTime])\n\t\t\t\t: new Bytes(),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.GetNodesInRange)\n@expectedCCResponse(ZWaveProtocolCCRangeInfo)\nexport class ZWaveProtocolCCGetNodesInRange extends ZWaveProtocolCC {}\n\n// @publicAPI\nexport interface ZWaveProtocolCCCommandCompleteOptions {\n\tsequenceNumber: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.CommandComplete)\nexport class ZWaveProtocolCCCommandComplete extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCCommandCompleteOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCCommandComplete {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst sequenceNumber = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t});\n\t}\n\n\tpublic sequenceNumber: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.sequenceNumber]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferPresentationOptions {\n\tsupportsNWI: boolean;\n\tincludeNode: boolean;\n\texcludeNode: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferPresentation)\nexport class ZWaveProtocolCCTransferPresentation extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCTransferPresentationOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.includeNode && options.excludeNode) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`${this.constructor.name}: the includeNode and excludeNode options cannot both be true`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.supportsNWI = options.supportsNWI;\n\t\tthis.includeNode = options.includeNode;\n\t\tthis.excludeNode = options.excludeNode;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferPresentation {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst option = raw.payload[0];\n\t\tconst supportsNWI = !!(option & 0b0001);\n\t\tconst excludeNode = !!(option & 0b0010);\n\t\tconst includeNode = !!(option & 0b0100);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsupportsNWI,\n\t\t\texcludeNode,\n\t\t\tincludeNode,\n\t\t});\n\t}\n\n\tpublic supportsNWI: boolean;\n\tpublic includeNode: boolean;\n\tpublic excludeNode: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\t(this.supportsNWI ? 0b0001 : 0)\n\t\t\t| (this.excludeNode ? 0b0010 : 0)\n\t\t\t| (this.includeNode ? 0b0100 : 0),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNodeInformationOptions\n\textends NodeProtocolInfoAndDeviceClass\n{\n\tsequenceNumber: number;\n\tsourceNodeId: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferNodeInformation)\nexport class ZWaveProtocolCCTransferNodeInformation extends ZWaveProtocolCC\n\timplements NodeProtocolInfoAndDeviceClass\n{\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCTransferNodeInformationOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.sourceNodeId = options.sourceNodeId;\n\n\t\tthis.basicDeviceClass = options.basicDeviceClass;\n\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t\tthis.specificDeviceClass = options.specificDeviceClass;\n\t\tthis.isListening = options.isListening;\n\t\tthis.isFrequentListening = options.isFrequentListening;\n\t\tthis.isRouting = options.isRouting;\n\t\tthis.supportedDataRates = options.supportedDataRates;\n\t\tthis.protocolVersion = options.protocolVersion;\n\t\tthis.optionalFunctionality = options.optionalFunctionality;\n\t\tthis.nodeType = options.nodeType;\n\t\tthis.supportsSecurity = options.supportsSecurity;\n\t\tthis.supportsBeaming = options.supportsBeaming;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferNodeInformation {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tconst sourceNodeId = raw.payload[1];\n\n\t\tconst { info } = parseNodeProtocolInfoAndDeviceClass(\n\t\t\traw.payload.subarray(2),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\tsourceNodeId,\n\t\t\t...info,\n\t\t});\n\t}\n\n\tpublic sequenceNumber: number;\n\tpublic sourceNodeId: number;\n\tpublic basicDeviceClass: BasicDeviceClass;\n\tpublic genericDeviceClass: number;\n\tpublic specificDeviceClass: number;\n\tpublic isListening: boolean;\n\tpublic isFrequentListening: FLiRS;\n\tpublic isRouting: boolean;\n\tpublic supportedDataRates: DataRate[];\n\tpublic protocolVersion: ProtocolVersion;\n\tpublic optionalFunctionality: boolean;\n\tpublic nodeType: NodeType;\n\tpublic supportsSecurity: boolean;\n\tpublic supportsBeaming: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.sequenceNumber, this.sourceNodeId]),\n\t\t\tencodeNodeProtocolInfoAndDeviceClass(this),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferRangeInformationOptions {\n\tsequenceNumber: number;\n\ttestedNodeId: number;\n\tneighborNodeIds: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferRangeInformation)\nexport class ZWaveProtocolCCTransferRangeInformation extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCTransferRangeInformationOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sequenceNumber = options.sequenceNumber;\n\t\tthis.testedNodeId = options.testedNodeId;\n\t\tthis.neighborNodeIds = options.neighborNodeIds;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferRangeInformation {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst sequenceNumber = raw.payload[0];\n\t\tconst testedNodeId = raw.payload[1];\n\t\tconst bitmaskLength = raw.payload[2];\n\n\t\tvalidatePayload(raw.payload.length >= 3 + bitmaskLength);\n\t\tconst neighborNodeIds = parseBitMask(\n\t\t\traw.payload.subarray(3, 3 + bitmaskLength),\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsequenceNumber,\n\t\t\ttestedNodeId,\n\t\t\tneighborNodeIds,\n\t\t});\n\t}\n\n\tpublic sequenceNumber: number;\n\tpublic testedNodeId: number;\n\tpublic neighborNodeIds: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([\n\t\t\t\tthis.sequenceNumber,\n\t\t\t\tthis.testedNodeId,\n\t\t\t\tnodesBitmask.length,\n\t\t\t]),\n\t\t\tnodesBitmask,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferEndOptions {\n\tstatus: NetworkTransferStatus;\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferEnd)\nexport class ZWaveProtocolCCTransferEnd extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCTransferEndOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.status = options.status;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferEnd {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst status: NetworkTransferStatus = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic status: NetworkTransferStatus;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.status]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRouteOptions {\n\tdestinationNodeId: number;\n\trouteIndex: number;\n\trepeaters: number[];\n\tdestinationWakeUp: WakeUpTime;\n\tdestinationSpeed: ZWaveDataRate;\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoute)\nexport class ZWaveProtocolCCAssignReturnRoute extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCAssignReturnRouteOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.repeaters.length > MAX_REPEATERS) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`${this.constructor.name}: too many repeaters`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\n\t\tthis.destinationNodeId = options.destinationNodeId;\n\t\tthis.routeIndex = options.routeIndex;\n\t\tthis.repeaters = options.repeaters;\n\t\tthis.destinationWakeUp = options.destinationWakeUp;\n\t\tthis.destinationSpeed = options.destinationSpeed;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCAssignReturnRoute {\n\t\tvalidatePayload(raw.payload.length >= 7);\n\t\tconst destinationNodeId = raw.payload[0];\n\t\tconst routeIndex = raw.payload[1] >>> 4;\n\t\tconst numRepeaters = raw.payload[1] & 0b1111;\n\t\tconst repeaters = [...raw.payload.subarray(2, 2 + numRepeaters)];\n\t\tconst speedAndWakeup = raw.payload[2 + numRepeaters];\n\t\tconst destinationSpeed = bitmask2DataRate(\n\t\t\t(speedAndWakeup >>> 3) & 0b111,\n\t\t);\n\t\tconst destinationWakeUp: WakeUpTime = (speedAndWakeup >>> 1) & 0b11;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdestinationNodeId,\n\t\t\trouteIndex,\n\t\t\trepeaters,\n\t\t\tdestinationSpeed,\n\t\t\tdestinationWakeUp,\n\t\t});\n\t}\n\n\tpublic destinationNodeId: number;\n\tpublic routeIndex: number;\n\tpublic repeaters: number[];\n\tpublic destinationWakeUp: WakeUpTime;\n\tpublic destinationSpeed: ZWaveDataRate;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst routeByte = (this.routeIndex << 4) | this.repeaters.length;\n\t\tconst speedMask = dataRate2Bitmask(this.destinationSpeed);\n\t\tconst speedByte = (speedMask << 3) | (this.destinationWakeUp << 1);\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.destinationNodeId,\n\t\t\trouteByte,\n\t\t\t...this.repeaters,\n\t\t\tspeedByte,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNewNodeRegisteredOptions\n\textends NodeInformationFrame\n{\n\tnewNodeId: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.NewNodeRegistered)\nexport class ZWaveProtocolCCNewNodeRegistered extends ZWaveProtocolCC\n\timplements NodeInformationFrame\n{\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNewNodeRegisteredOptions>,\n\t) {\n\t\tsuper(options);\n\n\t\tthis.newNodeId = options.newNodeId;\n\t\tthis.basicDeviceClass = options.basicDeviceClass;\n\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t\tthis.specificDeviceClass = options.specificDeviceClass;\n\t\tthis.isListening = options.isListening;\n\t\tthis.isFrequentListening = options.isFrequentListening;\n\t\tthis.isRouting = options.isRouting;\n\t\tthis.supportedDataRates = options.supportedDataRates;\n\t\tthis.protocolVersion = options.protocolVersion;\n\t\tthis.optionalFunctionality = options.optionalFunctionality;\n\t\tthis.nodeType = options.nodeType;\n\t\tthis.supportsSecurity = options.supportsSecurity;\n\t\tthis.supportsBeaming = options.supportsBeaming;\n\t\tthis.supportedCCs = options.supportedCCs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNewNodeRegistered {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst newNodeId = raw.payload[0];\n\n\t\tconst nif = parseNodeInformationFrame(raw.payload.subarray(1));\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnewNodeId,\n\t\t\t...nif,\n\t\t});\n\t}\n\n\tpublic newNodeId: number;\n\tpublic basicDeviceClass: BasicDeviceClass;\n\tpublic genericDeviceClass: number;\n\tpublic specificDeviceClass: number;\n\tpublic isListening: boolean;\n\tpublic isFrequentListening: FLiRS;\n\tpublic isRouting: boolean;\n\tpublic supportedDataRates: DataRate[];\n\tpublic protocolVersion: ProtocolVersion;\n\tpublic optionalFunctionality: boolean;\n\tpublic nodeType: NodeType;\n\tpublic supportsSecurity: boolean;\n\tpublic supportsBeaming: boolean;\n\tpublic supportedCCs: CommandClasses[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.newNodeId]),\n\t\t\tencodeNodeInformationFrame(this),\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNewRangeRegisteredOptions {\n\ttestedNodeId: number;\n\tneighborNodeIds: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.NewRangeRegistered)\nexport class ZWaveProtocolCCNewRangeRegistered extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNewRangeRegisteredOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.testedNodeId = options.testedNodeId;\n\t\tthis.neighborNodeIds = options.neighborNodeIds;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNewRangeRegistered {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst testedNodeId = raw.payload[0];\n\t\tconst numNeighbors = raw.payload[1];\n\t\tconst neighborNodeIds = [\n\t\t\t...raw.payload.subarray(2, 2 + numNeighbors),\n\t\t];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttestedNodeId,\n\t\t\tneighborNodeIds,\n\t\t});\n\t}\n\n\tpublic testedNodeId: number;\n\tpublic neighborNodeIds: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tconst nodesBitmask = encodeBitMask(this.neighborNodeIds, MAX_NODES);\n\t\tthis.payload = Bytes.concat([\n\t\t\tBytes.from([this.testedNodeId, nodesBitmask.length]),\n\t\t\tnodesBitmask,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions {\n\tgenericDeviceClass: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.TransferNewPrimaryControllerComplete)\nexport class ZWaveProtocolCCTransferNewPrimaryControllerComplete\n\textends ZWaveProtocolCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<\n\t\t\tZWaveProtocolCCTransferNewPrimaryControllerCompleteOptions\n\t\t>,\n\t) {\n\t\tsuper(options);\n\t\tthis.genericDeviceClass = options.genericDeviceClass;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCTransferNewPrimaryControllerComplete {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst genericDeviceClass = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tgenericDeviceClass,\n\t\t});\n\t}\n\n\tpublic genericDeviceClass: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.genericDeviceClass]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.AutomaticControllerUpdateStart)\nexport class ZWaveProtocolCCAutomaticControllerUpdateStart\n\textends ZWaveProtocolCC\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSUCNodeIDOptions {\n\tsucNodeId: number;\n\tisSIS: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.SUCNodeID)\nexport class ZWaveProtocolCCSUCNodeID extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCSUCNodeIDOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sucNodeId = options.sucNodeId;\n\t\tthis.isSIS = options.isSIS;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSUCNodeID {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst sucNodeId = raw.payload[0];\n\t\tconst capabilities = raw.payload[1] ?? 0;\n\t\tconst isSIS = !!(capabilities & 0b1);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsucNodeId,\n\t\t\tisSIS,\n\t\t});\n\t}\n\n\tpublic sucNodeId: number;\n\tpublic isSIS: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.sucNodeId, this.isSIS ? 0b1 : 0]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCOptions {\n\tenableSIS: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.SetSUC)\nexport class ZWaveProtocolCCSetSUC extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCSetSUCOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.enableSIS = options.enableSIS;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSetSUC {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\t// Byte 0 must be 0x01 or ignored\n\t\tconst capabilities = raw.payload[1] ?? 0;\n\t\tconst enableSIS = !!(capabilities & 0b1);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tenableSIS,\n\t\t});\n\t}\n\n\tpublic enableSIS: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([0x01, this.enableSIS ? 0b1 : 0]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSetSUCAckOptions {\n\taccepted: boolean;\n\tisSIS: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.SetSUCAck)\nexport class ZWaveProtocolCCSetSUCAck extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCSetSUCAckOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.accepted = options.accepted;\n\t\tthis.isSIS = options.isSIS;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSetSUCAck {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst accepted = raw.payload[0] === 0x01;\n\t\tconst capabilities = raw.payload[1] ?? 0;\n\t\tconst isSIS = !!(capabilities & 0b1);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\taccepted,\n\t\t\tisSIS,\n\t\t});\n\t}\n\n\tpublic accepted: boolean;\n\tpublic isSIS: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.accepted ? 0x01 : 0x00,\n\t\t\tthis.isSIS ? 0b1 : 0,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoute)\nexport class ZWaveProtocolCCAssignSUCReturnRoute\n\textends ZWaveProtocolCCAssignReturnRoute\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCStaticRouteRequestOptions {\n\tnodeIds: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.StaticRouteRequest)\nexport class ZWaveProtocolCCStaticRouteRequest extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCStaticRouteRequestOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.nodeIds.some((n) => n < 1 || n > MAX_NODES)) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`All node IDs must be between 1 and ${MAX_NODES}!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.nodeIds = options.nodeIds;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCStaticRouteRequest {\n\t\tvalidatePayload(raw.payload.length >= 5);\n\t\tconst nodeIds = [...raw.payload.subarray(0, 5)].filter(\n\t\t\t(id) => id > 0 && id <= MAX_NODES,\n\t\t);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnodeIds,\n\t\t});\n\t}\n\n\tpublic nodeIds: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.alloc(5, 0);\n\t\tfor (let i = 0; i < this.nodeIds.length && i < 5; i++) {\n\t\t\tthis.payload[i] = this.nodeIds[i];\n\t\t}\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCLostOptions {\n\tlostNodeId: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.Lost)\nexport class ZWaveProtocolCCLost extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCLostOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.lostNodeId = options.lostNodeId;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): ZWaveProtocolCCLost {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst lostNodeId = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tlostNodeId,\n\t\t});\n\t}\n\n\tpublic lostNodeId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.lostNodeId]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCAcceptLostOptions {\n\taccepted: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.AcceptLost)\nexport class ZWaveProtocolCCAcceptLost extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCAcceptLostOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.accepted = options.accepted;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCAcceptLost {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tvalidatePayload(\n\t\t\traw.payload[0] === 0x04 || raw.payload[0] === 0x05,\n\t\t);\n\t\tconst accepted = raw.payload[0] === 0x05;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\taccepted,\n\t\t});\n\t}\n\n\tpublic accepted: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.accepted ? 0x05 : 0x04]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNOPPowerOptions {\n\tpowerDampening: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.NOPPower)\nexport class ZWaveProtocolCCNOPPower extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNOPPowerOptions>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.powerDampening < 0 || options.powerDampening > 14) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`${this.constructor.name}: power dampening must be between 0 and 14 dBm!`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.powerDampening = options.powerDampening;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNOPPower {\n\t\tlet powerDampening;\n\n\t\tif (raw.payload.length >= 2) {\n\t\t\t// Ignore byte 0\n\t\t\tpowerDampening = raw.payload[1];\n\t\t} else if (raw.payload.length === 1) {\n\t\t\tpowerDampening = [\n\t\t\t\t0xf0,\n\t\t\t\t0xc8,\n\t\t\t\t0xa7,\n\t\t\t\t0x91,\n\t\t\t\t0x77,\n\t\t\t\t0x67,\n\t\t\t\t0x60,\n\t\t\t\t0x46,\n\t\t\t\t0x38,\n\t\t\t\t0x35,\n\t\t\t\t0x32,\n\t\t\t\t0x30,\n\t\t\t\t0x24,\n\t\t\t\t0x22,\n\t\t\t\t0x20,\n\t\t\t].indexOf(raw.payload[0]);\n\t\t\tif (powerDampening === -1) powerDampening = 0;\n\t\t} else {\n\t\t\tvalidatePayload.fail(\"Invalid payload length!\");\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tpowerDampening,\n\t\t});\n\t}\n\n\t// Power dampening in (negative) dBm. A value of 2 means -2 dBm.\n\tpublic powerDampening: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([0, this.powerDampening]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCReservedIDsOptions {\n\treservedNodeIDs: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.ReservedIDs)\nexport class ZWaveProtocolCCReservedIDs extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCReservedIDsOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.reservedNodeIDs = options.reservedNodeIDs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCReservedIDs {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst numNodeIDs = raw.payload[0];\n\t\tvalidatePayload(raw.payload.length >= 1 + numNodeIDs);\n\t\tconst reservedNodeIDs = [\n\t\t\t...raw.payload.subarray(1, 1 + numNodeIDs),\n\t\t];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\treservedNodeIDs,\n\t\t});\n\t}\n\n\tpublic reservedNodeIDs: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.reservedNodeIDs.length,\n\t\t\t...this.reservedNodeIDs,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCReserveNodeIDsOptions {\n\tnumNodeIDs: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.ReserveNodeIDs)\n@expectedCCResponse(ZWaveProtocolCCReservedIDs)\nexport class ZWaveProtocolCCReserveNodeIDs extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCReserveNodeIDsOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.numNodeIDs = options.numNodeIDs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCReserveNodeIDs {\n\t\tvalidatePayload(raw.payload.length >= 1);\n\t\tconst numNodeIDs = raw.payload[0];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnumNodeIDs,\n\t\t});\n\t}\n\n\tpublic numNodeIDs: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.numNodeIDs]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistReplyOptions {\n\tnodeMaskType: number;\n\tnodeListUpdated: boolean;\n}\n\n@CCCommand(ZWaveProtocolCommand.NodesExistReply)\nexport class ZWaveProtocolCCNodesExistReply extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNodesExistReplyOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.nodeMaskType = options.nodeMaskType;\n\t\tthis.nodeListUpdated = options.nodeListUpdated;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNodesExistReply {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst nodeMaskType = raw.payload[0];\n\t\tconst nodeListUpdated = raw.payload[1] === 0x01;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnodeMaskType,\n\t\t\tnodeListUpdated,\n\t\t});\n\t}\n\n\tpublic nodeMaskType: number;\n\tpublic nodeListUpdated: boolean;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.nodeMaskType,\n\t\t\tthis.nodeListUpdated ? 0x01 : 0x00,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\nfunction testResponseForZWaveProtocolNodesExist(\n\tsent: ZWaveProtocolCCNodesExist,\n\treceived: ZWaveProtocolCCNodesExistReply,\n) {\n\treturn received.nodeMaskType === sent.nodeMaskType;\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCNodesExistOptions {\n\tnodeMaskType: number;\n\tnodeIDs: number[];\n}\n\n@CCCommand(ZWaveProtocolCommand.NodesExist)\n@expectedCCResponse(\n\tZWaveProtocolCCNodesExistReply,\n\ttestResponseForZWaveProtocolNodesExist,\n)\nexport class ZWaveProtocolCCNodesExist extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCNodesExistOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.nodeMaskType = options.nodeMaskType;\n\t\tthis.nodeIDs = options.nodeIDs;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCNodesExist {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst nodeMaskType = raw.payload[0];\n\t\tconst numNodeIDs = raw.payload[1];\n\t\tvalidatePayload(raw.payload.length >= 2 + numNodeIDs);\n\t\tconst nodeIDs = [...raw.payload.subarray(2, 2 + numNodeIDs)];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnodeMaskType,\n\t\t\tnodeIDs,\n\t\t});\n\t}\n\n\tpublic nodeMaskType: number;\n\tpublic nodeIDs: number[];\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.nodeMaskType,\n\t\t\tthis.nodeIDs.length,\n\t\t\t...this.nodeIDs,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSetNWIModeOptions {\n\tenabled: boolean;\n\ttimeoutMinutes?: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.SetNWIMode)\nexport class ZWaveProtocolCCSetNWIMode extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCSetNWIModeOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.enabled = options.enabled;\n\t\tthis.timeoutMinutes = options.timeoutMinutes;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSetNWIMode {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst enabled = raw.payload[0] === 0x01;\n\t\tconst timeoutMinutes: number | undefined = raw.payload[1] || undefined;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tenabled,\n\t\t\ttimeoutMinutes,\n\t\t});\n\t}\n\n\tpublic enabled: boolean;\n\tpublic timeoutMinutes?: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.enabled ? 0x01 : 0x00,\n\t\t\tthis.timeoutMinutes ?? 0x00,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.ExcludeRequest)\nexport class ZWaveProtocolCCExcludeRequest\n\textends ZWaveProtocolCCNodeInformationFrame\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCAssignReturnRoutePriorityOptions {\n\ttargetNodeId: number;\n\trouteNumber: number;\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignReturnRoutePriority)\nexport class ZWaveProtocolCCAssignReturnRoutePriority extends ZWaveProtocolCC {\n\tpublic constructor(\n\t\toptions: WithAddress<ZWaveProtocolCCAssignReturnRoutePriorityOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.targetNodeId = options.targetNodeId;\n\t\tthis.routeNumber = options.routeNumber;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCAssignReturnRoutePriority {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst targetNodeId = raw.payload[0];\n\t\tconst routeNumber = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\ttargetNodeId,\n\t\t\trouteNumber,\n\t\t});\n\t}\n\n\tpublic targetNodeId: number;\n\tpublic routeNumber: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.targetNodeId, this.routeNumber]);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.AssignSUCReturnRoutePriority)\nexport class ZWaveProtocolCCAssignSUCReturnRoutePriority\n\textends ZWaveProtocolCCAssignReturnRoutePriority\n{}\n\n// @publicAPI\nexport interface ZWaveProtocolCCSmartStartIncludedNodeInformationOptions {\n\tnwiHomeId: Uint8Array;\n}\n\n@CCCommand(ZWaveProtocolCommand.SmartStartIncludedNodeInformation)\nexport class ZWaveProtocolCCSmartStartIncludedNodeInformation\n\textends ZWaveProtocolCC\n{\n\tpublic constructor(\n\t\toptions: WithAddress<\n\t\t\tZWaveProtocolCCSmartStartIncludedNodeInformationOptions\n\t\t>,\n\t) {\n\t\tsuper(options);\n\t\tif (options.nwiHomeId.length !== 4) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t`nwiHomeId must have length 4`,\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis.nwiHomeId = options.nwiHomeId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): ZWaveProtocolCCSmartStartIncludedNodeInformation {\n\t\tvalidatePayload(raw.payload.length >= 4);\n\t\tconst nwiHomeId = raw.payload.subarray(0, 4);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tnwiHomeId,\n\t\t});\n\t}\n\n\tpublic nwiHomeId: Uint8Array;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from(this.nwiHomeId);\n\t\treturn super.serialize(ctx);\n\t}\n}\n\n@CCCommand(ZWaveProtocolCommand.SmartStartPrime)\nexport class ZWaveProtocolCCSmartStartPrime\n\textends ZWaveProtocolCCNodeInformationFrame\n{}\n\n@CCCommand(ZWaveProtocolCommand.SmartStartInclusionRequest)\nexport class ZWaveProtocolCCSmartStartInclusionRequest\n\textends ZWaveProtocolCCNodeInformationFrame\n{}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kBAsBO;AACP,oBAAsB;AACtB,0BAAyC;AACzC,oCAKO;AACP,mBAKO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEP,IAAK;CAAL,SAAKA,kBAAe;AACnB,EAAAA,iBAAAA,iBAAA,KAAA,IAAA,CAAA,IAAA;AACA,EAAAA,iBAAAA,iBAAA,KAAA,IAAA,CAAA,IAAA;AACA,EAAAA,iBAAAA,iBAAA,MAAA,IAAA,CAAA,IAAA;AACD,GAJK,oBAAA,kBAAe,CAAA,EAAA;AAMpB,SAAS,iBAAiB,UAAuB;AAChD,SAAO,aAAa,0BAAc,MAAM,IACrC,gBAAgB,MAAM,IACtB,aAAa,0BAAc,KAAK,IAChC,gBAAgB,KAAK,IACrB,gBAAgB,KAAK;AACzB;AANS;AAQT,SAAS,iBAAiB,MAAqB;AAC9C,SAAO,SAAS,gBAAgB,MAAM,IACnC,0BAAc,MAAM,IACpB,SAAS,gBAAgB,KAAK,IAC9B,0BAAc,KAAK,IACnB,0BAAc,KAAK;AACvB;AANS;IAUI,mBAAe,MAAA;8BAF3B,4CAAa,2BAAe,iBAAiB,CAAC,OAC9C,kDAAmB,CAAC,CAAC;;;;oBACe;uCAAA,YAAY;WAAA;;;;;;;;AAAjD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAWA,uCAAmC,MAAA;8BAD/C,yCAAU,kCAAqB,oBAAoB,CAAC;;;;oBACI;2DAAA,YAAe;WAAA;;;;;;;;AAAxE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IAGZ,YACC,SAAgE;AAEhE,YAAM,OAAO;AAEb,WAAK,mBAAmB,QAAQ;AAChC,WAAK,qBAAqB,QAAQ;AAClC,WAAK,sBAAsB,QAAQ;AACnC,WAAK,cAAc,QAAQ;AAC3B,WAAK,sBAAsB,QAAQ;AACnC,WAAK,YAAY,QAAQ;AACzB,WAAK,qBAAqB,QAAQ;AAClC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,wBAAwB,QAAQ;AACrC,WAAK,WAAW,QAAQ;AACxB,WAAK,mBAAmB,QAAQ;AAChC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,eAAe,QAAQ;IAC7B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,YAAM,UAAM,uCAA0B,IAAI,OAAO;AAEjD,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ,GAAG;OACH;IACF;IAEO;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,cAAU,wCAA2B,IAAI;AAC9C,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAKY,8CAA0C,MAAA;8BAFtD,yCAAU,kCAAqB,2BAA2B,OAC1D,kDAAmB,mCAAmC,CAAC;;;;oBAE/C;kEAAA,YAAe;WAAA;;;;;;;;AADxB,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAWA,4BAAwB,MAAA;8BADpC,yCAAU,kCAAqB,SAAS,CAAC;;;;oBACI;gDAAA,YAAe;WAAA;;;;;;;;AAA7D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAqD;AAErD,YAAM,OAAO;AACb,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,SAAS,QAAQ;IACvB;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,CAAC;AACpC,YAAM,SAAS,IAAI,QAAQ,aAAa,CAAC;AAEzC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,IAAI,oBAAM,CAAC;AAC1B,WAAK,QAAQ,CAAC,IAAI,KAAK;AACvB,WAAK,QAAQ,cAAc,KAAK,QAAQ,CAAC;AACzC,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAWY,mCAA+B,MAAA;8BAD3C,yCAAU,kCAAqB,gBAAgB,CAAC;;;;oBACI;uDAAA,YAAe;WAAA;;;;;;;;AAApE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAA4D;AAE5D,YAAM,OAAO;AACb,WAAK,mBAAmB,QAAQ;AAChC,WAAK,aAAa,QAAQ;AAC1B,WAAK,WAAW,QAAQ,YAAY,0BAAc,KAAK;IACxD;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC,IAAI;AACtC,YAAM,gBAAgB,IAAI,QAAQ,CAAC,IAAI;AAEvC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,aAAa;AACvD,YAAM,uBAAmB,0BACxB,IAAI,QAAQ,SAAS,GAAG,IAAI,aAAa,CAAC;AAE3C,YAAM,OAAO,IAAI,QAAQ,SAAS,IAAI,aAAa;AAEnD,UAAI;AACJ,UAAI;AACJ,UAAI,cAAc;AACjB,yCAAgB,KAAK,UAAU,CAAC;AAChC,YAAI,KAAK,WAAW,GAAG;AACtB,qBAAW,KAAK,CAAC,IAAI;AACrB,uBAAa,wBAAW;QACzB,WAAW,KAAK,WAAW,GAAG;AAC7B,2BAAa,8BAAgB,KAAK,CAAC,CAAC;AACpC,qBAAW,KAAK,CAAC,IAAI;QACtB,OAAO;AACN,sCAAgB,KAAK,wBAAwB;QAC9C;MACD,WAAW,KAAK,UAAU,GAAG;AAC5B,yBAAa,8BAAgB,KAAK,CAAC,CAAC;AACpC,mBAAW,0BAAc,KAAK;MAC/B,OAAO;AACN,qBAAa,wBAAW;AACxB,mBAAW,0BAAc,KAAK;MAC/B;AAEA,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;QACA;OACA;IACF;IAEO;IACA;IACA;IAEA,UAAU,KAAsB;AACtC,YAAM,mBAAe,2BAAc,KAAK,kBAAkB,qBAAS;AACnE,YAAM,iBAAiB,MAAc,aAAa;AAClD,WAAK,UAAU,oBAAM,OAAO;QAC3B,oBAAM,KAAK,CAAC,cAAc,CAAC;QAC3B;QACA,oBAAM,KAAK,CAAC,KAAK,YAAY,KAAK,QAAQ,CAAC;OAC3C;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAUY,4BAAwB,MAAA;8BADpC,yCAAU,kCAAqB,SAAS,CAAC;;;;oBACI;gDAAA,YAAe;WAAA;;;;;;;;AAA7D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAqD;AAErD,YAAM,OAAO;AACb,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,aAAa,QAAQ;IAC3B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,gBAAgB,IAAI,QAAQ,CAAC,IAAI;AAEvC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,aAAa;AACvD,YAAM,sBAAkB,0BACvB,IAAI,QAAQ,SAAS,GAAG,IAAI,aAAa,CAAC;AAG3C,UAAI;AACJ,UAAI,IAAI,QAAQ,UAAU,IAAI,eAAe;AAC5C,yBAAa,8BACZ,IAAI,QAAQ,IAAI,aAAa,CAAC;MAEhC;AAEA,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,YAAM,mBAAe,2BAAc,KAAK,iBAAiB,qBAAS;AAClE,WAAK,UAAU,oBAAM,OAAO;QAC3B,oBAAM,KAAK,CAAC,aAAa,MAAM,CAAC;QAChC;QACA,KAAK,cAAc,SAChB,oBAAM,KAAK,CAAC,KAAK,UAAU,CAAC,IAC5B,IAAI,oBAAK;OACZ;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAKY,kCAA8B,MAAA;8BAF1C,yCAAU,kCAAqB,eAAe,OAC9C,kDAAmB,wBAAwB,CAAC;;;;oBACO;sDAAA,YAAe;WAAA;;;;;;;;AAAnE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAQA,kCAA8B,MAAA;8BAD1C,yCAAU,kCAAqB,eAAe,CAAC;;;;oBACI;sDAAA,YAAe;WAAA;;;;;;;;AAAnE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAA2D;AAE3D,YAAM,OAAO;AACb,WAAK,iBAAiB,QAAQ;IAC/B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,CAAC;AAEpC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,cAAc,CAAC;AAC/C,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAWY,uCAAmC,MAAA;8BAD/C,yCAAU,kCAAqB,oBAAoB,CAAC;;;;oBACI;2DAAA,YAAe;WAAA;;;;;;;;AAAxE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAgE;AAEhE,YAAM,OAAO;AACb,UAAI,QAAQ,eAAe,QAAQ,aAAa;AAC/C,cAAM,IAAI,uBACT,GAAG,KAAK,YAAY,IAAI,iEACxB,4BAAgB,gBAAgB;MAElC;AACA,WAAK,cAAc,QAAQ;AAC3B,WAAK,cAAc,QAAQ;AAC3B,WAAK,cAAc,QAAQ;IAC5B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,SAAS,IAAI,QAAQ,CAAC;AAC5B,YAAM,cAAc,CAAC,EAAE,SAAS;AAChC,YAAM,cAAc,CAAC,EAAE,SAAS;AAChC,YAAM,cAAc,CAAC,EAAE,SAAS;AAEhC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;QACA;OACA;IACF;IAEO;IACA;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK;SACxB,KAAK,cAAc,IAAS,MAC1B,KAAK,cAAc,IAAS,MAC5B,KAAK,cAAc,IAAS;OAC/B;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAYY,0CAAsC,MAAA;8BADlD,yCAAU,kCAAqB,uBAAuB,CAAC;;;;oBACI;8DAAA,YAAe;WAAA;;;;;;;;AAA3E,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IAGZ,YACC,SAAmE;AAEnE,YAAM,OAAO;AAEb,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,eAAe,QAAQ;AAE5B,WAAK,mBAAmB,QAAQ;AAChC,WAAK,qBAAqB,QAAQ;AAClC,WAAK,sBAAsB,QAAQ;AACnC,WAAK,cAAc,QAAQ;AAC3B,WAAK,sBAAsB,QAAQ;AACnC,WAAK,YAAY,QAAQ;AACzB,WAAK,qBAAqB,QAAQ;AAClC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,wBAAwB,QAAQ;AACrC,WAAK,WAAW,QAAQ;AACxB,WAAK,mBAAmB,QAAQ;AAChC,WAAK,kBAAkB,QAAQ;IAChC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,CAAC;AACpC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAElC,YAAM,EAAE,KAAI,QAAK,iDAChB,IAAI,QAAQ,SAAS,CAAC,CAAC;AAGxB,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;QACA,GAAG;OACH;IACF;IAEO;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,OAAO;QAC3B,oBAAM,KAAK,CAAC,KAAK,gBAAgB,KAAK,YAAY,CAAC;YACnD,kDAAqC,IAAI;OACzC;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAWY,2CAAuC,MAAA;8BADnD,yCAAU,kCAAqB,wBAAwB,CAAC;;;;oBACI;+DAAA,YAAe;WAAA;;;;;;;;AAA5E,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAoE;AAEpE,YAAM,OAAO;AACb,WAAK,iBAAiB,QAAQ;AAC9B,WAAK,eAAe,QAAQ;AAC5B,WAAK,kBAAkB,QAAQ;IAChC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,iBAAiB,IAAI,QAAQ,CAAC;AACpC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,gBAAgB,IAAI,QAAQ,CAAC;AAEnC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,aAAa;AACvD,YAAM,sBAAkB,0BACvB,IAAI,QAAQ,SAAS,GAAG,IAAI,aAAa,CAAC;AAG3C,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;QACA;OACA;IACF;IAEO;IACA;IACA;IAEA,UAAU,KAAsB;AACtC,YAAM,mBAAe,2BAAc,KAAK,iBAAiB,qBAAS;AAClE,WAAK,UAAU,oBAAM,OAAO;QAC3B,oBAAM,KAAK;UACV,KAAK;UACL,KAAK;UACL,aAAa;SACb;QACD;OACA;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IASY,8BAA0B,MAAA;8BADtC,yCAAU,kCAAqB,WAAW,CAAC;;;;oBACI;kDAAA,YAAe;WAAA;;;;;;;;AAA/D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAuD;AAEvD,YAAM,OAAO;AACb,WAAK,SAAS,QAAQ;IACvB;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,SAAgC,IAAI,QAAQ,CAAC;AAEnD,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,MAAM,CAAC;AACvC,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAaY,oCAAgC,MAAA;8BAD5C,yCAAU,kCAAqB,iBAAiB,CAAC;;;;oBACI;wDAAA,YAAe;WAAA;;;;;;;;AAArE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAA6D;AAE7D,YAAM,OAAO;AACb,UAAI,QAAQ,UAAU,SAAS,2BAAe;AAC7C,cAAM,IAAI,uBACT,GAAG,KAAK,YAAY,IAAI,wBACxB,4BAAgB,gBAAgB;MAElC;AAEA,WAAK,oBAAoB,QAAQ;AACjC,WAAK,aAAa,QAAQ;AAC1B,WAAK,YAAY,QAAQ;AACzB,WAAK,oBAAoB,QAAQ;AACjC,WAAK,mBAAmB,QAAQ;IACjC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,oBAAoB,IAAI,QAAQ,CAAC;AACvC,YAAM,aAAa,IAAI,QAAQ,CAAC,MAAM;AACtC,YAAM,eAAe,IAAI,QAAQ,CAAC,IAAI;AACtC,YAAM,YAAY,CAAC,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,YAAY,CAAC;AAC/D,YAAM,iBAAiB,IAAI,QAAQ,IAAI,YAAY;AACnD,YAAM,mBAAmB,iBACvB,mBAAmB,IAAK,CAAK;AAE/B,YAAM,oBAAiC,mBAAmB,IAAK;AAE/D,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;QACA;QACA;QACA;OACA;IACF;IAEO;IACA;IACA;IACA;IACA;IAEA,UAAU,KAAsB;AACtC,YAAM,YAAa,KAAK,cAAc,IAAK,KAAK,UAAU;AAC1D,YAAM,YAAY,iBAAiB,KAAK,gBAAgB;AACxD,YAAM,YAAa,aAAa,IAAM,KAAK,qBAAqB;AAChE,WAAK,UAAU,oBAAM,KAAK;QACzB,KAAK;QACL;QACA,GAAG,KAAK;QACR;OACA;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAWY,oCAAgC,MAAA;8BAD5C,yCAAU,kCAAqB,iBAAiB,CAAC;;;;oBACI;wDAAA,YAAe;WAAA;;;;;;;;AAArE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IAGZ,YACC,SAA6D;AAE7D,YAAM,OAAO;AAEb,WAAK,YAAY,QAAQ;AACzB,WAAK,mBAAmB,QAAQ;AAChC,WAAK,qBAAqB,QAAQ;AAClC,WAAK,sBAAsB,QAAQ;AACnC,WAAK,cAAc,QAAQ;AAC3B,WAAK,sBAAsB,QAAQ;AACnC,WAAK,YAAY,QAAQ;AACzB,WAAK,qBAAqB,QAAQ;AAClC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,wBAAwB,QAAQ;AACrC,WAAK,WAAW,QAAQ;AACxB,WAAK,mBAAmB,QAAQ;AAChC,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,eAAe,QAAQ;IAC7B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,YAAY,IAAI,QAAQ,CAAC;AAE/B,YAAM,UAAM,uCAA0B,IAAI,QAAQ,SAAS,CAAC,CAAC;AAE7D,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA,GAAG;OACH;IACF;IAEO;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,OAAO;QAC3B,oBAAM,KAAK,CAAC,KAAK,SAAS,CAAC;YAC3B,wCAA2B,IAAI;OAC/B;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAUY,qCAAiC,MAAA;8BAD7C,yCAAU,kCAAqB,kBAAkB,CAAC;;;;oBACI;yDAAA,YAAe;WAAA;;;;;;;;AAAtE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAA8D;AAE9D,YAAM,OAAO;AACb,WAAK,eAAe,QAAQ;AAC5B,WAAK,kBAAkB,QAAQ;IAChC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,kBAAkB;QACvB,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,YAAY;;AAG5C,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,YAAM,mBAAe,2BAAc,KAAK,iBAAiB,qBAAS;AAClE,WAAK,UAAU,oBAAM,OAAO;QAC3B,oBAAM,KAAK,CAAC,KAAK,cAAc,aAAa,MAAM,CAAC;QACnD;OACA;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IASY,uDAAmD,MAAA;8BAD/D,yCAAU,kCAAqB,oCAAoC,CAAC;;;;oBAE5D;2EAAA,YAAe;WAAA;;;;;;;;AADxB,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IAGZ,YACC,SAEC;AAED,YAAM,OAAO;AACb,WAAK,qBAAqB,QAAQ;IACnC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,qBAAqB,IAAI,QAAQ,CAAC;AAExC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,kBAAkB,CAAC;AACnD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAIY,iDAA6C,MAAA;8BADzD,yCAAU,kCAAqB,8BAA8B,CAAC;;;;oBAEtD;qEAAA,YAAe;WAAA;;;;;;;;AADxB,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAWA,4BAAwB,MAAA;8BADpC,yCAAU,kCAAqB,SAAS,CAAC;;;;oBACI;gDAAA,YAAe;WAAA;;;;;;;;AAA7D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAqD;AAErD,YAAM,OAAO;AACb,WAAK,YAAY,QAAQ;AACzB,WAAK,QAAQ,QAAQ;IACtB;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,YAAY,IAAI,QAAQ,CAAC;AAC/B,YAAM,eAAe,IAAI,QAAQ,CAAC,KAAK;AACvC,YAAM,QAAQ,CAAC,EAAE,eAAe;AAEhC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,KAAK,QAAQ,IAAM,CAAC,CAAC;AAChE,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IASY,yBAAqB,MAAA;8BADjC,yCAAU,kCAAqB,MAAM,CAAC;;;;oBACI;6CAAA,YAAe;WAAA;;;;;;;;AAA1D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAkD;AAElD,YAAM,OAAO;AACb,WAAK,YAAY,QAAQ;IAC1B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AAEvC,YAAM,eAAe,IAAI,QAAQ,CAAC,KAAK;AACvC,YAAM,YAAY,CAAC,EAAE,eAAe;AAEpC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,GAAM,KAAK,YAAY,IAAM,CAAC,CAAC;AAC1D,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAUY,4BAAwB,MAAA;8BADpC,yCAAU,kCAAqB,SAAS,CAAC;;;;oBACI;gDAAA,YAAe;WAAA;;;;;;;;AAA7D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAqD;AAErD,YAAM,OAAO;AACb,WAAK,WAAW,QAAQ;AACxB,WAAK,QAAQ,QAAQ;IACtB;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,WAAW,IAAI,QAAQ,CAAC,MAAM;AACpC,YAAM,eAAe,IAAI,QAAQ,CAAC,KAAK;AACvC,YAAM,QAAQ,CAAC,EAAE,eAAe;AAEhC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK;QACzB,KAAK,WAAW,IAAO;QACvB,KAAK,QAAQ,IAAM;OACnB;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAIY,uCAAmC,MAAA;8BAD/C,yCAAU,kCAAqB,oBAAoB,CAAC;;;;oBAE5C;2DAAA,YAAgC;WAAA;;;;;;;;AADzC,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAUA,qCAAiC,MAAA;8BAD7C,yCAAU,kCAAqB,kBAAkB,CAAC;;;;oBACI;yDAAA,YAAe;WAAA;;;;;;;;AAAtE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAA8D;AAE9D,YAAM,OAAO;AACb,UAAI,QAAQ,QAAQ,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,qBAAS,GAAG;AACxD,cAAM,IAAI,uBACT,sCAAsC,qBAAS,KAC/C,4BAAgB,gBAAgB;MAElC;AACA,WAAK,UAAU,QAAQ;IACxB;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,UAAU,CAAC,GAAG,IAAI,QAAQ,SAAS,GAAG,CAAC,CAAC,EAAE,OAC/C,CAAC,OAAO,KAAK,KAAK,MAAM,qBAAS;AAGlC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,MAAM,GAAG,CAAC;AAC/B,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,UAAU,IAAI,GAAG,KAAK;AACtD,aAAK,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;MACjC;AACA,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IASY,uBAAmB,MAAA;8BAD/B,yCAAU,kCAAqB,IAAI,CAAC;;;;oBACI;2CAAA,YAAe;WAAA;;;;;;;;AAAxD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAgD;AAEhD,YAAM,OAAO;AACb,WAAK,aAAa,QAAQ;IAC3B;IAEO,OAAO,KAAK,KAAY,KAAqB;AACnD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,aAAa,IAAI,QAAQ,CAAC;AAEhC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,UAAU,CAAC;AAC3C,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IASY,6BAAyB,MAAA;8BADrC,yCAAU,kCAAqB,UAAU,CAAC;;;;oBACI;iDAAA,YAAe;WAAA;;;;;;;;AAA9D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAsD;AAEtD,YAAM,OAAO;AACb,WAAK,WAAW,QAAQ;IACzB;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,uCACC,IAAI,QAAQ,CAAC,MAAM,KAAQ,IAAI,QAAQ,CAAC,MAAM,CAAI;AAEnD,YAAM,WAAW,IAAI,QAAQ,CAAC,MAAM;AAEpC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,IAAO,CAAI,CAAC;AACvD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IASY,2BAAuB,MAAA;8BADnC,yCAAU,kCAAqB,QAAQ,CAAC;;;;oBACI;+CAAA,YAAe;WAAA;;;;;;;;AAA5D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAoD;AAEpD,YAAM,OAAO;AACb,UAAI,QAAQ,iBAAiB,KAAK,QAAQ,iBAAiB,IAAI;AAC9D,cAAM,IAAI,uBACT,GAAG,KAAK,YAAY,IAAI,mDACxB,4BAAgB,gBAAgB;MAElC;AACA,WAAK,iBAAiB,QAAQ;IAC/B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,UAAI;AAEJ,UAAI,IAAI,QAAQ,UAAU,GAAG;AAE5B,yBAAiB,IAAI,QAAQ,CAAC;MAC/B,WAAW,IAAI,QAAQ,WAAW,GAAG;AACpC,yBAAiB;UAChB;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACC,QAAQ,IAAI,QAAQ,CAAC,CAAC;AACxB,YAAI,mBAAmB;AAAI,2BAAiB;MAC7C,OAAO;AACN,oCAAgB,KAAK,yBAAyB;MAC/C;AAEA,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;;IAGO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC;AAClD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IASY,8BAA0B,MAAA;8BADtC,yCAAU,kCAAqB,WAAW,CAAC;;;;oBACI;kDAAA,YAAe;WAAA;;;;;;;;AAA/D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAuD;AAEvD,YAAM,OAAO;AACb,WAAK,kBAAkB,QAAQ;IAChC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,aAAa,IAAI,QAAQ,CAAC;AAChC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,UAAU;AACpD,YAAM,kBAAkB;QACvB,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,UAAU;;AAG1C,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK;QACzB,KAAK,gBAAgB;QACrB,GAAG,KAAK;OACR;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAUY,iCAA6B,MAAA;8BAFzC,yCAAU,kCAAqB,cAAc,OAC7C,kDAAmB,0BAA0B,CAAC;;;;oBACI;qDAAA,YAAe;WAAA;;;;;;;;AAAlE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAA0D;AAE1D,YAAM,OAAO;AACb,WAAK,aAAa,QAAQ;IAC3B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,aAAa,IAAI,QAAQ,CAAC;AAEhC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,UAAU,CAAC;AAC3C,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAUY,kCAA8B,MAAA;8BAD1C,yCAAU,kCAAqB,eAAe,CAAC;;;;oBACI;sDAAA,YAAe;WAAA;;;;;;;;AAAnE,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAA2D;AAE3D,YAAM,OAAO;AACb,WAAK,eAAe,QAAQ;AAC5B,WAAK,kBAAkB,QAAQ;IAChC;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,kBAAkB,IAAI,QAAQ,CAAC,MAAM;AAE3C,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK;QACzB,KAAK;QACL,KAAK,kBAAkB,IAAO;OAC9B;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;AAGD,SAAS,uCACR,MACA,UAAwC;AAExC,SAAO,SAAS,iBAAiB,KAAK;AACvC;AALS;IAkBI,6BAAyB,MAAA;8BALrC,yCAAU,kCAAqB,UAAU,OACzC,kDACA,gCACA,sCAAsC,CACtC;;;;oBAC8C;iDAAA,YAAe;WAAA;;;;;;;;AAA9D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAsD;AAEtD,YAAM,OAAO;AACb,WAAK,eAAe,QAAQ;AAC5B,WAAK,UAAU,QAAQ;IACxB;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,aAAa,IAAI,QAAQ,CAAC;AAChC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,UAAU;AACpD,YAAM,UAAU,CAAC,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,UAAU,CAAC;AAE3D,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK;QACzB,KAAK;QACL,KAAK,QAAQ;QACb,GAAG,KAAK;OACR;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAUY,6BAAyB,MAAA;8BADrC,yCAAU,kCAAqB,UAAU,CAAC;;;;oBACI;iDAAA,YAAe;WAAA;;;;;;;;AAA9D,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAsD;AAEtD,YAAM,OAAO;AACb,WAAK,UAAU,QAAQ;AACvB,WAAK,iBAAiB,QAAQ;IAC/B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,UAAU,IAAI,QAAQ,CAAC,MAAM;AACnC,YAAM,iBAAqC,IAAI,QAAQ,CAAC,KAAK;AAE7D,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK;QACzB,KAAK,UAAU,IAAO;QACtB,KAAK,kBAAkB;OACvB;AACD,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAIY,iCAA6B,MAAA;8BADzC,yCAAU,kCAAqB,cAAc,CAAC;;;;oBAEtC;qDAAA,YAAmC;WAAA;;;;;;;;AAD5C,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAWA,4CAAwC,MAAA;8BADpD,yCAAU,kCAAqB,yBAAyB,CAAC;;;;oBACI;gEAAA,YAAe;WAAA;;;;;;;;AAA7E,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IACZ,YACC,SAAqE;AAErE,YAAM,OAAO;AACb,WAAK,eAAe,QAAQ;AAC5B,WAAK,cAAc,QAAQ;IAC5B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,eAAe,IAAI,QAAQ,CAAC;AAClC,YAAM,cAAc,IAAI,QAAQ,CAAC;AAEjC,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;QACA;OACA;IACF;IAEO;IACA;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,cAAc,KAAK,WAAW,CAAC;AAC/D,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAIY,+CAA2C,MAAA;8BADvD,yCAAU,kCAAqB,4BAA4B,CAAC;;;;oBAEpD;mEAAA,YAAwC;WAAA;;;;;;;;AADjD,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAUA,oDAAgD,MAAA;8BAD5D,yCAAU,kCAAqB,iCAAiC,CAAC;;;;oBAEzD;wEAAA,YAAe;WAAA;;;;;;;;AADxB,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;IAGZ,YACC,SAEC;AAED,YAAM,OAAO;AACb,UAAI,QAAQ,UAAU,WAAW,GAAG;AACnC,cAAM,IAAI,uBACT,gCACA,4BAAgB,gBAAgB;MAElC;AACA,WAAK,YAAY,QAAQ;IAC1B;IAEO,OAAO,KACb,KACA,KAAqB;AAErB,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,YAAY,IAAI,QAAQ,SAAS,GAAG,CAAC;AAE3C,aAAO,IAAI,KAAK;QACf,QAAQ,IAAI;QACZ;OACA;IACF;IAEO;IAEA,UAAU,KAAsB;AACtC,WAAK,UAAU,oBAAM,KAAK,KAAK,SAAS;AACxC,aAAO,MAAM,UAAU,GAAG;IAC3B;;;;IAIY,kCAA8B,MAAA;8BAD1C,yCAAU,kCAAqB,eAAe,CAAC;;;;oBAEvC;sDAAA,YAAmC;WAAA;;;;;;;;AAD5C,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;IAKA,6CAAyC,MAAA;8BADrD,yCAAU,kCAAqB,0BAA0B,CAAC;;;;oBAElD;iEAAA,YAAmC;WAAA;;;;;;;;AAD5C,mBAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,wBAAA,YAAA,uBAAA;;;;;",
6
6
  "names": ["DataRateBitmask"]
7
7
  }
@@ -73,9 +73,7 @@ __export(CCValues_generated_exports, {
73
73
  });
74
74
  module.exports = __toCommonJS(CCValues_generated_exports);
75
75
  var import_core = require("@zwave-js/core");
76
- var import_safe = require("@zwave-js/core/safe");
77
76
  var import_shared = require("@zwave-js/shared");
78
- var import_safe2 = require("@zwave-js/shared/safe");
79
77
  var import_CCValueUtils = require("../lib/CCValueUtils.js");
80
78
  var import_Types = require("../lib/_Types.js");
81
79
  const AlarmSensorCCValues = Object.freeze({
@@ -534,7 +532,7 @@ const BarrierOperatorCCValues = Object.freeze({
534
532
  return {
535
533
  ...import_core.ValueMetadata.UInt8,
536
534
  label: "Target Barrier State",
537
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.BarrierState, [
535
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.BarrierState, [
538
536
  import_Types.BarrierState.Open,
539
537
  import_Types.BarrierState.Closed
540
538
  ])
@@ -566,7 +564,7 @@ const BarrierOperatorCCValues = Object.freeze({
566
564
  return {
567
565
  ...import_core.ValueMetadata.ReadOnlyUInt8,
568
566
  label: "Current Barrier State",
569
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.BarrierState)
567
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.BarrierState)
570
568
  };
571
569
  },
572
570
  options: {
@@ -597,7 +595,7 @@ const BarrierOperatorCCValues = Object.freeze({
597
595
  return {
598
596
  ...import_core.ValueMetadata.UInt8,
599
597
  label: `Signaling State (${(0, import_shared.getEnumMemberName)(import_Types.SubsystemType, subsystemType)})`,
600
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.SubsystemState)
598
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.SubsystemState)
601
599
  };
602
600
  }
603
601
  };
@@ -897,7 +895,7 @@ const BatteryCCValues = Object.freeze({
897
895
  return {
898
896
  ...import_core.ValueMetadata.ReadOnlyUInt8,
899
897
  label: "Charging status",
900
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.BatteryChargingStatus)
898
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.BatteryChargingStatus)
901
899
  };
902
900
  },
903
901
  options: {
@@ -1038,7 +1036,7 @@ const BatteryCCValues = Object.freeze({
1038
1036
  return {
1039
1037
  ...import_core.ValueMetadata.ReadOnlyUInt8,
1040
1038
  label: "Recharge or replace",
1041
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.BatteryReplacementStatus)
1039
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.BatteryReplacementStatus)
1042
1040
  };
1043
1041
  },
1044
1042
  options: {
@@ -1413,7 +1411,7 @@ const ClimateControlScheduleCCValues = Object.freeze({
1413
1411
  return {
1414
1412
  ...import_core.ValueMetadata.Number,
1415
1413
  label: "Override type",
1416
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.ScheduleOverrideType)
1414
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.ScheduleOverrideType)
1417
1415
  };
1418
1416
  },
1419
1417
  options: {
@@ -1812,7 +1810,7 @@ const DoorLockCCValues = Object.freeze({
1812
1810
  return {
1813
1811
  ...import_core.ValueMetadata.UInt8,
1814
1812
  label: "Target lock mode",
1815
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.DoorLockMode)
1813
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.DoorLockMode)
1816
1814
  };
1817
1815
  },
1818
1816
  options: {
@@ -1841,7 +1839,7 @@ const DoorLockCCValues = Object.freeze({
1841
1839
  return {
1842
1840
  ...import_core.ValueMetadata.ReadOnlyUInt8,
1843
1841
  label: "Current lock mode",
1844
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.DoorLockMode)
1842
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.DoorLockMode)
1845
1843
  };
1846
1844
  },
1847
1845
  options: {
@@ -2060,7 +2058,7 @@ const DoorLockCCValues = Object.freeze({
2060
2058
  return {
2061
2059
  ...import_core.ValueMetadata.UInt8,
2062
2060
  label: "Lock operation type",
2063
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.DoorLockOperationType)
2061
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.DoorLockOperationType)
2064
2062
  };
2065
2063
  },
2066
2064
  options: {
@@ -2923,7 +2921,7 @@ const HumidityControlModeCCValues = Object.freeze({
2923
2921
  get meta() {
2924
2922
  return {
2925
2923
  ...import_core.ValueMetadata.UInt8,
2926
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.HumidityControlMode),
2924
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.HumidityControlMode),
2927
2925
  label: "Humidity control mode"
2928
2926
  };
2929
2927
  },
@@ -2979,7 +2977,7 @@ const HumidityControlOperatingStateCCValues = Object.freeze({
2979
2977
  get meta() {
2980
2978
  return {
2981
2979
  ...import_core.ValueMetadata.ReadOnlyUInt8,
2982
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.HumidityControlOperatingState),
2980
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.HumidityControlOperatingState),
2983
2981
  label: "Humidity control operating state"
2984
2982
  };
2985
2983
  },
@@ -3571,7 +3569,7 @@ const IrrigationCCValues = Object.freeze({
3571
3569
  label: "Rain sensor polarity",
3572
3570
  min: 0,
3573
3571
  max: 1,
3574
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.IrrigationSensorPolarity)
3572
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.IrrigationSensorPolarity)
3575
3573
  };
3576
3574
  },
3577
3575
  options: {
@@ -3630,7 +3628,7 @@ const IrrigationCCValues = Object.freeze({
3630
3628
  label: "Moisture sensor polarity",
3631
3629
  min: 0,
3632
3630
  max: 1,
3633
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.IrrigationSensorPolarity)
3631
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.IrrigationSensorPolarity)
3634
3632
  };
3635
3633
  },
3636
3634
  options: {
@@ -4994,7 +4992,7 @@ const MeterCCValues = Object.freeze({
4994
4992
  ...import_core.ValueMetadata.WriteOnlyBoolean,
4995
4993
  // This is only a placeholder label. A config manager is needed to
4996
4994
  // determine the actual label.
4997
- label: `Reset (${rateType === import_Types.RateType.Consumed ? "Consumption, " : rateType === import_Types.RateType.Produced ? "Production, " : ""}${(0, import_safe2.num2hex)(scale)})`,
4995
+ label: `Reset (${rateType === import_Types.RateType.Consumed ? "Consumption, " : rateType === import_Types.RateType.Produced ? "Production, " : ""}${(0, import_shared.num2hex)(scale)})`,
4998
4996
  states: {
4999
4997
  true: "Reset"
5000
4998
  },
@@ -6108,7 +6106,7 @@ const NotificationCCValues = Object.freeze({
6108
6106
  }
6109
6107
  }),
6110
6108
  unknownNotificationType: Object.assign((notificationType) => {
6111
- const property = `UNKNOWN_${(0, import_safe2.num2hex)(notificationType)}`;
6109
+ const property = `UNKNOWN_${(0, import_shared.num2hex)(notificationType)}`;
6112
6110
  return {
6113
6111
  id: {
6114
6112
  commandClass: import_core.CommandClasses.Notification,
@@ -6122,7 +6120,7 @@ const NotificationCCValues = Object.freeze({
6122
6120
  get meta() {
6123
6121
  return {
6124
6122
  ...import_core.ValueMetadata.ReadOnlyUInt8,
6125
- label: `Unknown notification (${(0, import_safe2.num2hex)(notificationType)})`,
6123
+ label: `Unknown notification (${(0, import_shared.num2hex)(notificationType)})`,
6126
6124
  ccSpecific: { notificationType }
6127
6125
  };
6128
6126
  }
@@ -6246,7 +6244,7 @@ const ProtectionCCValues = Object.freeze({
6246
6244
  return {
6247
6245
  ...import_core.ValueMetadata.UInt8,
6248
6246
  min: 1,
6249
- max: import_safe.MAX_NODES,
6247
+ max: import_core.MAX_NODES,
6250
6248
  label: "Node ID with exclusive control"
6251
6249
  };
6252
6250
  },
@@ -6276,7 +6274,7 @@ const ProtectionCCValues = Object.freeze({
6276
6274
  return {
6277
6275
  ...import_core.ValueMetadata.Number,
6278
6276
  label: "Local protection state",
6279
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.LocalProtectionState)
6277
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.LocalProtectionState)
6280
6278
  };
6281
6279
  },
6282
6280
  options: {
@@ -6305,7 +6303,7 @@ const ProtectionCCValues = Object.freeze({
6305
6303
  return {
6306
6304
  ...import_core.ValueMetadata.Number,
6307
6305
  label: "RF protection state",
6308
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.RFProtectionState)
6306
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.RFProtectionState)
6309
6307
  };
6310
6308
  },
6311
6309
  options: {
@@ -7032,7 +7030,7 @@ const ThermostatFanModeCCValues = Object.freeze({
7032
7030
  get meta() {
7033
7031
  return {
7034
7032
  ...import_core.ValueMetadata.UInt8,
7035
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.ThermostatFanMode),
7033
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.ThermostatFanMode),
7036
7034
  label: "Thermostat fan mode"
7037
7035
  };
7038
7036
  },
@@ -7088,7 +7086,7 @@ const ThermostatFanStateCCValues = Object.freeze({
7088
7086
  get meta() {
7089
7087
  return {
7090
7088
  ...import_core.ValueMetadata.ReadOnlyUInt8,
7091
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.ThermostatFanState),
7089
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.ThermostatFanState),
7092
7090
  label: "Thermostat fan state"
7093
7091
  };
7094
7092
  },
@@ -7119,7 +7117,7 @@ const ThermostatModeCCValues = Object.freeze({
7119
7117
  get meta() {
7120
7118
  return {
7121
7119
  ...import_core.ValueMetadata.UInt8,
7122
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.ThermostatMode),
7120
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.ThermostatMode),
7123
7121
  label: "Thermostat mode"
7124
7122
  };
7125
7123
  },
@@ -7204,7 +7202,7 @@ const ThermostatOperatingStateCCValues = Object.freeze({
7204
7202
  return {
7205
7203
  ...import_core.ValueMetadata.ReadOnlyUInt8,
7206
7204
  label: "Operating state",
7207
- states: (0, import_safe.enumValuesToMetadataStates)(import_Types.ThermostatOperatingState)
7205
+ states: (0, import_core.enumValuesToMetadataStates)(import_Types.ThermostatOperatingState)
7208
7206
  };
7209
7207
  },
7210
7208
  options: {
@@ -7818,7 +7816,7 @@ const VersionCCValues = Object.freeze({
7818
7816
  return {
7819
7817
  ...import_core.ValueMetadata.ReadOnlyNumber,
7820
7818
  label: "Library type",
7821
- states: (0, import_safe.enumValuesToMetadataStates)(import_safe.ZWaveLibraryTypes)
7819
+ states: (0, import_core.enumValuesToMetadataStates)(import_core.ZWaveLibraryTypes)
7822
7820
  };
7823
7821
  },
7824
7822
  options: {