ripple-binary-codec 2.8.0-smartcontract.0 → 2.9.0-batch.1

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 (188) hide show
  1. package/dist/binary.d.ts +17 -4
  2. package/dist/binary.js +26 -2
  3. package/dist/binary.js.map +1 -1
  4. package/dist/enums/definitions.json +3261 -302
  5. package/dist/enums/src/enums/definitions.json +3261 -307
  6. package/dist/serdes/binary-serializer.d.ts +1 -1
  7. package/dist/serdes/binary-serializer.js +2 -2
  8. package/dist/serdes/binary-serializer.js.map +1 -1
  9. package/dist/src/binary.d.ts +17 -4
  10. package/dist/src/binary.js +26 -2
  11. package/dist/src/binary.js.map +1 -1
  12. package/dist/src/enums/definitions.json +3261 -302
  13. package/dist/src/serdes/binary-serializer.d.ts +1 -1
  14. package/dist/src/serdes/binary-serializer.js +2 -2
  15. package/dist/src/serdes/binary-serializer.js.map +1 -1
  16. package/dist/src/types/account-id.d.ts +0 -2
  17. package/dist/src/types/account-id.js +0 -4
  18. package/dist/src/types/account-id.js.map +1 -1
  19. package/dist/src/types/amount.d.ts +1 -2
  20. package/dist/src/types/amount.js +0 -3
  21. package/dist/src/types/amount.js.map +1 -1
  22. package/dist/src/types/blob.d.ts +1 -2
  23. package/dist/src/types/blob.js +0 -3
  24. package/dist/src/types/blob.js.map +1 -1
  25. package/dist/src/types/currency.d.ts +0 -2
  26. package/dist/src/types/currency.js +0 -4
  27. package/dist/src/types/currency.js.map +1 -1
  28. package/dist/src/types/hash-128.d.ts +0 -2
  29. package/dist/src/types/hash-128.js +0 -4
  30. package/dist/src/types/hash-128.js.map +1 -1
  31. package/dist/src/types/hash-160.d.ts +0 -2
  32. package/dist/src/types/hash-160.js +0 -4
  33. package/dist/src/types/hash-160.js.map +1 -1
  34. package/dist/src/types/hash-192.d.ts +0 -2
  35. package/dist/src/types/hash-192.js +0 -4
  36. package/dist/src/types/hash-192.js.map +1 -1
  37. package/dist/src/types/hash-256.d.ts +0 -2
  38. package/dist/src/types/hash-256.js +0 -4
  39. package/dist/src/types/hash-256.js.map +1 -1
  40. package/dist/src/types/index.d.ts +1 -3
  41. package/dist/src/types/index.js +1 -7
  42. package/dist/src/types/index.js.map +1 -1
  43. package/dist/src/types/issue.d.ts +1 -2
  44. package/dist/src/types/issue.js +0 -3
  45. package/dist/src/types/issue.js.map +1 -1
  46. package/dist/src/types/path-set.d.ts +1 -2
  47. package/dist/src/types/path-set.js +0 -3
  48. package/dist/src/types/path-set.js.map +1 -1
  49. package/dist/src/types/serialized-type.d.ts +0 -43
  50. package/dist/src/types/serialized-type.js +1 -63
  51. package/dist/src/types/serialized-type.js.map +1 -1
  52. package/dist/src/types/st-array.d.ts +1 -2
  53. package/dist/src/types/st-array.js +0 -3
  54. package/dist/src/types/st-array.js.map +1 -1
  55. package/dist/src/types/st-number.d.ts +1 -2
  56. package/dist/src/types/st-number.js +0 -3
  57. package/dist/src/types/st-number.js.map +1 -1
  58. package/dist/src/types/st-object.d.ts +1 -2
  59. package/dist/src/types/st-object.js +1 -9
  60. package/dist/src/types/st-object.js.map +1 -1
  61. package/dist/src/types/uint-16.d.ts +0 -2
  62. package/dist/src/types/uint-16.js +0 -4
  63. package/dist/src/types/uint-16.js.map +1 -1
  64. package/dist/src/types/uint-32.d.ts +0 -2
  65. package/dist/src/types/uint-32.js +0 -4
  66. package/dist/src/types/uint-32.js.map +1 -1
  67. package/dist/src/types/uint-64.d.ts +0 -2
  68. package/dist/src/types/uint-64.js +0 -4
  69. package/dist/src/types/uint-64.js.map +1 -1
  70. package/dist/src/types/uint-8.d.ts +0 -2
  71. package/dist/src/types/uint-8.js +0 -4
  72. package/dist/src/types/uint-8.js.map +1 -1
  73. package/dist/src/types/vector-256.d.ts +1 -2
  74. package/dist/src/types/vector-256.js +0 -3
  75. package/dist/src/types/vector-256.js.map +1 -1
  76. package/dist/src/types/xchain-bridge.d.ts +1 -2
  77. package/dist/src/types/xchain-bridge.js +0 -3
  78. package/dist/src/types/xchain-bridge.js.map +1 -1
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/dist/types/account-id.d.ts +0 -2
  81. package/dist/types/account-id.js +0 -4
  82. package/dist/types/account-id.js.map +1 -1
  83. package/dist/types/amount.d.ts +1 -2
  84. package/dist/types/amount.js +0 -3
  85. package/dist/types/amount.js.map +1 -1
  86. package/dist/types/blob.d.ts +1 -2
  87. package/dist/types/blob.js +0 -3
  88. package/dist/types/blob.js.map +1 -1
  89. package/dist/types/currency.d.ts +0 -2
  90. package/dist/types/currency.js +0 -4
  91. package/dist/types/currency.js.map +1 -1
  92. package/dist/types/hash-128.d.ts +0 -2
  93. package/dist/types/hash-128.js +0 -4
  94. package/dist/types/hash-128.js.map +1 -1
  95. package/dist/types/hash-160.d.ts +0 -2
  96. package/dist/types/hash-160.js +0 -4
  97. package/dist/types/hash-160.js.map +1 -1
  98. package/dist/types/hash-192.d.ts +0 -2
  99. package/dist/types/hash-192.js +0 -4
  100. package/dist/types/hash-192.js.map +1 -1
  101. package/dist/types/hash-256.d.ts +0 -2
  102. package/dist/types/hash-256.js +0 -4
  103. package/dist/types/hash-256.js.map +1 -1
  104. package/dist/types/index.d.ts +1 -3
  105. package/dist/types/index.js +1 -7
  106. package/dist/types/index.js.map +1 -1
  107. package/dist/types/issue.d.ts +1 -2
  108. package/dist/types/issue.js +0 -3
  109. package/dist/types/issue.js.map +1 -1
  110. package/dist/types/path-set.d.ts +1 -2
  111. package/dist/types/path-set.js +0 -3
  112. package/dist/types/path-set.js.map +1 -1
  113. package/dist/types/serialized-type.d.ts +0 -43
  114. package/dist/types/serialized-type.js +1 -63
  115. package/dist/types/serialized-type.js.map +1 -1
  116. package/dist/types/st-array.d.ts +1 -2
  117. package/dist/types/st-array.js +0 -3
  118. package/dist/types/st-array.js.map +1 -1
  119. package/dist/types/st-number.d.ts +1 -2
  120. package/dist/types/st-number.js +0 -3
  121. package/dist/types/st-number.js.map +1 -1
  122. package/dist/types/st-object.d.ts +1 -2
  123. package/dist/types/st-object.js +1 -9
  124. package/dist/types/st-object.js.map +1 -1
  125. package/dist/types/uint-16.d.ts +0 -2
  126. package/dist/types/uint-16.js +0 -4
  127. package/dist/types/uint-16.js.map +1 -1
  128. package/dist/types/uint-32.d.ts +0 -2
  129. package/dist/types/uint-32.js +0 -4
  130. package/dist/types/uint-32.js.map +1 -1
  131. package/dist/types/uint-64.d.ts +0 -2
  132. package/dist/types/uint-64.js +0 -4
  133. package/dist/types/uint-64.js.map +1 -1
  134. package/dist/types/uint-8.d.ts +0 -2
  135. package/dist/types/uint-8.js +0 -4
  136. package/dist/types/uint-8.js.map +1 -1
  137. package/dist/types/vector-256.d.ts +1 -2
  138. package/dist/types/vector-256.js +0 -3
  139. package/dist/types/vector-256.js.map +1 -1
  140. package/dist/types/xchain-bridge.d.ts +1 -2
  141. package/dist/types/xchain-bridge.js +0 -3
  142. package/dist/types/xchain-bridge.js.map +1 -1
  143. package/package.json +3 -3
  144. package/src/binary.ts +41 -5
  145. package/src/enums/definitions.json +3261 -307
  146. package/src/serdes/binary-serializer.ts +2 -2
  147. package/src/types/account-id.ts +0 -5
  148. package/src/types/amount.ts +1 -5
  149. package/src/types/blob.ts +1 -5
  150. package/src/types/currency.ts +0 -5
  151. package/src/types/hash-128.ts +0 -5
  152. package/src/types/hash-160.ts +0 -5
  153. package/src/types/hash-192.ts +0 -5
  154. package/src/types/hash-256.ts +0 -5
  155. package/src/types/index.ts +0 -6
  156. package/src/types/issue.ts +1 -5
  157. package/src/types/path-set.ts +1 -5
  158. package/src/types/serialized-type.ts +0 -67
  159. package/src/types/st-array.ts +1 -5
  160. package/src/types/st-number.ts +1 -5
  161. package/src/types/st-object.ts +2 -12
  162. package/src/types/uint-16.ts +0 -5
  163. package/src/types/uint-32.ts +0 -5
  164. package/src/types/uint-64.ts +0 -5
  165. package/src/types/uint-8.ts +0 -5
  166. package/src/types/vector-256.ts +1 -5
  167. package/src/types/xchain-bridge.ts +1 -5
  168. package/dist/src/types/data.d.ts +0 -86
  169. package/dist/src/types/data.js +0 -252
  170. package/dist/src/types/data.js.map +0 -1
  171. package/dist/src/types/dataType.d.ts +0 -94
  172. package/dist/src/types/dataType.js +0 -145
  173. package/dist/src/types/dataType.js.map +0 -1
  174. package/dist/src/types/json.d.ts +0 -173
  175. package/dist/src/types/json.js +0 -531
  176. package/dist/src/types/json.js.map +0 -1
  177. package/dist/types/data.d.ts +0 -86
  178. package/dist/types/data.js +0 -252
  179. package/dist/types/data.js.map +0 -1
  180. package/dist/types/dataType.d.ts +0 -94
  181. package/dist/types/dataType.js +0 -145
  182. package/dist/types/dataType.js.map +0 -1
  183. package/dist/types/json.d.ts +0 -173
  184. package/dist/types/json.js +0 -531
  185. package/dist/types/json.js.map +0 -1
  186. package/src/types/data.ts +0 -294
  187. package/src/types/dataType.ts +0 -178
  188. package/src/types/json.ts +0 -650
package/dist/binary.d.ts CHANGED
@@ -88,16 +88,29 @@ declare function multiSigningData(transaction: JsonObject, signingAccount: strin
88
88
  definitions: XrplDefinitionsBase;
89
89
  }): Uint8Array;
90
90
  /**
91
- * Interface describing fields required for a Batch signer
92
- * @property flags - Flags indicating Batch transaction properties
93
- * @property txIDs - Array of transaction IDs included in the Batch
91
+ * Fields required to serialize an XLS-56 Batch V1_1 signing payload.
92
+ *
93
+ * @property account - The outer Batch transaction's `Account`.
94
+ * @property sequence - The outer Batch's sequence value (`Sequence`, or the
95
+ * `TicketSequence` value when a ticket is used).
96
+ * @property flags - Flags indicating Batch transaction properties.
97
+ * @property txIDs - Array of inner transaction IDs included in the Batch.
98
+ * @property batchAccount - The `BatchSigner.Account` the signature binds to.
99
+ * @property signerAccount - For a multi-signed `BatchSigner`, the inner
100
+ * `Signers` entry account, appended after `batchAccount`.
94
101
  */
95
102
  interface BatchObject extends JsonObject {
103
+ account: string;
104
+ sequence: number;
96
105
  flags: number;
97
106
  txIDs: string[];
107
+ batchAccount?: string;
108
+ signerAccount?: string;
98
109
  }
99
110
  /**
100
- * Serialize a signingClaim
111
+ * Serialize an XLS-56 Batch V1_1 signing payload:
112
+ * HashPrefix.batch | account | sequence | flags | txIDCount | txIDs[]
113
+ * [ | batchAccount [ | signerAccount ] ]
101
114
  *
102
115
  * @param batch A Batch object to serialize.
103
116
  * @returns the serialized object with appropriate prefix
package/dist/binary.js CHANGED
@@ -126,28 +126,52 @@ function multiSigningData(transaction, signingAccount, opts = {
126
126
  }
127
127
  exports.multiSigningData = multiSigningData;
128
128
  /**
129
- * Serialize a signingClaim
129
+ * Serialize an XLS-56 Batch V1_1 signing payload:
130
+ * HashPrefix.batch | account | sequence | flags | txIDCount | txIDs[]
131
+ * [ | batchAccount [ | signerAccount ] ]
130
132
  *
131
133
  * @param batch A Batch object to serialize.
132
134
  * @returns the serialized object with appropriate prefix
133
135
  */
134
136
  function signingBatchData(batch) {
137
+ if (batch.account == null) {
138
+ throw Error('No field `account`');
139
+ }
140
+ if (batch.sequence == null) {
141
+ throw Error('No field `sequence`');
142
+ }
135
143
  if (batch.flags == null) {
136
- throw Error("No field `flags'");
144
+ throw Error('No field `flags`');
137
145
  }
138
146
  if (batch.txIDs == null) {
139
147
  throw Error('No field `txIDs`');
140
148
  }
141
149
  const prefix = hash_prefixes_1.HashPrefix.batch;
150
+ const account = types_1.coreTypes.AccountID.from(batch.account).toBytes();
151
+ const sequence = types_1.coreTypes.UInt32.from(batch.sequence).toBytes();
142
152
  const flags = types_1.coreTypes.UInt32.from(batch.flags).toBytes();
143
153
  const txIDsLength = types_1.coreTypes.UInt32.from(batch.txIDs.length).toBytes();
144
154
  const bytesList = new binary_serializer_1.BytesList();
145
155
  bytesList.put(prefix);
156
+ bytesList.put(account);
157
+ bytesList.put(sequence);
146
158
  bytesList.put(flags);
147
159
  bytesList.put(txIDsLength);
148
160
  batch.txIDs.forEach((txID) => {
149
161
  bytesList.put(types_1.coreTypes.Hash256.from(txID).toBytes());
150
162
  });
163
+ if (batch.batchAccount != null) {
164
+ bytesList.put(types_1.coreTypes.AccountID.from(batch.batchAccount).toBytes());
165
+ }
166
+ // The wire format is positional, so `signerAccount` must follow `batchAccount`.
167
+ // Reject `signerAccount` without `batchAccount` to avoid binding the signature
168
+ // to the wrong account.
169
+ if (batch.signerAccount != null) {
170
+ if (batch.batchAccount == null) {
171
+ throw Error('Field `signerAccount` requires `batchAccount`');
172
+ }
173
+ bytesList.put(types_1.coreTypes.AccountID.from(batch.signerAccount).toBytes());
174
+ }
151
175
  return bytesList.toBytes();
152
176
  }
153
177
  exports.signingBatchData = signingBatchData;
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAE/B,mDAAoD;AACpD,mCAAmC;AACnC,0DAAqD;AA2PnD,6FA3PO,4BAAY,OA2PP;AAzPd,mDAA4C;AAC5C,kEAAwE;AAyPtE,iGAzPO,oCAAgB,OAyPP;AAChB,0FA1PyB,6BAAS,OA0PzB;AAzPX,qCAAoD;AAmQlD,2FAnQO,mBAAU,OAmQP;AACV,8FApQmB,sBAAa,OAoQnB;AAnQf,mCAIgB;AAIhB;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,CACjB,KAA0B,EAC1B,WAAiC,EACnB,EAAE,CAChB,IAAI,4BAAY,CACd,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EACvD,WAAW,CACZ,CAAA;AAoOD,gCAAU;AAlOZ;;;;;;;GAOG;AACH,MAAM,QAAQ,GAAG,CACf,MAAoB,EACpB,cAAmC,2BAAmB,EAC1C,EAAE,CACb,MAAM,CAAC,QAAQ,CAAC,iBAAS,CAAC,QAAQ,CAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAwNrE,4BAAQ;AAtNV;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,CACnB,KAAa,EACb,WAAiC,EACrB,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAA;AA+MpE,oCAAY;AAjMd;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,MAAkB,EAClB,OAAqB,EAAE;IAEvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IACvE,MAAM,SAAS,GAAG,IAAI,6BAAS,EAAE,CAAA;IAEjC,IAAI,MAAM,EAAE;QACV,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACtB;IAED,MAAM,MAAM,GAAG,iBAAiB;QAC9B,CAAC,CAAC,CAAC,CAAgB,EAAW,EAAE,CAAC,CAAC,CAAC,cAAc;QACjD,CAAC,CAAC,SAAS,CACZ;IAAC,iBAAS,CAAC,QAA4B;SACrC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;SACjC,WAAW,CAAC,SAAS,CAAC,CAAA;IAEzB,IAAI,MAAM,EAAE;QACV,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACtB;IAED,OAAO,SAAS,CAAC,OAAO,EAAE,CAAA;AAC5B,CAAC;AA8JC,0CAAe;AA5JjB;;;;;;;GAOG;AACH,SAAS,WAAW,CAClB,WAAuB,EACvB,SAAqB,0BAAU,CAAC,cAAc,EAC9C,OAA8C,EAAE;IAEhD,OAAO,eAAe,CAAC,WAAW,EAAE;QAClC,MAAM;QACN,iBAAiB,EAAE,IAAI;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAA;AACJ,CAAC;AA6IC,kCAAW;AAnIb;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,0BAAU,CAAC,mBAAmB,CAAA;IAC7C,MAAM,OAAO,GAAG,iBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;IAC/D,MAAM,MAAM,GAAG,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAEnD,MAAM,SAAS,GAAG,IAAI,6BAAS,EAAE,CAAA;IAEjC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB,OAAO,SAAS,CAAC,OAAO,EAAE,CAAA;AAC5B,CAAC;AAiHC,4CAAgB;AA/GlB;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACvB,WAAuB,EACvB,cAAkC,EAClC,OAA6C;IAC3C,WAAW,EAAE,2BAAmB;CACjC;IAED,MAAM,MAAM,GAAG,0BAAU,CAAC,mBAAmB,CAAA;IAC7C,MAAM,MAAM,GAAG,iBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAA;IACjE,OAAO,eAAe,CAAC,WAAW,EAAE;QAClC,MAAM;QACN,MAAM;QACN,iBAAiB,EAAE,IAAI;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAA;AACJ,CAAC;AAsFC,4CAAgB;AA/DlB;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE;QACzB,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;KAClC;IACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;QAC1B,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;KACnC;IACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;QACvB,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAA;KAChC;IACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;QACvB,MAAM,KAAK,CAAC,kBAAkB,CAAC,CAAA;KAChC;IACD,MAAM,MAAM,GAAG,0BAAU,CAAC,KAAK,CAAA;IAC/B,MAAM,OAAO,GAAG,iBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;IACjE,MAAM,QAAQ,GAAG,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAA;IAChE,MAAM,KAAK,GAAG,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;IAC1D,MAAM,WAAW,GAAG,iBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;IAEvE,MAAM,SAAS,GAAG,IAAI,6BAAS,EAAE,CAAA;IAEjC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpB,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC1B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;QACnC,SAAS,CAAC,GAAG,CAAC,iBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;QAC9B,SAAS,CAAC,GAAG,CAAC,iBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;KACtE;IACD,gFAAgF;IAChF,+EAA+E;IAC/E,wBAAwB;IACxB,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,EAAE;QAC/B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;YAC9B,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAA;SAC7D;QACD,SAAS,CAAC,GAAG,CAAC,iBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;KACvE;IAED,OAAO,SAAS,CAAC,OAAO,EAAE,CAAA;AAC5B,CAAC;AAiBC,4CAAgB"}