@quereus/quereus 4.3.2 → 4.4.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 (142) hide show
  1. package/dist/src/core/database-external-changes.d.ts +2 -2
  2. package/dist/src/core/database-external-changes.d.ts.map +1 -1
  3. package/dist/src/core/database-external-changes.js +12 -9
  4. package/dist/src/core/database-external-changes.js.map +1 -1
  5. package/dist/src/core/database-materialized-views-apply.d.ts +156 -14
  6. package/dist/src/core/database-materialized-views-apply.d.ts.map +1 -1
  7. package/dist/src/core/database-materialized-views-apply.js +370 -65
  8. package/dist/src/core/database-materialized-views-apply.js.map +1 -1
  9. package/dist/src/core/database-materialized-views-plan-builders.d.ts +65 -1
  10. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  11. package/dist/src/core/database-materialized-views-plan-builders.js +347 -8
  12. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  13. package/dist/src/core/database-materialized-views-plans.d.ts +254 -30
  14. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  15. package/dist/src/core/database-materialized-views.d.ts +96 -40
  16. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  17. package/dist/src/core/database-materialized-views.js +172 -116
  18. package/dist/src/core/database-materialized-views.js.map +1 -1
  19. package/dist/src/core/database.d.ts.map +1 -1
  20. package/dist/src/core/database.js +20 -17
  21. package/dist/src/core/database.js.map +1 -1
  22. package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
  23. package/dist/src/func/builtins/aggregate.js +127 -21
  24. package/dist/src/func/builtins/aggregate.js.map +1 -1
  25. package/dist/src/func/registration.d.ts +6 -1
  26. package/dist/src/func/registration.d.ts.map +1 -1
  27. package/dist/src/func/registration.js +16 -0
  28. package/dist/src/func/registration.js.map +1 -1
  29. package/dist/src/planner/analysis/equi-correlation.d.ts +26 -0
  30. package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -0
  31. package/dist/src/planner/analysis/equi-correlation.js +62 -0
  32. package/dist/src/planner/analysis/equi-correlation.js.map +1 -0
  33. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +54 -18
  34. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  35. package/dist/src/planner/analysis/query-rewrite-matcher.js +86 -42
  36. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  37. package/dist/src/planner/analysis/scalar-subqueries.d.ts +28 -0
  38. package/dist/src/planner/analysis/scalar-subqueries.d.ts.map +1 -0
  39. package/dist/src/planner/analysis/scalar-subqueries.js +60 -0
  40. package/dist/src/planner/analysis/scalar-subqueries.js.map +1 -0
  41. package/dist/src/planner/building/select.d.ts.map +1 -1
  42. package/dist/src/planner/building/select.js +15 -1
  43. package/dist/src/planner/building/select.js.map +1 -1
  44. package/dist/src/planner/building/with.d.ts.map +1 -1
  45. package/dist/src/planner/building/with.js +5 -8
  46. package/dist/src/planner/building/with.js.map +1 -1
  47. package/dist/src/planner/cache/materialization-advisory.d.ts +33 -0
  48. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  49. package/dist/src/planner/cache/materialization-advisory.js +164 -28
  50. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  51. package/dist/src/planner/cache/reference-graph.d.ts +0 -4
  52. package/dist/src/planner/cache/reference-graph.d.ts.map +1 -1
  53. package/dist/src/planner/cache/reference-graph.js +5 -13
  54. package/dist/src/planner/cache/reference-graph.js.map +1 -1
  55. package/dist/src/planner/cost/index.d.ts +28 -7
  56. package/dist/src/planner/cost/index.d.ts.map +1 -1
  57. package/dist/src/planner/cost/index.js +26 -0
  58. package/dist/src/planner/cost/index.js.map +1 -1
  59. package/dist/src/planner/nodes/cache-node.d.ts +18 -2
  60. package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
  61. package/dist/src/planner/nodes/cache-node.js +42 -3
  62. package/dist/src/planner/nodes/cache-node.js.map +1 -1
  63. package/dist/src/planner/nodes/cte-node.d.ts +15 -1
  64. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  65. package/dist/src/planner/nodes/cte-node.js +12 -2
  66. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  67. package/dist/src/planner/nodes/recursive-cte-node.d.ts +30 -1
  68. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  69. package/dist/src/planner/nodes/recursive-cte-node.js +30 -3
  70. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  71. package/dist/src/planner/optimizer.d.ts.map +1 -1
  72. package/dist/src/planner/optimizer.js +129 -1
  73. package/dist/src/planner/optimizer.js.map +1 -1
  74. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  75. package/dist/src/planner/rules/cache/rule-cte-optimization.js +8 -1
  76. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  77. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +7 -0
  78. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +1 -1
  79. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +14 -1
  80. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +1 -1
  81. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -1
  82. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +53 -54
  83. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  84. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.d.ts.map +1 -1
  85. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js +6 -0
  86. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js.map +1 -1
  87. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts +25 -0
  88. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -0
  89. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +176 -0
  90. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -0
  91. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +29 -0
  92. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -0
  93. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +66 -0
  94. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -0
  95. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  96. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +1 -54
  97. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  98. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.d.ts +191 -0
  99. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.d.ts.map +1 -0
  100. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +623 -0
  101. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -0
  102. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts +10 -1
  103. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  104. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +242 -51
  105. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  106. package/dist/src/runtime/cache/shared-cache.d.ts +7 -0
  107. package/dist/src/runtime/cache/shared-cache.d.ts.map +1 -1
  108. package/dist/src/runtime/cache/shared-cache.js +34 -1
  109. package/dist/src/runtime/cache/shared-cache.js.map +1 -1
  110. package/dist/src/runtime/emit/aggregate.d.ts +2 -3
  111. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  112. package/dist/src/runtime/emit/aggregate.js +6 -15
  113. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  114. package/dist/src/runtime/emit/cache.d.ts +7 -3
  115. package/dist/src/runtime/emit/cache.d.ts.map +1 -1
  116. package/dist/src/runtime/emit/cache.js +23 -6
  117. package/dist/src/runtime/emit/cache.js.map +1 -1
  118. package/dist/src/runtime/emit/cte.d.ts.map +1 -1
  119. package/dist/src/runtime/emit/cte.js +43 -20
  120. package/dist/src/runtime/emit/cte.js.map +1 -1
  121. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  122. package/dist/src/runtime/emit/dml-executor.js +68 -43
  123. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  124. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  125. package/dist/src/runtime/emit/materialized-view-helpers.js +5 -4
  126. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  127. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  128. package/dist/src/runtime/emit/recursive-cte.js +59 -1
  129. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  130. package/dist/src/runtime/parallel-driver.d.ts +15 -1
  131. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  132. package/dist/src/runtime/parallel-driver.js +17 -1
  133. package/dist/src/runtime/parallel-driver.js.map +1 -1
  134. package/dist/src/runtime/types.d.ts +36 -0
  135. package/dist/src/runtime/types.d.ts.map +1 -1
  136. package/dist/src/runtime/types.js.map +1 -1
  137. package/dist/src/schema/function.d.ts +79 -0
  138. package/dist/src/schema/function.d.ts.map +1 -1
  139. package/dist/src/schema/function.js.map +1 -1
  140. package/dist/src/vtab/memory/layer/scan-layer.js +21 -2
  141. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  142. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-cte-optimization.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-cte-optimization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAO7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAuDxF"}
1
+ {"version":3,"file":"rule-cte-optimization.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-cte-optimization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAO7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA+DxF"}
@@ -38,9 +38,16 @@ export function ruleCteOptimization(node, context) {
38
38
  log('Adding cache to CTE %s (estimated rows: %d)', cteNode.cteName, sourceSize);
39
39
  // Use characteristics-based cache threshold calculation
40
40
  const cacheThreshold = Math.min(CachingAnalysis.getCacheThreshold(source), context.tuning.cte.maxCacheThreshold);
41
+ // NOTE: when the materialization-advisory pass later marks this CTE
42
+ // materialize (multi-referenced or MATERIALIZED hint), this inner
43
+ // CacheNode double-buffers: emitCTE buffers the rows per execution AND
44
+ // this cache buffers them again, driven only by the single first
45
+ // reference. Correct but a wasted buffer — if it shows up in memory
46
+ // profiles, drop the CTE-specific wrap here (needs its own test pass;
47
+ // it also changes single-reference CTE caching behavior).
41
48
  const cachedSource = new CacheNode(source.scope, source, 'memory', cacheThreshold);
42
49
  // Create new CTE with cached source (specific to CTENode implementation)
43
- const result = new CTENode(node.scope, cteNode.cteName, cteNode.columns, cachedSource, cteNode.materializationHint, cteNode.isRecursive);
50
+ const result = new CTENode(node.scope, cteNode.cteName, cteNode.columns, cachedSource, cteNode.materializationHint, cteNode.isRecursive, node instanceof CTENode ? node.materialize : false);
44
51
  log('Created CTE with caching');
45
52
  return result;
46
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rule-cte-optimization.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-cte-optimization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAmB,MAAM,oCAAoC,CAAC;AAEpI,MAAM,GAAG,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAE5D,MAAM,UAAU,mBAAmB,CAAC,IAAc,EAAE,OAAmB;IACtE,0CAA0C;IAC1C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0BAA0B;IAC1B,MAAM,OAAO,GAAG,IAAkB,CAAC;IACnC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEtC,qCAAqC;IACrC,kCAAkC;IAClC,6CAA6C;IAC7C,+BAA+B;IAC/B,MAAM,UAAU,GAAG,uBAAuB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClF,MAAM,WAAW,GAAG,CACnB,OAAO,CAAC,mBAAmB,KAAK,cAAc;QAC9C,CAAC,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CACrE,IAAI,CAAC,eAAe,CAAC;IAEtB,IAAI,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,6CAA6C,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEhF,wDAAwD;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC9B,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CACpC,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,SAAS,CACjC,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,CACd,CAAC;QAEF,yEAAyE;QACzE,MAAM,MAAM,GAAG,IAAI,OAAO,CACzB,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,EACf,YAAY,EACZ,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,WAAW,CACnB,CAAC;QAEF,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,2BAA2B;AACzC,CAAC"}
1
+ {"version":3,"file":"rule-cte-optimization.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-cte-optimization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAmB,MAAM,oCAAoC,CAAC;AAEpI,MAAM,GAAG,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAE5D,MAAM,UAAU,mBAAmB,CAAC,IAAc,EAAE,OAAmB;IACtE,0CAA0C;IAC1C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0BAA0B;IAC1B,MAAM,OAAO,GAAG,IAAkB,CAAC;IACnC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEtC,qCAAqC;IACrC,kCAAkC;IAClC,6CAA6C;IAC7C,+BAA+B;IAC/B,MAAM,UAAU,GAAG,uBAAuB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClF,MAAM,WAAW,GAAG,CACnB,OAAO,CAAC,mBAAmB,KAAK,cAAc;QAC9C,CAAC,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CACrE,IAAI,CAAC,eAAe,CAAC;IAEtB,IAAI,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,6CAA6C,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEhF,wDAAwD;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC9B,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CACpC,CAAC;QAEF,oEAAoE;QACpE,kEAAkE;QAClE,uEAAuE;QACvE,iEAAiE;QACjE,oEAAoE;QACpE,sEAAsE;QACtE,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAI,SAAS,CACjC,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,CACd,CAAC;QAEF,yEAAyE;QACzE,MAAM,MAAM,GAAG,IAAI,OAAO,CACzB,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,EACf,YAAY,EACZ,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,WAAW,EACnB,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAClD,CAAC;QAEF,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,2BAA2B;AACzC,CAAC"}
@@ -12,6 +12,13 @@
12
12
  *
13
13
  * Benefits: Materializes the subquery result once and replays from cache on subsequent
14
14
  * evaluations, reducing O(N * K) CTE/subquery evaluations to O(K + N * K_cached)
15
+ *
16
+ * The CacheNode is built in EAGER mode: emitIn's pure streaming consumer returns on
17
+ * the first matching row, which would abort a streaming-first cache mid-build and leave
18
+ * it uncommitted (so every outer row re-opens the source). Eager mode drains + commits
19
+ * the buffer on the first evaluation before yielding any row, so IN's first-match
20
+ * short-circuit cannot defeat the cache. Safe here because the rule already gates on
21
+ * uncorrelated + functional, so the materialized set is identical across outer rows.
15
22
  */
16
23
  import type { PlanNode } from '../../nodes/plan-node.js';
17
24
  import type { OptContext } from '../../framework/context.js';
@@ -1 +1 @@
1
- {"version":3,"file":"rule-in-subquery-cache.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-in-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAS7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAoDxF"}
1
+ {"version":3,"file":"rule-in-subquery-cache.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-in-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAS7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA0DxF"}
@@ -12,6 +12,13 @@
12
12
  *
13
13
  * Benefits: Materializes the subquery result once and replays from cache on subsequent
14
14
  * evaluations, reducing O(N * K) CTE/subquery evaluations to O(K + N * K_cached)
15
+ *
16
+ * The CacheNode is built in EAGER mode: emitIn's pure streaming consumer returns on
17
+ * the first matching row, which would abort a streaming-first cache mid-build and leave
18
+ * it uncommitted (so every outer row re-opens the source). Eager mode drains + commits
19
+ * the buffer on the first evaluation before yielding any row, so IN's first-match
20
+ * short-circuit cannot defeat the cache. Safe here because the rule already gates on
21
+ * uncorrelated + functional, so the materialized set is identical across outer rows.
15
22
  */
16
23
  import { createLogger } from '../../../common/logger.js';
17
24
  import { InNode } from '../../nodes/subquery.js';
@@ -47,7 +54,13 @@ export function ruleInSubqueryCache(node, context) {
47
54
  }
48
55
  log('Wrapping uncorrelated IN-subquery source in CacheNode');
49
56
  const cacheThreshold = Math.min(CachingAnalysis.getCacheThreshold(source), context.tuning.cte.maxCacheThreshold);
50
- const cachedSource = new CacheNode(source.scope, source, 'memory', cacheThreshold);
57
+ // NOTE: eager drains the whole subquery on the first eval, so a low-cardinality
58
+ // outer relation (e.g. one row, or an early LIMIT) pays the full drain and loses
59
+ // IN's first-match early-exit. Harmless for small sources; if large-source +
60
+ // low-outer-cardinality IN-subqueries show up as slow, gate eager (or the whole
61
+ // rule) on estimated outer cardinality.
62
+ const cachedSource = new CacheNode(source.scope, source, 'memory', cacheThreshold, true // eager: defeat IN's first-match short-circuit that would abort a streaming build
63
+ );
51
64
  return new InNode(inNode.scope, inNode.expression, inNode.condition, cachedSource, inNode.values);
52
65
  }
53
66
  //# sourceMappingURL=rule-in-subquery-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-in-subquery-cache.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-in-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,GAAG,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,IAAc,EAAE,OAAmB;IACtE,kDAAkD;IAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,EAAE,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,IAAc,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,kCAAkC;IAChD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,0CAA0C;IAC1C,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC/D,GAAG,CAAC,6CAA6C,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,oEAAoE;IACpE,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,+DAA+D,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,GAAG,CAAC,uDAAuD,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC9B,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CACpC,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,SAAS,CACjC,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,CACd,CAAC;IAEF,OAAO,IAAI,MAAM,CAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,YAAY,EACZ,MAAM,CAAC,MAAM,CACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"rule-in-subquery-cache.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-in-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,GAAG,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,IAAc,EAAE,OAAmB;IACtE,kDAAkD;IAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,EAAE,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,IAAc,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,kCAAkC;IAChD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,0CAA0C;IAC1C,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC/D,GAAG,CAAC,6CAA6C,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,oEAAoE;IACpE,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,+DAA+D,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,GAAG,CAAC,uDAAuD,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC9B,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CACpC,CAAC;IAEF,gFAAgF;IAChF,iFAAiF;IACjF,6EAA6E;IAC7E,gFAAgF;IAChF,wCAAwC;IACxC,MAAM,YAAY,GAAG,IAAI,SAAS,CACjC,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,IAAI,CAAE,kFAAkF;KACxF,CAAC;IAEF,OAAO,IAAI,MAAM,CAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,YAAY,EACZ,MAAM,CAAC,MAAM,CACb,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-materialized-view-rewrite.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-materialized-view-rewrite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAiD,MAAM,0BAA0B,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA2C7D,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAgChG"}
1
+ {"version":3,"file":"rule-materialized-view-rewrite.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-materialized-view-rewrite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAiD,MAAM,0BAA0B,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA+C7D,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAgChG"}
@@ -41,9 +41,10 @@ import { AggregateNode } from '../../nodes/aggregate-node.js';
41
41
  import { AggregateFunctionCallNode } from '../../nodes/aggregate-function.js';
42
42
  import { ScalarFunctionCallNode } from '../../nodes/function.js';
43
43
  import { TableReferenceNode, ColumnReferenceNode } from '../../nodes/reference.js';
44
- import { BinaryOpNode, LiteralNode } from '../../nodes/scalar.js';
44
+ import { BinaryOpNode } from '../../nodes/scalar.js';
45
45
  import { requireVtabModule } from '../../../schema/table.js';
46
- import { isAggregateFunctionSchema, isScalarFunctionSchema } from '../../../schema/function.js';
46
+ import { isAggregateFunctionSchema } from '../../../schema/function.js';
47
+ import { createAggregateFunction, createScalarFunction } from '../../../func/registration.js';
47
48
  import { FunctionFlags } from '../../../common/constants.js';
48
49
  import { seqScanCost, filterCost, projectCost, aggregateCost, hashJoinCost } from '../../cost/index.js';
49
50
  import { analyzeQueryFragment, matchFragmentToMv, analyzeAggregateFragment, matchAggregateFragmentToMv, analyzeJoinQueryFragment, matchJoinFragmentToMv, } from '../../analysis/query-rewrite-matcher.js';
@@ -151,12 +152,18 @@ function rewriteAggregate(node, context, mvs, isDeterministic) {
151
152
  return null;
152
153
  const shape = frag.shape;
153
154
  const baseQualified = `${shape.baseTable.schemaName}.${shape.baseTable.name}`.toLowerCase();
155
+ // Resolve a fragment/partial aggregate's schema (its declared algebra) by (name, argc)
156
+ // off the live function registry — the source of truth for rollup decomposability.
157
+ const resolveAggregate = (name, argc) => {
158
+ const fn = sm.findFunction(name, argc) ?? sm.findFunction(name, -1);
159
+ return fn && isAggregateFunctionSchema(fn) ? fn : undefined;
160
+ };
154
161
  const matches = [];
155
162
  for (const mv of mvs) {
156
163
  if (mv.derivation.sourceTables.length !== 1 || mv.derivation.sourceTables[0] !== baseQualified)
157
164
  continue;
158
165
  const backing = sm.getTable(mv.schemaName, mv.name);
159
- const res = matchAggregateFragmentToMv(shape, mv, backing, isDeterministic);
166
+ const res = matchAggregateFragmentToMv(shape, mv, backing, isDeterministic, resolveAggregate);
160
167
  if (res.match)
161
168
  matches.push(res.match);
162
169
  }
@@ -520,7 +527,6 @@ function exprOf(node) {
520
527
  */
521
528
  function buildRollupReplacement(aggNode, match, context) {
522
529
  const scope = aggNode.scope;
523
- const sm = context.db.schemaManager;
524
530
  const rollup = match.rollup;
525
531
  const built = buildBackingSource(scope, match, context);
526
532
  if (!built)
@@ -528,18 +534,15 @@ function buildRollupReplacement(aggNode, match, context) {
528
534
  const { source, backingAttrs } = built;
529
535
  // Re-aggregate GROUP BY: a ColumnReference onto each backing group-key column.
530
536
  const groupBy = rollup.groupKeyBackingCols.map(bc => colRefOnto(scope, backingAttrs[bc], bc));
531
- // Flattened primitive recombine aggregates; `primIdx[ri]` holds the indices (into
532
- // this list) recipe `ri` consumes (avg consumes two `sum`s, others one).
537
+ // Flattened re-aggregations; `primIdx[ri]` holds the indices (into this list) recipe
538
+ // `ri` consumes a `compose` recipe consumes one per partial (avg 2), a `merge` one.
533
539
  const primitives = [];
534
540
  const primIdx = [];
535
541
  for (const recipe of rollup.aggregates) {
536
542
  const idxs = [];
537
- for (const prim of primitiveAggsFor(recipe)) {
538
- const agg = buildReaggAggregate(scope, sm, prim.fn, backingAttrs[prim.backingCol], prim.backingCol);
539
- if (!agg)
540
- return null;
543
+ for (const reagg of mergeReaggsFor(recipe)) {
541
544
  idxs.push(primitives.length);
542
- primitives.push(agg);
545
+ primitives.push(buildReaggAggregate(scope, reagg, backingAttrs));
543
546
  }
544
547
  primIdx.push(idxs);
545
548
  }
@@ -555,62 +558,58 @@ function buildRollupReplacement(aggNode, match, context) {
555
558
  for (let ri = 0; ri < rollup.aggregates.length; ri++) {
556
559
  const recipe = rollup.aggregates[ri];
557
560
  const primRefs = primIdx[ri].map(k => colRefOnto(scope, reaggAttrs[groupCount + k], groupCount + k));
558
- const node = buildRecipeOutput(scope, sm, recipe, primRefs);
559
- if (!node)
560
- return null;
561
- projections.push({ node, alias: recipe.outAttr.name, attributeId: recipe.outAttr.id });
561
+ projections.push({ node: buildRecipeOutput(scope, recipe, primRefs), alias: recipe.outAttr.name, attributeId: recipe.outAttr.id });
562
562
  }
563
563
  const fragAttrs = aggNode.getAttributes();
564
564
  return new ProjectNode(scope, reagg, projections, undefined, fragAttrs, false);
565
565
  }
566
- /** The primitive re-aggregations a recipe consumes: `count` recombines via `sum`;
567
- * `avg` via two `sum`s (over the stored sum and count); the rest are 1:1. */
568
- function primitiveAggsFor(recipe) {
566
+ /** The stored-partial re-aggregations a recipe consumes: a `merge` recipe folds its one
567
+ * stored partial; a `compose` recipe folds each of its decomposition partials; a
568
+ * `passthrough` (exact-key) never reaches the rollup builder. */
569
+ function mergeReaggsFor(recipe) {
569
570
  switch (recipe.kind) {
570
- case 'sum': return [{ fn: 'sum', backingCol: recipe.backingCols[0] }];
571
- case 'min': return [{ fn: 'min', backingCol: recipe.backingCols[0] }];
572
- case 'max': return [{ fn: 'max', backingCol: recipe.backingCols[0] }];
573
- case 'count': return [{ fn: 'sum', backingCol: recipe.backingCols[0] }];
574
- case 'avg': return [{ fn: 'sum', backingCol: recipe.backingCols[0] }, { fn: 'sum', backingCol: recipe.backingCols[1] }];
575
- default: {
576
- const _exhaustive = recipe.kind;
577
- void _exhaustive;
578
- return [];
579
- }
571
+ case 'merge': return [recipe.reagg];
572
+ case 'compose': return recipe.partials;
573
+ case 'passthrough': return [];
580
574
  }
581
575
  }
582
- /** Build a re-aggregation `fn(backingCol)` (a non-distinct `sum`/`min`/`max`). */
583
- function buildReaggAggregate(scope, sm, fn, backingAttr, backingCol) {
584
- const schema = sm.findFunction(fn, 1);
585
- if (!schema || !isAggregateFunctionSchema(schema))
586
- return undefined;
576
+ /**
577
+ * Build the re-aggregation of one stored partial, generically from the stored
578
+ * aggregate's declared algebra: a synthetic aggregate that folds each stored (finalized)
579
+ * partial through the aggregate's own `merge ∘ decode`, then its own `finalize`. This
580
+ * reconstructs `f(x)` over the rolled-up groups for ANY directly-mergeable aggregate —
581
+ * `sum`←sum, `count`←sum-of-counts, `min`/`max`←tightening, and any UDAF declaring
582
+ * `merge` + `decode` — with no aggregate-name switch. The empty-group value falls out of
583
+ * `finalize(identity)` (count→0, sum/min/max→NULL), so no coalesce is emitted.
584
+ */
585
+ function buildReaggAggregate(scope, reagg, backingAttrs) {
586
+ const { schema, backingCol } = reagg;
587
+ const backingAttr = backingAttrs[backingCol];
587
588
  const colRef = colRefOnto(scope, backingAttr, backingCol);
588
- const fnExpr = { type: 'function', name: fn, args: [colRef.expression], distinct: false };
589
+ // The matcher admits this recipe only when merge + decode are declared.
590
+ const merge = schema.algebra.merge;
591
+ const decode = schema.algebra.decode;
592
+ const reaggSchema = createAggregateFunction({ name: schema.name, numArgs: 1, initialValue: schema.initialValue, returnType: schema.returnType, deterministic: true }, (acc, v) => merge(acc, decode(v)), schema.finalizeFunction);
593
+ const fnExpr = { type: 'function', name: schema.name, args: [colRef.expression], distinct: false };
589
594
  const inferred = schema.inferReturnType ? schema.inferReturnType([backingAttr.type.logicalType]) : schema.returnType;
590
- const node = new AggregateFunctionCallNode(scope, fnExpr, fn, schema, [colRef], false, undefined, undefined, inferred);
591
- return { expression: node, alias: `${fn}(${backingAttr.name})` };
595
+ const node = new AggregateFunctionCallNode(scope, fnExpr, schema.name, reaggSchema, [colRef], false, undefined, undefined, inferred);
596
+ return { expression: node, alias: `${schema.name}(${backingAttr.name})` };
592
597
  }
593
598
  /**
594
- * Recombine a recipe's re-aggregated primitive(s) into the fragment's output scalar:
595
- * - `sum`/`min`/`max` — passthrough of the single primitive.
596
- * - `count` — `coalesce(sum, 0)`: the re-aggregated `sum` is NULL only over zero
597
- * backing rows (the empty global group), where `count` must be 0, not NULL.
598
- * - `avg` — `sum / count` (Quereus `/` is real division; NULL/0 over zero rows NULL).
599
+ * Recombine a recipe's re-aggregated partial(s) into the fragment's output scalar:
600
+ * - `merge` — passthrough of the single re-aggregated partial.
601
+ * - `compose` — apply the aggregate's declared `decompose.combine` over the partials,
602
+ * wrapped as a synthetic scalar function so the JS combine runs per output row (avg's
603
+ * `sum/count` with its NULL/0 guard lives inside `combine`, so it falls out here).
599
604
  */
600
- function buildRecipeOutput(scope, sm, recipe, primRefs) {
601
- if (recipe.kind === 'avg') {
602
- const ast = { type: 'binary', operator: '/', left: primRefs[0].expression, right: primRefs[1].expression };
603
- return new BinaryOpNode(scope, ast, primRefs[0], primRefs[1]);
604
- }
605
- if (recipe.kind === 'count') {
606
- const schema = sm.findFunction('coalesce', 2) ?? sm.findFunction('coalesce', -1);
607
- if (!schema || !isScalarFunctionSchema(schema))
608
- return undefined;
609
- const zero = new LiteralNode(scope, { type: 'literal', value: 0 });
610
- const ast = { type: 'function', name: 'coalesce', args: [primRefs[0].expression, zero.expression] };
611
- return new ScalarFunctionCallNode(scope, ast, schema, [primRefs[0], zero]);
605
+ function buildRecipeOutput(scope, recipe, primRefs) {
606
+ if (recipe.kind === 'compose') {
607
+ const combine = recipe.combine;
608
+ const combineSchema = createScalarFunction({ name: 'agg_combine', numArgs: primRefs.length, returnType: recipe.outAttr.type, deterministic: true }, (...args) => combine(args));
609
+ const fnExpr = { type: 'function', name: 'agg_combine', args: primRefs.map(r => r.expression) };
610
+ return new ScalarFunctionCallNode(scope, fnExpr, combineSchema, [...primRefs], recipe.outAttr.type);
612
611
  }
613
- // sum / min / max — passthrough of the single re-aggregated partial.
612
+ // merge — passthrough of the single re-aggregated partial.
614
613
  return primRefs[0];
615
614
  }
616
615
  //# sourceMappingURL=rule-materialized-view-rewrite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-materialized-view-rewrite.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-materialized-view-rewrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-materialized-view-rewrite.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-materialized-view-rewrite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAiB,MAAM,+BAA+B,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GAMrB,MAAM,yCAAyC,CAAC;AAIjD,MAAM,GAAG,GAAG,YAAY,CAAC,0CAA0C,CAAC,CAAC;AAErE;;;qEAGqE;AACrE,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAE5C;yEACyE;AACzE,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B;qFACqF;AACrF,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAM,UAAU,2BAA2B,CAAC,IAAc,EAAE,OAAmB;IAC9E,2EAA2E;IAC3E,gFAAgF;IAChF,4EAA4E;IAC5E,mFAAmF;IACnF,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5D,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC;IACpC,+EAA+E;IAC/E,4EAA4E;IAC5E,yBAAyB;IACzB,IAAI,EAAE,CAAC,mCAAmC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,sBAAsB,EAAE,CAAC;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,2EAA2E;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,wCAAwC;IACxC,MAAM,eAAe,GAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACxD,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC,CAAC;IAEF,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACjC,4EAA4E;QAC5E,2EAA2E;QAC3E,OAAO,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC;eAC/D,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI,YAAY,aAAa;QAAE,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;IAChG,OAAO,IAAI,CAAC;AACb,CAAC;AAMD,oFAAoF;AACpF,SAAS,uBAAuB,CAC/B,IAAiB,EACjB,OAAmB,EACnB,GAAW,EACX,eAAiC;IAEjC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC;IACpC,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE5F,2EAA2E;IAC3E,gEAAgE;IAChE,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa;YAAE,SAAS;QACzG,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3F,IAAI,IAAuD,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC;QAChH,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjG,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,IAAI,IAAI,QAAQ;YAAE,SAAS,CAAC,4CAA4C;QAC5E,IAAI,CAAC,IAAI;eACL,IAAI,GAAG,IAAI,CAAC,IAAI;eAChB,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACxF,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;IACF,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,mDAAmD,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACxB,IAAmB,EACnB,OAAmB,EACnB,GAAW,EACX,eAAiC;IAEjC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC;IACpC,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE5F,uFAAuF;IACvF,mFAAmF;IACnF,MAAM,gBAAgB,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAC1D,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC,CAAC;IAEF,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa;YAAE,SAAS;QACzG,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,0BAA0B,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC9F,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,+EAA+E;IAC/E,gFAAgF;IAChF,+EAA+E;IAC/E,yDAAyD;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;IAErF,IAAI,IAAuD,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAO,CAAC;QACzB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK;YACxB,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;YAClF,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACtI,IAAI,IAAI,IAAI,QAAQ;YAAE,SAAS,CAAC,4CAA4C;QAC5E,IAAI,CAAC,IAAI;eACL,IAAI,GAAG,IAAI,CAAC,IAAI;eAChB,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACxF,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;IACF,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAO,CAAC,KAAK;QAC3C,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAQ,8CAA8C;QACnG,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,mCAAmC;IACzF,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,GAAG,CAAC,4CAA4C,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAC3B,IAAiB,EACjB,OAAmB,EACnB,GAAW,EACX,eAAiC;IAEjC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC;IACpC,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAE5D,kFAAkF;IAClF,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QACzD,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;QAClE,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACnF,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,4EAA4E;IAC5E,2EAA2E;IAC3E,IAAI,IAAuD,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAS,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvG,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,IAAI,IAAI,QAAQ;YAAE,SAAS,CAAC,4CAA4C;QAC5E,IAAI,CAAC,IAAI;eACL,IAAI,GAAG,IAAI,CAAC,IAAI;eAChB,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACxF,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;IACF,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,wCAAwC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAuC,CAAC;AAE9E,SAAS,iBAAiB,CAAC,EAAoB,EAAE,EAAyB;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtB,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,IAAI,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/E,IAAI,IAAI,GAA8B,IAAI,CAAC;IAC3C,IAAI,CAAC;QACJ,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,qCAAqC,CAAC,GAAG,EAAE;YAClE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAwB,CAAC,CAAC;YACpD,OAAQ,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAoC,IAAI,IAAI,CAAC;QAC3E,CAAC,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,IAAI,GAAG,IAAI,CAAC,CAAC,wDAAwD;IACtE,CAAC;IACD,IAAI,IAAI,KAAK,IAAI;QAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;;QAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;2EAG2E;AAC3E,SAAS,uBAAuB,CAAC,IAAwB,EAAE,EAAoB;IAC9E,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;IACrG,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,oEAAoE;AACpE,SAAS,oBAAoB,CAAC,IAAwB,EAAE,MAA4B,EAAE;IACrF,IAAI,IAAI,YAAY,kBAAkB,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,GAAG,CAAC;IAAC,CAAC;IACvE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;QAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,qFAAqF;AACrF,SAAS,aAAa,CAAC,KAA2C;IACjE,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC;AAED,+DAA+D;AAC/D,SAAS,aAAa,CAAC,IAAY,EAAE,SAAkB,EAAE,QAAgB;IACxE,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAa,EAAE,SAAkB,EAAE,QAAgB;IAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,4CAA4C;IACnE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI;UAClD,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3E,CAAC;AAED,6DAA6D;AAC7D,SAAS,QAAQ,CAAC,IAAY,EAAE,WAAoB,EAAE,QAAgB;IACrE,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,OAAO,CAAC,IAAwB;IACxC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,WAA+B,EAAE,QAAgB,EAAE,UAAmB;IACjG,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC/F,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzF,CAAC;AAED,gFAAgF;AAEhF;;6EAE6E;AAC7E,SAAS,cAAc,CAAC,QAAgB,EAAE,YAAoB;IAC7D,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,+EAA+E;AAC/E,SAAS,eAAe,CAAC,KAAmB;IAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;IAC1C,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,WAA+B,EAAE,QAAgB,EAAE,cAAsB;IAC7G,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,QAAQ;QAAE,OAAO,WAAW,CAAC;IAC/F,OAAO,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,wEAAwE;AACxE,SAAS,gBAAgB,CAAC,QAAgB,EAAE,SAAkB,EAAE,WAAmB;IAClF,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC9G,CAAC;AAED,4FAA4F;AAC5F,SAAS,YAAY,CAAC,QAAgB,EAAE,WAAoB,EAAE,QAAgB;IAC7E,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC3G,CAAC;AAED,qFAAqF;AACrF,SAAS,aAAa,CAAC,QAAgB,EAAE,WAAoB,EAAE,WAAmB,EAAE,QAAgB;IACnG,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACpE,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CAAC,YAAgC,EAAE,KAAmB,EAAE,OAAmB;IACnG,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IACjC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEvC,8EAA8E;IAC9E,mFAAmF;IACnF,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACnF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAwB,EAAE,KAAK,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAC1B,KAAY,EACZ,KAAmB,EACnB,OAAmB;IAEnB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,kBAAkB,CACxC,KAAK,EACL,OAAO,EACP,iBAAiB,CAAC,OAAO,CAAC,EAC1B,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,KAAK,EACL,OAAO,CAAC,EAAE,CAAC,aAAa,CACxB,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;IAChD,IAAI,MAAM,GAAuB,IAAI,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjF,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACjC,CAAC;AAED;2FAC2F;AAC3F,SAAS,UAAU,CAAC,KAAY,EAAE,IAAe,EAAE,GAAW;IAC7D,OAAO,IAAI,mBAAmB,CAC7B,KAAK,EACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAoB,EACrD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,GAAG,CACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CACtB,IAAoB,EACpB,KAAmB,EACnB,YAAkC,EAClC,KAA2B;IAE3B,IAAI,IAAI,YAAY,mBAAmB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,wBAAwB;YAChD,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YACtD,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,cAAc,CAAC,KAAuB,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAmB,CAAC;AACzD,CAAC;AAED,kFAAkF;AAClF,SAAS,MAAM,CAAC,KAAgC,EAAE,KAA2B;IAC5E,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAmB;YAC3B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACvB,CAAC;QACF,GAAG,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,2EAA2E;AAC3E,SAAS,MAAM,CAAC,IAAoB;IACnC,MAAM,IAAI,GAAI,IAAwC,CAAC,UAAU,CAAC;IAClE,OAAO,IAAI,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAqB,CAAC;AAClE,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,OAAsB,EAAE,KAAmB,EAAE,OAAmB;IAC/F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAO,CAAC;IAE7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEvC,+EAA+E;IAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAE9F,qFAAqF;IACrF,wFAAwF;IACxF,MAAM,UAAU,GAAoD,EAAE,CAAC;IACvE,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAElC,yEAAyE;IACzE,uFAAuF;IACvF,MAAM,WAAW,GAAmE,EAAE,CAAC;IACvF,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QAC3C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IACH,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;QACrG,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACpI,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1C,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAwB,EAAE,KAAK,CAAC,CAAC;AAC/F,CAAC;AAED;;kEAEkE;AAClE,SAAS,cAAc,CAAC,MAAuB;IAC9C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,SAAS,CAAC,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC;QACvC,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;AACF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAC3B,KAAY,EACZ,KAAiB,EACjB,YAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC1D,wEAAwE;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAQ,CAAC,KAAK,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAQ,CAAC,MAAO,CAAC;IACvC,MAAM,WAAW,GAAG,uBAAuB,CAC1C,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,EACxH,CAAC,GAAa,EAAE,CAAW,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAC/D,MAAM,CAAC,gBAAgB,CACvB,CAAC;IACF,MAAM,MAAM,GAAqB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrH,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IACrH,MAAM,IAAI,GAAG,IAAI,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrI,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CACzB,KAAY,EACZ,MAAuB,EACvB,QAAwC;IAExC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,aAAa,GAAG,oBAAoB,CACzC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EACvG,CAAC,GAAG,IAAgB,EAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAChD,CAAC;QACF,MAAM,MAAM,GAAqB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAClH,OAAO,IAAI,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC;IACD,2DAA2D;IAC3D,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-mutating-subquery-cache.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-mutating-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAO7D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA2D/F"}
1
+ {"version":3,"file":"rule-mutating-subquery-cache.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-mutating-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAO7D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAiE/F"}
@@ -48,6 +48,12 @@ export function ruleMutatingSubqueryCache(node, _context) {
48
48
  const cachedRightSide = new CacheNode(rightSide.scope, rightSide, 'memory', threshold);
49
49
  // Create new join node with cached right side
50
50
  // Note: We still need to use specific constructor since we don't have a generic join builder yet
51
+ // NOTE: this raw constructor call drops `existence` — a side-effect-bearing
52
+ // right side on a join that also carries `exists … as` flag columns would
53
+ // lose those flags. join-physical-selection skips existence joins, but this
54
+ // rule does not guard them. The sibling rule-nested-loop-right-cache uses
55
+ // `withChildren` (which threads `existence` verbatim) precisely to avoid
56
+ // this; migrate this rule to `withChildren` if existence joins ever reach it.
51
57
  const result = new JoinNode(node.scope, joinNode.getLeftSource(), cachedRightSide, joinNode.getJoinType(), joinNode.getJoinCondition(),
52
58
  // Special case: for JOINs, we also need to check if any of the join conditions
53
59
  // reference columns from the mutating subquery (via USING clause)
@@ -1 +1 @@
1
- {"version":3,"file":"rule-mutating-subquery-cache.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-mutating-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,eAAe,EAAoB,MAAM,oCAAoC,CAAC;AAErI,MAAM,GAAG,GAAG,YAAY,CAAC,wCAAwC,CAAC,CAAC;AAEnE,MAAM,UAAU,yBAAyB,CAAC,IAAc,EAAE,QAAoB;IAC7E,2CAA2C;IAC3C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,sEAAsE;IACtE,8EAA8E;IAC9E,IAAI,CAAC,CAAC,IAAI,YAAY,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAE9D,oCAAoC;IACpC,MAAM,QAAQ,GAAG,IAAmB,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE5C,4DAA4D;IAC5D,MAAM,cAAc,GAAG,iCAAiC,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACb,CAAC;IAED,wCAAwC;IACxC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrE,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAEpF,8DAA8D;IAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAE/D,wCAAwC;IACxC,MAAM,eAAe,GAAG,IAAI,SAAS,CACpC,SAAS,CAAC,KAAK,EACf,SAAS,EACT,QAAQ,EACR,SAAS,CACT,CAAC;IAEF,8CAA8C;IAC9C,iGAAiG;IACjG,MAAM,MAAM,GAAG,IAAI,QAAQ,CAC1B,IAAI,CAAC,KAAK,EACV,QAAQ,CAAC,aAAa,EAAE,EACxB,eAAe,EACf,QAAQ,CAAC,WAAW,EAAE,EACtB,QAAQ,CAAC,gBAAgB,EAAE;IAC3B,+EAA+E;IAC/E,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,CAC1B,CAAC;IAEF,GAAG,CAAC,8EAA8E,EAAE,SAAS,CAAC,CAAC;IAC/F,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,iCAAiC,CAAC,IAAc;IACxD,oCAAoC;IACpC,IAAI,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iCAAiC;IACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,IAAI,iCAAiC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,uEAAuE;IACvE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QAC5C,IAAI,iCAAiC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"rule-mutating-subquery-cache.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-mutating-subquery-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Rule: Nested-Loop Right-Side Cache Injection
3
+ *
4
+ * Required Characteristics:
5
+ * - Node is a logical JoinNode that survived physical selection — i.e. a
6
+ * nested-loop join (equi-joins were already lowered to hash/merge, which
7
+ * materialize their build side on their own).
8
+ * - Join type is left-driven (`inner` / `left` / `cross` / `semi` / `anti`):
9
+ * the runtime re-opens the right pipeline once per left row
10
+ * (`emitLoopJoin.driveFromLeft`). `right` / `full` drive from the right and
11
+ * scan each side once, so caching their right side only wastes memory.
12
+ * - Right side is pure (no side effects — that is the mutating-subquery-cache
13
+ * rule's job), deterministic, uncorrelated, and small enough to materialize.
14
+ *
15
+ * Applied When:
16
+ * - A pure right side would otherwise be re-scanned N times, one full scan per
17
+ * left row. Wrapping it in a run-once CacheNode replays the buffer instead.
18
+ *
19
+ * Benefits: Turns N full right-side scans into one scan + N buffer replays —
20
+ * decisive on a high-per-read-latency vtab where each reopen costs I/O.
21
+ */
22
+ import { PlanNode } from '../../nodes/plan-node.js';
23
+ import type { OptContext } from '../../framework/context.js';
24
+ export declare function ruleNestedLoopRightCache(node: PlanNode, context: OptContext): PlanNode | null;
25
+ //# sourceMappingURL=rule-nested-loop-right-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-nested-loop-right-cache.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-nested-loop-right-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAqF7D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAqF7F"}