sitelooper 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +625 -0
- package/bin/sitelooper.js +6 -0
- package/dist/agent/llm.js +460 -0
- package/dist/agent/llm.js.map +1 -0
- package/dist/agent/loop.js +870 -0
- package/dist/agent/loop.js.map +1 -0
- package/dist/agent/prompt.js +40 -0
- package/dist/agent/prompt.js.map +1 -0
- package/dist/agent/report.js +545 -0
- package/dist/agent/report.js.map +1 -0
- package/dist/agent/tools.js +1147 -0
- package/dist/agent/tools.js.map +1 -0
- package/dist/cli.js +1692 -0
- package/dist/cli.js.map +1 -0
- package/dist/daemon/browser.js +218 -0
- package/dist/daemon/browser.js.map +1 -0
- package/dist/daemon/codegen.js +241 -0
- package/dist/daemon/codegen.js.map +1 -0
- package/dist/daemon/dialogs.js +57 -0
- package/dist/daemon/dialogs.js.map +1 -0
- package/dist/daemon/diff.js +198 -0
- package/dist/daemon/diff.js.map +1 -0
- package/dist/daemon/fingerprint.js +98 -0
- package/dist/daemon/fingerprint.js.map +1 -0
- package/dist/daemon/inputs.js +134 -0
- package/dist/daemon/inputs.js.map +1 -0
- package/dist/daemon/recorder.js +1232 -0
- package/dist/daemon/recorder.js.map +1 -0
- package/dist/daemon/refs.js +194 -0
- package/dist/daemon/refs.js.map +1 -0
- package/dist/daemon/server.js +1724 -0
- package/dist/daemon/server.js.map +1 -0
- package/dist/daemon/state.js +239 -0
- package/dist/daemon/state.js.map +1 -0
- package/dist/doctor.js +90 -0
- package/dist/doctor.js.map +1 -0
- package/dist/shared/paths.js +80 -0
- package/dist/shared/paths.js.map +1 -0
- package/dist/shared/protocol.js +28 -0
- package/dist/shared/protocol.js.map +1 -0
- package/dist/shared/secrets.js +92 -0
- package/dist/shared/secrets.js.map +1 -0
- package/dist/shared/text.js +39 -0
- package/dist/shared/text.js.map +1 -0
- package/dist/skills/compile.js +1420 -0
- package/dist/skills/compile.js.map +1 -0
- package/dist/skills/components.js +456 -0
- package/dist/skills/components.js.map +1 -0
- package/dist/skills/flow.js +1041 -0
- package/dist/skills/flow.js.map +1 -0
- package/dist/skills/learn.js +406 -0
- package/dist/skills/learn.js.map +1 -0
- package/dist/skills/ledger.js +304 -0
- package/dist/skills/ledger.js.map +1 -0
- package/dist/skills/relabel.js +206 -0
- package/dist/skills/relabel.js.map +1 -0
- package/dist/skills/repair.js +570 -0
- package/dist/skills/repair.js.map +1 -0
- package/dist/skills/replay.js +1281 -0
- package/dist/skills/replay.js.map +1 -0
- package/dist/skills/store.js +147 -0
- package/dist/skills/store.js.map +1 -0
- package/dist/spec/check.js +428 -0
- package/dist/spec/check.js.map +1 -0
- package/dist/spec/diagnostics.js +58 -0
- package/dist/spec/diagnostics.js.map +1 -0
- package/dist/spec/emit.js +2084 -0
- package/dist/spec/emit.js.map +1 -0
- package/dist/spec/index.js +62 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/ir.js +216 -0
- package/dist/spec/ir.js.map +1 -0
- package/dist/spec/lift.js +162 -0
- package/dist/spec/lift.js.map +1 -0
- package/dist/spec/locators.js +270 -0
- package/dist/spec/locators.js.map +1 -0
- package/dist/spec/lower.js +124 -0
- package/dist/spec/lower.js.map +1 -0
- package/dist/spec/repair.js +657 -0
- package/dist/spec/repair.js.map +1 -0
- package/dist/spec/rerecord.js +169 -0
- package/dist/spec/rerecord.js.map +1 -0
- package/dist/spec/rethread.js +120 -0
- package/dist/spec/rethread.js.map +1 -0
- package/package.json +50 -0
- package/skills/sitelooper/SKILL.md +228 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAqB,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAe,MAAM,aAAa,CAAC;AAC3O,OAAO,EAAE,WAAW,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE7F,+EAA+E;AAC/E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3D,wFAAwF;AACxF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,0EAA0E;AAC1E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAChJ,0DAA0D;AAC1D,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,0FAA0F;AAC1F,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,CAAC,GAAG,aAAa,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE;YAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAE,IAAI,GAAG,KAAK,CAAC;QACjF,IAAI,IAAI;YAAE,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEzC,iFAAiF;AACjF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAkH/B,6EAA6E;AAC7E,SAAS,SAAS,CAAC,KAAmB,EAAE,KAAkB,EAAE,MAAc;IACxE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAkBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAkB,EAClB,OAAuB,EACvB,KAAmB,EACnB,WAAmB,EACnB,IAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACxE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,sFAAsF;IACtF,IAAI,UAAwE,CAAC;IAC7E;;;;;;;OAOG;IACH,MAAM,KAAK,GAAiB;QAC1B;YACE,kEAAkE;YAClE,uEAAuE;YACvE,oCAAoC;YACpC,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1F,IAAI,CAAC,SAAS;oBAAE,OAAO,IAAI,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,2DAA2D,SAAS,qSAAqS;oBAClX,UAAU,EAAE,+CAA+C,SAAS,GAAG;oBACvE,QAAQ,EAAE,uCAAuC,SAAS,GAAG;iBAC9D,CAAC;YACJ,CAAC;SACF;QACD;YACE,mEAAmE;YACnE,sEAAsE;YACtE,qEAAqE;YACrE,gBAAgB;YAChB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE;gBAChB,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxF,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACjC,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACrC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO;oBACL,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;oBAClC,UAAU,EAAE,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC3D,QAAQ,EAAE,wBAAwB,OAAO,CAAC,MAAM,2BAA2B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAChG,CAAC;YACJ,CAAC;SACF;KACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,yEAAyE;IACzE,0EAA0E;IAC1E,4BAA4B;IAC5B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,EAAE,CACf,oBAAoB,MAAM,CAAC,MAAM,+CAA+C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAC3I,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,WAAW,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,2EAA2E;IAC3E,4EAA4E;IAC5E,sCAAsC;IACtC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAgB;QACzB,MAAM,EAAE,OAAO,CAAC,GAAG;QACnB,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,IAAI;QAChB,oBAAoB,EAAE,CAAC;QACvB,YAAY,EAAE,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;KAC5E,CAAC,CAAC;IACH,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAC9B,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,WAAW,EAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,CAAC;IAEF,MAAM,MAAM,GAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;IAClF,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAEtC,gFAAgF;IAChF,MAAM,UAAU,GAAG,GAAG,EAAE,CACtB,OAAO,CAAC,MAAM;QACZ,CAAC,CAAC,kGAAkG;QACpG,CAAC,CAAC,qEAAqE,CAAC;IAC5E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,qDAAqD,CAAC;IAEzE,MAAM,MAAM,GAAG,KAAK,EAClB,MAAc,EACd,KAAa,EACb,WAAW,GAAG,KAAK,EACnB,UAAuB,EACK,EAAE;QAC9B,yEAAyE;QACzE,0EAA0E;QAC1E,sEAAsE;QACtE,uDAAuD;QACvD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAClD,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,kDAAkD;YAClD,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,MAAM;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC,yCAAyC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjG,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACrF,IAAI,QAAQ,CAAC,MAAM;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC,sBAAsB,QAAQ,CAAC,MAAM,iCAAiC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpI,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACnF,IAAI,QAAQ,CAAC,MAAM;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC,qBAAqB,QAAQ,CAAC,MAAM,6CAA6C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/I,uEAAuE;YACvE,kEAAkE;YAClE,mEAAmE;YACnE,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAa,EAAE,CAAC;oBAC5B,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBAChD,IAAI,CAAC,IAAI;4BAAE,SAAS,CAAC,4CAA4C;wBACjE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC7B,iEAAiE;wBACjE,kEAAkE;wBAClE,uDAAuD;wBACvD,2CAA2C;wBAC3C,iEAAiE;wBACjE,4DAA4D;wBAC5D,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBACtD,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM;wBAAE,IAAI,CAAC,UAAU,EAAE,CAAC,mBAAmB,MAAM,CAAC,MAAM,2CAA2C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvI,CAAC;gBAAC,MAAM,CAAC;oBACP,wEAAwE;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;QACvC,MAAM,KAAK,GACT,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM;YAClC,CAAC,CAAC,KAAK;gBACL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;qBACnB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC5B,IAAI,CAAC,IAAI,CAAC;qBACV,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;YACjC,CAAC,CAAC,EAAE,CAAC;QACT,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,YAAY,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,GAAG,KAAK,EAAE;SAChE,CAAC,CAAC;QACH,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1F,oEAAoE;YACpE,wEAAwE;YACxE,yEAAyE;YACzE,sEAAsE;YACtE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;oBAChE,MAAM,UAAU,GAAa,EAAE,CAAC;oBAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;oBACpC,sEAAsE;oBACtE,mEAAmE;oBACnE,oEAAoE;oBACpE,kEAAkE;oBAClE,yDAAyD;oBACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACnD,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;4BAAE,SAAS;wBACvE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACrB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBACtD,IAAI,IAAI;4BAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;4BAClC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,4CAA4C;oBAC3E,CAAC;oBACD,qEAAqE;oBACrE,mEAAmE;oBACnE,oEAAoE;oBACpE,mEAAmE;oBACnE,0CAA0C;oBAC1C,8DAA8D;oBAC9D,mEAAmE;oBACnE,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;wBAC/C,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC/F,KAAK,MAAM,IAAI,IAAI,OAAO;4BAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,wEAAwE;gBAC1E,CAAC;YACH,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM;gBACN,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,8EAA8E;QAC9E,wEAAwE;QACxE,gFAAgF;QAChF,MAAM,WAAW,GAAG,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAC/D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7G,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,OAAO;YACL,MAAM;YACN,KAAK;YACL,KAAK;YACL,WAAW;YACX,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,CACjC,MAAM,CACJ;QACE,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,+BAA+B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,OAAO,CAAC,MAAM,mBAAmB,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;KAClL,EACD,KAAK,EACL,IAAI,EACJ,SAAS,CACV,CAAC;IAEJ,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CAChD,MAAM,CACJ;QACE,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,4BAA4B,MAAM,uBAAuB,aAAa,gHAAgH,UAAU,EAAE,yFAAyF;KACrS,EACD,KAAK,EACL,IAAI,EACJ,SAAS,CACV,CAAC;IAEJ,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAChC,MAAM,CACJ;QACE,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,kBAAkB,sBAAsB,uFAAuF,UAAU,EAAE,GAAG,UAAU,wEAAwE;KAC1O,EACD,KAAK,EACL,IAAI,EACJ,SAAS,CACV,CAAC;IAEJ;;;;;;;;;OASG;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,IAA6B,EAA0B,EAAE;QAC5F,wEAAwE;QACxE,oEAAoE;QACpE,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,OAAO,EAAE,MAAM,EAAE,UAAU,IAAI,6CAA6C,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxH,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;gBACxB,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;gBAClE,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;oBACrC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAC3B,OAAO,EACP,GAAG,EAAE,CACH,OAAO,CAAC;wBACN,MAAM,EAAE,UAAU,IAAI,2IAA2I;wBACjK,OAAO,EAAE,IAAI;qBACd,CAAC,EACJ,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACzB,OAAO,MAAM,CACX;gBACE,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,iCAAiC,IAAI,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,kBAAkB,UAAU,EAAE,EAAE;aAC/G,EACD,IAAI,GAAG,CAAC,EACR,IAAI,EACJ,SAAS,CACV,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;YAAE,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAErD,2EAA2E;QAC3E,yEAAyE;QACzE,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3C,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,gLAAgL;aAC1N,CAAC,CAAC;QACL,CAAC;QAED,6EAA6E;QAC7E,sEAAsE;QACtE,6EAA6E;QAC7E,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,GAAG,EACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,uBAAuB,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAC/E,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAElE,IAAI,UAAU,CAAC;QACf,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE;gBAC1E,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,GAAG,CAAC;YACxC,6EAA6E;YAC7E,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;gBAAE,SAAS,CAAC,wDAAwD;YAC5F,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;gBAAE,OAAO,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACrD,iBAAiB,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,mBAAmB,IAAI,0CAA0C,CAAC,CAAC;YAC/F,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,QAAQ,mCAAmC,IAAI,aAAa,CAAC,CAAC;YACtG,IAAI,iBAAiB,IAAI,sBAAsB;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACtE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,wCAAwC,IAAI,oOAAoO;aAC1R,CAAC,CAAC;YACH,SAAS;QACX,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;QACpD,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC5D,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;QACpD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpF,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,iFAAiF;YACjF,iBAAiB,EAAE,CAAC;YACpB,IAAI,iBAAiB,IAAI,sBAAsB;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACtE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,0GAA0G;aAC7G,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,iBAAiB,GAAG,CAAC,CAAC;QAEtB,yEAAyE;QACzE,oEAAoE;QACpE,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC;QACnC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;YAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,GAAG,EAAE,EAAE,CAAC,CAAC;QAClI,CAAC,CAAC;QACF,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAClD,QAAQ,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC;gBAC5C,MAAM;YACR,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;gBAC1H,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;oBAClB,oEAAoE;oBACpE,kDAAkD;oBAClD,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;oBACjE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACjF,IAAI,IAAI,EAAE,CAAC;wBACT,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBACpF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACjC,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACrD,SAAS;oBACX,CAAC;oBACD,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM;4BAAE,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC;wBACzG,kEAAkE;wBAClE,iEAAiE;wBACjE,4DAA4D;wBAC5D,kCAAkC;wBAClC,IAAI,UAAU,EAAE,CAAC;4BACf,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAChH,CAAC;oBACH,CAAC;oBACD,qEAAqE;oBACrE,sEAAsE;oBACtE,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;wBAC/B,UAAU,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACpE,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,IAAI,mCAAmC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrG,CAAC;oBACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBACzF,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,mCAAmC,CAAC,CAAC;oBACtD,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,CAAC;gBACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,IAAI,CAAC,EAAE;oBACrB,OAAO,EAAE,qBAAqB,UAAU,CAAC,KAAK,8FAA8F;iBAC7I,CAAC,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxD,IAAI,aAAa,EAAE,CAAC;oBAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;oBAChD,OAAO,MAAM,CACX;wBACE,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,8DAA8D,UAAU,CAAC,KAAK,IAAI;qBAC5F,EACD,IAAI,EACJ,IAAI,EACJ,gBAAgB,CACjB,CAAC;gBACJ,CAAC;gBACD,aAAa,GAAG,IAAI,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,MAAM;oBACZ,YAAY,EAAE,IAAI,CAAC,EAAE;oBACrB,OAAO,EAAE,wBAAwB,IAAI,CAAC,IAAI,0CAA0C;iBACrF,CAAC,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,uBAAuB,CAAC,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;YAC7E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAEvD,oEAAoE;YACpE,sEAAsE;YACtE,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/E,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtB,IAAI,UAAU,EAAE,CAAC;wBACf,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;wBAChD,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAC/B,CAAC;oBACD,UAAU,GAAG,IAAI,CAAC;oBAClB,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,wBAAwB,MAAM,uBAAuB,aAAa,0BAA0B,CAAC,CAAC;oBAC1H,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,QAAQ,2BAA2B,MAAM,YAAY,CAAC,CAAC;oBAC/F,KAAK,GAAG,8BAA8B,MAAM,uBAAuB,aAAa,0ZAA0Z,CAAC;gBAC7e,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACrD,uEAAuE;gBACvE,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC9D,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;YAED,2EAA2E;YAC3E,sEAAsE;YACtE,4EAA4E;YAC5E,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;oBAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACvD,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE,CAAC;oBACzG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,UAAU,CAAC,IAAI,CACb,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CACzF,CAAC;QACJ,CAAC;QACD,IAAI,KAAK;YAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,MAAM,CACX;QACE,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,aAAa,IAAI,CAAC,QAAQ,qCAAqC,UAAU,EAAE,wEAAwE;KAC7J,EACD,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,UAAU,CACX,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAiB,EACjB,QAAyB,EACzB,OAAuB,EACvB,KAAmB,EACnB,WAAmB,EACnB,IAAiB;IAEjB,wEAAwE;IACxE,wEAAwE;IACxE,0DAA0D;IAC1D,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAE/E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;IAClD,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,eAAe,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAE/F,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,sDAAsD;IACtD,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAgB;QACjC,GAAG,IAAI;QACP,2EAA2E;QAC3E,uEAAuE;QACvE,yCAAyC;QACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE;QACpE,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC;IAEF,0EAA0E;IAC1E,uEAAuE;IACvE,2EAA2E;IAC3E,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAExD,IAAI,CAAC,UAAU,EAAE,CACf,gBAAgB,OAAO,CAAC,KAAK,sBAAsB,KAAK,CAAC,UAAU,IAAI,eAAe,MAAM;QAC1F,eAAe,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;QACzH,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,SAAS,CAAC,MAAM,qBAAqB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE,CACjJ,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,QAAQ,EACR,OAAO,EACP,KAAK,EACL,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EACpC,aAAa,CACd,CAAC;IAEF,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK;QACjC,KAAK,EAAE;YACL,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY;YAClE,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB;YAC9E,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY;SACnE;QACD,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1D,UAAU,EAAE;YACV,IAAI,EAAE,OAAO,CAAC,KAAK;YACnB,EAAE,EAAE,QAAQ,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;YAC5B,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;YACrF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;YAC3C,oBAAoB,EAAE,SAAS,CAAC,MAAM;SACvC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB,EAAE,KAAwB;IACrE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM;QAC/B,CAAC,CAAC,2DAA2D,KAAK,CAAC,OAAO;aACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;aAC7D,IAAI,CAAC,IAAI,CAAC,EAAE;QACjB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,OAAO,CACL,oFAAoF;QACpF,kCAAkC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,GAAG,KAAK,MAAM;QAC3E,iGAAiG;QACjG,6FAA6F;QAC7F,kGAAkG;QAClG,kGAAkG;QAClG,2FAA2F;QAC3F,4FAA4F;QAC5F,mGAAmG;QACnG,yEAAyE,WAAW,EAAE,CACvF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAC7B,QAAkB,EAClB,IAAoC,EACpC,MAAmB,EACnB,KAAmB,EACnB,MAAgB,EAChB,IAAiB,EACjB,KAA+E;IAE/E,MAAM,GAAG,GAAgB;QACvB,IAAI,EAAE,MAAM;QACZ,OAAO,EACL,0JAA0J;YAC1J,2OAA2O;YAC3O,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KACzD,CAAC;IACF,IAAI,UAAU,CAAC;IACf,IAAI,CAAC;QACH,oEAAoE;QACpE,oEAAoE;QACpE,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAChI,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;IACpD,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC5D,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,IAAI,CAAC,IAA8B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAA+B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjJ,MAAM,GAAG,GAAmD,EAAE,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,KAAgD,CAAC;QAC3D,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;YAAE,SAAS;QAClG,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClF,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,GAAG,CAAC,MAAM;QAAE,IAAI,CAAC,UAAU,EAAE,CAAC,6BAA6B,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,uBAAuB,CAAC,CAAC;IACnH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,WAAW,GAAY;IAC3B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,4FAA4F;IACzG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;oBAC/B,UAAU,EAAE;wBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;wBAC/E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mHAAmH,EAAE;qBAC/J;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,mFAAmF;AACnF,2FAA2F;AAC3F,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,KAAK,UAAU,WAAW,CACxB,OAAuB;IAEvB,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC;QAC/D,wEAAwE;QACxE,yEAAyE;QACzE,mDAAmD;QACnD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,0EAA0E;QAC1E,uEAAuE;QACvE,kCAAkC;QAClC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,OAAO;YACL,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI;YACJ,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SAC/F,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,SAAS,cAAc,CAAC,KAAkB,EAAE,IAAY,EAAE,IAA6B,EAAE,SAAwB;IAC/G,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO;IACrD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,CAAC,GAA6B,SAAS,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,CAAC;YAAE,OAAO;QACf,yEAAyE;QACzE,8DAA8D;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;YACjB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;YACxB,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;YAChC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACnC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;YACpC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;YAChC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,CAAC,MAAM;gBAAE,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC1D,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC,QAAQ,CAAC;QACzC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC;QACjC,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,8EAA8E;QAC9E,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/D,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,uCAAuC;QAC9E,KAAK,CAAC,YAAY,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CAAC,IAA6B;IAClD,4EAA4E;IAC5E,6DAA6D;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAE,CAAwB,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;QACpF,OAAO,IAAI,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACxD,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,OAAuB;IAEvB,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC,CAAC,+CAA+C;QACtF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YACnC,IAAI,OAAO,CAAY,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;SACrE,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAuB;IACrD,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,kCAAkC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QACnF,IAAI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,IAAI;gBACF,yMAAyM,CAAC;QAC9M,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACjC,IAAI,IAAI,yFAAyF,CAAC;QACpG,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,oEAAoE,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System prompt assembly. Stable content first, in a fixed order, so the
|
|
3
|
+
* prefix is byte-identical across instructions within a session — that keeps
|
|
4
|
+
* any provider-side/implicit prompt caching effective and the design portable
|
|
5
|
+
* to providers with explicit caching.
|
|
6
|
+
*/
|
|
7
|
+
export const OPERATING_RULES = `You are sitelooper's internal operator: you drive a real browser with tools to carry out ONE instruction from the caller, then report a concise result.
|
|
8
|
+
|
|
9
|
+
Method:
|
|
10
|
+
1. Act, do not deliberate. EVERY turn — including your first — must contain a tool call. Plan one step ahead FOR ANYTHING WHOSE OUTCOME YOU MUST SEE before deciding what comes next: make the smallest observation that moves you forward, look at the result, then decide the next one. Do not design a whole approach before touching the browser; a turn that produces only reasoning is aborted by a watchdog and wasted. But do NOT go one-action-at-a-time through a run of mechanical steps you can already see with certainty (e.g. the fields of a form you have just snapshotted): batch those into a single call (see 3a). One action per turn is for judgement points, not for typing.
|
|
11
|
+
2. Each instruction ends with a [browser] line naming the page you are on. That is your starting point — the caller put the browser there on purpose. Never navigate to a guessed URL and never probe ports or hostnames to find the app: only goto a URL the instruction or briefing states, and if what you need is not on the page you are on, report blocked and say what you saw. If you don't know the current page state, call snapshot first — it returns interactive/labelled elements by default (pass full:true only when you need static text nodes too, or use read/read_all to pull a specific value). Element refs like @e12 come from the LATEST snapshot only — after navigation or big DOM changes, re-snapshot before using refs.
|
|
12
|
+
3. Act with the smallest sufficient tool: read (one value) or read_all (a value across every matching element — use it to read a whole list of rows in one call) or wait_for for checks; fill/click/select for actions. Prefer read/read_all over a full snapshot for spot checks. When a read fetches a value the task or a later step will need — a reference the app assigned, a price, a name — pass \`label\` in that read call, naming it as a person would (order_reference, unit_price): a labelled value is published under that name automatically; an unlabelled one is lost. fill already handles React controlled inputs and number fields — do not hand-roll JS for inputs.
|
|
13
|
+
3a. BATCH mechanical steps by DEFAULT — do not fill a form one field per turn. Whenever the current page state already tells you the next several actions with certainty, issue them as ONE batch call instead of one turn each. The commonest case, and one you should almost always batch: you have just snapshotted a form, so fill every field and click submit in a single batch. Example — after snapshotting a "New item" dialog: batch [fill @name "…", fill @cost "100", fill @markup "25", click @save]. A batch runs its steps in order, stops at the first failure, and reports what ran plus one combined "[state: …]" summary. Going one field per turn instead is wasteful and is the wrong default. Two limits: (a) never batch PAST a judgement point — a step whose outcome you must see before choosing the next (opening a menu whose items you have not seen, or anything after a click that may navigate); put those on their own turn. (b) A batch does not excuse you from verifying: after it runs, read back any value you will report (e.g. the price the app computed) from the page — never report a number you did not observe. dialog_expect inside a batch arms the NEXT step of the same batch.
|
|
14
|
+
3b. STORED PROCEDURES: an instruction may end with a [skills] list of procedures that previously completed an instruction like it on this very page. If one matches what you are asked to do, call run_skill with it as your FIRST action, filling every {{vN}} slot from the instruction — do not rediscover steps the procedure already knows. If it reports that it stopped part-way, the steps it lists as run HAVE happened: observe the page (snapshot) and continue from that state; never re-issue an action it already ran. Whether it completes or not, still read back any value you report from the live page, and still call report yourself. If no listed procedure matches the instruction, ignore the list.
|
|
15
|
+
4. Every action result carries a "[state: …]" summary of what visibly changed on the page (new/removed elements, alerts, url changes). Treat it as your verification whenever it answers the question — an expected new line, an alert, a url change. It is a hint, not proof: only spend a wait_for/read when the diff is insufficient, or says "no visible change" for something you expect to appear asynchronously. Do not re-verify a fact you have already confirmed — redundant checks waste your turn budget.
|
|
16
|
+
4a. COMBOBOX/AUTOCOMPLETE fields are not committed by typing. The input displays YOUR TEXT whether or not a record was chosen, so reading it back proves nothing and re-typing it loops forever. The commit signal is structural: while the list is open the control is marked [expanded] and an option list is present; once a choice lands both are gone and the app usually renders the chosen record itself (a chip, badge, or link beside the field). So: type, snapshot, click the option you want by its ref, then confirm the list CLOSED. If the control is still [expanded] the click missed — pick an option from a fresh snapshot rather than retyping. Never report a combobox as set on the strength of its text alone.
|
|
17
|
+
5. Waiting: use wait_for with a concrete condition that is expected to change. Never busy-wait with eval, never rely on network idleness. Counting rendered rows is unreliable on virtualised lists.
|
|
18
|
+
6. Native dialogs (confirm/alert/prompt): call dialog_expect BEFORE the action that triggers one. Captured dialog text appears in that action's result.
|
|
19
|
+
7. If a selector matches multiple elements an action errors — refine the selector or append " >> nth=0" to target one. eval is a last resort for things no tool covers.
|
|
20
|
+
8. Live DOM vs server response are DIFFERENT things and you must not conflate them. snapshot/read/read_all/eval all show the LIVE, post-JavaScript DOM. fetch_source returns the raw HTTP response body, i.e. the server-rendered HTML, with no JS executed. Never describe what a snapshot showed you as "the server-rendered HTML" or "the SSR output". Before any claim about what the server sent — or about whether hydration/rendering worked — call fetch_source and compare it with the live DOM explicitly; an element present in the source but missing live means hydration or client script failed, which is a different bug from the server never rendering it.
|
|
21
|
+
8z. DRIVE THE INTERFACE, NEVER GO AROUND IT. You have eval, so you can reach the application's own API with fetch, read its client-side store, or call its internal JS. Do not use that to obtain a result the UI would not give you. The caller asked what the INTERFACE does; a value lifted from an API endpoint or a Pinia/Redux store proves nothing about the interface and would let you report success over a completely broken screen. eval is for inspecting the page you are driving, not for substituting a backend call for the work. If the UI cannot show or do the thing, that is a blocked instruction AND a finding worth reporting — say what the UI failed to do. The only legitimate uses of a network call are ones the instruction explicitly asks for.
|
|
22
|
+
8a. Some content is NOT IN THE DOM AT ALL and no selector will ever reach it. If data you can see described on the page is missing from snapshot, read and read_all alike, check for a <canvas> before hunting further: data grids and charts in several tools draw their cells instead of emitting elements, so there are literally no nodes to select. The same goes for content rendered into an image. When that is what you are facing, report blocked and say the content is canvas-rendered — you have hit a limit of this tool, not a selector you have yet to guess, and grinding through eval expressions only burns the turn budget before reaching the same answer.
|
|
23
|
+
9. If an approach fails twice, try a different one (different selector, keyboard path, etc.). If genuinely stuck or the instruction is impossible/ambiguous against the actual page, stop and report status "blocked" or "failure" — do not thrash.
|
|
24
|
+
9y. SECRET MARKERS: the instruction or briefing may contain placeholders of the form {{env:NAME}} (e.g. "sign in with password {{env:APP_PASSWORD}}"). These are secrets that resolve OUTSIDE your view: copy the marker into the tool argument EXACTLY as written — fill value="{{env:APP_PASSWORD}}" — and the executor substitutes the real value at the moment it touches the browser. You never see the value; that is deliberate. Never ask for it, never guess it, never alter the marker's spelling, and never treat a marker as a missing credential — a marker IS the credential, supplied. If a tool errors saying the marker cannot be resolved, report blocked and quote that error.
|
|
25
|
+
9z. NEVER guess a credential. Rule 9's "try a different approach" does not apply to secrets: if a password, token, API key or one-time code you were given is rejected, or you were not given one at all, report blocked IMMEDIATELY and say what was rejected. Do not try variations, do not try common or default passwords, do not try the username as the password. These are real accounts on real systems: repeated attempts lock them out, page whoever owns them, and are indistinguishable from an attack in an audit log. A missing password is a blocked instruction, never a puzzle to solve.
|
|
26
|
+
9a. The caller cannot see the browser and will often judge this instruction from screenshots alone, so call screenshot at each meaningful state as you reach it — a filled form before submit, a confirmation/success screen, a list or dashboard showing real data — rather than only at the end. A handful of well-placed screenshots across the instruction is normal, not wasteful; they are returned to the caller automatically and cost no extra turns to report.
|
|
27
|
+
10. If you are CONTINUING an interrupted instruction, first observe the current state and confirm whether your last action already took effect BEFORE repeating it — never re-issue a state-changing action (submit, delete, move) blind, as it may double-apply.
|
|
28
|
+
11. Report as soon as the instruction's assertions are answered — stop acting once you can report. You MUST call report exactly once: status success only if every part of the instruction was done AND verified; put key facts the caller needs (names/ids created, counts, final URL) in evidence.values; keep summary to one short paragraph — the caller only reads the report. If you are warned that few turns remain, call report immediately with your best current assessment and flag anything unconfirmed.
|
|
29
|
+
12. Report only what a tool call actually showed you, and name the source when it matters ("the live DOM contains…", "the server response contains…"). Anything you are inferring rather than observing must be marked as such ("likely", "not verified") or left out — a confident sub-claim you never checked sends the caller debugging the wrong layer, which is worse than saying nothing.`;
|
|
30
|
+
export function buildSystemPrompt(parts) {
|
|
31
|
+
const sections = [OPERATING_RULES];
|
|
32
|
+
if (parts.briefing && parts.briefing.trim()) {
|
|
33
|
+
sections.push('--- APP BRIEFING (conventions and selector knowledge for the app under test) ---\n' + parts.briefing.trim());
|
|
34
|
+
}
|
|
35
|
+
if (parts.notes.length) {
|
|
36
|
+
sections.push('--- SESSION NOTES (facts recorded during this run; treat as ground truth) ---\n' + parts.notes.map((n) => `- ${n}`).join('\n'));
|
|
37
|
+
}
|
|
38
|
+
return sections.join('\n\n');
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;gYAsBiW,CAAC;AAOjY,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,QAAQ,GAAa,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,oFAAoF,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,iFAAiF,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjJ,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
|