@zwave-js/cc 12.9.0 → 12.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/build/cc/AssociationCC.d.ts +19 -0
  2. package/build/cc/AssociationCC.d.ts.map +1 -1
  3. package/build/cc/AssociationCC.js +63 -5
  4. package/build/cc/AssociationCC.js.map +1 -1
  5. package/build/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  6. package/build/cc/DeviceResetLocallyCC.js +5 -2
  7. package/build/cc/DeviceResetLocallyCC.js.map +1 -1
  8. package/build/cc/FirmwareUpdateMetaDataCC.d.ts +14 -1
  9. package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  10. package/build/cc/FirmwareUpdateMetaDataCC.js +159 -27
  11. package/build/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  12. package/build/cc/IndicatorCC.d.ts +8 -1
  13. package/build/cc/IndicatorCC.d.ts.map +1 -1
  14. package/build/cc/IndicatorCC.js +140 -7
  15. package/build/cc/IndicatorCC.js.map +1 -1
  16. package/build/cc/MultiChannelAssociationCC.d.ts +20 -8
  17. package/build/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  18. package/build/cc/MultiChannelAssociationCC.js +170 -26
  19. package/build/cc/MultiChannelAssociationCC.js.map +1 -1
  20. package/build/cc/PowerlevelCC.d.ts +21 -5
  21. package/build/cc/PowerlevelCC.d.ts.map +1 -1
  22. package/build/cc/PowerlevelCC.js +194 -11
  23. package/build/cc/PowerlevelCC.js.map +1 -1
  24. package/build/cc/Security2CC.d.ts.map +1 -1
  25. package/build/cc/Security2CC.js +83 -17
  26. package/build/cc/Security2CC.js.map +1 -1
  27. package/build/cc/VersionCC.d.ts +7 -2
  28. package/build/cc/VersionCC.d.ts.map +1 -1
  29. package/build/cc/VersionCC.js +33 -3
  30. package/build/cc/VersionCC.js.map +1 -1
  31. package/build/cc/index.d.ts +7 -7
  32. package/build/cc/index.d.ts.map +1 -1
  33. package/build/cc/index.js +13 -11
  34. package/build/cc/index.js.map +1 -1
  35. package/build/lib/CommandClass.d.ts.map +1 -1
  36. package/build/lib/CommandClass.js +18 -3
  37. package/build/lib/CommandClass.js.map +1 -1
  38. package/build/lib/Security2/Extension.d.ts +16 -2
  39. package/build/lib/Security2/Extension.d.ts.map +1 -1
  40. package/build/lib/Security2/Extension.js +70 -9
  41. package/build/lib/Security2/Extension.js.map +1 -1
  42. package/build/lib/_Types.d.ts +3 -1
  43. package/build/lib/_Types.d.ts.map +1 -1
  44. package/build/lib/_Types.js +2 -12
  45. package/build/lib/_Types.js.map +1 -1
  46. package/package.json +6 -6
@@ -25,6 +25,134 @@ const __assertType__number = $o => {
25
25
  }
26
26
  return _number($o);
27
27
  };
28
+ const __assertType__PowerlevelCCReportOptions = $o => {
29
+ function _3($o) {
30
+ return $o !== 0 ? {} : null;
31
+ }
32
+ function _undefined($o) {
33
+ return $o !== undefined ? {} : null;
34
+ }
35
+ function _1($o) {
36
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
37
+ return {};
38
+ if ("powerlevel" in $o && $o["powerlevel"] !== undefined) {
39
+ const error = _3($o["powerlevel"]);
40
+ if (error)
41
+ return error;
42
+ }
43
+ else
44
+ return {};
45
+ if ("timeout" in $o && $o["timeout"] !== undefined) {
46
+ const error = _undefined($o["timeout"]);
47
+ if (error)
48
+ return error;
49
+ }
50
+ return null;
51
+ }
52
+ function _5($o) {
53
+ return $o !== 1 ? {} : null;
54
+ }
55
+ function _6($o) {
56
+ return $o !== 2 ? {} : null;
57
+ }
58
+ function _7($o) {
59
+ return $o !== 3 ? {} : null;
60
+ }
61
+ function _8($o) {
62
+ return $o !== 4 ? {} : null;
63
+ }
64
+ function _9($o) {
65
+ return $o !== 5 ? {} : null;
66
+ }
67
+ function _10($o) {
68
+ return $o !== 6 ? {} : null;
69
+ }
70
+ function _11($o) {
71
+ return $o !== 7 ? {} : null;
72
+ }
73
+ function _12($o) {
74
+ return $o !== 8 ? {} : null;
75
+ }
76
+ function _13($o) {
77
+ return $o !== 9 ? {} : null;
78
+ }
79
+ function su__5__6__7__8__9__10__11__12__13_eu($o) {
80
+ const conditions = [_5, _6, _7, _8, _9, _10, _11, _12, _13];
81
+ for (const condition of conditions) {
82
+ const error = condition($o);
83
+ if (!error)
84
+ return null;
85
+ }
86
+ return {};
87
+ }
88
+ function _number($o) {
89
+ return typeof $o !== "number" ? {} : null;
90
+ }
91
+ function _2($o) {
92
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
93
+ return {};
94
+ if ("powerlevel" in $o && $o["powerlevel"] !== undefined) {
95
+ const error = su__5__6__7__8__9__10__11__12__13_eu($o["powerlevel"]);
96
+ if (error)
97
+ return error;
98
+ }
99
+ else
100
+ return {};
101
+ if ("timeout" in $o && $o["timeout"] !== undefined) {
102
+ const error = _number($o["timeout"]);
103
+ if (error)
104
+ return error;
105
+ }
106
+ else
107
+ return {};
108
+ return null;
109
+ }
110
+ function su__1__2_eu($o) {
111
+ const conditions = [_1, _2];
112
+ for (const condition of conditions) {
113
+ const error = condition($o);
114
+ if (!error)
115
+ return null;
116
+ }
117
+ return {};
118
+ }
119
+ return su__1__2_eu($o);
120
+ };
121
+ const __assertType__PowerlevelCCTestNodeReportOptions = $o => {
122
+ function _number($o) {
123
+ return typeof $o !== "number" ? {} : null;
124
+ }
125
+ function su__2__3__4_eu($o) {
126
+ return ![0, 1, 2].includes($o) ? {} : null;
127
+ }
128
+ function _0($o) {
129
+ if (typeof $o !== "object" || $o === null || Array.isArray($o))
130
+ return {};
131
+ if ("testNodeId" in $o && $o["testNodeId"] !== undefined) {
132
+ const error = _number($o["testNodeId"]);
133
+ if (error)
134
+ return error;
135
+ }
136
+ else
137
+ return {};
138
+ if ("status" in $o && $o["status"] !== undefined) {
139
+ const error = su__2__3__4_eu($o["status"]);
140
+ if (error)
141
+ return error;
142
+ }
143
+ else
144
+ return {};
145
+ if ("acknowledgedFrames" in $o && $o["acknowledgedFrames"] !== undefined) {
146
+ const error = _number($o["acknowledgedFrames"]);
147
+ if (error)
148
+ return error;
149
+ }
150
+ else
151
+ return {};
152
+ return null;
153
+ }
154
+ return _0($o);
155
+ };
28
156
  const safe_1 = require("@zwave-js/core/safe");
29
157
  const safe_2 = require("@zwave-js/shared/safe");
30
158
  const API_1 = require("../lib/API");
@@ -35,7 +163,9 @@ let PowerlevelCCAPI = class PowerlevelCCAPI extends API_1.PhysicalCCAPI {
35
163
  supportsCommand(cmd) {
36
164
  switch (cmd) {
37
165
  case _Types_1.PowerlevelCommand.Get:
166
+ case _Types_1.PowerlevelCommand.Report:
38
167
  case _Types_1.PowerlevelCommand.TestNodeGet:
168
+ case _Types_1.PowerlevelCommand.TestNodeReport:
39
169
  return this.isSinglecast();
40
170
  case _Types_1.PowerlevelCommand.Set:
41
171
  case _Types_1.PowerlevelCommand.TestNodeSet:
@@ -75,6 +205,16 @@ let PowerlevelCCAPI = class PowerlevelCCAPI extends API_1.PhysicalCCAPI {
75
205
  return (0, safe_2.pick)(response, ["powerlevel", "timeout"]);
76
206
  }
77
207
  }
208
+ async reportPowerlevel(options) {
209
+ __assertType("options", "PowerlevelCCReportOptions", __assertType__PowerlevelCCReportOptions.bind(void 0, options));
210
+ this.assertSupportsCommand(_Types_1.PowerlevelCommand, _Types_1.PowerlevelCommand.Report);
211
+ const cc = new PowerlevelCCReport(this.applHost, {
212
+ nodeId: this.endpoint.nodeId,
213
+ endpoint: this.endpoint.index,
214
+ ...options,
215
+ });
216
+ await this.applHost.sendCommand(cc, this.commandOptions);
217
+ }
78
218
  async startNodeTest(testNodeId, powerlevel, testFrameCount) {
79
219
  __assertType("testNodeId", "number", __assertType__number.bind(void 0, testNodeId));
80
220
  __assertType("powerlevel", "Powerlevel", __assertType__Powerlevel.bind(void 0, powerlevel));
@@ -114,6 +254,16 @@ let PowerlevelCCAPI = class PowerlevelCCAPI extends API_1.PhysicalCCAPI {
114
254
  ]);
115
255
  }
116
256
  }
257
+ async sendNodeTestReport(options) {
258
+ __assertType("options", "PowerlevelCCTestNodeReportOptions", __assertType__PowerlevelCCTestNodeReportOptions.bind(void 0, options));
259
+ this.assertSupportsCommand(_Types_1.PowerlevelCommand, _Types_1.PowerlevelCommand.TestNodeReport);
260
+ const cc = new PowerlevelCCTestNodeReport(this.applHost, {
261
+ nodeId: this.endpoint.nodeId,
262
+ endpoint: this.endpoint.index,
263
+ ...options,
264
+ });
265
+ await this.applHost.sendCommand(cc, this.commandOptions);
266
+ }
117
267
  };
118
268
  exports.PowerlevelCCAPI = PowerlevelCCAPI;
119
269
  exports.PowerlevelCCAPI = PowerlevelCCAPI = __decorate([
@@ -130,8 +280,11 @@ let PowerlevelCCSet = class PowerlevelCCSet extends PowerlevelCC {
130
280
  constructor(host, options) {
131
281
  super(host, options);
132
282
  if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
133
- // TODO: Deserialize payload
134
- throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
283
+ (0, safe_1.validatePayload)(this.payload.length >= 2);
284
+ this.powerlevel = this.payload[0];
285
+ if (this.powerlevel !== _Types_1.Powerlevel["Normal Power"]) {
286
+ this.timeout = this.payload[1];
287
+ }
135
288
  }
136
289
  else {
137
290
  this.powerlevel = options.powerlevel;
@@ -170,13 +323,23 @@ exports.PowerlevelCCSet = PowerlevelCCSet = __decorate([
170
323
  let PowerlevelCCReport = class PowerlevelCCReport extends PowerlevelCC {
171
324
  constructor(host, options) {
172
325
  super(host, options);
173
- this.powerlevel = this.payload[0];
174
- if (this.powerlevel !== _Types_1.Powerlevel["Normal Power"]) {
175
- this.timeout = this.payload[1];
326
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
327
+ this.powerlevel = this.payload[0];
328
+ if (this.powerlevel !== _Types_1.Powerlevel["Normal Power"]) {
329
+ this.timeout = this.payload[1];
330
+ }
331
+ }
332
+ else {
333
+ this.powerlevel = options.powerlevel;
334
+ this.timeout = options.timeout;
176
335
  }
177
336
  }
178
337
  powerlevel;
179
338
  timeout;
339
+ serialize() {
340
+ this.payload = Buffer.from([this.powerlevel, this.timeout ?? 0x00]);
341
+ return super.serialize();
342
+ }
180
343
  toLogEntry(applHost) {
181
344
  const message = {
182
345
  "power level": (0, safe_2.getEnumMemberName)(_Types_1.Powerlevel, this.powerlevel),
@@ -205,8 +368,10 @@ let PowerlevelCCTestNodeSet = class PowerlevelCCTestNodeSet extends PowerlevelCC
205
368
  constructor(host, options) {
206
369
  super(host, options);
207
370
  if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
208
- // TODO: Deserialize payload
209
- throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
371
+ (0, safe_1.validatePayload)(this.payload.length >= 4);
372
+ this.testNodeId = this.payload[0];
373
+ this.powerlevel = this.payload[1];
374
+ this.testFrameCount = this.payload.readUInt16BE(2);
210
375
  }
211
376
  else {
212
377
  this.testNodeId = options.testNodeId;
@@ -241,14 +406,32 @@ exports.PowerlevelCCTestNodeSet = PowerlevelCCTestNodeSet = __decorate([
241
406
  let PowerlevelCCTestNodeReport = class PowerlevelCCTestNodeReport extends PowerlevelCC {
242
407
  constructor(host, options) {
243
408
  super(host, options);
244
- (0, safe_1.validatePayload)(this.payload.length >= 4);
245
- this.testNodeId = this.payload[0];
246
- this.status = this.payload[1];
247
- this.acknowledgedFrames = this.payload.readUInt16BE(2);
409
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
410
+ (0, safe_1.validatePayload)(this.payload.length >= 4);
411
+ this.testNodeId = this.payload[0];
412
+ this.status = this.payload[1];
413
+ this.acknowledgedFrames = this.payload.readUInt16BE(2);
414
+ }
415
+ else {
416
+ this.testNodeId = options.testNodeId;
417
+ this.status = options.status;
418
+ this.acknowledgedFrames = options.acknowledgedFrames;
419
+ }
248
420
  }
249
421
  testNodeId;
250
422
  status;
251
423
  acknowledgedFrames;
424
+ serialize() {
425
+ this.payload = Buffer.from([
426
+ this.testNodeId,
427
+ this.status,
428
+ // Placeholder for acknowledged frames
429
+ 0,
430
+ 0,
431
+ ]);
432
+ this.payload.writeUInt16BE(this.acknowledgedFrames, 2);
433
+ return super.serialize();
434
+ }
252
435
  toLogEntry(applHost) {
253
436
  return {
254
437
  ...super.toLogEntry(applHost),
@@ -1 +1 @@
1
- {"version":3,"file":"PowerlevelCC.js","sourceRoot":"","sources":["../../src/cc/PowerlevelCC.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAU6B;AAE7B,gDAAgE;AAEhE,oCAA2C;AAC3C,sDAK6B;AAC7B,0EAOuC;AACvC,0CAIuB;AAGhB,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,mBAAa;IAC1C,eAAe,CAAC,GAAsB;QAC5C,QAAQ,GAAG,EAAE,CAAC;YACb,KAAK,0BAAiB,CAAC,GAAG,CAAC;YAC3B,KAAK,0BAAiB,CAAC,WAAW;gBACjC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,KAAK,0BAAiB,CAAC,GAAG,CAAC;YAC3B,KAAK,0BAAiB,CAAC,WAAW;gBACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,qBAAqB,CAAC,0BAAiB,EAAE,0BAAiB,CAAC,GAAG,CAAC,CAAC;QAErE,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC7B,UAAU,EAAE,mBAAU,CAAC,cAAc,CAAC;SACtC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC;IAGM,KAAK,CAAC,mBAAmB,CAC/B,UAAsB,EACtB,OAAe;;;QAEf,IAAI,CAAC,qBAAqB,CAAC,0BAAiB,EAAE,0BAAiB,CAAC,GAAG,CAAC,CAAC;QAErE,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC7B,UAAU;YACV,OAAO;SACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KAC1D;IAEM,KAAK,CAAC,aAAa;QAGzB,IAAI,CAAC,qBAAqB,CAAC,0BAAiB,EAAE,0BAAiB,CAAC,GAAG,CAAC,CAAC;QAErE,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;SAC7B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAC/C,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,IAAA,WAAI,EAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;IAGM,KAAK,CAAC,aAAa,CACzB,UAAkB,EAClB,UAAsB,EACtB,cAAsB;;;;QAEtB,IAAI,CAAC,qBAAqB,CACzB,0BAAiB,EACjB,0BAAiB,CAAC,WAAW,CAC7B,CAAC;QAEF,IAAI,UAAU,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,IAAI,iBAAU,CACnB,iFAAiF,EACjF,sBAAe,CAAC,gBAAgB,CAChC,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YAClC,MAAM,IAAI,iBAAU,CACnB,QAAQ,UAAU,+DAA+D,EACjF,sBAAe,CAAC,gCAAgC,CAChD,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAU,CAAC,KAAK,EAAE,CAAC;YAC/D,MAAM,IAAI,iBAAU,CACnB,QAAQ,UAAU,mEAAmE,EACrF,sBAAe,CAAC,gCAAgC,CAChD,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC7B,UAAU;YACV,UAAU;YACV,cAAc;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KAC1D;IAEM,KAAK,CAAC,iBAAiB;QAQ7B,IAAI,CAAC,qBAAqB,CACzB,0BAAiB,EACjB,0BAAiB,CAAC,WAAW,CAC7B,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;SAC7B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAG/C,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,IAAA,WAAI,EAAC,QAAQ,EAAE;gBACrB,YAAY;gBACZ,QAAQ;gBACR,oBAAoB;aACpB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;CACD,CAAA;AAlIY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,4BAAG,EAAC,qBAAc,CAAC,UAAU,CAAC;GAClB,eAAe,CAkI3B;AAIM,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,2BAAY;CAE7C,CAAA;AAFY,oCAAY;uBAAZ,YAAY;IAFxB,IAAA,qCAAY,EAAC,qBAAc,CAAC,UAAU,CAAC;IACvC,IAAA,2CAAkB,EAAC,CAAC,CAAC;GACT,YAAY,CAExB;AAkBM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,YAAY;IAChD,YACC,IAAe,EACf,OAAoE;QAEpE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,IAAA,wCAAyB,EAAC,OAAO,CAAC,EAAE,CAAC;YACxC,4BAA4B;YAC5B,MAAM,IAAI,iBAAU,CACnB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mCAAmC,EAC3D,sBAAe,CAAC,8BAA8B,CAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,OAAO,CAAC,UAAU,KAAK,mBAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBACvD,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;oBAClD,MAAM,IAAI,iBAAU,CACnB,kDAAkD,EAClD,sBAAe,CAAC,gBAAgB,CAChC,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,CAAC;QACF,CAAC;IACF,CAAC;IAEM,UAAU,CAAa;IACvB,OAAO,CAAU;IAEjB,SAAS;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,QAA8B;QAC/C,MAAM,OAAO,GAAkB;YAC9B,aAAa,EAAE,IAAA,wBAAiB,EAAC,mBAAU,EAAE,IAAI,CAAC,UAAU,CAAC;SAC7D,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QACvC,CAAC;QACD,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO;SACP,CAAC;IACH,CAAC;CACD,CAAA;AA9CY,0CAAe;0BAAf,eAAe;IAF3B,IAAA,kCAAS,EAAC,0BAAiB,CAAC,GAAG,CAAC;IAChC,IAAA,uCAAc,GAAE;GACJ,eAAe,CA8C3B;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,YAAY;IACnD,YACC,IAAe,EACf,OAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,UAAU,KAAK,mBAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAEe,UAAU,CAAa;IACvB,OAAO,CAAU;IAE1B,UAAU,CAAC,QAA8B;QAC/C,MAAM,OAAO,GAAkB;YAC9B,aAAa,EAAE,IAAA,wBAAiB,EAAC,mBAAU,EAAE,IAAI,CAAC,UAAU,CAAC;SAC7D,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC;QACvC,CAAC;QACD,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO;SACP,CAAC;IACH,CAAC;CACD,CAAA;AA5BY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,kCAAS,EAAC,0BAAiB,CAAC,MAAM,CAAC;GACvB,kBAAkB,CA4B9B;AAIM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,YAAY;CAAG,CAAA;AAAvC,0CAAe;0BAAf,eAAe;IAF3B,IAAA,kCAAS,EAAC,0BAAiB,CAAC,GAAG,CAAC;IAChC,IAAA,2CAAkB,EAAC,kBAAkB,CAAC;GAC1B,eAAe,CAAwB;AAW7C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,YAAY;IACxD,YACC,IAAe,EACf,OAEiC;QAEjC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,IAAA,wCAAyB,EAAC,OAAO,CAAC,EAAE,CAAC;YACxC,4BAA4B;YAC5B,MAAM,IAAI,iBAAU,CACnB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mCAAmC,EAC3D,sBAAe,CAAC,8BAA8B,CAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,CAAC;IACF,CAAC;IAEM,UAAU,CAAS;IACnB,UAAU,CAAa;IACvB,cAAc,CAAS;IAEvB,SAAS;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,QAA8B;QAC/C,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE;gBACR,cAAc,EAAE,IAAI,CAAC,UAAU;gBAC/B,aAAa,EAAE,IAAA,wBAAiB,EAAC,mBAAU,EAAE,IAAI,CAAC,UAAU,CAAC;gBAC7D,kBAAkB,EAAE,IAAI,CAAC,cAAc;aACvC;SACD,CAAC;IACH,CAAC;CACD,CAAA;AAzCY,0DAAuB;kCAAvB,uBAAuB;IAFnC,IAAA,kCAAS,EAAC,0BAAiB,CAAC,WAAW,CAAC;IACxC,IAAA,uCAAc,GAAE;GACJ,uBAAuB,CAyCnC;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,YAAY;IAC3D,YACC,IAAe,EACf,OAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErB,IAAA,sBAAe,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAEe,UAAU,CAAS;IACnB,MAAM,CAAuB;IAC7B,kBAAkB,CAAS;IAEpC,UAAU,CAAC,QAA8B;QAC/C,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE;gBACR,cAAc,EAAE,IAAI,CAAC,UAAU;gBAC/B,MAAM,EAAE,IAAA,wBAAiB,EAAC,6BAAoB,EAAE,IAAI,CAAC,MAAM,CAAC;gBAC5D,qBAAqB,EAAE,IAAI,CAAC,kBAAkB;aAC9C;SACD,CAAC;IACH,CAAC;CACD,CAAA;AA3BY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,kCAAS,EAAC,0BAAiB,CAAC,cAAc,CAAC;GAC/B,0BAA0B,CA2BtC;AAIM,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,YAAY;CAAG,CAAA;AAA/C,0DAAuB;kCAAvB,uBAAuB;IAFnC,IAAA,kCAAS,EAAC,0BAAiB,CAAC,WAAW,CAAC;IACxC,IAAA,2CAAkB,EAAC,0BAA0B,CAAC;GAClC,uBAAuB,CAAwB"}
1
+ {"version":3,"file":"PowerlevelCC.js","sourceRoot":"","sources":["../../src/cc/PowerlevelCC.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Security2CC.d.ts","sourceRoot":"","sources":["../../src/cc/Security2CC.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,cAAc,EAEd,KAAK,mBAAmB,EAIxB,KAAK,eAAe,EAIpB,aAAa,EAkBb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEN,KAAK,aAAa,EAGlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAS3E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACN,KAAK,gBAAgB,EACrB,YAAY,EACZ,KAAK,kCAAkC,EAGvC,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAKN,kBAAkB,EAElB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAwGjD,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;CACzC;AAMD,qBACa,cAAe,SAAQ,KAAK;IACjC,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC;IAKtE;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IA6D1C,kEAAkE;IACrD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAuCxC,uCAAuC;IAC1B,QAAQ,CACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC;IA2CnB;;;OAGG;IACU,oBAAoB,CAChC,aAAa,EACV,aAAa,CAAC,gBAAgB,GAC9B,aAAa,CAAC,gBAAgB,GAC9B,aAAa,CAAC,kBAAkB,GACjC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;IAiC9B,uBAAuB,CACnC,YAAY,EAAE,cAAc,EAAE,GAC5B,OAAO,CAAC,IAAI,CAAC;IAeH,wBAAwB;IAuBrC,6CAA6C;IAChC,SAAS,CACrB,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC;IAYhB,oDAAoD;IACvC,kBAAkB,CAC9B,MAAM,EAAE,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC;IAehB,wEAAwE;IAC3D,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,cAAc,CAC1B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAeH,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBpD;AAED,qBAEa,WAAY,SAAQ,YAAY;IACpC,SAAS,EAAE,gBAAgB,CAAC;IAEvB,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkOrE,+EAA+E;WACjE,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO;IAkD9D,2DAA2D;WAC7C,WAAW,CACxB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,YAAY,EAChB,OAAO,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,eAAe,CAAC;QAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB,GACC,+BAA+B;CA+BlC;AAGD,MAAM,WAAW,sCAChB,SAAQ,gBAAgB;IAExB,yEAAyE;IACzE,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAkCD,MAAM,MAAM,gBAAgB,GACzB;IACD,WAAW,EAAE,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CAChB,GACC;IACD,WAAW,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEH,qBAKa,+BAAgC,SAAQ,WAAW;gBAE9D,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,sCAAsC;IAyR1C,OAAO,CAAC,eAAe,CAAmB;IAC1C,SAAgB,aAAa,CAAC,EAAE,aAAa,CAAC;IAG9C,OAAO,CAAC,GAAG,CAAC,CAAS;IACrB,OAAO,CAAC,EAAE,CAAC,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B,SAAgB,cAAc,EAAE,OAAO,CAAQ;IAE/C,OAAO,CAAC,eAAe,CAAqB;IAC5C;;;;;OAKG;IACH,IAAW,cAAc,IAAI,MAAM,CAalC;IAEM,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAExB,qBAAqB,IAAI,IAAI;IAK7C,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,gBAAgB;IAMjB,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAKhD,OAAO,CAAC,gBAAgB;IAMjB,eAAe,IAAI,OAAO;IAIjC,oFAAoF;IAC7E,WAAW,IAAI,MAAM,GAAG,SAAS;IAOxC,OAAO,CAAC,qBAAqB;IA+DtB,SAAS,IAAI,MAAM;IAyF1B,SAAS,CAAC,4BAA4B,IAAI,MAAM;IAkBzC,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;IA2DtE,OAAO,CAAC,iBAAiB;IAsKzB,OAAO,CAAC,gBAAgB;CAsBxB;AAGD,MAAM,MAAM,6BAA6B,GACtC;IACD,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,IAAI,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;CACnB,GACC;IACD,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,KAAK,CAAC;IACX,UAAU,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEH,qBACa,sBAAuB,SAAQ,WAAW;gBAErD,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,CAAC,gBAAgB,GAAG,6BAA6B,CAAC;IAqCtD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,eAAe,CAAqB;IAC5C;;;;;OAKG;IACH,IAAW,cAAc,IAAI,MAAM,CAQlC;IAED,SAAgB,GAAG,EAAE,OAAO,CAAC;IAC7B,SAAgB,GAAG,EAAE,OAAO,CAAC;IAC7B,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,SAAS,IAAI,MAAM;IAWnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CActE;AAED,qBAEa,mBAAoB,SAAQ,WAAW;gBAIhC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB;IAiB7D,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,eAAe,CAAqB;IAC5C;;;;;OAKG;IACH,IAAW,cAAc,IAAI,MAAM,CAQlC;IAEM,SAAS,IAAI,MAAM;IAKnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAMtE;AAGD,MAAM,WAAW,2BAA2B;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,UAAU,EAAE,CAAC;IAClC,qBAAqB,EAAE,YAAY,EAAE,CAAC;IACtC,aAAa,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED,qBACa,oBAAqB,SAAQ,WAAW;gBAEnD,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,CAAC,gBAAgB,GAAG,2BAA2B,CAAC;IAgCpD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,UAAU,EAAE,OAAO,CAAC;IACpC,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,mBAAmB,EAAE,SAAS,UAAU,EAAE,CAAC;IAC3D,SAAgB,qBAAqB,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/D,SAAgB,aAAa,EAAE,SAAS,aAAa,EAAE,CAAC;IAEjD,SAAS,IAAI,MAAM;IAuBnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAkBtE;AAED,qBAEa,iBAAkB,SAAQ,WAAW;CAAG;AAGrD,MAAM,WAAW,wBAAwB;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,UAAU,CAAC;IAC9B,mBAAmB,EAAE,YAAY,CAAC;IAClC,WAAW,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,qBACa,iBAAkB,SAAQ,WAAW;gBAEhD,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,CAAC,gBAAgB,GAAG,wBAAwB,CAAC;IAmC1C,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,UAAU,CAAC;IAC9B,mBAAmB,EAAE,YAAY,CAAC;IAClC,WAAW,EAAE,aAAa,EAAE,CAAC;IAE7B,SAAS,IAAI,MAAM;IAmBnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAoBtE;AAGD,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAClE,QAAQ,EAAE,WAAW,CAAC;CACtB;AAED,qBACa,kBAAmB,SAAQ,WAAW;gBAEjD,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,kCAAkC,GAAG,yBAAyB;IAWjE,QAAQ,EAAE,WAAW,CAAC;IAEtB,SAAS,IAAI,MAAM;IAKnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAMtE;AAGD,MAAM,WAAW,iCAAkC,SAAQ,gBAAgB;IAC1E,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,qBACa,0BAA2B,SAAQ,WAAW;gBAEzD,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,iCAAiC;IAa9B,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,IAAI,MAAM;IAQnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAStE;AAGD,MAAM,WAAW,kCAAmC,SAAQ,gBAAgB;IAC3E,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,qBACa,2BAA4B,SAAQ,WAAW;gBAE1D,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,kCAAkC;IAe/B,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,IAAI,MAAM;IAQnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAatE;AAGD,MAAM,WAAW,+BAAgC,SAAQ,gBAAgB;IACxE,YAAY,EAAE,aAAa,CAAC;CAC5B;AAED,qBAEa,wBAAyB,SAAQ,WAAW;gBAEvD,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,+BAA+B;IAW5B,YAAY,EAAE,aAAa,CAAC;IAE5B,SAAS,IAAI,MAAM;IAKnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAWtE;AAED,qBACa,2BAA4B,SAAQ,WAAW;CAAG;AAG/D,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;IACtE,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;CAC5B;AAED,qBACa,sBAAuB,SAAQ,WAAW;gBAErD,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,6BAA6B;IAa1B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAE5B,SAAS,IAAI,MAAM;IAOnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAStE;AAGD,MAAM,WAAW,yCAChB,SAAQ,gBAAgB;IAExB,YAAY,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,qBACa,kCAAmC,SAAQ,WAAW;gBAEjE,IAAI,EAAE,SAAS,EACf,OAAO,EACJ,kCAAkC,GAClC,yCAAyC;IAe7C,SAAgB,YAAY,EAAE,cAAc,EAAE,CAAC;IAExC,SAAS,IAAI,MAAM;IAKnB,UAAU,CAAC,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB;CAWtE;AAED,qBAEa,+BAAgC,SAAQ,WAAW;CAAG"}
1
+ {"version":3,"file":"Security2CC.d.ts","sourceRoot":"","sources":["../../src/cc/Security2CC.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,9 @@ function assertSecurity(options) {
72
72
  throw new core_1.ZWaveError(`Secure commands (S2) can only be ${verb} when the network keys are configured!`, core_1.ZWaveErrorCodes.Driver_NoSecurity);
73
73
  }
74
74
  }
75
- const DECRYPT_ATTEMPTS = 5;
75
+ const MAX_DECRYPT_ATTEMPTS_SINGLECAST = 5;
76
+ const MAX_DECRYPT_ATTEMPTS_MULTICAST = 5;
77
+ const MAX_DECRYPT_ATTEMPTS_SC_FOLLOWUP = 1;
76
78
  // Encapsulation CCs are used internally and too frequently that we
77
79
  // want to pay the cost of validating each call
78
80
  /* eslint-disable @zwave-js/ccapi-validate-args */
@@ -604,26 +606,62 @@ let Security2CCMessageEncapsulation = class Security2CCMessageEncapsulation exte
604
606
  const hasEncryptedExtensions = !!(this.payload[1] & 0b10);
605
607
  let offset = 2;
606
608
  this.extensions = [];
607
- const parseExtensions = (buffer) => {
609
+ let mustDiscardCommand = false;
610
+ const parseExtensions = (buffer, wasEncrypted) => {
608
611
  while (true) {
609
- // we need to read at least the length byte
610
- (0, core_1.validatePayload)(buffer.length >= offset + 1);
611
- const extensionLength = Extension_1.Security2Extension
612
+ if (buffer.length < offset + 2) {
613
+ // An S2 extension was expected, but the buffer is too short
614
+ mustDiscardCommand = true;
615
+ return;
616
+ }
617
+ // The length field could be too large, which would cause part of the actual ciphertext
618
+ // to be ignored. Try to avoid this for known extensions by checking the actual and expected length.
619
+ const { actual: actualLength, expected: expectedLength } = Extension_1.Security2Extension
612
620
  .getExtensionLength(buffer.subarray(offset));
613
- // Parse the extension
614
- const ext = Extension_1.Security2Extension.from(buffer.subarray(offset, offset + extensionLength));
615
- if (!(0, Extension_1.isValidExtension)(ext)) {
616
- core_1.validatePayload.fail(`Unknown S2 extension ${(0, safe_2.num2hex)(ext.type)} with critical flag`);
621
+ // Parse the extension using the expected length if possible
622
+ const extensionLength = expectedLength ?? actualLength;
623
+ if (extensionLength < 2) {
624
+ // An S2 extension was expected, but the length is too short
625
+ mustDiscardCommand = true;
626
+ return;
627
+ }
628
+ else if (extensionLength
629
+ > buffer.length
630
+ - offset
631
+ - (wasEncrypted
632
+ ? 0
633
+ : core_1.SECURITY_S2_AUTH_TAG_LENGTH)) {
634
+ // The supposed length is longer than the space the extensions may occupy
635
+ mustDiscardCommand = true;
636
+ return;
617
637
  }
618
- this.extensions.push(ext);
638
+ const extensionData = buffer.subarray(offset, offset + extensionLength);
619
639
  offset += extensionLength;
640
+ const ext = Extension_1.Security2Extension.from(extensionData);
641
+ switch ((0, Extension_1.validateS2Extension)(ext, wasEncrypted)) {
642
+ case Extension_1.ValidateS2ExtensionResult.OK:
643
+ if (expectedLength != undefined
644
+ && actualLength !== expectedLength) {
645
+ // The extension length field does not match, ignore the extension
646
+ }
647
+ else {
648
+ this.extensions.push(ext);
649
+ }
650
+ break;
651
+ case Extension_1.ValidateS2ExtensionResult.DiscardExtension:
652
+ // Do nothing
653
+ break;
654
+ case Extension_1.ValidateS2ExtensionResult.DiscardCommand:
655
+ mustDiscardCommand = true;
656
+ break;
657
+ }
620
658
  // Check if that was the last extension
621
659
  if (!ext.moreToFollow)
622
660
  break;
623
661
  }
624
662
  };
625
663
  if (hasExtensions)
626
- parseExtensions(this.payload);
664
+ parseExtensions(this.payload, false);
627
665
  const ctx = (() => {
628
666
  const multicastGroupId = this.getMulticastGroupId();
629
667
  if (options.frameType === "multicast"
@@ -640,6 +678,17 @@ let Security2CCMessageEncapsulation = class Security2CCMessageEncapsulation exte
640
678
  return { isMulticast: false, groupId: multicastGroupId };
641
679
  }
642
680
  })();
681
+ // If a command is to be discarded before decryption,
682
+ // we still need to increment the SPAN or MPAN state
683
+ if (mustDiscardCommand) {
684
+ if (ctx.isMulticast) {
685
+ this.securityManager.nextPeerMPAN(sendingNodeId, ctx.groupId);
686
+ }
687
+ else {
688
+ this.securityManager.nextNonce(sendingNodeId);
689
+ }
690
+ throw core_1.validatePayload.fail("Invalid S2 extension");
691
+ }
643
692
  let prevSequenceNumber;
644
693
  let mpanState;
645
694
  if (ctx.isMulticast) {
@@ -693,7 +742,15 @@ let Security2CCMessageEncapsulation = class Security2CCMessageEncapsulation exte
693
742
  // If the Receiver is unable to authenticate the singlecast message with the current SPAN,
694
743
  // the Receiver SHOULD try decrypting the message with one or more of the following SPAN values,
695
744
  // stopping when decryption is successful or the maximum number of iterations is reached.
696
- for (let i = 0; i < DECRYPT_ATTEMPTS; i++) {
745
+ // If the Receiver is unable to decrypt the S2 MC frame with the current MPAN, the Receiver MAY try
746
+ // decrypting the frame with one or more of the subsequent MPAN values, stopping when decryption is
747
+ // successful or the maximum number of iterations is reached.
748
+ const decryptAttempts = ctx.isMulticast
749
+ ? MAX_DECRYPT_ATTEMPTS_MULTICAST
750
+ : ctx.groupId != undefined
751
+ ? MAX_DECRYPT_ATTEMPTS_SC_FOLLOWUP
752
+ : MAX_DECRYPT_ATTEMPTS_SINGLECAST;
753
+ for (let i = 0; i < decryptAttempts; i++) {
697
754
  ({
698
755
  plaintext,
699
756
  authOK,
@@ -727,7 +784,11 @@ let Security2CCMessageEncapsulation = class Security2CCMessageEncapsulation exte
727
784
  this.securityClass = decryptionSecurityClass;
728
785
  offset = 0;
729
786
  if (hasEncryptedExtensions)
730
- parseExtensions(plaintext);
787
+ parseExtensions(plaintext, true);
788
+ // Before we can continue, check if the command must be discarded
789
+ if (mustDiscardCommand) {
790
+ throw core_1.validatePayload.fail("Invalid extension");
791
+ }
731
792
  // If the MPAN extension was received, store the MPAN
732
793
  if (!ctx.isMulticast) {
733
794
  const mpanExtension = this.getMPANExtension();
@@ -1034,10 +1095,15 @@ let Security2CCMessageEncapsulation = class Security2CCMessageEncapsulation exte
1034
1095
  && !this.host.__internalIsMockNode) {
1035
1096
  const nonce = spanState.currentSPAN.nonce;
1036
1097
  spanState.currentSPAN = undefined;
1037
- return {
1038
- ...decryptWithNonce(nonce),
1039
- securityClass: spanState.securityClass,
1040
- };
1098
+ // If we could decrypt this way, we're done...
1099
+ const result = decryptWithNonce(nonce);
1100
+ if (result.authOK) {
1101
+ return {
1102
+ ...result,
1103
+ securityClass: spanState.securityClass,
1104
+ };
1105
+ }
1106
+ // ...otherwise, we need to try the normal way
1041
1107
  }
1042
1108
  else {
1043
1109
  // forgetting the current SPAN shouldn't be necessary but better be safe than sorry