@nordsym/apiclaw 1.4.7 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,11 +27,27 @@ One `mcp-install` connects your agent to all of it.
27
27
 
28
28
  ## Quick Start
29
29
 
30
+ **No signup required — just install and use.**
31
+
30
32
  ```bash
33
+ # Install
31
34
  npx @nordsym/apiclaw mcp-install
35
+
36
+ # Restart your AI assistant
37
+ # Immediately use any API (10 calls/week)
38
+
39
+ # Optional: Register for 50 calls/week
40
+ register_owner({ email: "you@example.com" })
32
41
  ```
33
42
 
34
- That's it. Restart your AI assistant. Ask it to *"Send an SMS"* or *"Generate an image"* it works.
43
+ That's it. All 18 Direct Call providers work instantly through NordSym's infrastructure. Your API calls are proxied, authenticated, and rate-limited automatically.
44
+
45
+ **Usage Limits:**
46
+ - **Anonymous:** 10 calls/week (no registration)
47
+ - **Registered:** 50 calls/week (5x more)
48
+ - **Upgrade:** Contact us for higher limits
49
+
50
+ Start calling APIs immediately. No setup, no API keys, no configuration.
35
51
 
36
52
  ---
37
53
 
@@ -316,6 +332,30 @@ npx @nordsym/apiclaw uninstall --client cursor
316
332
 
317
333
  ---
318
334
 
335
+ ## Proxy Architecture
336
+
337
+ **All 18 Direct Call providers work through NordSym's infrastructure.**
338
+
339
+ You don't manage API keys. You don't configure auth. You don't worry about rate limits.
340
+
341
+ **How it works:**
342
+ - Your API calls go through NordSym's proxy
343
+ - We handle authentication with each provider
344
+ - Usage is tracked and limited (fair use)
345
+ - 10 calls/week anonymous, 50 with registration
346
+ - No setup required — just install and use
347
+
348
+ **What you get:**
349
+ - Instant access to 18 premium APIs
350
+ - No API key management
351
+ - Automatic rate limiting
352
+ - Usage analytics in your workspace
353
+ - Production-ready from day one
354
+
355
+ **Want higher limits?** Upgrade at [apiclaw.com](https://apiclaw.com) or contact us.
356
+
357
+ ---
358
+
319
359
  ## Dry-Run Mode
320
360
 
321
361
  Test without making real API calls.
package/convex/schema.ts CHANGED
@@ -356,12 +356,15 @@ export default defineSchema({
356
356
  provider: v.optional(v.string()),
357
357
  query: v.optional(v.string()),
358
358
  identifier: v.string(),
359
+ workspaceId: v.optional(v.id("workspaces")), // Claimed workspace (null = anonymous)
359
360
  metadata: v.optional(v.any()),
360
361
  timestamp: v.number(),
361
362
  })
362
363
  .index("by_event", ["event"])
363
364
  .index("by_timestamp", ["timestamp"])
364
- .index("by_provider", ["provider"]),
365
+ .index("by_provider", ["provider"])
366
+ .index("by_workspaceId", ["workspaceId"])
367
+ .index("by_identifier", ["identifier"]),
365
368
 
366
369
  // MCP Server telemetry (anonymous usage tracking)
367
370
  telemetry: defineTable({
@@ -760,7 +763,9 @@ export default defineSchema({
760
763
  partnerId: v.string(), // e.g., "apilayer"
761
764
  partnerName: v.string(),
762
765
  partnerEmail: v.string(),
763
- documentHtml: v.string(),
766
+ partnerRepresentative: v.optional(v.string()),
767
+ documentHtml: v.optional(v.string()),
768
+ sections: v.optional(v.any()), // Alternative document format
764
769
  status: v.string(), // "pending" | "signed"
765
770
  signedAt: v.optional(v.number()),
766
771
  signatureDataUrl: v.optional(v.string()), // base64 signature image
@@ -134,6 +134,29 @@ export const verifyMagicLink = mutation({
134
134
  createdAt: Date.now(),
135
135
  });
136
136
 
137
+ // Claim anonymous usage history
138
+ const userFingerprint = fingerprint || magicLink.sessionFingerprint;
139
+ if (userFingerprint) {
140
+ try {
141
+ // Find all analytics records with matching fingerprint and no workspaceId
142
+ const analyticsRecords = await ctx.db
143
+ .query("analytics")
144
+ .withIndex("by_identifier", (q) => q.eq("identifier", userFingerprint))
145
+ .collect();
146
+
147
+ // Filter to only unclaimed records
148
+ const unclaimedRecords = analyticsRecords.filter((r) => !r.workspaceId);
149
+
150
+ // Update each record to link it to the workspace
151
+ for (const record of unclaimedRecords) {
152
+ await ctx.db.patch(record._id, { workspaceId: workspace!._id });
153
+ }
154
+ } catch (err) {
155
+ // Non-critical error, just log it
156
+ console.error('Failed to claim anonymous usage:', err);
157
+ }
158
+ }
159
+
137
160
  return {
138
161
  success: true,
139
162
  sessionToken,
@@ -952,3 +975,43 @@ export const adminGetFullWorkspace = query({
952
975
  };
953
976
  },
954
977
  });
978
+
979
+ /**
980
+ * Claim anonymous usage history when a user registers
981
+ * Links all analytics records with matching fingerprint to the workspace
982
+ */
983
+ export const claimAnonymousUsage = mutation({
984
+ args: {
985
+ workspaceId: v.id("workspaces"),
986
+ machineFingerprint: v.string(),
987
+ },
988
+ handler: async (ctx, { workspaceId, machineFingerprint }) => {
989
+ // Verify workspace exists
990
+ const workspace = await ctx.db.get(workspaceId);
991
+ if (!workspace) {
992
+ return { success: false, error: "Workspace not found" };
993
+ }
994
+
995
+ // Find all analytics records with matching fingerprint and no workspaceId
996
+ const analyticsRecords = await ctx.db
997
+ .query("analytics")
998
+ .withIndex("by_identifier", (q) => q.eq("identifier", machineFingerprint))
999
+ .collect();
1000
+
1001
+ // Filter to only unclaimed records
1002
+ const unclaimedRecords = analyticsRecords.filter((r) => !r.workspaceId);
1003
+
1004
+ // Update each record to link it to the workspace
1005
+ let claimedCount = 0;
1006
+ for (const record of unclaimedRecords) {
1007
+ await ctx.db.patch(record._id, { workspaceId });
1008
+ claimedCount++;
1009
+ }
1010
+
1011
+ return {
1012
+ success: true,
1013
+ claimedCount,
1014
+ message: `Claimed ${claimedCount} anonymous usage records`,
1015
+ };
1016
+ },
1017
+ });
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ import { getConnectedProviders } from './execute.js';
20
20
  import { executeMetered } from './metered.js';
21
21
  import { logAPICall } from './analytics.js';
22
22
  import { isOpenAPI, executeOpenAPI, listOpenAPIs } from './open-apis.js';
23
+ import { PROXY_PROVIDERS } from './proxy.js';
23
24
  import { requiresConfirmationAsync, createPendingAction, consumePendingAction, generatePreview, validateParams } from './confirmation.js';
24
25
  import { executeCapability, listCapabilities, hasCapability } from './capability-router.js';
25
26
  import { readSession, writeSession, clearSession, getMachineFingerprint } from './session.js';
@@ -33,6 +34,91 @@ const DEFAULT_AGENT_ID = 'agent_default';
33
34
  const CONVEX_URL = process.env.CONVEX_URL || 'https://brilliant-puffin-712.eu-west-1.convex.cloud';
34
35
  const convex = new ConvexHttpClient(CONVEX_URL);
35
36
  let workspaceContext = null;
37
+ const anonymousRateLimits = new Map();
38
+ // Rate limit constants
39
+ const ANONYMOUS_HOURLY_LIMIT = 5;
40
+ const ANONYMOUS_WEEKLY_LIMIT = 10;
41
+ const FREE_WEEKLY_LIMIT = 50;
42
+ /**
43
+ * Calculate minutes until next hour
44
+ */
45
+ function calculateMinutesUntilNextHour() {
46
+ const now = new Date();
47
+ const nextHour = new Date(now);
48
+ nextHour.setHours(now.getHours() + 1, 0, 0, 0);
49
+ return Math.ceil((nextHour.getTime() - now.getTime()) / 60000);
50
+ }
51
+ /**
52
+ * Get next Monday 00:00 UTC as ISO string
53
+ */
54
+ function getNextMondayUTC() {
55
+ const now = new Date();
56
+ const dayOfWeek = now.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.
57
+ const daysUntilMonday = dayOfWeek === 0 ? 1 : 8 - dayOfWeek;
58
+ const nextMonday = new Date(now);
59
+ nextMonday.setUTCDate(now.getUTCDate() + daysUntilMonday);
60
+ nextMonday.setUTCHours(0, 0, 0, 0);
61
+ return nextMonday.toISOString().replace('T', ' ').slice(0, 16) + ' UTC';
62
+ }
63
+ /**
64
+ * Check anonymous rate limits for proxy provider usage
65
+ */
66
+ function checkAnonymousRateLimit(fingerprint) {
67
+ const now = Date.now();
68
+ const hourInMs = 60 * 60 * 1000;
69
+ const weekInMs = 7 * 24 * hourInMs;
70
+ // Get or initialize rate limit state
71
+ let state = anonymousRateLimits.get(fingerprint);
72
+ if (!state) {
73
+ state = {
74
+ hourlyCount: 0,
75
+ hourlyResetTime: now + hourInMs,
76
+ weeklyCount: 0,
77
+ weeklyResetTime: now + weekInMs,
78
+ };
79
+ anonymousRateLimits.set(fingerprint, state);
80
+ }
81
+ // Reset hourly counter if time elapsed
82
+ if (now >= state.hourlyResetTime) {
83
+ state.hourlyCount = 0;
84
+ state.hourlyResetTime = now + hourInMs;
85
+ }
86
+ // Reset weekly counter if time elapsed
87
+ if (now >= state.weeklyResetTime) {
88
+ state.weeklyCount = 0;
89
+ state.weeklyResetTime = now + weekInMs;
90
+ }
91
+ // Check hourly limit
92
+ if (state.hourlyCount >= ANONYMOUS_HOURLY_LIMIT) {
93
+ return {
94
+ allowed: false,
95
+ error: JSON.stringify({
96
+ success: false,
97
+ error: `Hourly rate limit (${ANONYMOUS_HOURLY_LIMIT} calls/hour)`,
98
+ retry_after_minutes: calculateMinutesUntilNextHour(),
99
+ hint: "Rate limit resets at top of hour",
100
+ action: "Register to get higher limits: register_owner({ email: 'you@example.com' })"
101
+ }, null, 2)
102
+ };
103
+ }
104
+ // Check weekly limit
105
+ if (state.weeklyCount >= ANONYMOUS_WEEKLY_LIMIT) {
106
+ return {
107
+ allowed: false,
108
+ error: JSON.stringify({
109
+ success: false,
110
+ error: `Weekly limit reached (${ANONYMOUS_WEEKLY_LIMIT} calls)`,
111
+ hint: "Register to get 50 calls/week",
112
+ action: "Run: register_owner({ email: 'you@example.com' })",
113
+ retry_after: getNextMondayUTC()
114
+ }, null, 2)
115
+ };
116
+ }
117
+ // Increment counters
118
+ state.hourlyCount++;
119
+ state.weeklyCount++;
120
+ return { allowed: true };
121
+ }
36
122
  /**
37
123
  * Validate session on startup
38
124
  */
@@ -98,10 +184,30 @@ async function trackEarnProgress(workspaceId, provider, action) {
98
184
  console.error('[APIClaw] Failed to track earn progress:', e);
99
185
  }
100
186
  }
187
+ const rateLimitStore = new Map();
101
188
  /**
102
- * Check if workspace is active and has usage remaining
189
+ * For proxy providers, allow anonymous usage with rate limiting
103
190
  */
104
- function checkWorkspaceAccess() {
191
+ function checkWorkspaceAccess(providerId) {
192
+ // Allow anonymous access for proxy providers
193
+ if (providerId && PROXY_PROVIDERS.includes(providerId)) {
194
+ if (!workspaceContext) {
195
+ // Anonymous user - check rate limits
196
+ const fingerprint = getMachineFingerprint();
197
+ const rateLimitCheck = checkAnonymousRateLimit(fingerprint);
198
+ if (!rateLimitCheck.allowed) {
199
+ return {
200
+ allowed: false,
201
+ error: rateLimitCheck.error,
202
+ isAnonymous: true
203
+ };
204
+ }
205
+ return { allowed: true, isAnonymous: true };
206
+ }
207
+ // Authenticated user using proxy provider - allow with higher limits
208
+ return { allowed: true, isAnonymous: false };
209
+ }
210
+ // Non-proxy providers require authentication
105
211
  if (!workspaceContext) {
106
212
  return {
107
213
  allowed: false,
@@ -115,12 +221,26 @@ function checkWorkspaceAccess() {
115
221
  };
116
222
  }
117
223
  if (workspaceContext.usageRemaining === 0) {
224
+ // Free tier hit weekly limit
225
+ if (workspaceContext.tier === 'free') {
226
+ return {
227
+ allowed: false,
228
+ error: JSON.stringify({
229
+ success: false,
230
+ error: `Weekly limit reached (${FREE_WEEKLY_LIMIT} calls)`,
231
+ hint: "Upgrade to Backer for unlimited calls",
232
+ upgrade_url: "https://apiclaw.nordsym.com/upgrade",
233
+ retry_after: getNextMondayUTC()
234
+ }, null, 2)
235
+ };
236
+ }
237
+ // Other tiers (shouldn't happen, but handle gracefully)
118
238
  return {
119
239
  allowed: false,
120
- error: `Usage limit reached. Upgrade to ${workspaceContext.tier === 'free' ? 'Pro' : 'Enterprise'} for more calls.`
240
+ error: `Usage limit reached. Contact support or check your plan at https://apiclaw.nordsym.com/account`
121
241
  };
122
242
  }
123
- return { allowed: true };
243
+ return { allowed: true, isAnonymous: false };
124
244
  }
125
245
  /**
126
246
  * Get customer API key from environment variable
@@ -889,6 +1009,17 @@ Docs: https://apiclaw.nordsym.com
889
1009
  // Check workspace access for chains
890
1010
  const access = checkWorkspaceAccess();
891
1011
  if (!access.allowed) {
1012
+ // If error is already formatted JSON (from rate limit checks), return as-is
1013
+ if (access.error?.startsWith('{')) {
1014
+ return {
1015
+ content: [{
1016
+ type: 'text',
1017
+ text: access.error
1018
+ }],
1019
+ isError: true
1020
+ };
1021
+ }
1022
+ // Otherwise, wrap in standard error format
892
1023
  return {
893
1024
  content: [{
894
1025
  type: 'text',
@@ -1007,7 +1138,7 @@ Docs: https://apiclaw.nordsym.com
1007
1138
  // Check workspace access (skip for free/open APIs)
1008
1139
  const isFreeAPI = isOpenAPI(provider);
1009
1140
  if (!isFreeAPI) {
1010
- const access = checkWorkspaceAccess();
1141
+ const access = checkWorkspaceAccess(provider);
1011
1142
  if (!access.allowed) {
1012
1143
  return {
1013
1144
  content: [{
@@ -1015,7 +1146,9 @@ Docs: https://apiclaw.nordsym.com
1015
1146
  text: JSON.stringify({
1016
1147
  status: 'error',
1017
1148
  error: access.error,
1018
- hint: 'Use register_owner to authenticate your workspace.',
1149
+ hint: access.isAnonymous
1150
+ ? 'Rate limit reached. Use register_owner to authenticate for higher limits.'
1151
+ : 'Use register_owner to authenticate your workspace.',
1019
1152
  }, null, 2)
1020
1153
  }],
1021
1154
  isError: true
@@ -1049,13 +1182,16 @@ Docs: https://apiclaw.nordsym.com
1049
1182
  customerKey,
1050
1183
  userId: DEFAULT_AGENT_ID,
1051
1184
  });
1052
- // Log the confirmed API call
1185
+ // Log the confirmed API call (with fingerprint for anonymous users)
1186
+ const analyticsUserId = workspaceContext
1187
+ ? workspaceContext.workspaceId
1188
+ : `anon:${getMachineFingerprint()}`;
1053
1189
  logAPICall({
1054
1190
  timestamp: new Date().toISOString(),
1055
1191
  provider: pending.provider,
1056
1192
  action: pending.action,
1057
1193
  type: apiType,
1058
- userId: DEFAULT_AGENT_ID,
1194
+ userId: analyticsUserId,
1059
1195
  success: result.success,
1060
1196
  latencyMs: Date.now() - startTime,
1061
1197
  error: result.error,
@@ -1134,13 +1270,16 @@ Docs: https://apiclaw.nordsym.com
1134
1270
  userId: DEFAULT_AGENT_ID,
1135
1271
  });
1136
1272
  }
1137
- // Log the API call for analytics
1273
+ // Log the API call for analytics (with fingerprint for anonymous users)
1274
+ const analyticsUserId = workspaceContext
1275
+ ? workspaceContext.workspaceId
1276
+ : `anon:${getMachineFingerprint()}`;
1138
1277
  logAPICall({
1139
1278
  timestamp: new Date().toISOString(),
1140
1279
  provider,
1141
1280
  action,
1142
1281
  type: apiType,
1143
- userId: DEFAULT_AGENT_ID,
1282
+ userId: analyticsUserId,
1144
1283
  success: result.success,
1145
1284
  latencyMs: Date.now() - startTime,
1146
1285
  error: result.error,
@@ -1305,6 +1444,20 @@ Docs: https://apiclaw.nordsym.com
1305
1444
  });
1306
1445
  if (sessionResult.success) {
1307
1446
  writeSession(sessionResult.sessionToken, existing.id, email);
1447
+ // Claim anonymous usage history
1448
+ try {
1449
+ const claimResult = await convex.mutation("workspaces:claimAnonymousUsage", {
1450
+ workspaceId: existing.id,
1451
+ machineFingerprint: fingerprint,
1452
+ });
1453
+ if (claimResult.success && claimResult.claimedCount) {
1454
+ console.error(`[APIClaw] ✓ Claimed ${claimResult.claimedCount} anonymous usage records`);
1455
+ }
1456
+ }
1457
+ catch (err) {
1458
+ // Non-critical error, just log it
1459
+ console.error('[APIClaw] Warning: Failed to claim anonymous usage:', err);
1460
+ }
1308
1461
  // Update global context
1309
1462
  workspaceContext = {
1310
1463
  sessionToken: sessionResult.sessionToken,
@@ -1349,19 +1502,34 @@ Docs: https://apiclaw.nordsym.com
1349
1502
  email,
1350
1503
  fingerprint,
1351
1504
  });
1352
- // TODO: Agent 2 will implement actual email sending
1353
- // For now, return the verification link
1505
+ // Send magic link via email
1354
1506
  const verifyUrl = `https://apiclaw.nordsym.com/verify?token=${magicLinkResult.token}`;
1507
+ const emailResponse = await fetch('https://api.resend.com/emails', {
1508
+ method: 'POST',
1509
+ headers: {
1510
+ 'Authorization': `Bearer ${process.env.RESEND_API_KEY}`,
1511
+ 'Content-Type': 'application/json',
1512
+ },
1513
+ body: JSON.stringify({
1514
+ from: 'APIClaw <noreply@apiclaw.nordsym.com>',
1515
+ to: email,
1516
+ subject: 'Verify your APIClaw workspace',
1517
+ html: `<p>Click to verify: <a href="${verifyUrl}">${verifyUrl}</a></p><p>Expires in 15 minutes.</p>`
1518
+ })
1519
+ });
1520
+ if (!emailResponse.ok) {
1521
+ const errorData = await emailResponse.text();
1522
+ throw new Error(`Failed to send verification email: ${errorData}`);
1523
+ }
1355
1524
  return {
1356
1525
  content: [{
1357
1526
  type: 'text',
1358
1527
  text: JSON.stringify({
1359
1528
  status: 'pending_verification',
1360
- message: 'Workspace created! Please verify your email.',
1529
+ message: 'Workspace created! Check your email for verification link.',
1361
1530
  email,
1362
- verification_url: verifyUrl,
1363
1531
  expires_in_minutes: 15,
1364
- next_step: 'Click the verification link, then run check_workspace_status',
1532
+ next_step: 'Check your email, click the verification link, then run check_workspace_status',
1365
1533
  }, null, 2)
1366
1534
  }]
1367
1535
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAgC,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAEL,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAGlB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAEL,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAe,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,eAAe,EACf,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EAMZ,MAAM,oBAAoB,CAAC;AAE5B,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC,yCAAyC;AACzC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,qDAAqD,CAAC;AACnG,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAYhD,IAAI,gBAAgB,GAA4B,IAAI,CAAC;AAErD;;GAEG;AACH,KAAK,UAAU,eAAe;IAC5B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,+BAAsC,EAAE;YACxE,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAkJ,CAAC;QAEpJ,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,YAAY,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,6BAA6B,CAAC,CAAC;YACzF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gBAAgB,GAAG;YACjB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;YAC3B,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;SACnC,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;QAErH,oCAAoC;QACpC,MAAM,MAAM,CAAC,QAAQ,CAAC,yBAAgC,EAAE;YACtD,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,WAAmB,EAAE,QAAgB,EAAE,MAAc;IACpF,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,MAAM,CAAC,QAAQ,CAAC,kCAAyC,EAAE;YAC/D,WAAW,EAAE,WAAkB;SAChC,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,KAAK,GAAG,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,CAAC,QAAQ,CAAC,2BAAkC,EAAE;YACxD,WAAW,EAAE,WAAkB;YAC/B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gEAAgE;QAChE,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB;IAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uEAAuE;SAC/E,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qBAAqB,gBAAgB,CAAC,MAAM,6BAA6B;SACjF,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mCAAmC,gBAAgB,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,kBAAkB;SACpH,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,yDAAyD;IACzD,MAAM,QAAQ,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC;IAC1E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAAG;QACjB,GAAG,UAAU,CAAC,WAAW,EAAE,UAAU;QACrC,GAAG,UAAU,CAAC,WAAW,EAAE,MAAM;QACjC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU;KACxD,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mBAAmB;AACnB,MAAM,KAAK,GAAW;IACpB;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,iFAAiF;QAC9F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6HAA6H;iBAC3I;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;oBAC5D,IAAI,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC;iBACxC;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;oBAC/D,OAAO,EAAE,CAAC;iBACX;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;iBAC7D;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wFAAwF;iBACtG;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,2IAA2I;QACxJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8DAA8D;iBAC5E;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,sGAAsG;oBACnH,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0FAA0F;QACvG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2CAA2C;iBACzD;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gEAAgE;iBAC9E;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gEAAgE;iBAC9E;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;iBACpD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gEAAgE;iBAC9E;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,oCAAoC;QACjD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE;;;;;;;;;;;;;;;;;IAiBb;QACA,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,qBAAqB;gBACrB,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yHAAyH;iBACvI;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iGAAiG;iBAC/G;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iGAAiG;iBAC/G;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mHAAmH;iBACjI;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,gJAAgJ;iBAC9J;gBACD,yBAAyB;gBACzB,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,6GAA6G;oBAC1H,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;4BAChF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;4BACzD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;4BAC5D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;4BAC9F,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE;4BACpE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;4BACnG,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;4BAC7E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;4BAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sDAAsD,EAAE;4BAChG,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;4BAC7E,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;4BACpE,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8BAA8B;gCAC3C,UAAU,EAAE;oCACV,KAAK,EAAE;wCACL,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;4CAC/D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;yCAC5F;qCACF;oCACD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;oCACxE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,+BAA+B,EAAE;iCACzE;6BACF;yBACF;qBACF;iBACF;gBACD,gBAAgB;gBAChB,eAAe,EAAE;oBACf,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,gEAAgE;iBAC9E;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6DAA6D;iBAC3E;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,mFAAmF;iBACjG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gDAAgD;iBAC9D;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wFAAwF;iBACtG;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,sNAAsN;QACnO,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kEAAkE;iBAChF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+EAA+E;iBAC7F;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;oBAC3C,UAAU,EAAE;wBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;wBAC7E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;wBAC5E,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;wBACxF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oDAAoD,EAAE;qBACjG;iBACF;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wFAAwF;iBACtG;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC7C;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,+CAA+C;IAC/C,kBAAkB;IAClB,+CAA+C;IAC/C;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,2IAA2I;QACxJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iEAAiE;iBAC/E;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mFAAmF;QAChG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,wBAAwB;IACxB;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,uGAAuG;QACpH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wCAAwC;oBACrD,OAAO,EAAE,6CAA6C;iBACvD;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uCAAuC;oBACpD,OAAO,EAAE,4CAA4C;iBACtD;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,eAAe,EAAE;oBACf,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6DAA6D;iBAC3E;aACF;YACD,QAAQ,EAAE,CAAC,iBAAiB,CAAC;SAC9B;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD,+CAA+C;IAC/C,yBAAyB;IACzB,+CAA+C;IAC/C;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,wGAAwG;QACrH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uIAAuI;QACpJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6DAA6D;iBAC3E;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,0EAA0E;oBACvF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yFAAyF;iBACvG;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;SAC7C;KACF;CACF,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCxB,CAAC;gBACM,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBAC5C,CAAC;YACJ,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;gBACpC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAA8B,CAAC;gBACtD,MAAM,UAAU,GAAI,IAAI,EAAE,WAAsB,IAAI,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,IAAI,EAAE,MAA4B,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,EAAE,WAAiC,CAAC;gBAC3D,MAAM,SAAS,GAAG,IAAI,EAAE,UAAgC,CAAC;gBAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAC9C,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBAEnD,qCAAqC;gBACrC,IAAI,gBAAgB,EAAE,YAAY,EAAE,CAAC;oBACnC,MAAM,gBAAgB,GAAG;wBACvB,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE;4BACJ,YAAY,EAAE,gBAAgB,CAAC,YAAY;4BAC3C,UAAU,EAAE,UAAU,IAAI,SAAS;4BACnC,KAAK;4BACL,WAAW,EAAE,OAAO,CAAC,MAAM;4BAC3B,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC9D,cAAc;yBACf;qBACF,CAAC;oBAEF,KAAK,CAAC,kEAAkE,EAAE;wBACxE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;qBACvC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBACxC,CAAC;gBAED,yCAAyC;gBACzC,IAAI,SAAS,IAAI,gBAAgB,EAAE,YAAY,EAAE,CAAC;oBAChD,KAAK,CAAC,kEAAkE,EAAE;wBACxE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,IAAI,EAAE,wBAAwB;4BAC9B,IAAI,EAAE;gCACJ,KAAK,EAAE,gBAAgB,CAAC,YAAY;gCACpC,UAAU,EAAE,UAAU,IAAI,SAAS;gCACnC,SAAS;6BACV;yBACF,CAAC;qBACH,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBACxC,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,YAAY;oCACpB,OAAO,EAAE,2BAA2B,KAAK,0EAA0E;oCACnH,oBAAoB,EAAE,aAAa,EAAE;iCACtC,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,KAAK;gCACL,aAAa,EAAE,OAAO,CAAC,MAAM;gCAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oCACzB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE;oCACjB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;oCACrB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW;oCACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ;oCAC7B,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY;oCACrC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;oCACvC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS;oCAC3C,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB;oCACjD,eAAe,EAAE,CAAC,CAAC,eAAe;oCAClC,aAAa,EAAE,CAAC,CAAC,aAAa;iCAC/B,CAAC,CAAC;6BACJ,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,EAAE,MAAgB,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAkB,IAAI,KAAK,CAAC;gBAClD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAE9C,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,OAAO,EAAE,kBAAkB,KAAK,EAAE;oCAClC,IAAI,EAAE,qEAAqE;iCAC5E,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,8CAA8C;gBAC9C,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;6BAC/C;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,GAAG;6BACJ,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,EAAE,MAAgB,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,EAAE,UAAoB,CAAC;gBAC7C,MAAM,OAAO,GAAI,IAAI,EAAE,QAAmB,IAAI,gBAAgB,CAAC;gBAE/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,OAAO,EAAE,MAAM,CAAC,KAAK;iCACtB,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBAEjC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,OAAO,EAAE,oCAAoC,KAAK,EAAE;gCACpD,QAAQ,EAAE;oCACR,EAAE,EAAE,MAAM,CAAC,QAAS,CAAC,EAAE;oCACvB,QAAQ,EAAE,KAAK;oCACf,eAAe,EAAE,SAAS;oCAC1B,gBAAgB,EAAE,MAAM,CAAC,QAAS,CAAC,iBAAiB;oCACpD,MAAM,EAAE,MAAM,CAAC,QAAS,CAAC,MAAM;oCAC/B,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,CAAC;iCAC5C;gCACD,WAAW,EAAE,MAAM,CAAC,QAAS,CAAC,WAAW;gCACzC,MAAM,EAAE;oCACN,QAAQ,EAAE,GAAG,EAAE,QAAQ;oCACvB,QAAQ,EAAE,GAAG,EAAE,QAAQ;oCACvB,SAAS,EAAE,GAAG,EAAE,SAAS;iCAC1B;6BACF,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,OAAO,GAAI,IAAI,EAAE,QAAmB,IAAI,gBAAgB,CAAC;gBAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAE3C,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,QAAQ,EAAE,OAAO;gCACjB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;gCACxC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;gCAClC,eAAe,EAAE,OAAO,CAAC,eAAe;gCACxC,yBAAyB,EAAE,OAAO,CAAC,0BAA0B;gCAC7D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oCACnD,EAAE,EAAE,CAAC,CAAC,EAAE;oCACR,QAAQ,EAAE,CAAC,CAAC,WAAW;oCACvB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;oCACtC,MAAM,EAAE,CAAC,CAAC,MAAM;oCAChB,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC;iCACpD,CAAC,CAAC;6BACJ,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,SAAS,GAAG,IAAI,EAAE,UAAoB,CAAC;gBAC7C,MAAM,OAAO,GAAI,IAAI,EAAE,QAAmB,IAAI,gBAAgB,CAAC;gBAE/D,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAE/C,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,OAAO,EAAE,UAAU,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB;gCACzD,eAAe,EAAE,OAAO,CAAC,WAAW;6BACrC,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;gBACnC,MAAM,cAAc,GAA6B,EAAE,CAAC;gBAEpD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC7B,cAAc,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE;yBAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC;yBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,UAAU,EAAE,cAAc;6BAC3B,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAkB,CAAC;gBAC1C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAgB,CAAC;gBACtC,MAAM,MAAM,GAAI,IAAI,EAAE,MAA8B,IAAI,EAAE,CAAC;gBAC3D,MAAM,YAAY,GAAG,IAAI,EAAE,aAAmC,CAAC;gBAC/D,MAAM,MAAM,GAAG,IAAI,EAAE,OAA8B,CAAC;gBACpD,MAAM,KAAK,GAAG,IAAI,EAAE,KAAqC,CAAC;gBAC1D,MAAM,UAAU,GAAG,IAAI,EAAE,WAAiC,CAAC;gBAC3D,MAAM,SAAS,GAAG,IAAI,EAAE,UAAgC,CAAC;gBAEzD,+BAA+B;gBAC/B,IAAI,SAAS,IAAI,gBAAgB,EAAE,YAAY,EAAE,CAAC;oBAChD,KAAK,CAAC,kEAAkE,EAAE;wBACxE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,IAAI,EAAE,wBAAwB;4BAC9B,IAAI,EAAE;gCACJ,KAAK,EAAE,gBAAgB,CAAC,YAAY;gCACpC,UAAU,EAAE,UAAU,IAAI,SAAS;gCACnC,SAAS;6BACV;yBACF,CAAC;qBACH,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBACxC,CAAC;gBAED,+CAA+C;gBAC/C,uBAAuB;gBACvB,+CAA+C;gBAC/C,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,oCAAoC;oBACpC,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,MAAM,EAAE,OAAO;wCACf,KAAK,EAAE,MAAM,CAAC,KAAK;wCACnB,IAAI,EAAE,oDAAoD;qCAC3D,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;4BACF,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;oBAED,IAAI,CAAC;wBACH,2CAA2C;wBAC3C,MAAM,eAAe,GAAoB;4BACvC,KAAK,EAAE,KAAyB;4BAChC,OAAO,EAAE,IAAI,EAAE,OAA6B;4BAC5C,WAAW,EAAE,IAAI,EAAE,eAAe;gCAChC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAsB,EAAE;gCAClC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE;yBACnC,CAAC;wBAEF,MAAM,gBAAgB,GAAqB;4BACzC,MAAM,EAAE,gBAAgB;4BACxB,YAAY,EAAE,EAAE;yBACjB,CAAC;wBAEF,+BAA+B;wBAC/B,MAAM,WAAW,GAAG,IAAI,EAAE,YAAkC,CAAC;wBAC7D,IAAI,WAAW,EAAE,CAAC;4BAChB,yDAAyD;4BACzD,gBAAgB,CAAC,YAAY,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;wBAC3D,CAAC;wBAED,MAAM,YAAY,GAAiB;4BACjC,OAAO,EAAE,KAAK;yBACf,CAAC;wBAEF,oBAAoB;wBACpB,MAAM,WAAW,GAAG,MAAM,YAAY,CACpC,eAAe,EACf,gBAAgB,EAChB,EAAE,EAAE,SAAS;wBACb,YAAY,CACb,CAAC;wBAEF,gDAAgD;wBAChD,IAAI,WAAW,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;4BAC5C,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC;4BAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;gCACxC,IAAI,CAAC;oCACH,MAAM,MAAM,CAAC,QAAQ,CAAC,2BAAkC,EAAE;wCACxD,WAAW,EAAE,gBAAgB,CAAC,WAAkB;qCACjD,CAAC,CAAC;gCACL,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;gCAC7D,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,0DAA0D;wBAC1D,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;wCACjD,IAAI,EAAE,OAAO;wCACb,OAAO,EAAE,WAAW,CAAC,OAAO;wCAC5B,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4CACjC,EAAE,EAAE,CAAC,CAAC,MAAM;4CACZ,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;4CAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;4CAChB,KAAK,EAAE,CAAC,CAAC,KAAK;4CACd,SAAS,EAAE,CAAC,CAAC,SAAS;4CACtB,IAAI,EAAE,CAAC,CAAC,IAAI;yCACb,CAAC,CAAC;wCACH,WAAW,EAAE,WAAW,CAAC,WAAW;wCACpC,cAAc,EAAE,WAAW,CAAC,cAAc;wCAC1C,SAAS,EAAE,WAAW,CAAC,SAAS;wCAChC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,wBAAwB;wCAC/D,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;4CACtB,cAAc,EAAE,WAAW,CAAC,cAAc;4CAC1C,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;gDACnC,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM;gDACjC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK;gDACnC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS;6CACvC,CAAC,CAAC,CAAC,SAAS;4CACb,cAAc,EAAE,WAAW,CAAC,OAAO;4CACnC,SAAS,EAAE,WAAW,CAAC,SAAS;4CAChC,WAAW,EAAE,WAAW,CAAC,WAAW;yCACrC,CAAC,CAAC,CAAC,EAAE,CAAC;qCACR,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;4BACF,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO;yBAC9B,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,MAAM,EAAE,OAAO;wCACf,IAAI,EAAE,OAAO;wCACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qCAC9D,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;4BACF,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,+CAA+C;gBAC/C,oCAAoC;gBACpC,+CAA+C;gBAE/C,yEAAyE;gBACzE,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;oBACxD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAE9D,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;6BAC5C,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAED,mDAAmD;gBACnD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,MAAM,EAAE,OAAO;wCACf,KAAK,EAAE,MAAM,CAAC,KAAK;wCACnB,IAAI,EAAE,oDAAoD;qCAC3D,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;4BACF,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,IAAI,MAAyG,CAAC;gBAC9G,IAAI,OAA0B,CAAC;gBAE/B,sDAAsD;gBACtD,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;oBAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,MAAM,EAAE,OAAO;wCACf,KAAK,EAAE,2DAA2D;qCACnE,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;4BACF,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;oBAED,oDAAoD;oBACpD,OAAO,GAAG,QAAQ,CAAC;oBACnB,MAAM,WAAW,GAAI,IAAI,EAAE,YAAuB,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACvF,MAAM,gBAAgB,GAAI,IAAI,EAAE,kBAA6B,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBACxG,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;wBAC9E,UAAU,EAAE,gBAAgB;wBAC5B,WAAW;wBACX,MAAM,EAAE,gBAAgB;qBACzB,CAAC,CAAC;oBAEH,6BAA6B;oBAC7B,UAAU,CAAC;wBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,gBAAgB;wBACxB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC,CAAC;oBAEH,4CAA4C;oBAC5C,IAAI,MAAM,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;wBACvC,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC1F,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oCAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ;oCACzB,MAAM,EAAE,MAAM,CAAC,MAAM;oCACrB,SAAS,EAAE,IAAI;oCACf,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;iCACtE,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO;qBACzB,CAAC;gBACJ,CAAC;gBAED,oFAAoF;gBACpF,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAEvE,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC1B,kDAAkD;oBAClD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;wBAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;wBAE5D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;4BACtB,OAAO;gCACL,OAAO,EAAE,CAAC;wCACR,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4CACnB,MAAM,EAAE,OAAO;4CACf,KAAK,EAAE,mBAAmB;4CAC1B,kBAAkB,EAAE,UAAU,CAAC,MAAM;4CACrC,IAAI,EAAE,oDAAoD;yCAC3D,EAAE,IAAI,EAAE,CAAC,CAAC;qCACZ,CAAC;gCACF,OAAO,EAAE,IAAI;6BACd,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,6CAA6C;oBAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC1D,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;wBAC/B,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC;oBACtD,CAAC;oBACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;oBAEzF,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,uBAAuB;oCAC/B,OAAO,EAAE,wDAAwD;oCACjE,OAAO;oCACP,aAAa,EAAE,OAAO,CAAC,KAAK;oCAC5B,kBAAkB,EAAE,GAAG;oCACvB,cAAc,EAAE,mCAAmC,OAAO,CAAC,KAAK,GAAG;iCACpE,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxB,OAAO,GAAG,MAAM,CAAC;oBACjB,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,QAAQ,CAAC;oBACnB,MAAM,WAAW,GAAI,IAAI,EAAE,YAAuB,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;oBAC/E,MAAM,gBAAgB,GAAI,IAAI,EAAE,kBAA6B,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBACxG,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;wBACtD,UAAU,EAAE,gBAAgB;wBAC5B,WAAW;wBACX,MAAM,EAAE,gBAAgB;qBACzB,CAAC,CAAC;gBACL,CAAC;gBAED,iCAAiC;gBACjC,UAAU,CAAC;oBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,QAAQ;oBACR,MAAM;oBACN,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,gBAAgB;oBACxB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAC;gBAEH,qDAAqD;gBACrD,IAAI,MAAM,CAAC,OAAO,IAAI,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACrD,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,2BAAkC,EAAE;4BAC5E,WAAW,EAAE,gBAAgB,CAAC,WAAkB;yBACjD,CAA6C,CAAC;wBAC/C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;4BACxB,gBAAgB,CAAC,cAAc,GAAG,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;wBAChE,CAAC;wBAED,wDAAwD;wBACxD,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC1E,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;gCAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,IAAI,EAAE,OAAO;gCACb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gCACrE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAChE,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;oBACD,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO;iBACzB,CAAC;YACJ,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;gBAChD,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC;gBAErC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,OAAO,EAAE,4DAA4D;gCACrE,WAAW,EAAE;oCACX,WAAW,EAAE,qCAAqC;oCAClD,SAAS,EAAE,eAAe;iCAC3B;gCACD,SAAS,EAAE;oCACT,WAAW,EAAE,oCAAoC;oCACjD,SAAS,EAAE,aAAa;iCACzB;gCACD,KAAK,EAAE,kEAAkE;6BAC1E,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,YAAY,GAAG,IAAI,EAAE,UAAoB,CAAC;gBAChD,MAAM,MAAM,GAAG,IAAI,EAAE,MAAgB,CAAC;gBACtC,MAAM,MAAM,GAAI,IAAI,EAAE,MAA8B,IAAI,EAAE,CAAC;gBAC3D,MAAM,WAAW,GAAI,IAAI,EAAE,WAAmC,IAAI,EAAE,CAAC;gBACrE,MAAM,UAAU,GAAG,IAAI,EAAE,WAAiC,CAAC;gBAC3D,MAAM,SAAS,GAAG,IAAI,EAAE,UAAgC,CAAC;gBAEzD,+BAA+B;gBAC/B,IAAI,SAAS,IAAI,gBAAgB,EAAE,YAAY,EAAE,CAAC;oBAChD,KAAK,CAAC,kEAAkE,EAAE;wBACxE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,IAAI,EAAE,wBAAwB;4BAC9B,IAAI,EAAE;gCACJ,KAAK,EAAE,gBAAgB,CAAC,YAAY;gCACpC,UAAU,EAAE,UAAU,IAAI,SAAS;gCACnC,SAAS;6BACV;yBACF,CAAC;qBACH,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBACxC,CAAC;gBAED,6BAA6B;gBAC7B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;gBACjD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,0CAA0C;oBAC1C,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;oBAC3C,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,uBAAuB,YAAY,EAAE;oCAC5C,sBAAsB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCAChD,IAAI,EAAE,0DAA0D;iCACjE,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,qBAAqB;gBACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,YAAY,EACZ,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,WAAW,CACZ,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;gCAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;gCAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,aAAa,EAAE,MAAM,CAAC,YAAY;gCAClC,kBAAkB,EAAE,MAAM,CAAC,iBAAiB;gCAC5C,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC5E,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gCACrE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACtF,UAAU,EAAE,MAAM,CAAC,SAAS;6BAC7B,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;oBACF,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO;iBACzB,CAAC;YACJ,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,YAAY,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBAE9C,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,OAAO,EAAE,sDAAsD;gCAC/D,YAAY;gCACZ,KAAK,EAAE,6DAA6D;6BACrE,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,+CAA+C;YAC/C,kBAAkB;YAClB,+CAA+C;YAE/C,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;gBAEpC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,uBAAuB;iCAC/B,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC;oBACH,oCAAoC;oBACpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,uBAA8B,EAAE,EAAE,KAAK,EAAE,CAAgG,CAAC;oBAE9K,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAC7C,2DAA2D;wBAC3D,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;wBAC5C,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,+BAAsC,EAAE;4BAClF,WAAW,EAAE,QAAQ,CAAC,EAAE;4BACxB,WAAW;yBACZ,CAAgD,CAAC;wBAElD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;4BAC1B,YAAY,CAAC,aAAa,CAAC,YAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;4BAE9D,wBAAwB;4BACxB,gBAAgB,GAAG;gCACjB,YAAY,EAAE,aAAa,CAAC,YAAa;gCACzC,WAAW,EAAE,QAAQ,CAAC,EAAE;gCACxB,KAAK;gCACL,IAAI,EAAE,QAAQ,CAAC,IAAI;gCACnB,cAAc,EAAE,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU;gCACzD,MAAM,EAAE,QAAQ,CAAC,MAAM;6BACxB,CAAC;4BAEF,OAAO;gCACL,OAAO,EAAE,CAAC;wCACR,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4CACnB,MAAM,EAAE,SAAS;4CACjB,OAAO,EAAE,kCAAkC,KAAK,EAAE;4CAClD,SAAS,EAAE;gDACT,KAAK;gDACL,IAAI,EAAE,QAAQ,CAAC,IAAI;gDACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;gDAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;6CAChC;yCACF,EAAE,IAAI,EAAE,CAAC,CAAC;qCACZ,CAAC;6BACH,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,kCAAkC;oBAClC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,4BAAmC,EAAE,EAAE,KAAK,EAAE,CAA+D,CAAC;oBAEzJ,IAAI,WAAmB,CAAC;oBACxB,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBACzB,WAAW,GAAG,YAAY,CAAC,WAAY,CAAC;oBAC1C,CAAC;yBAAM,IAAI,YAAY,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;wBACrD,WAAW,GAAG,YAAY,CAAC,WAAY,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACtC,CAAC;oBAED,oBAAoB;oBACpB,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;oBAC5C,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,4BAAmC,EAAE;wBACjF,KAAK;wBACL,WAAW;qBACZ,CAAyC,CAAC;oBAE3C,oDAAoD;oBACpD,wCAAwC;oBACxC,MAAM,SAAS,GAAG,4CAA4C,eAAe,CAAC,KAAK,EAAE,CAAC;oBAEtF,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,sBAAsB;oCAC9B,OAAO,EAAE,8CAA8C;oCACvD,KAAK;oCACL,gBAAgB,EAAE,SAAS;oCAC3B,kBAAkB,EAAE,EAAE;oCACtB,SAAS,EAAE,8DAA8D;iCAC1E,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;iCACtE,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;gBAC9B,mCAAmC;gBACnC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;gBAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,mBAAmB;oCAC3B,OAAO,EAAE,wDAAwD;iCAClE,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,+BAAsC,EAAE;wBACxE,YAAY,EAAE,OAAO,CAAC,YAAY;qBACnC,CAA2L,CAAC;oBAE7L,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;wBAC1B,YAAY,EAAE,CAAC;wBACf,gBAAgB,GAAG,IAAI,CAAC;wBAExB,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,MAAM,EAAE,iBAAiB;wCACzB,OAAO,EAAE,yDAAyD;qCACnE,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;yBACH,CAAC;oBACJ,CAAC;oBAED,wBAAwB;oBACxB,gBAAgB,GAAG;wBACjB,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;wBACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;wBAC3B,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;wBAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;qBACnC,CAAC;oBAEF,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,SAAS;oCACjB,SAAS,EAAE;wCACT,KAAK,EAAE,MAAM,CAAC,KAAK;wCACnB,MAAM,EAAE,MAAM,CAAC,MAAM;wCACrB,IAAI,EAAE,MAAM,CAAC,IAAI;wCACjB,KAAK,EAAE;4CACL,KAAK,EAAE,MAAM,CAAC,UAAU;4CACxB,KAAK,EAAE,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;4CACjE,SAAS,EAAE,MAAM,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc;yCAC9E;wCACD,SAAS,EAAE,MAAM,CAAC,SAAS;wCAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;qCACnF;iCACF,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;iCACzE,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;gBAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,+CAA+C;iCACvD,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC;oBACH,uBAAuB;oBACvB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,+BAAsC,EAAE;wBACxE,YAAY,EAAE,OAAO,CAAC,YAAY;qBACnC,CAAgE,CAAC;oBAElE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACvD,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,MAAM,EAAE,kBAAkB;wCAC1B,OAAO,EAAE,2CAA2C;wCACpD,KAAK,EAAE,MAAM,CAAC,KAAK;qCACpB,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;yBACH,CAAC;oBACJ,CAAC;oBAED,wBAAwB;oBACxB,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;oBAC5C,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,4BAAmC,EAAE;wBACjF,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,WAAW;qBACZ,CAAyC,CAAC;oBAE3C,oDAAoD;oBACpD,MAAM,SAAS,GAAG,4CAA4C,eAAe,CAAC,KAAK,EAAE,CAAC;oBAEtF,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,eAAe;oCACvB,OAAO,EAAE,gCAAgC;oCACzC,KAAK,EAAE,OAAO,CAAC,KAAK;oCACpB,gBAAgB,EAAE,SAAS;oCAC3B,kBAAkB,EAAE,EAAE;oCACtB,IAAI,EAAE,8CAA8C;iCACrD,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;iCAC1E,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAI1C,CAAC;gBAEF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;6BAC/E,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,yBAAyB;gBACzB,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/D,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;oBAC9B,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;6BAChF,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,mDAAmD;gBACnD,MAAM,cAAc,GAAG,MAAM,4BAA4B,CACvD,KAAK,EACL,WAAW,IAAI,6CAA6C,EAC5D,UAAU,IAAI,4CAA4C,CAC3D,CAAC;gBAEF,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;oBAC9B,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;6BAChF,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,gBAAgB;gCACxB,OAAO,EAAE,oDAAoD;gCAC7D,YAAY,EAAE,cAAc,CAAC,GAAG;gCAChC,UAAU,EAAE,cAAc,CAAC,SAAS;gCACpC,WAAW,EAAE,cAAc,CAAC,UAAU;gCACtC,OAAO,EAAE;oCACP,QAAQ,EAAE,QAAQ;oCAClB,cAAc,EAAE,SAAS;oCACzB,SAAS,EAAE,8BAA8B;iCAC1C;6BACF,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,EAAE,eAAe,EAAE,GAAG,IAAmC,CAAC;gBAEhE,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;6BACzF,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC;gBACrD,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;oBACrB,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;6BACvE,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,cAAc,EAAE;oCACd,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;oCACxD,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;iCACrD;gCACD,KAAK,EAAE;oCACL,WAAW,EAAE,KAAK,CAAC,UAAU;oCAC7B,cAAc,EAAE,eAAe,CAAC,YAAY;oCAC5C,cAAc,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;iCACjD;6BACF,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,UAAU,EAAE,GAAG,IAA8B,CAAC;gBAEtD,IAAI,CAAC,UAAU,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBAClC,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;6BAC1F,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;gBAE1C,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,QAAQ,EAAE;oCACR,KAAK,EAAE,QAAQ,CAAC,KAAK;oCACrB,cAAc,EAAE,IAAI,QAAQ,CAAC,YAAY,EAAE;oCAC3C,UAAU,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oCAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;iCAC5B;gCACD,QAAQ,EAAE;oCACR,WAAW,EAAE,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oCAClE,aAAa,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oCACrE,cAAc,EAAE,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;iCACxE;6BACF,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,+CAA+C;YAC/C,yBAAyB;YACzB,+CAA+C;YAE/C,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,EAAE,QAAkB,CAAC;gBAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,sBAAsB;iCAC9B,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;gBAElD,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACvC,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,oBAAoB,OAAO,EAAE;oCACpC,IAAI,EAAE,4EAA4E;iCACnF,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,SAAS;gCACjB,KAAK,EAAE;oCACL,OAAO,EAAE,WAAW,CAAC,OAAO;oCAC5B,eAAe,EAAE,WAAW,CAAC,MAAM;oCACnC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;wCACvB,MAAM,EAAE;4CACN,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO;4CACnC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc;4CACjD,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc;4CACjD,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS;4CACvC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW;4CAC3C,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK;4CAC/B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS;4CACvC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW;yCAC5C;qCACF,CAAC,CAAC,CAAC,EAAE,CAAC;iCACR;6BACF,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,WAAW,GAAG,IAAI,EAAE,YAAsB,CAAC;gBACjD,MAAM,SAAS,GAAG,IAAI,EAAE,SAA4D,CAAC;gBACrF,MAAM,aAAa,GAAG,IAAI,EAAE,cAA8C,CAAC;gBAE3E,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,0BAA0B;iCAClC,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,yBAAyB;gBACzB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,MAAM,CAAC,KAAK;oCACnB,IAAI,EAAE,oDAAoD;iCAC3D,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC;oBACH,yEAAyE;oBACzE,oEAAoE;oBACpE,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,OAAO;4BACL,OAAO,EAAE,CAAC;oCACR,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wCACnB,MAAM,EAAE,OAAO;wCACf,KAAK,EAAE,qFAAqF;wCAC5F,IAAI,EAAE,oFAAoF;qCAC3F,EAAE,IAAI,EAAE,CAAC,CAAC;iCACZ,CAAC;4BACF,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;oBAED,MAAM,eAAe,GAAoB;wBACvC,KAAK,EAAE,aAAa;qBACrB,CAAC;oBAEF,MAAM,gBAAgB,GAAqB;wBACzC,MAAM,EAAE,gBAAgB;wBACxB,YAAY,EAAE,EAAE;qBACjB,CAAC;oBAEF,MAAM,WAAW,GAAG,IAAI,EAAE,YAAkC,CAAC;oBAC7D,IAAI,WAAW,EAAE,CAAC;wBAChB,gBAAgB,CAAC,YAAY,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;oBAC3D,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,EAAE,EAAE,SAAS;oBACb,SAAS,EACT,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;oBAEF,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oCAC5C,IAAI,EAAE,eAAe;oCACrB,OAAO,EAAE,MAAM,CAAC,OAAO;oCACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wCAC5B,EAAE,EAAE,CAAC,CAAC,MAAM;wCACZ,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;wCAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;wCAChB,KAAK,EAAE,CAAC,CAAC,KAAK;wCACd,SAAS,EAAE,CAAC,CAAC,SAAS;qCACvB,CAAC,CAAC;oCACH,WAAW,EAAE,MAAM,CAAC,WAAW;oCAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;oCACrC,SAAS,EAAE,MAAM,CAAC,SAAS;oCAC3B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wCACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wCACnB,SAAS,EAAE,MAAM,CAAC,SAAS;wCAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;qCAChC,CAAC,CAAC,CAAC,EAAE,CAAC;iCACR,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO;qBACzB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACnB,MAAM,EAAE,OAAO;oCACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iCAC9D,EAAE,IAAI,EAAE,CAAC,CAAC;6BACZ,CAAC;wBACF,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;YACH,CAAC;YAED;gBACE,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,OAAO;gCACf,OAAO,EAAE,iBAAiB,IAAI,EAAE;6BACjC,EAAE,IAAI,EAAE,CAAC,CAAC;yBACZ;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;qBAClE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,qBAAqB;IACrB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,YAAY,EAAE,CAAC;IAEf,8BAA8B;IAC9B,MAAM,eAAe,GAAG,MAAM,eAAe,EAAE,CAAC;IAEhD,kCAAkC;IAClC,OAAO,CAAC,KAAK,CAAC;;;;;;;EAOd,eAAe,CAAC,CAAC,CAAC,sBAAsB,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,0CAA0C;;;IAG5G,CAAC,eAAe,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;CAYpG,CAAC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordsym/apiclaw",
3
- "version": "1.4.7",
3
+ "version": "1.5.0",
4
4
  "description": "The API layer for AI agents. Dashboard + 22K APIs + 18 Direct Call providers. MCP native.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/index.ts CHANGED
@@ -33,6 +33,7 @@ import { getConnectedProviders } from './execute.js';
33
33
  import { executeMetered } from './metered.js';
34
34
  import { logAPICall } from './analytics.js';
35
35
  import { isOpenAPI, executeOpenAPI, listOpenAPIs, getOpenAPIActions } from './open-apis.js';
36
+ import { PROXY_PROVIDERS } from './proxy.js';
36
37
  import {
37
38
  requiresConfirmation,
38
39
  requiresConfirmationAsync,
@@ -80,6 +81,111 @@ interface WorkspaceContext {
80
81
  }
81
82
 
82
83
  let workspaceContext: WorkspaceContext | null = null;
84
+ // Anonymous rate limit tracking (in-memory, per machine fingerprint)
85
+ interface AnonymousRateLimitState {
86
+ hourlyCount: number;
87
+ hourlyResetTime: number;
88
+ weeklyCount: number;
89
+ weeklyResetTime: number;
90
+ }
91
+
92
+ const anonymousRateLimits = new Map<string, AnonymousRateLimitState>();
93
+
94
+ // Rate limit constants
95
+ const ANONYMOUS_HOURLY_LIMIT = 5;
96
+ const ANONYMOUS_WEEKLY_LIMIT = 10;
97
+ const FREE_WEEKLY_LIMIT = 50;
98
+
99
+ /**
100
+ * Calculate minutes until next hour
101
+ */
102
+ function calculateMinutesUntilNextHour(): number {
103
+ const now = new Date();
104
+ const nextHour = new Date(now);
105
+ nextHour.setHours(now.getHours() + 1, 0, 0, 0);
106
+ return Math.ceil((nextHour.getTime() - now.getTime()) / 60000);
107
+ }
108
+
109
+ /**
110
+ * Get next Monday 00:00 UTC as ISO string
111
+ */
112
+ function getNextMondayUTC(): string {
113
+ const now = new Date();
114
+ const dayOfWeek = now.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.
115
+ const daysUntilMonday = dayOfWeek === 0 ? 1 : 8 - dayOfWeek;
116
+ const nextMonday = new Date(now);
117
+ nextMonday.setUTCDate(now.getUTCDate() + daysUntilMonday);
118
+ nextMonday.setUTCHours(0, 0, 0, 0);
119
+ return nextMonday.toISOString().replace('T', ' ').slice(0, 16) + ' UTC';
120
+ }
121
+
122
+ /**
123
+ * Check anonymous rate limits for proxy provider usage
124
+ */
125
+ function checkAnonymousRateLimit(fingerprint: string): { allowed: boolean; error?: string; isAnonymous?: boolean } {
126
+ const now = Date.now();
127
+ const hourInMs = 60 * 60 * 1000;
128
+ const weekInMs = 7 * 24 * hourInMs;
129
+
130
+ // Get or initialize rate limit state
131
+ let state = anonymousRateLimits.get(fingerprint);
132
+ if (!state) {
133
+ state = {
134
+ hourlyCount: 0,
135
+ hourlyResetTime: now + hourInMs,
136
+ weeklyCount: 0,
137
+ weeklyResetTime: now + weekInMs,
138
+ };
139
+ anonymousRateLimits.set(fingerprint, state);
140
+ }
141
+
142
+ // Reset hourly counter if time elapsed
143
+ if (now >= state.hourlyResetTime) {
144
+ state.hourlyCount = 0;
145
+ state.hourlyResetTime = now + hourInMs;
146
+ }
147
+
148
+ // Reset weekly counter if time elapsed
149
+ if (now >= state.weeklyResetTime) {
150
+ state.weeklyCount = 0;
151
+ state.weeklyResetTime = now + weekInMs;
152
+ }
153
+
154
+ // Check hourly limit
155
+ if (state.hourlyCount >= ANONYMOUS_HOURLY_LIMIT) {
156
+ return {
157
+ allowed: false,
158
+ error: JSON.stringify({
159
+ success: false,
160
+ error: `Hourly rate limit (${ANONYMOUS_HOURLY_LIMIT} calls/hour)`,
161
+ retry_after_minutes: calculateMinutesUntilNextHour(),
162
+ hint: "Rate limit resets at top of hour",
163
+ action: "Register to get higher limits: register_owner({ email: 'you@example.com' })"
164
+ }, null, 2)
165
+ };
166
+ }
167
+
168
+ // Check weekly limit
169
+ if (state.weeklyCount >= ANONYMOUS_WEEKLY_LIMIT) {
170
+ return {
171
+ allowed: false,
172
+ error: JSON.stringify({
173
+ success: false,
174
+ error: `Weekly limit reached (${ANONYMOUS_WEEKLY_LIMIT} calls)`,
175
+ hint: "Register to get 50 calls/week",
176
+ action: "Run: register_owner({ email: 'you@example.com' })",
177
+ retry_after: getNextMondayUTC()
178
+ }, null, 2)
179
+ };
180
+ }
181
+
182
+ // Increment counters
183
+ state.hourlyCount++;
184
+ state.weeklyCount++;
185
+
186
+
187
+ return { allowed: true };
188
+ }
83
189
 
84
190
  /**
85
191
  * Validate session on startup
@@ -155,9 +261,43 @@ async function trackEarnProgress(workspaceId: string, provider: string, action:
155
261
  }
156
262
 
157
263
  /**
158
- * Check if workspace is active and has usage remaining
264
+ * Rate limiting for anonymous proxy usage
265
+ * Limits: 10 calls/week, 5 calls/hour (anonymous)
266
+ * 50 calls/week, 10 calls/hour (authenticated)
267
+ */
268
+ interface RateLimitState {
269
+ hourly: { count: number; resetAt: number };
270
+ weekly: { count: number; resetAt: number };
271
+ }
272
+
273
+ const rateLimitStore = new Map<string, RateLimitState>();
274
+
275
+ /**
276
+ * For proxy providers, allow anonymous usage with rate limiting
159
277
  */
160
- function checkWorkspaceAccess(): { allowed: boolean; error?: string } {
278
+ function checkWorkspaceAccess(providerId?: string): { allowed: boolean; error?: string; isAnonymous?: boolean } {
279
+ // Allow anonymous access for proxy providers
280
+ if (providerId && PROXY_PROVIDERS.includes(providerId)) {
281
+ if (!workspaceContext) {
282
+ // Anonymous user - check rate limits
283
+ const fingerprint = getMachineFingerprint();
284
+ const rateLimitCheck = checkAnonymousRateLimit(fingerprint);
285
+
286
+ if (!rateLimitCheck.allowed) {
287
+ return {
288
+ allowed: false,
289
+ error: rateLimitCheck.error,
290
+ isAnonymous: true
291
+ };
292
+ }
293
+
294
+ return { allowed: true, isAnonymous: true };
295
+ }
296
+ // Authenticated user using proxy provider - allow with higher limits
297
+ return { allowed: true, isAnonymous: false };
298
+ }
299
+
300
+ // Non-proxy providers require authentication
161
301
  if (!workspaceContext) {
162
302
  return {
163
303
  allowed: false,
@@ -173,13 +313,28 @@ function checkWorkspaceAccess(): { allowed: boolean; error?: string } {
173
313
  }
174
314
 
175
315
  if (workspaceContext.usageRemaining === 0) {
316
+ // Free tier hit weekly limit
317
+ if (workspaceContext.tier === 'free') {
318
+ return {
319
+ allowed: false,
320
+ error: JSON.stringify({
321
+ success: false,
322
+ error: `Weekly limit reached (${FREE_WEEKLY_LIMIT} calls)`,
323
+ hint: "Upgrade to Backer for unlimited calls",
324
+ upgrade_url: "https://apiclaw.nordsym.com/upgrade",
325
+ retry_after: getNextMondayUTC()
326
+ }, null, 2)
327
+ };
328
+ }
329
+
330
+ // Other tiers (shouldn't happen, but handle gracefully)
176
331
  return {
177
332
  allowed: false,
178
- error: `Usage limit reached. Upgrade to ${workspaceContext.tier === 'free' ? 'Pro' : 'Enterprise'} for more calls.`
333
+ error: `Usage limit reached. Contact support or check your plan at https://apiclaw.nordsym.com/account`
179
334
  };
180
335
  }
181
336
 
182
- return { allowed: true };
337
+ return { allowed: true, isAnonymous: false };
183
338
  }
184
339
 
185
340
  /**
@@ -987,6 +1142,18 @@ Docs: https://apiclaw.nordsym.com
987
1142
  // Check workspace access for chains
988
1143
  const access = checkWorkspaceAccess();
989
1144
  if (!access.allowed) {
1145
+ // If error is already formatted JSON (from rate limit checks), return as-is
1146
+ if (access.error?.startsWith('{')) {
1147
+ return {
1148
+ content: [{
1149
+ type: 'text',
1150
+ text: access.error
1151
+ }],
1152
+ isError: true
1153
+ };
1154
+ }
1155
+
1156
+ // Otherwise, wrap in standard error format
990
1157
  return {
991
1158
  content: [{
992
1159
  type: 'text',
@@ -1119,7 +1286,7 @@ Docs: https://apiclaw.nordsym.com
1119
1286
  // Check workspace access (skip for free/open APIs)
1120
1287
  const isFreeAPI = isOpenAPI(provider);
1121
1288
  if (!isFreeAPI) {
1122
- const access = checkWorkspaceAccess();
1289
+ const access = checkWorkspaceAccess(provider);
1123
1290
  if (!access.allowed) {
1124
1291
  return {
1125
1292
  content: [{
@@ -1127,7 +1294,9 @@ Docs: https://apiclaw.nordsym.com
1127
1294
  text: JSON.stringify({
1128
1295
  status: 'error',
1129
1296
  error: access.error,
1130
- hint: 'Use register_owner to authenticate your workspace.',
1297
+ hint: access.isAnonymous
1298
+ ? 'Rate limit reached. Use register_owner to authenticate for higher limits.'
1299
+ : 'Use register_owner to authenticate your workspace.',
1131
1300
  }, null, 2)
1132
1301
  }],
1133
1302
  isError: true
@@ -1166,13 +1335,17 @@ Docs: https://apiclaw.nordsym.com
1166
1335
  userId: DEFAULT_AGENT_ID,
1167
1336
  });
1168
1337
 
1169
- // Log the confirmed API call
1338
+ // Log the confirmed API call (with fingerprint for anonymous users)
1339
+ const analyticsUserId = workspaceContext
1340
+ ? workspaceContext.workspaceId
1341
+ : `anon:${getMachineFingerprint()}`;
1342
+
1170
1343
  logAPICall({
1171
1344
  timestamp: new Date().toISOString(),
1172
1345
  provider: pending.provider,
1173
1346
  action: pending.action,
1174
1347
  type: apiType,
1175
- userId: DEFAULT_AGENT_ID,
1348
+ userId: analyticsUserId,
1176
1349
  success: result.success,
1177
1350
  latencyMs: Date.now() - startTime,
1178
1351
  error: result.error,
@@ -1259,13 +1432,17 @@ Docs: https://apiclaw.nordsym.com
1259
1432
  });
1260
1433
  }
1261
1434
 
1262
- // Log the API call for analytics
1435
+ // Log the API call for analytics (with fingerprint for anonymous users)
1436
+ const analyticsUserId = workspaceContext
1437
+ ? workspaceContext.workspaceId
1438
+ : `anon:${getMachineFingerprint()}`;
1439
+
1263
1440
  logAPICall({
1264
1441
  timestamp: new Date().toISOString(),
1265
1442
  provider,
1266
1443
  action,
1267
1444
  type: apiType,
1268
- userId: DEFAULT_AGENT_ID,
1445
+ userId: analyticsUserId,
1269
1446
  success: result.success,
1270
1447
  latencyMs: Date.now() - startTime,
1271
1448
  error: result.error,
@@ -1454,6 +1631,21 @@ Docs: https://apiclaw.nordsym.com
1454
1631
  if (sessionResult.success) {
1455
1632
  writeSession(sessionResult.sessionToken!, existing.id, email);
1456
1633
 
1634
+ // Claim anonymous usage history
1635
+ try {
1636
+ const claimResult = await convex.mutation("workspaces:claimAnonymousUsage" as any, {
1637
+ workspaceId: existing.id,
1638
+ machineFingerprint: fingerprint,
1639
+ }) as { success: boolean; claimedCount?: number; message?: string };
1640
+
1641
+ if (claimResult.success && claimResult.claimedCount) {
1642
+ console.error(`[APIClaw] ✓ Claimed ${claimResult.claimedCount} anonymous usage records`);
1643
+ }
1644
+ } catch (err) {
1645
+ // Non-critical error, just log it
1646
+ console.error('[APIClaw] Warning: Failed to claim anonymous usage:', err);
1647
+ }
1648
+
1457
1649
  // Update global context
1458
1650
  workspaceContext = {
1459
1651
  sessionToken: sessionResult.sessionToken!,
@@ -1501,20 +1693,37 @@ Docs: https://apiclaw.nordsym.com
1501
1693
  fingerprint,
1502
1694
  }) as { token: string; expiresAt: number };
1503
1695
 
1504
- // TODO: Agent 2 will implement actual email sending
1505
- // For now, return the verification link
1696
+ // Send magic link via email
1506
1697
  const verifyUrl = `https://apiclaw.nordsym.com/verify?token=${magicLinkResult.token}`;
1507
1698
 
1699
+ const emailResponse = await fetch('https://api.resend.com/emails', {
1700
+ method: 'POST',
1701
+ headers: {
1702
+ 'Authorization': `Bearer ${process.env.RESEND_API_KEY}`,
1703
+ 'Content-Type': 'application/json',
1704
+ },
1705
+ body: JSON.stringify({
1706
+ from: 'APIClaw <noreply@apiclaw.nordsym.com>',
1707
+ to: email,
1708
+ subject: 'Verify your APIClaw workspace',
1709
+ html: `<p>Click to verify: <a href="${verifyUrl}">${verifyUrl}</a></p><p>Expires in 15 minutes.</p>`
1710
+ })
1711
+ });
1712
+
1713
+ if (!emailResponse.ok) {
1714
+ const errorData = await emailResponse.text();
1715
+ throw new Error(`Failed to send verification email: ${errorData}`);
1716
+ }
1717
+
1508
1718
  return {
1509
1719
  content: [{
1510
1720
  type: 'text',
1511
1721
  text: JSON.stringify({
1512
1722
  status: 'pending_verification',
1513
- message: 'Workspace created! Please verify your email.',
1723
+ message: 'Workspace created! Check your email for verification link.',
1514
1724
  email,
1515
- verification_url: verifyUrl,
1516
1725
  expires_in_minutes: 15,
1517
- next_step: 'Click the verification link, then run check_workspace_status',
1726
+ next_step: 'Check your email, click the verification link, then run check_workspace_status',
1518
1727
  }, null, 2)
1519
1728
  }]
1520
1729
  };