@bilig/core 0.11.29 → 0.11.31

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 (29) hide show
  1. package/dist/engine/services/formula-binding-dependency-build-capacity.d.ts +2 -0
  2. package/dist/engine/services/formula-binding-dependency-build-capacity.js +25 -0
  3. package/dist/engine/services/formula-binding-dependency-build-capacity.js.map +1 -0
  4. package/dist/engine/services/formula-binding-dependency-materializer.js +30 -4
  5. package/dist/engine/services/formula-binding-dependency-materializer.js.map +1 -1
  6. package/dist/engine/services/formula-binding-direct-descriptors.js +15 -13
  7. package/dist/engine/services/formula-binding-direct-descriptors.js.map +1 -1
  8. package/dist/engine/services/formula-binding-prepare.js +1 -1
  9. package/dist/engine/services/formula-binding-prepare.js.map +1 -1
  10. package/dist/engine/services/formula-binding-service.js +4 -31
  11. package/dist/engine/services/formula-binding-service.js.map +1 -1
  12. package/dist/engine/services/formula-evaluation-direct-criteria-cache.d.ts +9 -0
  13. package/dist/engine/services/formula-evaluation-direct-criteria-cache.js +16 -0
  14. package/dist/engine/services/formula-evaluation-direct-criteria-cache.js.map +1 -0
  15. package/dist/engine/services/formula-evaluation-direct-criteria-transforms.d.ts +9 -0
  16. package/dist/engine/services/formula-evaluation-direct-criteria-transforms.js +68 -0
  17. package/dist/engine/services/formula-evaluation-direct-criteria-transforms.js.map +1 -0
  18. package/dist/engine/services/formula-evaluation-service.js +17 -95
  19. package/dist/engine/services/formula-evaluation-service.js.map +1 -1
  20. package/dist/engine/services/recalc-service.js +7 -0
  21. package/dist/engine/services/recalc-service.js.map +1 -1
  22. package/dist/engine/services/runtime-column-store-service.js +2 -1
  23. package/dist/engine/services/runtime-column-store-service.js.map +1 -1
  24. package/dist/engine/services/traversal-service.js +46 -4
  25. package/dist/engine/services/traversal-service.js.map +1 -1
  26. package/dist/formula-table.d.ts +2 -0
  27. package/dist/formula-table.js +8 -0
  28. package/dist/formula-table.js.map +1 -1
  29. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"formula-binding-service.js","sourceRoot":"","sources":["../../../src/engine/services/formula-binding-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGxD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EACL,oCAAoC,EACpC,2CAA2C,EAC3C,wCAAwC,EACxC,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,EAC1B,+BAA+B,EAC/B,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,8BAA8B,EAC9B,sDAAsD,GAEvD,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,+BAA+B,EAC/B,iCAAiC,EACjC,sCAAsC,GACvC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAA;AAErF,OAAO,EAAE,0CAA0C,EAAE,MAAM,8CAA8C,CAAA;AACzG,OAAO,EAAE,sCAAsC,EAAE,MAAM,4CAA4C,CAAA;AACnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAA;AAChF,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAA;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,EAAE,sCAAsC,EAAE,MAAM,mCAAmC,CAAA;AAC1F,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAA;AACrF,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AACzI,OAAO,EAAE,wCAAwC,EAAE,MAAM,kCAAkC,CAAA;AAC3F,OAAO,EAAE,mCAAmC,EAAE,MAAM,oCAAoC,CAAA;AACxF,OAAO,EAAE,uCAAuC,EAAE,MAAM,6CAA6C,CAAA;AAOrG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAA;AASxF,MAAM,UAAU,iCAAiC,CAAC,IAA2C;IAC3F,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAiC,CAAA;IACtE,MAAM,mBAAmB,GAAG,gCAAgC,EAAE,CAAA;IAC9D,MAAM,iBAAiB,GAAG,8BAA8B,EAAE,CAAA;IAC1D,MAAM,0BAA0B,GAAsC,IAAI,GAAG,EAAE,CAAA;IAC/E,IAAI,8BAA8B,GAAG,KAAK,CAAA;IAC1C,MAAM,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,GAAG,mCAAmC,CAAC;QACjG,WAAW,EAAE,IAAI;QACjB,0BAA0B;KAC3B,CAAC,CAAA;IAEF,MAAM,0BAA0B,GAAG,GAAS,EAAE;QAC5C,qBAAqB,CAAC,KAAK,EAAE,CAAA;QAC7B,mBAAmB,CAAC,KAAK,EAAE,CAAA;QAC3B,iBAAiB,CAAC,KAAK,EAAE,CAAA;QACzB,0BAA0B,CAAC,KAAK,EAAE,CAAA;QAClC,8BAA8B,GAAG,KAAK,CAAA;IACxC,CAAC,CAAA;IAED,MAAM,2BAA2B,GAAG,GAAS,EAAE;QAC7C,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACpC,OAAM;QACR,CAAC;QACD,iCAAiC,CAAC;YAChC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,aAAa,EAAE,0BAA0B;SAC1C,CAAC,CAAA;QACF,8BAA8B,GAAG,KAAK,CAAA;IACxC,CAAC,CAAA;IAED,MAAM,0BAA0B,GAAG,CAAC,SAAiB,EAAE,OAAmC,EAAQ,EAAE;QAClG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAM;QACR,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,CAC/B,SAAiB,EACjB,cAAsB,EACtB,QAAsD,EAChD,EAAE;QACR,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAA;IACrE,CAAC,CAAA;IAED,MAAM,0BAA0B,GAAG,CACjC,SAAiB,EACjB,cAAkC,EAClC,QAAkE,EAC5D,EAAE;QACR,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAA;IACvE,CAAC,CAAA;IAED,MAAM,6BAA6B,GAAG,CACpC,YAAoB,EACpB,kBAA0B,EAC1B,mBAAmB,GAAG,CAAC,EACvB,qBAAqB,GAAG,CAAC,EACnB,EAAE;QACR,IAAI,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,CAAC;YACxD,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;QACtF,CAAC;QACD,IAAI,YAAY,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE,CAAC;YACzD,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;QACxF,CAAC;QACD,IAAI,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC,MAAM,EAAE,CAAC;YAClE,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAA;QACpG,CAAC;QACD,IAAI,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC;YAChE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAA;QAChG,CAAC;QACD,IAAI,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,CAAC;YACnE,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAA;QACtG,CAAC;QACD,IAAI,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAA;QAC7F,CAAC;QACD,IAAI,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,CAAC;YACnE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAA;QACnG,CAAC;IACH,CAAC,CAAA;IAED,MAAM,0BAA0B,GAAG,sCAAsC,CAAC;QACxE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;QAC7D,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5E,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3H,kBAAkB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACnG,qBAAqB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC;KAC5F,CAAC,CAAA;IAEF,MAAM,EACJ,uBAAuB,EACvB,mCAAmC,EACnC,sCAAsC,EACtC,qCAAqC,GACtC,GAAG,0CAA0C,CAAC;QAC7C,WAAW,EAAE,IAAI;QACjB,uBAAuB,EAAE,0BAA0B,CAAC,gBAAgB;QACpE,aAAa,EAAE,0BAA0B,CAAC,aAAa;QACvD,6BAA6B;KAC9B,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAE,KAAgB,EAAQ,EAAE;QACvE,iCAAiC,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;IACvE,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,iCAAiC,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAEhH,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,iBAAyB,EAAQ,EAAE;QAC9E,+BAA+B,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IACjG,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,iBAAyB,EAAQ,EAAE;QAC9E,+BAA+B,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IACjG,CAAC,CAAA;IAED,MAAM,2BAA2B,GAAG,CAAC,YAA+B,EAAQ,EAAE;QAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;QACnC,MAAM,YAAY,GAAG;YACnB,UAAU,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;YAC5G,gBAAgB,EAAE,CAAC,OAAe,EAAE,EAAyD,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACpI,aAAa,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;SACvG,CAAA;QACD,YAAY,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAClC,IAAI,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAM;YACR,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACzB,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;QAC3F,CAAC,CAAC,CAAA;QACF,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAChC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,4BAA4B,GAAG,CAAC,WAAkC,EAAE,YAA+B,EAAQ,EAAE;QACjH,MAAM,YAAY,GAAG;YACnB,UAAU,EAAE,CAAC,OAAe,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC;YAC5G,gBAAgB,EAAE,CAAC,OAAe,EAAE,EAAyD,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACpI,aAAa,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;SACvG,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QACrG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,EAAE,EAAE;YAC7E,wBAAwB,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAChC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,CAC/B,UAAkB,EAClB,IAA8E,EACxE,EAAE;QACR,sCAAsC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;IAC9G,CAAC,CAAA;IAED,MAAM,qCAAqC,GAAG,CAAC,iBAA8B,EAAW,EAAE,CACxF,iBAAiB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;IAE3G,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAE,kBAA0B,EAAQ,EAAE;QACtF,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAA;IACrH,CAAC,CAAA;IAED,MAAM,0BAA0B,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAQ,EAAE;QACrF,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;YACjC,OAAM;QACR,CAAC;QACD,IAAI,mBAAmB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACnD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,oCAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5F,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;IACjD,CAAC,CAAA;IAED,MAAM,4BAA4B,GAAG,CAAC,WAA8B,EAAQ,EAAE;QAC5E,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAChC,IAAI,mBAAmB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACnD,OAAM;YACR,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,oCAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5F,OAAM;YACR,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,mCAAmC,GAAG,CAC1C,SAAiB,EACjB,QAAwB,EACxB,QAAiE,EACjE,cAAsB,EACtB,MAAc,EACR,EAAE;QACR,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;QAC/C,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QAC7E,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAA;QACjE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,gBAAgB,CAAC,CAAA;QAC3D,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS,oBAAoB,CAAC,CAAA;QAEnE,oBAAoB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;YAChD,IAAI,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC5C,OAAM;YACR,CAAC;YACD,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;YAClD,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACrC,0BAA0B,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAA;YACxE,CAAC;QACH,CAAC,CAAC,CAAA;QACF,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;YAC5C,IAAI,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChD,OAAM;YACR,CAAC;YACD,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,8BAA8B,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;YACzG,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QACpG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5C,0BAA0B,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxE,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,QAAQ,CAAC,yBAAyB,GAAG,SAAS,CAAA;QAC9C,QAAQ,CAAC,sBAAsB,GAAG,SAAS,CAAA;QAC3C,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;QACzB,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QACzC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAA;QACpE,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;QACnG,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAA;QACpE,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,YAAY,CAAC,sBAAsB,CAAA;QAC9E,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;QACjD,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAA;QAChD,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAA;QACvD,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAA;QAC/D,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAA;QACjC,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;QAC7C,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAA;QACnC,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,+DAA4C,CAAC,CAAC,+BAAuB,CAAA;QAClI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,2BAAmB,CAAA;QAC3H,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,yBAAiB,CAAA;QAC5H,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAChC,CAAC;QACD,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QAChE,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC7C,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACtE,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,SAAS,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAA;QAE5F,wBAAwB,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,4BAA4B,EAAE,QAAQ,CAAC,iCAAiC,CAAC,CAAA;IACxI,CAAC,CAAA;IAED,MAAM,0CAA0C,GAAG,CACjD,SAAiB,EACjB,MAAc,EACd,QAAyB,EACzB,UAAmB,EACnB,aAAoC,EAC3B,EAAE;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,cAAc,GAClB,aAAa,EAAE,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAE,CAAC,CAAA;QACtH,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,YAAY,GAAG,aAAa,EAAE,SAAS;YAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE;YAC3D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,mBAAiE,CAAA;QACrE,IAAI,gBAA2D,CAAA;QAC/D,IAAI,oCAAoC,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,qCAAqC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClI,mBAAmB,GAAG,SAAS,CAAA;YAC/B,gBAAgB;gBACd,QAAQ,CAAC,YAAY,KAAK,SAAS;oBACjC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,2BAA2B,CAAC;wBAC1B,QAAQ,EAAE,QAAiC;wBAC3C,cAAc;wBACd,YAAY;wBACZ,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;wBAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;wBACzC,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;qBAC1D,CAAC,CAAA;YACR,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC7D,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;aAAM,IAAI,2CAA2C,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC3E,mBAAmB,GAAG,8BAA8B,CAAC;gBACnD,QAAQ,EAAE,QAAiC;gBAC3C,cAAc;gBACd,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAA;YACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;aAAM,IAAI,wCAAwC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACxE,mCAAmC,CACjC,SAAS,EACT,QAAQ,EACR,oCAAoC,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,QAAiC,EAAE,UAAU,CAAC,EACtH,cAAc,EACd,MAAM,CACP,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,cAAc,GAAG,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAA;QACxD,MAAM,IAAI,GAAG,8BAA8B,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC;YACtF,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;QACjF,MAAM,+BAA+B,GAAG,6BAA6B,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QAC9F,MAAM,yBAAyB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAA;QACnH,IAAI,yBAAyB,EAAE,CAAC;YAC9B,0BAA0B,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,CAAA;QACxG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,QAAQ,CAAC,yBAAyB,GAAG,SAAS,CAAA;QAC9C,QAAQ,CAAC,sBAAsB,GAAG,SAAS,CAAA;QAC3C,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;QACzB,QAAQ,CAAC,UAAU,GAAG,cAAc,CAAA;QACpC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACvC,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAA;QAChD,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAA;QACtD,QAAQ,CAAC,eAAe,GAAG,mBAAmB,CAAA;QAC9C,QAAQ,CAAC,YAAY,GAAG,gBAAgB,CAAA;QACxC,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAA;QACnC,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/C,IAAI,+BAA+B,EAAE,CAAC;YACpC,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAA;YACrG,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,wBAAwB,CACtB,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAC7C,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,EAAE,+BAA+B,CAAC,GAAG,CAAC,EAC3F,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,+DAA4C,CAAC,CAAC,+BAAuB,CAAA;QAClI,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,2BAAmB,CAAA;QAC3H,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,yBAAiB,CAAA;QAC5H,CAAC;QACD,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;QAC1E,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC7C,IAAI,yBAAyB,EAAE,CAAC;YAC9B,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,gBAAgB,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACxG,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,SAAS,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC9F,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,MAAM,0CAA0C,GAAG,CACjD,SAAiB,EACjB,MAAc,EACd,QAAyB,EACzB,UAAmB,EACnB,aAAoC,EAC3B,EAAE;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnD,IACE,CAAC,QAAQ;YACT,QAAQ,CAAC,YAAY,KAAK,SAAS;YACnC,QAAQ,CAAC,eAAe,KAAK,SAAS;YACtC,QAAQ,CAAC,cAAc,KAAK,SAAS;YACrC,CAAC,qCAAqC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAClE,CAAC,oCAAoC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACzD,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,cAAc,GAAG,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAA;QACxD,MAAM,IAAI,GAAG,8BAA8B,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;YAC3F,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;QACjF,MAAM,cAAc,GAClB,aAAa,EAAE,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAE,CAAC,CAAA;QACtH,MAAM,yBAAyB,GAC7B,cAAc,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAA;QACrH,IAAI,yBAAyB,EAAE,CAAC;YAC9B,0BAA0B,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1E,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,QAAQ,CAAC,yBAAyB,GAAG,SAAS,CAAA;QAC9C,QAAQ,CAAC,sBAAsB,GAAG,SAAS,CAAA;QAC3C,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;QACzB,QAAQ,CAAC,UAAU,GAAG,cAAc,CAAA;QACpC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;QACvC,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAA;QACvD,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAA;QACtD,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;QAC5E,CAAC;QACD,IAAI,yBAAyB,EAAE,CAAC;YAC9B,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,MAAM,uDAAuD,GAAG,CAC9D,SAAiB,EACjB,cAAsB,EACtB,eAAuB,EACvB,SAAkC,EAClC,cAAuB,EACd,EAAE;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,uBAAuB,GAAG,QAAQ,CAAC,eAAe,CAAA;QACxD,MAAM,mBAAmB,GAAG,sDAAsD,CAAC;YACjF,UAAU,EAAE,uBAAuB;YACnC,eAAe;YACf,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAA;QACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,QAAQ,CAAC,eAAe,GAAG,mBAAmB,CAAA;QAC9C,QAAQ,CAAC,yBAAyB,GAAG;YACnC,cAAc;YACd,eAAe;YACf,SAAS;YACT,cAAc;SACf,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,gCAAgC,CAAC,SAAS,EAAE,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAC5H,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAW,EAAE;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAC/D,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACvD,OAAO,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CAAA;IAClE,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,gBAAwB,EAAE,MAAc,EAAE,EAAE,CAC5F,4BAA4B,CAAC;QAC3B,WAAW,EAAE,IAAI;QACjB,SAAS;QACT,gBAAgB;QAChB,MAAM;QACN,qBAAqB;QACrB,0BAA0B,EAAE,wCAAwC;KACrE,CAAC,CAAA;IAEJ,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAW,EAAE;QACrD,OAAO,sBAAsB,CAAC;YAC5B,WAAW,EAAE,IAAI;YACjB,mBAAmB;YACnB,0BAA0B;YAC1B,iBAAiB;YACjB,mBAAmB;YACnB,0BAA0B;YAC1B,0BAA0B;YAC1B,SAAS;SACV,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,8BAA8B,GAAG,CACrC,SAAiB,EACjB,cAAsB,EACtB,MAAc,EACd,QAAiE,EACjE,UAAsC,EAAE,EAC/B,EAAE;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,eAAe,GACnB,QAAQ,KAAK,SAAS;YACtB,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACjH,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;YACtF,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YACnF,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YACrF,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YACrF,CAAC,0BAA0B,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;YACzE,CAAC,6BAA6B,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;YAClF,CAAC,4BAA4B,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;QAEjF,IAAI,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAC3C,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;YACxB,QAAQ,CAAC,yBAAyB,GAAG,SAAS,CAAA;YAC9C,QAAQ,CAAC,sBAAsB,GAAG,SAAS,CAAA;YAC3C,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAA;YAClC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;YACzC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAA;YAC1C,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;YAC7B,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAA;YACpE,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;YACjD,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAA;YAChD,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAA;YACvD,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAA;YAC/D,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;YAC7C,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAA;YACnD,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;YAC7C,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;YACjD,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,+DAA4C,CAAC,CAAC,+BAAuB,CAAA;YAClI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,2BAAmB,CAAA;YAC3H,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,yBAAiB,CAAA;YAC5H,CAAC;YACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9F,IAAI,CAAC,uBAAuB,EAAE,CAAA;YAChC,CAAC;YACD,IAAI,OAAO,CAAC,gCAAgC,KAAK,IAAI,EAAE,CAAC;gBACtD,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;YAClE,CAAC;YACD,IAAI,OAAO,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;gBAC7C,wBAAwB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAC/C,CAAC;YAED,wBAAwB,CACtB,cAAc,EACd,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,4BAA4B,EACrC,QAAQ,CAAC,iCAAiC,CAC3C,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,QAAQ,IAAI,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACpE,mCAAmC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;YAC1F,OAAO,eAAe,CAAA;QACxB,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,eAAe,CAAC,SAAS,CAAC,CAAA;QAC5B,CAAC;QACD,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC5E,OAAO,eAAe,CAAA;IACxB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAE,MAAc,EAAW,EAAE;QAC5F,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;QACxD,CAAC;QACD,OAAO,8BAA8B,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IACvI,CAAC,CAAA;IAED,MAAM,sBAAsB,GAAG,CAC7B,SAAiB,EACjB,cAAsB,EACtB,MAAc,EACd,QAAyB,EACzB,UAAmB,EACnB,UAAsC,EAAE,EAC/B,EAAE,CACX,8BAA8B,CAC5B,SAAS,EACT,cAAc,EACd,MAAM,EACN,oCAAoC,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,QAAiC,EAAE,UAAU,CAAC,EACtH,OAAO,CACR,CAAA;IAEH,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAE,MAAc,EAAQ,EAAE;QAChG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;QACxD,CAAC;QACD,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,wBAAwB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IACxH,CAAC,CAAA;IAED,MAAM,sBAAsB,GAAG,CAC7B,SAAiB,EACjB,cAAsB,EACtB,MAAc,EACd,QAAqD,EACrD,UAAsC,EAAE,EAClC,EAAE;QACR,6BAA6B,CAAC;YAC5B,WAAW,EAAE,IAAI;YACjB,mBAAmB;YACnB,iBAAiB;YACjB,4BAA4B;YAC5B,wBAAwB;YACxB,0BAA0B;YAC1B,wBAAwB;YACxB,wBAAwB;YACxB,wBAAwB;YACxB,SAAS;YACT,cAAc;YACd,MAAM;YACN,QAAQ;YACR,OAAO;SACR,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,CAC/B,cAAsB,EACtB,YAA4C,EAC5C,4BAAoF,EACpF,iCAA8F,EACxF,EAAE;QACR,mCAAmC,CAAC;YAClC,WAAW,EAAE,IAAI;YACjB,cAAc;YACd,YAAY;YACZ,4BAA4B;YAC5B,iCAAiC;SAClC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,oCAAoC,GAAG,CAC3C,SAAiB,EACjB,cAAsB,EACtB,MAAc,EACd,aAAoC,EACpC,UAAmB,EACnB,EAAE;QACF,OAAO,iCAAiC,CAAC;YACvC,WAAW,EAAE,IAAI;YACjB,SAAS;YACT,cAAc;YACd,MAAM;YACN,aAAa;YACb,UAAU;YACV,0BAA0B,EAAE,wCAAwC;YACpE,sBAAsB,EAAE;gBACtB,uBAAuB;gBACvB,sCAAsC;gBACtC,qCAAqC;gBACrC,mCAAmC;aACpC;YACD,6BAA6B;YAC7B,gCAAgC,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,CACpE,uCAAuC,CAAC,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC;YAChF,yBAAyB;SAC1B,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,CAAC,SAAiB,EAAE,cAAsB,EAAE,MAAc,EAAE,EAAE;QAC7F,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,qBAAqB,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;QACjG,OAAO,oCAAoC,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACzH,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAQ,EAAE;QACvD,eAAe,CAAC,SAAS,CAAC,CAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YAC5C,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACrD,CAAC,CAAC,uDAAuC,4BAAoB,gCAAuB,kCAAwB,CAAC,CAAA;IACjH,CAAC,CAAA;IAED,MAAM,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,GAAG,2BAA2B,CAAC;QACnH,WAAW,EAAE,IAAI;QACjB,cAAc;KACf,CAAC,CAAA;IAEF,MAAM,EAAE,kCAAkC,EAAE,oCAAoC,EAAE,GAAG,sCAAsC,CAAC;QAC1H,WAAW,EAAE,IAAI;QACjB,iBAAiB;QACjB,qCAAqC;QACrC,0BAA0B;QAC1B,wBAAwB;QACxB,8BAA8B;QAC9B,yBAAyB;QACzB,0CAA0C;QAC1C,sBAAsB;KACvB,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM;YAC3C,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE;oBACR,OAAO,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;gBAC1D,CAAC;gBACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,wBAAwB,EAAE,KAAK,CAAC;oBACpE,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,YAAY,CAAC,SAAS;YACpB,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;gBACrC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,yBAAyB,EAAE,KAAK,CAAC;oBACrE,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,iBAAiB,CAAC,SAAS;YACzB,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE;oBACR,oBAAoB,CAAC,SAAS,CAAC,CAAA;gBACjC,CAAC;gBACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,8BAA8B,EAAE,KAAK,CAAC;oBAC1E,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,iCAAiC,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB;YAC/E,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,oCAAoC,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB,CAAC;gBAChG,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,6CAA6C,EAAE,KAAK,CAAC;oBACzF,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,yBAAyB;YACvB,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE;oBACR,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;wBAChF,SAAS;wBACT,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,iBAAiB,EAAE,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;wBACjD,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB,CAAC,CAAC,CAAA;oBACH,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;wBAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACpC,CAAC,CAAC,CAAA;oBACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;oBAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;oBACzB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;oBACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;oBACzB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;oBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;oBAC3B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAA;oBAC7C,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAA;oBAC9C,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAA;oBACjD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAA;oBAC3C,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAA;oBAC3C,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAA;oBACrD,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAA;oBACvD,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAA;oBACxD,0BAA0B,EAAE,CAAA;oBAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;oBAExB,MAAM,iBAAiB,GAAa,EAAE,CAAA;oBACtC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;wBACxC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;4BACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;4BAC/C,OAAM;wBACR,CAAC;wBACD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAE,CAAC,CAAA;wBAC/G,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BACrE,OAAM;wBACR,CAAC;wBACD,IAAI,CAAC;4BACH,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;wBACnD,CAAC;wBAAC,MAAM,CAAC;4BACP,oBAAoB,CAAC,SAAS,CAAC,CAAA;wBACjC,CAAC;wBACD,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBACnC,CAAC,CAAC,CAAA;oBACF,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;oBAC3F,OAAO,iBAAiB,CAAA;gBAC1B,CAAC;gBACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,oCAAoC,EAAE,KAAK,CAAC;oBAChF,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,kBAAkB,CAAC,UAAU,EAAE,mBAAmB;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,CAAC;gBACjE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,gCAAgC,EAAE,KAAK,CAAC;oBAC5E,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,2BAA2B,CAAC,KAAK,EAAE,mBAAmB;YACpD,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE,CACR,0BAA0B,CACxB,IAAI,CAAC,YAAY,CAAC,uBAAuB,EACzC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAC/C,mBAAmB,CACpB;gBACH,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,0CAA0C,EAAE,KAAK,CAAC;oBACtF,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,qBAAqB,CAAC,UAAU,EAAE,mBAAmB;YACnD,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,CAAC;gBAC3G,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,mCAAmC,EAAE,KAAK,CAAC;oBAC/E,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU;YAC/D,OAAO,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,CAAC;gBAChF,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,yBAAyB,CAAC;oBAC5B,OAAO,EAAE,0BAA0B,CAAC,qCAAqC,EAAE,KAAK,CAAC;oBACjF,KAAK;iBACN,CAAC;aACL,CAAC,CAAA;QACJ,CAAC;QACD,cAAc;QACd,sBAAsB;QACtB,0CAA0C;QAC1C,0CAA0C;QAC1C,kCAAkC;QAClC,oCAAoC;QACpC,uDAAuD;QACvD,qBAAqB;QACrB,0BAA0B,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;QAClH,eAAe;QACf,oBAAoB;QACpB,0BAA0B;QAC1B,iCAAiC;YAC/B,0BAA0B,CAAC,KAAK,EAAE,CAAA;YAClC,8BAA8B,GAAG,IAAI,CAAA;QACvC,CAAC;QACD,mCAAmC,KAAI,CAAC;QACxC,yBAAyB;YACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;QACrC,CAAC;QACD,2BAA2B;QAC3B,4BAA4B;QAC5B,qBAAqB;QACrB,8BAA8B,CAAC,KAAK,EAAE,mBAAmB;YACvD,OAAO,qBAAqB,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAC/H,CAAC;QACD,wBAAwB,CAAC,UAAU,EAAE,mBAAmB;YACtD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;YACrE,OAAO,qBAAqB,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,mBAAmB,CAAC,CAAA;QAC9H,CAAC;QACD,yBAAyB;QACzB,iCAAiC,CAAC,SAAS,EAAE,EAAE;YAC7C,iBAAiB,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,2BAA2B,CAAC,OAAO;YACjC,OAAO,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACvD,CAAC;QACD,iCAAiC,CAAC,OAAO;YACvC,2BAA2B,EAAE,CAAA;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACxD,CAAC;QACD,uBAAuB,CAAC,EAAE;YACxB,2BAA2B,EAAE,CAAA;YAC7B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACxC,CAAC;QACD,4CAA4C,CAAC,QAAQ,EAAE,SAAS;YAC9D,2BAA2B,EAAE,CAAA;YAC7B,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACxE,CAAC;QACD,4CAA4C,CAAC,SAAS;YACpD,2BAA2B,EAAE,CAAA;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAA;QACrE,CAAC;QACD,iDAAiD;YAC/C,2BAA2B,EAAE,CAAA;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,iCAAiC,EAAE,CAAA;QACjE,CAAC;QACD,kCAAkC,CAAC,SAAS;YAC1C,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACzD,CAAC;QACD,sCAAsC,CAAC,SAAS;YAC9C,OAAO,iBAAiB,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAA;QAC7D,CAAC;QACD,qCAAqC,CAAC,KAAK;YACzC,OAAO,wBAAwB,CAC7B,IAAI,CAAC,YAAY,CAAC,uBAAuB,EACzC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAChD,CAAA;QACH,CAAC;QACD,+BAA+B,CAAC,UAAU;YACxC,OAAO,wBAAwB,CAC7B,IAAI,CAAC,YAAY,CAAC,iBAAiB,EACnC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CACnD,CAAA;QACH,CAAC;QACD,wBAAwB;YACtB,2BAA2B,EAAE,CAAA;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAA;QACxC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"formula-binding-service.js","sourceRoot":"","sources":["../../../src/engine/services/formula-binding-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { CellValue } from '@bilig/protocol';
2
+ import type { EngineRuntimeState } from '../runtime-state.js';
3
+ export declare function directCriteriaRangeVersionKey(state: Pick<EngineRuntimeState, 'workbook'>, range: {
4
+ sheetName: string;
5
+ rowStart: number;
6
+ rowEnd: number;
7
+ col: number;
8
+ }): string;
9
+ export declare function rememberDirectCriteriaResult(cache: Map<string, CellValue>, key: string, value: CellValue): CellValue;
@@ -0,0 +1,16 @@
1
+ const DIRECT_CRITERIA_AGGREGATE_CACHE_LIMIT = 16_384;
2
+ export function directCriteriaRangeVersionKey(state, range) {
3
+ const sheet = state.workbook.getSheet(range.sheetName);
4
+ return `${range.sheetName}:${range.rowStart}:${range.rowEnd}:${range.col}:${sheet?.columnVersions[range.col] ?? 0}:${sheet?.structureVersion ?? 0}`;
5
+ }
6
+ export function rememberDirectCriteriaResult(cache, key, value) {
7
+ if (cache.size >= DIRECT_CRITERIA_AGGREGATE_CACHE_LIMIT) {
8
+ const firstKey = cache.keys().next().value;
9
+ if (firstKey !== undefined) {
10
+ cache.delete(firstKey);
11
+ }
12
+ }
13
+ cache.set(key, value);
14
+ return value;
15
+ }
16
+ //# sourceMappingURL=formula-evaluation-direct-criteria-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula-evaluation-direct-criteria-cache.js","sourceRoot":"","sources":["../../../src/engine/services/formula-evaluation-direct-criteria-cache.ts"],"names":[],"mappings":"AAGA,MAAM,qCAAqC,GAAG,MAAM,CAAA;AAEpD,MAAM,UAAU,6BAA6B,CAC3C,KAA2C,EAC3C,KAA2E;IAE3E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACtD,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAC/G,KAAK,EAAE,gBAAgB,IAAI,CAC7B,EAAE,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAA6B,EAAE,GAAW,EAAE,KAAgB;IACvG,IAAI,KAAK,CAAC,IAAI,IAAI,qCAAqC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;QAC1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACrB,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type CellValue } from '@bilig/protocol';
2
+ import type { RuntimeFormula } from '../runtime-state.js';
3
+ import type { RuntimeColumnView } from './runtime-column-store-service.js';
4
+ type CellValueReader = (cellIndex: number | undefined) => CellValue;
5
+ export declare const applyDirectCriteriaResultTransforms: (readCellValueByIndex: CellValueReader, formula: RuntimeFormula, value: CellValue) => CellValue;
6
+ export declare const tryEvaluateDirectCriteriaTransformShortCircuit: (readCellValueByIndex: CellValueReader, formula: RuntimeFormula) => CellValue | undefined;
7
+ export declare const numericLikeValueInView: (view: RuntimeColumnView, offset: number) => number | undefined;
8
+ export declare const strictNumericAggregateCandidateInView: (view: RuntimeColumnView, offset: number) => number | undefined;
9
+ export {};
@@ -0,0 +1,68 @@
1
+ import { getBuiltin, isArrayValue } from '@bilig/formula';
2
+ import { ErrorCode, ValueTag } from '@bilig/protocol';
3
+ import { errorValue } from '../../engine-value-utils.js';
4
+ const roundBuiltin = getBuiltin('ROUND');
5
+ const isEmptyCellGuardValue = (value) => value.tag === ValueTag.Empty || (value.tag === ValueTag.String && value.value === '');
6
+ const applyDirectCriteriaResultTransform = (readCellValueByIndex, transform, current) => {
7
+ if (transform.kind === 'if-error') {
8
+ return current.tag === ValueTag.Error ? transform.fallback : current;
9
+ }
10
+ if (transform.kind === 'if-empty-cell') {
11
+ const guard = readCellValueByIndex(transform.cellIndex);
12
+ if (guard.tag === ValueTag.Error) {
13
+ return guard;
14
+ }
15
+ return isEmptyCellGuardValue(guard) ? transform.fallback : current;
16
+ }
17
+ const rounded = roundBuiltin?.(current, transform.digits) ?? errorValue(ErrorCode.Name);
18
+ return isArrayValue(rounded) ? errorValue(ErrorCode.Value) : rounded;
19
+ };
20
+ const applyDirectCriteriaResultTransformsFrom = (readCellValueByIndex, formula, value, startIndex) => {
21
+ const transforms = formula.directCriteria?.resultTransforms;
22
+ if (!transforms || transforms.length === 0) {
23
+ return value;
24
+ }
25
+ let current = value;
26
+ for (let index = startIndex; index < transforms.length; index += 1) {
27
+ current = applyDirectCriteriaResultTransform(readCellValueByIndex, transforms[index], current);
28
+ }
29
+ return current;
30
+ };
31
+ export const applyDirectCriteriaResultTransforms = (readCellValueByIndex, formula, value) => applyDirectCriteriaResultTransformsFrom(readCellValueByIndex, formula, value, 0);
32
+ export const tryEvaluateDirectCriteriaTransformShortCircuit = (readCellValueByIndex, formula) => {
33
+ const transforms = formula.directCriteria?.resultTransforms;
34
+ if (!transforms || transforms.length === 0) {
35
+ return undefined;
36
+ }
37
+ for (let index = 0; index < transforms.length; index += 1) {
38
+ const transform = transforms[index];
39
+ if (transform.kind !== 'if-empty-cell') {
40
+ continue;
41
+ }
42
+ const guard = readCellValueByIndex(transform.cellIndex);
43
+ if (guard.tag === ValueTag.Error) {
44
+ return applyDirectCriteriaResultTransformsFrom(readCellValueByIndex, formula, guard, index + 1);
45
+ }
46
+ if (isEmptyCellGuardValue(guard)) {
47
+ return applyDirectCriteriaResultTransformsFrom(readCellValueByIndex, formula, transform.fallback, index + 1);
48
+ }
49
+ }
50
+ return undefined;
51
+ };
52
+ const readColumnViewTag = (view, offset) => view.readTagAt(offset);
53
+ export const numericLikeValueInView = (view, offset) => {
54
+ switch (readColumnViewTag(view, offset)) {
55
+ case ValueTag.Number:
56
+ return view.readNumberAt(offset);
57
+ case ValueTag.Boolean:
58
+ return view.readNumberAt(offset) !== 0 ? 1 : 0;
59
+ case ValueTag.Empty:
60
+ return 0;
61
+ case ValueTag.String:
62
+ case ValueTag.Error:
63
+ default:
64
+ return undefined;
65
+ }
66
+ };
67
+ export const strictNumericAggregateCandidateInView = (view, offset) => readColumnViewTag(view, offset) === ValueTag.Number ? view.readNumberAt(offset) : undefined;
68
+ //# sourceMappingURL=formula-evaluation-direct-criteria-transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula-evaluation-direct-criteria-transforms.js","sourceRoot":"","sources":["../../../src/engine/services/formula-evaluation-direct-criteria-transforms.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,21 @@
1
1
  import { Effect } from 'effect';
2
2
  import { ErrorCode, MAX_COLS, MAX_ROWS, ValueTag } from '@bilig/protocol';
3
- import { createLookupBuiltinResolver, evaluatePlanResult, formatAddress, getBuiltin, isArrayValue, lowerToPlan, parseCellAddress, parseRangeAddress, } from '@bilig/formula';
3
+ import { createLookupBuiltinResolver, evaluatePlanResult, formatAddress, lowerToPlan, isArrayValue, parseCellAddress, parseRangeAddress, } from '@bilig/formula';
4
4
  import { definedNameValueToCellValue, definedNameValueToReferenceOperand } from '../../engine-metadata-utils.js';
5
5
  import { emptyValue, errorValue } from '../../engine-value-utils.js';
6
6
  import { addEngineCounter } from '../../perf/engine-counters.js';
7
7
  import { EngineFormulaEvaluationError } from '../errors.js';
8
+ import { directCriteriaRangeVersionKey, rememberDirectCriteriaResult } from './formula-evaluation-direct-criteria-cache.js';
9
+ import { applyDirectCriteriaResultTransforms, numericLikeValueInView, strictNumericAggregateCandidateInView, tryEvaluateDirectCriteriaTransformShortCircuit, } from './formula-evaluation-direct-criteria-transforms.js';
8
10
  import { tryEvaluateDirectVectorLookup } from './formula-evaluation-direct-lookup.js';
9
11
  import { tryEvaluateDirectScalar } from './formula-evaluation-direct-scalar.js';
10
12
  import { cellValueCriteriaString, cellValuesEqual, decodeErrorCode, directCriteriaCacheValueKey, directErrorResult, directNumberResult, evaluationErrorMessage, offsetDirectAggregateResult, referenceReplacementKey, } from './formula-evaluation-helpers.js';
11
13
  import { readRuntimeDirectCriteriaOperandValue } from './direct-criteria-operands.js';
12
14
  const DIRECT_AGGREGATE_SCAN_MAX_LENGTH = 64;
13
15
  const DIRECT_AGGREGATE_PREFIX_MIN_LENGTH = 16;
14
- const DIRECT_CRITERIA_AGGREGATE_CACHE_LIMIT = 16_384;
15
16
  export function createEngineFormulaEvaluationService(args) {
16
17
  const emptyChangedCellIndices = [];
17
18
  const directCriteriaAggregateCache = new Map();
18
- const roundBuiltin = getBuiltin('ROUND');
19
- const directCriteriaRangeVersionKey = (range) => {
20
- const sheet = args.state.workbook.getSheet(range.sheetName);
21
- return `${range.sheetName}:${range.rowStart}:${range.rowEnd}:${range.col}:${sheet?.columnVersions[range.col] ?? 0}:${sheet?.structureVersion ?? 0}`;
22
- };
23
- const rememberDirectCriteriaResult = (key, value) => {
24
- if (directCriteriaAggregateCache.size >= DIRECT_CRITERIA_AGGREGATE_CACHE_LIMIT) {
25
- const firstKey = directCriteriaAggregateCache.keys().next().value;
26
- if (firstKey !== undefined) {
27
- directCriteriaAggregateCache.delete(firstKey);
28
- }
29
- }
30
- directCriteriaAggregateCache.set(key, value);
31
- return value;
32
- };
33
19
  const readCellValue = (sheetName, address) => {
34
20
  if (!args.state.workbook.getSheet(sheetName)) {
35
21
  return errorValue(ErrorCode.Ref);
@@ -206,75 +192,11 @@ export function createEngineFormulaEvaluationService(args) {
206
192
  stringifyCriteriaValue: cellValueCriteriaString,
207
193
  });
208
194
  };
209
- const isEmptyCellGuardValue = (value) => value.tag === ValueTag.Empty || (value.tag === ValueTag.String && value.value === '');
210
- const applyDirectCriteriaResultTransform = (transform, current) => {
211
- if (transform.kind === 'if-error') {
212
- return current.tag === ValueTag.Error ? transform.fallback : current;
213
- }
214
- if (transform.kind === 'if-empty-cell') {
215
- const guard = readCellValueByIndex(transform.cellIndex);
216
- if (guard.tag === ValueTag.Error) {
217
- return guard;
218
- }
219
- return isEmptyCellGuardValue(guard) ? transform.fallback : current;
220
- }
221
- const rounded = roundBuiltin?.(current, transform.digits) ?? errorValue(ErrorCode.Name);
222
- return isArrayValue(rounded) ? errorValue(ErrorCode.Value) : rounded;
223
- };
224
- const applyDirectCriteriaResultTransformsFrom = (formula, value, startIndex) => {
225
- const transforms = formula.directCriteria?.resultTransforms;
226
- if (!transforms || transforms.length === 0) {
227
- return value;
228
- }
229
- let current = value;
230
- for (let index = startIndex; index < transforms.length; index += 1) {
231
- current = applyDirectCriteriaResultTransform(transforms[index], current);
232
- }
233
- return current;
234
- };
235
- const applyDirectCriteriaResultTransforms = (formula, value) => applyDirectCriteriaResultTransformsFrom(formula, value, 0);
236
- const tryEvaluateDirectCriteriaTransformShortCircuit = (formula) => {
237
- const transforms = formula.directCriteria?.resultTransforms;
238
- if (!transforms || transforms.length === 0) {
239
- return undefined;
240
- }
241
- for (let index = 0; index < transforms.length; index += 1) {
242
- const transform = transforms[index];
243
- if (transform.kind !== 'if-empty-cell') {
244
- continue;
245
- }
246
- const guard = readCellValueByIndex(transform.cellIndex);
247
- if (guard.tag === ValueTag.Error) {
248
- return applyDirectCriteriaResultTransformsFrom(formula, guard, index + 1);
249
- }
250
- if (isEmptyCellGuardValue(guard)) {
251
- return applyDirectCriteriaResultTransformsFrom(formula, transform.fallback, index + 1);
252
- }
253
- }
254
- return undefined;
255
- };
256
- const readColumnViewTag = (view, offset) => view.readTagAt(offset);
257
- const numericLikeValueInView = (view, offset) => {
258
- switch (readColumnViewTag(view, offset)) {
259
- case ValueTag.Number:
260
- return view.readNumberAt(offset);
261
- case ValueTag.Boolean:
262
- return view.readNumberAt(offset) !== 0 ? 1 : 0;
263
- case ValueTag.Empty:
264
- return 0;
265
- case ValueTag.String:
266
- case ValueTag.Error:
267
- default:
268
- return undefined;
269
- }
270
- };
271
- const strictNumericAggregateCandidateInView = (view, offset) => readColumnViewTag(view, offset) === ValueTag.Number ? view.readNumberAt(offset) : undefined;
272
195
  const tryEvaluateDirectCriteriaAggregate = (formula) => {
273
196
  const directCriteria = formula.directCriteria;
274
- if (!directCriteria) {
197
+ if (!directCriteria)
275
198
  return undefined;
276
- }
277
- const transformShortCircuit = tryEvaluateDirectCriteriaTransformShortCircuit(formula);
199
+ const transformShortCircuit = tryEvaluateDirectCriteriaTransformShortCircuit(readCellValueByIndex, formula);
278
200
  if (transformShortCircuit) {
279
201
  return transformShortCircuit;
280
202
  }
@@ -293,7 +215,7 @@ export function createEngineFormulaEvaluationService(args) {
293
215
  return matches;
294
216
  }
295
217
  if (directCriteria.aggregateKind === 'count') {
296
- return applyDirectCriteriaResultTransforms(formula, directNumberResult(matches.length));
218
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, directNumberResult(matches.length));
297
219
  }
298
220
  const aggregateRange = directCriteria.aggregateRange;
299
221
  if (!aggregateRange) {
@@ -301,12 +223,14 @@ export function createEngineFormulaEvaluationService(args) {
301
223
  }
302
224
  const aggregateCacheKey = [
303
225
  directCriteria.aggregateKind,
304
- directCriteriaRangeVersionKey(aggregateRange),
305
- resolvedPairs.map((pair) => `${directCriteriaRangeVersionKey(pair.range)}:${directCriteriaCacheValueKey(pair.criteria)}`).join('|'),
226
+ directCriteriaRangeVersionKey(args.state, aggregateRange),
227
+ resolvedPairs
228
+ .map((pair) => `${directCriteriaRangeVersionKey(args.state, pair.range)}:${directCriteriaCacheValueKey(pair.criteria)}`)
229
+ .join('|'),
306
230
  ].join('\u0000');
307
231
  const cachedAggregate = directCriteriaAggregateCache.get(aggregateCacheKey);
308
232
  if (cachedAggregate) {
309
- return applyDirectCriteriaResultTransforms(formula, cachedAggregate);
233
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, cachedAggregate);
310
234
  }
311
235
  if (directCriteria.aggregateKind === 'first') {
312
236
  const firstOffset = matches.rows[0];
@@ -320,7 +244,7 @@ export function createEngineFormulaEvaluationService(args) {
320
244
  col: aggregateRange.col,
321
245
  })
322
246
  .readCellValueAt(firstOffset);
323
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, result));
247
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, result));
324
248
  }
325
249
  const aggregateView = args.runtimeColumnStore.getColumnView({
326
250
  sheetName: aggregateRange.sheetName,
@@ -333,7 +257,7 @@ export function createEngineFormulaEvaluationService(args) {
333
257
  for (let index = 0; index < matches.length; index += 1) {
334
258
  sum += numericLikeValueInView(aggregateView, matches.rows[index]) ?? 0;
335
259
  }
336
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, directNumberResult(sum)));
260
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, directNumberResult(sum)));
337
261
  }
338
262
  if (directCriteria.aggregateKind === 'average') {
339
263
  let count = 0;
@@ -346,7 +270,7 @@ export function createEngineFormulaEvaluationService(args) {
346
270
  count += 1;
347
271
  sum += numeric;
348
272
  }
349
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, count === 0 ? directErrorResult(ErrorCode.Div0) : directNumberResult(sum / count)));
273
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, count === 0 ? directErrorResult(ErrorCode.Div0) : directNumberResult(sum / count)));
350
274
  }
351
275
  if (directCriteria.aggregateKind === 'min') {
352
276
  let minimum = Number.POSITIVE_INFINITY;
@@ -357,7 +281,7 @@ export function createEngineFormulaEvaluationService(args) {
357
281
  }
358
282
  minimum = Math.min(minimum, numeric);
359
283
  }
360
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, directNumberResult(minimum === Number.POSITIVE_INFINITY ? 0 : minimum)));
284
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, directNumberResult(minimum === Number.POSITIVE_INFINITY ? 0 : minimum)));
361
285
  }
362
286
  let maximum = Number.NEGATIVE_INFINITY;
363
287
  for (let index = 0; index < matches.length; index += 1) {
@@ -367,7 +291,7 @@ export function createEngineFormulaEvaluationService(args) {
367
291
  }
368
292
  maximum = Math.max(maximum, numeric);
369
293
  }
370
- return applyDirectCriteriaResultTransforms(formula, rememberDirectCriteriaResult(aggregateCacheKey, directNumberResult(maximum === Number.NEGATIVE_INFINITY ? 0 : maximum)));
294
+ return applyDirectCriteriaResultTransforms(readCellValueByIndex, formula, rememberDirectCriteriaResult(directCriteriaAggregateCache, aggregateCacheKey, directNumberResult(maximum === Number.NEGATIVE_INFINITY ? 0 : maximum)));
371
295
  };
372
296
  const tryEvaluateDirectAggregate = (formula) => {
373
297
  const directAggregate = formula.directAggregate;
@@ -742,9 +666,7 @@ export function createEngineFormulaEvaluationService(args) {
742
666
  evaluateDirectLookupFormulaNow: evaluateDirectLookupFormulaNow,
743
667
  evaluateDirectLookupFormula(cellIndex) {
744
668
  return Effect.try({
745
- try: () => {
746
- return evaluateDirectLookupFormulaNow(cellIndex);
747
- },
669
+ try: () => evaluateDirectLookupFormulaNow(cellIndex),
748
670
  catch: (cause) => new EngineFormulaEvaluationError({
749
671
  message: evaluationErrorMessage(`Failed to evaluate direct lookup formula ${cellIndex}`, cause),
750
672
  cause,