wowok 2.1.20 → 2.1.22

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 (57) hide show
  1. package/dist/cjs/w/local/account.d.ts +1 -1
  2. package/dist/cjs/w/local/account.js +15 -47
  3. package/dist/cjs/w/local/account.js.map +1 -1
  4. package/dist/cjs/w/messenger/crypto.js +31 -0
  5. package/dist/cjs/w/messenger/crypto.js.map +1 -1
  6. package/dist/cjs/w/messenger/messenger-api.d.ts +27 -4
  7. package/dist/cjs/w/messenger/messenger-api.js +191 -256
  8. package/dist/cjs/w/messenger/messenger-api.js.map +1 -1
  9. package/dist/cjs/w/messenger/messenger-manager.d.ts +39 -3
  10. package/dist/cjs/w/messenger/messenger-manager.js +194 -107
  11. package/dist/cjs/w/messenger/messenger-manager.js.map +1 -1
  12. package/dist/cjs/w/messenger/messenger.d.ts +9 -1
  13. package/dist/cjs/w/messenger/messenger.js +33 -0
  14. package/dist/cjs/w/messenger/messenger.js.map +1 -1
  15. package/dist/cjs/w/messenger/server.d.ts +2 -2
  16. package/dist/cjs/w/messenger/server.js.map +1 -1
  17. package/dist/cjs/w/messenger/session.d.ts +15 -0
  18. package/dist/cjs/w/messenger/session.js +83 -35
  19. package/dist/cjs/w/messenger/session.js.map +1 -1
  20. package/dist/cjs/w/messenger/storage.d.ts +12 -0
  21. package/dist/cjs/w/messenger/storage.js +51 -2
  22. package/dist/cjs/w/messenger/storage.js.map +1 -1
  23. package/dist/cjs/w/messenger/templates/wts-html-template.d.ts +61 -0
  24. package/dist/cjs/w/messenger/templates/wts-html-template.js +414 -0
  25. package/dist/cjs/w/messenger/templates/wts-html-template.js.map +1 -0
  26. package/dist/cjs/w/messenger/types.d.ts +9 -5
  27. package/dist/cjs/w/messenger/types.js +3 -2
  28. package/dist/cjs/w/messenger/types.js.map +1 -1
  29. package/dist/esm/w/local/account.d.ts +1 -1
  30. package/dist/esm/w/local/account.js +15 -47
  31. package/dist/esm/w/local/account.js.map +1 -1
  32. package/dist/esm/w/messenger/crypto.js +31 -0
  33. package/dist/esm/w/messenger/crypto.js.map +1 -1
  34. package/dist/esm/w/messenger/messenger-api.d.ts +27 -4
  35. package/dist/esm/w/messenger/messenger-api.js +191 -256
  36. package/dist/esm/w/messenger/messenger-api.js.map +1 -1
  37. package/dist/esm/w/messenger/messenger-manager.d.ts +39 -3
  38. package/dist/esm/w/messenger/messenger-manager.js +194 -107
  39. package/dist/esm/w/messenger/messenger-manager.js.map +1 -1
  40. package/dist/esm/w/messenger/messenger.d.ts +9 -1
  41. package/dist/esm/w/messenger/messenger.js +33 -0
  42. package/dist/esm/w/messenger/messenger.js.map +1 -1
  43. package/dist/esm/w/messenger/server.d.ts +2 -2
  44. package/dist/esm/w/messenger/server.js.map +1 -1
  45. package/dist/esm/w/messenger/session.d.ts +15 -0
  46. package/dist/esm/w/messenger/session.js +83 -35
  47. package/dist/esm/w/messenger/session.js.map +1 -1
  48. package/dist/esm/w/messenger/storage.d.ts +12 -0
  49. package/dist/esm/w/messenger/storage.js +51 -2
  50. package/dist/esm/w/messenger/storage.js.map +1 -1
  51. package/dist/esm/w/messenger/templates/wts-html-template.d.ts +61 -0
  52. package/dist/esm/w/messenger/templates/wts-html-template.js +414 -0
  53. package/dist/esm/w/messenger/templates/wts-html-template.js.map +1 -0
  54. package/dist/esm/w/messenger/types.d.ts +9 -5
  55. package/dist/esm/w/messenger/types.js +3 -2
  56. package/dist/esm/w/messenger/types.js.map +1 -1
  57. package/package.json +1 -1
@@ -114,17 +114,74 @@ export class MessengerManager {
114
114
  this.stopPolling();
115
115
  this.clear_accounts();
116
116
  }
117
- async add_account_internal(address) {
118
- const addressLower = address.toLowerCase();
117
+ /**
118
+ * 【核心方法】确保账号已初始化
119
+ * 如果未初始化,自动完成初始化
120
+ * 如果正在初始化,等待完成
121
+ */
122
+ async ensureAccountReady(address) {
123
+ const lowerAddress = address.toLowerCase();
124
+ // 1. 检查是否已在管理列表中且已初始化
125
+ const existing = this.accounts.get(lowerAddress);
126
+ if (existing?.initialized) {
127
+ return existing;
128
+ }
129
+ // 2. 如果正在初始化中,等待完成
130
+ if (existing?.initializing) {
131
+ await existing.initializing;
132
+ const ready = this.accounts.get(lowerAddress);
133
+ if (ready?.initialized) {
134
+ return ready;
135
+ }
136
+ throw new MessengerError(MessengerErrorCode.SERVER_ERROR, `Account ${address} initialization failed`);
137
+ }
138
+ // 3. 需要初始化
139
+ return this.initializeAccount(lowerAddress);
140
+ }
141
+ /**
142
+ * 初始化账号
143
+ */
144
+ async initializeAccount(address) {
145
+ const lowerAddress = address.toLowerCase();
119
146
  if (this.accounts.size >= MAX_ACCOUNTS) {
120
147
  throw new MessengerError(MessengerErrorCode.INVALID_INPUT, `Maximum ${MAX_ACCOUNTS} accounts allowed`);
121
148
  }
122
- const messenger = new Messenger(addressLower, this.config);
149
+ // 创建初始化 Promise
150
+ const initPromise = this.doInitialize(lowerAddress);
151
+ // 临时状态:正在初始化
152
+ const tempState = {
153
+ address: lowerAddress,
154
+ messenger: null, // 临时值
155
+ initialized: false,
156
+ initializing: initPromise,
157
+ contactLists: { friends: [], guards: [], lastUpdatedAt: 0 },
158
+ };
159
+ this.accounts.set(lowerAddress, tempState);
160
+ try {
161
+ await initPromise;
162
+ // 获取最终状态
163
+ const finalState = this.accounts.get(lowerAddress);
164
+ if (!finalState || !finalState.initialized) {
165
+ throw new MessengerError(MessengerErrorCode.SERVER_ERROR, `Account ${address} initialization failed`);
166
+ }
167
+ return finalState;
168
+ }
169
+ catch (error) {
170
+ // 初始化失败,移除临时状态
171
+ this.accounts.delete(lowerAddress);
172
+ throw error;
173
+ }
174
+ }
175
+ /**
176
+ * 执行实际的初始化
177
+ */
178
+ async doInitialize(address) {
179
+ const messenger = new Messenger(address, this.config);
123
180
  try {
124
181
  await messenger.initialize();
125
182
  }
126
183
  catch (error) {
127
- throw new MessengerError(MessengerErrorCode.SERVER_ERROR, `Failed to initialize account ${addressLower}: ${error instanceof Error ? error.message : String(error)}`);
184
+ throw new MessengerError(MessengerErrorCode.SERVER_ERROR, `Failed to initialize account ${address}: ${error instanceof Error ? error.message : String(error)}`);
128
185
  }
129
186
  // 添加延迟避免服务器限流(429 Too Many Requests)
130
187
  await sleep(1000);
@@ -133,16 +190,18 @@ export class MessengerManager {
133
190
  guards: [],
134
191
  lastUpdatedAt: 0,
135
192
  };
136
- this.accounts.set(addressLower, {
137
- address: addressLower,
193
+ // 更新为完成状态
194
+ this.accounts.set(address, {
195
+ address,
138
196
  messenger,
139
197
  initialized: true,
140
198
  contactLists,
141
199
  });
200
+ // 如果正在运行,设置回调和轮询
142
201
  if (this.isWatching) {
143
- const hasLock = this.persistStorage.tryAcquirePollingLock(addressLower, this.instanceId);
202
+ const hasLock = this.persistStorage.tryAcquirePollingLock(address, this.instanceId);
144
203
  if (hasLock) {
145
- this.pollingLockedAccounts.add(addressLower);
204
+ this.pollingLockedAccounts.add(address);
146
205
  messenger.setOnMessageCallback((messages) => {
147
206
  for (const listener of this.messageListeners) {
148
207
  listener(messages);
@@ -151,6 +210,10 @@ export class MessengerManager {
151
210
  }
152
211
  }
153
212
  }
213
+ async add_account_internal(address) {
214
+ // 【修改】使用 ensureAccountReady 统一处理
215
+ await this.ensureAccountReady(address);
216
+ }
154
217
  remove_account_internal(address) {
155
218
  const addressLower = address.toLowerCase();
156
219
  const account = this.accounts.get(addressLower);
@@ -172,27 +235,24 @@ export class MessengerManager {
172
235
  }
173
236
  async send(from, to, content, options) {
174
237
  const { Account } = await import("../local/account.js");
175
- let accountInfo = this.findAccount(from);
176
- if (!accountInfo) {
177
- const account = await Account.Instance().get(from, false);
178
- if (!account) {
179
- throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `Account ${from} not found`);
180
- }
181
- if (account.m == null) {
182
- if (options?.new_messenger_name == null) {
183
- throw new MessengerError(MessengerErrorCode.ACCOUNT_MESSENGER_NOT_ENABLED, `Account messenger name not set. Use new_messenger_name parameter to set it automatically.`);
184
- }
185
- await Account.Instance().set_messenger(from, options.new_messenger_name);
186
- }
187
- await this.refresh_accounts();
188
- accountInfo = this.findAccount(from);
189
- if (!accountInfo) {
190
- throw new MessengerError(MessengerErrorCode.SERVER_ERROR, `Failed to add account ${from} to messenger manager`);
238
+ // 【修改】检查账号是否存在且有 messenger
239
+ const account = await Account.Instance().get(from, false);
240
+ if (!account) {
241
+ throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `Account ${from} not found`);
242
+ }
243
+ // 如果没有 messenger 名称,尝试自动设置
244
+ if (account.m == null) {
245
+ if (options?.new_messenger_name == null) {
246
+ throw new MessengerError(MessengerErrorCode.ACCOUNT_MESSENGER_NOT_ENABLED, `Account messenger name not set. Use new_messenger_name parameter to set it automatically.`);
191
247
  }
248
+ await Account.Instance().set_messenger(from, options.new_messenger_name);
192
249
  }
250
+ // 【关键】确保账号已就绪(自动初始化)
251
+ const accountInfo = await this.ensureAccountReady(from);
193
252
  if (options?.new_messenger_name != null) {
194
- const account = await Account.Instance().get(from, false);
195
- if (account && account.m !== options.new_messenger_name) {
253
+ const currentAccount = await Account.Instance().get(from, false);
254
+ if (currentAccount &&
255
+ currentAccount.m !== options.new_messenger_name) {
196
256
  await Account.Instance().set_messenger(from, options.new_messenger_name);
197
257
  }
198
258
  }
@@ -204,27 +264,24 @@ export class MessengerManager {
204
264
  }
205
265
  async send_file(from, to, filePath, options) {
206
266
  const { Account } = await import("../local/account.js");
207
- let accountInfo = this.findAccount(from);
208
- if (!accountInfo) {
209
- const account = await Account.Instance().get(from, false);
210
- if (!account) {
211
- throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `Account ${from} not found`);
212
- }
213
- if (account.m == null) {
214
- if (options?.new_messenger_name == null) {
215
- throw new MessengerError(MessengerErrorCode.ACCOUNT_MESSENGER_NOT_ENABLED, `Account messenger name not set. Use new_messenger_name parameter to set it automatically.`);
216
- }
217
- await Account.Instance().set_messenger(from, options.new_messenger_name);
218
- }
219
- await this.refresh_accounts();
220
- accountInfo = this.findAccount(from);
221
- if (!accountInfo) {
222
- throw new MessengerError(MessengerErrorCode.SERVER_ERROR, `Failed to add account ${from} to messenger manager`);
267
+ // 【修改】检查账号是否存在且有 messenger
268
+ const account = await Account.Instance().get(from, false);
269
+ if (!account) {
270
+ throw new MessengerError(MessengerErrorCode.IDENTITY_NOT_FOUND, `Account ${from} not found`);
271
+ }
272
+ // 如果没有 messenger 名称,尝试自动设置
273
+ if (account.m == null) {
274
+ if (options?.new_messenger_name == null) {
275
+ throw new MessengerError(MessengerErrorCode.ACCOUNT_MESSENGER_NOT_ENABLED, `Account messenger name not set. Use new_messenger_name parameter to set it automatically.`);
223
276
  }
277
+ await Account.Instance().set_messenger(from, options.new_messenger_name);
224
278
  }
279
+ // 【关键】确保账号已就绪(自动初始化)
280
+ const accountInfo = await this.ensureAccountReady(from);
225
281
  if (options?.new_messenger_name != null) {
226
- const account = await Account.Instance().get(from, false);
227
- if (account && account.m !== options.new_messenger_name) {
282
+ const currentAccount = await Account.Instance().get(from, false);
283
+ if (currentAccount &&
284
+ currentAccount.m !== options.new_messenger_name) {
228
285
  await Account.Instance().set_messenger(from, options.new_messenger_name);
229
286
  }
230
287
  }
@@ -365,6 +422,10 @@ export class MessengerManager {
365
422
  if (filter.decryptedOnly && !msg.plaintext) {
366
423
  return false;
367
424
  }
425
+ if (filter.confirmedOnly &&
426
+ msg.status !== MessageStatus.CONFIRMED) {
427
+ return false;
428
+ }
368
429
  if (filter.arkConfirmedOnly) {
369
430
  if (!msg.arkConfirmed) {
370
431
  return false;
@@ -510,21 +571,11 @@ export class MessengerManager {
510
571
  };
511
572
  }
512
573
  try {
513
- const { Account } = await import("../local/account.js");
514
- const accountData = await Account.Instance().get(account, false);
515
- if (!accountData?.address) {
516
- return {
517
- success: false,
518
- friends: [],
519
- guards: [],
520
- error: `Account data not found: ${account}`,
521
- };
522
- }
523
- const address = accountData.address;
524
- const [friends, guards] = await Promise.all([
525
- this.fetchFriendsList(address),
526
- this.fetchGuardList(address),
574
+ const [friends, guardResponse] = await Promise.all([
575
+ acc.messenger.getFriendsList(),
576
+ acc.messenger.getGuardList(),
527
577
  ]);
578
+ const guards = guardResponse.currentGuardList || [];
528
579
  acc.contactLists = {
529
580
  friends,
530
581
  guards,
@@ -594,48 +645,6 @@ export class MessengerManager {
594
645
  }
595
646
  return true;
596
647
  }
597
- async fetchFriendsList(address) {
598
- try {
599
- const response = await fetch(`${this.config.serverUrl}/v1/spam-protection/${address}/friends-list`, {
600
- method: "POST",
601
- headers: { "Content-Type": "application/json" },
602
- body: JSON.stringify({
603
- userAddress: address,
604
- signature: "",
605
- timestamp: Date.now(),
606
- nonce: this.generateNonce(),
607
- }),
608
- });
609
- if (!response.ok) {
610
- throw new Error(`HTTP ${response.status}`);
611
- }
612
- return (await response.json());
613
- }
614
- catch (error) {
615
- return [];
616
- }
617
- }
618
- async fetchGuardList(address) {
619
- try {
620
- const response = await fetch(`${this.config.serverUrl}/v1/spam-protection/${address}/guard-list`, {
621
- method: "POST",
622
- headers: { "Content-Type": "application/json" },
623
- body: JSON.stringify({
624
- userAddress: address,
625
- signature: "",
626
- timestamp: Date.now(),
627
- nonce: this.generateNonce(),
628
- }),
629
- });
630
- if (!response.ok) {
631
- throw new Error(`HTTP ${response.status}`);
632
- }
633
- return (await response.json());
634
- }
635
- catch (error) {
636
- return [];
637
- }
638
- }
639
648
  generateNonce() {
640
649
  return (Math.random().toString(36).substring(2, 15) +
641
650
  Math.random().toString(36).substring(2, 15));
@@ -742,6 +751,26 @@ export class MessengerManager {
742
751
  if (messages.length === 0) {
743
752
  throw new MessengerError(MessengerErrorCode.INVALID_INPUT, "No messages found for the given criteria");
744
753
  }
754
+ // 【新增】检查leafIndex连续性
755
+ const sortedLeafIndices = messages
756
+ .map((m) => m.leafIndex)
757
+ .filter((i) => i !== undefined)
758
+ .sort((a, b) => a - b);
759
+ const missingIndices = [];
760
+ for (let i = 1; i < sortedLeafIndices.length; i++) {
761
+ const expected = sortedLeafIndices[i - 1] + 1;
762
+ const actual = sortedLeafIndices[i];
763
+ if (actual !== expected) {
764
+ for (let j = expected; j < actual; j++) {
765
+ missingIndices.push(j);
766
+ }
767
+ }
768
+ }
769
+ if (missingIndices.length > 0) {
770
+ console.warn(`[generate_wts] Warning: Missing leafIndices ${missingIndices.join(", ")}. ` +
771
+ `WTS will contain non-continuous message sequence. ` +
772
+ `Verification may fail if strict continuity check is enabled.`);
773
+ }
745
774
  if (messages.length > WTS_MAX_MESSAGE_COUNT) {
746
775
  throw new MessengerError(MessengerErrorCode.INVALID_INPUT, `Message count (${messages.length}) exceeds maximum allowed (${WTS_MAX_MESSAGE_COUNT})`);
747
776
  }
@@ -749,16 +778,51 @@ export class MessengerManager {
749
778
  fs.mkdirSync(outputDir, { recursive: true });
750
779
  }
751
780
  const sessionId = `${myAddress.slice(0, 6)}_${peerAddress.slice(0, 6)}`;
752
- const groups = [messages];
781
+ // 【关键修复】按leafIndex连续性分组,且每组不超过 WTS_MAX_MESSAGE_COUNT
782
+ // 每个组的leafIndex必须是连续的,否则验证会失败
783
+ const groups = [];
784
+ let currentGroup = [];
785
+ for (let i = 0; i < messages.length; i++) {
786
+ const msg = messages[i];
787
+ if (currentGroup.length === 0) {
788
+ // 开始新组
789
+ currentGroup.push(msg);
790
+ }
791
+ else {
792
+ const lastMsg = currentGroup[currentGroup.length - 1];
793
+ const expectedLeafIndex = lastMsg.leafIndex + 1;
794
+ // 检查是否超过最大消息数限制或leafIndex不连续
795
+ if (currentGroup.length >= WTS_MAX_MESSAGE_COUNT ||
796
+ msg.leafIndex !== expectedLeafIndex) {
797
+ // 结束当前组并开始新组
798
+ groups.push(currentGroup);
799
+ currentGroup = [msg];
800
+ }
801
+ else {
802
+ // leafIndex连续且未超过限制,加入当前组
803
+ currentGroup.push(msg);
804
+ }
805
+ }
806
+ }
807
+ // 添加最后一组
808
+ if (currentGroup.length > 0) {
809
+ groups.push(currentGroup);
810
+ }
811
+ console.log(`[generate_wts] Grouped ${messages.length} messages into ${groups.length} continuous group(s)`);
812
+ groups.forEach((group, idx) => {
813
+ const leafIndices = group.map((m) => m.leafIndex).join(", ");
814
+ console.log(` Group ${idx + 1}: leafIndices [${leafIndices}]`);
815
+ });
753
816
  const generatedFiles = [];
754
- const startTime = messages[0].createdAt;
755
- const endTime = messages[messages.length - 1].createdAt;
756
817
  for (const group of groups) {
757
818
  const leafIndices = group
758
819
  .map((m) => m.leafIndex)
759
820
  .filter((i) => i !== undefined);
760
821
  const startLeafIndex = Math.min(...leafIndices);
761
822
  const endLeafIndex = Math.max(...leafIndices);
823
+ // 为每个组计算独立的startTime和endTime
824
+ const startTime = group[0].createdAt;
825
+ const endTime = group[group.length - 1].createdAt;
762
826
  for (const msg of group) {
763
827
  if (msg.serverTimestamp === undefined) {
764
828
  throw new MessengerError(MessengerErrorCode.INVALID_INPUT, `Message ${msg.messageId} missing serverTimestamp`);
@@ -821,7 +885,6 @@ export class MessengerManager {
821
885
  });
822
886
  const addresses = [myAddress, peerAddress].sort();
823
887
  const wtsSession = {
824
- id: `${addresses[0]}:${addresses[1]}`,
825
888
  participants: addresses,
826
889
  };
827
890
  const payload = {
@@ -844,9 +907,10 @@ export class MessengerManager {
844
907
  endTime,
845
908
  messageCount: wtsMessages.length,
846
909
  merkleRoot: wtsMessages[wtsMessages.length - 1].merkleRoot,
910
+ creator: myAddress,
911
+ participant: peerAddress,
847
912
  };
848
913
  const wtsFile = {
849
- wts: canonicalizeJson(wtsMeta),
850
914
  payload,
851
915
  meta: wtsMeta,
852
916
  };
@@ -855,12 +919,15 @@ export class MessengerManager {
855
919
  fs.writeFileSync(filePath, JSON.stringify(wtsFile, null, 2));
856
920
  generatedFiles.push(filePath);
857
921
  }
922
+ // 计算所有组的总体时间范围
923
+ const overallStartTime = messages[0]?.createdAt || 0;
924
+ const overallEndTime = messages[messages.length - 1]?.createdAt || 0;
858
925
  return {
859
926
  files: generatedFiles,
860
927
  totalMessageCount: messages.length,
861
928
  timeRange: {
862
- start: startTime,
863
- end: endTime,
929
+ start: overallStartTime,
930
+ end: overallEndTime,
864
931
  },
865
932
  };
866
933
  }
@@ -955,5 +1022,25 @@ export class MessengerManager {
955
1022
  }
956
1023
  return acc.messenger.getGuardList();
957
1024
  }
1025
+ /**
1026
+ * 获取用户设置
1027
+ */
1028
+ async getSettings(account) {
1029
+ const acc = this.findAccount(account);
1030
+ if (!acc) {
1031
+ throw new MessengerError(MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
1032
+ }
1033
+ return acc.messenger.getSettings();
1034
+ }
1035
+ /**
1036
+ * 更新用户设置
1037
+ */
1038
+ async setSettings(account, settings) {
1039
+ const acc = this.findAccount(account);
1040
+ if (!acc) {
1041
+ throw new MessengerError(MessengerErrorCode.ACCOUNT_NOT_FOUND, `Account ${account} not in managed accounts`);
1042
+ }
1043
+ return acc.messenger.setSettings(settings);
1044
+ }
958
1045
  }
959
1046
  //# sourceMappingURL=messenger-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messenger-manager.js","sourceRoot":"","sources":["../../../../src/w/messenger/messenger-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messenger-manager.js","sourceRoot":"","sources":["../../../../src/w/messenger/messenger-manager.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,sCAAsC;AAEtC;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAkB/E,OAAO,EACN,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAE5C,UAAU;AACV,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAC3C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAgBnD,MAAM,OAAO,gBAAgB;IACpB,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC/C,MAAM,CAAkB;IACxB,gBAAgB,GACvB,IAAI,GAAG,EAAE,CAAC;IACH,UAAU,GAAY,KAAK,CAAC;IAC5B,cAAc,CAA0B;IACxC,UAAU,CAAS;IACnB,mBAAmB,GAA0B,IAAI,CAAC;IAClD,qBAAqB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEvD,YAAY,OAAiC;QAC5C,IAAI,CAAC,MAAM,GAAG;YACb,GAAG,wBAAwB;YAC3B,GAAG,OAAO,EAAE,eAAe;SAC3B,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,SAAS,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACrD,CAAC;IAEO,WAAW,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,YAAY;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACxD,MAAM,iBAAiB,GACtB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,uBAAuB,EAAE,CAAC;QAEpD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,GAAG,CAC3B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACrD,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACxC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CACZ,yBAAyB,YAAY,wBAAwB,EAC7D,KAAK,CACL,CAAC;oBACF,YAAY;gBACb,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK;QACV,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACxD,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,UAAU,CACf,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACnD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC9C,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACpB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CACZ,0CAA0C,OAAO,CAAC,OAAO,EAAE,CAC3D,CAAC;YACH,CAAC;QACF,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC;IAED,IAAI;QACH,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzD,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACrC,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;QACH,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACvC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAE3C,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,WAAW,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;YAC5B,MAAM,QAAQ,CAAC,YAAY,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE,WAAW,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,YAAY,EAC/B,WAAW,OAAO,wBAAwB,CAC1C,CAAC;QACH,CAAC;QAED,WAAW;QACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAe;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;YACxC,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,aAAa,EAChC,WAAW,YAAY,mBAAmB,CAC1C,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAEpD,aAAa;QACb,MAAM,SAAS,GAAgB;YAC9B,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,IAAW,EAAE,MAAM;YAC9B,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;SAC3D,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE3C,IAAI,CAAC;YACJ,MAAM,WAAW,CAAC;YAElB,SAAS;YACT,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5C,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,YAAY,EAC/B,WAAW,OAAO,wBAAwB,CAC1C,CAAC;YACH,CAAC;YACD,OAAO,UAAU,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,eAAe;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnC,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,OAAe;QACzC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC;YACJ,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,YAAY,EAC/B,gCAAgC,OAAO,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpG,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAElB,MAAM,YAAY,GAAiB;YAClC,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,CAAC;SAChB,CAAC;QAEF,UAAU;QACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE;YAC1B,OAAO;YACP,SAAS;YACT,WAAW,EAAE,IAAI;YACjB,YAAY;SACZ,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACxD,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxC,SAAS,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAC3C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC9C,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACpB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAAe;QACjD,iCAAiC;QACjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEO,uBAAuB,CAAC,OAAe;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAC9C,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,cAAc;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI,CACT,IAAY,EACZ,EAAU,EACV,OAAe,EACf,OAKC;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAExD,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,kBAAkB,EACrC,WAAW,IAAI,YAAY,CAC3B,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,EAAE,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBACzC,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,6BAA6B,EAChD,2FAA2F,CAC3F,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CACrC,IAAI,EACJ,OAAO,CAAC,kBAAkB,CAC1B,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,OAAO,EAAE,kBAAkB,IAAI,IAAI,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjE,IACC,cAAc;gBACd,cAAc,CAAC,CAAC,KAAK,OAAO,CAAC,kBAAkB,EAC9C,CAAC;gBACF,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CACrC,IAAI,EACJ,OAAO,CAAC,kBAAkB,CAC1B,CAAC;YACH,CAAC;QACF,CAAC;QAED,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE;YACrD,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,eAAe,EAAE,OAAO,EAAE,eAAe;YACzC,KAAK,EAAE,OAAO,EAAE,KAAK;SACrB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACd,IAAY,EACZ,EAAU,EACV,QAAgB,EAChB,OAOC;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAExD,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,kBAAkB,EACrC,WAAW,IAAI,YAAY,CAC3B,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,EAAE,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBACzC,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,6BAA6B,EAChD,2FAA2F,CAC3F,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CACrC,IAAI,EACJ,OAAO,CAAC,kBAAkB,CAC1B,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,OAAO,EAAE,kBAAkB,IAAI,IAAI,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjE,IACC,cAAc;gBACd,cAAc,CAAC,CAAC,KAAK,OAAO,CAAC,kBAAkB,EAC9C,CAAC;gBACF,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,CACrC,IAAI,EACJ,OAAO,CAAC,kBAAkB,CAC1B,CAAC;YACH,CAAC;QACF,CAAC;QAED,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE;YACtD,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,eAAe,EAAE,OAAO,EAAE,eAAe;YACzC,KAAK,EAAE,OAAO,EAAE,KAAK;SACrB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAsB;QACjC,IAAI,QAAQ,GAAc,EAAE,CAAC;QAE7B,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAE7C,yEAAyE;YACzE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,WAAW,EAAE,SAAS,EAAE,CAAC;gBAC5B,MAAM,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC5C,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;YACnD,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACP,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClD,iCAAiC;gBACjC,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;oBAC3B,MAAM,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;gBAC5C,CAAC;gBAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC/D,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CACpD,WAAW,CAAC,OAAO,CACnB,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;gBACrC,CAAC,CAAC,MAAM,wBAAwB,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpD,CAAC,CAAC,SAAS,CAAC;YAEb,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClC,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAClD,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBAChD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBAC5C,IACC,SAAS,KAAK,YAAY;wBAC1B,OAAO,KAAK,YAAY,EACvB,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC5D,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnD,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,IACC,MAAM,CAAC,OAAO,KAAK,SAAS;oBAC5B,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAC7B,CAAC;oBACF,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACxB,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC;wBAC5B,KAAK,MAAM;4BACV,IAAI,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,cAAc;gCAC7C,OAAO,KAAK,CAAC;4BACd,MAAM;wBACP,KAAK,KAAK;4BACT,IAAI,CAAC,GAAG,CAAC,WAAW;gCAAE,OAAO,KAAK,CAAC;4BACnC,MAAM;wBACP,KAAK,KAAK;4BACT,IACC,CAAC,GAAG,CAAC,WAAW;gCAChB,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,KAAK,EACrC,CAAC;gCACF,OAAO,KAAK,CAAC;4BACd,CAAC;4BACD,MAAM;wBACP,KAAK,KAAK;4BACT,IACC,CAAC,GAAG,CAAC,WAAW;gCAChB,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,KAAK,EACrC,CAAC;gCACF,OAAO,KAAK,CAAC;4BACd,CAAC;4BACD,MAAM;oBACR,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBAC3C,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACvC,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;wBAClC,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC;gBAClD,IACC,MAAM,CAAC,SAAS,KAAK,SAAS;oBAC9B,MAAM,CAAC,OAAO,KAAK,SAAS,EAC3B,CAAC;oBACF,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC3B,IACC,MAAM,CAAC,SAAS,KAAK,SAAS;4BAC9B,OAAO,GAAG,MAAM,CAAC,SAAS,EACzB,CAAC;4BACF,OAAO,KAAK,CAAC;wBACd,CAAC;wBACD,IACC,MAAM,CAAC,OAAO,KAAK,SAAS;4BAC5B,OAAO,GAAG,MAAM,CAAC,OAAO,EACvB,CAAC;4BACF,OAAO,KAAK,CAAC;wBACd,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IACC,MAAM,CAAC,cAAc,KAAK,SAAS;oBACnC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,cAAc,EACpC,CAAC;oBACF,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,IACC,MAAM,CAAC,YAAY,KAAK,SAAS;oBACjC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAClC,CAAC;oBACF,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBAC1C,IACC,GAAG,CAAC,UAAU,KAAK,SAAS;wBAC5B,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,eAAe,EACtC,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACxC,IACC,GAAG,CAAC,UAAU,KAAK,SAAS;wBAC5B,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,EACpC,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBAC/C,IACC,GAAG,CAAC,eAAe,KAAK,SAAS;wBACjC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,oBAAoB,EAChD,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBACD,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBAC7C,IACC,GAAG,CAAC,eAAe,KAAK,SAAS;wBACjC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,kBAAkB,EAC9C,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;oBAC5C,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,IACC,MAAM,CAAC,aAAa;oBACpB,GAAG,CAAC,MAAM,KAAK,aAAa,CAAC,SAAS,EACrC,CAAC;oBACF,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;wBACvB,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACxB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;wBAChB,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBAC5C,IACC,GAAG,CAAC,YAAY,KAAK,SAAS;wBAC9B,GAAG,CAAC,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,iBAAiB,EACpD,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBAC1C,IACC,GAAG,CAAC,YAAY,KAAK,SAAS;wBAC9B,GAAG,CAAC,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,eAAe,EAClD,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;oBACrC,IACC,GAAG,CAAC,qBAAqB,KAAK,SAAS;wBACvC,GAAG,CAAC,qBAAqB,KAAK,IAAI,EACjC,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBAC/C,IACC,GAAG,CAAC,qBAAqB,KAAK,SAAS;wBACvC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,EACtD,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBACD,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBAC/C,IACC,GAAG,CAAC,qBAAqB,KAAK,SAAS;wBACvC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,EACtD,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBACrC,IACC,CAAC,GAAG,CAAC,SAAS;yBACZ,WAAW,EAAE;yBACb,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EACvC,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;oBAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACnD,IAAI,CAAC,UAAU;wBAAE,OAAO,KAAK,CAAC;oBAE9B,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBACpD,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC;oBACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACzC,CAAC;oBACF,MAAM,MAAM,GAAG,IAAI,GAAG,CACrB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CACrD,CAAC;oBAEF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC;oBAE3C,QAAQ,MAAM,CAAC,cAAc,EAAE,CAAC;wBAC/B,KAAK,SAAS;4BACb,IAAI,CAAC,SAAS;gCAAE,OAAO,KAAK,CAAC;4BAC7B,MAAM;wBACP,KAAK,OAAO;4BACX,IAAI,CAAC,QAAQ;gCAAE,OAAO,KAAK,CAAC;4BAC5B,MAAM;wBACP,KAAK,UAAU;4BACd,IAAI,CAAC,UAAU;gCAAE,OAAO,KAAK,CAAC;4BAC9B,MAAM;oBACR,CAAC;oBAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC7B,MAAM,EACL,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,GAAG,OAAO,GAClB,GAAG,MAAM,CAAC,gBAAgB,CAAC;wBAE5B,IAAI,gBAAgB,EAAE,CAAC;4BACtB,MAAM,UAAU,GAAG,IAAI,GAAG,CACzB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC5C,CAAC;4BACF,IAAI,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;gCAAE,OAAO,KAAK,CAAC;wBACjD,CAAC;wBAED,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CACzB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC5C,CAAC;4BACF,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BAEpD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gCAC1B,MAAM,SAAS,GACd,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;oCACnC,SAAS,CAAC;oCACX,CAAC,MAAM,CAAC,cAAc,KAAK,OAAO;wCACjC,QAAQ,CAAC;oCACV,CAAC,MAAM,CAAC,cAAc,KAAK,UAAU;wCACpC,UAAU,CAAC,CAAC;gCACd,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS;oCAAE,OAAO,KAAK,CAAC;4BAChD,CAAC;iCAAM,CAAC;gCACP,IAAI,CAAC,aAAa;oCAAE,OAAO,KAAK,CAAC;4BAClC,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,WAAW,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,MAAM,KAAK,GAAI,CAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,KAAK,GAAI,CAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QACnC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QAElD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEO,YAAY;QACnB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,CAAC;IAEO,WAAW;QAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,QAAgD;QACzD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,QAAgD;QAC1D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,sBAAsB,OAAO,EAAE;aACtC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE;gBAC9B,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE;aAC5B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAEpD,GAAG,CAAC,YAAY,GAAG;gBAClB,OAAO;gBACP,MAAM;gBACN,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;aACzB,CAAC;YAEF,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,MAAM;aACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CACZ,oCAAoC,OAAO,GAAG,EAC9C,KAAK,CACL,CAAC;YACF,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO;gBACjC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM;gBAC/B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,mBAAmB;QACxB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkC,CAAC;QAE1D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,OAAe;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE,YAAY,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,OAAe,EAAE,KAA4B;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAEvB,GAAG,CAAC,YAAY,GAAG;YAClB,GAAG,GAAG,CAAC,YAAY;YACnB,GAAG,KAAK;YACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;SACzB,CAAC;QAEF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,UAAU,CAAC,OAAe,EAAE,aAAqB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC;QAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,MAAM,CAC9C,CAAC;QAEF,OAAO,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,iBAAiB,CAAC,OAAe,EAAE,YAAoB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAEvB,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,SAAS,CACjD,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,YAAY,EAAE,YAAY;gBAC1B,uBAAuB,EAAE,KAAK;aAC9B,CAAC,CAAC;YACH,GAAG,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,aAAa;QACpB,OAAO,CACN,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,MAA6C;QAE7C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QAE3D,OAAO;YACN,QAAQ;YACR,KAAK;YACL,MAAM;YACN,KAAK;SACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAgB;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;QAE1D,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC;YACzC,MAAM,WAAW,GAChB,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,SAAS;gBAC1C,CAAC,CAAC,GAAG,CAAC,SAAS;gBACf,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;YAEpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE;oBAC9B,WAAW;oBACX,aAAa,EAAE,GAAG,CAAC,SAAS;oBAC5B,YAAY,EAAE,CAAC;oBACf,WAAW,EAAE,CAAC;oBACd,kBAAkB,EAAE,GAAG,CAAC,SAAS;iBACjC,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,IAAI,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC;gBACnC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC;YACzC,CAAC;YAED,IACC,GAAG,CAAC,MAAM,KAAK,aAAa,CAAC,IAAI;gBACjC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,EACxC,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,SAAiB,EACjB,SAAiB,EACjB,WAAmB,EACnB,KAAgB,EAChB,gBAA0B;QAE1B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAE9C,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE5D,IAAI,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,SAAS,GACd,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,WAAW,CAAC;gBACpD,CAAC,SAAS,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,QAAQ,GAAG,QAAQ;aACjB,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,SAAS,KAAK,SAAS;YACzB,CAAC,CAAC,eAAe,KAAK,SAAS,CAChC;aACA,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,EAAe,CAAC;aAClB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACd,wCAAwC;YACxC,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAgB,GAAG,CAAC,CAAC,eAAgB,CAAC;YACzD,IAAI,QAAQ,KAAK,CAAC;gBAAE,OAAO,QAAQ,CAAC;YACpC,OAAO,CAAC,CAAC,SAAU,GAAG,CAAC,CAAC,SAAU,CAAC;QACpC,CAAC,CAAC,CAAC;QAEJ,IAAI,KAAK,EAAE,CAAC;YACX,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC7C,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CACjD,CAAC;oBACF,MAAM;gBACP,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBAClB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;oBACtB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CACjD,CAAC;oBACF,MAAM;gBACP,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC7C,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAU,IAAI,KAAK,IAAI,CAAC,CAAC,SAAU,IAAI,GAAG,CACnD,CAAC;oBACF,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,aAAa,EAChC,0CAA0C,CAC1C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,iBAAiB,GAAG,QAAQ;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExB,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CACX,+CAA+C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC3E,oDAAoD;gBACpD,8DAA8D,CAC/D,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC7C,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,aAAa,EAChC,kBAAkB,QAAQ,CAAC,MAAM,8BAA8B,qBAAqB,GAAG,CACvF,CAAC;QACH,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAExE,qDAAqD;QACrD,8BAA8B;QAC9B,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,IAAI,YAAY,GAAc,EAAE,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO;gBACP,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACP,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAU,GAAG,CAAC,CAAC;gBAEjD,6BAA6B;gBAC7B,IACC,YAAY,CAAC,MAAM,IAAI,qBAAqB;oBAC5C,GAAG,CAAC,SAAS,KAAK,iBAAiB,EAClC,CAAC;oBACF,aAAa;oBACb,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC1B,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACP,0BAA0B;oBAC1B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;QAED,SAAS;QACT,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,GAAG,CACV,0BAA0B,QAAQ,CAAC,MAAM,kBAAkB,MAAM,CAAC,MAAM,sBAAsB,CAC9F,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,kBAAkB,WAAW,GAAG,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,KAAK;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;iBACvB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;YAE9C,6BAA6B;YAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAElD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,aAAa,EAChC,WAAW,GAAG,CAAC,SAAS,0BAA0B,CAClD,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,aAAa,EAChC,WAAW,GAAG,CAAC,SAAS,oBAAoB,CAC5C,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACnB,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,aAAa,EAChC,WAAW,GAAG,CAAC,SAAS,mBAAmB,CAC3C,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,aAAa,EAChC,WAAW,GAAG,CAAC,SAAS,kBAAkB,CAC1C,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;oBAC1B,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,aAAa,EAChC,WAAW,GAAG,CAAC,SAAS,0BAA0B,CAClD,CAAC;gBACH,CAAC;YACF,CAAC;YAED,MAAM,WAAW,GAAiB,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnD,MAAM,UAAU,GAAwB;oBACvC,EAAE,EAAE,GAAG,CAAC,SAAS;oBACjB,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,EAAE,EAAE,GAAG,CAAC,SAAS;oBACjB,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,eAAe,EAAE,GAAG,CAAC,SAAS;oBAC9B,SAAS,EAAE,GAAG,CAAC,eAAgB;oBAC/B,SAAS,EAAE,GAAG,CAAC,SAAU;oBACzB,QAAQ,EAAE,GAAG,CAAC,QAAS;oBACvB,UAAU,EAAE,GAAG,CAAC,OAAQ;oBACxB,eAAe,EAAE,GAAG,CAAC,eAAgB;oBACrC,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE;oBAC1C,OAAO,EAAE,GAAG,CAAC,OAAO;iBACpB,CAAC;gBACF,qBAAqB;gBACrB,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACtD,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;gBACtC,CAAC;gBACD,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACpC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;gBAC5C,CAAC;gBACD,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBACvC,UAAU,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;gBAClD,CAAC;gBACD,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACpC,UAAU,CAAC,YAAY,GAAG;wBACzB,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,SAAS;wBACrC,kBAAkB,EAAE,GAAG,CAAC,YAAY,CAAC,kBAAkB;wBACvD,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,SAAS;wBACrC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,SAAS;qBACrC,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACnC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;gBAC1C,CAAC;gBACD,IACC,GAAG,CAAC,qBAAqB,KAAK,SAAS;oBACvC,GAAG,CAAC,qBAAqB,KAAK,CAAC,CAAC,EAC/B,CAAC;oBACF,UAAU,CAAC,qBAAqB;wBAC/B,GAAG,CAAC,qBAAqB,CAAC;gBAC5B,CAAC;gBACD,OAAO,UAAwB,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG;gBAClB,YAAY,EAAE,SAAS;aACvB,CAAC;YAEF,MAAM,OAAO,GAAG;gBACf,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,WAAW;aACrB,CAAC;YAEF,oBAAoB;YACpB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACxD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAE3D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,WAAW,GAChB,SAAS;gBACT,UAAU,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAEhE,MAAM,OAAO,GAAG;gBACf,IAAI,EAAE,KAAc;gBACpB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjC,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,QAAiB;gBAC5B,SAAS;gBACT,OAAO;gBACP,YAAY,EAAE,WAAW,CAAC,MAAM;gBAChC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU;gBAC1D,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,WAAW;aACxB,CAAC;YAEF,MAAM,OAAO,GAAG;gBACf,OAAO;gBACP,IAAI,EAAE,OAAO;aACb,CAAC;YAEF,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,cAAc,IAAI,YAAY,MAAM,CAAC;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,eAAe;QACf,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC;QAErE,OAAO;YACN,KAAK,EAAE,cAAc;YACrB,iBAAiB,EAAE,QAAQ,CAAC,MAAM;YAClC,SAAS,EAAE;gBACV,KAAK,EAAE,gBAAgB;gBACvB,GAAG,EAAE,cAAc;aACnB;SACD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,OAAe,EACf,SAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACxB,OAAe,EACf,SAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,OAAe,EACf,SAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,OAAe,EACf,SAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAC1B,OAAe,EACf,SAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACvB,OAAe,EACf,SAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAa;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,mBAAmB,CACxB,OAAe,EACf,SAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAChB,OAAe,EACf,QAAwC;QAExC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,cAAc,CACvB,kBAAkB,CAAC,iBAAiB,EACpC,WAAW,OAAO,0BAA0B,CAC5C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACD"}
@@ -1,5 +1,5 @@
1
1
  import type { CallEnv } from "../common.js";
2
- import type { MessengerConfig, Message, SendMessageResult, DecryptedMessage, ZipContentType, ListOperationResponse, GuardListItem, PreKeyStatus } from "./types.js";
2
+ import type { MessengerConfig, Message, SendMessageResult, DecryptedMessage, ZipContentType, ListOperationResponse, GuardListItem, PreKeyStatus, GetSettingsResponse, UpdateSettingsRequest } from "./types.js";
3
3
  export declare class Messenger {
4
4
  private session;
5
5
  private serverClient;
@@ -239,6 +239,14 @@ export declare class Messenger {
239
239
  * Guard 列表 - 获取列表
240
240
  */
241
241
  getGuardList(): Promise<ListOperationResponse>;
242
+ /**
243
+ * 获取用户设置
244
+ */
245
+ getSettings(): Promise<GetSettingsResponse>;
246
+ /**
247
+ * 设置用户设置
248
+ */
249
+ setSettings(settings: Partial<UpdateSettingsRequest>): Promise<boolean>;
242
250
  /**
243
251
  * 尝试解密单条消息
244
252
  * @param serverMsg 服务器消息