@activeledger/activeprotocol 2.15.7 → 4.3.3

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 (49) hide show
  1. package/es/protocol/interfaces/vm.interface.d.ts +6 -4
  2. package/es/protocol/interfaces/vm.interface.d.ts.map +1 -1
  3. package/es/protocol/permissionsChecker.d.ts +5 -3
  4. package/es/protocol/permissionsChecker.d.ts.map +1 -1
  5. package/es/protocol/permissionsChecker.js +149 -120
  6. package/es/protocol/permissionsChecker.js.map +1 -1
  7. package/es/protocol/process.d.ts +10 -9
  8. package/es/protocol/process.d.ts.map +1 -1
  9. package/es/protocol/process.js +276 -214
  10. package/es/protocol/process.js.map +1 -1
  11. package/es/protocol/shared.d.ts +6 -2
  12. package/es/protocol/shared.d.ts.map +1 -1
  13. package/es/protocol/shared.js +41 -29
  14. package/es/protocol/shared.js.map +1 -1
  15. package/es/protocol/streamUpdater.d.ts +1 -6
  16. package/es/protocol/streamUpdater.d.ts.map +1 -1
  17. package/es/protocol/streamUpdater.js +80 -109
  18. package/es/protocol/streamUpdater.js.map +1 -1
  19. package/es/protocol/vm.d.ts +12 -5
  20. package/es/protocol/vm.d.ts.map +1 -1
  21. package/es/protocol/vm.js +212 -137
  22. package/es/protocol/vm.js.map +1 -1
  23. package/es/protocol/vmscript.js +23 -10
  24. package/es/protocol/vmscript.js.map +1 -1
  25. package/lib/protocol/interfaces/vm.interface.d.ts +6 -4
  26. package/lib/protocol/interfaces/vm.interface.d.ts.map +1 -1
  27. package/lib/protocol/permissionsChecker.d.ts +5 -3
  28. package/lib/protocol/permissionsChecker.d.ts.map +1 -1
  29. package/lib/protocol/permissionsChecker.js +149 -120
  30. package/lib/protocol/permissionsChecker.js.map +1 -1
  31. package/lib/protocol/process.d.ts +10 -9
  32. package/lib/protocol/process.d.ts.map +1 -1
  33. package/lib/protocol/process.js +276 -240
  34. package/lib/protocol/process.js.map +1 -1
  35. package/lib/protocol/shared.d.ts +6 -2
  36. package/lib/protocol/shared.d.ts.map +1 -1
  37. package/lib/protocol/shared.js +41 -29
  38. package/lib/protocol/shared.js.map +1 -1
  39. package/lib/protocol/streamUpdater.d.ts +1 -6
  40. package/lib/protocol/streamUpdater.d.ts.map +1 -1
  41. package/lib/protocol/streamUpdater.js +80 -109
  42. package/lib/protocol/streamUpdater.js.map +1 -1
  43. package/lib/protocol/vm.d.ts +12 -5
  44. package/lib/protocol/vm.d.ts.map +1 -1
  45. package/lib/protocol/vm.js +211 -136
  46. package/lib/protocol/vm.js.map +1 -1
  47. package/lib/protocol/vmscript.js +23 -9
  48. package/lib/protocol/vmscript.js.map +1 -1
  49. package/package.json +9 -9
@@ -1,9 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StreamUpdater = void 0;
4
- const activeoptions_1 = require("@activeledger/activeoptions");
5
4
  const activelogger_1 = require("@activeledger/activelogger");
6
5
  class StreamUpdater {
6
+ entry;
7
+ virtualMachine;
8
+ reference;
9
+ nodeResponse;
10
+ db;
11
+ dbev;
12
+ emitter;
13
+ shared;
14
+ contractId;
15
+ docs;
16
+ streams;
17
+ collisions;
18
+ refStreams;
19
+ earlyCommit;
7
20
  constructor(entry, virtualMachine, reference, nodeResponse, db, dbev, emitter, shared, contractId) {
8
21
  this.entry = entry;
9
22
  this.virtualMachine = virtualMachine;
@@ -15,51 +28,46 @@ class StreamUpdater {
15
28
  this.shared = shared;
16
29
  this.contractId = contractId;
17
30
  this.collisions = [];
18
- this.skip = [];
19
- this.nhkpCheck = activeoptions_1.ActiveOptions.get("security", {})
20
- .hardenedKeys;
21
31
  this.refStreams = {
22
32
  new: [],
23
33
  updated: [],
24
34
  };
25
35
  this.streams = this.virtualMachine.getActivityStreamsFromVM(this.entry.$umid);
26
- this.inputs = this.virtualMachine.getInputs(this.entry.$umid);
27
36
  }
28
- updateStreams(earlyCommit) {
37
+ async updateStreams(earlyCommit) {
29
38
  if (earlyCommit)
30
39
  this.earlyCommit = earlyCommit;
31
- this.streams.length ? this.processStreams() : this.processNoStreams();
40
+ this.streams.length
41
+ ? await this.processStreams()
42
+ : await this.processNoStreams();
32
43
  }
33
44
  async processNoStreams() {
34
45
  if (!this.entry.$territoriality) {
35
46
  this.entry.$territoriality = this.reference;
36
47
  }
48
+ this.nodeResponse.return = this.virtualMachine.getReturnContractData(this.entry.$umid);
49
+ this.emitter.emit("commited");
37
50
  try {
38
51
  this.nodeResponse.post = await this.virtualMachine.postProcess(this.entry.$territoriality === this.reference, this.entry.$territoriality, this.entry.$umid);
39
52
  this.nodeResponse.incomms = this.virtualMachine.getInternodeCommsFromVM(this.entry.$umid);
40
- this.nodeResponse.return = this.virtualMachine.getReturnContractData(this.entry.$umid);
41
53
  this.entry = this.shared.clearAllComms(this.virtualMachine, this.nodeResponse.incomms);
42
- if (this.earlyCommit)
43
- this.earlyCommit();
44
- this.emitter.emit("commited");
54
+ this.earlyCommit?.();
45
55
  }
46
56
  catch (error) {
47
- if (this.earlyCommit)
48
- this.earlyCommit();
57
+ this.earlyCommit?.();
49
58
  this.emitter.emit("commited");
50
59
  }
51
60
  }
52
- processStreams() {
61
+ async processStreams() {
53
62
  this.docs = [];
54
63
  this.buildReferenceStreams();
55
- if (this.inputs && this.inputs.length)
56
- this.handleInputs();
57
64
  this.docs.push({
58
65
  _id: this.entry.$umid + ":umid",
59
66
  umid: this.compactTxEntry(),
60
67
  streams: this.refStreams,
68
+ events: this.virtualMachine.getEvents(this.entry.$umid),
61
69
  });
62
- this.detectCollisions();
70
+ await this.detectCollisions();
63
71
  }
64
72
  compactTxEntry() {
65
73
  return {
@@ -69,38 +77,10 @@ class StreamUpdater {
69
77
  $revs: this.entry.$revs,
70
78
  $selfsign: this.entry.$selfsign ? this.entry.$selfsign : false,
71
79
  $datetime: this.entry.$datetime,
80
+ $origin: this.entry.$origin,
81
+ $remoteAddr: this.entry.$remoteAddr,
72
82
  };
73
83
  }
74
- handleInputs() {
75
- const notInSkip = (index) => this.skip.indexOf(this.inputs[index].meta._id) === -1;
76
- let i = this.inputs.length;
77
- while (i--) {
78
- if (notInSkip(i) &&
79
- this.inputs[i].meta.txs &&
80
- this.inputs[i].meta.txs.length) {
81
- this.inputs[i].meta.txs.push(this.entry.$umid);
82
- if (this.inputs[i].state._id && this.nhkpCheck) {
83
- this.handleNHPK(this.inputs[i]);
84
- }
85
- this.docs.push(this.inputs[i].meta);
86
- }
87
- }
88
- }
89
- handleNHPK(input) {
90
- const inputLabel = this.shared.getLabelIOMap(true, input.state._id);
91
- const nhpk = this.entry.$tx.$i[inputLabel].$nhpk;
92
- const txSigAuthKeys = Object.keys(this.entry.$sigs[input.state._id]);
93
- const authorities = input.meta.authorities;
94
- const keys = Object.keys(authorities);
95
- let i = keys.length;
96
- while (i--) {
97
- const authority = authorities[keys[i]];
98
- const txSigAuthKey = txSigAuthKeys.indexOf(authority.hash);
99
- if (txSigAuthKey === -1) {
100
- authority.public = nhpk[txSigAuthKeys[txSigAuthKey]];
101
- }
102
- }
103
- }
104
84
  handleContractDataStream(contractData) {
105
85
  const [contract, suffix] = contractData._id.split(":");
106
86
  if (contract.length < 64) {
@@ -109,14 +89,13 @@ class StreamUpdater {
109
89
  this.docs.push(contractData);
110
90
  }
111
91
  buildReferenceStreams() {
112
- var _a;
113
92
  let i = this.streams.length;
114
93
  while (i--) {
115
- if (((_a = this.streams[i]._id) === null || _a === void 0 ? void 0 : _a.indexOf(":data")) > -1) {
94
+ if (this.streams[i]._id?.indexOf(":data") > -1) {
116
95
  this.handleContractDataStream(this.streams[i]);
117
96
  continue;
118
97
  }
119
- if (!this.streams[i].meta._rev) {
98
+ if (this.streams[i].meta && !this.streams[i].meta._rev) {
120
99
  if (!this.streams[i].meta._id) {
121
100
  this.streams[i].state._id = this.entry.$umid + i;
122
101
  this.streams[i].meta._id = this.streams[i].state._id + ":stream";
@@ -124,7 +103,6 @@ class StreamUpdater {
124
103
  this.streams[i].state._id + ":volatile";
125
104
  }
126
105
  this.streams[i].meta.txs = [this.entry.$umid];
127
- this.streams[i].meta.$constructor = true;
128
106
  delete this.streams[i].state._rev;
129
107
  delete this.streams[i].meta._rev;
130
108
  delete this.streams[i].volatile._rev;
@@ -137,96 +115,89 @@ class StreamUpdater {
137
115
  });
138
116
  }
139
117
  else {
140
- if (this.streams[i].meta.txs && this.streams[i].meta.txs.length) {
141
- this.streams[i].meta.txs.push(this.entry.$umid);
142
- this.skip.push(this.streams[i].meta._id);
143
- }
144
- if (this.streams[i].state._id && this.nhkpCheck) {
145
- let nhpk = this.entry.$tx.$i[this.shared.getLabelIOMap(true, this.streams[i].state._id)].$nhpk;
146
- let txSigAuthsKeys = Object.keys(this.entry.$sigs[this.streams[i].state._id]);
147
- this.streams[i].meta.authorities.forEach((authority) => {
148
- const txSigAuthKey = txSigAuthsKeys.indexOf(authority.hash);
149
- if (txSigAuthKey !== -1) {
150
- authority.public = nhpk[txSigAuthsKeys[txSigAuthKey]];
151
- }
152
- });
153
- }
154
118
  this.refStreams.updated.push({
155
119
  id: this.shared.filterPrefix(this.streams[i].state._id),
156
- name: this.streams[i].meta.name,
157
120
  });
158
121
  }
159
122
  if (this.streams[i].state._id)
160
123
  this.docs.push(this.streams[i].state);
161
- if (this.streams[i].meta._id)
124
+ if (this.streams[i].meta?._id) {
162
125
  this.docs.push(this.streams[i].meta);
163
- if (this.streams[i].volatile && this.streams[i].volatile._id)
126
+ }
127
+ if (this.streams[i].volatile?._id)
164
128
  this.docs.push(this.streams[i].volatile);
165
129
  }
166
130
  }
167
131
  async append() {
168
- let continueProcessing = true, emit = true;
169
132
  try {
170
- await Promise.all([
171
- this.db.bulkDocs(this.docs),
172
- this.dbev.post({
173
- _id: `umid:${new Date(this.entry.$datetime).getTime()},${this.entry.$umid}`,
174
- }),
175
- ]);
133
+ const bulkWriteResult = await this.db.bulkDocs(this.docs);
134
+ if (!bulkWriteResult) {
135
+ throw new Error("Bulk Doc Insert Failed");
136
+ }
137
+ await this.dbev.post({
138
+ _id: `umid:${new Date(this.entry.$datetime).getTime()},${this.entry.$umid}`,
139
+ });
176
140
  }
177
141
  catch (error) {
178
- continueProcessing = emit = false;
179
142
  activelogger_1.ActiveLogger.debug(error, "Datastore Failure");
180
- this.shared.raiseLedgerError(1510, new Error("Failed to save"));
143
+ this.shared.raiseLedgerError(1510, new Error("Failed to save streams"));
144
+ return;
181
145
  }
182
- if (continueProcessing) {
183
- this.nodeResponse.datetime = new Date();
184
- if (!this.entry.$territoriality) {
185
- this.entry.$territoriality = this.reference;
186
- }
187
- if (this.reference === this.entry.$origin) {
188
- this.entry.$streams = this.refStreams;
189
- }
190
- this.nodeResponse.streams = this.refStreams;
191
- try {
192
- const post = await this.virtualMachine.postProcess(this.entry.$territoriality === this.reference, this.entry.$territoriality, this.entry.$umid);
193
- this.nodeResponse.post = post;
194
- this.nodeResponse.incomms = this.virtualMachine.getInternodeCommsFromVM(this.entry.$umid);
195
- this.nodeResponse.return = this.virtualMachine.getReturnContractData(this.entry.$umid);
196
- this.entry = this.shared.clearAllComms(this.virtualMachine, this.nodeResponse.incomms);
197
- }
198
- catch (error) {
199
- continueProcessing = false;
200
- }
146
+ this.nodeResponse.datetime = new Date();
147
+ if (!this.entry.$territoriality) {
148
+ this.entry.$territoriality = this.reference;
201
149
  }
202
- this.emitter.emit("broadcast");
203
- if (this.earlyCommit)
204
- this.earlyCommit();
205
- if (emit) {
206
- this.emitter.emit("commited");
150
+ if (this.reference === this.entry.$origin) {
151
+ this.entry.$streams = this.refStreams;
152
+ }
153
+ this.nodeResponse.streams = this.refStreams;
154
+ this.nodeResponse.return = this.virtualMachine.getReturnContractData(this.entry.$umid);
155
+ if (this.virtualMachine.getNewContractData(this.entry.$umid)) {
156
+ this.emitter.emit("contractData", {
157
+ contract: this.contractId,
158
+ data: null,
159
+ });
207
160
  }
161
+ try {
162
+ this.nodeResponse.post = await this.virtualMachine.postProcess(this.entry.$territoriality === this.reference, this.entry.$territoriality, this.entry.$umid);
163
+ this.nodeResponse.incomms = this.virtualMachine.getInternodeCommsFromVM(this.entry.$umid);
164
+ this.entry = this.shared.clearAllComms(this.virtualMachine, this.nodeResponse.incomms);
165
+ }
166
+ catch (error) {
167
+ activelogger_1.ActiveLogger.error(error, "Post-processing failed");
168
+ }
169
+ if (!this.nodeResponse.leader) {
170
+ this.emitter.emit("broadcast");
171
+ }
172
+ this.earlyCommit?.();
173
+ this.emitter.emit("commited");
208
174
  }
209
175
  async detectCollisions() {
210
176
  if (this.collisions.length) {
211
177
  activelogger_1.ActiveLogger.info("Deterministic streams to be checked");
212
- let streamColCheck = [];
178
+ const existenceChecks = [];
213
179
  let i = this.collisions.length;
214
180
  while (i--) {
215
181
  const streamId = this.collisions[i];
216
- streamColCheck.push(this.db.get(streamId));
182
+ existenceChecks.push(this.db.exists(streamId));
217
183
  }
218
184
  try {
219
- const streams = await Promise.all(streamColCheck);
220
- activelogger_1.ActiveLogger.debug(streams, "Deterministic Stream Name Exists");
221
- this.nodeResponse.commit = false;
222
- this.shared.raiseLedgerError(1530, new Error("Deterministic Stream Name Exists"));
185
+ const existingStreams = await Promise.all(existenceChecks);
186
+ if (existingStreams.some(exists => exists)) {
187
+ activelogger_1.ActiveLogger.debug(this.collisions, "Deterministic Stream Name Exists");
188
+ this.nodeResponse.commit = false;
189
+ this.shared.raiseLedgerError(1530, new Error("Deterministic Stream Name Exists"), false, 0, true);
190
+ }
191
+ else {
192
+ await this.append();
193
+ }
223
194
  }
224
195
  catch (error) {
225
- this.append();
196
+ await this.append();
226
197
  }
227
198
  }
228
199
  else {
229
- this.append();
200
+ await this.append();
230
201
  }
231
202
  }
232
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"streamUpdater.js","sourceRoot":"","sources":["../../src/protocol/streamUpdater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamUpdater.js","sourceRoot":"","sources":["../../src/protocol/streamUpdater.ts"],"names":[],"mappings":"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"}
@@ -9,29 +9,36 @@ export declare class VirtualMachine extends events.EventEmitter implements IVirt
9
9
  private secured;
10
10
  private db;
11
11
  private dbev;
12
- private virtual;
12
+ private smartContracts;
13
+ private contracts;
13
14
  private virtualInstance;
14
15
  private contractReferences;
15
- private event;
16
+ private events;
16
17
  private emitter;
17
18
  private maxTimeout;
18
19
  private scriptFinishedExec;
20
+ private timeoutTimers;
19
21
  constructor(selfHost: string, secured: ActiveCrypto.Secured, db: ActiveDSConnect, dbev: ActiveDSConnect);
20
- initialiseVirtualMachine(extraBuiltins?: string[], extraExternals?: string[], extraMocks?: string[]): void;
22
+ initialiseVirtualMachine(): void;
23
+ private getContract;
21
24
  getActivityStreamsFromVM(umid: string): ActiveDefinitions.LedgerStream[];
25
+ getNewContractData(umid: string): boolean;
22
26
  destroy(umid: string): void;
23
27
  getInternodeCommsFromVM(umid: string): any;
24
28
  clearingInternodeCommsFromVM(umid: string): boolean;
25
29
  getReturnContractData(umid: string): unknown;
26
30
  getThrowsFromVM(umid: string): string[];
31
+ getEvents(umid: string): any[];
27
32
  getInputs(umid: string): ActiveDefinitions.LedgerStream[];
28
33
  initialise(payload: IVMDataPayload, contractName: string): Promise<void>;
29
34
  private setPhase;
30
35
  read(umid: string, readMethod: string): Promise<unknown>;
31
36
  verify(sigless: boolean, umid: string): Promise<boolean>;
32
- vote(nodes: ActiveDefinitions.INodes, umid: string): Promise<boolean>;
37
+ vote(nodes: ActiveDefinitions.INodes, umid: string): Promise<boolean | {
38
+ leader: boolean;
39
+ }>;
33
40
  commit(nodes: ActiveDefinitions.INodes, possibleTerritoriality: boolean | undefined, umid: string): Promise<boolean>;
34
- reconcile(nodes: ActiveDefinitions.INodes, umid: string): Promise<boolean>;
41
+ reconcile(nodes: ActiveDefinitions.INodes, umid: string): Promise<any>;
35
42
  postProcess(territoriality: boolean, who: string, umid: string): Promise<any>;
36
43
  private incMarshel;
37
44
  private listenForVolatile;
@@ -1 +1 @@
1
- {"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/protocol/vm.ts"],"names":[],"mappings":";AAuBA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAiB,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EACL,cAAc,EAEd,eAAe,EAChB,MAAM,2BAA2B,CAAC;AASnC,qBAAa,cACX,SAAQ,MAAM,CAAC,YACf,YAAW,eAAe;IAyExB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IArEd,OAAO,CAAC,OAAO,CAAS;IAQxB,OAAO,CAAC,eAAe,CAAM;IAQ7B,OAAO,CAAC,kBAAkB,CAAwB;IAQlD,OAAO,CAAC,KAAK,CAAc;IAQ3B,OAAO,CAAC,OAAO,CAAe;IAQ9B,OAAO,CAAC,UAAU,CAAO;IAQzB,OAAO,CAAC,kBAAkB,CAAkB;gBAkBlC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,CAAC,OAAO,EAC7B,EAAE,EAAE,eAAe,EACnB,IAAI,EAAE,eAAe;IAiBxB,wBAAwB,CAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,IAAI;IA4EA,wBAAwB,CAC7B,IAAI,EAAE,MAAM,GACX,iBAAiB,CAAC,YAAY,EAAE;IAoC5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc3B,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAS1C,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASnD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAS5C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IASvC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE;IASzD,UAAU,CACf,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA+DhB,OAAO,CAAC,QAAQ;IAYT,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCxD,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyCxD,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6CrE,MAAM,CACX,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAC/B,sBAAsB,qBAAiB,EACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IA+CZ,SAAS,CACd,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IAiDZ,WAAW,CAChB,cAAc,EAAE,OAAO,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC;IAuDf,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,eAAe;YA4BT,cAAc;YAmFd,WAAW;CAmB1B"}
1
+ {"version":3,"file":"vm.d.ts","sourceRoot":"","sources":["../../src/protocol/vm.ts"],"names":[],"mappings":";AAuBA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAiB,eAAe,EAAe,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EACL,cAAc,EAEd,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAUnC,qBAAa,cACX,SAAQ,MAAM,CAAC,YACf,YAAW,eAAe;IAgGxB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IA5Fd,OAAO,CAAC,cAAc,CAA+B;IAOrD,OAAO,CAAC,SAAS,CAAmC;IAgBpD,OAAO,CAAC,eAAe,CAAM;IAQ7B,OAAO,CAAC,kBAAkB,CAAwB;IAQlD,OAAO,CAAC,MAAM,CAAuC;IAQrD,OAAO,CAAC,OAAO,CAAe;IAQ9B,OAAO,CAAC,UAAU,CAAO;IAQzB,OAAO,CAAC,kBAAkB,CAAmC;IAQ7D,OAAO,CAAC,aAAa,CAA0C;gBAkBrD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,CAAC,OAAO,EAC7B,EAAE,EAAE,eAAe,EACnB,IAAI,EAAE,eAAe;IAiBxB,wBAAwB,IAAI,IAAI;IAavC,OAAO,CAAC,WAAW;IAaZ,wBAAwB,CAC7B,IAAI,EAAE,MAAM,GACX,iBAAiB,CAAC,YAAY,EAAE;IA6E5B,kBAAkB,CACvB,IAAI,EAAE,MAAM,GACX,OAAO;IAaH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgC3B,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAS1C,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASnD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAU5C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAYvC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE;IAS9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE;IASzD,UAAU,CACf,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA+EhB,OAAO,CAAC,QAAQ;IAWH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyC9D,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyCxD,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IA6C3F,MAAM,CACX,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAC/B,sBAAsB,qBAAiB,EACvC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IA+CZ,SAAS,CACd,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC;IAoDR,WAAW,CAChB,cAAc,EAAE,OAAO,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC;IAyDf,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,eAAe;YAgCT,cAAc;YAmFd,WAAW;CAmB1B"}