@ranger-testing/ranger-cli 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +73 -112
  2. package/build/cli.js +42 -4
  3. package/build/cli.js.map +1 -1
  4. package/build/commands/addEnv.js +1 -1
  5. package/build/commands/addEnv.js.map +1 -1
  6. package/build/commands/authEncrypt.js +1 -1
  7. package/build/commands/authEncrypt.js.map +1 -1
  8. package/build/commands/clean.js +1 -1
  9. package/build/commands/clean.js.map +1 -1
  10. package/build/commands/dataMcpServer.js +1 -1
  11. package/build/commands/dataMcpServer.js.map +1 -1
  12. package/build/commands/feature.js +142 -29
  13. package/build/commands/feature.js.map +1 -1
  14. package/build/commands/hooks/sessionStart.js +2 -0
  15. package/build/commands/hooks/sessionStart.js.map +1 -1
  16. package/build/commands/skillup.js +2 -2
  17. package/build/commands/skillup.js.map +1 -1
  18. package/build/commands/start.js +1 -1
  19. package/build/commands/start.js.map +1 -1
  20. package/build/commands/updateEnv.js +1 -1
  21. package/build/commands/useEnv.js +1 -1
  22. package/build/commands/utils/browserSessionsApi.js +1 -1
  23. package/build/commands/utils/cliSecret.js +1 -1
  24. package/build/commands/utils/featureApi.js +86 -0
  25. package/build/commands/utils/featureApi.js.map +1 -1
  26. package/build/commands/utils/featureReportGenerator.js +8 -8
  27. package/build/commands/utils/featureReportGenerator.js.map +1 -1
  28. package/build/commands/utils/keychain.js +1 -1
  29. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  30. package/build/commands/utils/rangerRoot.js +18 -0
  31. package/build/commands/utils/rangerRoot.js.map +1 -1
  32. package/build/commands/utils/settings.js +20 -0
  33. package/build/commands/utils/settings.js.map +1 -1
  34. package/build/commands/utils/skills.js +1 -1
  35. package/build/commands/verifyFeature.js +223 -26
  36. package/build/commands/verifyFeature.js.map +1 -1
  37. package/build/commands/verifyInBrowser.js +1 -1
  38. package/build/skills/ranger/SKILL.md +43 -2
  39. package/build/skills/ranger/feedback.md +64 -0
  40. package/build/skills/ranger/start.md +17 -1
  41. package/build/skills/ranger/verify.md +15 -5
  42. package/package.json +1 -1
@@ -24,6 +24,26 @@ export function getEnvDir(env) {
24
24
  return legacyDir; // Backward compatibility
25
25
  return localDir; // Default for new envs
26
26
  }
27
+ /**
28
+ * Check if an environment name already exists in any location (ci, local, or legacy root).
29
+ * Optionally filter by specific locations.
30
+ * Returns the path where it exists and its location, or null if not found.
31
+ */
32
+ export function findExistingEnv(envName, options) {
33
+ const rangerDir = getRangerDir();
34
+ const locations = options?.locations ?? ['ci', 'local', 'legacy'];
35
+ const dirs = [
36
+ { location: 'ci', path: join(rangerDir, 'ci', envName) },
37
+ { location: 'local', path: join(rangerDir, 'local', envName) },
38
+ { location: 'legacy', path: join(rangerDir, envName) },
39
+ ];
40
+ for (const dir of dirs) {
41
+ if (locations.includes(dir.location) && existsSync(dir.path)) {
42
+ return { path: dir.path, location: dir.location };
43
+ }
44
+ }
45
+ return null;
46
+ }
27
47
  /**
28
48
  * Check if an environment is a CI environment (stored in ci/ directory)
29
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/utils/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/utils/settings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- const _0x3d1a30=_0x18d1;(function(_0x127a6f,_0x40596c){const _0x4f9cf3=_0x18d1,_0x5d2966=_0x127a6f();while(!![]){try{const _0x28c4da=-parseInt(_0x4f9cf3(0x96))/0x1*(parseInt(_0x4f9cf3(0x83))/0x2)+-parseInt(_0x4f9cf3(0x88))/0x3*(-parseInt(_0x4f9cf3(0x98))/0x4)+parseInt(_0x4f9cf3(0x8e))/0x5*(-parseInt(_0x4f9cf3(0x94))/0x6)+-parseInt(_0x4f9cf3(0x87))/0x7+-parseInt(_0x4f9cf3(0x97))/0x8+parseInt(_0x4f9cf3(0x95))/0x9*(-parseInt(_0x4f9cf3(0x8c))/0xa)+parseInt(_0x4f9cf3(0x89))/0xb*(parseInt(_0x4f9cf3(0x7a))/0xc);if(_0x28c4da===_0x40596c)break;else _0x5d2966['push'](_0x5d2966['shift']());}catch(_0x58d662){_0x5d2966['push'](_0x5d2966['shift']());}}}(_0x3d84,0x237ba));import{readFile,writeFile,mkdir,readdir,copyFile,rm}from'fs/promises';function _0x3d84(){const _0x201cf8=['10LhBDAW','bug-bash','60ztqsgY','NzWLp','utf-8','trim','length','\x20\x20Location:\x20','123426PlTeJz','1951011HifghE','20833IaJKmG','853176vzeDBP','738516BMbkAp','isDirectory','catch','log','push','SKILL.md','60cpfDZW','EhUJr','lJmLb','\x20\x20Failed\x20to\x20remove\x20deprecated\x20skill:\x20','project','.md','zazLh','join','feature-tracker','12bvlBYw','\x20\x20Installed\x20skill:\x20','GcCqA','zBfiw','810110fUYNMY','3wjyPfX','1697773PmPvQg','warn','match'];_0x3d84=function(){return _0x201cf8;};return _0x3d84();}function _0x18d1(_0x2b34c4,_0x758463){_0x2b34c4=_0x2b34c4-0x78;const _0x3d8406=_0x3d84();let _0x18d1e5=_0x3d8406[_0x2b34c4];return _0x18d1e5;}import{join,dirname}from'path';import{existsSync,statSync}from'fs';import{fileURLToPath}from'url';import{logLocalAgentInstallation}from'./localAgentInstallationsApi.js';import{getSkillsDir}from'./claudeConfig.js';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);export const RANGER_MANAGED_SKILLS=['ranger'];export const DEPRECATED_SKILLS=['e2e-test-recommender',_0x3d1a30(0x8d),_0x3d1a30(0x82)];export async function installSkill(_0x341dd9,_0x19aee0={}){const _0x2645e3=_0x3d1a30,_0x8f3efd={'lJmLb':_0x2645e3(0x7e),'zBfiw':function(_0x38d23c,_0x9bbc87,_0x3b7da3){return _0x38d23c(_0x9bbc87,_0x3b7da3);},'XWjKV':function(_0x47eed7,_0x573397){return _0x47eed7(_0x573397);},'ABqaK':function(_0x2d89fc,_0x245858){return _0x2d89fc(_0x245858);},'zazLh':function(_0x576915,_0x3e6f39,_0x16a597){return _0x576915(_0x3e6f39,_0x16a597);},'PiSjA':function(_0x580f66,_0x492d97){return _0x580f66&&_0x492d97;},'wlnGk':function(_0x440e79,_0x293899){return _0x440e79(_0x293899);},'NzWLp':function(_0x42caa8,_0x330fd7,_0x4a86){return _0x42caa8(_0x330fd7,_0x4a86);},'oiXFG':function(_0x59bafd,_0xbca0d7,_0xe2138d){return _0x59bafd(_0xbca0d7,_0xe2138d);},'HIHmo':'SKILL.md','YZYEC':_0x2645e3(0x90),'wbIrU':function(_0x3e7da5,_0x225bd3,_0x3cadc7,_0x4fa18c){return _0x3e7da5(_0x225bd3,_0x3cadc7,_0x4fa18c);}},{level:level=_0x8f3efd[_0x2645e3(0x7c)],cliVersion:_0x2b0ad4}=_0x19aee0,_0x327f9b=getSourceSkillsDir(),_0x4b3f78=_0x8f3efd['zBfiw'](join,_0x327f9b,_0x341dd9),_0x19db44=join(_0x327f9b,_0x341dd9+'.md'),_0x17c7e5=existsSync(_0x4b3f78)&&_0x8f3efd['XWjKV'](statSync,_0x4b3f78)[_0x2645e3(0x99)]()&&_0x8f3efd['ABqaK'](existsSync,_0x8f3efd['zazLh'](join,_0x4b3f78,_0x2645e3(0x79))),_0x4698cc=existsSync(_0x19db44);if(_0x8f3efd['PiSjA'](!_0x17c7e5,!_0x4698cc))return console['warn']('\x20\x20Skill\x20not\x20found:\x20'+_0x341dd9),![];const _0x515787=_0x8f3efd['wlnGk'](getSkillsDir,level),_0x12bbdb=_0x8f3efd[_0x2645e3(0x86)](join,_0x515787,_0x341dd9);await _0x8f3efd[_0x2645e3(0x8f)](mkdir,_0x12bbdb,{'recursive':!![]});let _0x1a95f2,_0x27bc5f=[];if(_0x17c7e5){const _0x21c48c=await readdir(_0x4b3f78),_0x500609=_0x21c48c['filter'](_0x570358=>_0x570358['endsWith'](_0x2645e3(0x7f)));for(const _0x3f04df of _0x500609){const _0x1a4cdd=_0x8f3efd[_0x2645e3(0x80)](join,_0x4b3f78,_0x3f04df),_0x55804f=join(_0x12bbdb,_0x3f04df);await copyFile(_0x1a4cdd,_0x55804f),_0x27bc5f[_0x2645e3(0x78)](_0x3f04df);}_0x1a95f2=await readFile(_0x8f3efd['oiXFG'](join,_0x4b3f78,_0x8f3efd['HIHmo']),_0x2645e3(0x90));}else{_0x1a95f2=await readFile(_0x19db44,_0x8f3efd['YZYEC']);const _0x2548be=join(_0x12bbdb,'SKILL.md');await _0x8f3efd['wbIrU'](writeFile,_0x2548be,_0x1a95f2,'utf-8'),_0x27bc5f['push'](_0x8f3efd['HIHmo']);}const {name:_0x12a3e1}=parseFrontmatter(_0x1a95f2);return console[_0x2645e3(0x9b)](_0x2645e3(0x84)+_0x12a3e1),console[_0x2645e3(0x9b)](_0x2645e3(0x93)+_0x12bbdb),_0x27bc5f[_0x2645e3(0x92)]>0x1&&console['log']('\x20\x20Files:\x20'+_0x27bc5f[_0x2645e3(0x81)](',\x20')),_0x8f3efd['wbIrU'](logLocalAgentInstallation,_0x341dd9,{'skillDisplayName':_0x12a3e1,'installLevel':level},_0x2b0ad4)[_0x2645e3(0x9a)](()=>{}),!![];}function getSourceSkillsDir(){const _0x3a00c8=_0x3d1a30,_0x143c2b={'IBvQa':function(_0xe4e371,_0xcfccbf,_0x17a6af,_0x5d1516,_0x1f8eab){return _0xe4e371(_0xcfccbf,_0x17a6af,_0x5d1516,_0x1f8eab);},'GcCqA':'skills','XndRY':function(_0x4bd500,_0x335b5a,_0x5837ee,_0x36bfb2,_0x28b743,_0x376114){return _0x4bd500(_0x335b5a,_0x5837ee,_0x36bfb2,_0x28b743,_0x376114);}},_0x1f9860=[_0x143c2b['IBvQa'](join,__dirname,'..','..',_0x143c2b['GcCqA']),_0x143c2b['XndRY'](join,__dirname,'..','..','..',_0x143c2b[_0x3a00c8(0x85)])];for(const _0x2099e0 of _0x1f9860){if(existsSync(_0x2099e0))return _0x2099e0;}return _0x1f9860[0x0];}function parseFrontmatter(_0x77f325){const _0x48e70a=_0x3d1a30,_0x8c9bce=_0x77f325[_0x48e70a(0x8b)](/^---\n([\s\S]+?)\n---/);if(!_0x8c9bce)throw new Error('Invalid\x20skill\x20frontmatter');const _0x5b9fb6=_0x8c9bce[0x1],_0x31757d=_0x5b9fb6['match'](/name:\s*(.+)/),_0x329138=_0x5b9fb6[_0x48e70a(0x8b)](/description:\s*"?(.+?)"?\n/);return{'name':_0x31757d?.[0x1][_0x48e70a(0x91)]()||'','description':_0x329138?.[0x1][_0x48e70a(0x91)]()||''};}export async function removeSkill(_0x582262,_0x445f76){const _0x30ee06=_0x3d1a30,_0xd17c2={'uisaa':function(_0x151d79,_0x39f088){return _0x151d79(_0x39f088);},'EhUJr':function(_0x3e9328,_0x2c87d1,_0x5f55f8){return _0x3e9328(_0x2c87d1,_0x5f55f8);}},_0x21b469=_0xd17c2['uisaa'](getSkillsDir,_0x445f76),_0x285cea=_0xd17c2[_0x30ee06(0x7b)](join,_0x21b469,_0x582262);if(!existsSync(_0x285cea))return![];try{return await rm(_0x285cea,{'recursive':!![]}),console[_0x30ee06(0x9b)]('\x20\x20Removed\x20deprecated\x20skill:\x20'+_0x582262),!![];}catch{return console[_0x30ee06(0x8a)](_0x30ee06(0x7d)+_0x582262),![];}}
1
+ const _0x38d0ac=_0x172c;(function(_0x4e73b6,_0x4410ff){const _0x590c01=_0x172c,_0x25514e=_0x4e73b6();while(!![]){try{const _0x31e313=-parseInt(_0x590c01(0x1b9))/0x1+parseInt(_0x590c01(0x1b5))/0x2*(parseInt(_0x590c01(0x1b0))/0x3)+-parseInt(_0x590c01(0x1b2))/0x4+parseInt(_0x590c01(0x1b8))/0x5+-parseInt(_0x590c01(0x1c9))/0x6*(-parseInt(_0x590c01(0x1ad))/0x7)+-parseInt(_0x590c01(0x1af))/0x8+-parseInt(_0x590c01(0x1c3))/0x9;if(_0x31e313===_0x4410ff)break;else _0x25514e['push'](_0x25514e['shift']());}catch(_0x1c66fa){_0x25514e['push'](_0x25514e['shift']());}}}(_0x2fbd,0x2b9c2));import{readFile,writeFile,mkdir,readdir,copyFile,rm}from'fs/promises';import{join,dirname}from'path';import{existsSync,statSync}from'fs';import{fileURLToPath}from'url';import{logLocalAgentInstallation}from'./localAgentInstallationsApi.js';import{getSkillsDir}from'./claudeConfig.js';function _0x2fbd(){const _0xc63d92=['Invalid\x20skill\x20frontmatter','42fdQwnT','skills','\x20\x20Installed\x20skill:\x20','vgrAD','.md','push','95515kWaPRn','\x20\x20Files:\x20','836448WcdudJ','6mvGOTQ','log','1068180NQXsVh','PLxcd','project','319800tdvwFB','\x20\x20Removed\x20deprecated\x20skill:\x20','utf-8','1710680isbuHc','122737qYLtxk','join','khXFg','match','length','vzKmJ','xQFvX','ranger','GxPnz','YxlaO','760383DCLvXq','bug-bash','isDirectory','trim','SKILL.md'];_0x2fbd=function(){return _0xc63d92;};return _0x2fbd();}const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);export const RANGER_MANAGED_SKILLS=[_0x38d0ac(0x1c0)];function _0x172c(_0x2a6c84,_0x34da51){_0x2a6c84=_0x2a6c84-0x1ab;const _0x2fbd80=_0x2fbd();let _0x172c19=_0x2fbd80[_0x2a6c84];return _0x172c19;}export const DEPRECATED_SKILLS=['e2e-test-recommender',_0x38d0ac(0x1c4),'feature-tracker'];export async function installSkill(_0x97f88,_0x4194db={}){const _0x9da043=_0x38d0ac,_0x19959d={'cwiOZ':function(_0x1c437b,_0x25b50d,_0x15bf3d){return _0x1c437b(_0x25b50d,_0x15bf3d);},'vgrAD':function(_0x1c9f88,_0x51f1a0){return _0x1c9f88(_0x51f1a0);},'mtehw':function(_0x30c7b1,_0x4aa7fb){return _0x30c7b1(_0x4aa7fb);},'GxPnz':function(_0x2dfaf9,_0x21be3c,_0x4f16a1){return _0x2dfaf9(_0x21be3c,_0x4f16a1);},'xQFvX':'SKILL.md','vzKmJ':function(_0x4af0db,_0x1d2c66,_0x34e788){return _0x4af0db(_0x1d2c66,_0x34e788);},'khXFg':function(_0x46eb9e,_0x5d1e7a,_0x2081b6){return _0x46eb9e(_0x5d1e7a,_0x2081b6);},'PLxcd':_0x9da043(0x1b7),'jDYJj':function(_0x32a9c0,_0x4488ca){return _0x32a9c0>_0x4488ca;}},{level:level=_0x9da043(0x1b4),cliVersion:_0xfb2a5f}=_0x4194db,_0x67fe27=getSourceSkillsDir(),_0x28f08c=_0x19959d['cwiOZ'](join,_0x67fe27,_0x97f88),_0x30fd3c=join(_0x67fe27,_0x97f88+_0x9da043(0x1ab)),_0x5b7af1=existsSync(_0x28f08c)&&_0x19959d[_0x9da043(0x1cc)](statSync,_0x28f08c)[_0x9da043(0x1c5)]()&&_0x19959d['mtehw'](existsSync,_0x19959d['GxPnz'](join,_0x28f08c,_0x19959d[_0x9da043(0x1bf)])),_0x122988=_0x19959d['vgrAD'](existsSync,_0x30fd3c);if(!_0x5b7af1&&!_0x122988)return console['warn']('\x20\x20Skill\x20not\x20found:\x20'+_0x97f88),![];const _0x3ce517=getSkillsDir(level),_0x325beb=join(_0x3ce517,_0x97f88);await mkdir(_0x325beb,{'recursive':!![]});let _0x301892,_0x22133c=[];if(_0x5b7af1){const _0x6840f8=await _0x19959d['vgrAD'](readdir,_0x28f08c),_0x14db40=_0x6840f8['filter'](_0xbc085=>_0xbc085['endsWith'](_0x9da043(0x1ab)));for(const _0x2926a8 of _0x14db40){const _0x1812ce=_0x19959d[_0x9da043(0x1c1)](join,_0x28f08c,_0x2926a8),_0x2bec34=_0x19959d['cwiOZ'](join,_0x325beb,_0x2926a8);await copyFile(_0x1812ce,_0x2bec34),_0x22133c[_0x9da043(0x1ac)](_0x2926a8);}_0x301892=await _0x19959d[_0x9da043(0x1be)](readFile,_0x19959d[_0x9da043(0x1bb)](join,_0x28f08c,_0x9da043(0x1c7)),_0x9da043(0x1b7));}else{_0x301892=await _0x19959d['cwiOZ'](readFile,_0x30fd3c,_0x9da043(0x1b7));const _0x485bce=_0x19959d[_0x9da043(0x1c1)](join,_0x325beb,_0x9da043(0x1c7));await writeFile(_0x485bce,_0x301892,_0x19959d[_0x9da043(0x1b3)]),_0x22133c[_0x9da043(0x1ac)](_0x19959d['xQFvX']);}const {name:_0x98c234}=_0x19959d['mtehw'](parseFrontmatter,_0x301892);return console['log'](_0x9da043(0x1cb)+_0x98c234),console[_0x9da043(0x1b1)]('\x20\x20Location:\x20'+_0x325beb),_0x19959d['jDYJj'](_0x22133c[_0x9da043(0x1bd)],0x1)&&console[_0x9da043(0x1b1)](_0x9da043(0x1ae)+_0x22133c[_0x9da043(0x1ba)](',\x20')),logLocalAgentInstallation(_0x97f88,{'skillDisplayName':_0x98c234,'installLevel':level},_0xfb2a5f)['catch'](()=>{}),!![];}function getSourceSkillsDir(){const _0x456d91=_0x38d0ac,_0x44a9a9={'YxlaO':_0x456d91(0x1ca)},_0x4a40ee=[join(__dirname,'..','..',_0x44a9a9['YxlaO']),join(__dirname,'..','..','..',_0x44a9a9[_0x456d91(0x1c2)])];for(const _0x4a20fc of _0x4a40ee){if(existsSync(_0x4a20fc))return _0x4a20fc;}return _0x4a40ee[0x0];}function parseFrontmatter(_0x486f9b){const _0x2008ea=_0x38d0ac,_0x17df23={'McYdF':_0x2008ea(0x1c8)},_0x42edde=_0x486f9b[_0x2008ea(0x1bc)](/^---\n([\s\S]+?)\n---/);if(!_0x42edde)throw new Error(_0x17df23['McYdF']);const _0x315764=_0x42edde[0x1],_0x5a4835=_0x315764['match'](/name:\s*(.+)/),_0x46820f=_0x315764[_0x2008ea(0x1bc)](/description:\s*"?(.+?)"?\n/);return{'name':_0x5a4835?.[0x1][_0x2008ea(0x1c6)]()||'','description':_0x46820f?.[0x1]['trim']()||''};}export async function removeSkill(_0xb0031a,_0x30a737){const _0x40d0ba=_0x38d0ac,_0x5337e3=getSkillsDir(_0x30a737),_0x5f18ad=join(_0x5337e3,_0xb0031a);if(!existsSync(_0x5f18ad))return![];try{return await rm(_0x5f18ad,{'recursive':!![]}),console[_0x40d0ba(0x1b1)](_0x40d0ba(0x1b6)+_0xb0031a),!![];}catch{return console['warn']('\x20\x20Failed\x20to\x20remove\x20deprecated\x20skill:\x20'+_0xb0031a),![];}}
@@ -1,4 +1,4 @@
1
- import { query } from '@anthropic-ai/claude-agent-sdk';
1
+ import { query, } from '@anthropic-ai/claude-agent-sdk';
2
2
  import { join, dirname } from 'path';
3
3
  import { readFile, readdir, appendFile, mkdir, rm, stat } from 'fs/promises';
4
4
  import { existsSync } from 'fs';
@@ -9,7 +9,7 @@ import { loadSettings, resolveEnvVars, buildPlaywrightConfig, cleanupTempFiles,
9
9
  import { createBrowserSession, updateBrowserSession, getUploadUrls, uploadTrace, uploadConversation, uploadScreenshot, uploadVideo, buildTraceViewerUrl, getAnthropicApiKey, createVerificationStep, createStepAsset, } from './utils/browserSessionsApi.js';
10
10
  import { getToken } from './utils/keychain.js';
11
11
  import { getActiveFeatureId } from './feature.js';
12
- import { getFeature, updateFeature, updateChecklistItem, startSession, } from './utils/featureApi.js';
12
+ import { getFeature, updateFeature, updateChecklistItem, startSession, getActionItems, getItemFeedback, } from './utils/featureApi.js';
13
13
  import { getRangerDir } from './utils/rangerRoot.js';
14
14
  /**
15
15
  * Get the current git branch
@@ -170,11 +170,14 @@ async function selectChecklistItem(items) {
170
170
  ? '\ud83d\udfe0' // orange circle
171
171
  : item.status === 'blocked'
172
172
  ? '\ud83d\uded1'
173
- : item.status === 'canceled'
173
+ : item.status === 'closed'
174
174
  ? '\u26d4'
175
175
  : '\u2b1c';
176
+ const commentBadge = item.unaddressedCommentCount > 0
177
+ ? ` [${item.unaddressedCommentCount} comments]`
178
+ : '';
176
179
  return {
177
- name: `${i + 1}. ${emoji} ${item.description}`,
180
+ name: `${i + 1}. ${emoji} ${item.description}${commentBadge}`,
178
181
  value: item.id,
179
182
  };
180
183
  });
@@ -192,12 +195,12 @@ async function selectChecklistItem(items) {
192
195
  * Handle incomplete verification - check if all other items are terminal and prompt user
193
196
  */
194
197
  async function handleIncompleteItem(featureId, incompleteItem, result) {
195
- const feature = await getFeature(featureId);
196
- const sessionItems = feature.checklistItems.filter((i) => i.sessionId === feature.currentSessionId);
197
- const otherItems = sessionItems.filter((i) => i.id !== incompleteItem.id);
198
+ // Get action items to check if there are other items to work on
199
+ const { items: actionItems } = await getActionItems(featureId);
200
+ const otherItems = actionItems.filter((i) => i.id !== incompleteItem.id);
198
201
  const allOthersTerminal = otherItems.every((i) => i.status === 'verified' ||
199
202
  i.status === 'blocked' ||
200
- i.status === 'canceled' ||
203
+ i.status === 'closed' ||
201
204
  i.status === 'incomplete');
202
205
  console.log(`\n${'='.repeat(60)}`);
203
206
  console.log(`INCOMPLETE - Verification found issues`);
@@ -221,6 +224,106 @@ async function handleIncompleteItem(featureId, incompleteItem, result) {
221
224
  }
222
225
  console.log(`${'='.repeat(60)}\n`);
223
226
  }
227
+ /**
228
+ * PostToolUse hook that logs browser tool calls to stdout.
229
+ */
230
+ const browserToolLogHook = async (input) => {
231
+ if (input.hook_event_name !== 'PostToolUse')
232
+ return {};
233
+ const postInput = input;
234
+ const toolInput = postInput.tool_input;
235
+ switch (postInput.tool_name) {
236
+ case 'mcp__ranger-browser__browser_navigate':
237
+ console.log(`[browser] Navigate → ${toolInput.url}`);
238
+ break;
239
+ case 'mcp__ranger-browser__browser_click':
240
+ console.log(`[browser] Click → "${toolInput.element}"`);
241
+ break;
242
+ case 'mcp__ranger-browser__browser_type':
243
+ console.log(`[browser] Type → "${toolInput.text}" into "${toolInput.element}"`);
244
+ break;
245
+ case 'mcp__ranger-browser__browser_press_key':
246
+ console.log(`[browser] Press key → ${toolInput.key}`);
247
+ break;
248
+ case 'mcp__ranger-browser__browser_wait_for':
249
+ console.log(`[browser] Wait → ${toolInput.time ? `${toolInput.time}ms` : toolInput.text || 'condition'}`);
250
+ break;
251
+ }
252
+ return {};
253
+ };
254
+ /**
255
+ * Create a PostToolUse hook that uploads screenshots immediately after they're taken.
256
+ * Returns the hook callback and a set of filenames that were successfully uploaded,
257
+ * so the post-hoc fallback can skip them.
258
+ */
259
+ function createScreenshotUploadHook(sessionId, checklistItemId, traceDir) {
260
+ const uploadedFiles = new Set();
261
+ let position = 1;
262
+ const hook = async (input) => {
263
+ if (input.hook_event_name !== 'PostToolUse')
264
+ return {};
265
+ const postInput = input;
266
+ if (postInput.tool_name !==
267
+ 'mcp__ranger-browser__browser_take_screenshot')
268
+ return {};
269
+ // Extract filename from tool_input
270
+ const toolInput = postInput.tool_input;
271
+ const filename = toolInput?.filename;
272
+ if (!filename)
273
+ return {};
274
+ try {
275
+ const pngPath = join(traceDir, filename);
276
+ const pngBuffer = await readFile(pngPath);
277
+ const pngStat = await stat(pngPath);
278
+ const isKeyFrame = filename.toLowerCase().startsWith('key_');
279
+ const displayName = filename
280
+ .replace(/\.png$/i, '')
281
+ .replace(/^key_/i, '')
282
+ .replace(/^\d+_/, '')
283
+ .replace(/-/g, ' ');
284
+ const currentPosition = position++;
285
+ // Create verification step
286
+ console.log(`[hook] Creating step #${currentPosition}: "${displayName}"${isKeyFrame ? ' (key frame)' : ''}`);
287
+ const { step } = await createVerificationStep(sessionId, {
288
+ checklistItemId,
289
+ position: currentPosition,
290
+ stepType: 'screenshot',
291
+ stepName: displayName,
292
+ description: isKeyFrame
293
+ ? 'Key moment captured during verification'
294
+ : 'Screenshot captured during verification',
295
+ isKeyStep: isKeyFrame,
296
+ status: 'success',
297
+ metadata: {
298
+ filename,
299
+ timestamp: pngStat.mtime.toISOString(),
300
+ },
301
+ });
302
+ // Create step asset
303
+ const assetResponse = await createStepAsset(sessionId, step.id, {
304
+ filename,
305
+ assetType: 'screenshot',
306
+ timing: 'after',
307
+ position: 0,
308
+ capturedAt: pngStat.mtime.toISOString(),
309
+ metadata: {
310
+ name: displayName,
311
+ highPriority: isKeyFrame,
312
+ },
313
+ });
314
+ // Upload
315
+ await uploadScreenshot(assetResponse.uploadUrl, pngBuffer);
316
+ // Track as uploaded
317
+ uploadedFiles.add(filename);
318
+ }
319
+ catch (err) {
320
+ // swallow error for now
321
+ // TODO: should log / report these
322
+ }
323
+ return {};
324
+ };
325
+ return { hook, uploadedFiles };
326
+ }
224
327
  /**
225
328
  * Verify a checklist item in the browser
226
329
  */
@@ -243,21 +346,18 @@ export async function verifyFeature(options) {
243
346
  console.log(` Updated branch to: ${currentBranch}`);
244
347
  }
245
348
  console.log(`\nActive feature: ${feature.name} (${featureId})`);
246
- // Filter to only items in the current session
247
- const currentSessionId = feature.currentSessionId;
248
- const currentSessionItems = currentSessionId
249
- ? feature.checklistItems.filter((item) => item.sessionId === currentSessionId)
250
- : feature.checklistItems;
349
+ // Get action items - leaf items that can be verified (non-closed with no non-closed children)
350
+ const { items: actionItems } = await getActionItems(featureId);
251
351
  // 2. Determine which checklist item we're verifying
252
352
  let checklistItem = null;
253
353
  let taskDescription = options.task;
254
354
  if (options.item !== undefined) {
255
- // Use specified item index (1-based, relative to current session items)
355
+ // Use specified item index (1-based)
256
356
  const itemIndex = options.item - 1; // 1-based to 0-based
257
- if (itemIndex < 0 || itemIndex >= currentSessionItems.length) {
258
- throw new Error(`Invalid item index: ${options.item}. Current session has ${currentSessionItems.length} items.`);
357
+ if (itemIndex < 0 || itemIndex >= actionItems.length) {
358
+ throw new Error(`Invalid item index: ${options.item}. Feature has ${actionItems.length} actionable items.`);
259
359
  }
260
- checklistItem = currentSessionItems[itemIndex];
360
+ checklistItem = actionItems[itemIndex];
261
361
  if (!taskDescription) {
262
362
  taskDescription = checklistItem.description;
263
363
  }
@@ -268,25 +368,28 @@ export async function verifyFeature(options) {
268
368
  if (!isInteractive) {
269
369
  // Non-TTY mode: require --item flag, show available items
270
370
  console.log('\nNon-interactive mode detected. The --item flag is required.');
271
- console.log('\nAvailable checklist items for current session:');
272
- currentSessionItems.forEach((item, i) => {
371
+ console.log('\nAvailable checklist items to verify:');
372
+ actionItems.forEach((item, i) => {
273
373
  const emoji = item.status === 'verified'
274
374
  ? '\u2705'
275
375
  : item.status === 'incomplete'
276
376
  ? '\ud83d\udfe0' // orange circle
277
377
  : item.status === 'blocked'
278
378
  ? '\ud83d\uded1'
279
- : item.status === 'canceled'
379
+ : item.status === 'closed'
280
380
  ? '\u26d4'
281
381
  : '\u2b1c';
282
- console.log(` ${i + 1}. ${emoji} ${item.description}`);
382
+ const commentBadge = item.unaddressedCommentCount > 0
383
+ ? ` [${item.unaddressedCommentCount} comments]`
384
+ : '';
385
+ console.log(` ${i + 1}. ${emoji} ${item.description}${commentBadge}`);
283
386
  });
284
387
  console.log('\nUsage: ranger verify-feature --item <number>');
285
388
  console.log('Example: ranger verify-feature --item 1');
286
389
  throw new Error('The --item flag is required in non-interactive mode. See available items above.');
287
390
  }
288
- // Interactive selection (show only current session items)
289
- checklistItem = await selectChecklistItem(currentSessionItems);
391
+ // Interactive selection
392
+ checklistItem = await selectChecklistItem(actionItems);
290
393
  if (!taskDescription && checklistItem) {
291
394
  taskDescription = checklistItem.description;
292
395
  }
@@ -294,11 +397,28 @@ export async function verifyFeature(options) {
294
397
  if (!checklistItem) {
295
398
  throw new Error('No checklist item selected. Create items when creating the feature with -c flag.');
296
399
  }
400
+ if (checklistItem.status === 'closed') {
401
+ throw new Error(`Cannot verify item "${checklistItem.description}" — it is concluded (${checklistItem.terminalReason || 'unknown reason'}).`);
402
+ }
297
403
  if (!taskDescription) {
298
404
  throw new Error('No task description provided');
299
405
  }
300
406
  console.log(`\nVerifying: ${checklistItem.description}`);
301
407
  console.log(`Task: ${taskDescription}`);
408
+ // Fetch reviewer feedback if item has parent or unaddressed comments
409
+ let itemFeedback = null;
410
+ if (checklistItem.parentItemId ||
411
+ checklistItem.unaddressedCommentCount > 0) {
412
+ try {
413
+ itemFeedback = await getItemFeedback(featureId, checklistItem.id);
414
+ if (itemFeedback.unaddressedComments.length > 0) {
415
+ console.log(`Reviewer feedback: ${itemFeedback.unaddressedComments.length} comment(s) to verify`);
416
+ }
417
+ }
418
+ catch {
419
+ // Non-fatal - continue without feedback
420
+ }
421
+ }
302
422
  // Start the session if it's in ready status
303
423
  if (feature.currentSession &&
304
424
  feature.currentSession.status === 'ready' &&
@@ -363,6 +483,11 @@ export async function verifyFeature(options) {
363
483
  checklistItemId: checklistItem.id,
364
484
  });
365
485
  console.log(`Browser session created: ${browserSession.id}`);
486
+ // Link the browser session to the checklist item immediately so steps
487
+ // are visible in the dashboard while verification is in progress
488
+ await updateChecklistItem(featureId, checklistItem.id, {
489
+ browserSessionId: browserSession.id,
490
+ });
366
491
  const configResult = await buildPlaywrightConfig(resolvedSettings, activeEnv, browserSession?.id);
367
492
  const rangerBrowserMcp = {
368
493
  command: 'npx',
@@ -374,6 +499,41 @@ export async function verifyFeature(options) {
374
499
  ],
375
500
  };
376
501
  const startTime = Date.now();
502
+ // Handle process interruption (Ctrl+C or coding agent killing the process)
503
+ let interrupted = false;
504
+ const handleInterrupt = async () => {
505
+ if (interrupted)
506
+ return;
507
+ interrupted = true;
508
+ console.log('\nVerification interrupted. Cleaning up...');
509
+ try {
510
+ await updateBrowserSession(browserSession.id, {
511
+ status: 'interrupted',
512
+ durationMs: Date.now() - startTime,
513
+ });
514
+ }
515
+ catch {
516
+ // Best effort
517
+ }
518
+ try {
519
+ await updateChecklistItem(featureId, checklistItem.id, {
520
+ status: 'pending',
521
+ });
522
+ }
523
+ catch {
524
+ // Best effort
525
+ }
526
+ try {
527
+ await cleanupTempFiles(configResult);
528
+ }
529
+ catch {
530
+ // Best effort
531
+ }
532
+ console.log('Checklist item reset to pending. Partial steps are preserved.');
533
+ process.exit(0);
534
+ };
535
+ process.on('SIGINT', handleInterrupt);
536
+ process.on('SIGTERM', handleInterrupt);
377
537
  // Fetch Anthropic API key
378
538
  let anthropicApiKey;
379
539
  try {
@@ -403,10 +563,31 @@ export async function verifyFeature(options) {
403
563
  const notesSection = checklistItem.notes
404
564
  ? `\n\n## Additional Notes\n${checklistItem.notes}`
405
565
  : '';
566
+ // Build reviewer feedback section if available
567
+ let feedbackSection = '';
568
+ if (itemFeedback && itemFeedback.unaddressedComments.length > 0) {
569
+ const commentLines = itemFeedback.unaddressedComments
570
+ .map((c) => {
571
+ const date = new Date(c.createdAt).toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
572
+ const author = c.authorName || c.authorEmail || 'Reviewer';
573
+ return `- **${author}** (${date}): "${c.content}"`;
574
+ })
575
+ .join('\n');
576
+ feedbackSection = `\n\n## Reviewer Feedback to Address
577
+ The following reviewer comments were left on the previous version of this item.
578
+ Verify that each concern has been addressed in the current implementation:
579
+
580
+ ${commentLines}`;
581
+ }
582
+ let canonicalFlowSection = '';
583
+ if (itemFeedback?.canonicalFlow) {
584
+ canonicalFlowSection = `\n\n## Expected Flow (from previous verification)
585
+ ${itemFeedback.canonicalFlow}`;
586
+ }
406
587
  verifierPrompt = `You are a Feature Verifier. Your job is to verify a checklist item by executing a UI flow and evaluating whether it adequately completes the checklist item.
407
588
 
408
589
  ## Checklist Item to Verify
409
- ${checklistItem.description}${notesSection}
590
+ ${checklistItem.description}${notesSection}${feedbackSection}${canonicalFlowSection}
410
591
 
411
592
  ## Task to Execute
412
593
  ${taskDescription}
@@ -516,11 +697,13 @@ Return your findings in the structured output format with your evaluation.`;
516
697
  required: ['success', 'summary', 'evaluation', 'evaluationReason'],
517
698
  };
518
699
  // 6. Execute agent
700
+ const traceDir = getTraceDirectory(browserSession.id);
701
+ const screenshotHook = createScreenshotUploadHook(browserSession.id, checklistItem.id, traceDir);
519
702
  const result = query({
520
703
  prompt: verifierPrompt,
521
704
  options: {
522
705
  cwd: process.cwd(),
523
- model: 'claude-opus-4-5',
706
+ model: 'claude-opus-4-6',
524
707
  mcpServers: {
525
708
  'ranger-browser': rangerBrowserMcp,
526
709
  },
@@ -531,6 +714,13 @@ Return your findings in the structured output format with your evaluation.`;
531
714
  type: 'json_schema',
532
715
  schema: outputSchema,
533
716
  },
717
+ hooks: {
718
+ PostToolUse: [
719
+ {
720
+ hooks: [browserToolLogHook, screenshotHook.hook],
721
+ },
722
+ ],
723
+ },
534
724
  env: {
535
725
  ...process.env,
536
726
  ANTHROPIC_API_KEY: anthropicApiKey,
@@ -647,9 +837,13 @@ Return your findings in the structured output format with your evaluation.`;
647
837
  }
648
838
  }
649
839
  // Create verification steps and upload screenshots as step assets
840
+ // Filter out screenshots already uploaded by the PostToolUse hook
650
841
  const pngFiles = files
651
842
  .filter((f) => f.toLowerCase().endsWith('.png'))
843
+ .filter((f) => !screenshotHook.uploadedFiles.has(f))
652
844
  .sort(); // Sort to maintain order by filename (01_, 02_, etc.)
845
+ // Start position after any screenshots already uploaded by the hook
846
+ const positionOffset = screenshotHook.uploadedFiles.size + 1;
653
847
  for (let i = 0; i < pngFiles.length; i++) {
654
848
  const pngFile = pngFiles[i];
655
849
  try {
@@ -668,7 +862,7 @@ Return your findings in the structured output format with your evaluation.`;
668
862
  // Create a verification step for this screenshot
669
863
  const { step } = await createVerificationStep(browserSession.id, {
670
864
  checklistItemId: checklistItem.id,
671
- position: i,
865
+ position: positionOffset + i,
672
866
  stepType: 'screenshot',
673
867
  stepName: displayName,
674
868
  description: isKeyFrame
@@ -806,6 +1000,9 @@ Return your findings in the structured output format with your evaluation.`;
806
1000
  return resultForEval;
807
1001
  }
808
1002
  finally {
1003
+ // Remove interrupt handlers to avoid double-firing after normal completion
1004
+ process.removeListener('SIGINT', handleInterrupt);
1005
+ process.removeListener('SIGTERM', handleInterrupt);
809
1006
  // Cleanup
810
1007
  await cleanupTempFiles(configResult);
811
1008
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"verifyFeature.js","sourceRoot":"","sources":["../../src/commands/verifyFeature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyFeature.js","sourceRoot":"","sources":["../../src/commands/verifyFeature.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,GAGR,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EACH,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAEhB,SAAS,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACH,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,eAAe,GAGlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,SAAS,YAAY;IACjB,IAAI,CAAC;QACD,OAAO,QAAQ,CAAC,iCAAiC,EAAE;YAC/C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAyBD;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,OAAe;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC3D,QAAQ,CAAC,OAAO,OAAO,gBAAgB,UAAU,KAAK,EAAE;QACpD,KAAK,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,UAAU,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAAiB;IACxC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,SAAiB;IAC9C,OAAO,IAAI,CACP,MAAM,EAAE,EACR,yBAAyB,EACzB,SAAS,EACT,oBAAoB,CACvB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC5B,UAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1E,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjC,QAAQ;QACR,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;KAClC,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACtB,OAAqE;IAKrE,MAAM,eAAe,GAMjB;QACA,QAAQ,EAAE;YACN,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,mDAAmD;YAC5D,UAAU,EAAE,UAAU;YACtB,gBAAgB,EAAE,sCAAsC;SAC3D;QACD,OAAO,EAAE;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,SAAS;YACrB,gBAAgB,EAAE,4CAA4C;YAC9D,MAAM,EAAE;gBACJ;oBACI,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,yCAAyC;iBACzD;aACJ;SACJ;QACD,UAAU,EAAE;YACR,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,uCAAuC;YAChD,UAAU,EAAE,SAAS;YACrB,gBAAgB,EACZ,yDAAyD;YAC7D,MAAM,EAAE;gBACJ;oBACI,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,OAAO;oBACb,WAAW,EACP,gEAAgE;iBACvE;gBACD;oBACI,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,8CAA8C;iBAC9D;aACJ;SACJ;QACD,OAAO,EAAE;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,SAAS;YACrB,gBAAgB,EAAE,4BAA4B;YAC9C,MAAM,EAAE;gBACJ;oBACI,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE,mCAAmC;iBACnD;gBACD;oBACI,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,kBAAkB;oBACxB,WAAW,EAAE,uCAAuC;iBACvD;aACJ;SACJ;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mCAAmC;YAC5C,UAAU,EAAE,QAAQ;YACpB,gBAAgB,EAAE,+CAA+C;YACjE,MAAM,EAAE;gBACJ;oBACI,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,6BAA6B;iBAC7C;aACJ;SACJ;KACJ,CAAC;IAEF,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACnB,OAAO;;;;;;;;;;sDAU2C,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAC9B,KAAmB;IAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,KAAK,GACP,IAAI,CAAC,MAAM,KAAK,UAAU;YACtB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY;gBAC5B,CAAC,CAAC,cAAc,CAAC,gBAAgB;gBACjC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;oBACzB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;wBACxB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,QAAQ,CAAC;QACzB,MAAM,YAAY,GACd,IAAI,CAAC,uBAAuB,GAAG,CAAC;YAC5B,CAAC,CAAC,KAAK,IAAI,CAAC,uBAAuB,YAAY;YAC/C,CAAC,CAAC,EAAE,CAAC;QACb,OAAO;YACH,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,YAAY,EAAE;YAC7D,KAAK,EAAE,IAAI,CAAC,EAAE;SACjB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACvC;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,wCAAwC;YACjD,OAAO;SACV;KACJ,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CAC/B,SAAiB,EACjB,cAA0B,EAC1B,MAA2B;IAE3B,gEAAgE;IAChE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC;IACzE,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CACtC,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,MAAM,KAAK,UAAU;QACvB,CAAC,CAAC,MAAM,KAAK,SAAS;QACtB,CAAC,CAAC,MAAM,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,KAAK,YAAY,CAChC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjC,oCAAoC;IACpC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAEnE,IAAI,iBAAiB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CACP,oFAAoF,CACvF,CAAC;IACN,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAiB,KAAK,EAAE,KAAK,EAAE,EAAE;IACrD,IAAI,KAAK,CAAC,eAAe,KAAK,aAAa;QAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,SAAS,GAAG,KAA6B,CAAC;IAChD,MAAM,SAAS,GAAG,SAAS,CAAC,UAAqC,CAAC;IAElE,QAAQ,SAAS,CAAC,SAAS,EAAE,CAAC;QAC1B,KAAK,uCAAuC;YACxC,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,MAAM;QACV,KAAK,oCAAoC;YACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;YACxD,MAAM;QACV,KAAK,mCAAmC;YACpC,OAAO,CAAC,GAAG,CACP,qBAAqB,SAAS,CAAC,IAAI,WAAW,SAAS,CAAC,OAAO,GAAG,CACrE,CAAC;YACF,MAAM;QACV,KAAK,wCAAwC;YACzC,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YACtD,MAAM;QACV,KAAK,uCAAuC;YACxC,OAAO,CAAC,GAAG,CACP,oBAAoB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,WAAW,EAAE,CAC/F,CAAC;YACF,MAAM;IACd,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAEF;;;;GAIG;AACH,SAAS,0BAA0B,CAC/B,SAAiB,EACjB,eAAuB,EACvB,QAAgB;IAEhB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,IAAI,GAAiB,KAAK,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,KAAK,CAAC,eAAe,KAAK,aAAa;YAAE,OAAO,EAAE,CAAC;QAEvD,MAAM,SAAS,GAAG,KAA6B,CAAC;QAChD,IACI,SAAS,CAAC,SAAS;YACnB,8CAA8C;YAE9C,OAAO,EAAE,CAAC;QAEd,mCAAmC;QACnC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAmC,CAAC;QAChE,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YAEpC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,QAAQ;iBACvB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;iBACtB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;iBACrB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;iBACpB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAExB,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;YAEnC,2BAA2B;YAC3B,OAAO,CAAC,GAAG,CACP,yBAAyB,eAAe,MAAM,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAClG,CAAC;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE;gBACrD,eAAe;gBACf,QAAQ,EAAE,eAAe;gBACzB,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,UAAU;oBACnB,CAAC,CAAC,yCAAyC;oBAC3C,CAAC,CAAC,yCAAyC;gBAC/C,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE;oBACN,QAAQ;oBACR,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;iBACzC;aACJ,CAAC,CAAC;YAEH,oBAAoB;YACpB,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;gBAC5D,QAAQ;gBACR,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,CAAC;gBACX,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;gBACvC,QAAQ,EAAE;oBACN,IAAI,EAAE,WAAW;oBACjB,YAAY,EAAE,UAAU;iBAC3B;aACJ,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,gBAAgB,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,oBAAoB;YACpB,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,wBAAwB;YACxB,kCAAkC;QACtC,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAMnC;IACG,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAE3C,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACP,6DAA6D,OAAO,CAAC,YAAY,EAAE,CACtF,CAAC;IACN,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACX,6EAA6E,CAChF,CAAC;IACN,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IAE5C,uDAAuD;IACvD,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC;IACrC,IAAI,aAAa,IAAI,aAAa,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;QACvD,MAAM,aAAa,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,IAAI,KAAK,SAAS,GAAG,CAAC,CAAC;IAEhE,8FAA8F;IAC9F,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAE/D,oDAAoD;IACpD,IAAI,aAAa,GAAsB,IAAI,CAAC;IAC5C,IAAI,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,qCAAqC;QACrC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,qBAAqB;QACzD,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACX,uBAAuB,OAAO,CAAC,IAAI,iBAAiB,WAAW,CAAC,MAAM,oBAAoB,CAC7F,CAAC;QACN,CAAC;QACD,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;QAChD,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,2EAA2E;QAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAElE,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,0DAA0D;YAC1D,OAAO,CAAC,GAAG,CACP,+DAA+D,CAClE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACtD,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC5B,MAAM,KAAK,GACP,IAAI,CAAC,MAAM,KAAK,UAAU;oBACtB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY;wBAC5B,CAAC,CAAC,cAAc,CAAC,gBAAgB;wBACjC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;4BACzB,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gCACxB,CAAC,CAAC,QAAQ;gCACV,CAAC,CAAC,QAAQ,CAAC;gBACzB,MAAM,YAAY,GACd,IAAI,CAAC,uBAAuB,GAAG,CAAC;oBAC5B,CAAC,CAAC,KAAK,IAAI,CAAC,uBAAuB,YAAY;oBAC/C,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,YAAY,EAAE,CAC5D,CAAC;YACN,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,IAAI,KAAK,CACX,iFAAiF,CACpF,CAAC;QACN,CAAC;QAED,wBAAwB;QACxB,aAAa,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,IAAI,aAAa,EAAE,CAAC;YACpC,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;QAChD,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACX,kFAAkF,CACrF,CAAC;IACN,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACX,uBAAuB,aAAa,CAAC,WAAW,wBAAwB,aAAa,CAAC,cAAc,IAAI,gBAAgB,IAAI,CAC/H,CAAC;IACN,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IAExC,qEAAqE;IACrE,IAAI,YAAY,GAAwB,IAAI,CAAC;IAC7C,IACI,aAAa,CAAC,YAAY;QAC1B,aAAa,CAAC,uBAAuB,GAAG,CAAC,EAC3C,CAAC;QACC,IAAI,CAAC;YACD,YAAY,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,YAAY,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CACP,sBAAsB,YAAY,CAAC,mBAAmB,CAAC,MAAM,uBAAuB,CACvF,CAAC;YACN,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,wCAAwC;QAC5C,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,IACI,OAAO,CAAC,cAAc;QACtB,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,OAAO;QACzC,OAAO,CAAC,gBAAgB,EAC1B,CAAC;QACC,IAAI,CAAC;YACD,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,wDAAwD;YACxD,MAAM,OAAO,GACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,MAAM,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE;QACnD,MAAM,EAAE,0BAA0B;KACrC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,IAAI,SAAiB,CAAC;IACtB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5B,CAAC;SAAM,CAAC;QACJ,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACX,mDAAmD,CACtD,CAAC;QACN,CAAC;QACD,SAAS,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1D,CAAC,CAAC,IAAI,EAAE,CACX,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,gBAAgB,SAAS,oCAAoC,SAAS,EAAE,CAC3E,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAa,CAAC;IAE9D,6BAA6B;IAC7B,IAAI,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACX,0CAA0C,SAAS,6BAA6B,SAAS,gBAAgB,CAC5G,CAAC;IACN,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1C,CAAC,CAAC,OAAO,CAAC,SAAS;YACnB,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;QAC9B,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,4BAA4B;IAC5B,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC;QAC9C,eAAe,EAAE,SAAS;QAC1B,QAAQ,EAAE,gBAA2C;QACrD,IAAI,EAAE,eAAe;QACrB,GAAG;QACH,SAAS;QACT,eAAe,EAAE,aAAa,CAAC,EAAE;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,4BAA4B,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7D,sEAAsE;IACtE,iEAAiE;IACjE,MAAM,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE;QACnD,gBAAgB,EAAE,cAAc,CAAC,EAAE;KACtC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAC5C,gBAAgB,EAChB,SAAS,EACT,cAAc,EAAE,EAAE,CACrB,CAAC;IAEF,MAAM,gBAAgB,GAAG;QACrB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE;YACF,4BAA4B;YAC5B,gBAAgB;YAChB,UAAU;YACV,YAAY,CAAC,UAAU;SAC1B;KACJ,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,2EAA2E;IAC3E,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,WAAW;YAAE,OAAO;QACxB,WAAW,GAAG,IAAI,CAAC;QAEnB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAE1D,IAAI,CAAC;YACD,MAAM,oBAAoB,CAAC,cAAc,CAAC,EAAE,EAAE;gBAC1C,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACrC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,cAAc;QAClB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,mBAAmB,CAAC,SAAS,EAAE,aAAc,CAAC,EAAE,EAAE;gBACpD,MAAM,EAAE,SAAS;aACpB,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,cAAc;QAClB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACL,cAAc;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CACP,+DAA+D,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAEvC,0BAA0B;IAC1B,IAAI,eAAuB,CAAC;IAC5B,IAAI,CAAC;QACD,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,sCAAsC,OAAO,EAAE,CAAC;QAEjE,IAAI,CAAC;YACD,MAAM,oBAAoB,CAAC,cAAc,CAAC,EAAE,EAAE;gBAC1C,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,YAAY,EAAE,QAAQ;aACzB,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,2CAA2C;IAC3C,IAAI,cAAsB,CAAC;IAE3B,IAAI,WAAW,EAAE,CAAC;QACd,cAAc,GAAG,cAAc,EAAE,CAAC;IACtC,CAAC;SAAM,CAAC;QACJ,MAAM,YAAY,GAAG,aAAc,CAAC,KAAK;YACrC,CAAC,CAAC,4BAA4B,aAAc,CAAC,KAAK,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;QAET,+CAA+C;QAC/C,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,YAAY,IAAI,YAAY,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,YAAY,GAAG,YAAY,CAAC,mBAAmB;iBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACP,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CACjD,OAAO,EACP,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CACrC,CAAC;gBACF,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC;gBAC3D,OAAO,OAAO,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;YACvD,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhB,eAAe,GAAG;;;;EAI5B,YAAY,EAAE,CAAC;QACT,CAAC;QAED,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,IAAI,YAAY,EAAE,aAAa,EAAE,CAAC;YAC9B,oBAAoB,GAAG;EACjC,YAAY,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QAED,cAAc,GAAG;;;EAGvB,aAAc,CAAC,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,oBAAoB;;;EAGlF,eAAe;;;oBAGG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EA+DoD,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG;QACjB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,UAAU,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;aACrD;YACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpC,MAAM,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACR,QAAQ,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;yBACtC;wBACD,IAAI,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE;gCACF,UAAU;gCACV,UAAU;gCACV,UAAU;gCACV,kBAAkB;gCAClB,OAAO;6BACV;yBACJ;wBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACjC;oBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;iBACxC;aACJ;SACJ;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC;KACrE,CAAC;IAEF,mBAAmB;IACnB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,0BAA0B,CAC7C,cAAc,CAAC,EAAE,EACjB,aAAa,CAAC,EAAE,EAChB,QAAQ,CACX,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC;QACjB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE;YACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE;gBACR,gBAAgB,EAAE,gBAAgB;aACrC;YACD,KAAK,EAAE,CAAC,wBAAwB,CAAC;YACjC,cAAc,EAAE,mBAAmB;YACnC,+BAA+B,EAAE,IAAI;YACrC,YAAY,EAAE;gBACV,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,YAAY;aACvB;YACD,KAAK,EAAE;gBACH,WAAW,EAAE;oBACT;wBACI,KAAK,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC;qBACnD;iBACJ;aACJ;YACD,GAAG,EAAE;gBACD,GAAG,OAAO,CAAC,GAAG;gBACd,iBAAiB,EAAE,eAAe;aACrC;YACD,cAAc,EAAE,KAAK;SACxB;KACJ,CAAC,CAAC;IAEH,sBAAsB;IACtB,IAAI,WAAW,GAA+B,IAAI,CAAC;IACnD,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,qGAAqG;IACrG,IAAI,yBAAyB,GAA+B,IAAI,CAAC;IAEjE,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACnD,UAAU,CAAC,GAAG,EAAE;YACZ,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACpE,CAAC,EAAE,UAAU,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACD,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,CAAC,KAAK,IAAI,EAAE;oBACR,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;wBACjC,IAAI,CAAC;4BACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;4BAChD,MAAM,UAAU,CACZ,oBAAoB,EACpB,QAAQ,EACR,OAAO,CACV,CAAC;wBACN,CAAC;wBAAC,MAAM,CAAC;4BACL,SAAS;wBACb,CAAC;wBAED,MAAM,GAAG,GAAG,OAcX,CAAC;wBAEF,uDAAuD;wBACvD,0EAA0E;wBAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;4BACnD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACtC,IACI,KAAK,CAAC,IAAI,KAAK,UAAU;oCACzB,KAAK,CAAC,IAAI,KAAK,kBAAkB;oCACjC,KAAK,CAAC,KAAK,EACb,CAAC;oCACC,yBAAyB;wCACrB,KAAK,CAAC,KAA4B,CAAC;gCAC3C,CAAC;4BACL,CAAC;wBACL,CAAC;wBAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACZ,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;4BAC1B,IACI,GAAG,CAAC,OAAO,EAAE,OAAO;gCACpB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EACpC,CAAC;gCACC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO;qCAC5B,MAAM,CACH,CAAC,CAAmB,EAAE,EAAE,CACpB,CAAC,CAAC,IAAI,KAAK,MAAM,CACxB;qCACA,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;qCAC3C,MAAM,CAAC,OAAO,CAAC,CAAC;gCACrB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACnB,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gCAChC,CAAC;4BACL,CAAC;4BACD,UAAU,GAAG,SAAS,CAAC;wBAC3B,CAAC;wBAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC5B,IACI,OAAO,CAAC,OAAO,KAAK,SAAS;gCAC7B,OAAO,CAAC,iBAAiB,EAC3B,CAAC;gCACC,WAAW;oCACP,OAAO,CAAC,iBAAwC,CAAC;4BACzD,CAAC;iCAAM,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gCACvC,gEAAgE;gCAChE,iDAAiD;gCACjD,IACI,yBAAyB;oCACzB,OAAO,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,EAC9B,CAAC;oCACC,WAAW,GAAG,yBAAyB,CAAC;oCACxC,8CAA8C;oCAC9C,UAAU,GAAG,IAAI,CAAC;gCACtB,CAAC;qCAAM,IAAI,CAAC,UAAU,EAAE,CAAC;oCACrB,UAAU;wCACN,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;4CAC1B,eAAe,CAAC;gCACxB,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,EAAE;gBACJ,cAAc;aACjB,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE1C,yEAAyE;QACzE,IAAI,gBAAoC,CAAC;QACzC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnB,mBAAmB;oBACnB,MAAM,SAAS,GAAG,MAAM,aAAa,CACjC,cAAc,CAAC,EAAE,EACjB,WAAW,EACX,KAAK,CACR,CAAC;oBACF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACjD,MAAM,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBACpD,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC;oBAEzC,0CAA0C;oBAC1C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBACjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBACzB,IAAI,CAAC;4BACD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC/C,MAAM,SAAS,GAAG,MAAM,aAAa,CACjC,cAAc,CAAC,EAAE,EACjB,KAAK,CAAC,QAAQ,EACd,MAAM,CACT,CAAC;4BACF,MAAM,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;wBACxD,CAAC;wBAAC,MAAM,CAAC;4BACL,wCAAwC;wBAC5C,CAAC;oBACL,CAAC;oBAED,kEAAkE;oBAClE,kEAAkE;oBAClE,MAAM,QAAQ,GAAG,KAAK;yBACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;yBAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;yBACnD,IAAI,EAAE,CAAC,CAAC,sDAAsD;oBAEnE,oEAAoE;oBACpE,MAAM,cAAc,GAChB,cAAc,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;oBAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC5B,IAAI,CAAC;4BACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;4BACxC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;4BAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;4BAEpC,qDAAqD;4BACrD,MAAM,UAAU,GAAG,OAAO;iCACrB,WAAW,EAAE;iCACb,UAAU,CAAC,MAAM,CAAC,CAAC;4BACxB,MAAM,WAAW,GAAG,OAAO;iCACtB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;iCACtB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;iCACrB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;iCACpB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;4BAExB,iDAAiD;4BACjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,sBAAsB,CACzC,cAAc,CAAC,EAAE,EACjB;gCACI,eAAe,EAAE,aAAa,CAAC,EAAE;gCACjC,QAAQ,EAAE,cAAc,GAAG,CAAC;gCAC5B,QAAQ,EAAE,YAAY;gCACtB,QAAQ,EAAE,WAAW;gCACrB,WAAW,EAAE,UAAU;oCACnB,CAAC,CAAC,yCAAyC;oCAC3C,CAAC,CAAC,yCAAyC;gCAC/C,SAAS,EAAE,UAAU;gCACrB,MAAM,EAAE,SAAS;gCACjB,QAAQ,EAAE;oCACN,QAAQ,EAAE,OAAO;oCACjB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;iCACzC;6BACJ,CACJ,CAAC;4BAEF,oCAAoC;4BACpC,MAAM,aAAa,GAAG,MAAM,eAAe,CACvC,cAAc,CAAC,EAAE,EACjB,IAAI,CAAC,EAAE,EACP;gCACI,QAAQ,EAAE,OAAO;gCACjB,SAAS,EAAE,YAAY;gCACvB,MAAM,EAAE,OAAO;gCACf,QAAQ,EAAE,CAAC;gCACX,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;gCACvC,QAAQ,EAAE;oCACN,IAAI,EAAE,WAAW;oCACjB,YAAY,EAAE,UAAU;iCAC3B;6BACJ,CACJ,CAAC;4BAEF,0CAA0C;4BAC1C,MAAM,gBAAgB,CAClB,aAAa,CAAC,SAAS,EACvB,SAAS,CACZ,CAAC;wBACN,CAAC;wBAAC,MAAM,CAAC;4BACL,6CAA6C;wBACjD,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACD,MAAM,gBAAgB,GAAG,MAAM,aAAa,CACxC,cAAc,CAAC,EAAE,EACjB,oBAAoB,EACpB,OAAO,CACV,CAAC;oBACF,MAAM,kBAAkB,GACpB,MAAM,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBACzC,MAAM,kBAAkB,CACpB,gBAAgB,CAAC,SAAS,EAC1B,kBAAkB,CACrB,CAAC;gBACN,CAAC;gBAAC,MAAM,CAAC;oBACL,SAAS;gBACb,CAAC;YACL,CAAC;YAED,yEAAyE;YACzE,MAAM,WAAW,GAAG,WAAyC,CAAC;YAE9D,MAAM,UAAU,GAAG;gBACf,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAE9B;gBACd,UAAU;gBACV,aAAa,EAAE,WAAW,EAAE,OAAO,IAAI,UAAU,IAAI,SAAS;gBAC9D,YAAY,EAAE,UAAU,IAAI,SAAS;aACxC,CAAC;YAEF,MAAM,oBAAoB,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAE1D,IAAI,WAAW,IAAI,gBAAgB,EAAE,CAAC;gBAClC,WAAW,CAAC,cAAc;oBACtB,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAC1C,WAAW,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;gBAC1C,WAAW,CAAC,UAAU,GAAG,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC9D,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;gBACpC,WAAW,CAAC,eAAe,GAAG,aAAa,CAAC,EAAE,CAAC;YACnD,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,uBAAuB;QAC3B,CAAC;QAED,gDAAgD;QAChD,iEAAiE;QACjE,IAAI,aAAkC,CAAC;QAEvC,IAAI,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACzD,aAAa,GAAG;gBACZ,GAAG,QAAQ;gBACX,SAAS,EAAE,cAAc,CAAC,EAAE;gBAC5B,UAAU,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChD,UAAU;gBACV,cAAc,EAAE,gBAAgB;oBAC5B,CAAC,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;oBACvC,CAAC,CAAC,SAAS;gBACf,eAAe,EAAE,aAAa,CAAC,EAAE;aACpC,CAAC;YACF,OAAO,CAAC,GAAG,CACP,yCAAyC,OAAO,CAAC,YAAY,EAAE,CAClE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,WAAyC,CAAC;YAE9D,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YAED,aAAa,GAAG,WAAW,CAAC;QAChC,CAAC;QAED,gDAAgD;QAChD,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAE5C,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE;gBACnD,MAAM,EAAE,UAAU;gBAClB,gBAAgB,EAAE,cAAc,CAAC,EAAE;aACtC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE;gBACnD,MAAM,EAAE,SAAS;gBACjB,gBAAgB,EAAE,cAAc,CAAC,EAAE;gBACnC,aAAa,EAAE,aAAa,CAAC,gBAAgB;aAChD,CAAC,CAAC;YAEH,kCAAkC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,YAAY,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAE1D,IAAI,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrD,OAAO,CAAC,GAAG,CACP,QAAQ,KAAK,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,CAC3D,CAAC;gBACN,CAAC;YACL,CAAC;YAED,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,YAAY,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,CAAC,GAAG,CACP,mFAAmF,CACtF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC7D,4EAA4E;YAC5E,MAAM,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE;gBACnD,MAAM,EAAE,YAAY;gBACpB,gBAAgB,EAAE,cAAc,CAAC,EAAE;gBACnC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACnD,CAAC,CAAC;YACH,oDAAoD;YACpD,MAAM,oBAAoB,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;YAAS,CAAC;QACP,2EAA2E;QAC3E,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAClD,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAEnD,UAAU;QACV,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAErC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;QAED,IAAI,CAAC;YACD,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;IACL,CAAC;AACL,CAAC"}