jooby-codec 1.5.0 → 1.7.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 (135) hide show
  1. package/dist/Command.d.ts +14 -4
  2. package/dist/Command.js +10 -5
  3. package/dist/Command.js.map +1 -1
  4. package/dist/CommandBinaryBuffer.d.ts +142 -5
  5. package/dist/CommandBinaryBuffer.js +275 -0
  6. package/dist/CommandBinaryBuffer.js.map +1 -1
  7. package/dist/commands/downlink/CorrectTime2000.d.ts +1 -6
  8. package/dist/commands/downlink/CorrectTime2000.js +2 -8
  9. package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
  10. package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +5 -10
  11. package/dist/commands/downlink/ExAbsArchiveDaysMC.js +3 -9
  12. package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
  13. package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +5 -10
  14. package/dist/commands/downlink/ExAbsArchiveHoursMC.js +3 -9
  15. package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
  16. package/dist/commands/downlink/ExAbsCurrentMC.d.ts +1 -6
  17. package/dist/commands/downlink/ExAbsCurrentMC.js +3 -8
  18. package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -1
  19. package/dist/commands/downlink/GetArchiveDaysMC.d.ts +5 -5
  20. package/dist/commands/downlink/GetArchiveDaysMC.js +3 -4
  21. package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
  22. package/dist/commands/downlink/GetArchiveEvents.d.ts +39 -0
  23. package/dist/commands/downlink/GetArchiveEvents.js +58 -0
  24. package/dist/commands/downlink/GetArchiveEvents.js.map +1 -0
  25. package/dist/commands/downlink/GetArchiveHoursMC.d.ts +5 -10
  26. package/dist/commands/downlink/GetArchiveHoursMC.js +3 -9
  27. package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
  28. package/dist/commands/downlink/GetCurrentMC.d.ts +25 -0
  29. package/dist/commands/downlink/GetCurrentMC.js +41 -0
  30. package/dist/commands/downlink/GetCurrentMC.js.map +1 -0
  31. package/dist/commands/downlink/GetLmicVersion.d.ts +25 -0
  32. package/dist/commands/downlink/GetLmicVersion.js +41 -0
  33. package/dist/commands/downlink/GetLmicVersion.js.map +1 -0
  34. package/dist/commands/downlink/GetParameter.d.ts +37 -0
  35. package/dist/commands/downlink/GetParameter.js +64 -0
  36. package/dist/commands/downlink/GetParameter.js.map +1 -0
  37. package/dist/commands/downlink/NewStatus.d.ts +1 -1
  38. package/dist/commands/downlink/NewStatus.js +3 -3
  39. package/dist/commands/downlink/NewStatus.js.map +1 -1
  40. package/dist/commands/downlink/SetParameter.d.ts +6 -56
  41. package/dist/commands/downlink/SetParameter.js +45 -105
  42. package/dist/commands/downlink/SetParameter.js.map +1 -1
  43. package/dist/commands/downlink/SetTime2000.d.ts +1 -6
  44. package/dist/commands/downlink/SetTime2000.js +2 -8
  45. package/dist/commands/downlink/SetTime2000.js.map +1 -1
  46. package/dist/commands/downlink/SoftRestart.d.ts +1 -1
  47. package/dist/commands/downlink/SoftRestart.js +3 -3
  48. package/dist/commands/downlink/SoftRestart.js.map +1 -1
  49. package/dist/commands/downlink/index.d.ts +4 -0
  50. package/dist/commands/downlink/index.js +4 -0
  51. package/dist/commands/downlink/index.js.map +1 -1
  52. package/dist/commands/uplink/CorrectTime2000.d.ts +1 -1
  53. package/dist/commands/uplink/CorrectTime2000.js +3 -3
  54. package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
  55. package/dist/commands/uplink/DataDayMC.d.ts +3 -5
  56. package/dist/commands/uplink/DataDayMC.js +4 -3
  57. package/dist/commands/uplink/DataDayMC.js.map +1 -1
  58. package/dist/commands/uplink/DataHourMC.d.ts +3 -2
  59. package/dist/commands/uplink/DataHourMC.js +4 -3
  60. package/dist/commands/uplink/DataHourMC.js.map +1 -1
  61. package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +3 -2
  62. package/dist/commands/uplink/ExAbsArchiveDaysMC.js +4 -3
  63. package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
  64. package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +3 -2
  65. package/dist/commands/uplink/ExAbsArchiveHoursMC.js +4 -3
  66. package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
  67. package/dist/commands/uplink/ExAbsCurrentMC.d.ts +1 -1
  68. package/dist/commands/uplink/ExAbsCurrentMC.js +4 -3
  69. package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -1
  70. package/dist/commands/uplink/ExAbsDayMC.d.ts +3 -2
  71. package/dist/commands/uplink/ExAbsDayMC.js +4 -3
  72. package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
  73. package/dist/commands/uplink/ExAbsHourMC.d.ts +3 -2
  74. package/dist/commands/uplink/ExAbsHourMC.js +4 -3
  75. package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
  76. package/dist/commands/uplink/GetArchiveDaysMC.d.ts +3 -2
  77. package/dist/commands/uplink/GetArchiveDaysMC.js +4 -3
  78. package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
  79. package/dist/commands/uplink/GetArchiveEvents.d.ts +48 -0
  80. package/dist/commands/uplink/GetArchiveEvents.js +105 -0
  81. package/dist/commands/uplink/GetArchiveEvents.js.map +1 -0
  82. package/dist/commands/uplink/GetArchiveHoursMC.d.ts +3 -2
  83. package/dist/commands/uplink/GetArchiveHoursMC.js +4 -3
  84. package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
  85. package/dist/commands/uplink/GetCurrentMC.d.ts +24 -2
  86. package/dist/commands/uplink/GetCurrentMC.js +60 -3
  87. package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
  88. package/dist/commands/uplink/GetLmicVersion.d.ts +46 -0
  89. package/dist/commands/uplink/GetLmicVersion.js +90 -0
  90. package/dist/commands/uplink/GetLmicVersion.js.map +1 -0
  91. package/dist/commands/uplink/GetParameter.d.ts +30 -0
  92. package/dist/commands/uplink/GetParameter.js +91 -0
  93. package/dist/commands/uplink/GetParameter.js.map +1 -0
  94. package/dist/commands/uplink/LastEvent.d.ts +5 -76
  95. package/dist/commands/uplink/LastEvent.js +67 -115
  96. package/dist/commands/uplink/LastEvent.js.map +1 -1
  97. package/dist/commands/uplink/NewEvent.d.ts +35 -7
  98. package/dist/commands/uplink/NewEvent.js +96 -20
  99. package/dist/commands/uplink/NewEvent.js.map +1 -1
  100. package/dist/commands/uplink/NewStatus.d.ts +1 -1
  101. package/dist/commands/uplink/NewStatus.js +4 -3
  102. package/dist/commands/uplink/NewStatus.js.map +1 -1
  103. package/dist/commands/uplink/SetTime2000.d.ts +1 -1
  104. package/dist/commands/uplink/SetTime2000.js +3 -3
  105. package/dist/commands/uplink/SetTime2000.js.map +1 -1
  106. package/dist/commands/uplink/SoftRestart.d.ts +1 -1
  107. package/dist/commands/uplink/SoftRestart.js +3 -3
  108. package/dist/commands/uplink/SoftRestart.js.map +1 -1
  109. package/dist/commands/uplink/Time2000.d.ts +5 -5
  110. package/dist/commands/uplink/Time2000.js +6 -7
  111. package/dist/commands/uplink/Time2000.js.map +1 -1
  112. package/dist/commands/uplink/index.d.ts +3 -0
  113. package/dist/commands/uplink/index.js +3 -0
  114. package/dist/commands/uplink/index.js.map +1 -1
  115. package/dist/constants/{directionTypes.js → directions.js} +1 -1
  116. package/dist/constants/directions.js.map +1 -0
  117. package/dist/constants/events.d.ts +30 -4
  118. package/dist/constants/events.js +30 -4
  119. package/dist/constants/events.js.map +1 -1
  120. package/dist/constants/hardwareTypes.d.ts +2 -2
  121. package/dist/constants/hardwareTypes.js +2 -2
  122. package/dist/constants/index.d.ts +1 -1
  123. package/dist/constants/index.js +1 -1
  124. package/dist/constants/index.js.map +1 -1
  125. package/dist/utils/bitSet.d.ts +2 -2
  126. package/dist/utils/bitSet.js +2 -2
  127. package/dist/utils/message.d.ts +8 -0
  128. package/dist/utils/message.js +3 -3
  129. package/dist/utils/message.js.map +1 -1
  130. package/dist/utils/time.d.ts +20 -3
  131. package/dist/utils/time.js +2 -2
  132. package/dist/utils/time.js.map +1 -1
  133. package/package.json +1 -1
  134. package/dist/constants/directionTypes.js.map +0 -1
  135. /package/dist/constants/{directionTypes.d.ts → directions.d.ts} +0 -0
package/dist/Command.d.ts CHANGED
@@ -1,22 +1,32 @@
1
1
  import { IHexFormatOptions } from './utils/getHexFromBytes.js';
2
+ export interface ICommandExample {
3
+ name: string;
4
+ parameters?: object;
5
+ hardwareType?: number;
6
+ hex: {
7
+ header: string;
8
+ body: string;
9
+ };
10
+ }
11
+ export type TCommandExampleList = Array<ICommandExample>;
2
12
  /**
3
13
  * private
4
14
  */
5
- declare class Command {
15
+ declare abstract class Command {
6
16
  static id: number;
7
17
  static directionType: unknown;
8
18
  static title: string;
19
+ static examples: TCommandExampleList;
20
+ static hasParameters: boolean;
9
21
  parameters: unknown;
10
22
  /** Get command ID in hex format. */
11
23
  static getId(): string;
12
24
  /** Get command ID and title. */
13
25
  static getName(): string;
14
26
  /**
15
- * Parse header with body.
16
- * Should not be used directly, only from Command child.
27
+ * Parse body without header.
17
28
  *
18
29
  * @param data command in binary form
19
- * @param commandsById
20
30
  *
21
31
  * @returns command instance
22
32
  */
package/dist/Command.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as header from './utils/header.js';
2
2
  import getHexFromBytes from './utils/getHexFromBytes.js';
3
- import { UPLINK } from './constants/directionTypes.js';
3
+ import { UPLINK } from './constants/directions.js';
4
4
  /**
5
5
  * private
6
6
  */
@@ -12,17 +12,21 @@ class Command {
12
12
  /** Get command ID and title. */
13
13
  static getName() {
14
14
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
15
- return `${this.directionType === UPLINK ? 'uplink' : 'downlink'} command ${this.getId()}:${this.title}`;
15
+ return `${this.directionType === UPLINK ? 'uplink' : 'downlink'} command ${this.getId()}:${this.name}`;
16
16
  }
17
17
  /**
18
- * Parse header with body.
19
- * Should not be used directly, only from Command child.
18
+ * Parse body without header.
20
19
  *
21
20
  * @param data command in binary form
22
- * @param commandsById
23
21
  *
24
22
  * @returns command instance
25
23
  */
24
+ // static fromBytes ( data: Uint8Array ): Command {
25
+ // throw new Error('not implemented!');
26
+ // }
27
+ // static fromHex ( data: string ): Command {
28
+ // return this.fromBytes(getBytesFromHex(data));
29
+ // }
26
30
  // static fromBytes ( data: Uint8Array, commandsById: any ): any {
27
31
  // const headerData = header.fromBytes(data);
28
32
  // if ( headerData.headerSize + headerData.commandSize < data.length ) {
@@ -80,5 +84,6 @@ class Command {
80
84
  return JSON.stringify(this.getParameters());
81
85
  }
82
86
  }
87
+ Command.hasParameters = false;
83
88
  export default Command;
84
89
  //# sourceMappingURL=Command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Command.js","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAoC,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAGrD;;GAEG;AACH,MAAM,OAAO;IAST,oCAAoC;IACpC,MAAM,CAAC,KAAK;QACR,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,OAAO;QACV,uEAAuE;QACvE,OAAO,GAAG,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5G,CAAC;IAGD;;;;;;;;OAQG;IACH,kEAAkE;IAClE,iDAAiD;IAEjD,4EAA4E;IAC5E,2BAA2B;IAC3B,2IAA2I;IAC3I,aAAa;IACb,QAAQ;IAER,0DAA0D;IAE1D,wBAAwB;IACxB,2BAA2B;IAC3B,sEAAsE;IACtE,aAAa;IACb,QAAQ;IAER,oEAAoE;IACpE,gCAAgC;IAChC,4FAA4F;IAC5F,SAAS;IACT,IAAI;IAGJ;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAG,EAAU,EAAE,WAAwB;QACjD,MAAM,aAAa,GAAG,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAErD,IAAK,WAAW,IAAI,aAAa,EAAG;YAChC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;YAErE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAE/C,OAAO,UAAU,CAAC;SACrB;QAED,8BAA8B;QAC9B,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,8BAA8B;IAC9B,aAAa;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAG,UAA6B,EAAE;QACnC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AAGD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Command.js","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAoC,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAiBjD;;GAEG;AACH,MAAe,OAAO;IAelB,oCAAoC;IACpC,MAAM,CAAC,KAAK;QACR,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,OAAO;QACV,uEAAuE;QACvE,OAAO,GAAG,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3G,CAAC;IAED;;;;;;OAMG;IACH,mDAAmD;IACnD,2CAA2C;IAC3C,IAAI;IAEJ,6CAA6C;IAC7C,oDAAoD;IACpD,IAAI;IAEJ,kEAAkE;IAClE,iDAAiD;IAEjD,4EAA4E;IAC5E,2BAA2B;IAC3B,2IAA2I;IAC3I,aAAa;IACb,QAAQ;IAER,0DAA0D;IAE1D,wBAAwB;IACxB,2BAA2B;IAC3B,sEAAsE;IACtE,aAAa;IACb,QAAQ;IAER,oEAAoE;IACpE,gCAAgC;IAChC,4FAA4F;IAC5F,SAAS;IACT,IAAI;IAEJ;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAG,EAAU,EAAE,WAAwB;QACjD,MAAM,aAAa,GAAG,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAErD,IAAK,WAAW,IAAI,aAAa,EAAG;YAChC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;YAErE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAE/C,OAAO,UAAU,CAAC;SACrB;QAED,8BAA8B;QAC9B,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,8BAA8B;IAC9B,aAAa;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAG,UAA6B,EAAE;QACnC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;;AApGM,qBAAa,GAAG,KAAK,CAAC;AAwGjC,eAAe,OAAO,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import BinaryBuffer from './BinaryBuffer.js';
2
+ import { TTime2000 } from './utils/time.js';
2
3
  export interface IBatteryVoltage {
3
4
  /**
4
5
  * battery voltage value at low consumption, in mV;
@@ -62,10 +63,131 @@ export interface IChannelArchiveDays extends IChannel {
62
63
  */
63
64
  dayList: Array<number>;
64
65
  }
66
+ export interface IEventGasStatus {
67
+ /** the battery voltage has dropped below the set threshold */
68
+ isBatteryLow?: boolean;
69
+ /** there is a magnetic field influence */
70
+ isMagneticInfluence?: boolean;
71
+ /** button is release (device is unmounted) */
72
+ isButtonReleased?: boolean;
73
+ /** the device has detected a loss of connection to the server */
74
+ isConnectionLost?: boolean;
75
+ }
76
+ export interface IEvent2ChannelStatus {
77
+ /** the battery voltage has dropped below the set threshold */
78
+ isBatteryLow?: boolean;
79
+ /** the device has detected a loss of connection to the server */
80
+ isConnectionLost?: boolean;
81
+ /** the first channel is not active */
82
+ isFirstChannelInactive?: boolean;
83
+ /** the second channel is not active */
84
+ isSecondChannelInactive?: boolean;
85
+ }
86
+ export interface IEventElimpStatus {
87
+ /** the device has detected a loss of connection to the server */
88
+ isConnectionLost?: boolean;
89
+ }
90
+ export interface IEventWaterStatus {
91
+ /** the battery voltage has dropped below the set threshold */
92
+ isBatteryLow?: boolean;
93
+ /** the device has detected a loss of connection to the server */
94
+ isConnectionLost?: boolean;
95
+ }
96
+ export interface IEvent4ChannelStatus {
97
+ /** the battery voltage has dropped below the set threshold */
98
+ isBatteryLow?: boolean;
99
+ /** the device has detected a loss of connection to the server */
100
+ isConnectionLost?: boolean;
101
+ /** the first channel is not active */
102
+ isFirstChannelInactive?: boolean;
103
+ /** the second channel is not active */
104
+ isSecondChannelInactive?: boolean;
105
+ /** the third channel is not active */
106
+ isThirdChannelInactive?: boolean;
107
+ /** the forth channel is not active */
108
+ isForthChannelInactive?: boolean;
109
+ }
110
+ export interface IEventMtxStatus {
111
+ /** meter case is open */
112
+ isMeterCaseOpen?: boolean;
113
+ /** there is a magnetic field influence */
114
+ isMagneticInfluence?: boolean;
115
+ /** parameters set remotely */
116
+ isParametersSetRemotely?: boolean;
117
+ /** parameters set locally */
118
+ isParametersSetLocally?: boolean;
119
+ /** meter program restart */
120
+ isMeterProgramRestarted?: boolean;
121
+ /** incorrect password and lockout */
122
+ isLockedOut?: boolean;
123
+ /** time set */
124
+ isTimeSet?: boolean;
125
+ /** time correction */
126
+ isTimeCorrected?: boolean;
127
+ /** meter failure */
128
+ isMeterFailure?: boolean;
129
+ /** meter terminal box is open */
130
+ isMeterTerminalBoxOpen?: boolean;
131
+ /** meter module compartment is open */
132
+ isModuleCompartmentOpen?: boolean;
133
+ /** tariff plan changed */
134
+ isTariffPlanChanged?: boolean;
135
+ /** new tariff plan received */
136
+ isNewTariffPlanReceived?: boolean;
137
+ }
138
+ /**
139
+ * Initial values for pulse devices.
140
+ */
141
+ interface IParameterInitialData {
142
+ /**
143
+ * 4 byte int BE
144
+ */
145
+ value: number;
146
+ /**
147
+ * 4 byte int BE
148
+ */
149
+ meterValue: number;
150
+ pulseCoefficient: number;
151
+ }
152
+ interface IParameterInitialDataMC extends IParameterInitialData {
153
+ /**
154
+ * Channel that accept initial values.
155
+ */
156
+ channel: number;
157
+ }
158
+ interface IParameterAbsoluteDataStatus {
159
+ status: number;
160
+ }
161
+ interface IParameterAbsoluteDataStatusMC extends IParameterAbsoluteDataStatus {
162
+ /**
163
+ * Channel that accept status changing.
164
+ */
165
+ channel: number;
166
+ }
167
+ export interface IParameter {
168
+ id: number;
169
+ data: TParameterData;
170
+ }
171
+ export type TEventStatus = IEventGasStatus | IEvent2ChannelStatus | IEventElimpStatus | IEventWaterStatus | IEvent4ChannelStatus | IEventMtxStatus;
172
+ type TParameterData = IParameterInitialData | IParameterInitialDataMC | IParameterAbsoluteDataStatus | IParameterAbsoluteDataStatusMC;
65
173
  /**
66
174
  * Command specific byte array manipulation.
67
175
  */
68
176
  declare class CommandBinaryBuffer extends BinaryBuffer {
177
+ /**
178
+ * Get amount of bytes necessary to store an extended value.
179
+ *
180
+ * @param bits - amount of bits of original value
181
+ *
182
+ * @example
183
+ * ```js
184
+ * const bits = (16384).toString(2).length;
185
+ * const bytes = CommandBinaryBuffer.getExtendedValueSize(bits);
186
+ * // 16384 normally is stored in 2 bytes but for extended value 3 bytes are required
187
+ * ```
188
+ */
189
+ static getExtendedValueSize(bits: number): number;
190
+ static getParameterSize(parameter: IParameter): number;
69
191
  getExtendedValue(): number;
70
192
  setExtendedValue(value: number): void;
71
193
  /**
@@ -89,7 +211,7 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
89
211
  * Convert date or seconds to bytes.
90
212
  * '2023-12-23' will be 0010111-1100-10111, so bytes: ['00101111', '10010111'] -> [47, 151]
91
213
  */
92
- setDate(dateOrTime: Date | number): void;
214
+ setDate(dateOrTime: Date | TTime2000): void;
93
215
  /**
94
216
  * Retrieve device time from byte array.
95
217
  *
@@ -101,17 +223,32 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
101
223
  hour: number;
102
224
  };
103
225
  setHours(hour: number, hours: number): void;
104
- getTime(): number;
105
- setTime(value: number): void;
226
+ getTime(): TTime2000;
227
+ setTime(value: TTime2000): void;
106
228
  getBatterVoltage(): IBatteryVoltage;
107
229
  setBatterVoltage(batteryVoltage: IBatteryVoltage): void;
108
230
  getChannelsValuesWithHourDiff(): {
109
231
  hours: number;
110
- startTime: number;
232
+ startTime: TTime2000;
111
233
  channelList: Array<IChannelHours>;
112
234
  };
113
- setChannelsValuesWithHourDiff(hours: number, startTime: number, channelList: Array<IChannelHours>): void;
235
+ setChannelsValuesWithHourDiff(hours: number, startTime: TTime2000, channelList: Array<IChannelHours>): void;
114
236
  getChannelsWithAbsoluteValues(): Array<IChannelAbsoluteValue>;
115
237
  setChannelsWithAbsoluteValues(channelList: Array<IChannelAbsoluteValue>): void;
238
+ static getEventStatusSize(hardwareType: number): number;
239
+ getEventStatus(hardwareType: number): TEventStatus;
240
+ setEventStatus(hardwareType: number, status: TEventStatus): void;
241
+ private getPulseCoefficient;
242
+ private setPulseCoefficient;
243
+ private getParameterInitialData;
244
+ private setParameterInitialData;
245
+ private getParameterInitialDataMC;
246
+ private setParameterInitialDataMC;
247
+ private getParameterAbsoluteDataStatus;
248
+ private setParameterAbsoluteDataStatus;
249
+ private getParameterAbsoluteDataStatusMC;
250
+ private setParameterAbsoluteDataStatusMC;
251
+ getParameter(): IParameter;
252
+ setParameter(parameter: IParameter): void;
116
253
  }
117
254
  export default CommandBinaryBuffer;
@@ -1,5 +1,8 @@
1
1
  import BinaryBuffer from './BinaryBuffer.js';
2
+ import * as bitSet from './utils/bitSet.js';
2
3
  import { getDateFromSeconds, getSecondsFromDate } from './utils/time.js';
4
+ import * as hardwareTypes from './constants/hardwareTypes.js';
5
+ import * as deviceParameters from './constants/deviceParameters.js';
3
6
  const INITIAL_YEAR = 2000;
4
7
  const MONTH_BIT_SIZE = 4;
5
8
  const DATE_BIT_SIZE = 5;
@@ -7,10 +10,123 @@ const YEAR_START_INDEX = 1;
7
10
  const UNKNOWN_BATTERY_VOLTAGE = 4095;
8
11
  const EXTEND_BIT_MASK = 0x80;
9
12
  const LAST_BIT_INDEX = 7;
13
+ const GAS_HARDWARE_TYPES = [
14
+ hardwareTypes.GAZM0,
15
+ hardwareTypes.GAZM0NEW,
16
+ hardwareTypes.GAZM3,
17
+ hardwareTypes.GAZWLE
18
+ ];
19
+ const TWO_CHANNELS_HARDWARE_TYPES = [
20
+ hardwareTypes.IMP2AS,
21
+ hardwareTypes.IMP2EU,
22
+ hardwareTypes.IMP2IN,
23
+ hardwareTypes.NOVATOR
24
+ ];
25
+ const ELIMP_HARDWARE_TYPES = [
26
+ hardwareTypes.ELIMP
27
+ ];
28
+ const WATER_HARDWARE_TYPES = [
29
+ hardwareTypes.WATER
30
+ ];
31
+ const FOUR_CHANNELS_HARDWARE_TYPES = [
32
+ hardwareTypes.IMP4EU,
33
+ hardwareTypes.IMP4IN
34
+ ];
35
+ const MTX_HARDWARE_TYPES = [
36
+ hardwareTypes.MTXLORA
37
+ ];
38
+ const TWO_BYTES_HARDWARE_TYPES = [...FOUR_CHANNELS_HARDWARE_TYPES, ...MTX_HARDWARE_TYPES];
39
+ const gasBitMask = {
40
+ isBatteryLow: 2 ** 0,
41
+ isMagneticInfluence: 2 ** 1,
42
+ isButtonReleased: 2 ** 2,
43
+ isConnectionLost: 2 ** 3
44
+ };
45
+ const twoChannelBitMask = {
46
+ isBatteryLow: 2 ** 0,
47
+ isConnectionLost: 2 ** 3,
48
+ isFirstChannelInactive: 2 ** 4,
49
+ isSecondChannelInactive: 2 ** 5
50
+ };
51
+ const elimpBitMask = {
52
+ isConnectionLost: 2 ** 3
53
+ };
54
+ const waterBitMask = {
55
+ isBatteryLow: 2 ** 0,
56
+ isConnectionLost: 2 ** 3
57
+ };
58
+ const fourChannelBitMask = {
59
+ isBatteryLow: 2 ** 0,
60
+ isConnectionLost: 2 ** 3,
61
+ isFirstChannelInactive: 2 ** 4,
62
+ isSecondChannelInactive: 2 ** 5,
63
+ isThirdChannelInactive: 2 ** 6,
64
+ isForthChannelInactive: 2 ** 7
65
+ };
66
+ const mtxBitMask = {
67
+ isMeterCaseOpen: 2 ** 0,
68
+ isMagneticInfluence: 2 ** 1,
69
+ isParametersSetRemotely: 2 ** 2,
70
+ isParametersSetLocally: 2 ** 3,
71
+ isMeterProgramRestarted: 2 ** 4,
72
+ isLockedOut: 2 ** 5,
73
+ isTimeSet: 2 ** 6,
74
+ isTimeCorrected: 2 ** 7,
75
+ isMeterFailure: 2 ** 8,
76
+ isMeterTerminalBoxOpen: 2 ** 9,
77
+ isModuleCompartmentOpen: 2 ** 10,
78
+ isTariffPlanChanged: 2 ** 11,
79
+ isNewTariffPlanReceived: 2 ** 12
80
+ };
81
+ /**
82
+ * device parameter data size + byte for parameter id
83
+ */
84
+ const parametersSizeMap = new Map([
85
+ [deviceParameters.INITIAL_DATA, 9 + 1],
86
+ [deviceParameters.ABSOLUTE_DATA_STATUS, 1 + 1],
87
+ [deviceParameters.INITIAL_DATA_MULTI_CHANNEL, 10 + 1],
88
+ [deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL, 2 + 1]
89
+ ]);
90
+ const byteToPulseCoefficientMap = new Map([
91
+ [0x80, 1000],
92
+ [0x81, 5000],
93
+ [0x82, 100],
94
+ [0x83, 10],
95
+ [0x84, 1],
96
+ [0x85, 0.1],
97
+ [0x86, 0.01]
98
+ ]);
99
+ const pulseCoefficientToByteMap = new Map([...byteToPulseCoefficientMap.entries()].map(([key, value]) => [value, key]));
100
+ const isMSBSet = (value) => !!(value & 0x80);
10
101
  /**
11
102
  * Command specific byte array manipulation.
12
103
  */
13
104
  class CommandBinaryBuffer extends BinaryBuffer {
105
+ /**
106
+ * Get amount of bytes necessary to store an extended value.
107
+ *
108
+ * @param bits - amount of bits of original value
109
+ *
110
+ * @example
111
+ * ```js
112
+ * const bits = (16384).toString(2).length;
113
+ * const bytes = CommandBinaryBuffer.getExtendedValueSize(bits);
114
+ * // 16384 normally is stored in 2 bytes but for extended value 3 bytes are required
115
+ * ```
116
+ */
117
+ static getExtendedValueSize(bits) {
118
+ const extBits = Math.ceil(bits / 7);
119
+ const totalBits = bits + extBits;
120
+ const extBytes = Math.ceil(totalBits / 8);
121
+ return extBytes;
122
+ }
123
+ static getParameterSize(parameter) {
124
+ const size = parametersSizeMap.get(parameter.id);
125
+ if (size === undefined) {
126
+ throw new Error('unknown parameter id');
127
+ }
128
+ return size;
129
+ }
14
130
  getExtendedValue() {
15
131
  let value = 0;
16
132
  let isByteExtended = true;
@@ -251,6 +367,165 @@ class CommandBinaryBuffer extends BinaryBuffer {
251
367
  this.setExtendedValue(value);
252
368
  }
253
369
  }
370
+ static getEventStatusSize(hardwareType) {
371
+ return TWO_BYTES_HARDWARE_TYPES.includes(hardwareType) ? 2 : 1;
372
+ }
373
+ getEventStatus(hardwareType) {
374
+ let status;
375
+ if (GAS_HARDWARE_TYPES.includes(hardwareType)) {
376
+ status = bitSet.toObject(gasBitMask, this.getUint8());
377
+ }
378
+ else if (TWO_CHANNELS_HARDWARE_TYPES.includes(hardwareType)) {
379
+ status = bitSet.toObject(twoChannelBitMask, this.getUint8());
380
+ }
381
+ else if (ELIMP_HARDWARE_TYPES.includes(hardwareType)) {
382
+ status = bitSet.toObject(elimpBitMask, this.getUint8());
383
+ }
384
+ else if (WATER_HARDWARE_TYPES.includes(hardwareType)) {
385
+ status = bitSet.toObject(waterBitMask, this.getUint8());
386
+ }
387
+ else if (FOUR_CHANNELS_HARDWARE_TYPES.includes(hardwareType)) {
388
+ status = bitSet.toObject(fourChannelBitMask, this.getExtendedValue());
389
+ }
390
+ else if (MTX_HARDWARE_TYPES.includes(hardwareType)) {
391
+ status = bitSet.toObject(mtxBitMask, this.getUint16());
392
+ }
393
+ else {
394
+ throw new Error('wrong hardwareType');
395
+ }
396
+ return status;
397
+ }
398
+ setEventStatus(hardwareType, status) {
399
+ if (GAS_HARDWARE_TYPES.includes(hardwareType)) {
400
+ this.setUint8(bitSet.fromObject(gasBitMask, status));
401
+ }
402
+ else if (TWO_CHANNELS_HARDWARE_TYPES.includes(hardwareType)) {
403
+ this.setUint8(bitSet.fromObject(twoChannelBitMask, status));
404
+ }
405
+ else if (ELIMP_HARDWARE_TYPES.includes(hardwareType)) {
406
+ this.setUint8(bitSet.fromObject(elimpBitMask, status));
407
+ }
408
+ else if (WATER_HARDWARE_TYPES.includes(hardwareType)) {
409
+ this.setUint8(bitSet.fromObject(waterBitMask, status));
410
+ }
411
+ else if (FOUR_CHANNELS_HARDWARE_TYPES.includes(hardwareType)) {
412
+ this.setExtendedValue(bitSet.fromObject(fourChannelBitMask, status));
413
+ }
414
+ else if (MTX_HARDWARE_TYPES.includes(hardwareType)) {
415
+ this.setUint16(bitSet.fromObject(mtxBitMask, status));
416
+ }
417
+ else {
418
+ throw new Error('wrong hardwareType');
419
+ }
420
+ }
421
+ getPulseCoefficient() {
422
+ const pulseCoefficient = this.getUint8();
423
+ if (isMSBSet(pulseCoefficient)) {
424
+ const value = byteToPulseCoefficientMap.get(pulseCoefficient);
425
+ if (value) {
426
+ return value;
427
+ }
428
+ throw new Error('pulseCoefficient MSB is set, but value unknown');
429
+ }
430
+ return pulseCoefficient;
431
+ }
432
+ setPulseCoefficient(value) {
433
+ if (pulseCoefficientToByteMap.has(value)) {
434
+ const byte = pulseCoefficientToByteMap.get(value);
435
+ if (byte) {
436
+ this.setUint8(byte);
437
+ }
438
+ else {
439
+ throw new Error('pulseCoefficient MSB is set, but value unknown');
440
+ }
441
+ }
442
+ else {
443
+ this.setUint8(value);
444
+ }
445
+ }
446
+ getParameterInitialData() {
447
+ return {
448
+ meterValue: this.getUint32(false),
449
+ pulseCoefficient: this.getPulseCoefficient(),
450
+ value: this.getUint32(false)
451
+ };
452
+ }
453
+ setParameterInitialData(parameter) {
454
+ this.setUint32(parameter.meterValue, false);
455
+ this.setPulseCoefficient(parameter.pulseCoefficient);
456
+ this.setUint32(parameter.value, false);
457
+ }
458
+ getParameterInitialDataMC() {
459
+ return {
460
+ channel: this.getUint8(),
461
+ meterValue: this.getUint32(false),
462
+ pulseCoefficient: this.getPulseCoefficient(),
463
+ value: this.getUint32(false)
464
+ };
465
+ }
466
+ setParameterInitialDataMC(parameter) {
467
+ this.setUint8(parameter.channel);
468
+ this.setUint32(parameter.meterValue, false);
469
+ this.setPulseCoefficient(parameter.pulseCoefficient);
470
+ this.setUint32(parameter.value, false);
471
+ }
472
+ getParameterAbsoluteDataStatus() {
473
+ return { status: this.getUint8() };
474
+ }
475
+ setParameterAbsoluteDataStatus(parameter) {
476
+ this.setUint8(parameter.status);
477
+ }
478
+ getParameterAbsoluteDataStatusMC() {
479
+ return {
480
+ channel: this.getUint8(),
481
+ status: this.getUint8()
482
+ };
483
+ }
484
+ setParameterAbsoluteDataStatusMC(parameter) {
485
+ this.setUint8(parameter.channel);
486
+ this.setUint8(parameter.status);
487
+ }
488
+ getParameter() {
489
+ const id = this.getUint8();
490
+ let data;
491
+ switch (id) {
492
+ case deviceParameters.INITIAL_DATA:
493
+ data = this.getParameterInitialData();
494
+ break;
495
+ case deviceParameters.INITIAL_DATA_MULTI_CHANNEL:
496
+ data = this.getParameterInitialDataMC();
497
+ break;
498
+ case deviceParameters.ABSOLUTE_DATA_STATUS:
499
+ data = this.getParameterAbsoluteDataStatus();
500
+ break;
501
+ case deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL:
502
+ data = this.getParameterAbsoluteDataStatusMC();
503
+ break;
504
+ default:
505
+ throw new Error(`parameter ${id} is not supported`);
506
+ }
507
+ return { id, data };
508
+ }
509
+ setParameter(parameter) {
510
+ const { id, data } = parameter;
511
+ this.setUint8(id);
512
+ switch (id) {
513
+ case deviceParameters.INITIAL_DATA:
514
+ this.setParameterInitialData(data);
515
+ break;
516
+ case deviceParameters.INITIAL_DATA_MULTI_CHANNEL:
517
+ this.setParameterInitialDataMC(data);
518
+ break;
519
+ case deviceParameters.ABSOLUTE_DATA_STATUS:
520
+ this.setParameterAbsoluteDataStatus(data);
521
+ break;
522
+ case deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL:
523
+ this.setParameterAbsoluteDataStatusMC(data);
524
+ break;
525
+ default:
526
+ throw new Error(`parameter ${id} is not supported`);
527
+ }
528
+ }
254
529
  }
255
530
  export default CommandBinaryBuffer;
256
531
  //# sourceMappingURL=CommandBinaryBuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../src/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../src/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,3 @@
1
- /**
2
- * [[include:commands/downlink/CorrectTime2000.md]]
3
- *
4
- * @packageDocumentation
5
- */
6
1
  import Command from '../../Command.js';
7
2
  /**
8
3
  * CorrectTime2000 command parameters
@@ -42,7 +37,7 @@ declare class CorrectTime2000 extends Command {
42
37
  constructor(parameters: IDownlinkCorrectTime2000Parameters);
43
38
  static readonly id = 12;
44
39
  static readonly directionType = 1;
45
- static readonly title = "CORRECT_TIME_2000";
40
+ static readonly hasParameters = true;
46
41
  static fromBytes(data: Uint8Array): CorrectTime2000;
47
42
  toBytes(): Uint8Array;
48
43
  }
@@ -1,13 +1,7 @@
1
- /**
2
- * [[include:commands/downlink/CorrectTime2000.md]]
3
- *
4
- * @packageDocumentation
5
- */
6
1
  import Command from '../../Command.js';
7
2
  import BinaryBuffer from '../../BinaryBuffer.js';
8
- import { DOWNLINK } from '../../constants/directionTypes.js';
3
+ import { DOWNLINK } from '../../constants/directions.js';
9
4
  const COMMAND_ID = 0x0c;
10
- const COMMAND_TITLE = 'CORRECT_TIME_2000';
11
5
  const COMMAND_BODY_SIZE = 2;
12
6
  /**
13
7
  * Downlink command.
@@ -57,6 +51,6 @@ class CorrectTime2000 extends Command {
57
51
  }
58
52
  CorrectTime2000.id = COMMAND_ID;
59
53
  CorrectTime2000.directionType = DOWNLINK;
60
- CorrectTime2000.title = COMMAND_TITLE;
54
+ CorrectTime2000.hasParameters = true;
61
55
  export default CorrectTime2000;
62
56
  //# sourceMappingURL=CorrectTime2000.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAqB5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;IAEnE,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;SAC5B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAlCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,QAAQ,CAAC;AAEzB,qBAAK,GAAG,aAAa,CAAC;AAkC1C,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAqB5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;IAEnE,CAAC;IAUD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;SAC5B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAnCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,QAAQ,CAAC;AAEzB,6BAAa,GAAG,IAAI,CAAC;AAmCzC,eAAe,eAAe,CAAC"}