wowok_agent 1.2.44 → 1.3.47

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 (75) hide show
  1. package/dist/call/arbitration.d.ts +13 -28
  2. package/dist/call/arbitration.d.ts.map +1 -1
  3. package/dist/call/arbitration.js +91 -84
  4. package/dist/call/arbitration.js.map +1 -1
  5. package/dist/call/base.d.ts +31 -2
  6. package/dist/call/base.d.ts.map +1 -1
  7. package/dist/call/base.js +41 -3
  8. package/dist/call/base.js.map +1 -1
  9. package/dist/call/call.d.ts +6 -0
  10. package/dist/call/call.d.ts.map +1 -1
  11. package/dist/call/call.js.map +1 -1
  12. package/dist/call/demand.d.ts +9 -22
  13. package/dist/call/demand.d.ts.map +1 -1
  14. package/dist/call/demand.js +70 -78
  15. package/dist/call/demand.js.map +1 -1
  16. package/dist/call/machine.d.ts +35 -44
  17. package/dist/call/machine.d.ts.map +1 -1
  18. package/dist/call/machine.js +105 -115
  19. package/dist/call/machine.js.map +1 -1
  20. package/dist/call/object_permission.d.ts.map +1 -1
  21. package/dist/call/object_permission.js.map +1 -1
  22. package/dist/call/permission.d.ts +30 -18
  23. package/dist/call/permission.d.ts.map +1 -1
  24. package/dist/call/permission.js +39 -38
  25. package/dist/call/permission.js.map +1 -1
  26. package/dist/call/personal.d.ts +6 -6
  27. package/dist/call/personal.d.ts.map +1 -1
  28. package/dist/call/personal.js +11 -13
  29. package/dist/call/personal.js.map +1 -1
  30. package/dist/call/repository.d.ts +4 -12
  31. package/dist/call/repository.d.ts.map +1 -1
  32. package/dist/call/repository.js +49 -37
  33. package/dist/call/repository.js.map +1 -1
  34. package/dist/call/service.d.ts +50 -70
  35. package/dist/call/service.d.ts.map +1 -1
  36. package/dist/call/service.js +187 -164
  37. package/dist/call/service.js.map +1 -1
  38. package/dist/call/treasury.d.ts +22 -26
  39. package/dist/call/treasury.d.ts.map +1 -1
  40. package/dist/call/treasury.js +74 -73
  41. package/dist/call/treasury.js.map +1 -1
  42. package/dist/common.d.ts +1 -0
  43. package/dist/common.d.ts.map +1 -1
  44. package/dist/common.js +6 -0
  45. package/dist/common.js.map +1 -1
  46. package/dist/local/local.d.ts +1 -1
  47. package/dist/local/local.d.ts.map +1 -1
  48. package/dist/local/local.js +4 -1
  49. package/dist/local/local.js.map +1 -1
  50. package/dist/query/events.d.ts +1 -1
  51. package/dist/query/events.d.ts.map +1 -1
  52. package/dist/query/events.js +15 -9
  53. package/dist/query/events.js.map +1 -1
  54. package/dist/query/objects.d.ts +7 -2
  55. package/dist/query/objects.d.ts.map +1 -1
  56. package/dist/query/objects.js +8 -1
  57. package/dist/query/objects.js.map +1 -1
  58. package/package.json +4 -2
  59. package/src/call/arbitration.ts +117 -105
  60. package/src/call/base.ts +78 -10
  61. package/src/call/call.ts +6 -0
  62. package/src/call/demand.ts +77 -86
  63. package/src/call/machine.ts +119 -132
  64. package/src/call/object_permission.ts +1 -1
  65. package/src/call/permission.ts +68 -45
  66. package/src/call/personal.ts +18 -20
  67. package/src/call/repository.ts +54 -47
  68. package/src/call/service.ts +236 -197
  69. package/src/call/treasury.ts +96 -86
  70. package/src/common.ts +7 -1
  71. package/src/local/account.ts +1 -1
  72. package/src/local/local.ts +6 -2
  73. package/src/query/events.ts +12 -10
  74. package/src/query/objects.ts +18 -4
  75. package/tsconfig.tsbuildinfo +1 -1
@@ -1,43 +1,71 @@
1
- import { IsValidArgType, TagName, IsValidAddress, Errors, ERROR, Permission, PermissionIndex, Service, Treasury, } from 'wowok';
2
- import { CallBase } from "./base.js";
1
+ import { IsValidArgType, TagName, Errors, ERROR, Permission, PermissionIndex, Service, Treasury, Arbitration, } from 'wowok';
2
+ import { query_objects } from '../query/objects.js';
3
+ import { CallBase, GetAccountOrMark_Address, GetManyAccountOrMark_Address, GetObjectExisted, GetObjectMain, GetObjectParam } from "./base.js";
3
4
  import { Account } from '../local/account.js';
4
5
  import { LocalMark } from '../local/local.js';
5
- import { get_object_address } from '../common.js';
6
+ import { crypto_string } from '../common.js';
6
7
  export class CallService extends CallBase {
7
8
  constructor(data) {
8
9
  super();
10
+ this.object_address = undefined;
11
+ this.permission_address = undefined;
12
+ this.type_parameter = undefined;
13
+ this.order_progress = async (order, order_new) => {
14
+ if (order) {
15
+ const r = await query_objects({ objects: [order] });
16
+ if (r?.objects?.length !== 1 || r?.objects[0]?.type !== 'Order') {
17
+ ERROR(Errors.InvalidParam, 'order_progress:' + order);
18
+ }
19
+ return r.objects[0].progress;
20
+ }
21
+ else if (order_new) {
22
+ return order_new.progress;
23
+ }
24
+ else {
25
+ ERROR(Errors.InvalidParam, 'order_progress');
26
+ }
27
+ };
28
+ this.info_crypto = async (object, info) => {
29
+ if (!this.content && info && object) {
30
+ await this.update_content('Service', object);
31
+ }
32
+ const pubkey = this.content.customer_required_info?.pubkey ?? '';
33
+ var info_crypto;
34
+ if (pubkey && info) {
35
+ info_crypto = {
36
+ customer_pubkey: pubkey,
37
+ customer_info_crypt: crypto_string(info, pubkey)
38
+ };
39
+ }
40
+ return info_crypto;
41
+ };
9
42
  this.data = data;
10
43
  }
11
44
  async call(account) {
12
- if (!this.data.type_parameter || !IsValidArgType(this.data.type_parameter)) {
13
- ERROR(Errors.IsValidArgType, 'service.type_parameter');
14
- }
15
45
  var checkOwner = false;
16
46
  const guards = [];
17
47
  const perms = [];
18
- var obj;
19
- var [permission_address, object_address, treasury_address] = await LocalMark.Instance().get_many_address([this.data?.permission?.address,
20
- this.data?.object?.address,
21
- this.data?.payee_treasury?.address]);
22
- if (object_address) {
23
- if (!this.data.type_parameter || !permission_address) {
24
- await this.update_content(object_address, 'Service');
25
- if (this.content) {
26
- permission_address = this.content.permission;
27
- this.data.type_parameter = this.content.type_raw;
28
- }
29
- }
48
+ this.object_address = (await LocalMark.Instance().get_address(GetObjectExisted(this.data.object)));
49
+ if (this.object_address) {
50
+ await this.update_content('Service', this.object_address);
51
+ if (!this.content)
52
+ ERROR(Errors.InvalidParam, 'CallService_Data.data.object:' + this.object_address);
53
+ this.permission_address = this.content.permission;
54
+ this.type_parameter = Service.parseObjectType(this.content.type_raw);
30
55
  }
31
56
  else {
32
- if (!this.data?.type_parameter || !IsValidArgType(this.data.type_parameter)) {
33
- ERROR(Errors.IsValidArgType, 'CallService_Data.data.type_parameter');
57
+ const n = GetObjectMain(this.data.object);
58
+ if (!IsValidArgType(n?.type_parameter)) {
59
+ ERROR(Errors.IsValidArgType, 'CallService_Data.data.object.type_parameter');
34
60
  }
61
+ this.permission_address = (await LocalMark.Instance().get_address(GetObjectExisted(n?.permission)));
62
+ this.type_parameter = n.type_parameter;
35
63
  }
36
- if (permission_address) {
64
+ if (this.permission_address) {
37
65
  if (!this.data?.object) {
38
66
  perms.push(PermissionIndex.service);
39
67
  }
40
- if (this.data?.description !== undefined && object_address) {
68
+ if (this.data?.description !== undefined && this.object_address) {
41
69
  perms.push(PermissionIndex.service_description);
42
70
  }
43
71
  if (this.data?.bPaused !== undefined) {
@@ -73,7 +101,7 @@ export class CallService extends CallBase {
73
101
  if (this.data?.machine !== undefined) {
74
102
  perms.push(PermissionIndex.service_machine);
75
103
  }
76
- if (treasury_address !== undefined && object_address) {
104
+ if (this.data?.payee_treasury !== undefined && this.object_address) {
77
105
  perms.push(PermissionIndex.service_payee);
78
106
  }
79
107
  if (this.data?.withdraw_guard !== undefined) {
@@ -89,24 +117,9 @@ export class CallService extends CallBase {
89
117
  perms.push(PermissionIndex.service_sales);
90
118
  }
91
119
  if (this.data?.order_new !== undefined) {
92
- if (this.data.order_new.guard) {
93
- const guard = await LocalMark.Instance().get_address(this.data.order_new.guard);
94
- if (guard) {
95
- guards.push(guard);
96
- }
97
- }
98
- else {
99
- if (!object_address) {
100
- const buy_guard = await LocalMark.Instance().get_address(this.data?.buy_guard);
101
- if (buy_guard) {
102
- guards.push(buy_guard);
103
- }
104
- }
105
- else {
106
- await this.update_content(object_address, 'Service');
107
- if (this.content?.buy_guard) {
108
- guards.push(this.content.buy_guard);
109
- }
120
+ if (this.object_address) {
121
+ if (this.content?.buy_guard) {
122
+ guards.push(this.content.buy_guard);
110
123
  }
111
124
  }
112
125
  }
@@ -123,58 +136,143 @@ export class CallService extends CallBase {
123
136
  if (guard)
124
137
  guards.push(guard);
125
138
  }
126
- return await this.check_permission_and_call(permission_address, perms, guards, checkOwner, undefined, account);
139
+ return await this.check_permission_and_call(this.permission_address, perms, guards, checkOwner, undefined, account);
127
140
  }
128
141
  return await this.exec(account);
129
142
  }
143
+ order_allowed() {
144
+ if (this.content?.bPaused) {
145
+ ERROR(Errors.InvalidParam, 'Service is paused');
146
+ return false;
147
+ }
148
+ if ((this.content?.bPublished !== true)) {
149
+ ERROR(Errors.InvalidParam, 'Service is not published');
150
+ return false;
151
+ }
152
+ return true;
153
+ }
130
154
  async operate(txb, passport, account) {
131
155
  let obj;
132
156
  let permission;
133
157
  let payee;
134
- var [permission_address, object_address] = this?.content ?
135
- [this.content.permission, this.content.object] :
136
- await LocalMark.Instance().get_many_address([this.data?.permission?.address,
137
- this.data?.object?.address]);
138
- const treasury_address = await LocalMark.Instance().get_address(this.data?.payee_treasury?.address);
139
- if (!object_address) {
140
- if (!permission_address || !IsValidAddress(permission_address)) {
141
- const d = this.data?.permission?.description ?? '';
142
- permission = Permission.New(txb, d);
143
- }
144
- if (!treasury_address || !IsValidAddress(treasury_address)) {
145
- const d = this.data?.payee_treasury?.description ?? '';
146
- payee = Treasury.New(txb, this.data?.type_parameter, permission ?? permission_address, d, permission ? undefined : passport);
147
- }
148
- obj = Service.New(txb, this.data.type_parameter, permission ? permission.get_object() : permission_address, this.data?.description ?? '', payee ? payee.get_object() : treasury_address, permission ? undefined : passport);
158
+ if (this.object_address) {
159
+ obj = Service.From(txb, this.type_parameter, this.permission_address, this.object_address);
149
160
  }
150
161
  else {
151
- if (this.data.type_parameter && permission_address) {
152
- obj = Service.From(txb, this.data.type_parameter, permission_address, object_address);
162
+ const n = GetObjectMain(this.data.object);
163
+ if (!this.permission_address) {
164
+ permission = Permission.New(txb, GetObjectParam(n?.permission)?.description ?? '');
153
165
  }
154
- else {
155
- ERROR(Errors.InvalidParam, 'CallService_Data.data.type_parameter or permission');
166
+ const treasury_address = await LocalMark.Instance().get_address(GetObjectExisted(this.data.payee_treasury));
167
+ if (!treasury_address) {
168
+ payee = Treasury.New(txb, this.type_parameter, permission ? permission.get_object() : this.permission_address, GetObjectParam(this.data.payee_treasury)?.description ?? '', permission ? undefined : passport);
169
+ }
170
+ const t = payee ? payee.get_object() : treasury_address;
171
+ if (!t) {
172
+ ERROR(Errors.InvalidParam, 'CallService_Data.payee_treasury:' + this.data.payee_treasury.address);
156
173
  }
174
+ obj = Service.New(txb, this.type_parameter, permission ? permission.get_object() : this.permission_address, this.data?.description ?? '', t, permission ? undefined : passport);
157
175
  }
158
176
  if (obj) {
159
177
  //const perm = permission ? permission.get_object() : permission_address;
160
178
  const pst = permission ? undefined : passport;
161
- if (this.data?.description !== undefined && object_address) {
179
+ var order_new;
180
+ if (this.data?.order_new !== undefined && this.order_allowed()) {
181
+ let b = BigInt(0);
182
+ let coin;
183
+ this.data.order_new.buy_items.forEach(v => {
184
+ b += BigInt(v.max_price) * BigInt(v.count);
185
+ });
186
+ coin = await Account.Instance().get_coin_object(txb, b, account, this.type_parameter);
187
+ if (coin) {
188
+ order_new = obj.order(this.data.order_new.buy_items, coin, await LocalMark.Instance().get_address(this.data.order_new.discount_object), (this?.content).machine, await this.info_crypto(this.data.order_new.customer_info_required), pst);
189
+ }
190
+ }
191
+ if (this.data?.order_agent !== undefined) {
192
+ const o = this.data.order_agent.order ? await LocalMark.Instance().get_address(this.data.order_agent.order) : order_new?.order;
193
+ if (!o)
194
+ ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_agent.order}`);
195
+ const p = await this.order_progress(this.data.order_agent.order, order_new);
196
+ const agents = await GetManyAccountOrMark_Address(this.data.order_agent.agents);
197
+ obj?.set_order_agent(o, agents.filter((v) => v !== undefined), p);
198
+ }
199
+ if (this.data?.order_required_info?.customer_info_required) {
200
+ const o = await LocalMark.Instance().get_address(this.data.order_required_info.order);
201
+ if (!o)
202
+ ERROR(Errors.InvalidParam, `CallService_Data.data.order_required_info.order:${this.data.order_required_info.order}`);
203
+ const crypto = await this.info_crypto(this.object_address, this.data.order_required_info.customer_info_required);
204
+ if (crypto) {
205
+ obj?.update_order_required_info(o, crypto);
206
+ }
207
+ }
208
+ if (this.data?.order_refund !== undefined) {
209
+ const o = await LocalMark.Instance().get_address(this.data.order_refund.order);
210
+ if (!o)
211
+ ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_refund.order}`);
212
+ if (this.data?.order_refund?.arb) {
213
+ const r = await query_objects({ objects: [this.data?.order_refund?.arb] });
214
+ if (r?.objects?.length !== 1 || r?.objects[0]?.type !== 'Arb') {
215
+ ERROR(Errors.InvalidParam, 'order_refund.arb:' + this.data?.order_refund?.arb);
216
+ }
217
+ obj?.refund_withArb(o, r?.objects[0].object, Arbitration.parseArbObjectType(r.objects[0].type_raw));
218
+ }
219
+ else {
220
+ const guard = await LocalMark.Instance().get_address(this.data?.order_refund?.guard);
221
+ if (guard)
222
+ obj?.refund(o, guard, pst);
223
+ }
224
+ }
225
+ if (this.data?.order_withdrawl !== undefined && pst) { //@ need withdrawal pst
226
+ const n = this.data?.order_withdrawl;
227
+ const o = await LocalMark.Instance().get_address(n.order);
228
+ if (!o)
229
+ ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_withdrawl.order}`);
230
+ const [for_guard, for_object, withdrawGuard] = await LocalMark.Instance().get_many_address([n.data.for_guard, n.data.for_object, n.data.withdraw_guard]);
231
+ if (!withdrawGuard)
232
+ ERROR(Errors.InvalidParam, `CallService_Data.data.order_withdrawl.data.withdraw_guard:${this.data.order_withdrawl.data.withdraw_guard}`);
233
+ obj?.withdraw(o, { withdraw_guard: withdrawGuard, treasury: this.content.payee_treasury,
234
+ index: n.data.index, for_guard: for_guard, for_object: for_object, remark: n.data.remark }, pst);
235
+ }
236
+ if (this.data?.order_payer !== undefined) {
237
+ const o = this.data.order_payer.order ? await LocalMark.Instance().get_address(this.data.order_payer.order) : order_new?.order;
238
+ if (!o)
239
+ ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_payer.order}`);
240
+ const p = await this.order_progress(this.data.order_payer.order, order_new);
241
+ const payer = await GetAccountOrMark_Address(this.data.order_payer.payer_new);
242
+ if (payer)
243
+ obj?.change_order_payer(o, payer, p);
244
+ }
245
+ if (order_new && this?.data?.order_new) {
246
+ const buy = obj.order_launch(order_new);
247
+ await this.new_with_mark('Order', txb, buy.order, this.data?.order_new?.namedNewOrder, account, [TagName.Launch, TagName.Order]);
248
+ if (buy?.progress) {
249
+ await this.new_with_mark('Progress', txb, buy.progress, this.data?.order_new?.namedNewProgress, account, [TagName.Launch, 'progress']);
250
+ }
251
+ }
252
+ if (this.data?.description !== undefined && this.object_address) {
162
253
  obj?.set_description(this.data.description, pst);
163
254
  }
164
255
  if (this.data?.endpoint !== undefined) {
165
256
  obj?.set_endpoint(this.data.endpoint, pst);
166
257
  }
167
- if (treasury_address !== undefined && object_address) {
168
- obj?.set_payee(treasury_address, pst);
258
+ if (this.data?.payee_treasury !== undefined && this.object_address) {
259
+ const treasury_address = await LocalMark.Instance().get_address(GetObjectExisted(this.data.payee_treasury));
260
+ if (!treasury_address) {
261
+ payee = Treasury.New(txb, this.type_parameter, permission ? permission.get_object() : this.permission_address, GetObjectParam(this.data.payee_treasury)?.description ?? '', permission ? undefined : passport);
262
+ }
263
+ const t = payee ? payee.get_object() : treasury_address;
264
+ if (!t) {
265
+ ERROR(Errors.InvalidParam, 'CallService_Data.payee_treasury:' + this.data.payee_treasury.address);
266
+ }
267
+ obj?.set_payee(t, pst);
169
268
  }
170
269
  if (this.data?.gen_discount !== undefined) {
171
270
  const add = [];
172
271
  for (let i = 0; i < this.data.gen_discount.length; ++i) {
173
272
  let v = this.data.gen_discount[i];
174
- const addr = await LocalMark.Instance().get_address(v.receiver);
273
+ const addr = await GetAccountOrMark_Address(v.receiver);
175
274
  if (addr) {
176
- v.receiver = addr;
177
- add.push(v);
275
+ add.push({ receiver: addr, count: v.count ?? 1, discount: v.discount });
178
276
  }
179
277
  }
180
278
  obj?.discount_transfer(add, pst);
@@ -189,7 +287,7 @@ export class CallService extends CallBase {
189
287
  let v = this.data.repository.repositories[i];
190
288
  const addr = await LocalMark.Instance().get_address(v);
191
289
  if (addr) {
192
- obj?.add_repository(v, pst);
290
+ obj?.add_repository(addr, pst);
193
291
  }
194
292
  }
195
293
  break;
@@ -207,16 +305,15 @@ export class CallService extends CallBase {
207
305
  case 'set':
208
306
  if (this.data.extern_withdraw_treasury.op === 'set')
209
307
  obj?.remove_treasury([], true, pst);
210
- for (let i = 0; i < this.data.extern_withdraw_treasury.treasuries.length; ++i) {
211
- let v = this.data.extern_withdraw_treasury.treasuries[i];
212
- const addr = await LocalMark.Instance().get_address(v.address);
213
- if (addr && v.token_type) {
214
- obj?.add_treasury(v.token_type, v.address, pst);
308
+ const r = await query_objects({ objects: this.data.extern_withdraw_treasury.treasuries, no_cache: true });
309
+ r.objects?.forEach(v => {
310
+ if (v.type === 'Treasury') {
311
+ obj?.add_treasury(v.object, Treasury.parseObjectType(v.type_raw), pst);
215
312
  }
216
- }
313
+ });
217
314
  break;
218
315
  case 'remove':
219
- obj?.remove_treasury(await LocalMark.Instance().get_many_address2(this.data.extern_withdraw_treasury.addresses), false, pst);
316
+ obj?.remove_treasury(await LocalMark.Instance().get_many_address2(this.data.extern_withdraw_treasury.treasuries), false, pst);
220
317
  break;
221
318
  case 'removeall':
222
319
  obj?.remove_treasury([], false, pst);
@@ -233,16 +330,15 @@ export class CallService extends CallBase {
233
330
  case 'set':
234
331
  if (this.data.arbitration.op === 'set')
235
332
  obj?.remove_arbitration([], true, pst);
236
- for (let i = 0; i < this.data.arbitration.arbitrations.length; ++i) {
237
- let v = this.data.arbitration.arbitrations[i];
238
- const addr = await LocalMark.Instance().get_address(v.address);
239
- if (addr && v.token_type) {
240
- obj?.add_arbitration(v.address, v.token_type, pst);
333
+ const r = await query_objects({ objects: this.data.arbitration.arbitrations, no_cache: true });
334
+ r.objects?.forEach(v => {
335
+ if (v.type === 'Arbitration') {
336
+ obj?.add_arbitration(v.object, Arbitration.parseObjectType(v.type_raw), pst);
241
337
  }
242
- }
338
+ });
243
339
  break;
244
340
  case 'remove':
245
- obj?.remove_arbitration(await LocalMark.Instance().get_many_address2(this.data.arbitration.addresses), false, pst);
341
+ obj?.remove_arbitration(await LocalMark.Instance().get_many_address2(this.data.arbitration.arbitrations), false, pst);
246
342
  break;
247
343
  case 'removeall':
248
344
  obj?.remove_arbitration([], false, pst);
@@ -250,7 +346,7 @@ export class CallService extends CallBase {
250
346
  }
251
347
  }
252
348
  if (this.data?.customer_required_info !== undefined) {
253
- if (this.data.customer_required_info.required_info && this.data.customer_required_info.pubkey) {
349
+ if (this.data.customer_required_info.required_info.length > 0 && this.data.customer_required_info.pubkey) {
254
350
  obj?.set_customer_required(this.data.customer_required_info.pubkey, this.data.customer_required_info.required_info, pst);
255
351
  }
256
352
  else if (this.data.customer_required_info.pubkey) {
@@ -285,7 +381,7 @@ export class CallService extends CallBase {
285
381
  obj?.add_withdraw_guards(add, pst);
286
382
  break;
287
383
  case 'remove':
288
- obj?.remove_withdraw_guards(await LocalMark.Instance().get_many_address2(this.data.withdraw_guard.addresses), false, pst);
384
+ obj?.remove_withdraw_guards(await LocalMark.Instance().get_many_address2(this.data.withdraw_guard.guards), false, pst);
289
385
  break;
290
386
  case 'removeall':
291
387
  obj?.remove_withdraw_guards([], true, pst);
@@ -310,7 +406,7 @@ export class CallService extends CallBase {
310
406
  obj?.add_refund_guards(add, pst);
311
407
  break;
312
408
  case 'remove':
313
- obj?.remove_refund_guards(await LocalMark.Instance().get_many_address2(this.data.refund_guard.addresses), false, pst);
409
+ obj?.remove_refund_guards(await LocalMark.Instance().get_many_address2(this.data.refund_guard.guards), false, pst);
314
410
  break;
315
411
  case 'removeall':
316
412
  obj?.remove_refund_guards([], true, pst);
@@ -320,97 +416,24 @@ export class CallService extends CallBase {
320
416
  if (this.data?.bPublished) {
321
417
  obj?.publish(pst);
322
418
  }
323
- var order_new;
324
- if (this.data?.order_new !== undefined) {
325
- let b = BigInt(0);
326
- let coin;
327
- this.data.order_new.buy_items.forEach(v => {
328
- b += BigInt(v.max_price) * BigInt(v.count);
329
- });
330
- if (b > BigInt(0)) {
331
- coin = await Account.Instance().get_coin_object(txb, b, account, this.data.type_parameter);
332
- if (coin) {
333
- //@ crypto tools support
334
- order_new = obj.order(this.data.order_new.buy_items, coin, this.data.order_new.discount, this.data.order_new.machine, this.data.order_new.customer_info_crypto, pst);
335
- }
336
- }
337
- }
338
- if (this.data?.order_agent !== undefined) {
339
- const o = this.data.order_agent.order ? await LocalMark.Instance().get_address(this.data.order_agent.order) : order_new?.order;
340
- if (!o)
341
- ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_agent.order}`);
342
- const p = this.data.order_agent.progress ? await LocalMark.Instance().get_address(this.data.order_agent.progress) : order_new?.progress;
343
- if (!p)
344
- ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.progress:${this.data.order_agent.progress}`);
345
- obj?.set_order_agent(o, await LocalMark.Instance().get_many_address2(this.data.order_agent.agents), p);
346
- }
347
- if (this.data?.order_required_info !== undefined && this.data.order_required_info.info !== undefined) {
348
- const o = this.data.order_required_info.order ? await LocalMark.Instance().get_address(this.data.order_required_info.order) : order_new?.order;
349
- if (!o)
350
- ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_required_info.order}`);
351
- obj?.update_order_required_info(o, this.data.order_required_info.info);
352
- }
353
- if (this.data?.order_refund !== undefined) {
354
- const o = this.data.order_refund.order ? await LocalMark.Instance().get_address(this.data.order_refund.order) : order_new?.order;
355
- if (!o)
356
- ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_refund.order}`);
357
- if (this.data?.order_refund?.arb && this.data?.order_refund?.arb_token_type) {
358
- const arb = await LocalMark.Instance().get_address(this.data?.order_refund?.arb);
359
- if (arb) {
360
- obj?.refund_withArb(o, arb, this.data?.order_refund?.arb_token_type);
361
- }
362
- }
363
- else {
364
- const guard = await LocalMark.Instance().get_address(this.data?.order_refund?.guard);
365
- if (guard)
366
- obj?.refund(o, guard, pst);
367
- }
368
- }
369
- if (this.data?.order_withdrawl !== undefined && pst) { //@ need withdrawal pst
370
- const o = this.data.order_withdrawl.order ? await LocalMark.Instance().get_address(this.data.order_withdrawl.order) : order_new?.order;
371
- if (!o)
372
- ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_withdrawl.order}`);
373
- this.data.order_withdrawl.data.for_guard = await get_object_address(this.data.order_withdrawl.data.for_guard);
374
- this.data.order_withdrawl.data.for_object = await get_object_address(this.data.order_withdrawl.data.for_object);
375
- this.data.order_withdrawl.data.treasury = await get_object_address(this.data.order_withdrawl.data.treasury);
376
- this.data.order_withdrawl.data.withdraw_guard = await get_object_address(this.data.order_withdrawl.data.withdraw_guard);
377
- obj?.withdraw(o, this.data.order_withdrawl.data, pst);
378
- }
379
- if (this.data?.order_payer !== undefined && obj) {
380
- const o = this.data.order_payer.order ? await LocalMark.Instance().get_address(this.data.order_payer.order) : order_new?.order;
381
- if (!o)
382
- ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.order:${this.data.order_payer.order}`);
383
- const p = this.data.order_payer.progress ? await LocalMark.Instance().get_address(this.data.order_payer.progress) : order_new?.progress;
384
- if (!p)
385
- ERROR(Errors.InvalidParam, `CallService_Data.data.order_agent.progress:${this.data.order_payer.progress}`);
386
- const payer = await LocalMark.Instance().get_address(this.data.order_payer.payer_new);
387
- if (payer)
388
- obj?.change_order_payer(o, payer, p);
389
- }
390
- if (order_new && this?.data?.order_new) {
391
- const buy = obj.order_launch(order_new);
392
- await this.new_with_mark('Order', txb, buy.order, this.data?.order_new?.namedNewOrder, account, [TagName.Launch, TagName.Order]);
393
- if (buy?.progress) {
394
- await this.new_with_mark('Progress', txb, buy.progress, this.data?.order_new?.namedNewProgress, account, [TagName.Launch]);
395
- }
396
- }
397
419
  if (this.data?.buy_guard !== undefined) {
398
420
  obj?.set_buy_guard(this.data.buy_guard, pst);
399
421
  }
400
422
  if (this.data?.bPaused !== undefined) {
401
423
  obj?.pause(this.data.bPaused, pst);
402
424
  }
403
- if (this.data?.clone_new !== undefined && object_address) {
425
+ if (this.data?.clone_new !== undefined) {
404
426
  await this.new_with_mark('Service', txb, obj.clone(this.data.clone_new?.token_type_new, true, pst), this.data?.clone_new?.namedNew, account);
405
427
  }
406
428
  if (payee) {
407
- await this.new_with_mark('Treasury', txb, payee.launch(), this.data?.payee_treasury?.namedNew, account);
429
+ await this.new_with_mark('Treasury', txb, payee.launch(), GetObjectParam(this.data?.payee_treasury), account);
408
430
  }
409
431
  if (permission) {
410
- await this.new_with_mark('Permission', txb, permission.launch(), this.data?.permission?.namedNew, account);
432
+ const n = GetObjectMain(this.data.object);
433
+ await this.new_with_mark('Permission', txb, permission.launch(), GetObjectParam(n?.permission), account);
411
434
  }
412
- if (!object_address) {
413
- await this.new_with_mark('Service', txb, obj.launch(), this.data?.object?.namedNew, account);
435
+ if (!this.object_address) {
436
+ await this.new_with_mark('Service', txb, obj.launch(), GetObjectMain(this.data?.object), account);
414
437
  }
415
438
  }
416
439
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/call/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/call/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,cAAc,EAAc,OAAO,EAAmB,MAAM,EAAE,KAAK,EAAE,UAAU,EACtG,eAAe,EAAgE,OAAO,EACjD,QAAQ,EAC7B,WAAW,GAE9B,MAAM,OAAO,CAAC;AACf,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAyB,QAAQ,EAAc,wBAAwB,EAAE,4BAA4B,EACxG,gBAAgB,EAAE,aAAa,EAAE,cAAc,EACD,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA4C7C,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAMrC,YAAY,IAAsB;QAC9B,KAAK,EAAE,CAAC;QALZ,mBAAc,GAAuB,SAAS,CAAC;QAC/C,uBAAkB,GAAuB,SAAS,CAAC;QACnD,mBAAc,GAAuB,SAAS,CAAC;QAqHvC,mBAAc,GAAG,KAAK,EAAE,KAAc,EAAE,SAAsB,EAA4B,EAAE;YAChG,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAC,OAAO,EAAC,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC9D,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,iBAAiB,GAAG,KAAK,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAiB,CAAC,QAA2B,CAAC;YACrE,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC,QAA0B,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACjD,CAAC;QACL,CAAC,CAAA;QAsSO,gBAAW,GAAG,KAAK,EAAE,MAAc,EAAE,IAAa,EAA8C,EAAE;YACtG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,MAAM,GAAI,IAAI,CAAC,OAAyB,CAAC,sBAAsB,EAAE,MAAM,IAAI,EAAE,CAAC;YACpF,IAAI,WAA8C,CAAE;YACpD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACjB,WAAW,GAAG;oBACV,eAAe,EAAE,MAAM;oBACvB,mBAAmB,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;iBACnD,CAAA;YACL,CAAC;YACD,OAAO,WAAW,CAAA;QACtB,CAAC,CAAA;QAhbG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAe;QACtB,IAAI,UAAU,GAAG,KAAK,CAAC;QAAC,MAAM,MAAM,GAAc,EAAE,CAAC;QACrD,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,+BAA+B,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YACrG,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,OAAyB,CAAC,UAAU,CAAC;YACrE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAkC,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,6CAA6C,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;YACvC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,iDAAiD;gBAC1E,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;YAC/C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAA;YACzD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,wBAAwB,KAAK,SAAS,EAAE,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;YAC/C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACjE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAA;YACvD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAA;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAA;YACzD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAK,IAAI,CAAC,OAAyB,EAAE,SAAS,EAAE,CAAC;wBAC7C,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,OAAyB,CAAC,SAAU,CAAC,CAAA;oBAC3D,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAE,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,KAAK,CAAC,CAAC;gBAC9F,IAAI,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC,CAAC,4CAA4C;gBACvF,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAA;YAChD,CAAC;YAED,IAAI,OAAM,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACxE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;gBACvG,IAAI,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QACvH,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEO,aAAa;QACjB,IAAK,IAAI,CAAC,OAAyB,EAAE,OAAO,EAAE,CAAC;YAC3C,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAE,IAAI,CAAC,OAAyB,EAAE,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAgBS,KAAK,CAAC,OAAO,CAAE,GAAoB,EAAE,QAAwB,EAAE,OAAe;QACpF,IAAI,GAAyB,CAAE;QAC/B,IAAI,UAAe,CAAC;QAAE,IAAI,KAAU,CAAC;QAErC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAe,EAAE,IAAI,CAAC,kBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAkC,CAAC;YAC3E,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC3B,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC5G,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,cAAe,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAC1G,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,WAAW,IAAI,EAAE,EAAE,UAAU,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,QAAQ,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACxD,IAAI,CAAC,CAAC,EAAE,CAAC;gBACL,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,kCAAkC,GAAI,IAAI,CAAC,IAAI,CAAC,cAAsB,CAAC,OAAO,CAAC,CAAC;YAC/G,CAAC;YAED,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,cAAe,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EACvG,IAAI,CAAC,IAAI,EAAE,WAAW,IAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,QAAQ,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACN,yEAAyE;YACzE,MAAM,GAAG,GAAG,UAAU,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,QAAQ,CAAC;YAC1C,IAAI,SAAmC,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC7D,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,IAAI,IAAU,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACtC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAC9C,CAAC,CAAC,CAAC;gBAEH,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtF,IAAI,IAAI,EAAE,CAAC;oBACP,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EACrD,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAC3E,CAAC,IAAI,EAAE,OAAyB,CAAA,CAAC,OAAQ,EACzC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACjF,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC/H,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,2CAA2C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAE7G,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC5E,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAChF,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAc,EAAE,CAAA,CAAC,KAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;gBACzD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACtF,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,mDAAmD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7H,MAAM,MAAM,GAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;gBAClH,IAAI,MAAM,EAAE,CAAC;oBACT,GAAG,EAAE,0BAA0B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/E,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,2CAA2C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;gBAE9G,IAAK,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,GAAG,EAAE,CAAC;oBACxC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAC,OAAO,EAAC,CAAE,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,GAAG,CAAC,EAAC,CAAC,CAAC;oBACjF,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,KAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAI,KAAK,EAAE,CAAC;wBAC1D,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,mBAAmB,GAAI,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,GAAG,CAAC,CAAC;oBAC5F,CAAC;oBACD,GAAG,EAAE,cAAc,CAAC,CAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,CAAC;gBAC1G,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAE,IAAI,CAAC,IAAI,EAAE,YAAoB,EAAE,KAAK,CAAC,CAAC;oBAC9F,IAAI,KAAK;wBAAE,GAAG,EAAE,MAAM,CAAC,CAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;gBAC1C,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,KAAK,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,uBAAuB;gBAC1E,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;gBACrC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1D,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,2CAA2C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEjH,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CACtF,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,aAAa;oBAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,6DAA6D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBAE7J,GAAG,EAAE,QAAQ,CAAC,CAAE,EAAE,EAAC,cAAc,EAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAyB,CAAC,cAAe;oBACrG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAC,SAAS,EAAE,UAAU,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAC,EAAE,GAAG,CAAC,CAAC;YACrG,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC/H,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,2CAA2C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAE7G,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC5E,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC9E,IAAI,KAAK;oBAAG,GAAG,EAAE,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YACpD,CAAC;YAED,IAAI,SAAS,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBACrC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAG,IAAI,CAAC,IAAI,EAAE,SAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1I,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;oBAChB,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAG,IAAI,CAAC,IAAI,EAAE,SAAiB,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;gBACpJ,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC9D,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACjE,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC5G,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,cAAe,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAC1G,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,WAAW,IAAI,EAAE,EAAE,UAAU,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,QAAQ,CAAC,CAAC;gBACpG,CAAC;gBACD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBACxD,IAAI,CAAC,CAAC,EAAE,CAAC;oBACL,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,kCAAkC,GAAI,IAAI,CAAC,IAAI,CAAC,cAAsB,CAAC,OAAO,CAAC,CAAC;gBAC/G,CAAC;gBACD,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxC,MAAM,GAAG,GAA4B,EAAE,CAAC;gBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAG,CAAC,EAAE,CAAC;oBACtD,IAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBACnC,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACxD,IAAI,IAAI,EAAE,CAAC;wBACP,GAAG,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,QAAQ,EAAC,CAAC,CAAC,QAAQ,EAAC,CAAC,CAAA;oBACtE,CAAC;gBACL,CAAC;gBACD,GAAG,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBAC9B,KAAK,KAAK,CAAC;oBACX,KAAK,KAAK;wBACN,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK;4BAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;wBAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,EAAG,CAAC,EAAE,CAAC;4BACjE,IAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;4BAC9C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;4BACvD,IAAI,IAAI,EAAE,CAAC;gCACP,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;4BAClC,CAAC;wBACL,CAAC;wBACD,MAAM;oBACV,KAAK,QAAQ;wBACT,GAAG,EAAE,iBAAiB,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBACnH,MAAM;oBACV,KAAK,WAAW;wBACZ,GAAG,EAAE,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;wBACrC,MAAM;gBACd,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,wBAAwB,KAAK,SAAS,EAAE,CAAC;gBACpD,QAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC;oBAC3C,KAAK,KAAK,CAAC;oBACX,KAAK,KAAK;wBACN,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,KAAK,KAAK;4BAAE,GAAG,EAAE,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;wBACzF,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAC,OAAO,EAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,QAAQ,EAAC,IAAI,EAAC,CAAC,CAAC;wBACtG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;4BACnB,IAAI,CAAC,CAAC,IAAI,KAAI,UAAU,EAAE,CAAC;gCACvB,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAA;4BAC1E,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,QAAQ;wBACT,GAAG,EAAE,eAAe,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBAC7H,MAAM;oBACV,KAAK,WAAW;wBACZ,GAAG,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBACpC,MAAM;gBACd,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1E,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAClC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvC,QAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBAC9B,KAAK,KAAK,CAAC;oBACX,KAAK,KAAK;wBACN,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,KAAK;4BAAE,GAAG,EAAE,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;wBAC/E,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,EAAC,OAAO,EAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAC,IAAI,EAAC,CAAC,CAAC;wBAC3F,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;4BACnB,IAAI,CAAC,CAAC,IAAI,KAAI,aAAa,EAAE,CAAC;gCAC1B,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAA;4BAChF,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,QAAQ;wBACT,GAAG,EAAE,kBAAkB,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBACrH,MAAM;oBACV,KAAK,WAAW;wBACZ,GAAG,EAAE,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBACvC,MAAM;gBACd,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;oBACvG,GAAG,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBAC7H,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;oBACjD,GAAG,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC9E,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;gBACjC,QAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;oBACxB,KAAK,KAAK;wBACN,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBACjD,MAAM;oBACV,KAAK,QAAQ;wBACT,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;wBAClD,MAAM;gBACd,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC1C,QAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;oBACjC,KAAK,KAAK,CAAC;oBACX,KAAK,KAAK;wBACN,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,KAAK;4BAAG,GAAG,EAAE,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;wBAEvF,MAAM,GAAG,GAAG,EAAE,CAAA;wBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,EAAG,CAAC,EAAE,CAAC;4BAC/D,IAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC5C,MAAM,IAAI,GAAG,OAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;4BAChH,IAAI,IAAI,EAAE,CAAC;gCACP,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;gCACf,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;4BACf,CAAC;wBACL,CAAC;wBACD,GAAG,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;wBAClC,MAAM;oBACV,KAAK,QAAQ;wBACT,GAAG,EAAE,sBAAsB,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBACtH,MAAM;oBACV,KAAK,WAAW;wBACZ,GAAG,EAAE,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;wBAC1C,MAAM;gBACd,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxC,QAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;oBAC/B,KAAK,KAAK,CAAC;oBACX,KAAK,KAAK;wBACN,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAM,KAAK;4BAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;wBACnF,MAAM,GAAG,GAAG,EAAE,CAAA;wBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAG,CAAC,EAAE,CAAC;4BAC7D,IAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC1C,MAAM,IAAI,GAAG,OAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;4BAChH,IAAI,IAAI,EAAE,CAAC;gCACP,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;gCACf,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;4BACf,CAAC;wBACL,CAAC;wBACD,GAAG,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;wBAChC,MAAM;oBAEV,KAAK,QAAQ;wBACT,GAAG,EAAE,oBAAoB,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;wBAClH,MAAM;oBACV,KAAK,WAAW;wBACZ,GAAG,EAAE,oBAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;wBACxC,MAAM;gBACd,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;gBACxB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACtC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,CAAe,EAAG,IAAI,CAAC,IAAI,EAAE,SAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxK,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;YAClH,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAkC,CAAC;gBAC3E,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;YAC7G,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;YACtG,CAAC;QACL,CAAC;IACL,CAAC;CAgBJ"}