zigbee-herdsman 0.33.9 → 0.34.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 (122) hide show
  1. package/.github/workflows/ci.yml +2 -2
  2. package/.release-please-manifest.json +1 -1
  3. package/CHANGELOG.md +27 -0
  4. package/dist/adapter/adapter.d.ts.map +1 -1
  5. package/dist/adapter/adapter.js +2 -1
  6. package/dist/adapter/adapter.js.map +1 -1
  7. package/dist/adapter/ember/adapter/emberAdapter.d.ts +818 -0
  8. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -0
  9. package/dist/adapter/ember/adapter/emberAdapter.js +2991 -0
  10. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -0
  11. package/dist/adapter/ember/adapter/endpoints.d.ts +25 -0
  12. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -0
  13. package/dist/adapter/ember/adapter/endpoints.js +66 -0
  14. package/dist/adapter/ember/adapter/endpoints.js.map +1 -0
  15. package/dist/adapter/ember/adapter/index.d.ts +3 -0
  16. package/dist/adapter/ember/adapter/index.d.ts.map +1 -0
  17. package/dist/adapter/ember/adapter/index.js +6 -0
  18. package/dist/adapter/ember/adapter/index.js.map +1 -0
  19. package/dist/adapter/ember/adapter/oneWaitress.d.ts +97 -0
  20. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -0
  21. package/dist/adapter/ember/adapter/oneWaitress.js +226 -0
  22. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -0
  23. package/dist/adapter/ember/adapter/requestQueue.d.ts +59 -0
  24. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -0
  25. package/dist/adapter/ember/adapter/requestQueue.js +144 -0
  26. package/dist/adapter/ember/adapter/requestQueue.js.map +1 -0
  27. package/dist/adapter/ember/adapter/tokensManager.d.ts +69 -0
  28. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -0
  29. package/dist/adapter/ember/adapter/tokensManager.js +685 -0
  30. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -0
  31. package/dist/adapter/ember/consts.d.ts +198 -0
  32. package/dist/adapter/ember/consts.d.ts.map +1 -0
  33. package/dist/adapter/ember/consts.js +253 -0
  34. package/dist/adapter/ember/consts.js.map +1 -0
  35. package/dist/adapter/ember/enums.d.ts +2184 -0
  36. package/dist/adapter/ember/enums.d.ts.map +1 -0
  37. package/dist/adapter/ember/enums.js +2391 -0
  38. package/dist/adapter/ember/enums.js.map +1 -0
  39. package/dist/adapter/ember/ezsp/buffalo.d.ts +156 -0
  40. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -0
  41. package/dist/adapter/ember/ezsp/buffalo.js +1033 -0
  42. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -0
  43. package/dist/adapter/ember/ezsp/consts.d.ts +116 -0
  44. package/dist/adapter/ember/ezsp/consts.d.ts.map +1 -0
  45. package/dist/adapter/ember/ezsp/consts.js +128 -0
  46. package/dist/adapter/ember/ezsp/consts.js.map +1 -0
  47. package/dist/adapter/ember/ezsp/enums.d.ts +879 -0
  48. package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -0
  49. package/dist/adapter/ember/ezsp/enums.js +948 -0
  50. package/dist/adapter/ember/ezsp/enums.js.map +1 -0
  51. package/dist/adapter/ember/ezsp/ezsp.d.ts +2664 -0
  52. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -0
  53. package/dist/adapter/ember/ezsp/ezsp.js +6449 -0
  54. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -0
  55. package/dist/adapter/ember/types.d.ts +733 -0
  56. package/dist/adapter/ember/types.d.ts.map +1 -0
  57. package/dist/adapter/ember/types.js +3 -0
  58. package/dist/adapter/ember/types.js.map +1 -0
  59. package/dist/adapter/ember/uart/ash.d.ts +443 -0
  60. package/dist/adapter/ember/uart/ash.d.ts.map +1 -0
  61. package/dist/adapter/ember/uart/ash.js +1567 -0
  62. package/dist/adapter/ember/uart/ash.js.map +1 -0
  63. package/dist/adapter/ember/uart/consts.d.ts +91 -0
  64. package/dist/adapter/ember/uart/consts.d.ts.map +1 -0
  65. package/dist/adapter/ember/uart/consts.js +100 -0
  66. package/dist/adapter/ember/uart/consts.js.map +1 -0
  67. package/dist/adapter/ember/uart/enums.d.ts +191 -0
  68. package/dist/adapter/ember/uart/enums.d.ts.map +1 -0
  69. package/dist/adapter/ember/uart/enums.js +197 -0
  70. package/dist/adapter/ember/uart/enums.js.map +1 -0
  71. package/dist/adapter/ember/uart/parser.d.ts +10 -0
  72. package/dist/adapter/ember/uart/parser.d.ts.map +1 -0
  73. package/dist/adapter/ember/uart/parser.js +41 -0
  74. package/dist/adapter/ember/uart/parser.js.map +1 -0
  75. package/dist/adapter/ember/uart/queues.d.ts +85 -0
  76. package/dist/adapter/ember/uart/queues.d.ts.map +1 -0
  77. package/dist/adapter/ember/uart/queues.js +212 -0
  78. package/dist/adapter/ember/uart/queues.js.map +1 -0
  79. package/dist/adapter/ember/uart/writer.d.ts +15 -0
  80. package/dist/adapter/ember/uart/writer.d.ts.map +1 -0
  81. package/dist/adapter/ember/uart/writer.js +48 -0
  82. package/dist/adapter/ember/uart/writer.js.map +1 -0
  83. package/dist/adapter/ember/utils/initters.d.ts +20 -0
  84. package/dist/adapter/ember/utils/initters.d.ts.map +1 -0
  85. package/dist/adapter/ember/utils/initters.js +58 -0
  86. package/dist/adapter/ember/utils/initters.js.map +1 -0
  87. package/dist/adapter/ember/utils/math.d.ts +51 -0
  88. package/dist/adapter/ember/utils/math.d.ts.map +1 -0
  89. package/dist/adapter/ember/utils/math.js +102 -0
  90. package/dist/adapter/ember/utils/math.js.map +1 -0
  91. package/dist/adapter/ember/zdo.d.ts +921 -0
  92. package/dist/adapter/ember/zdo.d.ts.map +1 -0
  93. package/dist/adapter/ember/zdo.js +723 -0
  94. package/dist/adapter/ember/zdo.js.map +1 -0
  95. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  96. package/dist/adapter/ezsp/adapter/ezspAdapter.js +28 -22
  97. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  98. package/dist/adapter/ezsp/driver/driver.d.ts +1 -2
  99. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  100. package/dist/adapter/ezsp/driver/driver.js +21 -21
  101. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  102. package/dist/adapter/ezsp/driver/ezsp.d.ts +2 -0
  103. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  104. package/dist/adapter/ezsp/driver/ezsp.js +24 -5
  105. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  106. package/dist/adapter/ezsp/driver/parser.d.ts +1 -2
  107. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  108. package/dist/adapter/ezsp/driver/parser.js +29 -40
  109. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  110. package/dist/adapter/ezsp/driver/uart.d.ts +1 -0
  111. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  112. package/dist/adapter/ezsp/driver/uart.js +38 -13
  113. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  114. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  115. package/dist/adapter/ezsp/driver/writer.js +10 -13
  116. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  117. package/dist/adapter/tstype.d.ts +1 -1
  118. package/dist/adapter/tstype.d.ts.map +1 -1
  119. package/dist/utils/backup.d.ts.map +1 -1
  120. package/dist/utils/backup.js +4 -0
  121. package/dist/utils/backup.js.map +1 -1
  122. package/package.json +1 -1
@@ -295,6 +295,7 @@ class Ezsp extends events_1.EventEmitter {
295
295
  queue;
296
296
  watchdogTimer;
297
297
  failures = 0;
298
+ inResetingProcess = false;
298
299
  constructor() {
299
300
  super();
300
301
  this.queue = new utils_1.Queue();
@@ -305,6 +306,10 @@ class Ezsp extends events_1.EventEmitter {
305
306
  }
306
307
  async connect(options) {
307
308
  let lastError = null;
309
+ const resetForReconnect = () => {
310
+ throw new Error("Failure to connect");
311
+ };
312
+ this.serialDriver.on('reset', resetForReconnect);
308
313
  for (let i = 1; i <= MAX_SERIAL_CONNECT_ATTEMPTS; i++) {
309
314
  try {
310
315
  await this.serialDriver.connect(options);
@@ -319,21 +324,29 @@ class Ezsp extends events_1.EventEmitter {
319
324
  lastError = error;
320
325
  }
321
326
  }
327
+ this.serialDriver.off('reset', resetForReconnect);
322
328
  if (!this.serialDriver.isInitialized()) {
323
329
  throw new Error("Failure to connect", { cause: lastError });
324
330
  }
331
+ this.inResetingProcess = false;
325
332
  this.serialDriver.on('reset', this.onSerialReset.bind(this));
326
333
  if (WATCHDOG_WAKE_PERIOD) {
327
334
  this.watchdogTimer = setInterval(this.watchdogHandler.bind(this), WATCHDOG_WAKE_PERIOD * 1000);
328
335
  }
329
336
  }
337
+ isInitialized() {
338
+ return this.serialDriver?.isInitialized();
339
+ }
330
340
  onSerialReset() {
331
341
  debug.log('onSerialReset()');
342
+ this.inResetingProcess = true;
332
343
  this.emit('reset');
333
344
  }
334
345
  onSerialClose() {
335
346
  debug.log('onSerialClose()');
336
- this.emit('close');
347
+ if (!this.inResetingProcess) {
348
+ this.emit('close');
349
+ }
337
350
  }
338
351
  async close(emitClose) {
339
352
  debug.log('Closing Ezsp');
@@ -616,15 +629,21 @@ class Ezsp extends events_1.EventEmitter {
616
629
  }
617
630
  async watchdogHandler() {
618
631
  debug.log(`Time to watchdog ... ${this.failures}`);
632
+ if (this.inResetingProcess) {
633
+ debug.log('The reset process is in progress...');
634
+ return;
635
+ }
619
636
  try {
620
637
  await this.execCommand('nop');
621
638
  }
622
639
  catch (error) {
623
640
  debug.error(`Watchdog heartbeat timeout ${error.stack}`);
624
- this.failures += 1;
625
- if (this.failures > MAX_WATCHDOG_FAILURES) {
626
- this.failures = 0;
627
- this.emit('reset');
641
+ if (!this.inResetingProcess) {
642
+ this.failures += 1;
643
+ if (this.failures > MAX_WATCHDOG_FAILURES) {
644
+ this.failures = 0;
645
+ this.emit('reset');
646
+ }
628
647
  }
629
648
  }
630
649
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ezsp.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/ezsp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAA0B;AAC1B,sEAAsE;AACtE,2CAA6B;AAC7B,iCAAoC;AACpC,yCASoB;AACpB,yCASuB;AACvB,mCAAoC;AAEpC,0CAAqD;AACrD,kDAA0B;AAI1B,MAAM,KAAK,GAAG;IACV,KAAK,EAAE,IAAA,eAAK,EAAC,mCAAmC,CAAC;IACjD,GAAG,EAAE,IAAA,eAAK,EAAC,mCAAmC,CAAC;CAClD,CAAC;AAGF,MAAM,2BAA2B,GAAG,CAAC,CAAC;AACtC,0FAA0F;AAC1F,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAClD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AACvC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,uCAAuC;AACvC,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAE,SAAS;AAC3C,4FAA4F;AAC5F,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C,MAAM,iBAAiB,GAAe;IAClC,CAAC,oBAAY,CAAC,gDAAgD,EAAE,EAAE,CAAC;IACnE,CAAC,oBAAY,CAAC,sCAAsC,EAAE,CAAC,CAAC;IACxD,8CAA8C;IAC9C,CAAC,oBAAY,CAAC,wBAAwB,EAAE,EAAE,CAAC;IAC3C,CAAC,oBAAY,CAAC,uCAAuC,EAAE,CAAC,CAAC;IACzD,oDAAoD;IACpD,+CAA+C;IAC/C,CAAC,oBAAY,CAAC,4BAA4B;QACtC,kCAA0B,CAAC,oCAAoC;YAC/D,kCAA0B,CAAC,mCAAmC,CAAC;IACnE,CAAC,oBAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC;IACzD,CAAC,oBAAY,CAAC,8BAA8B,EAAE,EAAE,CAAC;IACjD,CAAC,oBAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACvC,CAAC,oBAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACtC,yCAAyC;IACzC,CAAC,oBAAY,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAC7C,gDAAgD;IAChD,6CAA6C;IAC7C,+CAA+C;IAC/C,2CAA2C;IAC3C,+CAA+C;IAC/C,8CAA8C;IAC9C,uDAAuD;IACvD,iDAAiD;IACjD,qCAAqC;IACrC,oDAAoD;IACpD,CAAC,oBAAY,CAAC,0BAA0B,EAAE,GAAG,CAAC;CACjD,CAAC;AAEF;;;GAGG;AACH,MAAM,kBAAkB,GAAe;IACnC,CAAC,oBAAY,CAAC,gDAAgD,EAAE,EAAE,CAAC;IACnE,CAAC,oBAAY,CAAC,wBAAwB,EAAE,EAAE,CAAC;IAC3C,CAAC,oBAAY,CAAC,uCAAuC,EAAE,CAAC,CAAC;IACzD,CAAC,oBAAY,CAAC,4BAA4B;QACtC,kCAA0B,CAAC,oCAAoC;YAC/D,kCAA0B,CAAC,mCAAmC,CAAC;IACnE,CAAC,oBAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC;IACzD,CAAC,oBAAY,CAAC,8BAA8B,EAAE,EAAE,CAAC;IACjD,CAAC,oBAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACvC,CAAC,oBAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACtC,CAAC,oBAAY,CAAC,2BAA2B,EAAE,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,iBAAiB,GAAe;IAClC,6CAA6C;IAC7C,qDAAqD;IACrD,oFAAoF;IACpF,0EAA0E;IAC1E,qDAAqD;IACrD,oDAAoD;IACpD,gDAAgD;IAChD,+DAA+D;IAC/D,yDAAyD;IACzD,qFAAqF;IACrF,CAAC,oBAAY,CAAC,sBAAsB,EAAE,sBAAc,CAAC,qBAAqB,CAAC;IAC3E,CAAC,oBAAY,CAAC,qBAAqB,EAAE,sBAAc,CAAC,qBAAqB,CAAC;CAC7E,CAAC;AAEF,MAAM,kBAAkB,GAAe;IACnC,CAAC,oBAAY,CAAC,sBAAsB,EAAE,sBAAc,CAAC,qBAAqB,CAAC;IAC3E,CAAC,oBAAY,CAAC,qBAAqB,EAAE,sBAAc,CAAC,qBAAqB,CAAC;IAC1E,CAAC,oBAAY,CAAC,mBAAmB,EAAE,2BAAmB,CAAC,uBAAuB,GAAG,2BAAmB,CAAC,WAAW,CAAC;CACpH,CAAC;AAgBF,MAAa,aAAa;IACtB,KAAK,CAAS;IACd,IAAI,CAAS;IACb,WAAW,CAAU;IAIrB,MAAM,CAAC,WAAW,CACd,KAAa,EAAE,QAAgB,EAAE,SAAkB,EAAE,MAA2B;QAEhF,MAAM,KAAK,GAAG,4BAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,GAAkB,CAAC;QACvB,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,EAAC,EAAE;YACrB,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBAC3F,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,CAAC;gBACD,GAAG,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,KAAK,CAAC,KAAK,CAAC,SAAS,SAAS,mBAAmB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY;QACxB,MAAM,SAAS,GAAG,iBAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC3E,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,YAAY,GAAW,EAAE,SAAkB,EAAE,MAA2B;QACpE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,iBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAElC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,GAAG,MAAM,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS;QACL,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClF,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAzED,sCAyEC;AAGD,MAAa,uBAAuB;IAChC,KAAK,CAAS;IACd,IAAI,CAAS;IACb,WAAW,CAAU;IAIrB,MAAM,CAAC,QAAQ,CAAC,GAAkB;QAC9B,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAqB,CAAC,GAAG,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,sBAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QAC7E,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,YAAY,GAAkB,EAAE,SAAkB,EAAE,MAA2B;QAC3E,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,sBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,gCAAqB,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,GAAG,MAAM,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS;QACL,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClF,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAvDD,0DAuDC;AAED,MAAa,wBAAwB;IACjC,KAAK,CAAS;IACd,IAAI,CAAS;IAIb,MAAM,CAAC,QAAQ,CAAC,GAAkB;QAC9B,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAsB,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,uBAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QAC7E,OAAO,SAAS,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,YAAY,GAAkB,EAAE,MAA2B;QACvD,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,uBAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,iCAAsB,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,GAAG,MAAM,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS;QACL,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAnDD,4DAmDC;AAGD,MAAa,IAAK,SAAQ,qBAAY;IAClC,KAAK,GAAG,CAAC,CAAC;IACV,MAAM,GAAG,CAAC,CAAC,CAAE,mBAAmB;IAChC,gEAAgE;IAChE,uFAAuF;IAC/E,YAAY,CAAe;IAC3B,QAAQ,CAA2C;IACnD,KAAK,CAAQ;IACb,aAAa,CAAiB;IAC9B,QAAQ,GAAG,CAAC,CAAC;IAErB;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAQ,CACxB,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAE3D,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAY,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,OAA0B;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,2BAA2B,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM;YACV,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,WAAW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAE7D,IAAI,CAAC,GAAG,2BAA2B,EAAE,CAAC;oBAClC,MAAM,IAAA,YAAI,EAAC,oCAAoC,GAAG,CAAC,CAAC,CAAC;oBACrD,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;gBAED,SAAS,GAAG,KAAK,CAAC;YACtB,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7D,IAAI,oBAAoB,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,WAAW,CAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/B,oBAAoB,GAAC,IAAI,CAC5B,CAAC;QACN,CAAC;IACL,CAAC;IAEO,aAAa;QACjB,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAEO,aAAa;QACjB,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,SAAkB;QACjC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE1B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACK,eAAe,CAAC,IAAY;QAChC,KAAK,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEhD,IAAI,OAAe,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,CAAC;YAEZ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACpB,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAExE,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,KAAK,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACjE,OAAO;QACX,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAClC,OAAO;YACP,SAAS,EAAE,GAAG,CAAC,IAAI;YACnB,QAAQ;YACR,OAAO,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC;QACrC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAC,sBAAsB,EAAE,OAAO,EAAC,CAAC,CAAC;QAEpF,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,OAAO,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;YAElE,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAC,sBAAsB,EAAE,MAAM,CAAC,eAAe,EAAC,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,MAAM,CAAC,eAAe,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAErD,KAAK,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;QAE9C,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,mBAAW,CAAC,UAAU,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAEtD,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,CAAC,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;QAE9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,mBAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,GAAG,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,KAAa;QACvD,MAAM,UAAU,GAAG,oBAAY,CAAC,WAAW,CAAC,oBAAY,EAAE,QAAQ,CAAC,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,OAAO,UAAU,MAAM,KAAK,EAAE,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAChG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAC7C,kCAAkC,UAAU,KAAK,KAAK,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,QAAgB;QACxC,MAAM,UAAU,GAAG,oBAAY,CAAC,WAAW,CAAC,oBAAY,EAAE,QAAQ,CAAC,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;QAClF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAC7C,kCAAkC,UAAU,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxG,KAAK,CAAC,GAAG,CAAC,OAAO,UAAU,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAC7E,OAAO,GAAG,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa,EAAE,KAAiC;QACzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAC7C,+DAA+D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,GAAG,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAAkC;QAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,mBAAW,CAAC,OAAO,EAC9C,gEAAgE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,GAAG,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,uBAAuB;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAC9D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAC7C,gEAAgE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAsB,EAAE,KAAa;QAChD,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,OAAO,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAC7C,qBAAqB,SAAS,KAAK,KAAK,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpG,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAsB;QACjC,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAC7C,qBAAqB,SAAS,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1F,KAAK,CAAC,GAAG,CAAC,OAAO,SAAS,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAsB,EAAE,KAAa;QACjD,MAAM,UAAU,GAAG,oBAAY,CAAC,WAAW,CAAC,oBAAY,EAAE,QAAQ,CAAC,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,OAAO,UAAU,MAAM,KAAK,EAAE,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC;QACzF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAC7C,sBAAsB,UAAU,KAAK,KAAK,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtG,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAEzE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,KAAK,CAAC,KAAK,CAAC,yBAAyB,QAAQ,KAAK,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/F,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,kDAAkD;QAClD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE3E,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,KAAK,CAAC,KAAK,CAAC,aAAa,MAAM,KAAK,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,IAAmB,EAAE,MAAkB;QACvD,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,MAAkB,EAAE,GAAW;QAC3D,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtD,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEvD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,SAAqB,IAAI;QAC5D,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,KAAK,IAA4B,EAAE;YACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAEtC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;gBAE9C,OAAO,QAAQ,CAAC,OAAO,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAA8B;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEhC,KAAK,CAAC,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,MAAM,IAAI,KAAK,CAAC,CAAC,2BAA2B,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;QAE9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,mBAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAEzE,MAAM,IAAI,KAAK,CAAC,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IACnC,CAAC;IAEM,WAAW,CAAC,MAAgC,EAAE,GAAW,EAAE,QAC7C,EAAE,GAAW,EAAE,IAAY;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACnC,IAAI,EAAE,MAAM;YACZ,kBAAkB,EAAE,GAAG;YACvB,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;IACP,CAAC;IAEM,aAAa,CAAC,QAAuB,EAAE,GAAW,EAAE,IAAY;QACnE,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;YACrC,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,mBAAmB;YACzB,eAAe,EAAE,gCAAgC;YACjD,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,gBAAgB;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YAClD,EAAE,EAAE,IAAI;YACR,gBAAgB,EAAE,6BAAqB,CAAC,qBAAqB;YAC7D,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,mBAAmB,EAAE,0BAA0B;YAC/C,wBAAwB,EAAE,4BAA4B;YACtD,OAAO,EAAE,CAAC;SACb,CAAC,CAAC;QAEH,KAAK,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5D,IAAI,GAAG,CAAC,MAAM,IAAI,mBAAW,CAAC,OAAO,EAAE,CAAC;YACpC,KAAK,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,WAAW,CAAC,6BAA6B,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAEM,aAAa,CAAC,WAAmB,EAAE,QAAuB,EAAE,GAAW,EAAE,IAAY;QAExF,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;YACrC,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;IACP,CAAC;IAEM,OAAO,CAAC,OAAsB,EAAE,QAAuB,EAAE,OAAO,GAAG,KAAK;QAE3E,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAEO,wBAAwB,CAAC,OAA4B,EAAE,OAAe;QAC1E,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,OAAO,IAAI,CAAC;IAC3D,CAAC;IAEO,iBAAiB,CAAC,OAAkB,EAAE,OAA4B;QACtE,MAAM,UAAU,GAAG,CAAC,OAAO,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC;YACrD,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,4BAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,CACH,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;YACnE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CACzC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,eAAe;QACzB,KAAK,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAEnB,IAAI,IAAI,CAAC,QAAQ,GAAG,qBAAqB,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAElB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAzbD,oBAybC"}
1
+ {"version":3,"file":"ezsp.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/ezsp.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,10 @@
2
2
  /// <reference types="node" />
3
3
  import * as stream from 'stream';
4
4
  export declare class Parser extends stream.Transform {
5
- private buffer;
5
+ private tail;
6
6
  private flagXONXOFF;
7
7
  constructor(flagXONXOFF?: boolean);
8
8
  _transform(chunk: Buffer, _: string, cb: () => void): void;
9
- private parseNext;
10
9
  private unstuff;
11
10
  reset(): void;
12
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/parser.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,qBAAa,MAAO,SAAQ,MAAM,CAAC,SAAS;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAU;gBAEV,WAAW,GAAE,OAAe;IAOxC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAwBjE,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,OAAO;IA2BR,KAAK,IAAI,IAAI;CAIvB"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/parser.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,qBAAa,MAAO,SAAQ,MAAM,CAAC,SAAS;IACxC,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,WAAW,CAAU;gBAEV,WAAW,GAAE,OAAe;IAOxC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IA4CjE,OAAO,CAAE,OAAO;IAmBT,KAAK,IAAI,IAAI;CAIvB"}
@@ -34,12 +34,12 @@ const debug_1 = __importDefault(require("debug"));
34
34
  const frame_1 = __importDefault(require("./frame"));
35
35
  const debug = (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:uart');
36
36
  class Parser extends stream.Transform {
37
- buffer;
37
+ tail;
38
38
  flagXONXOFF;
39
39
  constructor(flagXONXOFF = false) {
40
40
  super();
41
41
  this.flagXONXOFF = flagXONXOFF;
42
- this.buffer = Buffer.from([]);
42
+ this.tail = [];
43
43
  }
44
44
  _transform(chunk, _, cb) {
45
45
  if (this.flagXONXOFF && (chunk.indexOf(consts.XON) >= 0 || chunk.indexOf(consts.XOFF) >= 0)) {
@@ -47,69 +47,58 @@ class Parser extends stream.Transform {
47
47
  console.assert(false, `Host driver did not remove XON/XOFF from input stream. Driver not setup for XON/XOFF?`);
48
48
  }
49
49
  if (chunk.indexOf(consts.CANCEL) >= 0) {
50
- this.buffer = Buffer.from([]);
50
+ this.reset();
51
51
  chunk = chunk.subarray(chunk.lastIndexOf(consts.CANCEL) + 1);
52
52
  }
53
53
  if (chunk.indexOf(consts.SUBSTITUTE) >= 0) {
54
- this.buffer = Buffer.from([]);
54
+ this.reset();
55
55
  chunk = chunk.subarray(chunk.indexOf(consts.FLAG) + 1);
56
56
  }
57
57
  debug(`<-- [${chunk.toString('hex')}]`);
58
- this.buffer = Buffer.concat([this.buffer, chunk]);
59
- this.parseNext();
60
- cb();
61
- }
62
- parseNext() {
63
- if (this.buffer.length) {
64
- const place = this.buffer.indexOf(consts.FLAG);
65
- if (place >= 0) {
66
- const frameLength = place + 1;
67
- if (this.buffer.length >= frameLength) {
68
- const frameBuffer = this.unstuff(this.buffer.subarray(0, frameLength));
69
- try {
70
- const frame = frame_1.default.fromBuffer(frameBuffer);
71
- if (frame) {
72
- debug(`--> parsed ${frame}`);
73
- this.emit('parsed', frame);
74
- }
75
- }
76
- catch (error) {
77
- debug(`--> error ${error.stack}`);
78
- }
79
- this.buffer = this.buffer.subarray(frameLength);
80
- this.parseNext();
58
+ let delimiterPlace = chunk.indexOf(consts.FLAG);
59
+ while (delimiterPlace >= 0) {
60
+ const buffer = chunk.subarray(0, delimiterPlace + 1);
61
+ const frameBuffer = Buffer.from([...this.unstuff(Buffer.concat([...this.tail, buffer]))]);
62
+ this.reset();
63
+ try {
64
+ const frame = frame_1.default.fromBuffer(frameBuffer);
65
+ if (frame) {
66
+ this.emit('parsed', frame);
81
67
  }
82
68
  }
69
+ catch (error) {
70
+ debug(`<-- error ${error.stack}`);
71
+ }
72
+ chunk = chunk.subarray(delimiterPlace + 1);
73
+ delimiterPlace = chunk.indexOf(consts.FLAG);
83
74
  }
75
+ this.tail.push(chunk);
76
+ cb();
84
77
  }
85
- unstuff(s) {
86
- /* Unstuff (unescape) a string after receipt */
78
+ *unstuff(buffer) {
79
+ /* Unstuff (unescape) a buffer after receipt */
87
80
  let escaped = false;
88
- const out = Buffer.alloc(s.length);
89
- let outIdx = 0;
90
- for (let idx = 0; idx < s.length; idx += 1) {
91
- const c = s[idx];
81
+ for (const byte of buffer) {
92
82
  if (escaped) {
93
- out.writeUInt8(c ^ consts.STUFF, outIdx++);
83
+ yield byte ^ consts.STUFF;
94
84
  escaped = false;
95
85
  }
96
86
  else {
97
- if (c === consts.ESCAPE) {
87
+ if (byte === consts.ESCAPE) {
98
88
  escaped = true;
99
89
  }
100
- else if (c === consts.XOFF || c === consts.XON) {
90
+ else if (byte === consts.XOFF || byte === consts.XON) {
101
91
  // skip
102
92
  }
103
93
  else {
104
- out.writeUInt8(c, outIdx++);
94
+ yield byte;
105
95
  }
106
96
  }
107
97
  }
108
- return out.subarray(0, outIdx);
109
98
  }
110
99
  reset() {
111
- // clear buffer
112
- this.buffer = Buffer.from([]);
100
+ // clear tail
101
+ this.tail.length = 0;
113
102
  }
114
103
  }
115
104
  exports.Parser = Parser;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/parser.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare class SerialDriver extends EventEmitter {
15
15
  private sendSeq;
16
16
  private recvSeq;
17
17
  private ackSeq;
18
+ private rejectCondition;
18
19
  private waitress;
19
20
  private queue;
20
21
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"uart.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/uart.ts"],"names":[],"mappings":";;AACA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AASpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAiB/C,KAAK,UAAU,GAAG;IACd,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAC;AAOF,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,KAAK,CAAQ;;IAUf,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAS1C,cAAc;YAqDd,cAAc;YA4Cd,QAAQ;IA0CtB,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;YAuBN,WAAW;IAWnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBf,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrD,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAcZ,aAAa,IAAI,OAAO;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C3C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GACzC;QAAE,KAAK,EAAE,MAAM;YAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAI/E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iBAAiB;CAG5B"}
1
+ {"version":3,"file":"uart.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/uart.ts"],"names":[],"mappings":";;AACA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AASpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAkB/C,KAAK,UAAU,GAAG;IACd,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAC;AAOF,qBAAa,YAAa,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,KAAK,CAAQ;;IAUf,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAS1C,cAAc;YAqDd,cAAc;YA4Cd,QAAQ;IA2CtB,OAAO,CAAC,UAAU;IA4ClB,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;YAsBN,WAAW;IAWnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8Bf,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrD,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAcZ,aAAa,IAAI,OAAO;IAIlB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C3C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GACzC;QAAE,KAAK,EAAE,MAAM;YAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAI/E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,iBAAiB;CAG5B"}
@@ -14,6 +14,7 @@ const writer_1 = require("./writer");
14
14
  const parser_1 = require("./parser");
15
15
  const frame_1 = require("./frame");
16
16
  const debug_1 = __importDefault(require("debug"));
17
+ const wait_1 = __importDefault(require("../../../utils/wait"));
17
18
  const debug = (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:uart');
18
19
  var NcpResetCode;
19
20
  (function (NcpResetCode) {
@@ -37,6 +38,7 @@ class SerialDriver extends events_1.EventEmitter {
37
38
  sendSeq = 0; // next frame number to send
38
39
  recvSeq = 0; // next frame number to receive
39
40
  ackSeq = 0; // next number after the last accepted frame
41
+ rejectCondition = false;
40
42
  waitress;
41
43
  queue;
42
44
  constructor() {
@@ -131,17 +133,9 @@ class SerialDriver extends events_1.EventEmitter {
131
133
  });
132
134
  }
133
135
  async onParsed(frame) {
136
+ const rejectCondition = this.rejectCondition;
134
137
  try {
135
138
  frame.checkCRC();
136
- }
137
- catch (error) {
138
- debug(error);
139
- // send NAK
140
- this.writer.sendNAK(this.recvSeq);
141
- // skip handler
142
- return;
143
- }
144
- try {
145
139
  /* Frame receive handler */
146
140
  switch (frame.type) {
147
141
  case frame_1.FrameType.DATA:
@@ -163,18 +157,41 @@ class SerialDriver extends events_1.EventEmitter {
163
157
  await this.handleError(frame);
164
158
  break;
165
159
  default:
160
+ this.rejectCondition = true;
166
161
  debug(`UNKNOWN FRAME RECEIVED: ${frame}`);
167
162
  }
168
163
  }
169
164
  catch (error) {
165
+ this.rejectCondition = true;
166
+ debug(error);
170
167
  debug(`Error while parsing to NpiFrame '${error.stack}'`);
171
168
  }
169
+ // We send NAK only if the rejectCondition was set in the current processing
170
+ if (!rejectCondition && this.rejectCondition) {
171
+ // send NAK
172
+ this.writer.sendNAK(this.recvSeq);
173
+ }
172
174
  }
173
175
  handleDATA(frame) {
174
176
  /* Data frame receive handler */
175
177
  const frmNum = (frame.control & 0x70) >> 4;
176
178
  const reTx = (frame.control & 0x08) >> 3;
177
179
  debug(`<-- DATA (${frmNum},${frame.control & 0x07},${reTx}): ${frame}`);
180
+ // Expected package {recvSeq}, but received {frmNum}
181
+ // This happens when the chip sends us a reTx packet, but we are waiting for the next one
182
+ if (this.recvSeq != frmNum) {
183
+ if (reTx) {
184
+ // if the reTx flag is set, then this is a packet replay
185
+ debug(`Unexpected DATA packet sequence ${frmNum} | ${this.recvSeq}: packet replay`);
186
+ }
187
+ else {
188
+ // otherwise, the sequence of packets is out of order - skip or send NAK is needed
189
+ debug(`Unexpected DATA packet sequence ${frmNum} | ${this.recvSeq}: reject condition`);
190
+ this.rejectCondition = true;
191
+ return;
192
+ }
193
+ }
194
+ this.rejectCondition = false;
178
195
  this.recvSeq = (frmNum + 1) & 7; // next
179
196
  debug(`--> ACK (${this.recvSeq})`);
180
197
  this.writer.sendACK(this.recvSeq);
@@ -195,6 +212,9 @@ class SerialDriver extends events_1.EventEmitter {
195
212
  debug(`<-- ACK (${this.ackSeq}): ${frame}`);
196
213
  const handled = this.waitress.resolve({ sequence: this.ackSeq });
197
214
  if (!handled && this.sendSeq !== this.ackSeq) {
215
+ // Packet confirmation received for {ackSeq}, but was expected {sendSeq}
216
+ // This happens when the chip has not yet received of the packet {sendSeq} from us,
217
+ // but has already sent us the next one.
198
218
  debug(`Unexpected packet sequence ${this.ackSeq} | ${this.sendSeq}`);
199
219
  }
200
220
  return handled;
@@ -218,8 +238,7 @@ class SerialDriver extends events_1.EventEmitter {
218
238
  handleRSTACK(frame) {
219
239
  /* Reset acknowledgement frame receive handler */
220
240
  let code;
221
- this.sendSeq = 0;
222
- this.recvSeq = 0;
241
+ this.rejectCondition = false;
223
242
  debug(`<-- RSTACK ${frame}`);
224
243
  try {
225
244
  code = NcpResetCode[frame.buffer[2]];
@@ -247,14 +266,18 @@ class SerialDriver extends events_1.EventEmitter {
247
266
  debug('Uart reseting');
248
267
  this.parser.reset();
249
268
  this.queue.clear();
269
+ this.sendSeq = 0;
270
+ this.recvSeq = 0;
250
271
  return this.queue.execute(async () => {
251
272
  try {
252
273
  debug(`--> Write reset`);
253
274
  const waiter = this.waitFor(-1, 10000);
275
+ this.rejectCondition = false;
254
276
  this.writer.sendReset();
255
277
  debug(`-?- waiting reset`);
256
278
  await waiter.start().promise;
257
279
  debug(`-+- waiting reset success`);
280
+ await (0, wait_1.default)(2000);
258
281
  }
259
282
  catch (e) {
260
283
  debug(`--> Error: ${e}`);
@@ -338,13 +361,15 @@ class SerialDriver extends events_1.EventEmitter {
338
361
  debug(`--> Error: ${e2}`);
339
362
  debug(`-!- break rewaiting (${nextSeq})`);
340
363
  debug(`Can't resend DATA frame (${seq},${ackSeq},1): ${data.toString('hex')}`);
341
- this.emit('reset');
364
+ if (this.initialized) {
365
+ this.emit('reset');
366
+ }
342
367
  throw new Error(`sendDATA error: try 1: ${e1}, try 2: ${e2}`);
343
368
  }
344
369
  }
345
370
  });
346
371
  }
347
- waitFor(sequence, timeout = 2000) {
372
+ waitFor(sequence, timeout = 4000) {
348
373
  return this.waitress.waitFor({ sequence }, timeout);
349
374
  }
350
375
  waitressTimeoutFormatter(matcher, timeout) {
@@ -1 +1 @@
1
- {"version":3,"file":"uart.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/uart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uart.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/uart.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/writer.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,qBAAa,MAAO,SAAQ,MAAM,CAAC,QAAQ;IAChC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKjC,KAAK,IAAI,IAAI;IAGb,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7B,SAAS,IAAI,IAAI;IAMjB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/E,OAAO,CAAC,KAAK;IAeb,OAAO,CAAC,SAAS;CAQpB"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/writer.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,qBAAa,MAAO,SAAQ,MAAM,CAAC,QAAQ;IAChC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKjC,KAAK,IAAI,IAAI;IAGb,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7B,SAAS,IAAI,IAAI;IAMjB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/E,OAAO,CAAE,KAAK;IAYd,OAAO,CAAC,SAAS;CAQpB"}
@@ -61,28 +61,25 @@ class Writer extends stream.Readable {
61
61
  const dataFrame = this.makeFrame(control, data);
62
62
  this.writeBuffer(dataFrame);
63
63
  }
64
- stuff(s) {
64
+ *stuff(buffer) {
65
65
  /* Byte stuff (escape) a string for transmission */
66
- const out = Buffer.alloc(256);
67
- let outIdx = 0;
68
- for (const c of s) {
69
- if (consts.RESERVED.includes(c)) {
70
- out.writeUInt8(consts.ESCAPE, outIdx++);
71
- out.writeUInt8(c ^ consts.STUFF, outIdx++);
66
+ for (const byte of buffer) {
67
+ if (consts.RESERVED.includes(byte)) {
68
+ yield consts.ESCAPE;
69
+ yield byte ^ consts.STUFF;
72
70
  }
73
71
  else {
74
- out.writeUInt8(c, outIdx++);
72
+ yield byte;
75
73
  }
76
74
  }
77
- return out.subarray(0, outIdx);
78
75
  }
79
76
  makeFrame(control, data) {
80
77
  /* Construct a frame */
81
- const ctrl = Buffer.from([control]);
82
- const frm = (data) ? Buffer.concat([ctrl, data]) : ctrl;
78
+ const frm = [control, ...(data || [])];
83
79
  const crc = (0, utils_1.crc16ccitt)(frm, 65535);
84
- const crcArr = Buffer.from([(crc >> 8), (crc % 256)]);
85
- return Buffer.concat([this.stuff(Buffer.concat([frm, crcArr])), Buffer.from([consts.FLAG])]);
80
+ frm.push(crc >> 8);
81
+ frm.push(crc % 256);
82
+ return Buffer.from([...this.stuff(frm), consts.FLAG]);
86
83
  }
87
84
  }
88
85
  exports.Writer = Writer;
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAA0B;AAC1B,+CAAiC;AACjC,iDAAmC;AACnC,mCAAmC;AACnC,kDAA0B;AAE1B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAC;AAEzD,MAAa,MAAO,SAAQ,MAAM,CAAC,QAAQ;IAChC,WAAW,CAAC,MAAc;QAC7B,KAAK,CAAC,QAAQ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAEM,KAAK;IACZ,CAAC;IAEM,OAAO,CAAC,MAAc;QACzB,uCAAuC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,OAAO,CAAC,MAAc;QACzB,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,SAAS;QACZ,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,QAAQ,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,MAAc;QACpE,4BAA4B;QAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,CAAmB;QAC7B,mDAAmD;QACnD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAEO,SAAS,CAAC,OAAe,EAAE,IAAa;QAC5C,uBAAuB;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;CACJ;AAzDD,wBAyDC"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAA0B;AAC1B,+CAAiC;AACjC,iDAAmC;AACnC,mCAAmC;AACnC,kDAA0B;AAE1B,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAC;AAEzD,MAAa,MAAO,SAAQ,MAAM,CAAC,QAAQ;IAChC,WAAW,CAAC,MAAc;QAC7B,KAAK,CAAC,QAAQ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAEM,KAAK;IACZ,CAAC;IAEM,OAAO,CAAC,MAAc;QACzB,uCAAuC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,OAAO,CAAC,MAAc;QACzB,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,SAAS;QACZ,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,QAAQ,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,MAAc;QACpE,4BAA4B;QAC5B,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAEM,CAAE,KAAK,CAAE,MAAgB;QAC5B,mDAAmD;QACnD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,MAAM,CAAC,MAAM,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,OAAe,EAAE,IAAa;QAC5C,uBAAuB;QACvB,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ;AAtDD,wBAsDC"}
@@ -9,7 +9,7 @@ interface SerialPortOptions {
9
9
  baudRate?: number;
10
10
  rtscts?: boolean;
11
11
  path?: string;
12
- adapter?: 'zstack' | 'deconz' | 'zigate' | 'ezsp' | 'auto';
12
+ adapter?: 'zstack' | 'deconz' | 'zigate' | 'ezsp' | 'ember' | 'auto';
13
13
  }
14
14
  interface AdapterOptions {
15
15
  concurrent?: number;