odai-dsh-agent 0.2.20 → 0.2.22

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 (34) hide show
  1. package/README.md +3 -3
  2. package/build/src/installer.d.mts +1 -1
  3. package/build/src/installer.d.mts.map +1 -1
  4. package/build/src/installer.mjs +6 -6
  5. package/build/src/installer.mjs.map +1 -1
  6. package/client/client.js +149 -58
  7. package/package.json +1 -1
  8. package/preset/odai/runtime/index.d.mts.map +1 -1
  9. package/preset/odai/runtime/index.mjs +6 -3
  10. package/preset/odai/runtime/index.mjs.map +1 -1
  11. package/preset/odai/runtime/lifecycle-runtime.d.mts.map +1 -1
  12. package/preset/odai/runtime/lifecycle-runtime.mjs +10 -2
  13. package/preset/odai/runtime/lifecycle-runtime.mjs.map +1 -1
  14. package/preset/odai/runtime/responsibility-gap.d.mts +19 -1
  15. package/preset/odai/runtime/responsibility-gap.d.mts.map +1 -1
  16. package/preset/odai/runtime/responsibility-gap.mjs +180 -16
  17. package/preset/odai/runtime/responsibility-gap.mjs.map +1 -1
  18. package/preset/odai/runtime/role-overlays.mjs +1 -1
  19. package/preset/odai/runtime/role-overlays.mjs.map +1 -1
  20. package/preset/odai/runtime/router.d.mts +1 -0
  21. package/preset/odai/runtime/router.d.mts.map +1 -1
  22. package/preset/odai/runtime/router.mjs +5 -1
  23. package/preset/odai/runtime/router.mjs.map +1 -1
  24. package/preset/odai/runtime/routing-context.d.mts +8 -1
  25. package/preset/odai/runtime/routing-context.d.mts.map +1 -1
  26. package/preset/odai/runtime/routing-context.mjs +30 -9
  27. package/preset/odai/runtime/routing-context.mjs.map +1 -1
  28. package/preset/odai/runtime/tool-runtime.d.mts.map +1 -1
  29. package/preset/odai/runtime/tool-runtime.mjs +23 -3
  30. package/preset/odai/runtime/tool-runtime.mjs.map +1 -1
  31. package/preset/odai/skills/odai/assets/routing-roles/planner.md +1 -1
  32. package/preset/odai/skills/odai/assets/routing-roles/reviewer.md +2 -2
  33. package/preset/odai/skills/odai/manifest.json +1 -1
  34. package/preset/odai/skills/odai/references/leverage.md +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-runtime.mjs","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-runtime.mjs","sourceRoot":"","sources":["../src/lifecycle-runtime.mts"],"names":[],"mappings":"AACA,OAAO,EACL,sCAAsC,EACtC,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,EACxB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAC5C,mCAAmC,EAAE,0BAA0B,EAAE,eAAe,EAChF,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,GACrE,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,iCAAiC,EACjC,qCAAqC,EACrC,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAe/B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD,SAAS,qBAAqB,CAC5B,IAAY,EACZ,UAA8C,EAC9C,WAA6C;IAE7C,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IACjE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9E,OAAO,WAAW,CAAC;AACrB,CAAC;AAKD,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC;AACvG,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC;AAC9G,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA2B,EAAE,WAAmB;IAC3E,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5B,KAAK,EAAE,IAAI,KAAK,kCAAkC;WAC/C,KAAK,CAAC,IAAI,EAAE,WAAW,KAAK,WAAW,CAC3C,CAAC,CAAC;AACL,CAAC;AAyBD,MAAM,UAAU,uBAAuB,CAAC,IAA2B;IACjE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC;IACvY,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAqB,EAChD,IAAmC,EACnC,EAAE;QACF,IAAI,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,KAAK,CAAC,OAAO;gBAAE,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACrD,2BAA2B,CAAC;gBAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC9B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACjE,IAAI;gBACJ,IAAI;gBACJ,aAAa,EAAE,OAAO,aAAa,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBACnF,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,IAAI,SAAS,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,KAAK;gBACnC,CAAC,CAAC,QAAQ,SAAS,gCAAgC,cAAc,CAAC,MAAM,EAAE;gBAC1E,CAAC,CAAC,QAAQ,SAAS,gCAAgC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,KAAK,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAChE,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,qCAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClF,IAAI,WAAW,IAAI,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/E,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,qBAAqB,EAAE,GAAG,QAAQ,CAAC;gBACjH,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,qBAAqB,EAAE,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjF,IAAI,KAAK,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/B,WAAW,CAAC,KAAK,EAAE,oCAAoC,EAAE;wBACvD,OAAO,EAAE,WAAW,CAAC,OAAO;wBAC5B,IAAI;wBACJ,IAAI;wBACJ,IAAI,EAAE,WAAW,CAAC,IAAI;wBACtB,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,WAAW,CAAC,SAAS;wBAChC,WAAW,EAAE,KAAK,CAAC,EAAE;qBACtB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,KAAK,EAAE,iDAAiD,EAAE;wBACpE,OAAO,EAAE,WAAW,CAAC,OAAO;wBAC5B,IAAI;wBACJ,IAAI;wBACJ,IAAI,EAAE,WAAW,CAAC,IAAI;wBACtB,cAAc,EAAE,WAAW,CAAC,SAAS;qBACtC,CAAC,CAAC;oBACH,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;wBACnB,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;4BACxD,KAAK;4BACL,OAAO,EAAE,WAAW,CAAC,OAAO;4BAC5B,IAAI;4BACJ,IAAI;4BACJ,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,aAAa,EAAE,WAAW,CAAC,SAAS;yBACrC,CAAC,CAAC,CAAC;oBACN,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,EAAE,IAAI,CAAC;QAChC,IAAI,SAAS,GAAG,SAAS;YACvB,CAAC,CAAC,cAAc,EAAE,KAAK;YACvB,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,KAAK,CAAC,KAAK;gBACb,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC;QACvE,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1G,IAAI,6BAA6B,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,MAAM,QAAQ,GAAG,CAA2B,YAAe,EAAK,EAAE;YAChE,IAAI,SAAS,IAAI,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5F,MAAM,aAAa,GAAG,SAAS,CAAC;gBAChC,MAAM,YAAY,GAAG,8BAA8B,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;oBAC9F,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC,KAAK,CAAC;gBACV,MAAM,cAAc,GAAG,SAAS,IAAI,WAAW,CAAC;gBAChD,IAAI,CAAC,cAAc;oBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBACrF,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACpD,KAAK;oBACL,IAAI;oBACJ,IAAI;oBACJ,cAAc;oBACd,SAAS;oBACT,WAAW;oBACX,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3F,cAAc,EAAE,aAAa;oBAC7B,aAAa;iBACd,CAAC,CAAC,CAAC;YACN,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QACF,IAAI,OAAO,GAAG,QAAQ,CAAC;QACvB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,sBAAsB,EAAE,GAAG,QAAQ,CAAC;YAClF,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,GAAG,sBAAsB;gBACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,GAAG,CAAC,SAAS,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC;gBAClG,GAAG,CAAC,CAAC,SAAS,IAAI,6BAA6B,KAAK,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS;oBACjG,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE;oBACpC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC5C,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc;oBAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBAClH,KAAK,GAAG,wBAAwB,CAAC,KAAK,EAAE;oBACtC,IAAI;oBACJ,SAAS;oBACT,cAAc;oBACd,SAAS;iBACV,CAAC,CAAC;gBACH,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACvC,WAAW,CAAC,KAAK,EAAE,mCAAmC,EAAE,+BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC;YAClG,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,EAAE,cAAc;gBACtC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;gBACvC,CAAC,CAAC,MAAM,eAAe,CACnB,CAAC,SAAqB,EAAE,eAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,EAC/G,eAAe,CAAC,OAAO,CAAC,IAAI,SAAS,EACrC,MAAM,CACP,CAAC;YACN,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,cAAc,GAAG,SAAS,IAAI,WAAW,CAAC;gBAChD,IAAI,CAAC,cAAc;oBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBAC/F,MAAM,YAAY,GAAG,yBAAyB,CAC5C,KAAK,EACL,cAAc,EACd,SAAS,EACT,WAAW,EACX,UAAU,CAAC,OAAO,EAClB,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;gBACF,WAAW,CAAC,KAAK,EAAE,qBAAqB,EAAE;oBACxC,IAAI;oBACJ,IAAI;oBACJ,cAAc;oBACd,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzD,SAAS;oBACT,WAAW;oBACX,cAAc,EAAE,SAAS;oBACzB,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC;oBACxC,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI;oBACpC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI;oBAClC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO;oBACjC,WAAW,EAAE,YAAY,CAAC,WAAW;iBACtC,CAAC,CAAC;gBACH,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,SAAS,6BAA6B,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAG7H,CAAC;oBACF,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;oBACrC,KAAK,CAAC,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;oBACjD,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,uBAAuB,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,IAAI,KAAK,EAAE,QAAQ,IAAI,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpE,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvG,CAAC;gBACD,SAAS,GAAG,SAAS,CAAC;gBACtB,SAAS,GAAG,WAAW,CAAC;gBACxB,6BAA6B,GAAG,SAAS,CAAC;gBAC1C,OAAO,GAAG,QAAQ,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpE,MAAM,eAAe,GAAG,MAAM,+BAA+B,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACpH,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC;QAC7D,IAAI,6BAA6B,KAAK,SAAS,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,+BAA+B,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACnH,WAAW,CAAC,KAAK,EAAE,+BAA+B,EAAE;oBAClD,IAAI;oBACJ,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;oBACvC,cAAc,EAAE,WAAW;oBAC3B,uBAAuB,EAAE,6BAA6B;oBACtD,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,CAAC;oBACpG,kBAAkB,EAAE,6BAA6B;oBACjD,YAAY,EAAE,yBAAyB;oBACvC,SAAS,EAAE,kCAAkC;iBAC9C,CAAC,CAAC;YACL,CAAC;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,mBAAmB,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;QACzC,MAAM,kBAAkB,GAAG,cAAc,KAAK,SAAS;YACrD,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,mBAAmB;YACvF,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,mBAAmB,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,4BAA4B,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAChH,WAAW,CAAC,KAAK,EAAE,4BAA4B,EAAE;gBAC/C,IAAI;gBACJ,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACvC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;gBACrE,mBAAmB;gBACnB,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;gBAC3D,kBAAkB;gBAClB,YAAY;gBACZ,SAAS,EAAE,0BAA0B;aACtC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtB,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAAyB,CAAC;IACnE,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,EACjC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAA0B,EACxE,IAA4B,EAC5B,EAAE;QACF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE,IAAI,KAAK,yBAAyB,CAAC,EAAE,CAAC;YAC3F,IAAI,KAAK,EAAE,OAAO;gBAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/D,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACzG,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE,IAAI,KAAK,yBAAyB;YAAE,OAAO,IAAI,EAAE,CAAC;QACjF,MAAM,MAAM,GAAG,SAAS;YACtB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;YAChE,CAAC,CAAC,8BAA8B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;gBACjD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAC;QAExE,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,KAAK,EACL,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,EACb,UAAU,EACV,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QACF,WAAW,CAAC,KAAK,EAAE,qBAAqB,EAAE;YACxC,IAAI;YACJ,IAAI;YACJ,cAAc,EAAE,MAAM,CAAC,IAAI;YAC3B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;YAC5C,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,cAAc,EAAE,MAAM,CAAC,KAAK;YAC5B,YAAY,EAAE,CAAC,SAAS;YACxB,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC;YAC1F,WAAW,EAAE,UAAU,CAAC,IAAI;YAC5B,SAAS,EAAE,UAAU,CAAC,IAAI;YAC1B,KAAK,EAAE,UAAU,CAAC,OAAO;YACzB,WAAW,EAAE,YAAY,CAAC,WAAW;SACtC,CAAC,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,KAAK,EAAE,OAAO;YAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/D,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACzH,IAAI,KAAK,EAAE,QAAQ,IAAI,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,uBAAuB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,IAAI,EAAE,CAAC;QAEnD,IAAI,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,CACxB,KAAe,EACf,IAAY,EACZ,IAAY,EACZ,QAA2C,EAC3C,MAAc,EACd,OAAO,GAAuB,SAAS,EACvC,OAAO,GAAuB,SAAS,EACjC,EAAE;QACR,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACxC,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,OAAmB,EAAE,KAAe,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,2BAA2B,GAAG,CAAC,QAA0B,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;eACpG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;eACvC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,IAAI;eAClC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,IAAI,CAAC;QACxC,MAAM,eAAe,GAAG,6BAA6B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,eAAe,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;YAC5C,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE;gBAC9C,OAAO,EAAE,WAAW,CAAC,EAAE;gBACvB,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC,CAAC;YACH,IAAI,eAAe,KAAK,mBAAmB;mBACtC,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,WAAW,CAAC,KAAK,EAAE,oCAAoC,EAAE;oBACvD,OAAO,EAAE,WAAW,CAAC,EAAE;oBACvB,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,WAAW,CAAC,SAAS;oBAC/C,cAAc,EAAE,WAAW,CAAC,IAAI;oBAChC,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,sBAAsB;iBAC1F,CAAC,CAAC;gBACH,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC;oBAC3B,iBAAiB,WAAW,CAAC,IAAI,iFAAiF;oBAClH,0FAA0F;oBAC1F,uJAAuJ;iBACxJ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,IAAI,KAAK,EAAE,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7E,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gBACrB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,EAAE,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACpE,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gBACrB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;aACxB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACvC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,EAAE,IAAI,KAAK,YAAY,IAAI,KAAK,EAAE,CAAC;gBACrF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,gCAAgC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3E,MAAM,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CACxD,SAAS,EAAE,IAAI,KAAK,oBAAoB;uBACnC,SAAS,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS;uBACpC,SAAS,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,OAAO,CAC/D,CAAC,EAAE,IAAI,CAAC;gBACT,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAI,KAAK,OAAO,EAAE,IAAI;uBACrD,KAAK,EAAE,IAAI,KAAK,OAAO,EAAE,QAAQ;uBACjC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;oBACnD,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY;oBAC5B,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC;gBAC9B,MAAM,yBAAyB,GAAG,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;gBAC7D,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;uBACnD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC;oBACrF,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC/B,SAAS,CAAC,IAAI,KAAK,4BAA4B;2BAC5C,SAAS,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;2BACxC,SAAS,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS;2BAClC,SAAS,CAAC,IAAI,EAAE,YAAY,KAAK,mBAAmB;2BACpD,SAAS,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS;2BAC5C,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC5D,CAAC,EAAE,IAAI;oBACR,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxF,IAAI,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAClD,SAAS,CAAC,IAAI,KAAK,oCAAoC;uBACpD,SAAS,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB,CAAC,IAAI;uBAC9C,SAAS,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB,CAAC,IAAI,CAClD,CAAC,EAAE,CAAC;oBACH,WAAW,CAAC,KAAK,EAAE,oCAAoC,EAAE;wBACvD,IAAI,EAAE,gBAAgB,CAAC,IAAI;wBAC3B,IAAI,EAAE,gBAAgB,CAAC,IAAI;wBAC3B,MAAM,EAAE,YAAY;wBACpB,mBAAmB,EAAE,gBAAgB,CAAC,mBAAmB;wBACzD,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB;wBACvD,GAAG,CAAC,OAAO,sBAAsB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/F,YAAY,EAAE,mBAAmB;wBACjC,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,OAAO,EAAE,MAAM,KAAK,mBAAmB;uBACtC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;uBACtC,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,QAAQ;uBAClC,OAAO,oBAAoB,KAAK,QAAQ;uBACxC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;uBAC1C,uBAAuB,CAAC,OAAO,EAAE,cAAc,CAAC;uBAChD,OAAO,CAAC,cAAc,KAAK,UAAU;uBACrC,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC5B,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;oBACrE,WAAW,CAAC,KAAK,EAAE,iCAAiC,EAAE;wBACpD,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,IAAI,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS;wBAC3C,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,MAAM,EAAE,YAAY;wBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7C,GAAG,CAAC,cAAc,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC;wBACpG,YAAY,EAAE,oBAAoB;qBACnC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,kBAAkB,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC,IAAI,EAAE,CAAC;YACrG,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,oCAAoC,EAAE;gBAC1E,OAAO,EAAE,kBAAkB,CAAC,OAAO;gBACnC,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,MAAM,EAAE,YAAY;gBACpB,cAAc,EAAE,kBAAkB,CAAC,aAAa;gBAChD,UAAU,EAAE,sBAAsB;aACnC,CAAC,CAAC;YACH,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,kBAAkB;eACjB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;eAChF,2BAA2B,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrD,IAAI,WAAW,CAAC;YAChB,IAAI,CAAC;gBACH,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,gBAAgB;oBAC3C,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;oBAC7C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,IAAI,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC;gBAC3G,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,oCAAoC,EAAE;oBAC1E,OAAO,EAAE,kBAAkB,CAAC,OAAO;oBACnC,IAAI,EAAE,kBAAkB,CAAC,IAAI;oBAC7B,IAAI,EAAE,kBAAkB,CAAC,IAAI;oBAC7B,IAAI,EAAE,kBAAkB,CAAC,IAAI;oBAC7B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oBACzC,cAAc,EAAE,kBAAkB,CAAC,aAAa;oBAChD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzC,CAAC,CAAC;gBACH,IAAI,QAAQ,EAAE,CAAC;oBACb,iBAAiB,CACf,kBAAkB,CAAC,KAAK,EACxB,kBAAkB,CAAC,IAAI,EACvB,kBAAkB,CAAC,IAAI,EACvB,EAAE,UAAU,EAAE,gDAAgD,EAAE,EAChE,4BAA4B,EAC5B,QAAQ,EACR,kBAAkB,CAAC,OAAO,CAC3B,CAAC;gBACJ,CAAC;gBACD,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YACpE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE;gBAC/C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClG,MAAM,EAAE,YAAY;gBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,UAAU,EAAE,sBAAsB;aACnC,CAAC,CAAC;YACH,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,EAAE;gBAC7D,OAAO,EAAE,OAAO,CAAC,qBAAqB;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;YACH,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,OAAO;QAC9F,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC;YAAE,OAAO;QAClD,IAAI,WAAW,CAAC;QAChB,IAAI,CAAC;YACH,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBAC3C,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC7C,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO;QAC5D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACzF,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE;YAC/C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACzC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC;YAC/B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC;QACH,IAAI,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YAClD,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE;gBACvD,OAAO,EAAE,OAAO,CAAC,qBAAqB;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YACzC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,2CAA2C,EAAE;gBACtE,OAAO,EAAE,OAAO,CAAC,eAAe;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,cAAc,EAAE,OAAO,CAAC,qBAAqB;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YAClD,iBAAiB,CACf,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,iBAAiB,EAAE,EACxE,gBAAgB,EAChB,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAkB,EAAE,EAAE;QAChE,uBAAuB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;aACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB;eACjD,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;eACzB,KAAK,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI;eACnC,KAAK,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,UAAU,IAAI,iCAAiC,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,kCAAkC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,CAAC;QACC,MAAM,WAAW,GAAG,IAAI,OAAO,EAAyB,CAAC;QACzD,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,EAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAqB,EAChD,IAA+B,EAC/B,EAAE;YACF,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;oBAC3C,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;gBACD,+BAA+B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,UAAU,CAAC;YACtE,MAAM,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACpG,MAAM,0BAA0B,GAAG,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACvF,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/D,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC;gBACvG,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACvF,MAAM,uBAAuB,GAAG,0BAA0B;gBACxD,CAAC,CAAC,qBAAqB,CAAC,CAAC,0BAA0B,CAAC,CAAC;gBACrD,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,oBAAoB,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,CAAC,eAAe,IAAI,IAAI,KAAK,CAAC;gBACjD,CAAC,CAAC,iCAAiC,CAAC,oBAAoB,CAAC;gBACzD,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,0BAA0B,CAAC;YAC/B,IAAI,kBAAkB,CAAC;YACvB,IAAI,YAAY,IAAI,0BAA0B,EAAE,CAAC;gBAC/C,MAAM,WAAW,GAAG,sCAAsC,CAAC,uBAAuB,CAAC,CAAC;gBACpF,IAAI,WAAW,KAAK,UAAU,IAAI,aAAa,EAAE,CAAC;oBAChD,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,CAAC;oBAC3G,WAAW,CAAC,KAAK,EAAE,mDAAmD,EAAE;wBACtE,OAAO,EAAE,YAAY,CAAC,OAAO;wBAC7B,IAAI;wBACJ,IAAI;wBACJ,cAAc,EAAE,YAAY,CAAC,cAAc;qBAC5C,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;oBACtC,IAAI,aAAa,EAAE,CAAC;wBAClB,kBAAkB,GAAG,aAAa,CAChC,mCAAmC,CAAC,YAAY,CAAC,EACjD,iBAAiB,YAAY,CAAC,cAAc,4BAA4B,CACzE,CAAC;oBACJ,CAAC;oBACD,WAAW,CAAC,KAAK,EAAE,4CAA4C,EAAE;wBAC/D,OAAO,EAAE,YAAY,CAAC,OAAO;wBAC7B,IAAI;wBACJ,IAAI;wBACJ,cAAc,EAAE,YAAY,CAAC,cAAc;wBAC3C,MAAM,EAAE,yBAAyB;qBAClC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;oBACnC,WAAW,CAAC,KAAK,EAAE,0CAA0C,EAAE;wBAC7D,OAAO,EAAE,YAAY,CAAC,OAAO;wBAC7B,IAAI;wBACJ,IAAI;wBACJ,cAAc,EAAE,YAAY,CAAC,cAAc;wBAC3C,MAAM,EAAE,yBAAyB;qBAClC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,IAAI,kBAAkB,EAAE,CAAC;gBACvB,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACzF,CAAC;YACD,IAAI,eAAe;gBAAE,OAAO,UAAU,CAAC;YACvC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiB;gBAAE,OAAO,UAAU,CAAC;YAExD,IAAI,IAAI,KAAK,CAAC,IAAI,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC5H,IAAI,SAAS,GAAqC,EAAE,CAAC;gBACrD,IAAI,QAAQ,GAA6B,EAAE,CAAC;gBAC5C,IAAI,KAAK,CAAC;gBACV,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC;oBACxC,IAAI,CAAC;wBACH,SAAS,GAAG,wBAAwB,CAAC;4BACnC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;4BAClC,KAAK;4BACL,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG;4BAChC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;yBAClC,CAAC,CAAC;wBACH,QAAQ,GAAG,wBAAwB,CAAC;4BAClC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;4BAClC,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,KAAK;4BACL,OAAO;4BACP,IAAI;4BACJ,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG;yBACjC,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,KAAK,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;wBACjF,MAAM,CAAC,IAAI,CAAC,gEAAgE,KAAK,EAAE,CAAC,CAAC;wBACrF,SAAS,GAAG,EAAE,CAAC;wBACf,QAAQ,GAAG,EAAE,CAAC;oBAChB,CAAC;gBACH,CAAC;gBACD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;oBAChE,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE;wBAC1C,IAAI;wBACJ,IAAI;wBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;wBAChD,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4BACzC,OAAO,EAAE,IAAI;4BACb,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACnD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACjD,CAAC,CAAC;wBACH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;qBACjG,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,GAAG;wBACX,GAAG,UAAU;wBACb,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;qBAChE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK;gBAAE,OAAO,UAAU,CAAC;YACrD,IAAI,eAAe,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACvG,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACnB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,UAAU,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAErB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC/H,IAAI,gBAAgB,GAAG,UAAU,CAAC;YAClC,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,IAAI,wBAAmD,CAAC;YACxD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACjG,IAAI,gBAAgB,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC3C,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE;oBAC1C,IAAI;oBACJ,IAAI;oBACJ,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;oBACzB,UAAU,EAAE,gBAAgB,CAAC,UAAU;oBACvC,OAAO,EAAE,gBAAgB,CAAC,OAAO;iBAClC,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACtC,WAAW,CAAC,KAAK,EAAE,sBAAsB,EAAE;wBACzC,IAAI;wBACJ,IAAI;wBACJ,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,cAAc;qBAC3B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;oBAChE,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;oBAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,WAAW,CAAC,KAAK,EAAE,sBAAsB,EAAE;4BACzC,IAAI;4BACJ,IAAI;4BACJ,IAAI,EAAE,YAAY;4BAClB,MAAM,EAAE,UAAU;4BAClB,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB;4BACjF,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAChE,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;wBAC5G,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;4BACvC,GAAG,gBAAgB;4BACnB,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,SAAS;4BACjB,UAAU,EAAE,YAAY;yBACzB,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,cAAc,GAAG,oBAAoB,CAAiB,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,IAAI,OAAO,CAAC;wBAC5F,MAAM,gBAAgB,GAAG,eAAe,CACtC,YAAY,EACZ,cAAc,CAAC,aAAa,CAAC,UAAU,EACvC,cAAc,CAAC,kBAAkB,CAClC,CAAC;wBACF,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;wBAChF,MAAM,MAAM,GAAgC,SAAS;4BACnD,CAAC,CAAC,MAAM,aAAa,CAAC;gCAClB,SAAS;gCACT,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;gCACjC,QAAQ,EAAE,gBAAgB;gCAC1B,QAAQ,EAAE,0BAA0B,CAAC,QAAQ,CAAC;gCAC9C,YAAY,EAAE,gBAAgB;gCAC9B,KAAK;gCACL,MAAM;gCACN,SAAS,EAAE,aAAa;6BACzB,CAAC;4BACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gCACZ,MAAM,EAAE,UAAU;gCAClB,UAAU,EAAE,sBAAsB;gCAClC,MAAM,EAAE,EAAE;gCACV,KAAK,EAAE,mCAAmC;6BAC3C,CAAC,CAAC;wBACP,IAAI,MAAM,CAAC;wBACX,IAAI,WAAW,CAAC;wBAChB,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;4BAClC,IAAI,CAAC;gCACH,MAAM,GAAG,2BAA2B,CAClC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAC9C,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAC5B,CAAC;4BACJ,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BACvE,CAAC;wBACH,CAAC;wBACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,CAAC;wBACxE,WAAW,CAAC,KAAK,EAAE,sBAAsB,EAAE;4BACzC,IAAI;4BACJ,IAAI;4BACJ,IAAI,EAAE,YAAY;4BAClB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;4BAC5C,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;4BAChG,WAAW,EAAE,aAAa,CAAC,MAAM;4BACjC,YAAY,EAAE,CAAC,SAAS;4BACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;4BAC7C,cAAc,EAAE,aAAa;4BAC7B,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACpF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAClE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACnF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAChG,CAAC,CAAC;wBACH,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;4BACxB,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;4BAClD,gBAAgB,GAAG;gCACjB,GAAG,UAAU;gCACb,QAAQ,EAAE;oCACR,GAAG,gBAAgB,CAAC,QAAQ;oCAC5B,aAAa,CACX,kBAAkB,EAClB,mDAAmD,MAAM,CAAC,WAAW,WAAW,CACjF;iCACF;6BACF,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,GAAG,wBAAwB,IAAI,WAAW,CAAC;gBACrD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY,EAAE,0BAA0B;aACzC,CAAC,CAAC;YACH,IAAI,SAAS,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC;YACrD,MAAM,sBAAsB,GAAG,iBAAiB,EAAE,cAAc,KAAK,SAAS;gBAC5E,CAAC,CAAC;oBACE,wCAAwC;oBACxC,IAAI,CAAC,SAAS,CAAC;wBACb,cAAc,EAAE,iBAAiB,CAAC,cAAc;wBAChD,GAAG,EAAE,iBAAiB,CAAC,GAAG;wBAC1B,cAAc,EAAE,iBAAiB,CAAC,cAAc;wBAChD,YAAY,EAAE,iBAAiB,CAAC,YAAY;qBAC7C,EAAE,SAAS,EAAE,CAAC,CAAC;oBAChB,EAAE;oBACF,oBAAoB;oBACpB,QAAQ;iBACT,CAAC,IAAI,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,QAAQ,CAAC;YACb,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,sBAAsB,OAAO,kBAAkB,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;YACxH,IAAI,WAAW,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ;gBAC5C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE;oBACrD,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7F,CAAC,CAAC;YACP,MAAM,uBAAuB,GAAG,iBAAiB,EAAE,cAAc,KAAK,UAAU;mBAC3E,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAChF,IAAI,qBAAqB,CAAC;YAC1B,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;mBAC7B,SAAS,KAAK,UAAU;mBACxB,QAAQ,CAAC,MAAM,KAAK,UAAU;mBAC9B,qBAAqB,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO;mBACpH,WAAW;mBACX,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC7B,qBAAqB,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAC7C,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;oBACvB,GAAG,QAAQ;oBACX,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,UAAU;oBACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,gCAAgC,EAAE,yBAAyB,CAAC,CAAC;iBAC3G,CAAC,CAAC;gBACH,SAAS,GAAG,UAAU,CAAC;YACzB,CAAC;YACD,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;mBAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;uBAChC,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACrG,MAAM,0BAA0B,GAAG,SAAS,KAAK,UAAU,IAAI,WAAW,KAAK,SAAS;mBACnF,CAAC,WAAW,CAAC,UAAU,IAAI,wBAAwB,CAAC;YACzD,MAAM,+BAA+B,GAAG,0BAA0B,IAAI,uBAAuB,CAAC;YAC9F,WAAW,CAAC,KAAK,EAAE,oBAAoB,EAAE;gBACvC,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACtB,WAAW,EAAE,iBAAiB,CAAC,WAAW;oBAC1C,GAAG,EAAE,iBAAiB,CAAC,GAAG;oBAC1B,YAAY,EAAE,iBAAiB,CAAC,YAAY;oBAC5C,cAAc,EAAE,iBAAiB,CAAC,cAAc;iBACjD,CAAC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC,CAAC;YACH,IAAI,iBAAiB,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACrD,WAAW,CAAC,KAAK,EAAE,kCAAkC,EAAE;oBACrD,IAAI;oBACJ,IAAI;oBACJ,cAAc,EAAE,iBAAiB,CAAC,cAAc;oBAChD,WAAW,EAAE,iBAAiB,CAAC,WAAW;oBAC1C,WAAW,EAAE,QAAQ,CAAC,MAAM;oBAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC,qBAAqB;oBAAE,OAAO,gBAAgB,CAAC;gBACpD,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrF,IAAI,+BAA+B;oBAAE,OAAO,gBAAgB,CAAC;gBAC7D,WAAW,CAAC,KAAK,EAAE,oBAAoB,EAAE;oBACvC,IAAI;oBACJ,IAAI;oBACJ,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,cAAc,EAAE,WAAW,CAAC,cAAc;oBAC1C,aAAa,EAAE,WAAW,CAAC,aAAa;oBACxC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;oBAChD,eAAe,EAAE,qBAAqB,CAAC,eAAe;oBACtD,SAAS,EAAE,qBAAqB,CAAC,SAAS;oBAC1C,SAAS,EAAE,qBAAqB,CAAC,SAAS;oBAC1C,UAAU,EAAE,qBAAqB,CAAC,UAAU;oBAC5C,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,UAAU,EAAE,KAAK;iBAClB,CAAC,CAAC;gBACH,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE;oBACtC,IAAI;oBACJ,IAAI;oBACJ,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,yBAAyB;oBACrC,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;gBACH,IAAI,iBAAiB,EAAE,cAAc,KAAK,UAAU,EAAE,CAAC;oBACrD,WAAW,CAAC,KAAK,EAAE,kCAAkC,EAAE;wBACrD,IAAI;wBACJ,IAAI;wBACJ,cAAc,EAAE,UAAU;wBAC1B,WAAW,EAAE,iBAAiB,CAAC,WAAW;wBAC1C,aAAa,EAAE,WAAW,CAAC,MAAM;wBACjC,cAAc,EAAE,WAAW,CAAC,cAAc;wBAC1C,UAAU,EAAE,kCAAkC;qBAC/C,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE;wBACR,GAAG,gBAAgB,CAAC,QAAQ;wBAC5B,aAAa,CACX;4BACE,qFAAqF,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI;4BAC9H,yBAAyB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG;4BACnE,iBAAiB,EAAE,cAAc,KAAK,UAAU;gCAC9C,CAAC,CAAC,gNAAgN;gCAClN,CAAC,CAAC,2IAA2I;4BAC/I,uMAAuM;yBACxM,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,oEAAoE,CACrE;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE;wBACR,GAAG,gBAAgB,CAAC,QAAQ;wBAC5B,aAAa,CACX,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACtC,iBAAiB,SAAS,SAAS,QAAQ,CAAC,UAAU,GAAG,CAC1D;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC/C,WAAW,CAAC,KAAK,EAAE,2BAA2B,EAAE;oBAC9C,IAAI;oBACJ,IAAI;oBACJ,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;oBACzB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;oBAClD,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtD,CAAC,CAAC;gBACH,IAAI,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,iBAAiB,CACf,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAChE,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS,KAAK,UAAU;oBAAE,OAAO,gBAAgB,CAAC;gBACtD,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE;wBACR,GAAG,gBAAgB,CAAC,QAAQ;wBAC5B,aAAa,CACX,8BAA8B,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAC9E,QAAQ,SAAS,aAAa,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAC7E;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,oBAAoB,CAAiB,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,IAAI,OAAO,CAAC;YACxF,MAAM,qBAAqB,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,qBAAqB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;YACtG,IAAI,qBAAqB,GAAG,KAAK,CAAC;YAClC,IAAI,SAAS,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,CAAC,SAAqB,EAAE,eAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,EAC/G,SAAS,EACT,MAAM,CACP,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,CAAC,MAAM,EAChB,MAAM,CAAC,OAAO,EACd,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CACrC,CAAC;oBACF,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE;wBACtC,IAAI;wBACJ,IAAI;wBACJ,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,UAAU;wBAClB,UAAU,EAAE,wBAAwB;wBACpC,WAAW,EAAE,SAAS,CAAC,MAAM;wBAC7B,YAAY,EAAE,IAAI;wBAClB,cAAc,EAAE,SAAS;wBACzB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;wBAChC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;wBAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;qBACtC,CAAC,CAAC;oBACH,OAAO;wBACL,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE;4BACR,GAAG,gBAAgB,CAAC,QAAQ;4BAC5B,aAAa,CACX;gCACE,mDAAmD,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI;gCACrG,oMAAoM;gCACpM,EAAE;gCACF,kDAAkD;gCAClD,YAAY;6BACb,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,0DAA0D,CAC3D;yBACF;qBACF,CAAC;gBACJ,CAAC;gBACD,qBAAqB,GAAG,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC;YACvD,CAAC;YACD,WAAW,KAAK,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE;gBACrE,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7F,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/F,MAAM,cAAc,GAAG,YAAY,KAAK,WAAW,CAAC;YACpD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACpE,WAAW,CAAC,KAAK,EAAE,oBAAoB,EAAE;gBACvC,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,aAAa,EAAE,WAAW,CAAC,aAAa;gBACxC,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;gBAChD,wBAAwB,EAAE,WAAW,CAAC,QAAQ,CAAC,wBAAwB;gBACvE,sBAAsB,EAAE,WAAW,CAAC,QAAQ,CAAC,sBAAsB;gBACnE,0BAA0B,EAAE,WAAW,CAAC,QAAQ,CAAC,0BAA0B;gBAC3E,qBAAqB,EAAE,WAAW,CAAC,QAAQ,CAAC,qBAAqB;gBACjE,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,eAAe;gBACrD,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS;gBACzC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS;gBACzC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;gBAC3C,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,UAAU,EAAE,WAAW,CAAC,UAAU;aACnC,CAAC,CAAC;YAEH,IAAI,SAAS,KAAK,UAAU,IAAI,YAAY,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBACtH,IAAI,+BAA+B;oBAAE,OAAO,gBAAgB,CAAC;gBAC7D,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE;oBACtC,IAAI;oBACJ,IAAI;oBACJ,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,yBAAyB;oBACrC,aAAa,EAAE,WAAW,CAAC,MAAM;iBAClC,CAAC,CAAC;gBACH,IAAI,iBAAiB,EAAE,cAAc,KAAK,UAAU,EAAE,CAAC;oBACrD,WAAW,CAAC,KAAK,EAAE,kCAAkC,EAAE;wBACrD,IAAI;wBACJ,IAAI;wBACJ,cAAc,EAAE,UAAU;wBAC1B,WAAW,EAAE,iBAAiB,CAAC,WAAW;wBAC1C,aAAa,EAAE,WAAW,CAAC,MAAM;wBACjC,cAAc,EAAE,WAAW,CAAC,cAAc;wBAC1C,UAAU,EAAE,kCAAkC;qBAC/C,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE;wBACR,GAAG,gBAAgB,CAAC,QAAQ;wBAC5B,aAAa,CACX;4BACE,iFAAiF,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI;4BACzH,yBAAyB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG;4BACnE,iBAAiB,EAAE,cAAc,KAAK,UAAU;gCAC9C,CAAC,CAAC,4HAA4H;gCAC9H,CAAC,CAAC,oJAAoJ;4BACxJ,sCAAsC;yBACvC,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,6CAA6C,CAC9C;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;gBAC9G,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;oBACpD,IAAI;oBACJ,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,QAAQ;oBACR,cAAc,EAAE,qBAAqB;oBACrC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,0BAA0B,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/F,CAAC,CAAC;gBACH,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBACrD,IAAI,KAAK,EAAE,OAAO;oBAAE,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACxE,WAAW,CAAC,KAAK,EAAE,mCAAmC,EAAE,+BAA+B,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC9G,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9D,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,wBAAwB,SAAS,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACzH,CAAC;gBACD,WAAW,CAAC,KAAK,EAAE,oBAAoB,EAAE;oBACvC,IAAI;oBACJ,IAAI;oBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,UAAU,EAAE,SAAS;oBACrB,MAAM,EAAE,WAAW;oBACnB,qBAAqB,EAAE,mBAAmB,CAAC,EAAE;oBAC7C,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,0BAA0B,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9F,kBAAkB,EAAE,mBAAmB,CAAC,kBAAkB;oBAC1D,UAAU,EAAE,mBAAmB,CAAC,UAAU;oBAC1C,WAAW,EAAE,SAAS,CAAC,MAAM;oBAC7B,cAAc,EAAE,SAAS;oBACzB,aAAa,EAAE,WAAW,CAAC,MAAM;oBACjC,WAAW;oBACX,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5D,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,SAAS,KAAK,UAAU;oBAC9C,CAAC,CAAC,uDAAuD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,iFAAiF;oBAC9K,CAAC,CAAC,kHAAkH,CAAC;gBACvH,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE;wBACR,GAAG,gBAAgB,CAAC,QAAQ;wBAC5B,aAAa,CACX;4BACE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC;4BACzE,EAAE;4BACF,0BAA0B,WAAW,CAAC,MAAM,EAAE;4BAC9C,eAAe;4BACf,EAAE;4BACF,GAAG,SAAS,2BAA2B;4BACvC,YAAY;yBACb,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,mCAAmC,QAAQ,CAAC,UAAU,GAAG,CAC1D;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS;gBACpD,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1F,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,MAAM,MAAM,GAAgC,SAAS;gBACnD,CAAC,CAAC,MAAM,aAAa,CAAC;oBAClB,SAAS;oBACT,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;oBACjC,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,uBAAuB,CAAC,WAAW,CAAC;oBAC9C,YAAY;oBACZ,KAAK;oBACL,MAAM;oBACN,SAAS;iBACV,CAAC;gBACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBACZ,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,sBAAsB;oBAClC,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,mCAAmC;iBAC3C,CAAC,CAAC;YACP,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE;gBACtC,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,WAAW,EAAE,SAAS,CAAC,MAAM;gBAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW;gBAC3C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,cAAc,EAAE,SAAS;gBACzB,aAAa,EAAE,WAAW,CAAC,MAAM;gBACjC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzD,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC/F,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE;wBACR,GAAG,gBAAgB,CAAC,QAAQ;wBAC5B,aAAa,CACX,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,4BAA4B,WAAW,CAAC,MAAM,OAAO,SAAS,aAAa,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,EACtH,kBAAkB,SAAS,QAAQ,EACnC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,CACxD;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC;YAClD,IAAI,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACrD,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACrF,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE;oBACR,GAAG,gBAAgB,CAAC,QAAQ;oBAC5B,aAAa,CACX,wBAAwB,CAAC,kBAAkB,EAAE,OAAO,CAAC,EACrD,4BAA4B,CAAC,kBAAkB,CAAC;wBAC9C,CAAC,CAAC,4BAA4B,SAAS,WAAW;wBAClD,CAAC,CAAC,uBAAuB,SAAS,QAAQ,CAC7C;iBACF;aACF,CAAC;QACJ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACxB,CAAC;AAGH,CAAC"}
@@ -1,12 +1,30 @@
1
1
  import type { DshAgent, RuntimeTool, ToolExecution } from "./runtime-types.mjs";
2
2
  export declare const RESPONSIBILITY_GAP_PROMPT: string;
3
3
  declare const RESPONSIBILITIES: readonly string[];
4
+ declare const REQUIREMENT_STATUSES: readonly ["active", "superseded"];
4
5
  export type Responsibility = (typeof RESPONSIBILITIES)[number];
6
+ export type RequirementStatus = (typeof REQUIREMENT_STATUSES)[number];
7
+ export interface RequirementDecision {
8
+ readonly id: string;
9
+ readonly statement: string;
10
+ readonly status: RequirementStatus;
11
+ readonly sourceExcerpt: string;
12
+ readonly supersededBy?: string;
13
+ readonly sourceMessageId?: string;
14
+ readonly sourceOrder?: number;
15
+ }
16
+ export interface RequirementSourceCandidate {
17
+ readonly messageId: string;
18
+ readonly text: string;
19
+ readonly order: number;
20
+ }
21
+ export declare function isBoundRequirementLedger(value: unknown): value is readonly RequirementDecision[] | undefined;
5
22
  export interface ResponsibilityGapProposal {
6
23
  readonly responsibility: Responsibility;
7
24
  readonly gap: string;
8
25
  readonly evidenceRefs: readonly string[];
9
26
  readonly expectedChange: string;
27
+ readonly requirements?: readonly RequirementDecision[];
10
28
  readonly question?: string;
11
29
  readonly taskMessageId?: string;
12
30
  readonly stateDigest: string;
@@ -18,7 +36,7 @@ export interface ResponsibilityGapResult {
18
36
  next: string;
19
37
  }
20
38
  export declare function resolveResponsibilityGap(value: unknown): Readonly<ResponsibilityGapProposal>;
21
- export declare function bindResponsibilityGapToTask(proposal: Readonly<ResponsibilityGapProposal>, taskMessageId: string): Readonly<ResponsibilityGapProposal>;
39
+ export declare function bindResponsibilityGapToTask(proposal: Readonly<ResponsibilityGapProposal>, taskMessageId: string, sources?: readonly RequirementSourceCandidate[]): Readonly<ResponsibilityGapProposal>;
22
40
  export interface ResponsibilityGapToolOptions {
23
41
  isChild?(agent: DshAgent): boolean;
24
42
  bindToTask?(agent: DshAgent, proposal: Readonly<ResponsibilityGapProposal>): Readonly<ResponsibilityGapProposal>;
@@ -1 +1 @@
1
- {"version":3,"file":"responsibility-gap.d.mts","sourceRoot":"","sources":["../src/responsibility-gap.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGhF,eAAO,MAAM,yBAAyB,QAQ1B,CAAC;AAEb,QAAA,MAAM,gBAAgB,mBAAiD,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,IAAI,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAeD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAsB5F;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAC7C,aAAa,EAAE,MAAM,GACpB,QAAQ,CAAC,yBAAyB,CAAC,CAMrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACjH,UAAU,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;CAC7G;AAED,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,4BAAiC,GACzC,WAAW,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAqD/C"}
1
+ {"version":3,"file":"responsibility-gap.d.mts","sourceRoot":"","sources":["../src/responsibility-gap.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGhF,eAAO,MAAM,yBAAyB,QAS1B,CAAC;AAEb,QAAA,MAAM,gBAAgB,mBAAiD,CAAC;AACxE,QAAA,MAAM,oBAAoB,mCAAmD,CAAC;AAI9E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,mBAAmB,EAAE,GAAG,SAAS,CAqC5G;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,IAAI,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AA2ED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CA2B5F;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAC7C,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,SAAS,0BAA0B,EAAO,GAClD,QAAQ,CAAC,yBAAyB,CAAC,CAmCrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACjH,UAAU,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;CAC7G;AAED,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,4BAAiC,GACzC,WAAW,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAoE/C"}
@@ -3,18 +3,132 @@ import { CONFIGURABLE_ROLES } from "./routing-config.mjs";
3
3
  import { isUnknownRecord } from "./runtime-types.mjs";
4
4
  export const RESPONSIBILITY_GAP_PROMPT = [
5
5
  "## Odai responsibility gaps",
6
- "Users provide goals, constraints, materials, and acceptance; they never need to request internal roles or handoffs.",
7
- "Keep work direct when the controller can close it reliably. Call odai_responsibility_gap only when current evidence shows an independent capability or user-decision gap that can change a concrete result; keywords, complexity, risk, configured models, and price are insufficient. The runtime decides direct, inline, same-turn, child, or user-question handling.",
8
- "Independently deployed contracts, authentication or state-machine changes, rollout-order compatibility, and rollback boundaries are concrete planner gaps when a separate plan can change implementation or acceptance; do not reduce them to task complexity.",
9
- "evidenceRefs identify the proposal state for audit and deduplication; they never replace native acceptance, write, diff, or test evidence required by a routed reviewer.",
10
- "The runtime binds every proposal to the latest authenticated direct-user task. A later user message must explicitly continue that task; otherwise the older pending proposal is superseded.",
11
- "Use responsibility=user only for a missing user-owned choice, priority, or unacceptable outcome, then ask exactly the accepted concise question. Do not ask users for repository facts or implementation details the project can determine. Do not resubmit unchanged state.",
6
+ "Users own goals, constraints, materials, and acceptance; they never request internal roles.",
7
+ "Keep direct when the controller can close. Call odai_responsibility_gap only for an evidence-grounded independent capability or user-decision gap that can change the result; keywords, complexity, risk, model config, or price do not qualify. Runtime chooses dispatch.",
8
+ "Independently deployed contracts, auth/state-machine changes, rollout compatibility, and rollback boundaries are planner gaps when separate planning can change implementation or acceptance.",
9
+ "evidenceRefs deduplicate and audit the proposal; they never replace native acceptance, write, diff, or test evidence for review.",
10
+ "For coverage-sensitive planner/reviewer gaps, include exact user excerpts; replace only explicit conflicts and keep other requirements active. Runtime verifies source/order, never prose conflicts.",
11
+ "Runtime binds the proposal to the latest authenticated direct-user task; later text must be a pure continuation, while an explicit revision supersedes it.",
12
+ "Use responsibility=user only for a missing user-owned choice, priority, or unacceptable outcome, then ask the accepted concise question. Never ask repository facts or resubmit unchanged state.",
12
13
  ].join("\n");
13
14
  const RESPONSIBILITIES = Object.freeze([...CONFIGURABLE_ROLES, "user"]);
14
- function nonEmpty(value, field) {
15
+ const REQUIREMENT_STATUSES = Object.freeze(["active", "superseded"]);
16
+ const REQUIREMENT_FIELDS = Object.freeze(["id", "statement", "status", "sourceExcerpt", "supersededBy"]);
17
+ const BOUND_REQUIREMENT_FIELDS = new Set([...REQUIREMENT_FIELDS, "sourceMessageId", "sourceOrder"]);
18
+ const MAX_REQUIREMENT_CHARS = 4_000;
19
+ export function isBoundRequirementLedger(value) {
20
+ if (value === undefined)
21
+ return true;
22
+ if (!Array.isArray(value) || value.length === 0 || value.length > 12)
23
+ return false;
24
+ const requirements = value.filter(isUnknownRecord);
25
+ if (requirements.length !== value.length
26
+ || new Set(requirements.map((requirement) => requirement.id)).size !== requirements.length
27
+ || JSON.stringify(requirements).length > MAX_REQUIREMENT_CHARS)
28
+ return false;
29
+ const byId = new Map(requirements.map((requirement) => [requirement.id, requirement]));
30
+ const orderByMessageId = new Map();
31
+ const messageIdByOrder = new Map();
32
+ for (const requirement of requirements) {
33
+ if (Object.keys(requirement).some((key) => !BOUND_REQUIREMENT_FIELDS.has(key))
34
+ || typeof requirement.id !== "string" || !/^[A-Za-z][A-Za-z0-9_-]*$/u.test(requirement.id) || requirement.id.length > 64
35
+ || typeof requirement.statement !== "string" || requirement.statement.trim() === "" || requirement.statement.length > 1_200
36
+ || !["active", "superseded"].includes(String(requirement.status))
37
+ || typeof requirement.sourceExcerpt !== "string" || requirement.sourceExcerpt.trim() === "" || requirement.sourceExcerpt.length > 1_200
38
+ || typeof requirement.sourceMessageId !== "string" || requirement.sourceMessageId.trim() === ""
39
+ || !Number.isSafeInteger(requirement.sourceOrder) || Number(requirement.sourceOrder) < 0)
40
+ return false;
41
+ const sourceMessageId = String(requirement.sourceMessageId);
42
+ const sourceOrder = Number(requirement.sourceOrder);
43
+ const priorOrder = orderByMessageId.get(sourceMessageId);
44
+ const priorMessageId = messageIdByOrder.get(sourceOrder);
45
+ if ((priorOrder !== undefined && priorOrder !== sourceOrder)
46
+ || (priorMessageId !== undefined && priorMessageId !== sourceMessageId))
47
+ return false;
48
+ orderByMessageId.set(sourceMessageId, sourceOrder);
49
+ messageIdByOrder.set(sourceOrder, sourceMessageId);
50
+ if (requirement.status === "active" && requirement.supersededBy !== undefined)
51
+ return false;
52
+ if (requirement.status === "superseded") {
53
+ const replacement = byId.get(requirement.supersededBy);
54
+ if (typeof requirement.supersededBy !== "string"
55
+ || requirement.supersededBy.trim() === "" || requirement.supersededBy.length > 64
56
+ || requirement.supersededBy === requirement.id
57
+ || !replacement
58
+ || Number(requirement.sourceOrder) >= Number(replacement.sourceOrder))
59
+ return false;
60
+ }
61
+ }
62
+ return true;
63
+ }
64
+ function nonEmpty(value, field, maxLength = Number.POSITIVE_INFINITY) {
15
65
  if (typeof value !== "string" || value.trim() === "")
16
66
  throw new TypeError(`${field} must be a non-empty string`);
17
- return value.trim();
67
+ const normalized = value.trim();
68
+ if (normalized.length > maxLength)
69
+ throw new TypeError(`${field} must be at most ${maxLength} characters`);
70
+ return normalized;
71
+ }
72
+ function exactFields(value, allowed, field) {
73
+ const unknown = Object.keys(value).filter((key) => !allowed.includes(key));
74
+ if (unknown.length > 0)
75
+ throw new TypeError(`${field} has unknown fields: ${unknown.join(", ")}`);
76
+ }
77
+ function requirementDecisions(value) {
78
+ if (value === undefined)
79
+ return undefined;
80
+ if (!Array.isArray(value) || value.length === 0 || value.length > 12) {
81
+ throw new TypeError("requirements must contain 1 to 12 decisions");
82
+ }
83
+ const requirements = value.map((raw, index) => {
84
+ if (!isUnknownRecord(raw))
85
+ throw new TypeError(`requirements[${index}] must be an object`);
86
+ exactFields(raw, REQUIREMENT_FIELDS, `requirements[${index}]`);
87
+ const id = nonEmpty(raw.id, `requirements[${index}].id`, 64);
88
+ if (!/^[A-Za-z][A-Za-z0-9_-]*$/u.test(id)) {
89
+ throw new TypeError(`requirements[${index}].id must start with a letter and contain only letters, digits, _ or -`);
90
+ }
91
+ const statement = nonEmpty(raw.statement, `requirements[${index}].statement`, 1_200);
92
+ const sourceExcerpt = nonEmpty(raw.sourceExcerpt, `requirements[${index}].sourceExcerpt`, 1_200);
93
+ if (typeof raw.status !== "string" || !REQUIREMENT_STATUSES.includes(raw.status)) {
94
+ throw new TypeError(`requirements[${index}].status must be active or superseded`);
95
+ }
96
+ const status = raw.status;
97
+ const supersededBy = raw.supersededBy === undefined
98
+ ? undefined
99
+ : nonEmpty(raw.supersededBy, `requirements[${index}].supersededBy`, 64);
100
+ if (status === "active" && supersededBy !== undefined) {
101
+ throw new TypeError(`requirements[${index}] active decisions cannot set supersededBy`);
102
+ }
103
+ if (status === "superseded" && supersededBy === undefined) {
104
+ throw new TypeError(`requirements[${index}] superseded decisions require supersededBy`);
105
+ }
106
+ return Object.freeze({ id, statement, status, sourceExcerpt, ...(supersededBy ? { supersededBy } : {}) });
107
+ });
108
+ if (JSON.stringify(requirements).length > MAX_REQUIREMENT_CHARS) {
109
+ throw new TypeError("requirements must contain at most 4000 serialized characters");
110
+ }
111
+ const byId = new Map(requirements.map((requirement) => [requirement.id, requirement]));
112
+ if (byId.size !== requirements.length)
113
+ throw new TypeError("requirements ids must be unique");
114
+ for (const requirement of requirements) {
115
+ if (requirement.status !== "superseded")
116
+ continue;
117
+ const seen = new Set();
118
+ let current = requirement;
119
+ while (current.status === "superseded") {
120
+ if (seen.has(current.id)) {
121
+ throw new TypeError(`requirement ${requirement.id}.supersededBy must form an acyclic chain ending at an active requirement`);
122
+ }
123
+ seen.add(current.id);
124
+ const replacement = byId.get(current.supersededBy ?? "");
125
+ if (!replacement || replacement.id === current.id) {
126
+ throw new TypeError(`requirement ${requirement.id}.supersededBy must form an acyclic chain ending at an active requirement`);
127
+ }
128
+ current = replacement;
129
+ }
130
+ }
131
+ return Object.freeze(requirements);
18
132
  }
19
133
  function stateDigest(value) {
20
134
  return createHash("sha256").update(JSON.stringify(value)).digest("hex");
@@ -25,7 +139,7 @@ function isResponsibility(value) {
25
139
  export function resolveResponsibilityGap(value) {
26
140
  if (!isUnknownRecord(value))
27
141
  throw new TypeError("responsibility gap must be an object");
28
- const unknownFields = Object.keys(value).filter((field) => !["responsibility", "gap", "evidenceRefs", "expectedChange", "question"].includes(field));
142
+ const unknownFields = Object.keys(value).filter((field) => !["responsibility", "gap", "evidenceRefs", "expectedChange", "requirements", "question"].includes(field));
29
143
  if (unknownFields.length > 0)
30
144
  throw new TypeError(`responsibility gap has unknown fields: ${unknownFields.join(", ")}`);
31
145
  if (!isResponsibility(value.responsibility))
@@ -36,6 +150,10 @@ export function resolveResponsibilityGap(value) {
36
150
  const evidenceRefs = value.evidenceRefs.map((entry, index) => nonEmpty(entry, `evidenceRefs[${index}]`));
37
151
  const gap = nonEmpty(value.gap, "gap");
38
152
  const expectedChange = nonEmpty(value.expectedChange, "expectedChange");
153
+ const requirements = requirementDecisions(value.requirements);
154
+ if (requirements && value.responsibility !== "planner" && value.responsibility !== "reviewer") {
155
+ throw new TypeError("requirements are only valid for planner or reviewer gaps");
156
+ }
39
157
  const question = value.question === undefined ? undefined : nonEmpty(value.question, "question");
40
158
  if (value.responsibility === "user" && question === undefined)
41
159
  throw new TypeError("question is required for a user decision gap");
@@ -46,16 +164,47 @@ export function resolveResponsibilityGap(value) {
46
164
  gap,
47
165
  evidenceRefs: Object.freeze(evidenceRefs),
48
166
  expectedChange,
167
+ ...(requirements === undefined ? {} : { requirements }),
49
168
  ...(question === undefined ? {} : { question }),
50
169
  };
51
170
  return Object.freeze({ ...proposal, stateDigest: stateDigest(proposal) });
52
171
  }
53
- export function bindResponsibilityGapToTask(proposal, taskMessageId) {
54
- const normalizedTaskMessageId = nonEmpty(taskMessageId, "taskMessageId");
55
- if (normalizedTaskMessageId.length > 200)
56
- throw new TypeError("taskMessageId must be at most 200 characters");
57
- const { stateDigest: _stateDigest, ...unbound } = proposal;
58
- const bound = { ...unbound, taskMessageId: normalizedTaskMessageId };
172
+ export function bindResponsibilityGapToTask(proposal, taskMessageId, sources = []) {
173
+ const normalizedTaskMessageId = nonEmpty(taskMessageId, "taskMessageId", 200);
174
+ const requirements = proposal.requirements?.map((requirement) => {
175
+ const matches = sources.filter((source) => source.text.includes(requirement.sourceExcerpt));
176
+ if (matches.length !== 1) {
177
+ throw new TypeError(`requirement ${requirement.id}.sourceExcerpt must match exactly one authenticated direct-user message; found ${matches.length}`);
178
+ }
179
+ const source = matches[0];
180
+ return Object.freeze({
181
+ ...requirement,
182
+ sourceMessageId: source.messageId,
183
+ sourceOrder: source.order,
184
+ });
185
+ });
186
+ if (requirements) {
187
+ if (JSON.stringify(requirements).length > MAX_REQUIREMENT_CHARS) {
188
+ throw new TypeError("bound requirements must contain at most 4000 serialized characters");
189
+ }
190
+ const byId = new Map(requirements.map((requirement) => [requirement.id, requirement]));
191
+ for (const requirement of requirements) {
192
+ if (requirement.status !== "superseded")
193
+ continue;
194
+ const replacement = byId.get(requirement.supersededBy ?? "");
195
+ if (!replacement || (requirement.sourceOrder ?? -1) >= (replacement.sourceOrder ?? -1)) {
196
+ throw new TypeError(`requirement ${requirement.id} must precede its replacement ${requirement.supersededBy}`);
197
+ }
198
+ }
199
+ if (!isBoundRequirementLedger(requirements))
200
+ throw new TypeError("bound requirements contain inconsistent source provenance");
201
+ }
202
+ const { stateDigest: _stateDigest, requirements: _requirements, ...unbound } = proposal;
203
+ const bound = {
204
+ ...unbound,
205
+ taskMessageId: normalizedTaskMessageId,
206
+ ...(requirements === undefined ? {} : { requirements: Object.freeze(requirements) }),
207
+ };
59
208
  return Object.freeze({ ...bound, stateDigest: stateDigest(bound) });
60
209
  }
61
210
  export function createResponsibilityGapTool(options = {}) {
@@ -64,7 +213,7 @@ export function createResponsibilityGapTool(options = {}) {
64
213
  const onProposed = typeof options.onProposed === "function" ? options.onProposed : () => { };
65
214
  return {
66
215
  name: "odai_responsibility_gap",
67
- description: "Submit one evidence-grounded responsibility or user-decision gap discovered from the current task state. Users never call this tool or name internal roles. Use it only when the gap can change the result; keywords, complexity, risk, configured models, and lower price are insufficient. The runtime decides direct, inline, same-turn, child, or user-question handling.",
216
+ description: "Record a controller-owned responsibility or user-decision gap that can change the result.",
68
217
  parameters: {
69
218
  type: "object",
70
219
  additionalProperties: false,
@@ -74,6 +223,21 @@ export function createResponsibilityGapTool(options = {}) {
74
223
  gap: { type: "string" },
75
224
  evidenceRefs: { type: "array", items: { type: "string" } },
76
225
  expectedChange: { type: "string" },
226
+ requirements: {
227
+ type: "array",
228
+ items: {
229
+ type: "object",
230
+ additionalProperties: false,
231
+ required: ["id", "statement", "status", "sourceExcerpt"],
232
+ properties: {
233
+ id: { type: "string" },
234
+ statement: { type: "string" },
235
+ status: { type: "string", enum: [...REQUIREMENT_STATUSES] },
236
+ sourceExcerpt: { type: "string" },
237
+ supersededBy: { type: "string" },
238
+ },
239
+ },
240
+ },
77
241
  question: { type: "string" },
78
242
  },
79
243
  },
@@ -1 +1 @@
1
- {"version":3,"file":"responsibility-gap.mjs","sourceRoot":"","sources":["../src/responsibility-gap.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responsibility-gap.mjs","sourceRoot":"","sources":["../src/responsibility-gap.mts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ This responsibility is always read-only. In child dispatch, return JSON only, wi
7
7
  This responsibility is read-only in both dispatch modes. Child dispatch receives a bounded packet and returns its plan to the controller automatically. Same-turn dispatch retains the current conversation and project context; when complete it must call odai_responsibility_return with target=controller instead of emitting a terminal response. When the user-persisted planner mapping explicitly includes maxTokens, that responsibility ceiling overrides the controller ceiling only inside a same-turn scope. Do not implement or edit. For plan-only work, a new task, expanded scope, or missing user-owned authorization, return to controller for the minimum user decision.`,
8
8
  reviewer: `## DSH reviewer execution boundary
9
9
 
10
- Child dispatch starts only from a bounded, hash-addressed packet that contains verified tool evidence. The child's effective request header must match its configured route before its output is accepted. Same-turn dispatch is a read-only non-independent check; it must call odai_responsibility_return with target=controller and must never claim independent acceptance. Without a sufficient child packet, the recorded reviewer gap remains pending for silent reassessment after new acceptance, write, diff, test, check, failure, or host-evidence diagnostics; report the missing packet only once for that proposal. A controller-local or same-turn check may guide evidence gathering, but it must not stop the authorized task solely to ask the user for artifacts the project can produce.`,
10
+ Child dispatch starts only from a bounded, hash-addressed packet that contains verified tool evidence. A frozen requirements ledger, when present, contains controller-normalized decisions whose exact excerpts and ordering were verified against authenticated direct-user messages; that source binding does not prove the normalized meaning or replacement semantics. Check each claimed replacement against its excerpts, and use only active entries for coverage after that check. Without the ledger, do not infer coverage from controller prose or supersede requirements yourself. The child's effective request header must match its configured route before its output is accepted. Same-turn dispatch is a read-only non-independent check; it must call odai_responsibility_return with target=controller and must never claim independent acceptance. Without a sufficient child packet, the recorded reviewer gap remains pending for silent reassessment after new acceptance, write, diff, test, check, failure, or host-evidence diagnostics; report the missing packet only once for that proposal. A controller-local or same-turn check may guide evidence gathering, but it must not stop the authorized task solely to ask the user for artifacts the project can produce.`,
11
11
  frontend: `## DSH frontend execution boundary
12
12
 
13
13
  Same-turn dispatch runs in one bounded controller responsibility scope, is not an independent child, retains the active conversation, workspace, dev-server, and browser context, and may perform the authorized frontend implementation. Child dispatch is read-only design responsibility: inspect the bounded packet, return concrete design, interaction, state, and acceptance guidance, and leave all edits, shell work, dev-server control, browser execution, and final delivery to the controller. DSH may use a user-persisted frontend provider/model/reasoning route and, only when that mapping explicitly includes maxTokens, apply that responsibility ceiling inside a same-turn scope or child request. The runtime compares the effective DSH request header with that mapping and records an applied, mismatch, or unverified receipt; configuration and self-report are not routing evidence.`,
@@ -1 +1 @@
1
- {"version":3,"file":"role-overlays.mjs","sourceRoot":"","sources":["../src/role-overlays.mts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACxE,UAAU,EAAE;;g8BAEk7B;IAC97B,OAAO,EAAE;;6pBAEkpB;IAC3pB,QAAQ,EAAE;;8wBAEkwB;IAC5wB,QAAQ,EAAE;;k3BAEs2B;CACj3B,CAAC,CAAC;AAMH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,iBAA0B,EAC1B,kBAAkB,GAA2B,EAAE;IAE/C,MAAM,SAAS,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,yCAAyC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,IAAI,KAAK,UAAU,IAAI,OAAO,kBAAkB,CAAC,KAAK,KAAK,QAAQ;QAC/E,CAAC,CAAC,mCAAmC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;QACtE,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"role-overlays.mjs","sourceRoot":"","sources":["../src/role-overlays.mts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACxE,UAAU,EAAE;;g8BAEk7B;IAC97B,OAAO,EAAE;;6pBAEkpB;IAC3pB,QAAQ,EAAE;;uuCAE2tC;IACruC,QAAQ,EAAE;;k3BAEs2B;CACj3B,CAAC,CAAC;AAMH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,iBAA0B,EAC1B,kBAAkB,GAA2B,EAAE;IAE/C,MAAM,SAAS,GAAG,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,yCAAyC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,IAAI,KAAK,UAAU,IAAI,OAAO,kBAAkB,CAAC,KAAK,KAAK,QAAQ;QAC/E,CAAC,CAAC,mCAAmC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;QACtE,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC"}
@@ -53,6 +53,7 @@ export declare const FRONTEND_SPECIALIST_REASON = "FRONTEND_SUBSTANTIAL_INTERFAC
53
53
  export declare const OUTPUT_LIMIT_CONTINUATION_REASON = "RESPONSIBILITY_OUTPUT_LIMIT_CONTINUATION";
54
54
  export declare function classifyResponsibilityInterruptionText(text: unknown): "continue" | "preserve" | "clear";
55
55
  export declare function classifyPendingReviewerText(text: unknown): "continue" | "supersede" | "dormant";
56
+ export declare function hasExplicitRequestRevision(text: unknown): boolean;
56
57
  export declare function isExecutionContinuation(text: string): boolean;
57
58
  export declare function classifyImplementationAuthorization(text: unknown): Readonly<ImplementationAuthorization>;
58
59
  export declare function decideResearchPrefetch(input?: RouteDecisionInput): Readonly<RouteDecision>;