@tickernelz/paperclip-pro-adapter-utils 2026.1015.0 → 2026.1016.1

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 (54) hide show
  1. package/node_modules/@agentclientprotocol/sdk/dist/acp.d.ts +8 -191
  2. package/node_modules/@agentclientprotocol/sdk/dist/acp.js +10 -165
  3. package/node_modules/@agentclientprotocol/sdk/dist/acp.js.map +1 -1
  4. package/node_modules/@agentclientprotocol/sdk/dist/acp.test.js +132 -52
  5. package/node_modules/@agentclientprotocol/sdk/dist/acp.test.js.map +1 -1
  6. package/node_modules/@agentclientprotocol/sdk/dist/examples/dual-version-agent.js +29 -21
  7. package/node_modules/@agentclientprotocol/sdk/dist/examples/dual-version-agent.js.map +1 -1
  8. package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.d.ts +1 -0
  9. package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.js +6 -0
  10. package/node_modules/@agentclientprotocol/sdk/dist/jsonrpc.js.map +1 -1
  11. package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.d.ts +563 -0
  12. package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.js +106 -0
  13. package/node_modules/@agentclientprotocol/sdk/dist/nes/acp.js.map +1 -0
  14. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.d.ts +1261 -0
  15. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.js +4 -0
  16. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/types.gen.js.map +1 -0
  17. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.d.ts +962 -0
  18. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.js +526 -0
  19. package/node_modules/@agentclientprotocol/sdk/dist/nes/schema/zod.gen.js.map +1 -0
  20. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.d.ts +5 -6
  21. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.js +13 -25
  22. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.js.map +1 -1
  23. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.test.js +6 -6
  24. package/node_modules/@agentclientprotocol/sdk/dist/protocol-router.test.js.map +1 -1
  25. package/node_modules/@agentclientprotocol/sdk/dist/protocol.js +0 -9
  26. package/node_modules/@agentclientprotocol/sdk/dist/protocol.js.map +1 -1
  27. package/node_modules/@agentclientprotocol/sdk/dist/protocol.test.js +0 -10
  28. package/node_modules/@agentclientprotocol/sdk/dist/protocol.test.js.map +1 -1
  29. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.d.ts +1 -11
  30. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.js +0 -10
  31. package/node_modules/@agentclientprotocol/sdk/dist/schema/index.js.map +1 -1
  32. package/node_modules/@agentclientprotocol/sdk/dist/schema/types.gen.d.ts +1675 -2753
  33. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.d.ts +863 -1434
  34. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js +91 -534
  35. package/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js.map +1 -1
  36. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.d.ts +42 -48
  37. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.js +86 -139
  38. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.js.map +1 -1
  39. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.test.js +46 -17
  40. package/node_modules/@agentclientprotocol/sdk/dist/v2/acp.test.js.map +1 -1
  41. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.d.ts +55 -57
  42. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.js +0 -59
  43. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/guards.gen.js.map +1 -1
  44. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.d.ts +1 -11
  45. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.js +0 -10
  46. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/index.js.map +1 -1
  47. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/types.gen.d.ts +1870 -2874
  48. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.d.ts +3373 -2844
  49. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.js +191 -563
  50. package/node_modules/@agentclientprotocol/sdk/dist/v2/schema/zod.gen.js.map +1 -1
  51. package/node_modules/@agentclientprotocol/sdk/package.json +7 -1
  52. package/node_modules/@agentclientprotocol/sdk/schema/schema.json +1541 -3196
  53. package/node_modules/@agentclientprotocol/sdk/schema/v2/schema.unstable.json +875 -2664
  54. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"acp.js","sourceRoot":"","sources":["../src/acp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/D,+EAA+E;AAC/E,oEAAoE;AACpE,4EAA4E;AAC5E,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,sEAAsE;AACtE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAiB3B;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAkC,EAClC,KAAiC,EACjC,OAA6B;IAE7B,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAe5B,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAcxE,SAAS,mBAAmB,CAAI,QAAqC;IACnE,OAAO,QAAQ,IAAK,EAAQ,CAAC;AAC/B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,UAAU,IAAI,KAAK;QACnB,UAAU,IAAI,KAAK,CACpB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAkB,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAI,eAAe,EAAkB,CAAC;IAC1D,OAAO;QACL;YACE,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;SAC/B;QACD;YACE,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;SAC/B;KACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU;QAC3C,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY;QAC/C,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM;QACnC,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,cAAc;YACzC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,aAAa;YACvC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,iBAAiB;SAChD;QACD,OAAO,EAAE;YACP,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW;YACrC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY;YACvC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY;YACvC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,cAAc;YAC3C,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY;YACvC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,cAAc;YAC3C,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,aAAa;YACzC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB;YAC9C,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,yBAAyB;YAC/D,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,cAAc;YAC3C,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,cAAc;SAC5C;QACD,GAAG,EAAE;YACH,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS;YACrC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW;YACzC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU;YACvC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU;YACvC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS;SACtC;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,iBAAiB;YAC/C,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB;YACnD,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,kBAAkB;YACjD,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,iBAAiB;YAC/C,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,kBAAkB;SAClD;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE;YACP,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,0BAA0B;YACnE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,cAAc;SAC7C;QACD,EAAE,EAAE;YACF,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,kBAAkB;YACvD,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,iBAAiB;SACtD;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,eAAe;YAC7C,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,eAAe;YAC7C,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,gBAAgB;YAC/C,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,sBAAsB;YACzD,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,aAAa;SAC1C;QACD,WAAW,EAAE;YACX,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,kBAAkB;YAChD,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,oBAAoB;SACrD;KACF;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,cAAc;KACtD;CACO,CAAC;AAEX,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAoDxD,MAAM,UAAU;IAGK;IACA;IAHnB,gBAAgB;IAChB,YACmB,EAAqB,EACrB,gBAA4B;QAD5B,OAAE,GAAF,EAAE,CAAmB;QACrB,qBAAgB,GAAhB,gBAAgB,CAAY;IAC5C,CAAC;IAEJ;;;;;OAKG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,gBAAgB;IAChB,IAAc,iBAAiB;QAC7B,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,gBAAgB;IACN,WAAW,CACnB,MAAc,EACd,MAAY,EACZ,WAAwC,EACxC,OAA4B;QAE5B,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB;IACN,gBAAgB,CAAI,MAAc,EAAE,MAAU;QACtD,OAAO,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB;IACN,iBAAiB,CAAC,OAAuB;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAU;IAC1C,YAAoB,EAAqB,EAAE,SAAqB;QAC9D,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,MAAM,CAAC,EAAqB,EAAE,SAAqB;QACxD,OAAO,IAAI,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAkBD,OAAO,CACL,MAAc,EACd,MAAgB,EAChB,OAA4B;QAE5B,MAAM,IAAI,GAAG,0BAA0B,CAAC,MAAM,CACS,CAAC;QACxD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAaD,MAAM,CAAC,MAAc,EAAE,MAAgB;QACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,YAAoB,EAAqB,EAAE,SAAqB;QAC9D,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,MAAM,CAAC,EAAqB,EAAE,SAAqB;QACxD,OAAO,IAAI,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;IAChB,CAAC,kBAAkB,CAAC,CAClB,MAAgC,EAChC,OAA4B;QAE5B,OAAO,IAAI,CAAC,WAAW,CAKrB,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,EACN,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAC1C,OAAO,CACR,CAAC;IACJ,CAAC;IAWD,YAAY,CACV,YAA+C;QAE/C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE;gBACjC,GAAG,EAAE,YAAY;gBACjB,UAAU,EAAE,EAAE;aACf,CAAC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAmC;QACvD,MAAM,OAAO,GAAG,IAAI,UAAU,EAAwB,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAClD,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC9B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;QACF,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,kBAAkB,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,mBAAmB,GAAG,mBAAmB,CAC7C,IAAI,CAAC,iBAAiB,CACvB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE;YACrD,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;YACnD,mBAAmB;YACnB,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAkBD,OAAO,CACL,MAAc,EACd,MAAgB,EAChB,OAA4B;QAE5B,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,CACU,CAAC;QACxD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAaD,MAAM,CAAC,MAAc,EAAE,MAAgB;QACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,mBAAmB;IACM;IAA7B,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,qBACJ,SAAQ,mBAAmB;IAQR;IALV,MAAM,CAAe;IACtB,uBAAuB,GAAG,KAAK,CAAC;IAExC,YACE,UAAsB,EACL,kBAAkD,EAAE;QAErE,KAAK,CAAC,UAAU,CAAC,CAAC;QAFD,oBAAe,GAAf,eAAe,CAAqC;QAGrE,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IAChB,oBAAoB;QAClB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;CACF;AAED,MAAM,sBACJ,SAAQ,mBAAmB;IAQR;IALV,KAAK,CAAgB;IACtB,uBAAuB,GAAG,KAAK,CAAC;IAExC,YACE,UAAsB,EACL,kBAAmD,EAAE;QAEtE,KAAK,CAAC,UAAU,CAAC,CAAC;QAFD,oBAAe,GAAf,eAAe,CAAsC;QAGtE,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB;IAChB,oBAAoB;QAClB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;CACF;AAED,SAAS,eAAe,CACtB,UAAsB,EACtB,kBAAkD,EAAE;IAEpD,OAAO,IAAI,qBAAqB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAsB,EACtB,kBAAmD,EAAE;IAErD,OAAO,IAAI,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACjE,CAAC;AAYD,MAAM,UAAU;IACN,MAAM,GAA8B,EAAE,CAAC;IACvC,OAAO,GAGV,EAAE,CAAC;IACA,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,CAAU;IAEzB,OAAO,CAAC,KAAQ;QACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAc;QACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,KAAc;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAwB,CAAC;YACxD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,sBAAsB,CAC7B,OAAiC;IAEjC,OAAO;QACL,GAAG,OAAO;QACV,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YAClD,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;YACpC,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;KACpC,CAAC;AACJ,CAAC;AAuCD;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IAIf;IAHF,OAAO,CAA2B;IAE1C,YACU,EAAiB,EACzB,OAAiC;QADzB,OAAE,GAAF,EAAE,CAAe;QAGzB,IAAI,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,MAAM,CACX,EAAiB,EACjB,OAAiC;QAEjC,OAAO,IAAI,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,OAAO,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,qBAA+B;QACvD,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAI,CAAC,OAAO;YACf,qBAAqB,EAAE,CAAC,GAAG,qBAAqB,CAAC;SAClD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAA2B;QACvC,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAI,CAAC,OAAO;YACf,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC;SACpD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,OAA4B;QACtC,OAAO,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,EAA+C;QAE/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IAEd;IACA;IACA;IAOA;IAVV,YACU,EAAiB,EACjB,eAA0C,EAC1C,OAMP,EACO,aAAoC;QATpC,OAAE,GAAF,EAAE,CAAe;QACjB,oBAAe,GAAf,eAAe,CAA2B;QAC1C,YAAO,GAAP,OAAO,CAMd;QACO,kBAAa,GAAb,aAAa,CAAuB;IAC3C,CAAC;IAEJ,gBAAgB;IAChB,MAAM,CAAC,MAAM,CACX,EAAiB,EACjB,eAA0C,EAC1C,OAMC,EACD,aAAoC;QAEpC,OAAO,IAAI,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CACJ,MAAiE,EACjE,OAA4B;QAE5B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC9B,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;SAClC,EACD,OAAO,CACR,CAAC;QACF,KAAK,QAAQ,CAAC,IAAI,CAChB,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACnB,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CACF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,SAAS,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC3B,IACE,MAAM,CAAC,aAAa,KAAK,qBAAqB;gBAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAC9B,CAAC;gBACD,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,YAAY,CAClB,MAAiE;QAEjE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;CACF;AA6ID,SAAS,WAAW,CAClB,MAAwC,EACxC,MAAe;IAEf,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAaD,SAAS,WAAW,CAClB,MAAc,EACd,MAA4B,EAC5B,WAAkD;IAElD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CACvB,MAAc,EACd,MAA4B;IAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA0B,EAC1B,IAAoD,EACpD,OAKY,EACZ,OAAqD;IAErD,OAAO,CAAC,gBAAgB,CACtB,IAAI,CAAC,MAAM,EACX,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5C,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CACpD,CAAC;QACF,MAAM,SAAS,CAAC,OAAO,CACrB,CAAC,IAAI,CAAC,WAAW;YACf,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC5B,CAAC,CAAC,QAAQ,CAAiB,CAC9B,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA0B,EAC1B,IAAiC,EACjC,OAIY,EACZ,OAAiD;IAEjD,OAAO,CAAC,qBAAqB,CAC3B,IAAI,CAAC,MAAM,EACX,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5C,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,KAAQ;IAER,MAAM,QAAQ,GAA+B,EAAE,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAsB,EAAE,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,iBAAiB,GAAG;IACxB,UAAU,EAAE,WAAW,CACrB,MAAM,CAAC,aAAa,CAAC,UAAU,EAC/B,QAAQ,CAAC,kBAAkB,CAC5B;IACD,UAAU,EAAE,WAAW,CACrB,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,QAAQ,CAAC,kBAAkB,CAC5B;IACD,WAAW,EAAE,WAAW,CAKtB,MAAM,CAAC,aAAa,CAAC,YAAY,EACjC,QAAQ,CAAC,mBAAmB,EAC5B,mBAAmB,CACpB;IACD,oBAAoB,EAAE,WAAW,CAG/B,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IAClE,YAAY,EAAE,WAAW,CAGvB,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACnE,aAAa,EAAE,WAAW,CAKxB,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC,QAAQ,CAAC,qBAAqB,EAC9B,mBAAmB,CACpB;IACD,aAAa,EAAE,WAAW,CAGxB,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IACtE,YAAY,EAAE,WAAW,CAKvB,MAAM,CAAC,aAAa,CAAC,aAAa,EAClC,QAAQ,CAAC,oBAAoB,EAC7B,mBAAmB,CACpB;IACD,cAAc,EAAE,WAAW,CAKzB,MAAM,CAAC,aAAa,CAAC,gBAAgB,EACrC,QAAQ,CAAC,sBAAsB,EAC/B,mBAAmB,CACpB;IACD,sBAAsB,EAAE,WAAW,CAIjC,MAAM,CAAC,aAAa,CAAC,yBAAyB,EAC9C,QAAQ,CAAC,8BAA8B,CACxC;IACD,YAAY,EAAE,WAAW,CAKvB,MAAM,CAAC,aAAa,CAAC,YAAY,EACjC,QAAQ,CAAC,oBAAoB,EAC7B,mBAAmB,CACpB;IACD,sBAAsB,EAAE,WAAW,CAGjC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IACtE,oBAAoB,EAAE,WAAW,CAK/B,MAAM,CAAC,aAAa,CAAC,aAAa,EAClC,QAAQ,CAAC,mBAAmB,EAC5B,mBAAmB,CACpB;IACD,wBAAwB,EAAE,WAAW,CAKnC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EACtC,QAAQ,CAAC,uBAAuB,EAChC,mBAAmB,CACpB;IACD,MAAM,EAAE,WAAW,CAIjB,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAC5E,MAAM,EAAE,WAAW,CACjB,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC,QAAQ,CAAC,cAAc,CACxB;IACD,iBAAiB,EAAE,WAAW,CAG5B,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAC5D,mBAAmB,EAAE,WAAW,CAG9B,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAChE,iBAAiB,EAAE,WAAW,CAK5B,MAAM,CAAC,aAAa,CAAC,SAAS,EAC9B,QAAQ,CAAC,gBAAgB,EACzB,mBAAmB,CACpB;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,gBAAgB,CACtB,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC,QAAQ,CAAC,mBAAmB,CAC7B;IACD,wBAAwB,EACtB,gBAAgB,CACd,MAAM,CAAC,aAAa,CAAC,iBAAiB,EACtC,QAAQ,CAAC,4BAA4B,CACtC;IACH,0BAA0B,EACxB,gBAAgB,CACd,MAAM,CAAC,aAAa,CAAC,mBAAmB,EACxC,QAAQ,CAAC,8BAA8B,CACxC;IACH,yBAAyB,EACvB,gBAAgB,CACd,MAAM,CAAC,aAAa,CAAC,kBAAkB,EACvC,QAAQ,CAAC,6BAA6B,CACvC;IACH,wBAAwB,EACtB,gBAAgB,CACd,MAAM,CAAC,aAAa,CAAC,iBAAiB,EACtC,QAAQ,CAAC,4BAA4B,CACtC;IACH,yBAAyB,EACvB,gBAAgB,CACd,MAAM,CAAC,aAAa,CAAC,kBAAkB,EACvC,QAAQ,CAAC,6BAA6B,CACvC;IACH,kBAAkB,EAAE,gBAAgB,CAClC,MAAM,CAAC,aAAa,CAAC,UAAU,EAC/B,QAAQ,CAAC,sBAAsB,CAChC;IACD,kBAAkB,EAAE,gBAAgB,CAClC,MAAM,CAAC,aAAa,CAAC,UAAU,EAC/B,QAAQ,CAAC,sBAAsB,CAChC;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,iBAAiB,EAAE,WAAW,CAI5B,MAAM,CAAC,cAAc,CAAC,0BAA0B,EAChD,QAAQ,CAAC,yBAAyB,CACnC;IACD,aAAa,EAAE,WAAW,CAKxB,MAAM,CAAC,cAAc,CAAC,kBAAkB,EACxC,QAAQ,CAAC,qBAAqB,EAC9B,mBAAmB,CACpB;IACD,YAAY,EAAE,WAAW,CAGvB,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IACzE,cAAc,EAAE,WAAW,CAGzB,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IACzE,cAAc,EAAE,WAAW,CAGzB,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IACzE,eAAe,EAAE,WAAW,CAK1B,MAAM,CAAC,cAAc,CAAC,gBAAgB,EACtC,QAAQ,CAAC,uBAAuB,EAChC,mBAAmB,CACpB;IACD,mBAAmB,EAAE,WAAW,CAI9B,MAAM,CAAC,cAAc,CAAC,sBAAsB,EAC5C,QAAQ,CAAC,2BAA2B,CACrC;IACD,YAAY,EAAE,WAAW,CAKvB,MAAM,CAAC,cAAc,CAAC,aAAa,EACnC,QAAQ,CAAC,oBAAoB,EAC7B,mBAAmB,CACpB;IACD,iBAAiB,EAAE,WAAW,CAI5B,MAAM,CAAC,cAAc,CAAC,kBAAkB,EACxC,QAAQ,CAAC,yBAAyB,CACnC;CACF,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,aAAa,EAAE,gBAAgB,CAC7B,MAAM,CAAC,cAAc,CAAC,cAAc,EACpC,QAAQ,CAAC,oBAAoB,CAC9B;IACD,mBAAmB,EAAE,gBAAgB,CACnC,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAC1C,QAAQ,CAAC,gCAAgC,CAC1C;CACF,CAAC;AAEF,MAAM,yBAAyB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACnE,MAAM,8BAA8B,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAC;AAC7E,MAAM,0BAA0B,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;AACrE,MAAM,+BAA+B,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC;AAsQ/E,SAAS,mBAAmB,CAC1B,MAAc,EACd,MAAoB,EACpB,MAAmB,EACnB,SAAoB;IAEpB,OAAO;QACL,MAAM;QACN,SAAS;QACT,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,MAAc,EACd,MAAoB,EACpB,MAAmB;IAEnB,OAAO;QACL,MAAM;QACN,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAc,EACd,KAAoB,EACpB,MAAmB,EACnB,SAAoB;IAEpB,OAAO;QACL,MAAM;QACN,SAAS;QACT,MAAM;QACN,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAc,EACd,KAAoB,EACpB,MAAmB;IAEnB,OAAO;QACL,MAAM;QACN,MAAM;QACN,KAAK;KACN,CAAC;AACJ,CAAC;AAMD,MAAM,mBAAmB;IACN,cAAc,GAAG,IAAI,GAAG,EAGtC,CAAC;IAEJ,aAAa,CAAC,OAAwB;QACpC,IACE,OAAO,CAAC,IAAI,KAAK,cAAc;YAC/B,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,cAAc,CAAC,cAAc,EACvD,CAAC;YACD,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,gBAAgB;YACtB,YAAY;YACZ,MAAM,EAAE,YAAY,CAAC,MAAM;SACG,CAAC;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACrC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CACJ,QAAmC,EACnC,OAAiC;QAEjC,MAAM,QAAQ,GACZ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC3C,IAAI,GAAG,EAA4B,CAAC;QACtC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEtD,OAAO,IAAI,mBAAmB,CAAC,GAAG,EAAE;YAClC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAGrC,CAAC;AAEJ,SAAS,mBAAmB,CAAC,EAAqB;IAChD,IAAI,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACnC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA4B,EAC5B,QAA6E;IAE7E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3C,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACxC,MAAM,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAClE,MAAM,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AACpE,MAAM,uBAAuB,GAAsB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAgB3E;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,OAAoB;IACxC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,QAAQ;IACF,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IAC/B,eAAe,GAA0B,EAAE,CAAC;IAE7D,YAAY,UAAsB,EAAE;QAClC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,CAAC,UAAU,CAAC;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gBAAgB;IAChB,CAAC,uBAAuB,CAAC,CAAC,UAA2B;QACnD,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAeD,OAAO,CACL,MAA8B,EAC9B,UAA6B,EAAE;QAE/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC;IAC5D,CAAC;IAmBD,WAAW,CACT,MAA8B,EAC9B,EAA8C;QAE9C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,OAA4B;QACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAkBD,SAAS,CACP,MAAc,EACd,eACyE,EACzE,OAA+C;QAE/C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,OAAO,CACjB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAuC,EAAE,EAC3D,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,6CAA6C,CACnF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CACjB,IAAiD,EACjD,eAAwD,CACzD,CAAC;IACJ,CAAC;IAiBD,cAAc,CACZ,MAAc,EACd,eAEwB,EACxB,OAA0C;QAE1C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,YAAY,CACtB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAuC,EAAE,EAC3D,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,8BAA8B,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,6CAA6C,CACxF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CACtB,IAAoC,EACpC,eAAoD,CACrD,CAAC;IACJ,CAAC;IAEO,OAAO,CACb,IAAoD,EACpD,OAA8C;QAE9C,kBAAkB,CAChB,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAChC,mBAAmB,CACjB,MAAM,EACN,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,EAClC,MAAM,EACN,SAAS,CACV,EACH,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY,CAClB,IAAiC,EACjC,OAAyC;QAEzC,uBAAuB,CACrB,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CACrB,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EACnE,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CACvB,MAA8B,EAC9B,UAA6B,EAAE;QAE/B,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAClC,IAAI,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,gBAAgB,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CACpD,UAAU,EACV,uBAAuB,CACxB,CAAC;QACF,MAAM,cAAc,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACpD,KAAK,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,KAAK,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,MAAkB;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC5E,OAAO;YACL,aAAa;YACb,UAAU,EAAE,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;SACjE,CAAC;IACJ,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,OAAoB;IACzC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,SAAS;IACH,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IAC/B,eAAe,GAA2B,EAAE,CAAC;IAE9D,YAAY,UAAsB,EAAE;QAClC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACvB,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAC7B,mBAAmB,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;YAChD,QAAQ,EAAE,GAAG,EAAE,CAAC,8BAA8B;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,CAAC,UAAU,CAAC;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gBAAgB;IAChB,CAAC,wBAAwB,CAAC,CAAC,UAA4B;QACrD,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAaD,OAAO,CAAC,MAA6B;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;IACnD,CAAC;IAmBD,WAAW,CACT,MAA6B,EAC7B,EAA+C;QAE/C,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,OAA6B;QACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAkBD,SAAS,CACP,MAAc,EACd,eAC2E,EAC3E,OAAgD;QAEhD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,OAAO,CACjB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAuC,EAAE,EAC3D,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,6CAA6C,CACnF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CACjB,IAAiD,EACjD,eAAyD,CAC1D,CAAC;IACJ,CAAC;IAiBD,cAAc,CACZ,MAAc,EACd,eAEwB,EACxB,OAA2C;QAE3C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,YAAY,CACtB,EAAE,MAAM,EAAE,MAAM,EAAE,eAAuC,EAAE,EAC3D,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,6CAA6C,CACxF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CACtB,IAAoC,EACpC,eAAqD,CACtD,CAAC;IACJ,CAAC;IAEO,OAAO,CACb,IAAoD,EACpD,OAA+C;QAE/C,kBAAkB,CAChB,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAChC,oBAAoB,CAClB,MAAM,EACN,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,EACnC,MAAM,EACN,SAAS,CACV,EACH,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY,CAClB,IAAiC,EACjC,OAA0C;QAE1C,uBAAuB,CACrB,IAAI,CAAC,OAAO,EACZ,IAAI,EACJ,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CACrB,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EACrE,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iBAAiB,CACvB,MAA6B;QAE7B,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,gBAAgB,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CACpD,UAAU,EACV,uBAAuB,CACxB,CAAC;QACF,MAAM,cAAc,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACpD,KAAK,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,KAAK,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,CAAC,uBAAuB,CAAC,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,MAAkB;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC5E,OAAO;YACL,aAAa;YACb,UAAU,EAAE,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;SAClE,CAAC;IACJ,CAAC;CACF;AAED,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IAChD,MAAM,CAAC,aAAa,CAAC,UAAU;IAC/B,MAAM,CAAC,aAAa,CAAC,YAAY;IACjC,MAAM,CAAC,aAAa,CAAC,cAAc;IACnC,MAAM,CAAC,aAAa,CAAC,aAAa;IAClC,MAAM,CAAC,aAAa,CAAC,iBAAiB;IACtC,MAAM,CAAC,aAAa,CAAC,WAAW;IAChC,MAAM,CAAC,aAAa,CAAC,YAAY;IACjC,MAAM,CAAC,aAAa,CAAC,gBAAgB;IACrC,MAAM,CAAC,aAAa,CAAC,yBAAyB;IAC9C,MAAM,CAAC,aAAa,CAAC,cAAc;IACnC,MAAM,CAAC,aAAa,CAAC,YAAY;IACjC,MAAM,CAAC,aAAa,CAAC,cAAc;IACnC,MAAM,CAAC,aAAa,CAAC,YAAY;IACjC,MAAM,CAAC,aAAa,CAAC,cAAc;IACnC,MAAM,CAAC,aAAa,CAAC,aAAa;IAClC,MAAM,CAAC,aAAa,CAAC,MAAM;IAC3B,MAAM,CAAC,aAAa,CAAC,SAAS;IAC9B,MAAM,CAAC,aAAa,CAAC,WAAW;IAChC,MAAM,CAAC,aAAa,CAAC,SAAS;CAC/B,CAAC,CAAC;AAEH,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAS;IACrD,MAAM,CAAC,aAAa,CAAC,cAAc;IACnC,MAAM,CAAC,aAAa,CAAC,UAAU;IAC/B,MAAM,CAAC,aAAa,CAAC,UAAU;IAC/B,MAAM,CAAC,aAAa,CAAC,iBAAiB;IACtC,MAAM,CAAC,aAAa,CAAC,mBAAmB;IACxC,MAAM,CAAC,aAAa,CAAC,kBAAkB;IACvC,MAAM,CAAC,aAAa,CAAC,iBAAiB;IACtC,MAAM,CAAC,aAAa,CAAC,kBAAkB;CACxC,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAS;IACjD,MAAM,CAAC,cAAc,CAAC,0BAA0B;IAChD,MAAM,CAAC,cAAc,CAAC,kBAAkB;IACxC,MAAM,CAAC,cAAc,CAAC,iBAAiB;IACvC,MAAM,CAAC,cAAc,CAAC,eAAe;IACrC,MAAM,CAAC,cAAc,CAAC,eAAe;IACrC,MAAM,CAAC,cAAc,CAAC,gBAAgB;IACtC,MAAM,CAAC,cAAc,CAAC,sBAAsB;IAC5C,MAAM,CAAC,cAAc,CAAC,aAAa;IACnC,MAAM,CAAC,cAAc,CAAC,kBAAkB;CACzC,CAAC,CAAC;AAEH,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAS;IACtD,MAAM,CAAC,cAAc,CAAC,cAAc;IACpC,MAAM,CAAC,cAAc,CAAC,oBAAoB;CAC3C,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,cAAqB;IAC3C,MAAM,GAAG,GAAG,KAAK,EAAE;SAChB,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAClD,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CACtC;SACA,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CACnD,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CACtC;SACA,SAAS,CACR,MAAM,CAAC,aAAa,CAAC,YAAY,EACjC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACrE;SACA,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CACtD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAClC;SACA,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3D,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAClC,CAAC;IAEJ,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/B,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CACvD,cAAc,CAAC,WAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CACxC,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;QAChC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CACvD,cAAc,CAAC,YAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CACzC,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;QACjC,GAAG,CAAC,SAAS,CACX,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,aAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,oBAAoB,EAAE,CAAC;QACxC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CACvD,cAAc,CAAC,oBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;QACjC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CACzD,cAAc,CAAC,aAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAC1C,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;QAChC,GAAG,CAAC,SAAS,CACX,MAAM,CAAC,aAAa,CAAC,aAAa,EAClC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,YAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,cAAc,EAAE,CAAC;QAClC,GAAG,CAAC,SAAS,CACX,MAAM,CAAC,aAAa,CAAC,gBAAgB,EACrC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,cAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,sBAAsB,EAAE,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,EAAE,CAAC,GAAG,EAAE,EAAE,CACpE,cAAc,CAAC,sBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CACnD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,sBAAsB,EAAE,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CACzD,cAAc,CAAC,sBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CACnD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,oBAAoB,EAAE,CAAC;QACxC,GAAG,CAAC,SAAS,CACX,MAAM,CAAC,aAAa,CAAC,aAAa,EAClC,KAAK,EAAE,GAAG,EAAE,EAAE,CACZ,CAAC,MAAM,cAAc,CAAC,oBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACjE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,wBAAwB,EAAE,CAAC;QAC5C,GAAG,CAAC,SAAS,CACX,MAAM,CAAC,aAAa,CAAC,iBAAiB,EACtC,KAAK,EAAE,GAAG,EAAE,EAAE,CACZ,CAAC,MAAM,cAAc,CAAC,wBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1B,GAAG,CAAC,SAAS,CACX,MAAM,CAAC,aAAa,CAAC,MAAM,EAC3B,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,MAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAChE,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACrC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACpD,cAAc,CAAC,iBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAC9C,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,mBAAmB,EAAE,CAAC;QACvC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CACtD,cAAc,CAAC,mBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAChD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACrC,GAAG,CAAC,SAAS,CACX,MAAM,CAAC,aAAa,CAAC,SAAS,EAC9B,KAAK,EAAE,GAAG,EAAE,EAAE,CACZ,CAAC,MAAM,cAAc,CAAC,iBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,wBAAwB,EAAE,CAAC;QAC5C,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CACjE,cAAc,CAAC,wBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CACrD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,0BAA0B,EAAE,CAAC;QAC9C,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CACnE,cAAc,CAAC,0BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CACvD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,yBAAyB,EAAE,CAAC;QAC7C,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAClE,cAAc,CAAC,yBAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CACtD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,wBAAwB,EAAE,CAAC;QAC5C,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CACjE,cAAc,CAAC,wBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CACrD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,yBAAyB,EAAE,CAAC;QAC7C,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAClE,cAAc,CAAC,yBAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CACtD,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACtC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1D,cAAc,CAAC,kBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAC/C,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,kBAAkB,EAAE,CAAC;QACtC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAC1D,cAAc,CAAC,kBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAC/C,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC;YAC5B,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC/B,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;oBAC1B,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAC7C,CAAC;oBACD,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBAED,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAC7B,MAAM,cAAc,CAAC,SAAU,CAC7B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAiC,CAC1C,CACF,CAAC;gBACF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE,CAAC,gCAAgC;SACjD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;QACnC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC;YAC5B,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC/B,IACE,OAAO,CAAC,IAAI,KAAK,cAAc;oBAC/B,8BAA8B,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAClD,CAAC;oBACD,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBAED,MAAM,cAAc,CAAC,eAAgB,CACnC,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAiC,CAC1C,CAAC;gBACF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE,CAAC,qCAAqC;SACtD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,cAAsB;IAC7C,MAAM,GAAG,GAAG,MAAM,EAAE;SACjB,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,CACnE,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAC7C;SACA,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAC5D,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CACzC;SACA,SAAS,CACR,MAAM,CAAC,cAAc,CAAC,kBAAkB,EACxC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACxE;SACA,SAAS,CACR,MAAM,CAAC,cAAc,CAAC,iBAAiB,EACvC,KAAK,EAAE,GAAG,EAAE,EAAE,CACZ,CAAC,MAAM,cAAc,CAAC,YAAY,EAAE,CAClC,GAAG,CAAC,MAAM,CACX,CAAgC,CACpC;SACA,SAAS,CACR,MAAM,CAAC,cAAc,CAAC,eAAe,EACrC,KAAK,EAAE,GAAG,EAAE,EAAE,CACZ,CAAC,MAAM,cAAc,CAAC,cAAc,EAAE,CACpC,GAAG,CAAC,MAAM,CACX,CAAkC,CACtC;SACA,SAAS,CACR,MAAM,CAAC,cAAc,CAAC,eAAe,EACrC,KAAK,EAAE,GAAG,EAAE,EAAE,CACZ,CAAC,MAAM,cAAc,CAAC,cAAc,EAAE,CACpC,GAAG,CAAC,MAAM,CACX,CAAkC,CACtC;SACA,SAAS,CACR,MAAM,CAAC,cAAc,CAAC,gBAAgB,EACtC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAC1E;SACA,SAAS,CACR,MAAM,CAAC,cAAc,CAAC,sBAAsB,EAC5C,KAAK,EAAE,GAAG,EAAE,EAAE,CACZ,CAAC,MAAM,cAAc,CAAC,mBAAmB,EAAE,CACzC,GAAG,CAAC,MAAM,CACX,CAAuC,CAC3C;SACA,SAAS,CACR,MAAM,CAAC,cAAc,CAAC,aAAa,EACnC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CACvE,CAAC;IAEJ,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACrC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC9D,cAAc,CAAC,iBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAC9C,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,mBAAmB,EAAE,CAAC;QACvC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CACrE,cAAc,CAAC,mBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC;YAC5B,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC/B,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;oBAC1B,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9C,CAAC;oBACD,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBAED,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAC7B,MAAM,cAAc,CAAC,SAAU,CAC7B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAiC,CAC1C,CACF,CAAC;gBACF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE,CAAC,iCAAiC;SAClD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;QACnC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC;YAC5B,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC/B,IACE,OAAO,CAAC,IAAI,KAAK,cAAc;oBAC/B,+BAA+B,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACnD,CAAC;oBACD,OAAO,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBAED,MAAM,cAAc,CAAC,eAAgB,CACnC,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAiC,CAC1C,CAAC;gBACF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE,CAAC,sCAAsC;SACvD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IACtB,UAAU,CAAa;IAE/B;;;;;;;;;;;;;OAaG;IACH,YAAY,OAA6C,EAAE,MAAc;QACvE,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAC5C,UAAU,CAAC,EAAE;aACb,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,MAAkC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,cAAc,CAAC,cAAc,EACpC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,MAAuC;QAEvC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,cAAc,CAAC,0BAA0B,EAChD,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CACV,MAAkC;QAElC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,cAAc,CAAC,iBAAiB,EACvC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CACX,MAAmC;QAEnC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,cAAc,CACZ,MAAoC;QAEpC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAIhC,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5D,cAAc,CAAC,MAAM,CACnB,QAAQ,CAAC,UAAU,EACnB,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,UAAU,CAChB,CACF,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,iBAAiB,CACf,MAAuC;QAEvC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EACxC,MAAM,CACP,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,mBAAmB,CACjB,MAA8C;QAE9C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAC1C,MAAM,CACP,CAAC;IACJ,CAAC;IAkBD,OAAO,CACL,MAAc,EACd,MAAgB,EAChB,OAA4B;QAE5B,MAAM,IAAI,GAAG,0BAA0B,CAAC,MAAM,CACS,CAAC;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,EACN,MAAM,EACN,IAAI,EAAE,WAAW,EACjB,OAAO,CACR,CAAC;IACJ,CAAC;IAaD,MAAM,CAAC,MAAc,EAAE,MAAgB;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,MAAc,EACd,MAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,eAAe,CACb,MAAc,EACd,MAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,cAAc;IACzB;;OAEG;IACI,EAAE,CAAS;IACV,SAAS,CAAS;IAClB,UAAU,CAAkC;IAEpD,YACE,EAAU,EACV,SAAiB,EACjB,IAAqC;QAErC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,MAAM,CACX,EAAU,EACV,SAAiB,EACjB,IAAqC;QAErC,OAAO,IAAI,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE;YACxE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,EAAE;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,cAAc,CAAC,sBAAsB,EAC5C;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,EAAE;SACpB,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAIhC,MAAM,CAAC,cAAc,CAAC,aAAa,EACnC;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,EAAE;SACpB,EACD,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAIhC,MAAM,CAAC,cAAc,CAAC,gBAAgB,EACtC;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,EAAE;SACpB,EACD,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,oBAAoB;IACvB,UAAU,CAAa;IAE/B;;;;;;;;;;;;;OAaG;IACH,YAAY,QAAkC,EAAE,MAAc;QAC5D,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC9C,UAAU,CAAC,EAAE;aACb,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;OAWG;IACH,UAAU,CACR,MAAgC;QAEhC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CACR,MAAgC;QAEhC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,WAAW,CACT,MAAiC;QAEjC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,oBAAoB,CAClB,MAAiC;QAEjC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,CAAC,YAAY,EACjC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CACV,MAAkC;QAElC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,CAAC,YAAY,EACjC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,MAAmC;QAEnC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;OAUG;IACH,aAAa,CACX,MAAmC;QAEnC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CACV,MAAkC;QAElC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,cAAc,CACZ,MAAoC;QAEpC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CACpB,MAA4C;QAE5C,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,CAAC,yBAAyB,EAC9C,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,YAAY,CACV,MAAkC;QAElC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;OAUG;IACH,sBAAsB,CACpB,MAAmC;QAEnC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,oBAAoB,CAClB,MAAiC;QAEjC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;OAUG;IACH,wBAAwB,CACtB,MAAqC;QAErC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAA4B;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,MAA4B;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,MAAiC;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,aAAa,CAAC,cAAc,EACnC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CACf,MAA8B;QAE9B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CACjB,MAAgC;QAEhC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,CAAC,aAAa,CAAC,WAAW,EAChC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CACf,MAA8B;QAE9B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAGhC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,CACtB,MAA0C;QAE1C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EACtC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,0BAA0B,CACxB,MAA4C;QAE5C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,aAAa,CAAC,mBAAmB,EACxC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,yBAAyB,CACvB,MAA2C;QAE3C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,aAAa,CAAC,kBAAkB,EACvC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,CACtB,MAA0C;QAE1C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EACtC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,yBAAyB,CACvB,MAA2C;QAE3C,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,aAAa,CAAC,kBAAkB,EACvC,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,MAAoC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,aAAa,CAAC,UAAU,EAC/B,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,MAAoC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACrC,MAAM,CAAC,aAAa,CAAC,UAAU,EAC/B,MAAM,CACP,CAAC;IACJ,CAAC;IAkBD,OAAO,CACL,MAAc,EACd,MAAgB,EAChB,OAA4B;QAE5B,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,CACU,CAAC;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAChC,MAAM,EACN,MAAM,EACN,IAAI,EAAE,WAAW,EACjB,OAAO,CACR,CAAC;IACJ,CAAC;IAaD,MAAM,CAAC,MAAc,EAAE,MAAgB;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,MAAc,EACd,MAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,eAAe,CACb,MAAc,EACd,MAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"acp.js","sourceRoot":"","sources":["../src/acp.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { describe, it, expect, beforeEach, vi } from "vitest";
2
2
  import { z as z3 } from "zod/v3";
3
- import { zAnnotations, zClientCapabilities, zCreateElicitationRequest, zCreateElicitationResponse, zInitializeResponse, zPlan, zToolCall, } from "./schema/zod.gen.js";
3
+ import { zAnnotations, zCreateElicitationRequest, zCreateElicitationResponse, zInitializeResponse, zPlan, zToolCall, } from "./schema/zod.gen.js";
4
4
  import { AGENT_METHODS, CLIENT_METHODS } from "./schema/index.js";
5
5
  import { ClientSideConnection, AgentSideConnection, PROTOCOL_VERSION, ndJsonStream, CreateElicitationRequest, CreateElicitationResponse, ElicitationPropertySchema, MultiSelectItems, RequestError, agent as createAgent, client as createClient, methods, } from "./acp.js";
6
+ import * as nes from "./nes/acp.js";
6
7
  import * as sdk from "./acp.js";
7
8
  import * as guards from "./schema/guards.gen.js";
8
9
  import { Connection } from "./jsonrpc.js";
@@ -848,8 +849,7 @@ describe("Connection", () => {
848
849
  .onRequest(AGENT_METHODS.authenticate, () => { })
849
850
  .onRequest(AGENT_METHODS.providers_set, () => { })
850
851
  .onRequest(AGENT_METHODS.providers_disable, () => { })
851
- .onRequest(AGENT_METHODS.logout, () => { })
852
- .onRequest(AGENT_METHODS.nes_close, () => { });
852
+ .onRequest(AGENT_METHODS.logout, () => { });
853
853
  const agentResponses = await createClient({
854
854
  name: "empty-agent-response-client",
855
855
  }).connectWith(appAgent, async (agent) => ({
@@ -880,9 +880,6 @@ describe("Connection", () => {
880
880
  providerId: "main",
881
881
  }),
882
882
  logout: await agent.request(AGENT_METHODS.logout, {}),
883
- closeNes: await agent.request(AGENT_METHODS.nes_close, {
884
- sessionId: "nes-session",
885
- }),
886
883
  }));
887
884
  expect(agentResponses).toEqual({
888
885
  loadSession: {},
@@ -893,7 +890,6 @@ describe("Connection", () => {
893
890
  setProvider: {},
894
891
  disableProvider: {},
895
892
  logout: {},
896
- closeNes: {},
897
893
  });
898
894
  let clientResponses;
899
895
  const appClient = createClient({ name: "empty-client-responses" })
@@ -1731,18 +1727,18 @@ describe("Connection", () => {
1731
1727
  const disable = await agent.request(AGENT_METHODS.providers_disable, {
1732
1728
  providerId: "main",
1733
1729
  });
1734
- const start = await agent.request(AGENT_METHODS.nes_start, {
1730
+ const start = await agent.request(nes.AGENT_METHODS.nes_start, {
1735
1731
  workspaceUri: "file:///workspace",
1736
1732
  workspaceFolders: [{ uri: "file:///workspace/app", name: "app" }],
1737
1733
  });
1738
- const suggest = await agent.request(AGENT_METHODS.nes_suggest, {
1734
+ const suggest = await agent.request(nes.AGENT_METHODS.nes_suggest, {
1739
1735
  sessionId: start.sessionId,
1740
1736
  position: { line: 0, character: 5 },
1741
1737
  triggerKind: "manual",
1742
1738
  uri: "file:///workspace/app/main.ts",
1743
1739
  version: 1,
1744
1740
  });
1745
- const close = await agent.request(AGENT_METHODS.nes_close, {
1741
+ const close = await agent.request(nes.AGENT_METHODS.nes_close, {
1746
1742
  sessionId: start.sessionId,
1747
1743
  });
1748
1744
  return { providers, set, disable, start, suggest, close };
@@ -1827,17 +1823,32 @@ describe("Connection", () => {
1827
1823
  },
1828
1824
  sessionUpdate() { },
1829
1825
  }), ndJsonStream(clientToAgent.writable, agentToClient.readable));
1830
- new AgentSideConnection(() => handlers, ndJsonStream(agentToClient.writable, clientToAgent.readable));
1826
+ new AgentSideConnection(() => ({
1827
+ ...handlers,
1828
+ extMethod(method, params) {
1829
+ switch (method) {
1830
+ case nes.AGENT_METHODS.nes_start:
1831
+ return handlers.unstable_startNes(nes.validate.zStartNesRequest.parse(params));
1832
+ case nes.AGENT_METHODS.nes_suggest:
1833
+ return handlers.unstable_suggestNes(nes.validate.zSuggestNesRequest.parse(params));
1834
+ case nes.AGENT_METHODS.nes_close:
1835
+ return handlers.unstable_closeNes(nes.validate.zCloseNesRequest.parse(params));
1836
+ default:
1837
+ throw RequestError.methodNotFound(method);
1838
+ }
1839
+ },
1840
+ }), ndJsonStream(agentToClient.writable, clientToAgent.readable));
1831
1841
  result = await exerciseAgent(agentConnection);
1832
1842
  }
1833
1843
  else {
1834
- const appAgent = createAgent({ name: "provider-nes-parity-agent" })
1844
+ const appAgent = nes
1845
+ .agent({ name: "provider-nes-parity-agent" })
1835
1846
  .onRequest(AGENT_METHODS.providers_list, (c) => handlers.unstable_listProviders(c.params))
1836
1847
  .onRequest(AGENT_METHODS.providers_set, (c) => handlers.unstable_setProvider(c.params))
1837
1848
  .onRequest(AGENT_METHODS.providers_disable, (c) => handlers.unstable_disableProvider(c.params))
1838
- .onRequest(AGENT_METHODS.nes_start, (c) => handlers.unstable_startNes(c.params))
1839
- .onRequest(AGENT_METHODS.nes_suggest, (c) => handlers.unstable_suggestNes(c.params))
1840
- .onRequest(AGENT_METHODS.nes_close, (c) => handlers.unstable_closeNes(c.params));
1849
+ .onRequest(nes.AGENT_METHODS.nes_start, (c) => handlers.unstable_startNes(c.params))
1850
+ .onRequest(nes.AGENT_METHODS.nes_suggest, (c) => handlers.unstable_suggestNes(c.params))
1851
+ .onRequest(nes.AGENT_METHODS.nes_close, (c) => handlers.unstable_closeNes(c.params));
1841
1852
  result = await createClient({
1842
1853
  name: "provider-nes-parity-client",
1843
1854
  }).connectWith(appAgent, exerciseAgent);
@@ -1875,24 +1886,24 @@ describe("Connection", () => {
1875
1886
  it("keeps agent notification handlers equivalent", async () => {
1876
1887
  const notifications = [];
1877
1888
  async function sendNotifications(agent) {
1878
- await agent.notify(AGENT_METHODS.document_did_open, {
1889
+ await agent.notify(nes.AGENT_METHODS.document_did_open, {
1879
1890
  sessionId: "notification-session",
1880
1891
  uri: "file:///workspace/file.ts",
1881
1892
  languageId: "typescript",
1882
1893
  version: 1,
1883
1894
  text: "const value = 1;",
1884
1895
  });
1885
- await agent.notify(AGENT_METHODS.document_did_change, {
1896
+ await agent.notify(nes.AGENT_METHODS.document_did_change, {
1886
1897
  sessionId: "notification-session",
1887
1898
  uri: "file:///workspace/file.ts",
1888
1899
  version: 2,
1889
1900
  contentChanges: [{ text: "const value = 2;" }],
1890
1901
  });
1891
- await agent.notify(AGENT_METHODS.document_did_save, {
1902
+ await agent.notify(nes.AGENT_METHODS.document_did_save, {
1892
1903
  sessionId: "notification-session",
1893
1904
  uri: "file:///workspace/file.ts",
1894
1905
  });
1895
- await agent.notify(AGENT_METHODS.document_did_focus, {
1906
+ await agent.notify(nes.AGENT_METHODS.document_did_focus, {
1896
1907
  sessionId: "notification-session",
1897
1908
  uri: "file:///workspace/file.ts",
1898
1909
  version: 2,
@@ -1902,15 +1913,15 @@ describe("Connection", () => {
1902
1913
  end: { line: 1, character: 0 },
1903
1914
  },
1904
1915
  });
1905
- await agent.notify(AGENT_METHODS.document_did_close, {
1916
+ await agent.notify(nes.AGENT_METHODS.document_did_close, {
1906
1917
  sessionId: "notification-session",
1907
1918
  uri: "file:///workspace/file.ts",
1908
1919
  });
1909
- await agent.notify(AGENT_METHODS.nes_accept, {
1920
+ await agent.notify(nes.AGENT_METHODS.nes_accept, {
1910
1921
  sessionId: "notification-session",
1911
1922
  id: "suggestion-1",
1912
1923
  });
1913
- await agent.notify(AGENT_METHODS.nes_reject, {
1924
+ await agent.notify(nes.AGENT_METHODS.nes_reject, {
1914
1925
  sessionId: "notification-session",
1915
1926
  id: "suggestion-2",
1916
1927
  reason: "rejected",
@@ -1963,18 +1974,41 @@ describe("Connection", () => {
1963
1974
  },
1964
1975
  sessionUpdate() { },
1965
1976
  }), ndJsonStream(clientToAgent.writable, agentToClient.readable));
1966
- new AgentSideConnection(() => handlers, ndJsonStream(agentToClient.writable, clientToAgent.readable));
1977
+ new AgentSideConnection(() => ({
1978
+ ...handlers,
1979
+ extNotification(method, params) {
1980
+ switch (method) {
1981
+ case nes.AGENT_METHODS.document_did_open:
1982
+ return handlers.unstable_didOpenDocument(nes.validate.zDidOpenDocumentNotification.parse(params));
1983
+ case nes.AGENT_METHODS.document_did_change:
1984
+ return handlers.unstable_didChangeDocument(nes.validate.zDidChangeDocumentNotification.parse(params));
1985
+ case nes.AGENT_METHODS.document_did_close:
1986
+ return handlers.unstable_didCloseDocument(nes.validate.zDidCloseDocumentNotification.parse(params));
1987
+ case nes.AGENT_METHODS.document_did_save:
1988
+ return handlers.unstable_didSaveDocument(nes.validate.zDidSaveDocumentNotification.parse(params));
1989
+ case nes.AGENT_METHODS.document_did_focus:
1990
+ return handlers.unstable_didFocusDocument(nes.validate.zDidFocusDocumentNotification.parse(params));
1991
+ case nes.AGENT_METHODS.nes_accept:
1992
+ return handlers.unstable_acceptNes(nes.validate.zAcceptNesNotification.parse(params));
1993
+ case nes.AGENT_METHODS.nes_reject:
1994
+ return handlers.unstable_rejectNes(nes.validate.zRejectNesNotification.parse(params));
1995
+ default:
1996
+ return;
1997
+ }
1998
+ },
1999
+ }), ndJsonStream(agentToClient.writable, clientToAgent.readable));
1967
2000
  await sendNotifications(agentConnection);
1968
2001
  }
1969
2002
  else {
1970
- const appAgent = createAgent({ name: "notification-parity-agent" })
1971
- .onNotification(AGENT_METHODS.document_did_open, (c) => handlers.unstable_didOpenDocument(c.params))
1972
- .onNotification(AGENT_METHODS.document_did_change, (c) => handlers.unstable_didChangeDocument(c.params))
1973
- .onNotification(AGENT_METHODS.document_did_save, (c) => handlers.unstable_didSaveDocument(c.params))
1974
- .onNotification(AGENT_METHODS.document_did_focus, (c) => handlers.unstable_didFocusDocument(c.params))
1975
- .onNotification(AGENT_METHODS.document_did_close, (c) => handlers.unstable_didCloseDocument(c.params))
1976
- .onNotification(AGENT_METHODS.nes_accept, (c) => handlers.unstable_acceptNes(c.params))
1977
- .onNotification(AGENT_METHODS.nes_reject, (c) => handlers.unstable_rejectNes(c.params));
2003
+ const appAgent = nes
2004
+ .agent({ name: "notification-parity-agent" })
2005
+ .onNotification(nes.AGENT_METHODS.document_did_open, (c) => handlers.unstable_didOpenDocument(c.params))
2006
+ .onNotification(nes.AGENT_METHODS.document_did_change, (c) => handlers.unstable_didChangeDocument(c.params))
2007
+ .onNotification(nes.AGENT_METHODS.document_did_save, (c) => handlers.unstable_didSaveDocument(c.params))
2008
+ .onNotification(nes.AGENT_METHODS.document_did_focus, (c) => handlers.unstable_didFocusDocument(c.params))
2009
+ .onNotification(nes.AGENT_METHODS.document_did_close, (c) => handlers.unstable_didCloseDocument(c.params))
2010
+ .onNotification(nes.AGENT_METHODS.nes_accept, (c) => handlers.unstable_acceptNes(c.params))
2011
+ .onNotification(nes.AGENT_METHODS.nes_reject, (c) => handlers.unstable_rejectNes(c.params));
1978
2012
  await createClient({
1979
2013
  name: "notification-parity-client",
1980
2014
  }).connectWith(appAgent, sendNotifications);
@@ -3902,10 +3936,23 @@ describe("Connection", () => {
3902
3936
  return {};
3903
3937
  }
3904
3938
  }
3905
- const agentConnection = new ClientSideConnection(() => new TestClient(), ndJsonStream(clientToAgent.writable, agentToClient.readable));
3906
- const clientConnection = new AgentSideConnection(() => new TestAgent(), ndJsonStream(agentToClient.writable, clientToAgent.readable));
3907
- void clientConnection;
3908
- const startResponse = await agentConnection.unstable_startNes({
3939
+ const implementation = new TestAgent();
3940
+ const client = new TestClient();
3941
+ const serverConnection = nes
3942
+ .agent()
3943
+ .onRequest(nes.AGENT_METHODS.nes_start, ({ params }) => implementation.unstable_startNes(params))
3944
+ .onRequest(nes.AGENT_METHODS.nes_suggest, ({ params }) => implementation.unstable_suggestNes(params))
3945
+ .onRequest(nes.AGENT_METHODS.nes_close, ({ params }) => implementation.unstable_closeNes(params))
3946
+ .connect(ndJsonStream(agentToClient.writable, clientToAgent.readable));
3947
+ const clientConnection = nes
3948
+ .client()
3949
+ .onRequest(CLIENT_METHODS.fs_write_text_file, ({ params }) => client.writeTextFile(params))
3950
+ .onRequest(CLIENT_METHODS.fs_read_text_file, ({ params }) => client.readTextFile(params))
3951
+ .onRequest(CLIENT_METHODS.session_request_permission, ({ params }) => client.requestPermission(params))
3952
+ .onNotification(CLIENT_METHODS.session_update, ({ params }) => client.sessionUpdate(params))
3953
+ .connect(ndJsonStream(clientToAgent.writable, agentToClient.readable));
3954
+ const agentConnection = clientConnection.agent;
3955
+ const startResponse = await agentConnection.request(nes.AGENT_METHODS.nes_start, {
3909
3956
  workspaceUri: "file:///workspace",
3910
3957
  workspaceFolders: [
3911
3958
  { uri: "file:///workspace/frontend", name: "frontend" },
@@ -3928,7 +3975,7 @@ describe("Connection", () => {
3928
3975
  owner: "my-org",
3929
3976
  remoteUrl: "https://github.com/my-org/my-repo.git",
3930
3977
  });
3931
- const suggestResponse = await agentConnection.unstable_suggestNes({
3978
+ const suggestResponse = await agentConnection.request(nes.AGENT_METHODS.nes_suggest, {
3932
3979
  sessionId: "nes-session-1",
3933
3980
  position: { line: 0, character: 5 },
3934
3981
  triggerKind: "manual",
@@ -3953,10 +4000,12 @@ describe("Connection", () => {
3953
4000
  },
3954
4001
  ],
3955
4002
  });
3956
- const closeResponse = await agentConnection.unstable_closeNes({
4003
+ const closeResponse = await agentConnection.request(nes.AGENT_METHODS.nes_close, {
3957
4004
  sessionId: "nes-session-1",
3958
4005
  });
3959
4006
  expect(closeResponse).toEqual({});
4007
+ clientConnection.close();
4008
+ serverConnection.close();
3960
4009
  });
3961
4010
  it("handles providers request lifecycle", async () => {
3962
4011
  let receivedSetRequest;
@@ -4162,14 +4211,26 @@ describe("Connection", () => {
4162
4211
  notificationLog.push({ type: "rejectNes", params });
4163
4212
  }
4164
4213
  }
4165
- const agentConnection = new ClientSideConnection(() => new TestClient(), ndJsonStream(clientToAgent.writable, agentToClient.readable));
4166
- const clientConnection = new AgentSideConnection(() => new TestAgent(), ndJsonStream(agentToClient.writable, clientToAgent.readable));
4167
- void clientConnection;
4168
- await agentConnection.unstable_acceptNes({
4214
+ const implementation = new TestAgent();
4215
+ const client = new TestClient();
4216
+ const serverConnection = nes
4217
+ .agent()
4218
+ .onNotification(nes.AGENT_METHODS.nes_accept, ({ params }) => implementation.unstable_acceptNes(params))
4219
+ .onNotification(nes.AGENT_METHODS.nes_reject, ({ params }) => implementation.unstable_rejectNes(params))
4220
+ .connect(ndJsonStream(agentToClient.writable, clientToAgent.readable));
4221
+ const clientConnection = nes
4222
+ .client()
4223
+ .onRequest(CLIENT_METHODS.fs_write_text_file, ({ params }) => client.writeTextFile(params))
4224
+ .onRequest(CLIENT_METHODS.fs_read_text_file, ({ params }) => client.readTextFile(params))
4225
+ .onRequest(CLIENT_METHODS.session_request_permission, ({ params }) => client.requestPermission(params))
4226
+ .onNotification(CLIENT_METHODS.session_update, ({ params }) => client.sessionUpdate(params))
4227
+ .connect(ndJsonStream(clientToAgent.writable, agentToClient.readable));
4228
+ const agentConnection = clientConnection.agent;
4229
+ await agentConnection.notify(nes.AGENT_METHODS.nes_accept, {
4169
4230
  sessionId: "nes-session-1",
4170
4231
  id: "sug-1",
4171
4232
  });
4172
- await agentConnection.unstable_rejectNes({
4233
+ await agentConnection.notify(nes.AGENT_METHODS.nes_reject, {
4173
4234
  sessionId: "nes-session-1",
4174
4235
  id: "sug-2",
4175
4236
  reason: "rejected",
@@ -4190,6 +4251,8 @@ describe("Connection", () => {
4190
4251
  },
4191
4252
  ]);
4192
4253
  });
4254
+ clientConnection.close();
4255
+ serverConnection.close();
4193
4256
  });
4194
4257
  it("handles document notifications", async () => {
4195
4258
  const notificationLog = [];
@@ -4237,27 +4300,42 @@ describe("Connection", () => {
4237
4300
  notificationLog.push({ type: "didFocus", params });
4238
4301
  }
4239
4302
  }
4240
- const agentConnection = new ClientSideConnection(() => new TestClient(), ndJsonStream(clientToAgent.writable, agentToClient.readable));
4241
- const clientConnection = new AgentSideConnection(() => new TestAgent(), ndJsonStream(agentToClient.writable, clientToAgent.readable));
4242
- void clientConnection;
4243
- await agentConnection.unstable_didOpenDocument({
4303
+ const implementation = new TestAgent();
4304
+ const client = new TestClient();
4305
+ const serverConnection = nes
4306
+ .agent()
4307
+ .onNotification(nes.AGENT_METHODS.document_did_open, ({ params }) => implementation.unstable_didOpenDocument(params))
4308
+ .onNotification(nes.AGENT_METHODS.document_did_change, ({ params }) => implementation.unstable_didChangeDocument(params))
4309
+ .onNotification(nes.AGENT_METHODS.document_did_close, ({ params }) => implementation.unstable_didCloseDocument(params))
4310
+ .onNotification(nes.AGENT_METHODS.document_did_save, ({ params }) => implementation.unstable_didSaveDocument(params))
4311
+ .onNotification(nes.AGENT_METHODS.document_did_focus, ({ params }) => implementation.unstable_didFocusDocument(params))
4312
+ .connect(ndJsonStream(agentToClient.writable, clientToAgent.readable));
4313
+ const clientConnection = nes
4314
+ .client()
4315
+ .onRequest(CLIENT_METHODS.fs_write_text_file, ({ params }) => client.writeTextFile(params))
4316
+ .onRequest(CLIENT_METHODS.fs_read_text_file, ({ params }) => client.readTextFile(params))
4317
+ .onRequest(CLIENT_METHODS.session_request_permission, ({ params }) => client.requestPermission(params))
4318
+ .onNotification(CLIENT_METHODS.session_update, ({ params }) => client.sessionUpdate(params))
4319
+ .connect(ndJsonStream(clientToAgent.writable, agentToClient.readable));
4320
+ const agentConnection = clientConnection.agent;
4321
+ await agentConnection.notify(nes.AGENT_METHODS.document_did_open, {
4244
4322
  sessionId: "s1",
4245
4323
  uri: "file:///test.ts",
4246
4324
  languageId: "typescript",
4247
4325
  version: 1,
4248
4326
  text: "const x = 1;",
4249
4327
  });
4250
- await agentConnection.unstable_didChangeDocument({
4328
+ await agentConnection.notify(nes.AGENT_METHODS.document_did_change, {
4251
4329
  sessionId: "s1",
4252
4330
  uri: "file:///test.ts",
4253
4331
  version: 2,
4254
4332
  contentChanges: [{ text: "const x = 2;" }],
4255
4333
  });
4256
- await agentConnection.unstable_didSaveDocument({
4334
+ await agentConnection.notify(nes.AGENT_METHODS.document_did_save, {
4257
4335
  sessionId: "s1",
4258
4336
  uri: "file:///test.ts",
4259
4337
  });
4260
- await agentConnection.unstable_didFocusDocument({
4338
+ await agentConnection.notify(nes.AGENT_METHODS.document_did_focus, {
4261
4339
  sessionId: "s1",
4262
4340
  uri: "file:///test.ts",
4263
4341
  version: 2,
@@ -4267,7 +4345,7 @@ describe("Connection", () => {
4267
4345
  end: { line: 10, character: 0 },
4268
4346
  },
4269
4347
  });
4270
- await agentConnection.unstable_didCloseDocument({
4348
+ await agentConnection.notify(nes.AGENT_METHODS.document_did_close, {
4271
4349
  sessionId: "s1",
4272
4350
  uri: "file:///test.ts",
4273
4351
  });
@@ -4321,6 +4399,8 @@ describe("Connection", () => {
4321
4399
  },
4322
4400
  ]);
4323
4401
  });
4402
+ clientConnection.close();
4403
+ serverConnection.close();
4324
4404
  });
4325
4405
  it("propagates additionalDirectories on session lifecycle methods", async () => {
4326
4406
  let receivedNewSession;
@@ -4841,8 +4921,8 @@ describe("Schema deserialization compatibility", () => {
4841
4921
  }).entries).toEqual([{ content: "done", priority: "high", status: "completed" }]);
4842
4922
  });
4843
4923
  it("defaults optional non-null arrays to [] only for invalid present values", () => {
4844
- expect(zClientCapabilities.parse({}).positionEncodings).toBeUndefined();
4845
- expect(zClientCapabilities.parse({ positionEncodings: "invalid" })
4924
+ expect(nes.zClientCapabilities.parse({}).positionEncodings).toBeUndefined();
4925
+ expect(nes.zClientCapabilities.parse({ positionEncodings: "invalid" })
4846
4926
  .positionEncodings).toEqual([]);
4847
4927
  });
4848
4928
  it("defaults optional nullable arrays to undefined for invalid present values", () => {