vigthoria-cli 1.5.3 → 1.5.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
@@ -1022,29 +1022,116 @@ class AgenticTools {
1022
1022
  let content = await response.text();
1023
1023
  // Extract content based on selector if provided (basic HTML extraction)
1024
1024
  if (args.selector && content.includes('<')) {
1025
- // Basic extraction - for title, meta, etc.
1026
- const selector = args.selector.toLowerCase();
1025
+ const selector = args.selector.toLowerCase().trim();
1027
1026
  if (selector === 'title') {
1028
1027
  const match = content.match(/<title[^>]*>([^<]*)<\/title>/i);
1029
1028
  content = match ? match[1].trim() : 'No title found';
1030
1029
  }
1031
- else if (selector === 'meta') {
1030
+ else if (selector === 'meta' || selector.includes('meta[')) {
1032
1031
  const matches = content.match(/<meta[^>]+>/gi) || [];
1033
- content = matches.join('\n');
1032
+ content = matches.length > 0 ? matches.join('\n') : 'No meta tags found';
1034
1033
  }
1035
- else if (selector === 'body') {
1034
+ else if (selector === 'body' || selector === 'text') {
1035
+ // Extract readable text from body
1036
1036
  const match = content.match(/<body[^>]*>([\s\S]*)<\/body>/i);
1037
- content = match ? match[1].replace(/<script[\s\S]*?<\/script>/gi, '').replace(/<style[\s\S]*?<\/style>/gi, '').replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim() : content;
1037
+ if (match) {
1038
+ content = match[1]
1039
+ .replace(/<script[\s\S]*?<\/script>/gi, '')
1040
+ .replace(/<style[\s\S]*?<\/style>/gi, '')
1041
+ .replace(/<nav[\s\S]*?<\/nav>/gi, '')
1042
+ .replace(/<header[\s\S]*?<\/header>/gi, '')
1043
+ .replace(/<footer[\s\S]*?<\/footer>/gi, '')
1044
+ .replace(/<[^>]+>/g, ' ')
1045
+ .replace(/\s+/g, ' ')
1046
+ .trim();
1047
+ }
1048
+ }
1049
+ else if (selector === 'links' || selector === 'a') {
1050
+ // Extract all links
1051
+ const linkRegex = /<a[^>]+href=["']([^"']+)["'][^>]*>([^<]*)<\/a>/gi;
1052
+ const links = [];
1053
+ let linkMatch;
1054
+ while ((linkMatch = linkRegex.exec(content)) !== null) {
1055
+ const href = linkMatch[1];
1056
+ const text = linkMatch[2].trim();
1057
+ if (text && !href.startsWith('#') && !href.startsWith('javascript:')) {
1058
+ links.push(`${text}: ${href}`);
1059
+ }
1060
+ }
1061
+ content = links.length > 0 ? links.join('\n') : 'No links found';
1038
1062
  }
1039
- else if (selector.startsWith('h')) {
1040
- const regex = new RegExp(`<${selector}[^>]*>([^<]*)</${selector}>`, 'gi');
1063
+ else if (selector.includes(',')) {
1064
+ // Handle compound selectors like "h1, h2, h3"
1065
+ const tags = selector.split(',').map(s => s.trim());
1066
+ const allMatches = [];
1067
+ for (const tag of tags) {
1068
+ const regex = new RegExp(`<${tag}[^>]*>([\\s\\S]*?)</${tag}>`, 'gi');
1069
+ let match;
1070
+ while ((match = regex.exec(content)) !== null) {
1071
+ const text = match[1].replace(/<[^>]+>/g, '').trim();
1072
+ if (text)
1073
+ allMatches.push(`[${tag}] ${text}`);
1074
+ }
1075
+ }
1076
+ content = allMatches.length > 0 ? allMatches.join('\n') : `No ${selector} tags found`;
1077
+ }
1078
+ else if (/^h[1-6]$/.test(selector)) {
1079
+ // Single heading selector
1080
+ const regex = new RegExp(`<${selector}[^>]*>([\\s\\S]*?)</${selector}>`, 'gi');
1041
1081
  const matches = [];
1042
1082
  let match;
1043
1083
  while ((match = regex.exec(content)) !== null) {
1044
- matches.push(match[1].trim());
1084
+ const text = match[1].replace(/<[^>]+>/g, '').trim();
1085
+ if (text)
1086
+ matches.push(text);
1045
1087
  }
1046
1088
  content = matches.length > 0 ? matches.join('\n') : `No ${selector} tags found`;
1047
1089
  }
1090
+ else if (selector === 'nav' || selector === 'nav a') {
1091
+ // Extract navigation links
1092
+ const navMatch = content.match(/<nav[^>]*>([\s\S]*?)<\/nav>/gi);
1093
+ if (navMatch) {
1094
+ const linkRegex = /<a[^>]+href=["']([^"']+)["'][^>]*>([^<]*)<\/a>/gi;
1095
+ const links = [];
1096
+ for (const nav of navMatch) {
1097
+ let linkMatch;
1098
+ while ((linkMatch = linkRegex.exec(nav)) !== null) {
1099
+ const text = linkMatch[2].trim();
1100
+ if (text)
1101
+ links.push(`${text}: ${linkMatch[1]}`);
1102
+ }
1103
+ }
1104
+ content = links.length > 0 ? links.join('\n') : 'No navigation links found';
1105
+ }
1106
+ else {
1107
+ content = 'No navigation found';
1108
+ }
1109
+ }
1110
+ else if (selector === 'footer') {
1111
+ const match = content.match(/<footer[^>]*>([\s\S]*?)<\/footer>/i);
1112
+ content = match ? match[1].replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim() : 'No footer found';
1113
+ }
1114
+ else if (selector === 'images' || selector === 'img') {
1115
+ const imgRegex = /<img[^>]+src=["']([^"']+)["'][^>]*(?:alt=["']([^"']*)["'])?[^>]*>/gi;
1116
+ const images = [];
1117
+ let imgMatch;
1118
+ while ((imgMatch = imgRegex.exec(content)) !== null) {
1119
+ const src = imgMatch[1];
1120
+ const alt = imgMatch[2] || 'no alt';
1121
+ images.push(`${alt}: ${src}`);
1122
+ }
1123
+ content = images.length > 0 ? images.join('\n') : 'No images found';
1124
+ }
1125
+ else {
1126
+ // Generic tag extraction
1127
+ const regex = new RegExp(`<${selector}[^>]*>([\\s\\S]*?)</${selector}>`, 'gi');
1128
+ const matches = [];
1129
+ let match;
1130
+ while ((match = regex.exec(content)) !== null) {
1131
+ matches.push(match[1].replace(/<[^>]+>/g, ' ').trim());
1132
+ }
1133
+ content = matches.length > 0 ? matches.join('\n\n---\n\n') : `No ${selector} elements found`;
1134
+ }
1048
1135
  }
1049
1136
  // Truncate if too long
1050
1137
  if (content.length > 50000) {
@@ -1348,23 +1435,47 @@ To use a tool, output a JSON block in a code fence with "tool" language:
1348
1435
  {"tool": "read_file", "args": {"path": "src/index.js"}}
1349
1436
  \`\`\`
1350
1437
 
1351
- 3. Fetch a web page:
1438
+ 3. Fetch a web page (full HTML):
1352
1439
  \`\`\`tool
1353
- {"tool": "fetch_url", "args": {"url": "https://example.com", "selector": "title"}}
1440
+ {"tool": "fetch_url", "args": {"url": "https://example.com"}}
1354
1441
  \`\`\`
1355
1442
 
1356
- 4. Run command on remote server (for Unix commands from Windows):
1443
+ 4. Fetch specific content with selectors:
1444
+ \`\`\`tool
1445
+ {"tool": "fetch_url", "args": {"url": "https://example.com", "selector": "h1, h2, h3"}}
1446
+ \`\`\`
1447
+ Available selectors: title, body, text, links, nav, footer, images, h1, h2, h3, h1/h2/h3 (compound)
1448
+
1449
+ 5. Run command on remote server (for Unix commands from Windows):
1357
1450
  \`\`\`tool
1358
1451
  {"tool": "ssh_exec", "args": {"command": "curl -s https://example.com | head -20"}}
1359
1452
  \`\`\`
1360
1453
 
1361
- 5. Write a file:
1454
+ 6. Write a file:
1362
1455
  \`\`\`tool
1363
1456
  {"tool": "write_file", "args": {"path": "hello.py", "content": "print('Hello World')"}}
1364
1457
  \`\`\`
1365
1458
 
1366
1459
  ## CRITICAL RULES:
1367
1460
 
1461
+ ### ABSOLUTELY NO HALLUCINATION (READ THIS CAREFULLY):
1462
+ - ONLY use information from tool results you just received in THIS conversation
1463
+ - DO NOT make up names, organizations, or content that wasn't in the fetched data
1464
+ - DO NOT read random files from the workspace expecting them to contain relevant data
1465
+ - If you fetch a website, your analysis MUST be based ONLY on what you just fetched
1466
+ - If the user asks about websites A and B, ONLY discuss A and B - don't invent Site C
1467
+ - NEVER create fictional organizations, services, or content
1468
+ - If you're unsure about something, say "Based on the fetched content, I can see..." not "This organization does..."
1469
+
1470
+ ### Strategic Planning (VERY IMPORTANT):
1471
+ - PLAN before acting - don't issue many redundant tool calls
1472
+ - For web comparisons: Fetch each URL ONCE with no selector to get full HTML, then analyze locally
1473
+ - Do NOT fetch the same URL multiple times with different selectors - fetch once and parse the result
1474
+ - Think step-by-step: 1) Gather data, 2) Analyze it, 3) Present findings
1475
+ - If comparing two things, fetch both ONCE, then write a REAL comparison with specific differences
1476
+ - Maximum 2-4 tool calls per step is usually enough - don't spam 10+ calls at once
1477
+ - Do NOT use list_dir or read_file when the task is about fetching websites - those are for LOCAL files only
1478
+
1368
1479
  ### Cross-Platform Compatibility:
1369
1480
  - On Windows, Unix commands (head, tail, grep, awk, sed, wc) are NOT available
1370
1481
  - Use \`fetch_url\` for web requests instead of curl|grep
@@ -1379,10 +1490,20 @@ To use a tool, output a JSON block in a code fence with "tool" language:
1379
1490
  - If a command fails, explain what happened and suggest alternatives
1380
1491
  - Do NOT write analysis or comparison reports if you couldn't gather the actual data
1381
1492
 
1493
+ ### Comparison Tasks:
1494
+ - When asked to compare websites/files, you MUST produce actual specific differences
1495
+ - Don't just describe each site separately - show what Site A has that Site B is missing
1496
+ - Use concrete examples: "Site A has a Team page at /team.html, Site B does not"
1497
+ - If you need sub-pages, fetch them in follow-up steps after analyzing the main page
1498
+ - BASE YOUR COMPARISON ONLY ON THE DATA YOU FETCHED - not on random files in the workspace
1499
+ - Quote actual text from the fetched content to support your claims
1500
+
1382
1501
  ### File Access:
1383
1502
  - You can ONLY access files within the current project workspace
1384
1503
  - Use relative paths (e.g., "src/file.js", "app.py", "./config.json")
1385
1504
  - Never try to access system files or directories outside the workspace
1505
+ - Do NOT read files unrelated to the user's request (e.g., don't read "comparison.md" when asked to fetch websites)
1506
+ - When comparing WEBSITES, use fetch_url - do NOT use read_file or list_dir
1386
1507
 
1387
1508
  ### Tool Names:
1388
1509
  - Use ONLY these exact tool names: list_dir, read_file, write_file, edit_file, bash, grep, glob, git, repo, fetch_url, ssh_exec
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAgD;AAChD,kDAA0B;AA+C1B,kCAAkC;AAClC,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;IACvC,gDAA+B,CAAA;IAC/B,oCAAmB,CAAA;IACnB,8CAA6B,CAAA;IAC7B,sDAAqC,CAAA;IACrC,kDAAiC,CAAA;AACnC,CAAC,EARW,aAAa,6BAAb,aAAa,QAQxB;AAED,MAAa,YAAY;IACf,MAAM,CAAS;IACf,GAAG,CAAS;IACZ,kBAAkB,CAAwF;IAC1G,WAAW,CAAU;IACrB,SAAS,GAAoB,EAAE,CAAC;IAChC,YAAY,GAAW,EAAE,CAAC;IAC1B,WAAW,GAAG;QACpB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,CAAC;KACvF,CAAC;IAEF,mFAAmF;IAC3E,oBAAoB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEtD,YACE,MAAc,EACd,GAAW,EACX,kBAAyG,EACzG,cAAuB,KAAK;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iBAAiB;gBACxB,UAAU,EAAE,yEAAyE;aACtF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;oBACpC,iCAAiC;oBACjC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAC/B,OAAO;4BACL,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,aAAa,MAAM,CAAC,WAAW,qBAAqB,MAAM,CAAC,QAAQ,EAAE;4BAC7E,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;yBACpD,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBAChD,2BAA2B;oBAC3B,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBACnE,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,aAAa,MAAM,CAAC,WAAW,sBAAsB,MAAM,CAAC,QAAQ,EAAE;wBAC9E,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;qBACpD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,mBAAoB,KAAe,CAAC,OAAO,EAAE;oBACpD,UAAU,EAAE,sDAAsD;iBACnE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iCAAiC;SACzC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,kBAAkB;QACvB,OAAO;YACL;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,6BAA6B;gBAC1C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACjF,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAC9E,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAC3E;gBACD,kBAAkB,EAAE,KAAK;gBACzB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,MAAM;aACjB;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,iDAAiD;gBAC9D,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1D,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACrE;gBACD,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,OAAO;aAClB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,iDAAiD;gBAC9D,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1D,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACpE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC9D;gBACD,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,OAAO;aAClB;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,qBAAqB;gBAClC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC5E,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAClE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACxE;gBACD,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,SAAS;aACpB;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,8BAA8B;gBAC3C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC1E,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACxE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,sCAAsC,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAC1F;gBACD,kBAAkB,EAAE,KAAK;gBACzB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,QAAQ;aACnB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,8BAA8B;gBAC3C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC/D,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACxE;gBACD,kBAAkB,EAAE,KAAK;gBACzB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,MAAM;aACjB;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,+BAA+B;gBAC5C,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACjF;gBACD,kBAAkB,EAAE,KAAK;gBACzB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,QAAQ;aACnB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,kBAAkB;gBAC/B,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACvE;gBACD,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,SAAS;aACpB;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,8FAA8F;gBAC3G,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wDAAwD,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACzG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kDAAkD,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACrG,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,0CAA0C,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sDAAsD,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACtG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,2CAA2C,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAC/F,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,yDAAyD,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAChH;gBACD,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,SAAS;aACpB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,qGAAqG;gBAClH,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,sCAAsC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACpF,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjF,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACnF,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,oCAAoC,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACpF,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,qDAAqD,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAC1G;gBACD,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,MAAM;aACjB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,sFAAsF;gBACnG,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACvF,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAsC,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACtF,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACxE;gBACD,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,SAAS;aACpB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/E,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,YAAY,EAC1B,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAC5B,oBAAoB,YAAY,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpF,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,gEAAgE;YAChE,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,4CAA4C;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC5C,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,EACxC,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;gBAEF,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACvB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,2BAA2B;wBAClC,QAAQ,EAAE,IAAI;qBACf,CAAC;gBACJ,CAAC;gBAED,kEAAkE;gBAClE,iDAAiD;gBACjD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACzB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAAc,EAAE,IAAoB;QACjE,IAAI,SAAS,GAAsB,IAAI,CAAC;QAExC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACxE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK;oBAC3C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAE5C,IAAI,CAAC,WAAW,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;oBAC5D,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,SAAS,GAAG,MAAM,CAAC;gBAEnB,2CAA2C;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EACnD,IAAI,CAAC,WAAW,CAAC,UAAU,CAC5B,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,OAAO,KAAK,eAAe,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAChC,aAAa,CAAC,gBAAgB,EAC7B,KAAe,CAAC,OAAO,CACzB,CAAC;gBAEF,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;oBAC5C,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,IAAI,IAAI,CAAC,iBAAiB,CACxC,aAAa,CAAC,gBAAgB,EAC9B,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,IAAc;QACtC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC;gBACE,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,YAAY,EAC1B,yBAAyB,IAAI,CAAC,IAAI,EAAE,CACrC,CAAC;QACN,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAa;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAc,EAAE,IAAoB;QAC7D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,YAAY,EAC1B,+BAA+B,KAAK,CAAC,IAAI,EAAE,EAC3C,OAAO,IAAI,CAAC,IAAI,uBAAuB,KAAK,CAAC,IAAI,gBAAgB,KAAK,CAAC,WAAW,EAAE,CACrF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,iBAAiB,CACvB,IAAmB,EACnB,OAAe,EACf,UAAmB;QAEnB,MAAM,WAAW,GAAkC;YACjD,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,yEAAyE;YACzG,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,4EAA4E;YAC/G,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,yEAAyE;YACxG,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,6EAA6E;YACtG,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,2DAA2D;YACzF,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,0CAA0C;YAC5E,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,+CAA+C;SAChF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC;YAC3C,QAAQ,EAAE,IAAI,KAAK,aAAa,CAAC,cAAc,IAAI,IAAI,KAAK,aAAa,CAAC,YAAY;SACvF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,IAAc,EAAE,IAAoB;QAClE,MAAM,UAAU,GAAgD;YAC9D,GAAG,EAAE,eAAK,CAAC,KAAK;YAChB,MAAM,EAAE,eAAK,CAAC,MAAM;YACpB,IAAI,EAAE,eAAK,CAAC,GAAG;YACf,QAAQ,EAAE,eAAK,CAAC,KAAK,CAAC,KAAK;SAC5B,CAAC;QAEF,MAAM,SAAS,GAA8B;YAC3C,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,GAAG;SACd,CAAC;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,GAAG,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,sBAAsB,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACjI,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;QAEzC,wBAAwB;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7F,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClB,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC/E,CAAC;YACD,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,CAAC;QAC1F,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACtC,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACrF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACpD,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACvI,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC;QAC3F,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACrC,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACrF,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YAC1J,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAC3J,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/B,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAChG,CAAC;QAED,cAAc;QACd,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;QAEzC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC3I,GAAG,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC;QAE5E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,GAAG,IAAI,KAAK,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,sDAAsD,CAAC,IAAI,CAAC;YACvF,GAAG,IAAI,eAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QACpF,CAAC;QAED,0BAA0B;QAC1B,GAAG,IAAI,KAAK,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAEnN,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,qEAAqE;IAErE;;OAEG;IACK,QAAQ,CAAC,IAA4B;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,4BAA4B;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,WAAW,GAAa,EAAE,CAAC;YAE/B,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,WAAW,GAAG,KAAK;qBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBACzE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjB,CAAC;YAED,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,cAAc,EAC5B,mBAAmB,IAAI,CAAC,IAAI,EAAE,EAC9B,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,8BAA8B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxD,CAAC,CAAC,uDAAuD,CAC5D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,cAAc;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC;YACnH,CAAC;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAEvE,wBAAwB;YACxB,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,YAAY,EAC1B,uBAAuB,IAAI,CAAC,UAAU,cAAc,KAAK,CAAC,MAAM,SAAS,CAC1E,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAE9E,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,QAAQ,EAAE;oBACR,UAAU,EAAE,KAAK,CAAC,MAAM;oBACxB,aAAa,EAAE,aAAa,CAAC,MAAM;oBACnC,QAAQ,EAAE,IAAI,CAAC,IAAI;iBACpB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,EAAE,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,IAA4B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEnC,gDAAgD;QAChD,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,6BAA6B;YAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAElD,uBAAuB;YACvB,MAAM,MAAM,GAAkB;gBAC5B,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,QAAQ,EAAE,QAAQ;gBAClB,eAAe,EAAE,eAAe;gBAChC,WAAW,EAAE,eAAe;oBAC1B,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,sBAAsB;oBAC5C,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,gBAAgB;aACxC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE5B,wBAAwB;YACxB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAED,MAAM,KAAK,GAAG,eAAe,KAAK,IAAI,CAAC;YACvC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,EAAE;gBAC7D,QAAQ,EAAE;oBACR,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC1B,KAAK;oBACL,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,EAAE,iCAAiC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,IAA4B;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,cAAc,EAC5B,mBAAmB,IAAI,CAAC,IAAI,EAAE,EAC9B,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,eAAe,GAAG,OAAO,CAAC;YAEhC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,iCAAiC;gBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrE,MAAM,eAAe,GAAG,KAAK;qBAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;qBAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;qBACzD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEf,IAAI,UAAU,GAAG,gCAAgC,CAAC;gBAClD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,UAAU,IAAI,mCAAmC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnG,CAAC;gBACD,UAAU,IAAI,kDAAkD,CAAC;gBAEjE,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,gBAAgB,EAC9B,4BAA4B,EAC5B,UAAU,CACX,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACvH,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,4CAA4C,CAAC,CAAC;YACpF,CAAC;YAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE7C,uBAAuB;YACvB,MAAM,MAAM,GAAkB;gBAC5B,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,QAAQ,EAAE,QAAQ;gBAClB,eAAe,EAAE,eAAe;gBAChC,WAAW,EAAE,WAAW,IAAI,CAAC,IAAI,iBAAiB;aACnD,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE5B,wBAAwB;YACxB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,gBAAgB,IAAI,CAAC,IAAI,EAAE;gBACnC,QAAQ,EAAE;oBACR,YAAY,EAAE,UAAU;oBACxB,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,iBAAiB,EAAE,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,IAAI,CAAC,IAA4B;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACrE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE/B,qDAAqD;QACrD,MAAM,gBAAgB,GAAG;YACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;YACjE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;YACjE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;SAChE,CAAC;QAEF,mDAAmD;QACnD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC5D,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,gBAAgB,EAC9B,YAAY,SAAS,+BAA+B,EACpD,8DAA8D;wBAC9D,uCAAuC;wBACvC,qFAAqF,CACtF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/F,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;oBAChC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACnC,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,gBAAgB,EAC9B,kBAAkB,GAAG,+BAA+B,EACpD,yBAAyB,GAAG,6EAA6E,CAC1G,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,MAAM,eAAe,GAAG;YACtB,kBAAkB,EAAqB,uBAAuB;YAC9D,yBAAyB,EAAe,4BAA4B;YACpE,mBAAmB,EAAqB,oBAAoB;YAC5D,kCAAkC,EAAM,oCAAoC;YAC5E,gBAAgB,EAAwB,6BAA6B;YACrE,0CAA0C,EAAG,uBAAuB;YACpE,mBAAmB,EAAqB,wBAAwB;YAChE,kCAAkC,EAAM,oCAAoC;YAC5E,WAAW,EAA8B,gBAAgB;YACzD,WAAW,EAA8B,aAAa;YACtD,sBAAsB,EAAmB,6BAA6B;YACtE,6EAA6E,EAAE,sBAAsB;YACrG,uDAAuD,EAAE,0BAA0B;SACpF,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBACzG,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,iBAAiB,EAC/B,8CAA8C,EAC9C,8DAA8D,CAC/D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,cAAc,EAC5B,gCAAgC,GAAG,EAAE,EACrC,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,uCAAuC;YACvC,MAAM,WAAW,GAAQ;gBACvB,GAAG;gBACH,OAAO;gBACP,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;gBACpC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,gCAAgC;gBAChC,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,wBAAwB;oBACxB,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,GAAG;iBACV;aACF,CAAC;YAEF,sDAAsD;YACtD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,iCAAiC;YAC7D,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;YAChC,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAW,CAAC;YAE7D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,QAAQ,EAAE;oBACR,UAAU,EAAE,QAAQ;oBACpB,GAAG;iBACJ;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,qCAAqC;YACrC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAElC,kDAAkD;YAClD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,OAAO,EACrB,2BAA2B,OAAO,GAAC,IAAI,GAAG,EAC1C,wEAAwE,CACzE,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,gBAAgB,EAC9B,sBAAsB,GAAG,EAAE,EAC3B,kDAAkD,CACnD,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,iBAAiB,EAC/B,qCAAqC,EACrC,qDAAqD,CACtD,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO;gBAC9B,UAAU,EAAE,qCAAqC;gBACjD,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,IAA4B;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;QACpC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzB,gEAAgE;QAChE,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC;QAEzC,IAAI,GAAW,CAAC;QAChB,IAAI,KAAK,EAAE,CAAC;YACV,sDAAsD;YACtD,6DAA6D;YAC7D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,GAAG,GAAG,uBAAuB,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,MAAM,UAAU,GAAG,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,aAAa,IAAI,CAAC,OAAO,MAAM,UAAU,GAAG,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,GAAG,GAAG,qCAAqC,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,MAAM,UAAU,GAAG,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,2BAA2B,IAAI,CAAC,OAAO,MAAM,UAAU,GAAG,CAAC;YACnE,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,GAAG,EAAE;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;gBAC1B,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,+CAA+C;aAC3F,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,mBAAmB;gBACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YACvD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,IAA4B;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACxE,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAEO,IAAI,CAAC,IAA4B;QACvC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,GAAG,CAAC,IAA4B;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE;gBAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,IAAI,CAAC,IAA4B;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;QAEzC,IAAI,CAAC;YACH,wCAAwC;YACxC,IAAI,OAAe,CAAC;YAEpB,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,MAAM;oBACT,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,mCAAmC;4BAC1C,UAAU,EAAE,mEAAmE;yBAChF,CAAC;oBACJ,CAAC;oBACD,OAAO,GAAG,wBAAwB,OAAO,MAAM,UAAU,kBAAkB,UAAU,EAAE,CAAC;oBACxF,MAAM;gBAER,KAAK,MAAM;oBACT,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,mCAAmC;4BAC1C,UAAU,EAAE,mEAAmE;yBAChF,CAAC;oBACJ,CAAC;oBACD,OAAO,GAAG,wBAAwB,OAAO,GAAG,CAAC;oBAC7C,MAAM;gBAER,KAAK,MAAM;oBACT,OAAO,GAAG,qBAAqB,CAAC;oBAChC,MAAM;gBAER,KAAK,QAAQ;oBACX,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,qCAAqC;4BAC5C,UAAU,EAAE,qEAAqE;yBAClF,CAAC;oBACJ,CAAC;oBACD,OAAO,GAAG,0BAA0B,OAAO,GAAG,CAAC;oBAC/C,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC/B,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,kDAAkD;4BACzD,UAAU,EAAE,gGAAgG;yBAC7G,CAAC;oBACJ,CAAC;oBACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC;oBAC7C,OAAO,GAAG,yBAAyB,OAAO,MAAM,IAAI,CAAC,QAAQ,kBAAkB,UAAU,EAAE,CAAC;oBAC5F,MAAM;gBAER,KAAK,QAAQ;oBACX,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,qCAAqC;4BAC5C,UAAU,EAAE,qEAAqE;yBAClF,CAAC;oBACJ,CAAC;oBACD,OAAO,GAAG,0BAA0B,OAAO,WAAW,CAAC;oBACvD,MAAM;gBAER,KAAK,OAAO;oBACV,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,oCAAoC;4BAC3C,UAAU,EAAE,yFAAyF;yBACtG,CAAC;oBACJ,CAAC;oBACD,OAAO,GAAG,yBAAyB,OAAO,MAAM,UAAU,GAAG,CAAC;oBAC9D,MAAM;gBAER;oBACE,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,wBAAwB,MAAM,EAAE;wBACvC,UAAU,EAAE,mEAAmE;qBAChF,CAAC;YACN,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,OAAO,EAAE;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,MAAM,EAAE,uCAAuC;gBACxD,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,kCAAkC;aAC7E,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;aAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO;gBACpC,UAAU,EAAE,qFAAqF;aAClG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,QAAQ,CAAC,IAA4B;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAEpD,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,YAAY,EAC1B,yCAAyC,EACzC,gDAAgD,CACjD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAgB;gBAChC,MAAM;gBACN,OAAO,EAAE;oBACP,YAAY,EAAE,qBAAqB;oBACnC,QAAQ,EAAE,iEAAiE;iBAC5E;aACF,CAAC;YAEF,mCAAmC;YACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/C,YAAY,CAAC,OAAO,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;gBACvE,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3D,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC7B,YAAY,CAAC,OAAkC,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YACxF,CAAC;YAED,kCAAkC;YAClC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5D,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAChD,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,aAAa,EAC3B,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,EACjD,yCAAyC,QAAQ,CAAC,MAAM,EAAE,CAC3D,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEpC,wEAAwE;YACxE,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;gBAEpD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACzB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBAC7D,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBACvD,CAAC;qBAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;oBACrD,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBAC3E,CAAC;qBAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACtD,kCAAkC;oBAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBAC7D,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;6BACf,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;6BAC1C,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;6BACxC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;6BACpC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;6BAC1C,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;6BAC1C,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;6BACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;6BACpB,IAAI,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBACpD,oBAAoB;oBACpB,MAAM,SAAS,GAAG,kDAAkD,CAAC;oBACrE,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,IAAI,SAAS,CAAC;oBACd,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBACtD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACjC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;4BACrE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;oBACD,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBACnE,CAAC;qBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,8CAA8C;oBAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,UAAU,GAAa,EAAE,CAAC;oBAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,uBAAuB,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;wBACrE,IAAI,KAAK,CAAC;wBACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;4BAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;4BACrD,IAAI,IAAI;gCAAE,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;oBACD,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,aAAa,CAAC;gBACxF,CAAC;qBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrC,0BAA0B;oBAC1B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,uBAAuB,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC/E,MAAM,OAAO,GAAa,EAAE,CAAC;oBAC7B,IAAI,KAAK,CAAC;oBACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBACrD,IAAI,IAAI;4BAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;oBACD,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,aAAa,CAAC;gBAClF,CAAC;qBAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACtD,2BAA2B;oBAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBAChE,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,SAAS,GAAG,kDAAkD,CAAC;wBACrE,MAAM,KAAK,GAAa,EAAE,CAAC;wBAC3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;4BAC3B,IAAI,SAAS,CAAC;4BACd,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gCAClD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gCACjC,IAAI,IAAI;oCAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACnD,CAAC;wBACH,CAAC;wBACD,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;oBAC9E,CAAC;yBAAM,CAAC;wBACN,OAAO,GAAG,qBAAqB,CAAC;oBAClC,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBAClE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBACtG,CAAC;qBAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACvD,MAAM,QAAQ,GAAG,qEAAqE,CAAC;oBACvF,MAAM,MAAM,GAAa,EAAE,CAAC;oBAC5B,IAAI,QAAQ,CAAC;oBACb,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;wBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;oBAChC,CAAC;oBACD,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,yBAAyB;oBACzB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,uBAAuB,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC/E,MAAM,OAAO,GAAa,EAAE,CAAC;oBAC7B,IAAI,KAAK,CAAC;oBACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,iBAAiB,CAAC;gBAC/F,CAAC;YACH,CAAC;YAED,uBAAuB;YACvB,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;gBAC3B,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,qCAAqC,CAAC;YAChF,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE;oBACR,GAAG;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS;oBAC9D,aAAa,EAAE,OAAO,CAAC,MAAM;iBAC9B;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,OAAO,EACrB,oCAAoC,EACpC,wEAAwE,CACzE,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,aAAa,EAC3B,KAAK,CAAC,OAAO,EACb,+DAA+D,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,OAAO,CAAC,IAA4B;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAErE,mCAAmC;QACnC,MAAM,eAAe,GAAG;YACtB,mBAAmB,EAAW,wBAAwB;YACtD,cAAc,EAAiB,UAAU;YACzC,gBAAgB,EAAe,0BAA0B;YACzD,oBAAoB,EAAW,gBAAgB;YAC/C,SAAS,EAAsB,qBAAqB;YACpD,gCAAgC,EAAE,iBAAiB;SACpD,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,iBAAiB,EAC/B,8CAA8C,EAC9C,uDAAuD,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAE/B,IAAI,UAAkB,CAAC;YACvB,IAAI,WAAW,GAAQ;gBACrB,QAAQ,EAAE,OAAO;gBACjB,OAAO;gBACP,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC;YAEF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,+CAA+C;gBAC/C,UAAU,GAAG,yEAAyE,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;gBAC/H,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,UAAU,GAAG,yEAAyE,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;gBACjI,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;YAChC,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,UAAU,EAAE,WAAW,CAAW,CAAC;YAE3D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;aAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YAErD,IAAI,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACrF,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,aAAa,EAC3B,+BAA+B,IAAI,EAAE,EACrC,+DAA+D,CAChE,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAClF,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,iBAAiB,EAC/B,2BAA2B,EAC3B,iEAAiE,CAClE,CAAC;YACJ,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,iBAAiB,CAC3B,aAAa,CAAC,OAAO,EACrB,+BAA+B,OAAO,GAAC,IAAI,GAAG,EAC9C,gDAAgD,CACjD,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;gBAC1B,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,+DAA+D;aAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,CAAS;QAC3B,6DAA6D;QAC7D,IAAI,YAAoB,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACzF,yDAAyD;YACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,EAAE,CAAC,CAAC;YAC7E,sDAAsD;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,CAAS;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,YAAY,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,KAAK,aAAa,CAAC;IAC7F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,IAAY;QAChC,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC;QAEV,mDAAmD;QACnD,MAAM,OAAO,GAAG,CAAC,OAAe,EAAU,EAAE;YAC1C,OAAO,OAAO;iBACX,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAE,oCAAoC;iBACxD,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAE,sBAAsB;iBAC9D,OAAO,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAE,kCAAkC;iBAClF,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAE,kBAAkB;iBACzC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,0BAA0B;iBAC9C,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAE,cAAc;iBACrC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAE,oCAAoC;iBAC5D,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAE,mCAAmC;QACjE,CAAC,CAAC;QAEF,2CAA2C;QAC3C,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;YACjD,MAAM,UAAU,GAAG,IAAI;iBACpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,6BAA6B;iBACjD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,8BAA8B;iBAClD,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAE,yBAAyB;iBACpD,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAE,yBAAyB;iBACpD,WAAW,EAAE,CAAC;YAEjB,wBAAwB;YACxB,MAAM,OAAO,GAA2B;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,MAAM;gBACjB,UAAU,EAAE,UAAU;gBACtB,gBAAgB,EAAE,UAAU;gBAC5B,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE,WAAW;gBACnB,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,YAAY;gBACzB,OAAO,EAAE,YAAY;gBACrB,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE,WAAW;aACpB,CAAC;YAEF,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;QAC3C,CAAC,CAAC;QAEF,0CAA0C;QAC1C,MAAM,aAAa,GAAG,2CAA2C,CAAC;QAClE,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,qBAAqB;YACvB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,cAAc,GAAG,8BAA8B,CAAC;QACtD,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,qBAAqB;YACvB,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,cAAc,GAAG,mDAAmD,CAAC;QAC3E,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC7C,qBAAqB;oBACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;wBACvG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,qBAAqB;YACvB,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,MAAM,eAAe,GAAG,wFAAwF,CAAC;QACjH,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;wBACvG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,qBAAqB;YACvB,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,MAAM,UAAU,GAAG,6CAA6C,CAAC;QACjE,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,mCAAmC;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBAClG,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAEvE,MAAM,IAAI,GAA2B,EAAE,CAAC;gBACxC,IAAI,SAAS;oBAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,QAAQ;oBAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,YAAY;oBAAE,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAEjD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,qBAAqB;oBACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;wBAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB;QACtB,MAAM,KAAK,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAEhD,IAAI,MAAM,GAAG;;CAEhB,CAAC;QAEE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,MAAM,IAAI,CAAC,IAAI;EAC7B,IAAI,CAAC,WAAW;;EAEhB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEzG,CAAC;QACE,CAAC;QAED,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgGb,CAAC;QAEE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAtoDD,oCAsoDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vigthoria-cli",
3
- "version": "1.5.3",
3
+ "version": "1.5.5",
4
4
  "description": "Vigthoria Coder CLI - AI-powered terminal coding assistant",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1217,26 +1217,103 @@ export class AgenticTools {
1217
1217
 
1218
1218
  // Extract content based on selector if provided (basic HTML extraction)
1219
1219
  if (args.selector && content.includes('<')) {
1220
- // Basic extraction - for title, meta, etc.
1221
- const selector = args.selector.toLowerCase();
1220
+ const selector = args.selector.toLowerCase().trim();
1222
1221
 
1223
1222
  if (selector === 'title') {
1224
1223
  const match = content.match(/<title[^>]*>([^<]*)<\/title>/i);
1225
1224
  content = match ? match[1].trim() : 'No title found';
1226
- } else if (selector === 'meta') {
1225
+ } else if (selector === 'meta' || selector.includes('meta[')) {
1227
1226
  const matches = content.match(/<meta[^>]+>/gi) || [];
1228
- content = matches.join('\n');
1229
- } else if (selector === 'body') {
1227
+ content = matches.length > 0 ? matches.join('\n') : 'No meta tags found';
1228
+ } else if (selector === 'body' || selector === 'text') {
1229
+ // Extract readable text from body
1230
1230
  const match = content.match(/<body[^>]*>([\s\S]*)<\/body>/i);
1231
- content = match ? match[1].replace(/<script[\s\S]*?<\/script>/gi, '').replace(/<style[\s\S]*?<\/style>/gi, '').replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim() : content;
1232
- } else if (selector.startsWith('h')) {
1233
- const regex = new RegExp(`<${selector}[^>]*>([^<]*)</${selector}>`, 'gi');
1231
+ if (match) {
1232
+ content = match[1]
1233
+ .replace(/<script[\s\S]*?<\/script>/gi, '')
1234
+ .replace(/<style[\s\S]*?<\/style>/gi, '')
1235
+ .replace(/<nav[\s\S]*?<\/nav>/gi, '')
1236
+ .replace(/<header[\s\S]*?<\/header>/gi, '')
1237
+ .replace(/<footer[\s\S]*?<\/footer>/gi, '')
1238
+ .replace(/<[^>]+>/g, ' ')
1239
+ .replace(/\s+/g, ' ')
1240
+ .trim();
1241
+ }
1242
+ } else if (selector === 'links' || selector === 'a') {
1243
+ // Extract all links
1244
+ const linkRegex = /<a[^>]+href=["']([^"']+)["'][^>]*>([^<]*)<\/a>/gi;
1245
+ const links: string[] = [];
1246
+ let linkMatch;
1247
+ while ((linkMatch = linkRegex.exec(content)) !== null) {
1248
+ const href = linkMatch[1];
1249
+ const text = linkMatch[2].trim();
1250
+ if (text && !href.startsWith('#') && !href.startsWith('javascript:')) {
1251
+ links.push(`${text}: ${href}`);
1252
+ }
1253
+ }
1254
+ content = links.length > 0 ? links.join('\n') : 'No links found';
1255
+ } else if (selector.includes(',')) {
1256
+ // Handle compound selectors like "h1, h2, h3"
1257
+ const tags = selector.split(',').map(s => s.trim());
1258
+ const allMatches: string[] = [];
1259
+ for (const tag of tags) {
1260
+ const regex = new RegExp(`<${tag}[^>]*>([\\s\\S]*?)</${tag}>`, 'gi');
1261
+ let match;
1262
+ while ((match = regex.exec(content)) !== null) {
1263
+ const text = match[1].replace(/<[^>]+>/g, '').trim();
1264
+ if (text) allMatches.push(`[${tag}] ${text}`);
1265
+ }
1266
+ }
1267
+ content = allMatches.length > 0 ? allMatches.join('\n') : `No ${selector} tags found`;
1268
+ } else if (/^h[1-6]$/.test(selector)) {
1269
+ // Single heading selector
1270
+ const regex = new RegExp(`<${selector}[^>]*>([\\s\\S]*?)</${selector}>`, 'gi');
1234
1271
  const matches: string[] = [];
1235
1272
  let match;
1236
1273
  while ((match = regex.exec(content)) !== null) {
1237
- matches.push(match[1].trim());
1274
+ const text = match[1].replace(/<[^>]+>/g, '').trim();
1275
+ if (text) matches.push(text);
1238
1276
  }
1239
1277
  content = matches.length > 0 ? matches.join('\n') : `No ${selector} tags found`;
1278
+ } else if (selector === 'nav' || selector === 'nav a') {
1279
+ // Extract navigation links
1280
+ const navMatch = content.match(/<nav[^>]*>([\s\S]*?)<\/nav>/gi);
1281
+ if (navMatch) {
1282
+ const linkRegex = /<a[^>]+href=["']([^"']+)["'][^>]*>([^<]*)<\/a>/gi;
1283
+ const links: string[] = [];
1284
+ for (const nav of navMatch) {
1285
+ let linkMatch;
1286
+ while ((linkMatch = linkRegex.exec(nav)) !== null) {
1287
+ const text = linkMatch[2].trim();
1288
+ if (text) links.push(`${text}: ${linkMatch[1]}`);
1289
+ }
1290
+ }
1291
+ content = links.length > 0 ? links.join('\n') : 'No navigation links found';
1292
+ } else {
1293
+ content = 'No navigation found';
1294
+ }
1295
+ } else if (selector === 'footer') {
1296
+ const match = content.match(/<footer[^>]*>([\s\S]*?)<\/footer>/i);
1297
+ content = match ? match[1].replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim() : 'No footer found';
1298
+ } else if (selector === 'images' || selector === 'img') {
1299
+ const imgRegex = /<img[^>]+src=["']([^"']+)["'][^>]*(?:alt=["']([^"']*)["'])?[^>]*>/gi;
1300
+ const images: string[] = [];
1301
+ let imgMatch;
1302
+ while ((imgMatch = imgRegex.exec(content)) !== null) {
1303
+ const src = imgMatch[1];
1304
+ const alt = imgMatch[2] || 'no alt';
1305
+ images.push(`${alt}: ${src}`);
1306
+ }
1307
+ content = images.length > 0 ? images.join('\n') : 'No images found';
1308
+ } else {
1309
+ // Generic tag extraction
1310
+ const regex = new RegExp(`<${selector}[^>]*>([\\s\\S]*?)</${selector}>`, 'gi');
1311
+ const matches: string[] = [];
1312
+ let match;
1313
+ while ((match = regex.exec(content)) !== null) {
1314
+ matches.push(match[1].replace(/<[^>]+>/g, ' ').trim());
1315
+ }
1316
+ content = matches.length > 0 ? matches.join('\n\n---\n\n') : `No ${selector} elements found`;
1240
1317
  }
1241
1318
  }
1242
1319
 
@@ -1589,23 +1666,47 @@ To use a tool, output a JSON block in a code fence with "tool" language:
1589
1666
  {"tool": "read_file", "args": {"path": "src/index.js"}}
1590
1667
  \`\`\`
1591
1668
 
1592
- 3. Fetch a web page:
1669
+ 3. Fetch a web page (full HTML):
1593
1670
  \`\`\`tool
1594
- {"tool": "fetch_url", "args": {"url": "https://example.com", "selector": "title"}}
1671
+ {"tool": "fetch_url", "args": {"url": "https://example.com"}}
1595
1672
  \`\`\`
1596
1673
 
1597
- 4. Run command on remote server (for Unix commands from Windows):
1674
+ 4. Fetch specific content with selectors:
1675
+ \`\`\`tool
1676
+ {"tool": "fetch_url", "args": {"url": "https://example.com", "selector": "h1, h2, h3"}}
1677
+ \`\`\`
1678
+ Available selectors: title, body, text, links, nav, footer, images, h1, h2, h3, h1/h2/h3 (compound)
1679
+
1680
+ 5. Run command on remote server (for Unix commands from Windows):
1598
1681
  \`\`\`tool
1599
1682
  {"tool": "ssh_exec", "args": {"command": "curl -s https://example.com | head -20"}}
1600
1683
  \`\`\`
1601
1684
 
1602
- 5. Write a file:
1685
+ 6. Write a file:
1603
1686
  \`\`\`tool
1604
1687
  {"tool": "write_file", "args": {"path": "hello.py", "content": "print('Hello World')"}}
1605
1688
  \`\`\`
1606
1689
 
1607
1690
  ## CRITICAL RULES:
1608
1691
 
1692
+ ### ABSOLUTELY NO HALLUCINATION (READ THIS CAREFULLY):
1693
+ - ONLY use information from tool results you just received in THIS conversation
1694
+ - DO NOT make up names, organizations, or content that wasn't in the fetched data
1695
+ - DO NOT read random files from the workspace expecting them to contain relevant data
1696
+ - If you fetch a website, your analysis MUST be based ONLY on what you just fetched
1697
+ - If the user asks about websites A and B, ONLY discuss A and B - don't invent Site C
1698
+ - NEVER create fictional organizations, services, or content
1699
+ - If you're unsure about something, say "Based on the fetched content, I can see..." not "This organization does..."
1700
+
1701
+ ### Strategic Planning (VERY IMPORTANT):
1702
+ - PLAN before acting - don't issue many redundant tool calls
1703
+ - For web comparisons: Fetch each URL ONCE with no selector to get full HTML, then analyze locally
1704
+ - Do NOT fetch the same URL multiple times with different selectors - fetch once and parse the result
1705
+ - Think step-by-step: 1) Gather data, 2) Analyze it, 3) Present findings
1706
+ - If comparing two things, fetch both ONCE, then write a REAL comparison with specific differences
1707
+ - Maximum 2-4 tool calls per step is usually enough - don't spam 10+ calls at once
1708
+ - Do NOT use list_dir or read_file when the task is about fetching websites - those are for LOCAL files only
1709
+
1609
1710
  ### Cross-Platform Compatibility:
1610
1711
  - On Windows, Unix commands (head, tail, grep, awk, sed, wc) are NOT available
1611
1712
  - Use \`fetch_url\` for web requests instead of curl|grep
@@ -1620,10 +1721,20 @@ To use a tool, output a JSON block in a code fence with "tool" language:
1620
1721
  - If a command fails, explain what happened and suggest alternatives
1621
1722
  - Do NOT write analysis or comparison reports if you couldn't gather the actual data
1622
1723
 
1724
+ ### Comparison Tasks:
1725
+ - When asked to compare websites/files, you MUST produce actual specific differences
1726
+ - Don't just describe each site separately - show what Site A has that Site B is missing
1727
+ - Use concrete examples: "Site A has a Team page at /team.html, Site B does not"
1728
+ - If you need sub-pages, fetch them in follow-up steps after analyzing the main page
1729
+ - BASE YOUR COMPARISON ONLY ON THE DATA YOU FETCHED - not on random files in the workspace
1730
+ - Quote actual text from the fetched content to support your claims
1731
+
1623
1732
  ### File Access:
1624
1733
  - You can ONLY access files within the current project workspace
1625
1734
  - Use relative paths (e.g., "src/file.js", "app.py", "./config.json")
1626
1735
  - Never try to access system files or directories outside the workspace
1736
+ - Do NOT read files unrelated to the user's request (e.g., don't read "comparison.md" when asked to fetch websites)
1737
+ - When comparing WEBSITES, use fetch_url - do NOT use read_file or list_dir
1627
1738
 
1628
1739
  ### Tool Names:
1629
1740
  - Use ONLY these exact tool names: list_dir, read_file, write_file, edit_file, bash, grep, glob, git, repo, fetch_url, ssh_exec