@mmnto/cli 1.101.2 → 1.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/commands/init-detect.js +1 -1
  2. package/dist/commands/init-detect.js.map +1 -1
  3. package/dist/commands/init-detect.test.js +2 -1
  4. package/dist/commands/init-detect.test.js.map +1 -1
  5. package/dist/commands/init-templates.d.ts.map +1 -1
  6. package/dist/commands/init-templates.js +118 -9
  7. package/dist/commands/init-templates.js.map +1 -1
  8. package/dist/commands/init.test.js +186 -5
  9. package/dist/commands/init.test.js.map +1 -1
  10. package/dist/commands/review-fan.d.ts +9 -3
  11. package/dist/commands/review-fan.d.ts.map +1 -1
  12. package/dist/commands/review-fan.js +131 -16
  13. package/dist/commands/review-fan.js.map +1 -1
  14. package/dist/commands/review-fan.test.js +246 -7
  15. package/dist/commands/review-fan.test.js.map +1 -1
  16. package/dist/commands/shield-nonreview.test.d.ts +24 -0
  17. package/dist/commands/shield-nonreview.test.d.ts.map +1 -0
  18. package/dist/commands/shield-nonreview.test.js +175 -0
  19. package/dist/commands/shield-nonreview.test.js.map +1 -0
  20. package/dist/commands/shield.d.ts +33 -7
  21. package/dist/commands/shield.d.ts.map +1 -1
  22. package/dist/commands/shield.js +96 -50
  23. package/dist/commands/shield.js.map +1 -1
  24. package/dist/commands/shield.test.js +69 -2
  25. package/dist/commands/shield.test.js.map +1 -1
  26. package/dist/hook/schema.d.ts +2 -2
  27. package/dist/orchestrators/orchestrator.d.ts +86 -1
  28. package/dist/orchestrators/orchestrator.d.ts.map +1 -1
  29. package/dist/orchestrators/orchestrator.js +277 -9
  30. package/dist/orchestrators/orchestrator.js.map +1 -1
  31. package/dist/orchestrators/orchestrator.test.js +240 -4
  32. package/dist/orchestrators/orchestrator.test.js.map +1 -1
  33. package/dist/orchestrators/shell-orchestrator.d.ts +12 -1
  34. package/dist/orchestrators/shell-orchestrator.d.ts.map +1 -1
  35. package/dist/orchestrators/shell-orchestrator.js +256 -49
  36. package/dist/orchestrators/shell-orchestrator.js.map +1 -1
  37. package/dist/orchestrators/shell-orchestrator.test.js +252 -4
  38. package/dist/orchestrators/shell-orchestrator.test.js.map +1 -1
  39. package/dist/utils.d.ts +18 -1
  40. package/dist/utils.d.ts.map +1 -1
  41. package/dist/utils.js +389 -108
  42. package/dist/utils.js.map +1 -1
  43. package/dist/utils.test.js +406 -14
  44. package/dist/utils.test.js.map +1 -1
  45. package/package.json +2 -2
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAiB5B,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,YAAY,EACZ,0CAA0C,EAC1C,mCAAmC,EACnC,kCAAkC,EAClC,WAAW,EACX,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAOtB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAEpC,4DAA4D;AAE5D,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEzC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAEnD,yCAAyC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO;IAEpC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,4DAA4D;AAC5D,OAAO,EAAE,YAAY,EAAE,CAAC;AAIxB,wFAAwF;AACxF,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,OAAgB;IAC7D,gCAAgC;IAChC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IAED,oCAAoC;IACpC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACjD,CAAC;IAED,6CAA6C;IAC7C,MAAM,IAAI,gBAAgB,CACxB,+BAA+B,EAC/B,+FAA+F,EAC/F,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,OAAgB;IACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IACnE,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAEnD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAA4B,CAAC;YACvE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,gBAAgB,CACxB,8BAA8B,GAAG,EAAE,EACnC,4DAA4D,EAC5D,gBAAgB,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6BAA6B;QAC7B,IAAI,GAAG,YAAY,gBAAgB;YAAE,MAAM,GAAG,CAAC;QAC/C,sCAAsC;QACtC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,gBAAgB,CACxB,mBAAmB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,EACtD,mCAAmC,EACnC,gBAAgB,EAChB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,wDAAwD;QACxD,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;YACvE,MAAM,MAAM,GAAI,GAA8D,CAAC,MAAM;iBAClF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;iBACjD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,gBAAgB,CACxB,4BAA4B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,MAAM,EAAE,EACnE,8DAA8D,EAC9D,gBAAgB,EAChB,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAchD,SAAS,eAAe,CAAC,KAAqB,EAAE,GAAW,EAAE,QAAgB;IAC3E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,4DAA4D;AAE5D,MAAM,YAAY,GAAG,gBAAgB,CAAC;AACtC,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AAExD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAW,EACX,QAAgB,EAChB,WAAmB,eAAe;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC;IAE9C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC,CAAC,iDAAiD;IAC7D,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;gBAClC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4DAA4D;AAE5D,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,aAAqB,EACrB,GAAW,EACX,QAAgB;IAEhB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC;QAAE,OAAO,aAAa,CAAC;IAElE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,KAAK,CAAC,CAAC;IAC5E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,aAAa,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO,aAAa,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACvB,CAAC;AACH,CAAC;AAED,2DAA2D;AAE3D,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,OAAgB;IAC3D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,4DAA4D;AAE5D,0DAA0D;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,2DAA2D;AAE3D,oDAAoD;AACpD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD,2DAA2D;AAE3D,6EAA6E;AAC7E,gFAAgF;AAChF,kFAAkF;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,2DAA2D;AAE3D,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,MAAM,UAAU,aAAa,CAC3B,OAAuB,EACvB,OAAe,EACf,SAAmB;IAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAChF,MAAM,KAAK,GAAG,OAAO;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAE7C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,GAAG,QAAQ,EAAE,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,CACL,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,QAAQ,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;YACpE,GAAG,OAAO,GAAG,QAAQ,EAAE,CACxB,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,OAAO,SAAS,OAAO,SAAS,KAAK,IAAI,CAAC;AAC5C,CAAC;AAED,4DAA4D;AAE5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAwB,EACxB,UAAkB,EAClB,QAAgB;IAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,wDAAwD;AACxD,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAuB,EACvB,WAAmB,wBAAwB,EAC3C,SAAmB;IAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,KAAa,CAAC;QAClB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QAClH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU;YAAE,SAAS;QACxC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,kDAAkD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACxF,CAAC;AAWD,MAAM,YAAY,GAA2B;IAC3C,MAAM,EAAE,IAAI,EAAE,SAAS;IACvB,IAAI,EAAE,IAAI,EAAE,SAAS;IACrB,IAAI,EAAE,CAAC,EAAE,iDAAiD;IAC1D,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;CACT,CAAC;AAgBF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,sBAAsB,CAC7B,MAAc,EACd,YAAgC,EAChC,cAAsB,EACtB,QAAgC;IAEhC,MAAM,IAAI,GAAG,MAAM;SAChB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,MAAM,CAAC;SACd,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,cAAc,CAAC,CAAC;IAC1B,kEAAkE;IAClE,sEAAsE;IACtE,MAAM,cAAc,GAAG;QACrB,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE,mBAAmB,EAAE,0BAA0B,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YAC/E,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,EAAE,qBAAqB,KAAK,SAAS;YAC/C,CAAC,CAAC,EAAE,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,EAAE;YAC3D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,QAAQ,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtF,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAoCD,SAAS,cAAc,CAAC,IAAY,EAAE,UAAkB;IACtD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,KAAK,GAAG,cAAc,GAAG,UAAU;YAAE,MAAM;QAC/C,QAAQ,IAAI,SAAS,CAAC;QACtB,KAAK,IAAI,cAAc,CAAC;IAC1B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,UAAkB;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAE,CAAC;QACrC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,KAAK,GAAG,cAAc,GAAG,UAAU;YAAE,MAAM;QAC/C,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,IAAI,cAAc,CAAC;IAC1B,CAAC;IACD,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAmC,EACnC,aAA8B,EAC9B,aAAqB,kCAAkC,EACvD,SAAyB,WAAW;IAEpC,IAAI,QAAgB,CAAC;IACrB,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC;QACH,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QACzF,QAAQ;YACN,OAAO,CAAC,IAAI,KAAK,SAAS;gBACxB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QACpF,qIAAqI;IACvI,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,CAAC;YAChB,UAAU;YACV,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,yBAAyB;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACpE,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAChG,MAAM,iBAAiB,GACrB,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,SAAS;QAChD,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IAE/E,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI;QACJ,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa;QACb,UAAU;QACV,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,iBAAiB;QACjD,GAAG,EAAE,QAAQ;KACd,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAiD,EACjD,aAA8B;IAE9B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC9E,OAAO;YACL,QAAQ,EAAE,KAAK,GAAG,CAAC;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS;gBAC/B,CAAC,CAAC;oBACE,OAAO,EAAE;wBACP,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;wBAClC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;wBAC9B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;wBAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;4BACzC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;4BAC1C,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;4BACtC,CAAC,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;4BAC/E,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;4BACtC,CAAC,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;4BAC/E,CAAC,CAAC,EAAE,CAAC;qBACR;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAgC,EAChC,aAA8B;IAE9B,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9F,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,iJAAiJ;IACnJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,aAAa,IAAI,mCAAmC,EAAE,CAAC;QACzD,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,OAAO;YACb,aAAa;YACb,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,mCAAmC;YAC/C,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,mCAAmC,GAAG,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,mCAAmC,GAAG,SAAS,CAAC;IAClE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1F,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI;QACJ,IAAI;QACJ,aAAa;QACb,aAAa;QACb,UAAU,EAAE,mCAAmC;QAC/C,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,IAQlC;IACC,MAAM,WAAW,GAAG;QAClB,YAAY,EAAE,IAAI,CAAC,UAAU;QAC7B,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzE,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,OAAO;QACL,WAAW;QACX,SAAS,EAAE,0BAA0B,CAAC,WAAW,CAAC;QAClD,SAAS,EAAE;YACT,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YACjC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;YAClD,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF;QACD,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS;YACrC,IAAI,CAAC,aAAa,KAAK,SAAS;YAChC,IAAI,CAAC,WAAW,KAAK,SAAS;YAC5B,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7E;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAO7B;IACC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAK/B;IACC,OAAO;QACL,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK;YAC7B,QAAQ,IAAI,IAAI,CAAC,GAAG;YACpB,OAAQ,IAAI,CAAC,GAAoC,CAAC,MAAM,KAAK,QAAQ;YACnE,CAAC,CAAC,EAAE,cAAc,EAAG,IAAI,CAAC,GAAkC,CAAC,MAAM,EAAE;YACrE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK;YAC7B,MAAM,IAAI,IAAI,CAAC,GAAG;YAClB,OAAQ,IAAI,CAAC,GAAkC,CAAC,IAAI,KAAK,QAAQ;YAC/D,CAAC,CAAC,EAAE,YAAY,EAAG,IAAI,CAAC,GAAgC,CAAC,IAAI,EAAE;YAC/D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAY,EACZ,QAAgB,EAChB,KAAa,EACb,KAA4C;IAE5C,IAAI,GAAG,YAAY,uBAAuB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,CAAC,sBAAsB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAiD;IAEjD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAiD;IAEjD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAKD;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAK7C;IACC,OAAO,oBAAoB,CAAC;QAC1B,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;KACvE,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAC5E,4EAA4E;AAC5E,uEAAuE;AACvE,sEAAsE;AACtE,2EAA2E;AAC3E,oEAAoE;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,uKAAuK,CAAC;AAE1K;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,6CAA6C;IAC7C,yHAAyH;IACzH,mIAAmI;IACnI,iLAAiL;CAClL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,OAAqC;IAC/D,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;AACnC,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAqC,EACrC,YAAoB;IAEpB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO;QACL,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,GAAG,YAAY,OAAO,2BAA2B,EAAE;QACjE,MAAM,EAAE,iBAAiB;KAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,uBAAuB,CAC9B,SAAgC,EAChC,YAA0B;IAE1B,IAAI,SAAS,KAAK,yBAAyB;QAAE,OAAO;IACpD,oFAAoF;IACpF,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,gBAAgB,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC5F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,gBAAgB,CACxB,wDAAwD,SAAS,kEAAkE,EACnI,yJAAyJ,EACzJ,gBAAgB,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAgDrC;IACC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;IAE1C,mCAAmC;IACnC,8EAA8E;IAC9E,wEAAwE;IACxE,2EAA2E;IAC3E,0DAA0D;IAC1D,EAAE;IACF,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,+EAA+E;IAC/E,2EAA2E;IAC3E,QAAQ;IACR,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,SAAS,GACb,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,GAAG,YAAY,OAAO,MAAM,EAAE;YAChC,CAAC,CAAC,MAAM,CAAC;QACb,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,8BAA8B,MAAM,GAAG,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,gBAAgB,CACxB,6BAA6B,EAC7B,mDAAmD;YACjD,wJAAwJ,EAC1J,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,wEAAwE;IACxE,qEAAqE;IACrE,oBAAoB;IACpB,IACE,IAAI,CAAC,eAAe,KAAK,SAAS;QAClC,IAAI,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS;QACnC,0BAA0B,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9C,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAClD,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,4HAA4H,EAC5H,iDAAiD,EACjD,gBAAgB,CACjB,CAAC;IACJ,CAAC;IACD,uFAAuF;IACvF,qEAAqE;IACrE,8EAA8E;IAC9E,qEAAqE;IACrE,4EAA4E;IAC5E,iCAAiC;IACjC,IACE,IAAI,CAAC,QAAQ,KAAK,SAAS;QAC3B,IAAI,CAAC,eAAe,KAAK,SAAS;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS;QAClC,0BAA0B,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,aAAa,EAChF,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,4HAA4H,EAC5H,mGAAmG,EACnG,gBAAgB,CACjB,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;IAEtE,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,uBAAuB,GAAG,IAAI,CAAC,qBAAqB,IAAI,yBAAyB,CAAC;IACxF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;IAErC,uFAAuF;IACvF,2EAA2E;IAC3E,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,aAAa,GAA0B;QAC3C,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,qBAAqB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;IAClD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,QAAQ,GACZ,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;IAC/F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,gBAAgB,CACxB,qBAAqB,EACrB,6HAA6H,EAC7H,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACvE,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;IAClC,IAAI,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,2DAA2D;IAC3D,0EAA0E;IAC1E,2EAA2E;IAC3E,qDAAqD;IACrD,uBAAuB,CAAC,uBAAuB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACtE,oFAAoF;IACpF,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,6BAA6B;IAC7B,IACE,uBAAuB,KAAK,yBAAyB;QACrD,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,YAAY,EACzC,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,4BAA4B,QAAQ,2BAA2B,QAAQ,CAAC,MAAM,CAAC,QAAQ,oBAAoB,YAAY,6BAA6B,uBAAuB,kEAAkE,yBAAyB,qDAAqD,EAC3T,uFAAuF,EACvF,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAClD,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjE,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,IAAI,IAAI,OAAO,CAAC,CAAC;QAE1D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;gBAC/C,IAAI,KAAK,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC;oBAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,kCAAkC,UAAU,IAAI,CAAC,CAAC;oBAC/D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAChC,iEAAiE;wBACjE,kEAAkE;wBAClE,+DAA+D;wBAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,+CAA+C,CAAC,CAAC;oBAChE,CAAC;oBACD,OAAO,SAAS,CAAC,OAAO,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,MAAM,OAAO,GACX,SAAS,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,QAAQ;QACjF,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO;QAC7B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,aAAa,GAAG,uEAAuE,CAAC;IAC9F,MAAM,eAAe,GACnB,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,KAAK,QAAQ;QACxC,CAAC,OAAO,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC,OAAO,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,IAAI,UAAU,GAAG,MAAM,CAAC;IACxB,qEAAqE;IACrE,0EAA0E;IAC1E,uEAAuE;IACvE,+CAA+C;IAC/C,IAAI,gBAAgB,GAAG,YAAY,CAAC;IACpC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,gBAAgB,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACjE,IAAI,gBAAgB,KAAK,YAAY,EAAE,CAAC;oBACtC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,oEAAoE,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,sBAAsB,CAC9B,oBAAoB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACtE,uFAAuF,EACvF,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,oBAAoB,GAAG,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;IAE9C,0EAA0E;IAC1E,6EAA6E;IAC7E,wEAAwE;IACxE,qCAAqC;IACrC,MAAM,kBAAkB,GAAG;QACzB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,qBAAqB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC;IAEF,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;QAC5C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;QAClC,KAAK;QACL,cAAc;QACd,cAAc,EAAE,uBAAuB;QACvC,WAAW;QACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7E,CAAC,CAAC;IAEH,IAAI,MAA0B,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,MAAM,CAAC;gBACpB,MAAM,EAAE,UAAU;gBAClB,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,KAAK;gBACL,GAAG;gBACH,GAAG;gBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,GAAG,kBAAkB;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,yBAAyB,CAAC;gBAC3C,GAAG;gBACH,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;gBAClC,KAAK;gBACL,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc;aACxC,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO;gBAAE,MAAM,UAAU,CAAC;YAElD,MAAM,eAAe,GAAG,uBAAuB,CAC7C,UAAU,EACV,QAAQ,CAAC,MAAM,CAAC,QAAQ,EACxB,KAAK,EACL,KAAK,CACN,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;YACtD,IAAI,CAAC,WAAW,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC7C,IAAI,GAAG,YAAY,uBAAuB;oBAAE,MAAM,UAAU,CAAC;gBAC7D,MAAM,IAAI,uBAAuB,CAC/B,uBAAuB,KAAK,GAAG,EAC/B,OAAO,EACP,yBAAyB,CAAC,eAAe,CAAC,EAC1C;oBACE,KAAK,EAAE,GAAG;oBACV,YAAY,EACV,yFAAyF;iBAC5F,CACF,CAAC;YACJ,CAAC;YAED,GAAG,CAAC,IAAI,CACN,GAAG,EACH,uBAAuB,QAAQ,mCAAmC,IAAI,CAAC,WAAW,CAAC,KAAK,CACzF,CAAC;YACF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YAEpF,4DAA4D;YAC5D,qEAAqE;YACrE,iEAAiE;YACjE,mEAAmE;YACnE,kEAAkE;YAClE,oEAAoE;YACpE,sEAAsE;YACtE,IACE,uBAAuB,KAAK,yBAAyB;gBACrD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAC7D,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAC/B,kBAAkB,QAAQ,oCAAoC,WAAW,6BAA6B;oBACpG,mBAAmB,UAAU,CAAC,OAAO,MAAM;oBAC3C,oDAAoD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,gBAAgB,QAAQ,CAAC,MAAM,CAAC,QAAQ,6BAA6B,uBAAuB,qEAAqE,yBAAyB,IAAI,EACpR,OAAO,EACP,yBAAyB,CAAC,eAAe,CAAC,EAC1C;oBACE,KAAK,EAAE,UAAU;oBACjB,YAAY,EACV,wFAAwF;iBAC3F,CACF,CAAC;YACJ,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC;oBACnD,MAAM,EAAE,UAAU;oBAClB,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7E,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK;oBACpC,GAAG;oBACH,GAAG;oBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,GAAG,kBAAkB;iBACtB,CAAC,CAAC;gBACH,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,cAAc,CAAC,QAAQ,IAAI;oBACzB;wBACE,QAAQ,EAAE,CAAC;wBACX,KAAK,EAAE,sBAAsB;wBAC7B,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ;wBAC1C,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK;wBACpC,MAAM,EAAE,WAAW;wBACnB,UAAU,EAAE,cAAc,CAAC,UAAU;qBACtC;iBACF,CACF,CAAC;gBACF,MAAM,GAAG;oBACP,GAAG,cAAc;oBACjB,QAAQ,EAAE,yBAAyB,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC;iBAC/E,CAAC;gBACF,wEAAwE;gBACxE,wEAAwE;gBACxE,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtC,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;gBACjD,QAAQ,GAAG,gBAAgB,CAAC;YAC9B,CAAC;YAAC,OAAO,WAAoB,EAAE,CAAC;gBAC9B,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;oBACtD,GAAG,EAAE,WAAW;oBAChB,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ;oBAC1C,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK;oBACpC,KAAK,EAAE,sBAAsB;oBAC7B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;iBACzC,CAAC,CAAC;gBACH,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,uBAAuB,CACrB,qBAAqB,EACrB,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAChC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAC7B,sBAAsB,CACvB,CACF,CAAC;gBACF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;gBACtF,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;gBACxC,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC;gBAClD,MAAM,IAAI,uBAAuB,CAC/B,kBAAkB,QAAQ,gCAAgC,WAAW,oBAAoB;oBACvF,mBAAmB,UAAU,CAAC,OAAO,wBAAwB,WAAW,EAAE,EAC5E,IAAI,EACJ,QAAQ,EACR,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;YAC1E,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1E,MAAM,MAAM,GAAG,yBAAyB,CAAC;oBACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,UAAU;oBACV,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7E,CAAC,CAAC;gBACH,MAAM,eAAe,GAA8B;oBACjD,aAAa,EAAE,0CAA0C;oBACzD,GAAG,MAAM;oBACT,gBAAgB;oBAChB,QAAQ;oBACR,QAAQ,EAAE;wBACR,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC;wBACvC,OAAO,EAAE,0BAA0B,CACjC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,EACnC,IAAI,CAAC,aAAa,EAClB,mCAAmC,CACpC;qBACF;oBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;gBACF,MAAM,KAAK,GAAG,6BAA6B,CACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EACtC,eAAe,CAChB,CAAC;gBACF,GAAG,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC;gBACrC,GAAG,CAAC,GAAG,CACL,GAAG,EACH,+BAA+B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAC9G,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzD,gKAAgK;YAClK,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CACN,GAAG,EACH,2EAA2E,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CACtJ,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,wEAAwE;YACxE,uEAAuE;YACvE,mEAAmE;YACnE,sDAAsD;YACtD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;YAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,IAAI,SAAS,OAAO,CAAC,CAAC;YAC1E,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,EAAE,CAAC,aAAa,CACd,cAAc,EACd,IAAI,CAAC,SAAS,CAAC;gBACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,EACF,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CACnC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,4EAA4E;IAC5E,sEAAsE;IACtE,oEAAoE;IACpE,qEAAqE;IACrE,uEAAuE;IACvE,wCAAwC;IACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,yBAAyB,CAAC;gBACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU;gBACV,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC,CAAC;YACH,MAAM,WAAW,GAAgB;gBAC/B,aAAa,EAAE,2BAA2B;gBAC1C,GAAG,MAAM;gBACT,OAAO,EAAE,oBAAoB,CAAC;oBAC5B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;oBAClC,KAAK;oBACL,cAAc;oBACd,cAAc,EAAE,uBAAuB;oBACvC,WAAW;oBACX,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7E,CAAC;gBACF,MAAM,EAAE;oBACN,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE;wBACP,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,GAAG,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS;4BAC3C,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE;4BACvD,CAAC,CAAC,EAAE,CAAC;wBACP,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpF;oBACD,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;wBAC/B,CAAC,CAAC;4BACE,SAAS,EAAE;gCACT,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC;6BACtE;yBACF;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YACF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;YACnF,GAAG,CAAC,GAAG,CACL,GAAG,EACH,gBAAgB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAC/F,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,uOAAuO;QACzO,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,GAAG,EACH,kDAAkD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,eAAe,CACb;QACE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG;QACH,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,EACD,GAAG,EACH,MAAM,CAAC,QAAQ,CAChB,CAAC;IAEF,kBAAkB;IAClB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACpD,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,IAAI,OAAO,KAAK,SAAS,MAAM,MAAM,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACrF,CAAC;IAED,2EAA2E;IAC3E,mEAAmE;IACnE,qEAAqE;IACrE,wEAAwE;IACxE,0EAA0E;IAC1E,kBAAkB;IAClB,IAAI,MAAM,CAAC,oBAAoB,IAAI,IAAI,IAAI,MAAM,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,GAAG,CACL,GAAG,EACH,cAAc,MAAM,CAAC,oBAAoB,CAAC,cAAc,EAAE,gCAAgC,CAC3F,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,wBAAwB,IAAI,IAAI,IAAI,MAAM,CAAC,wBAAwB,GAAG,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,GAAG,CACL,GAAG,EACH,gBAAgB,MAAM,CAAC,wBAAwB,CAAC,cAAc,EAAE,oCAAoC,CACrG,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC"}
@@ -3,9 +3,9 @@ import * as fs from 'node:fs';
3
3
  import * as os from 'node:os';
4
4
  import * as path from 'node:path';
5
5
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
6
- import { calculateDeterministicHash, RunArtifactSchema, summarizeProvenance } from '@mmnto/totem';
6
+ import { calculateDeterministicHash, InvocationFailureArtifactSchema, RunArtifactSchema, summarizeProvenance, TotemOrchestratorError, } from '@mmnto/totem';
7
7
  import { cleanTmpDir } from './test-utils.js';
8
- import { applyCodeBlindGuard, buildRetrievalGroundingBundle, CODE_BLIND_BANNER, CODE_BLIND_PROMPT_DIRECTIVE, formatLessonSection, formatResults, getSystemPrompt, isCodeBlind, isGlobalConfigPath, loadConfig, loadEnv, partitionLessons, reapOrphanedTempFiles, requireEmbedding, resolveConfigPath, runOrchestrator, sanitize, wrapXml, writeOutput, } from './utils.js';
8
+ import { applyCodeBlindGuard, buildRetrievalGroundingBundle, CODE_BLIND_BANNER, CODE_BLIND_PROMPT_DIRECTIVE, formatLessonSection, formatResults, getSystemPrompt, isCodeBlind, isGlobalConfigPath, loadConfig, loadEnv, partitionLessons, persistRuntimeTextEvidence, reapOrphanedTempFiles, requireEmbedding, resolveConfigPath, runOrchestrator, runtimeMessageEvidence, sanitize, wrapXml, writeOutput, } from './utils.js';
9
9
  /** Helper to build a minimal SearchResult for tests. */
10
10
  function makeResult(overrides) {
11
11
  // Default absoluteFilePath to the provided filePath — mirrors
@@ -538,7 +538,7 @@ vi.mock('./orchestrators/orchestrator.js', async (importOriginal) => {
538
538
  },
539
539
  };
540
540
  });
541
- import { createOrchestrator } from './orchestrators/orchestrator.js';
541
+ import { createOrchestrator, OrchestratorInvokeError } from './orchestrators/orchestrator.js';
542
542
  const mockedCreateOrchestrator = vi.mocked(createOrchestrator);
543
543
  function baseConfig(overrides) {
544
544
  return {
@@ -1045,11 +1045,12 @@ describe('code-blind grounding guard', () => {
1045
1045
  describe('runOrchestrator artifact emission (#2100)', { timeout: 15_000 }, () => {
1046
1046
  let tmpDir;
1047
1047
  const GROUNDING_HASH = 'b'.repeat(64);
1048
- function artifactRequest(onEmitted) {
1048
+ function artifactRequest(onEmitted, onFailureEmitted) {
1049
1049
  return {
1050
1050
  groundingHash: GROUNDING_HASH,
1051
1051
  provenanceSummary: 'similarity-only',
1052
1052
  ...(onEmitted !== undefined ? { onEmitted } : {}),
1053
+ ...(onFailureEmitted !== undefined ? { onFailureEmitted } : {}),
1053
1054
  };
1054
1055
  }
1055
1056
  function artifactConfig(overrides) {
@@ -1069,6 +1070,41 @@ describe('runOrchestrator artifact emission (#2100)', { timeout: 15_000 }, () =>
1069
1070
  function runsDirPath() {
1070
1071
  return path.join(tmpDir, '.totem', 'artifacts', 'runs');
1071
1072
  }
1073
+ function failureRunsDirPath() {
1074
+ return path.join(runsDirPath(), 'failures');
1075
+ }
1076
+ function runtimeText(text) {
1077
+ const bytes = Buffer.byteLength(text, 'utf-8');
1078
+ return {
1079
+ encoding: 'utf-8',
1080
+ head: text,
1081
+ observedBytes: bytes,
1082
+ retainedBytes: bytes,
1083
+ limitBytes: 64 * 1024,
1084
+ truncated: false,
1085
+ };
1086
+ }
1087
+ function invokeFailure(message = 'provider rejected request') {
1088
+ return new OrchestratorInvokeError(message, 'process-exit', [
1089
+ {
1090
+ sequence: 1,
1091
+ route: 'configured-shell',
1092
+ provider: 'gemini',
1093
+ model: 'gemini-3-flash-preview',
1094
+ status: 'failed',
1095
+ durationMs: 125,
1096
+ failureKind: 'process-exit',
1097
+ providerCode: 'x'.repeat(129),
1098
+ process: {
1099
+ exitCode: 1,
1100
+ signal: null,
1101
+ timedOut: false,
1102
+ stdout: runtimeText('partial stdout'),
1103
+ stderr: runtimeText(message),
1104
+ },
1105
+ },
1106
+ ], { cause: new Error(message) });
1107
+ }
1072
1108
  beforeEach(() => {
1073
1109
  vi.clearAllMocks();
1074
1110
  tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'totem-artifact-emit-'));
@@ -1116,6 +1152,57 @@ describe('runOrchestrator artifact emission (#2100)', { timeout: 15_000 }, () =>
1116
1152
  outputTokens: 50,
1117
1153
  durationMs: 500,
1118
1154
  });
1155
+ expect(artifact.schemaVersion).toBe('1.2.0');
1156
+ expect(artifact.output.execution).toBeUndefined();
1157
+ });
1158
+ it('persists DLP-safe execution evidence only when runtime attempts are present', async () => {
1159
+ const secret = 'RUNTIME-EVIDENCE-SECRET-12345';
1160
+ const mockInvoke = vi.fn().mockResolvedValue({
1161
+ content: 'mock result',
1162
+ inputTokens: 100,
1163
+ outputTokens: 50,
1164
+ durationMs: 500,
1165
+ attempts: [
1166
+ {
1167
+ sequence: 1,
1168
+ route: 'configured-shell',
1169
+ provider: 'gemini',
1170
+ model: 'gemini-3-flash-preview',
1171
+ status: 'succeeded',
1172
+ durationMs: 500,
1173
+ providerCode: secret,
1174
+ process: {
1175
+ exitCode: 0,
1176
+ signal: null,
1177
+ timedOut: false,
1178
+ stdout: runtimeText(`\u001b[31mresult ${secret}\u001b[0m`),
1179
+ stderr: runtimeText(''),
1180
+ },
1181
+ },
1182
+ ],
1183
+ });
1184
+ mockedCreateOrchestrator.mockReturnValue(mockInvoke);
1185
+ const emitted = [];
1186
+ await runOrchestrator({
1187
+ prompt: 'attempt evidence run',
1188
+ tag: 'Spec',
1189
+ options: { fresh: true },
1190
+ config: artifactConfig(),
1191
+ cwd: tmpDir,
1192
+ customSecrets: [{ type: 'literal', value: secret }],
1193
+ artifact: artifactRequest((hash) => emitted.push(hash)),
1194
+ });
1195
+ const raw = fs.readFileSync(path.join(runsDirPath(), `${emitted[0]}.json`), 'utf-8');
1196
+ expect(raw).not.toContain(secret);
1197
+ expect(raw).not.toContain('\u001b');
1198
+ const artifact = RunArtifactSchema.parse(JSON.parse(raw));
1199
+ expect(artifact.output.execution?.attempts).toHaveLength(1);
1200
+ expect(artifact.output.execution?.attempts[0]?.process?.stdout).toMatchObject({
1201
+ head: 'result [REDACTED_CUSTOM]',
1202
+ dlp: 'masked',
1203
+ truncated: false,
1204
+ });
1205
+ expect(artifact.output.execution?.attempts[0]?.providerCode).toBeUndefined();
1119
1206
  });
1120
1207
  it('records the grounding bundle verbatim and the attested hash recomputes from it (mmnto-ai/totem#2101)', async () => {
1121
1208
  const bundle = {
@@ -1169,6 +1256,230 @@ describe('runOrchestrator artifact emission (#2100)', { timeout: 15_000 }, () =>
1169
1256
  const artifact = RunArtifactSchema.parse(JSON.parse(rawOnDisk));
1170
1257
  expect(artifact.inputBundle.maskedPrompt).not.toContain(secret);
1171
1258
  });
1259
+ it('emits terminal failure evidence, attaches its hash, and invokes the failure callback', async () => {
1260
+ const secret = 'FAILURE-EVIDENCE-SECRET-12345';
1261
+ const invokeErr = invokeFailure(`provider rejected ${secret}`);
1262
+ const mockInvoke = vi.fn().mockRejectedValue(invokeErr);
1263
+ mockedCreateOrchestrator.mockReturnValue(mockInvoke);
1264
+ const emitted = [];
1265
+ let caught;
1266
+ try {
1267
+ await runOrchestrator({
1268
+ prompt: 'failed attempt prompt',
1269
+ tag: 'Spec',
1270
+ options: { fresh: true },
1271
+ config: artifactConfig(),
1272
+ cwd: tmpDir,
1273
+ customSecrets: [{ type: 'literal', value: secret }],
1274
+ artifact: artifactRequest(undefined, (hash, artifactPath) => emitted.push({ hash, artifactPath })),
1275
+ });
1276
+ }
1277
+ catch (err) {
1278
+ caught = err;
1279
+ }
1280
+ expect(caught).toBe(invokeErr);
1281
+ expect(invokeErr.failureArtifactHash).toBe(emitted[0]?.hash);
1282
+ expect(emitted).toHaveLength(1);
1283
+ expect(emitted[0]?.artifactPath).toBe(path.join(failureRunsDirPath(), `${emitted[0].hash}.json`));
1284
+ const raw = fs.readFileSync(emitted[0].artifactPath, 'utf-8');
1285
+ expect(raw).not.toContain(secret);
1286
+ const artifact = InvocationFailureArtifactSchema.parse(JSON.parse(raw));
1287
+ expect(artifact.terminal).toMatchObject({ kind: 'process-exit', attempt: 1 });
1288
+ expect(artifact.terminal.message.head).toContain('[REDACTED_CUSTOM]');
1289
+ expect(artifact.attempts[0]?.process?.stderr?.head).toContain('[REDACTED_CUSTOM]');
1290
+ expect(artifact.attempts[0]?.providerCode).toBeUndefined();
1291
+ expect(RunArtifactSchema.safeParse(artifact).success).toBe(false);
1292
+ });
1293
+ it.each([
1294
+ {
1295
+ label: 'OpenAI wrapped auth failure',
1296
+ provider: 'openai',
1297
+ model: 'gpt-5',
1298
+ cause: Object.assign(new Error('provider auth response'), {
1299
+ status: 401,
1300
+ code: 'authentication_error',
1301
+ }),
1302
+ kind: 'auth',
1303
+ providerStatus: 401,
1304
+ providerCode: 'authentication_error',
1305
+ },
1306
+ {
1307
+ label: 'Ollama wrapped model failure',
1308
+ provider: 'ollama',
1309
+ model: 'llama3',
1310
+ cause: null,
1311
+ originalMessage: "Ollama model 'llama3' is not installed.",
1312
+ kind: 'model',
1313
+ providerStatus: undefined,
1314
+ providerCode: undefined,
1315
+ },
1316
+ {
1317
+ label: 'plain injected failure',
1318
+ provider: 'gemini',
1319
+ model: 'gemini-3-flash-preview',
1320
+ cause: undefined,
1321
+ originalMessage: undefined,
1322
+ kind: 'unknown',
1323
+ providerStatus: undefined,
1324
+ providerCode: undefined,
1325
+ },
1326
+ ])('normalizes and persists $label', async (testCase) => {
1327
+ const original = testCase.cause === undefined
1328
+ ? new Error('unclassified provider transport failure')
1329
+ : new TotemOrchestratorError(testCase.originalMessage ?? `${testCase.provider} provider call failed`, `recover ${testCase.provider}`, testCase.cause);
1330
+ mockedCreateOrchestrator.mockReturnValue(vi.fn().mockRejectedValue(original));
1331
+ const emitted = [];
1332
+ let caught;
1333
+ try {
1334
+ await runOrchestrator({
1335
+ prompt: `${testCase.provider} terminal failure`,
1336
+ tag: 'Spec',
1337
+ options: { fresh: true },
1338
+ config: artifactConfig({
1339
+ orchestrator: {
1340
+ provider: testCase.provider,
1341
+ defaultModel: testCase.model,
1342
+ },
1343
+ }),
1344
+ cwd: tmpDir,
1345
+ artifact: artifactRequest(undefined, (hash, artifactPath) => emitted.push({ hash, artifactPath })),
1346
+ });
1347
+ }
1348
+ catch (err) {
1349
+ caught = err;
1350
+ }
1351
+ expect(caught).toBeInstanceOf(OrchestratorInvokeError);
1352
+ expect(caught).toBeInstanceOf(TotemOrchestratorError);
1353
+ const structured = caught;
1354
+ expect(structured.cause).toBe(original);
1355
+ expect(structured).toMatchObject({
1356
+ kind: testCase.kind,
1357
+ failureArtifactHash: emitted[0]?.hash,
1358
+ });
1359
+ expect(structured.attempts[0]).toMatchObject({
1360
+ route: 'sdk',
1361
+ provider: testCase.provider,
1362
+ model: testCase.model,
1363
+ status: 'failed',
1364
+ failureKind: testCase.kind,
1365
+ ...(testCase.providerStatus !== undefined ? { providerStatus: testCase.providerStatus } : {}),
1366
+ ...(testCase.providerCode !== undefined ? { providerCode: testCase.providerCode } : {}),
1367
+ });
1368
+ expect(emitted).toHaveLength(1);
1369
+ const artifact = InvocationFailureArtifactSchema.parse(JSON.parse(fs.readFileSync(emitted[0].artifactPath, 'utf-8')));
1370
+ expect(artifact.terminal.kind).toBe(testCase.kind);
1371
+ expect(artifact.attempts).toMatchObject(structured.attempts);
1372
+ });
1373
+ it('a failure-artifact write error preserves the original structured invocation error', async () => {
1374
+ fs.mkdirSync(path.join(tmpDir, '.totem'), { recursive: true });
1375
+ fs.writeFileSync(path.join(tmpDir, '.totem', 'artifacts'), 'not a directory');
1376
+ const invokeErr = invokeFailure();
1377
+ mockedCreateOrchestrator.mockReturnValue(vi.fn().mockRejectedValue(invokeErr));
1378
+ const onFailureEmitted = vi.fn();
1379
+ let caught;
1380
+ try {
1381
+ await runOrchestrator({
1382
+ prompt: 'failed ledger prompt',
1383
+ tag: 'Spec',
1384
+ options: { fresh: true },
1385
+ config: artifactConfig(),
1386
+ cwd: tmpDir,
1387
+ artifact: artifactRequest(undefined, onFailureEmitted),
1388
+ });
1389
+ }
1390
+ catch (err) {
1391
+ caught = err;
1392
+ }
1393
+ expect(caught).toBe(invokeErr);
1394
+ expect(invokeErr.failureArtifactHash).toBeUndefined();
1395
+ expect(onFailureEmitted).not.toHaveBeenCalled();
1396
+ });
1397
+ it('masking failure omits runtime text instead of persisting raw bytes', () => {
1398
+ const evidence = persistRuntimeTextEvidence(runtimeText('must never survive'), undefined, 64 * 1024, () => {
1399
+ throw new Error('synthetic DLP failure');
1400
+ });
1401
+ expect(evidence).toEqual({
1402
+ encoding: 'utf-8',
1403
+ head: '',
1404
+ observedBytes: Buffer.byteLength('must never survive', 'utf-8'),
1405
+ retainedBytes: 0,
1406
+ limitBytes: 64 * 1024,
1407
+ truncated: false,
1408
+ dlp: 'omitted-on-mask-failure',
1409
+ });
1410
+ });
1411
+ it('pre-bounds oversized ASCII terminal messages before DLP and re-bounds masked text', () => {
1412
+ const secret = 'ASCII-OVERSIZED-SECRET-12345';
1413
+ const message = [secret, 'x'.repeat(9_000), '-terminal-tail'].join('');
1414
+ const runtime = runtimeMessageEvidence(message);
1415
+ expect(runtime).toMatchObject({
1416
+ observedBytes: Buffer.byteLength(message, 'utf-8'),
1417
+ limitBytes: 4 * 1024,
1418
+ retainedBytes: 4 * 1024,
1419
+ truncated: true,
1420
+ });
1421
+ expect(Buffer.byteLength(runtime.head, 'utf-8')).toBe(2 * 1024);
1422
+ expect(Buffer.byteLength(runtime.tail ?? '', 'utf-8')).toBe(2 * 1024);
1423
+ expect(runtime.head).toContain(secret);
1424
+ expect(runtime.tail).toBe(message.slice(-2 * 1024));
1425
+ const masker = vi.fn((value) => value.replaceAll(secret, '[REDACTED_CUSTOM]'));
1426
+ const persisted = persistRuntimeTextEvidence(runtime, undefined, 4 * 1024, masker);
1427
+ expect(masker).toHaveBeenCalledTimes(2);
1428
+ for (const [fragment] of masker.mock.calls) {
1429
+ expect(Buffer.byteLength(fragment, 'utf-8')).toBeLessThanOrEqual(2 * 1024);
1430
+ }
1431
+ const persistedText = [persisted.head, persisted.tail ?? ''].join('');
1432
+ expect(persistedText).not.toContain(secret);
1433
+ expect(persisted).toMatchObject({
1434
+ observedBytes: Buffer.byteLength(message, 'utf-8'),
1435
+ limitBytes: 4 * 1024,
1436
+ truncated: true,
1437
+ dlp: 'masked',
1438
+ });
1439
+ expect(persisted.retainedBytes).toBeLessThanOrEqual(4 * 1024);
1440
+ });
1441
+ it('pre-bounds oversized multi-byte messages on code-point boundaries and masks retained text', () => {
1442
+ const secret = '秘密-TERMINAL-KEY-12345';
1443
+ const message = [secret, '🧪'.repeat(2_000), '-終端'].join('');
1444
+ const runtime = runtimeMessageEvidence(message);
1445
+ expect(runtime.observedBytes).toBe(Buffer.byteLength(message, 'utf-8'));
1446
+ expect(runtime.retainedBytes).toBeLessThanOrEqual(4 * 1024);
1447
+ expect(runtime.truncated).toBe(true);
1448
+ expect(runtime.head).not.toContain('\uFFFD');
1449
+ expect(runtime.tail).not.toContain('\uFFFD');
1450
+ expect(Buffer.byteLength(runtime.head, 'utf-8')).toBeLessThanOrEqual(2 * 1024);
1451
+ expect(Buffer.byteLength(runtime.tail ?? '', 'utf-8')).toBe(2 * 1024 - 1);
1452
+ expect(runtime.tail).toBe(`${'🧪'.repeat(510)}-終端`);
1453
+ const persisted = persistRuntimeTextEvidence(runtime, [{ type: 'literal', value: secret }], 4 * 1024);
1454
+ const persistedText = [persisted.head, persisted.tail ?? ''].join('');
1455
+ expect(persistedText).not.toContain(secret);
1456
+ expect(persistedText).not.toContain('\uFFFD');
1457
+ expect(persisted).toMatchObject({
1458
+ observedBytes: Buffer.byteLength(message, 'utf-8'),
1459
+ limitBytes: 4 * 1024,
1460
+ truncated: true,
1461
+ dlp: 'masked',
1462
+ });
1463
+ expect(persisted.retainedBytes).toBeLessThanOrEqual(4 * 1024);
1464
+ });
1465
+ it('masks non-contiguous runtime head and tail independently', () => {
1466
+ const head = 'HEAD-SENTINEL-cross-';
1467
+ const tail = 'boundary-TAIL-SENTINEL';
1468
+ const evidence = persistRuntimeTextEvidence({
1469
+ encoding: 'utf-8',
1470
+ head,
1471
+ tail,
1472
+ observedBytes: 100_000,
1473
+ retainedBytes: Buffer.byteLength(head + tail, 'utf-8'),
1474
+ limitBytes: 64 * 1024,
1475
+ truncated: true,
1476
+ }, [{ type: 'literal', value: head + tail }]);
1477
+ expect(evidence.head).toBe(head);
1478
+ expect(evidence.tail).toBe(tail);
1479
+ expect(evidence.head).not.toContain(head + tail);
1480
+ expect(evidence.tail).not.toContain(head + tail);
1481
+ expect(evidence.truncated).toBe(true);
1482
+ });
1172
1483
  it('a response-cache hit emits NO artifact (artifacts record actual invokes)', async () => {
1173
1484
  const onEmitted = vi.fn();
1174
1485
  const opts = {
@@ -1240,17 +1551,76 @@ describe('runOrchestrator artifact emission (#2100)', { timeout: 15_000 }, () =>
1240
1551
  const artifact = RunArtifactSchema.parse(JSON.parse(fs.readFileSync(file, 'utf-8')));
1241
1552
  expect(artifact.backend.qualifiedModel).toBe('gemini-3-flash-preview');
1242
1553
  expect(artifact.output.content).toBe('fallback result');
1554
+ expect(artifact.output.execution?.attempts).toMatchObject([
1555
+ { sequence: 1, route: 'sdk', status: 'failed', failureKind: 'quota' },
1556
+ { sequence: 2, route: 'quota-model-fallback', status: 'succeeded' },
1557
+ ]);
1558
+ });
1559
+ it('persists merged, contiguous quota-fallback attempts when both models fail', async () => {
1560
+ const quotaErr = new Error('429 quota exhausted');
1561
+ quotaErr.name = 'QuotaError';
1562
+ const fallbackErr = new OrchestratorInvokeError('fallback model unavailable', 'model', [
1563
+ {
1564
+ sequence: 1,
1565
+ route: 'sdk',
1566
+ provider: 'gemini',
1567
+ model: 'gemini-3-flash-preview',
1568
+ status: 'failed',
1569
+ durationMs: 50,
1570
+ failureKind: 'model',
1571
+ },
1572
+ ], { cause: new Error('404 model unavailable') });
1573
+ mockedCreateOrchestrator.mockReturnValue(vi.fn().mockRejectedValueOnce(quotaErr).mockRejectedValueOnce(fallbackErr));
1574
+ const emitted = [];
1575
+ let caught;
1576
+ try {
1577
+ await runOrchestrator({
1578
+ prompt: 'double failure prompt',
1579
+ tag: 'Spec',
1580
+ options: { fresh: true },
1581
+ config: artifactConfig({
1582
+ orchestrator: {
1583
+ provider: 'gemini',
1584
+ defaultModel: 'gemini-3.1-pro-preview',
1585
+ fallbackModel: 'gemini-3-flash-preview',
1586
+ },
1587
+ }),
1588
+ cwd: tmpDir,
1589
+ artifact: artifactRequest(undefined, (hash) => emitted.push(hash)),
1590
+ });
1591
+ }
1592
+ catch (err) {
1593
+ caught = err;
1594
+ }
1595
+ expect(caught).toBeInstanceOf(OrchestratorInvokeError);
1596
+ expect(caught).not.toBe(fallbackErr);
1597
+ const structured = caught;
1598
+ expect(structured.kind).toBe('model');
1599
+ expect(structured.failureArtifactHash).toBe(emitted[0]);
1600
+ expect(structured.attempts).toMatchObject([
1601
+ { sequence: 1, route: 'sdk', status: 'failed', failureKind: 'quota' },
1602
+ {
1603
+ sequence: 2,
1604
+ route: 'quota-model-fallback',
1605
+ status: 'failed',
1606
+ failureKind: 'model',
1607
+ },
1608
+ ]);
1609
+ const artifact = InvocationFailureArtifactSchema.parse(JSON.parse(fs.readFileSync(path.join(failureRunsDirPath(), `${emitted[0]}.json`), 'utf-8')));
1610
+ expect(artifact.attempts).toMatchObject(structured.attempts);
1611
+ expect(artifact.terminal).toMatchObject({ kind: 'model', attempt: 2 });
1243
1612
  });
1244
1613
  });
1245
1614
  // ─── runOrchestrator admission contract (mmnto-ai/totem#2102) ──
1246
1615
  describe('runOrchestrator admission contract (#2102)', { timeout: 15_000 }, () => {
1247
1616
  let tmpDir;
1248
1617
  const GROUNDING_HASH = 'b'.repeat(64);
1249
- function artifactRequest(onEmitted) {
1618
+ function artifactRequest(onEmitted, onFailureEmitted) {
1250
1619
  return {
1251
1620
  groundingHash: GROUNDING_HASH,
1252
1621
  provenanceSummary: 'similarity-only',
1253
1622
  ...(onEmitted !== undefined ? { onEmitted } : {}),
1623
+ ...(onFailureEmitted !== undefined ? { onFailureEmitted } : {}),
1254
1624
  };
1255
1625
  }
1256
1626
  /** Orchestrator config WITHOUT a declared capability (today's default). */
@@ -1420,15 +1790,37 @@ describe('runOrchestrator admission contract (#2102)', { timeout: 15_000 }, () =
1420
1790
  });
1421
1791
  mockedCreateOrchestrator.mockReturnValue(mockInvoke);
1422
1792
  const onEmitted = vi.fn();
1423
- await expect(runOrchestrator({
1424
- prompt: 'elevated quota-bound run',
1425
- tag: 'Spec',
1426
- options: { fresh: true },
1427
- config: declaredConfig({ fallbackModel: 'anthropic:claude-sonnet-4-6' }),
1428
- cwd: tmpDir,
1429
- backendAdmissionClass: 'self_grounding_agent',
1430
- artifact: { ...artifactRequest(), onEmitted },
1431
- })).rejects.toThrow(/429 quota exhausted[\s\S]*self_grounding_agent/);
1793
+ const failures = [];
1794
+ let caught;
1795
+ try {
1796
+ await runOrchestrator({
1797
+ prompt: 'elevated quota-bound run',
1798
+ tag: 'Spec',
1799
+ options: { fresh: true },
1800
+ config: declaredConfig({ fallbackModel: 'anthropic:claude-sonnet-4-6' }),
1801
+ cwd: tmpDir,
1802
+ backendAdmissionClass: 'self_grounding_agent',
1803
+ artifact: {
1804
+ ...artifactRequest(undefined, (hash, artifactPath) => failures.push({ hash, artifactPath })),
1805
+ onEmitted,
1806
+ },
1807
+ });
1808
+ }
1809
+ catch (err) {
1810
+ caught = err;
1811
+ }
1812
+ expect(caught).toBeInstanceOf(OrchestratorInvokeError);
1813
+ expect(caught).toBeInstanceOf(TotemOrchestratorError);
1814
+ expect(caught).toMatchObject({
1815
+ kind: 'quota',
1816
+ failureArtifactHash: failures[0]?.hash,
1817
+ attempts: [expect.objectContaining({ failureKind: 'quota', route: 'sdk' })],
1818
+ });
1819
+ expect(caught.message).toMatch(/429 quota exhausted[\s\S]*self_grounding_agent/);
1820
+ expect(failures).toHaveLength(1);
1821
+ const artifact = InvocationFailureArtifactSchema.parse(JSON.parse(fs.readFileSync(failures[0].artifactPath, 'utf-8')));
1822
+ expect(artifact.terminal).toMatchObject({ kind: 'quota', attempt: 1 });
1823
+ expect(artifact.attempts).toHaveLength(1);
1432
1824
  // Exactly ONE invoke: the primary. The cross-provider fallback was never invoked.
1433
1825
  expect(mockInvoke).toHaveBeenCalledTimes(1);
1434
1826
  expect(onEmitted).not.toHaveBeenCalled();