@rocicorp/zero 0.25.0-canary.6 → 0.25.0-canary.7

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 (128) hide show
  1. package/out/{chunk-WWNKZSEE.js → chunk-FODUNUAD.js} +77 -84
  2. package/out/chunk-FODUNUAD.js.map +7 -0
  3. package/out/{chunk-PFM5IJC4.js → chunk-S633A55A.js} +2 -2
  4. package/out/{chunk-PFM5IJC4.js.map → chunk-S633A55A.js.map} +1 -1
  5. package/out/react.js +1 -1
  6. package/out/shared/src/options.d.ts +2 -0
  7. package/out/shared/src/options.d.ts.map +1 -1
  8. package/out/shared/src/options.js +8 -4
  9. package/out/shared/src/options.js.map +1 -1
  10. package/out/solid.js +2 -2
  11. package/out/zero/package.json +2 -2
  12. package/out/zero/src/zero-cache-dev.js +2 -0
  13. package/out/zero/src/zero-cache-dev.js.map +1 -1
  14. package/out/zero-cache/src/db/mode-enum.d.ts +2 -0
  15. package/out/zero-cache/src/db/mode-enum.d.ts.map +1 -1
  16. package/out/zero-cache/src/db/mode-enum.js +1 -0
  17. package/out/zero-cache/src/db/mode-enum.js.map +1 -1
  18. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  19. package/out/zero-cache/src/server/syncer.js +1 -1
  20. package/out/zero-cache/src/server/syncer.js.map +1 -1
  21. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +1 -1
  22. package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +1 -1
  23. package/out/zero-cache/src/services/change-streamer/backup-monitor.js +6 -2
  24. package/out/zero-cache/src/services/change-streamer/backup-monitor.js.map +1 -1
  25. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -2
  26. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  27. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +7 -0
  28. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  29. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +5 -1
  30. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  31. package/out/zero-cache/src/services/change-streamer/change-streamer.js +5 -1
  32. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  33. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +58 -0
  34. package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +1 -1
  35. package/out/zero-cache/src/services/change-streamer/snapshot.js +19 -0
  36. package/out/zero-cache/src/services/change-streamer/snapshot.js.map +1 -1
  37. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -0
  38. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  39. package/out/zero-cache/src/services/change-streamer/storer.js +5 -0
  40. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  41. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  42. package/out/zero-cache/src/services/litestream/commands.js +43 -11
  43. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  44. package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +1 -1
  45. package/out/zero-cache/src/services/view-syncer/cvr-purger.js +5 -6
  46. package/out/zero-cache/src/services/view-syncer/cvr-purger.js.map +1 -1
  47. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  48. package/out/zero-cache/src/services/view-syncer/cvr-store.js +8 -4
  49. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  50. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  51. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +93 -78
  52. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  53. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +1 -1
  54. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  55. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +6 -3
  56. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  57. package/out/zero-cache/src/types/websocket-handoff.d.ts +2 -2
  58. package/out/zero-cache/src/types/websocket-handoff.d.ts.map +1 -1
  59. package/out/zero-cache/src/types/websocket-handoff.js +2 -2
  60. package/out/zero-cache/src/types/websocket-handoff.js.map +1 -1
  61. package/out/zero-client/src/client/connection.d.ts +2 -2
  62. package/out/zero-client/src/client/connection.d.ts.map +1 -1
  63. package/out/zero-client/src/client/context.d.ts +2 -2
  64. package/out/zero-client/src/client/context.d.ts.map +1 -1
  65. package/out/zero-client/src/client/custom.d.ts +3 -3
  66. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  67. package/out/zero-client/src/client/delete-clients-manager.d.ts +2 -2
  68. package/out/zero-client/src/client/delete-clients-manager.d.ts.map +1 -1
  69. package/out/zero-client/src/client/metrics.d.ts +2 -2
  70. package/out/zero-client/src/client/metrics.d.ts.map +1 -1
  71. package/out/zero-client/src/client/mutation-tracker.d.ts +2 -2
  72. package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
  73. package/out/zero-client/src/client/query-manager.d.ts +2 -2
  74. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  75. package/out/zero-client/src/client/reload-error-handler.d.ts +3 -3
  76. package/out/zero-client/src/client/reload-error-handler.d.ts.map +1 -1
  77. package/out/zero-client/src/client/zero-poke-handler.d.ts +2 -2
  78. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  79. package/out/zero-client/src/client/zero.d.ts +2 -2
  80. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  81. package/out/zero-server/src/adapters/drizzle.js +1 -1
  82. package/out/zero-server/src/adapters/drizzle.js.map +1 -1
  83. package/out/zero-server/src/adapters/pg.d.ts +1 -1
  84. package/out/zero-server/src/adapters/pg.d.ts.map +1 -1
  85. package/out/zero-server/src/adapters/pg.js +1 -1
  86. package/out/zero-server/src/adapters/pg.js.map +1 -1
  87. package/out/zero-server/src/adapters/postgresjs.d.ts +1 -1
  88. package/out/zero-server/src/adapters/postgresjs.d.ts.map +1 -1
  89. package/out/zero-server/src/adapters/postgresjs.js +1 -1
  90. package/out/zero-server/src/adapters/postgresjs.js.map +1 -1
  91. package/out/zero-server/src/custom.js +1 -1
  92. package/out/zero-server/src/custom.js.map +1 -1
  93. package/out/zero.js +2 -2
  94. package/out/zql/src/mutate/custom.d.ts +1 -1
  95. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  96. package/out/zql/src/planner/planner-connection.d.ts +7 -0
  97. package/out/zql/src/planner/planner-connection.d.ts.map +1 -1
  98. package/out/zql/src/planner/planner-connection.js +2 -1
  99. package/out/zql/src/planner/planner-connection.js.map +1 -1
  100. package/out/zql/src/planner/planner-debug.d.ts +2 -1
  101. package/out/zql/src/planner/planner-debug.d.ts.map +1 -1
  102. package/out/zql/src/planner/planner-debug.js.map +1 -1
  103. package/out/zql/src/planner/planner-fan-in.d.ts.map +1 -1
  104. package/out/zql/src/planner/planner-fan-in.js +5 -0
  105. package/out/zql/src/planner/planner-fan-in.js.map +1 -1
  106. package/out/zql/src/planner/planner-graph.d.ts +1 -2
  107. package/out/zql/src/planner/planner-graph.d.ts.map +1 -1
  108. package/out/zql/src/planner/planner-graph.js +49 -68
  109. package/out/zql/src/planner/planner-graph.js.map +1 -1
  110. package/out/zql/src/planner/planner-join.d.ts +6 -2
  111. package/out/zql/src/planner/planner-join.d.ts.map +1 -1
  112. package/out/zql/src/planner/planner-join.js +26 -10
  113. package/out/zql/src/planner/planner-join.js.map +1 -1
  114. package/out/zql/src/planner/planner-node.d.ts +2 -1
  115. package/out/zql/src/planner/planner-node.d.ts.map +1 -1
  116. package/out/zql/src/query/define-query.d.ts +3 -3
  117. package/out/zql/src/query/define-query.d.ts.map +1 -1
  118. package/out/zqlite/src/sqlite-cost-model.d.ts.map +1 -1
  119. package/out/zqlite/src/sqlite-cost-model.js +10 -3
  120. package/out/zqlite/src/sqlite-cost-model.js.map +1 -1
  121. package/out/zqlite/src/sqlite-stat-fanout.d.ts +121 -0
  122. package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +1 -0
  123. package/out/zqlite/src/sqlite-stat-fanout.js +377 -0
  124. package/out/zqlite/src/sqlite-stat-fanout.js.map +1 -0
  125. package/package.json +2 -2
  126. package/out/chunk-WWNKZSEE.js.map +0 -7
  127. package/out/zero-client/src/client/zero-log-context.d.ts +0 -7
  128. package/out/zero-client/src/client/zero-log-context.d.ts.map +0 -1
@@ -4981,7 +4981,10 @@ var PlannerFanIn = class {
4981
4981
  scanEst: 0,
4982
4982
  startupCost: 0,
4983
4983
  selectivity: 0,
4984
- limit: void 0
4984
+ limit: void 0,
4985
+ fanout: () => {
4986
+ throw new Error("Failed to set fanout model");
4987
+ }
4985
4988
  };
4986
4989
  if (this.#type === "FI") {
4987
4990
  const updatedPattern = [0, ...branchPattern];
@@ -4996,6 +4999,7 @@ var PlannerFanIn = class {
4996
4999
  updatedPattern,
4997
5000
  planDebugger
4998
5001
  );
5002
+ totalCost.fanout = cost.fanout;
4999
5003
  if (cost.returnedRows > maxrows) {
5000
5004
  maxrows = cost.returnedRows;
5001
5005
  }
@@ -5030,6 +5034,7 @@ var PlannerFanIn = class {
5030
5034
  updatedPattern,
5031
5035
  planDebugger
5032
5036
  );
5037
+ totalCost.fanout = cost.fanout;
5033
5038
  totalCost.returnedRows += cost.returnedRows;
5034
5039
  totalCost.cost += cost.cost;
5035
5040
  totalCost.scanEst += cost.scanEst;
@@ -5277,7 +5282,7 @@ var PlannerConnection = class {
5277
5282
  this.#baseConstraints,
5278
5283
  constraint
5279
5284
  );
5280
- const { startupCost, rows } = this.#model(
5285
+ const { startupCost, fanout, rows } = this.#model(
5281
5286
  this.table,
5282
5287
  this.#sort,
5283
5288
  this.#filters,
@@ -5289,7 +5294,8 @@ var PlannerConnection = class {
5289
5294
  cost: 0,
5290
5295
  returnedRows: rows,
5291
5296
  selectivity: this.selectivity,
5292
- limit: this.limit
5297
+ limit: this.limit,
5298
+ fanout
5293
5299
  };
5294
5300
  this.#cachedConstraintCosts.set(key, cost);
5295
5301
  planDebugger?.log({
@@ -5545,9 +5551,13 @@ var PlannerGraph = class {
5545
5551
  const join = this.joins[i];
5546
5552
  const targetState = state.joins[i];
5547
5553
  join.reset();
5548
- if (targetState.type === "flipped") {
5554
+ if (targetState.type === "flipped" && join.type !== "flipped") {
5549
5555
  join.flip();
5550
5556
  }
5557
+ assert(
5558
+ targetState.type === join.type,
5559
+ "join is not in the correct state after reset"
5560
+ );
5551
5561
  }
5552
5562
  }
5553
5563
  /**
@@ -5589,15 +5599,11 @@ var PlannerGraph = class {
5589
5599
  );
5590
5600
  }
5591
5601
  const fofiCache = buildFOFICache(this);
5592
- const numPatterns = 2 ** flippableJoins.length;
5602
+ const numPatterns = flippableJoins.length === 0 ? 0 : 2 ** flippableJoins.length;
5593
5603
  let bestCost = Infinity;
5594
5604
  let bestPlan = void 0;
5595
5605
  let bestAttemptNumber = -1;
5596
- const forcePattern = void 0;
5597
5606
  for (let pattern = 0; pattern < numPatterns; pattern++) {
5598
- if (forcePattern !== void 0 && pattern !== forcePattern) {
5599
- continue;
5600
- }
5601
5607
  this.resetPlanningState();
5602
5608
  if (planDebugger) {
5603
5609
  planDebugger.log({
@@ -5606,59 +5612,47 @@ var PlannerGraph = class {
5606
5612
  totalAttempts: numPatterns
5607
5613
  });
5608
5614
  }
5609
- try {
5610
- for (let i = 0; i < flippableJoins.length; i++) {
5611
- if (pattern & 1 << i) {
5612
- flippableJoins[i].flip();
5613
- }
5614
- }
5615
- checkAndConvertFOFI(fofiCache);
5616
- propagateUnlimitForFlippedJoins(this);
5617
- this.propagateConstraints(planDebugger);
5618
- if (planDebugger) {
5619
- planDebugger.log({
5620
- type: "constraints-propagated",
5621
- attemptNumber: pattern,
5622
- connectionConstraints: this.connections.map((c) => ({
5623
- connection: c.name,
5624
- constraints: c.getConstraintsForDebug(),
5625
- constraintCosts: c.getConstraintCostsForDebug()
5626
- }))
5627
- });
5628
- }
5629
- const totalCost = this.getTotalCost(planDebugger);
5630
- if (planDebugger) {
5631
- planDebugger.log({
5632
- type: "plan-complete",
5633
- attemptNumber: pattern,
5634
- totalCost,
5635
- flipPattern: pattern,
5636
- // Bitmask of which joins are flipped
5637
- // TODO: we'll need a different way to collect these
5638
- // nodeCosts: this.#collectNodeCosts(),
5639
- joinStates: this.joins.map((j) => {
5640
- const info = j.getDebugInfo();
5641
- return {
5642
- join: info.name,
5643
- type: info.type
5644
- };
5645
- })
5646
- });
5647
- }
5648
- if (totalCost < bestCost) {
5649
- bestCost = totalCost;
5650
- bestPlan = this.capturePlanningSnapshot();
5651
- bestAttemptNumber = pattern;
5652
- }
5653
- } catch (e) {
5654
- if (planDebugger) {
5655
- planDebugger.log({
5656
- type: "plan-failed",
5657
- attemptNumber: pattern,
5658
- reason: `Flip pattern ${pattern.toString(2)} failed: ${e instanceof Error ? e.message : String(e)}`
5659
- });
5615
+ for (let i = 0; i < flippableJoins.length; i++) {
5616
+ if (pattern & 1 << i) {
5617
+ flippableJoins[i].flip();
5660
5618
  }
5661
- continue;
5619
+ }
5620
+ checkAndConvertFOFI(fofiCache);
5621
+ propagateUnlimitForFlippedJoins(this);
5622
+ this.propagateConstraints(planDebugger);
5623
+ if (planDebugger) {
5624
+ planDebugger.log({
5625
+ type: "constraints-propagated",
5626
+ attemptNumber: pattern,
5627
+ connectionConstraints: this.connections.map((c) => ({
5628
+ connection: c.name,
5629
+ constraints: c.getConstraintsForDebug(),
5630
+ constraintCosts: c.getConstraintCostsForDebug()
5631
+ }))
5632
+ });
5633
+ }
5634
+ const totalCost = this.getTotalCost(planDebugger);
5635
+ if (planDebugger) {
5636
+ planDebugger.log({
5637
+ type: "plan-complete",
5638
+ attemptNumber: pattern,
5639
+ totalCost,
5640
+ flipPattern: pattern,
5641
+ // Bitmask of which joins are flipped
5642
+ planSnapshot: this.capturePlanningSnapshot(),
5643
+ joinStates: this.joins.map((j) => {
5644
+ const info = j.getDebugInfo();
5645
+ return {
5646
+ join: info.name,
5647
+ type: info.type
5648
+ };
5649
+ })
5650
+ });
5651
+ }
5652
+ if (totalCost < bestCost) {
5653
+ bestCost = totalCost;
5654
+ bestPlan = this.capturePlanningSnapshot();
5655
+ bestAttemptNumber = pattern;
5662
5656
  }
5663
5657
  }
5664
5658
  if (bestPlan) {
@@ -5678,8 +5672,9 @@ var PlannerGraph = class {
5678
5672
  });
5679
5673
  }
5680
5674
  } else {
5681
- throw new Error(
5682
- "No valid query plan found. This should not happen - check query structure."
5675
+ assert(
5676
+ numPatterns === 0,
5677
+ "no plan was found but flippable joins did exist!"
5683
5678
  );
5684
5679
  }
5685
5680
  }
@@ -5826,18 +5821,16 @@ var PlannerJoin = class {
5826
5821
  */
5827
5822
  propagateUnlimit() {
5828
5823
  assert(this.#type === "flipped", "Can only unlimit a flipped join");
5829
- this.#parent.propagateUnlimitFromFlippedJoin();
5830
5824
  this.#child.propagateUnlimitFromFlippedJoin();
5831
5825
  }
5832
5826
  /**
5833
5827
  * Called when a parent join is flipped and this join is part of its child subgraph.
5834
- * - Semi-join: continue propagation to parent (the outer loop)
5835
- * - Flipped join: stop propagation (already unlimited when it was flipped)
5828
+ * Continue propagation to parent (the outer loop).
5829
+ * If we are hitting a semi-join, the parent drives.
5830
+ * If we are hitting a flip-join, well now we have to unlimit its parent too!
5836
5831
  */
5837
5832
  propagateUnlimitFromFlippedJoin() {
5838
- if (this.#type === "semi") {
5839
- this.#parent.propagateUnlimitFromFlippedJoin();
5840
- }
5833
+ this.#parent.propagateUnlimitFromFlippedJoin();
5841
5834
  }
5842
5835
  propagateConstraints(branchPattern, constraint, from, planDebugger) {
5843
5836
  planDebugger?.log({
@@ -5886,10 +5879,12 @@ var PlannerJoin = class {
5886
5879
  }
5887
5880
  estimateCost(downstreamChildSelectivity, branchPattern, planDebugger) {
5888
5881
  const child = this.#child.estimateCost(1, branchPattern, planDebugger);
5882
+ const fanoutFactor = child.fanout(Object.keys(this.#childConstraint));
5883
+ const scaledChildSelectivity = 1 - Math.pow(1 - child.selectivity, fanoutFactor.fanout);
5889
5884
  const parent = this.#parent.estimateCost(
5890
5885
  // Selectivity flows up the graph from child to parent
5891
5886
  // so we can determine the total selectivity of all ANDed exists checks.
5892
- child.selectivity * downstreamChildSelectivity,
5887
+ this.#type === "flipped" ? 1 * downstreamChildSelectivity : scaledChildSelectivity * downstreamChildSelectivity,
5893
5888
  branchPattern,
5894
5889
  planDebugger
5895
5890
  );
@@ -5899,24 +5894,26 @@ var PlannerJoin = class {
5899
5894
  startupCost: parent.startupCost,
5900
5895
  scanEst: parent.limit === void 0 ? parent.returnedRows : Math.min(
5901
5896
  parent.returnedRows,
5902
- parent.limit / downstreamChildSelectivity
5897
+ downstreamChildSelectivity === 0 ? 0 : parent.limit / downstreamChildSelectivity
5903
5898
  ),
5904
5899
  cost: parent.cost + parent.scanEst * (child.startupCost + child.cost + child.scanEst),
5905
5900
  returnedRows: parent.returnedRows * child.selectivity,
5906
5901
  selectivity: child.selectivity * parent.selectivity,
5907
- limit: parent.limit
5902
+ limit: parent.limit,
5903
+ fanout: parent.fanout
5908
5904
  };
5909
5905
  } else {
5910
5906
  costEstimate = {
5911
5907
  startupCost: child.startupCost,
5912
5908
  scanEst: parent.limit === void 0 ? parent.returnedRows * child.returnedRows : Math.min(
5913
5909
  parent.returnedRows * child.returnedRows,
5914
- parent.limit / downstreamChildSelectivity
5910
+ downstreamChildSelectivity === 0 ? 0 : parent.limit / downstreamChildSelectivity
5915
5911
  ),
5916
5912
  cost: child.cost + child.scanEst * (parent.startupCost + parent.cost + parent.scanEst),
5917
5913
  returnedRows: parent.returnedRows * child.returnedRows * child.selectivity,
5918
5914
  selectivity: parent.selectivity * child.selectivity,
5919
- limit: parent.limit
5915
+ limit: parent.limit,
5916
+ fanout: parent.fanout
5920
5917
  };
5921
5918
  }
5922
5919
  planDebugger?.log({
@@ -8096,7 +8093,7 @@ var VersionNotSupported2 = "VersionNotSupported";
8096
8093
  var SchemaVersionNotSupported2 = "SchemaVersionNotSupported";
8097
8094
 
8098
8095
  // ../zero-client/src/client/zero.ts
8099
- import "@rocicorp/logger";
8096
+ import { LogContext as LogContext3 } from "@rocicorp/logger";
8100
8097
  import { resolver as resolver11 } from "@rocicorp/resolver";
8101
8098
 
8102
8099
  // ../replicache/src/replicache-impl.ts
@@ -12871,8 +12868,8 @@ var NativeClientLockManager = class {
12871
12868
  this.#locks = locks;
12872
12869
  this.#signal = signal;
12873
12870
  }
12874
- request(name, mode, fn) {
12875
- return this.#locks.request(name, { mode, signal: this.#signal }, fn);
12871
+ async request(name, mode, fn) {
12872
+ await this.#locks.request(name, { mode, signal: this.#signal }, fn);
12876
12873
  }
12877
12874
  release(_name, fn) {
12878
12875
  fn();
@@ -15343,7 +15340,7 @@ function makeMessage(message, context, logLevel) {
15343
15340
  }
15344
15341
 
15345
15342
  // ../zero-client/src/client/version.ts
15346
- var version2 = "0.25.0-canary.6";
15343
+ var version2 = "0.25.0-canary.7";
15347
15344
 
15348
15345
  // ../zero-client/src/client/log-options.ts
15349
15346
  var LevelFilterLogSink = class {
@@ -16678,10 +16675,6 @@ function getServer(server) {
16678
16675
  return validateServerParam("server", server);
16679
16676
  }
16680
16677
 
16681
- // ../zero-client/src/client/zero-log-context.ts
16682
- import { LogContext as LogContext3 } from "@rocicorp/logger";
16683
- var ZeroLogContext = LogContext3;
16684
-
16685
16678
  // ../zero-client/src/client/zero-poke-handler.ts
16686
16679
  import { Lock as Lock3 } from "@rocicorp/lock";
16687
16680
  var PokeHandler = class {
@@ -17266,7 +17259,7 @@ var Zero = class _Zero {
17266
17259
  }
17267
17260
  const { onError } = options;
17268
17261
  const sink = logOptions.logSink;
17269
- const lc = new ZeroLogContext(logOptions.logLevel, {}, sink);
17262
+ const lc = new LogContext3(logOptions.logLevel, {}, sink);
17270
17263
  this.#onError = onError ? (error) => {
17271
17264
  void onError(error);
17272
17265
  } : (error) => {
@@ -18854,4 +18847,4 @@ export {
18854
18847
  update_needed_reason_type_enum_exports,
18855
18848
  Zero
18856
18849
  };
18857
- //# sourceMappingURL=chunk-WWNKZSEE.js.map
18850
+ //# sourceMappingURL=chunk-FODUNUAD.js.map