@qwik.dev/core 2.0.0-beta.32 → 2.0.0-beta.35

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * @qwik.dev/core/server 2.0.0-beta.32-dev+0e29f8a
3
+ * @qwik.dev/core/server 2.0.0-beta.35-dev+4603135
4
4
  * Copyright QwikDev. All Rights Reserved.
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://github.com/QwikDev/qwik/blob/main/LICENSE
@@ -9,48 +9,46 @@
9
9
  import { setPlatform as setPlatform2 } from "@qwik.dev/core";
10
10
 
11
11
  // packages/qwik/src/server/platform.ts
12
- import { setPlatform as jr } from "@qwik.dev/core";
12
+ import { setPlatform as Mr } from "@qwik.dev/core";
13
13
 
14
- import { isDev as isDev5 } from "@qwik.dev/core/build";
14
+ import { isDev as isDev6 } from "@qwik.dev/core/build";
15
15
 
16
16
  // packages/qwik/src/core/client/util-mapArray.ts
17
17
  import { isDev as isDev2 } from "@qwik.dev/core/build";
18
18
 
19
19
  // packages/qwik/src/core/shared/error/assert.ts
20
- import { isDev as ne } from "@qwik.dev/core/build";
20
+ import { isDev as ue } from "@qwik.dev/core/build";
21
21
 
22
22
  // packages/qwik/src/core/shared/utils/qdev.ts
23
- var ee = globalThis;
24
-
25
- var re = ee.qDev !== false;
23
+ var qDev = globalThis.qDev !== false;
26
24
 
27
- var qInspector = ee.qInspector === true;
25
+ var qInspector = globalThis.qInspector === true;
28
26
 
29
- var ie = ee.qDynamicPlatform !== false;
27
+ var qDynamicPlatform = globalThis.qDynamicPlatform !== false;
30
28
 
31
- var se = ee.qTest === true;
29
+ var qTest = globalThis.qTest === true;
32
30
 
33
- var oe = ee.qRuntimeQrl === true;
31
+ var qRuntimeQrl = globalThis.qRuntimeQrl === true;
34
32
 
35
33
  // packages/qwik/src/core/shared/utils/log.ts
36
- var ue = re ? `background: #564CE0; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;` : "";
34
+ var STYLE = qDev ? `background: #564CE0; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;` : "";
37
35
 
38
36
  var throwErrorAndStop = (e, ...t) => {
39
- const n = he(false, e, ...t);
37
+ const n = fe(false, e, ...t);
40
38
  debugger;
41
39
  throw n;
42
40
  };
43
41
 
44
42
  var logErrorAndStop = (e, ...t) => {
45
- const n = he(re, e, ...t);
43
+ const n = fe(qDev, e, ...t);
46
44
  debugger;
47
45
  return n;
48
46
  };
49
47
 
50
- var he = (e, t, ...n) => {
48
+ var fe = (e, t, ...n) => {
51
49
  const r = t instanceof Error ? t : new Error(t);
52
- !se && console.error("%cQWIK ERROR", ue, r.message, ...n, r.stack);
53
- e && !se && setTimeout(() => {
50
+ !qTest && console.error("%cQWIK ERROR", STYLE, r.message, ...n, r.stack);
51
+ e && !qTest && setTimeout(() => {
54
52
  throw r;
55
53
  }, 0);
56
54
  return r;
@@ -60,7 +58,7 @@ var he = (e, t, ...n) => {
60
58
  var ASSERT_DISCLAIMER = "Internal assert, this is likely caused by a bug in Qwik: ";
61
59
 
62
60
  function assertTrue(e, t, ...n) {
63
- if (ne) {
61
+ if (ue) {
64
62
  if (e === true) {
65
63
  return;
66
64
  }
@@ -69,7 +67,7 @@ function assertTrue(e, t, ...n) {
69
67
  }
70
68
 
71
69
  // packages/qwik/src/core/client/util-mapArray.ts
72
- var de = (e, t, n) => {
70
+ var ae = (e, t, n) => {
73
71
  isDev2 && assertTrue(n % 2 === 0, "Expecting even number.");
74
72
  let r = n >> 1;
75
73
  let s = e.length - 2 >> 1;
@@ -88,8 +86,8 @@ var de = (e, t, n) => {
88
86
  return r << 1 ^ -1;
89
87
  };
90
88
 
91
- var pe = (e, t, n, r, s = false) => {
92
- const i = de(e, t, r);
89
+ var he = (e, t, n, r, s = false) => {
90
+ const i = ae(e, t, r);
93
91
  if (i >= 0) {
94
92
  if (n == null && !s) {
95
93
  e.splice(i, 2);
@@ -102,7 +100,7 @@ var pe = (e, t, n, r, s = false) => {
102
100
  };
103
101
 
104
102
  var mapApp_remove = (e, t, n) => {
105
- const r = de(e, t, n);
103
+ const r = ae(e, t, n);
106
104
  let s = null;
107
105
  if (r >= 0) {
108
106
  s = e[r + 1];
@@ -112,8 +110,8 @@ var mapApp_remove = (e, t, n) => {
112
110
  return s;
113
111
  };
114
112
 
115
- var $e = (e, t, n) => {
116
- const r = de(e, t, n);
113
+ var de = (e, t, n) => {
114
+ const r = ae(e, t, n);
117
115
  if (r >= 0) {
118
116
  return e[r + 1];
119
117
  } else {
@@ -121,20 +119,23 @@ var $e = (e, t, n) => {
121
119
  }
122
120
  };
123
121
 
124
- var me = (e, t, n) => de(e, t, n) >= 0;
122
+ var pe = (e, t, n) => ae(e, t, n) >= 0;
123
+
124
+ // packages/qwik/src/core/shared/error/error.ts
125
+ import { isDev as isDev3 } from "@qwik.dev/core/build";
125
126
 
126
127
  // packages/qwik/src/core/shared/utils/types.ts
127
- var we = e => typeof e === "object" && e !== null;
128
+ var ye = e => typeof e === "object" && e !== null;
128
129
 
129
- var be = e => Array.isArray(e);
130
+ var me = e => Array.isArray(e);
130
131
 
131
- var ve = e => typeof e === "string";
132
+ var we = e => typeof e === "string";
132
133
 
133
134
  // packages/qwik/src/core/shared/error/error.ts
134
- var baseUrl = "https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#Q";
135
+ var baseUrl = "https://qwikdev-build-v2.qwik-8nx.pages.dev/docs/errors/#q";
135
136
 
136
137
  var codeToText = (e, ...t) => {
137
- if (re) {
138
+ if (isDev3) {
138
139
  const n = [ "Error while serializing class or style attributes",
139
140
  // 0
140
141
  "Scheduler not found",
@@ -210,7 +211,7 @@ var codeToText = (e, ...t) => {
210
211
  if (t.length) {
211
212
  r = r.replaceAll(/{{(\d+)}}/g, (e, n) => {
212
213
  let r = t[n];
213
- if (r && we(r) && r.constructor === Object) {
214
+ if (r && ye(r) && r.constructor === Object) {
214
215
  r = JSON.stringify(r).slice(0, 50);
215
216
  }
216
217
  return r;
@@ -222,23 +223,18 @@ var codeToText = (e, ...t) => {
222
223
  }
223
224
  };
224
225
 
225
- var Se = (e, t = []) => {
226
+ var ve = (e, t = []) => {
226
227
  const n = codeToText(e, ...t);
227
228
  return logErrorAndStop(n, ...t);
228
229
  };
229
230
 
230
231
  // packages/qwik/src/core/shared/qrl/qrl-utils.ts
231
- import { isDev as isDev3 } from "@qwik.dev/core/build";
232
+ import { isDev as isDev4 } from "@qwik.dev/core/build";
232
233
 
233
- var ke = "<sync>";
234
-
235
- var Ia = e => {
236
- const t = e.lastIndexOf("_") + 1;
237
- return e.slice(t);
238
- };
234
+ var ge = "<sync>";
239
235
 
240
236
  // packages/qwik/src/core/shared/types.ts
241
- var qe = "q:type";
237
+ var Se = "q:type";
242
238
 
243
239
  // packages/qwik/src/core/shared/vnode-data-types.ts
244
240
  var VNodeDataSeparator = {
@@ -462,25 +458,25 @@ function encodeVNodeDataString(e) {
462
458
  }
463
459
 
464
460
  // packages/qwik/src/core/shared/utils/markers.ts
465
- var Ee = "q:renderFn";
461
+ var xe = "q:renderFn";
466
462
 
467
- var je = "q:slot";
463
+ var Pe = "q:slot";
468
464
 
469
465
  var QSlotParent = "q:sparent";
470
466
 
471
- var Oe = "q:style";
467
+ var Ae = "q:style";
472
468
 
473
- var Ae = "style[q\\:style]";
469
+ var Me = "style[q\\:style]";
474
470
 
475
471
  var QStyleSSelector = "style[q\\:sstyle]";
476
472
 
477
- var Me = Ae + "," + QStyleSSelector;
473
+ var Ne = Me + "," + QStyleSSelector;
478
474
 
479
- var Ne = "q:sstyle";
475
+ var Ie = "q:sstyle";
480
476
 
481
- var Ie = "q:ctx";
477
+ var Ce = "q:ctx";
482
478
 
483
- var Fe = "q:brefs";
479
+ var je = "q:brefs";
484
480
 
485
481
  var QRenderAttr = "q:render";
486
482
 
@@ -488,7 +484,7 @@ var QRuntimeAttr = "q:runtime";
488
484
 
489
485
  var QVersionAttr = "q:version";
490
486
 
491
- var ze = "q:base";
487
+ var Fe = "q:base";
492
488
 
493
489
  var QLocaleAttr = "q:locale";
494
490
 
@@ -498,52 +494,58 @@ var QInstanceAttr = "q:instance";
498
494
 
499
495
  var Le = "q:container-island";
500
496
 
501
- var Ue = "/" + Le;
497
+ var De = "/" + Le;
502
498
 
503
- var We = "q:ignore";
499
+ var Ve = "q:ignore";
504
500
 
505
- var Qe = "/" + We;
501
+ var We = "/" + Ve;
506
502
 
507
- var Ve = "q:container";
503
+ var Ue = "q:container";
508
504
 
509
- var Je = "/" + Ve;
505
+ var Xe = "/" + Ue;
510
506
 
511
- var Be = "q:template";
507
+ var ze = "q:template";
512
508
 
513
509
  var QContainerSelector = "[q\\:container]:not([q\\:container=" + "html" /* HTML */ + "]):not([q\\:container=" + "text" /* TEXT */ + "])";
514
510
 
515
- var Ke = "";
511
+ var Ye = "";
516
512
 
517
513
  var ELEMENT_ID = "q:id";
518
514
 
519
- var Ze = "q:key";
515
+ var Ge = "q:key";
520
516
 
521
- var tr = "q:props";
517
+ var Ke = "q:props";
522
518
 
523
- var nr = "q:seq";
519
+ var Ze = "q:seq";
524
520
 
525
- var er = "q:seqIdx";
521
+ var tr = "q:seqIdx";
526
522
 
527
523
  var ELEMENT_BACKPATCH_DATA = "qwik/backpatch";
528
524
 
529
- var rr = "q:p";
525
+ var Q_PREFIX = "q:";
530
526
 
531
- var ir = "q:ps";
527
+ var nr = "q:p";
532
528
 
533
- var sr = ":";
529
+ var er = "q:ps";
534
530
 
535
- var or = sr + "on";
531
+ var rr = ":";
536
532
 
537
- var lr = sr + "onIdx";
533
+ var sr = rr + "on";
538
534
 
539
- var ur = sr + "onFlags";
535
+ var ir = rr + "onIdx";
536
+
537
+ var or = rr + "onFlags";
538
+
539
+ var lr = Q_PREFIX + "cursorBoundary";
540
+
541
+ var ur = rr + "nearestCursorBoundary";
540
542
 
541
543
  var cr = ":";
542
544
 
543
545
  var fr = "dangerouslySetInnerHTML";
544
546
 
545
547
  // packages/qwik/src/core/shared/utils/promises.ts
546
- import { isDev as isDev4, isServer as Zn } from "@qwik.dev/core/build";
548
+ import { isDev as isDev5, isServer as oe } from "@qwik.dev/core/build";
547
549
 
548
550
  var hr = 100;
549
551
 
@@ -552,16 +554,16 @@ var dr = e => !!e && typeof e == "object" && typeof e.then === "function";
552
554
  var $r = (e, t) => dr(e) ? e.then(t) : t(e);
553
555
 
554
556
  var checkError = e => {
555
- if (Zn && e instanceof ReferenceError && e.message.includes("window")) {
557
+ if (oe && e instanceof ReferenceError && e.message.includes("window")) {
556
558
  e.message = 'It seems like you forgot to add "if (isBrowser) {...}" here:' + e.message;
557
559
  }
558
560
  };
559
561
 
560
- var mr = e => {
562
+ var yr = e => {
561
563
  throw e;
562
564
  };
563
565
 
564
- function n(e, t = mr) {
566
+ function n(e, t = yr) {
565
567
  let n = false;
566
568
  let r;
567
569
  try {
@@ -574,7 +576,7 @@ function n(e, t = mr) {
574
576
  if (n) {
575
577
  return r;
576
578
  }
577
- isDev4 && checkError(r);
579
+ isDev5 && checkError(r);
578
580
  return t(r);
579
581
  }
580
582
  let s = hr;
@@ -597,7 +599,7 @@ function n(e, t = mr) {
597
599
  }
598
600
  }
599
601
  }
600
- isDev4 && checkError(n);
602
+ isDev5 && checkError(n);
601
603
  return t(n);
602
604
  };
603
605
  return n ? r.catch(i) : i(r);
@@ -620,27 +622,27 @@ function isPreventDefault(e) {
620
622
  }
621
623
 
622
624
  // packages/qwik/src/core/shared/utils/unitless_number.ts
623
- var kr = /* @__PURE__ */ new Set([ "animationIterationCount", "aspectRatio", "borderImageOutset", "borderImageSlice", "borderImageWidth", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "columns", "flex", "flexGrow", "flexShrink", "gridArea", "gridRow", "gridRowEnd", "gridRowStart", "gridColumn", "gridColumnEnd", "gridColumnStart", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "scale", "tabSize", "widows", "zIndex", "zoom", "MozAnimationIterationCount",
625
+ var Sr = /* @__PURE__ */ new Set([ "animationIterationCount", "aspectRatio", "borderImageOutset", "borderImageSlice", "borderImageWidth", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "columns", "flex", "flexGrow", "flexShrink", "gridArea", "gridRow", "gridRowEnd", "gridRowStart", "gridColumn", "gridColumnEnd", "gridColumnStart", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "scale", "tabSize", "widows", "zIndex", "zoom", "MozAnimationIterationCount",
624
626
  // Known Prefixed Properties
625
627
  "MozBoxFlex",
626
628
  // TODO: Remove these since they shouldn't be used in modern code
627
629
  "msFlex", "msFlexPositive", "WebkitAnimationIterationCount", "WebkitBoxFlex", "WebkitBoxOrdinalGroup", "WebkitColumnCount", "WebkitColumns", "WebkitFlex", "WebkitFlexGrow", "WebkitFlexShrink", "WebkitLineClamp" ]);
628
630
 
629
- var isUnitlessNumber = e => kr.has(e);
631
+ var isUnitlessNumber = e => Sr.has(e);
630
632
 
631
633
  // packages/qwik/src/core/shared/utils/styles.ts
632
- var qr = e => {
634
+ var Er = e => {
633
635
  if (!e) {
634
636
  return "";
635
637
  }
636
- if (ve(e)) {
638
+ if (we(e)) {
637
639
  return e.trim();
638
640
  }
639
641
  const t = [];
640
- if (be(e)) {
642
+ if (me(e)) {
641
643
  for (let n = 0; n < e.length; n++) {
642
644
  const r = e[n];
643
- const s = qr(r);
645
+ const s = Er(r);
644
646
  if (s) {
645
647
  t.push(s);
646
648
  }
@@ -655,15 +657,15 @@ var qr = e => {
655
657
  return t.join(" ");
656
658
  };
657
659
 
658
- var Rr = e => e.replace(/([A-Z])/g, "-$1").toLowerCase();
660
+ var xr = e => e.replace(/([A-Z])/g, "-$1").toLowerCase();
659
661
 
660
662
  var stringifyStyle = e => {
661
663
  if (e == null) {
662
664
  return "";
663
665
  }
664
666
  if (typeof e == "object") {
665
- if (be(e)) {
666
- throw Se(0 /* stringifyClassOrStyle */ , [ e, "style" ]);
667
+ if (me(e)) {
668
+ throw ve(0 /* stringifyClassOrStyle */ , [ e, "style" ]);
667
669
  } else {
668
670
  const t = [];
669
671
  for (const n in e) {
@@ -673,7 +675,7 @@ var stringifyStyle = e => {
673
675
  if (n.startsWith("--")) {
674
676
  t.push(n + ":" + r);
675
677
  } else {
676
- t.push(Rr(n) + ":" + Cr(n, r));
678
+ t.push(xr(n) + ":" + qr(n, r));
677
679
  }
678
680
  }
679
681
  }
@@ -688,7 +690,7 @@ var serializeBooleanOrNumberAttribute = e => e != null ? String(e) : null;
688
690
 
689
691
  function r(e, t, n) {
690
692
  if (isClassAttr(e)) {
691
- const e = qr(t);
693
+ const e = Er(t);
692
694
  t = n ? n + (e.length ? " " + e : e) : e;
693
695
  } else if (e === "style") {
694
696
  t = stringifyStyle(t);
@@ -706,7 +708,7 @@ function isEnumeratedBooleanAttribute(e) {
706
708
  return isAriaAttribute(e) || [ "spellcheck", "draggable", "contenteditable" ].includes(e);
707
709
  }
708
710
 
709
- var Cr = (e, t) => {
711
+ var qr = (e, t) => {
710
712
  if (typeof t === "number" && t !== 0 && !isUnitlessNumber(e)) {
711
713
  return t + "px";
712
714
  }
@@ -717,130 +719,11 @@ function isAriaAttribute(e) {
717
719
  return e.startsWith("aria-");
718
720
  }
719
721
 
720
- // packages/qwik/src/core/preloader/queue.ts
721
- import { isBrowser as isBrowser3 } from "@qwik.dev/core/build";
722
-
723
- // packages/qwik/src/core/preloader/bundle-graph.ts
724
- import { isServer as isServer4 } from "@qwik.dev/core/build";
725
-
726
- // packages/qwik/src/core/shared/platform/platform.ts
727
- import { isServer as isServer2 } from "@qwik.dev/core/build";
728
-
729
- var Er = () => ({
730
- isServer: isServer2,
731
- importSymbol(e, t, n) {
732
- if (isServer2) {
733
- const e = Ia(n);
734
- const t = globalThis.__qwik_reg_symbols?.get(e);
735
- if (t) {
736
- return t;
737
- }
738
- throw Se(6 /* dynamicImportFailed */ , [ n ]);
739
- }
740
- if (!t) {
741
- throw Se(14 /* qrlMissingChunk */ , [ n ]);
742
- }
743
- if (!e) {
744
- throw Se(13 /* qrlMissingContainer */ , [ t, n ]);
745
- }
746
- const r = Tr(e.ownerDocument, e, t).toString();
747
- const s = new URL(r);
748
- s.hash = "";
749
- const i = s.href;
750
- return import(
751
- /* @vite-ignore */
752
- i).then(e => e[n]);
753
- },
754
- raf: e => new Promise(t => {
755
- requestAnimationFrame(() => {
756
- t(e());
757
- });
758
- }),
759
- chunkForSymbol(e, t) {
760
- return [ e, t ?? "_" ];
761
- }
762
- });
763
-
764
- var Tr = (e, t, n) => {
765
- const r = e.baseURI;
766
- const s = new URL(t.getAttribute(ze) ?? r, r);
767
- return new URL(n, s);
768
- };
769
-
770
- var Pr = /* @__PURE__ */ Er();
771
-
772
- var Or = () => {
773
- if (ie) {
774
- return Pr.isServer;
775
- }
776
- return false;
777
- };
778
-
779
- // packages/qwik/src/core/shared/platform/next-tick.ts
780
- var Ar = e => {
781
- let t;
782
- if (typeof MessageChannel !== "undefined") {
783
- const n = new MessageChannel;
784
- n.port1.onmessage = () => e();
785
- t = () => n.port2.postMessage(null);
786
- } else {
787
- t = () => setTimeout(e);
788
- }
789
- return t;
790
- };
791
-
792
- // packages/qwik/src/core/preloader/constants.ts
793
- import { isServer as isServer3 } from "@qwik.dev/core/build";
794
-
795
- var Mr = import.meta.env.TEST ? !Or() : !isServer3;
796
-
797
- var Nr = Mr ? document : void 0;
798
-
799
- var config = {
800
- t: false,
801
- i: 25,
802
- v: .65
803
- };
804
-
805
- var Ir = Mr && Nr.createElement("link").relList?.supports?.("modulepreload") ? "modulePreload" : "preload";
806
-
807
- var loadStart = performance.now();
808
-
809
- var Fr = /\.[mc]?js$/;
810
-
811
- var Dr = 1e3 / 60;
812
-
813
- // packages/qwik/src/core/preloader/types.ts
814
- var BundleImportState_None = 0;
815
-
816
- var BundleImportState_Queued = 1;
817
-
818
- var BundleImportState_Preload = 2;
819
-
820
- var BundleImportState_Alias = 3;
821
-
822
- var BundleImportState_Loaded = 4;
823
-
824
722
  // packages/qwik/src/core/preloader/bundle-graph.ts
825
723
  var base;
826
724
 
827
725
  var graph;
828
726
 
829
- var isBrowser2 = import.meta.env.TEST ? !Or() : !isServer4;
830
-
831
- var makeBundle = (e, t) => ({
832
- zt: e,
833
- At: Fr.test(e) ? BundleImportState_None : BundleImportState_Alias,
834
- Lt: shouldResetFactor ? t?.map(e => ({
835
- ...e,
836
- Kt: 1
837
- })) : t,
838
- Ut: 1,
839
- Wt: performance.now(),
840
- Qt: 0,
841
- Vt: 0
842
- });
843
-
844
727
  var parseBundleGraph = e => {
845
728
  const t = /* @__PURE__ */ new Map;
846
729
  let n = 0;
@@ -854,9 +737,9 @@ var parseBundleGraph = e => {
854
737
  o = -i / 10;
855
738
  } else {
856
739
  s.push({
857
- zt: e[i],
858
- Gt: o,
859
- Kt: 1
740
+ Dt: e[i],
741
+ Jt: o,
742
+ Qt: 1
860
743
  });
861
744
  }
862
745
  n++;
@@ -866,34 +749,7 @@ var parseBundleGraph = e => {
866
749
  return t;
867
750
  };
868
751
 
869
- var zr = e => {
870
- let t = Lr.get(e);
871
- if (!t) {
872
- let n;
873
- if (graph) {
874
- n = graph.get(e);
875
- if (!n) {
876
- return;
877
- }
878
- if (!n.length) {
879
- n = void 0;
880
- }
881
- }
882
- t = makeBundle(e, n);
883
- Lr.set(e, t);
884
- }
885
- return t;
886
- };
887
-
888
- var initPreloader = (e, t) => {
889
- if (t) {
890
- if ("debug" in t) {
891
- config.t = !!t.debug;
892
- }
893
- if (typeof t.preloadProbability === "number") {
894
- config.v = 1 - t.preloadProbability;
895
- }
896
- }
752
+ var initPreloader = e => {
897
753
  if (base != null || !e) {
898
754
  return;
899
755
  }
@@ -901,295 +757,8 @@ var initPreloader = (e, t) => {
901
757
  graph = parseBundleGraph(e);
902
758
  };
903
759
 
904
- // packages/qwik/src/core/preloader/queue.ts
905
- var Lr = /* @__PURE__ */ new Map;
906
-
907
- var shouldResetFactor;
908
-
909
- var queueDirty;
910
-
911
- var Ur = 0;
912
-
913
- var Wr = [];
914
-
915
- var Qr = Ar(Fa);
916
-
917
- var Vr = Ar(i);
918
-
919
- var Jr = false;
920
-
921
- var Br = false;
922
-
923
- var Hr = false;
924
-
925
- var Yr = import.meta.env.TEST ? !Or() : isBrowser3;
926
-
927
- var Xr = [];
928
-
929
- var log = (...e) => {
930
- console.log(`Preloader ${performance.now() - loadStart}ms ${Ur}/${Wr.length} queued>`, ...e);
931
- };
932
-
933
- var resetQueue = () => {
934
- Lr.clear();
935
- queueDirty = false;
936
- shouldResetFactor = true;
937
- Ur = 0;
938
- Wr.length = 0;
939
- Xr.length = 0;
940
- Jr = false;
941
- Br = false;
942
- Hr = false;
943
- };
944
-
945
- var sortQueue = () => {
946
- if (queueDirty) {
947
- Wr.sort((e, t) => e.Ut - t.Ut);
948
- queueDirty = false;
949
- }
950
- };
951
-
952
- var getQueue = () => {
953
- sortQueue();
954
- let e = .4;
955
- const t = [];
956
- for (let n = 0; n < Wr.length; n++) {
957
- const r = Wr[n];
958
- const s = Math.round((1 - r.Ut) * 10);
959
- if (s !== e) {
960
- e = s;
961
- t.push(e);
962
- }
963
- t.push(r.zt);
964
- }
965
- return t;
966
- };
967
-
968
- function Fa() {
969
- Jr = false;
970
- if (!Wr.length) {
971
- return;
972
- }
973
- sortQueue();
974
- const e = performance.now() + Dr;
975
- let t = false;
976
- while (Wr.length) {
977
- const n = Wr[0];
978
- const r = n.Ut;
979
- const s = 1 - r;
980
- const i = graph ? config.i :
981
- // While the graph is not available, we limit to 5 preloads
982
- 5;
983
- if (s >= .99 || Ur < i) {
984
- Wr.shift();
985
- Zr(n);
986
- if (performance.now() >= e) {
987
- t = true;
988
- break;
989
- }
990
- } else {
991
- break;
992
- }
993
- }
994
- if (t && Wr.length && !Jr) {
995
- Jr = true;
996
- Qr();
997
- }
998
- if (config.t && !Wr.length) {
999
- const e = [ ...Lr.values() ].filter(e => e.At > BundleImportState_None);
1000
- const t = e.reduce((e, t) => e + t.Qt, 0);
1001
- const n = e.reduce((e, t) => e + t.Vt, 0);
1002
- log(`>>>> done ${e.length}/${Lr.size} total: ${t}ms waited, ${n}ms loaded`);
1003
- }
1004
- }
1005
-
1006
- var Gr = (e, t, n, r) => {
1007
- Xr.unshift({
1008
- Jt: e,
1009
- Ut: t,
1010
- Bt: r,
1011
- Ht: n
1012
- });
1013
- };
1014
-
1015
- var Kr = () => {
1016
- const e = Xr[Xr.length - 1];
1017
- const t = e.Jt;
1018
- if (e.Lt) {
1019
- const n = e.Yt;
1020
- if (n >= e.Lt.length) {
1021
- Xr.pop();
1022
- return false;
1023
- }
1024
- const r = e.Lt[n];
1025
- e.Yt = n + 1;
1026
- const s = zr(r.zt);
1027
- if (s.Ut === 0) {
1028
- return true;
1029
- }
1030
- const i = 1 - t.Ut;
1031
- let o;
1032
- if (i === 1 || i >= .99 && e.Ht.Xt < 100) {
1033
- e.Ht.Xt++;
1034
- o = Math.min(.01, 1 - r.Gt);
1035
- } else {
1036
- const e = 1 - r.Gt * i;
1037
- const t = r.Kt;
1038
- const n = e / t;
1039
- o = Math.max(.02, s.Ut * n);
1040
- r.Kt = n;
1041
- }
1042
- Xr.push({
1043
- Jt: s,
1044
- Ut: o,
1045
- Bt: e.Bt,
1046
- Ht: e.Ht
1047
- });
1048
- return true;
1049
- }
1050
- if (e.Bt?.has(t)) {
1051
- Xr.pop();
1052
- return false;
1053
- }
1054
- const n = t.Ut;
1055
- t.Ut = e.Ut;
1056
- if (n - t.Ut < .01) {
1057
- Xr.pop();
1058
- return false;
1059
- }
1060
- if (
1061
- // don't queue until we have initialized the preloader
1062
- base != null && t.At < BundleImportState_Preload) {
1063
- if (t.At === BundleImportState_None) {
1064
- t.At = BundleImportState_Queued;
1065
- Wr.push(t);
1066
- config.t && log(`queued ${Math.round((1 - t.Ut) * 100)}%`, t.zt);
1067
- }
1068
- queueDirty = true;
1069
- }
1070
- if (t.Lt?.length) {
1071
- const n = e.Bt || /* @__PURE__ */ new Set;
1072
- n.add(t);
1073
- e.Bt = n;
1074
- e.Lt = t.Lt;
1075
- e.Yt = 0;
1076
- return false;
1077
- }
1078
- Xr.pop();
1079
- return false;
1080
- };
1081
-
1082
- function i() {
1083
- if (Hr || !Xr.length) {
1084
- return;
1085
- }
1086
- Br = false;
1087
- Hr = true;
1088
- const e = Yr ? performance.now() + Dr : 0;
1089
- let t = false;
1090
- while (Xr.length) {
1091
- t = true;
1092
- const n = Kr();
1093
- if (Yr && n && performance.now() >= e) {
1094
- if (!Br) {
1095
- Br = true;
1096
- Vr();
1097
- }
1098
- break;
1099
- }
1100
- }
1101
- Hr = false;
1102
- if (t && Yr) {
1103
- Qr();
1104
- }
1105
- }
1106
-
1107
- var Zr = e => {
1108
- if (e.At >= BundleImportState_Preload) {
1109
- return;
1110
- }
1111
- Ur++;
1112
- const t = performance.now();
1113
- e.Qt = t - e.Wt;
1114
- e.At = BundleImportState_Preload;
1115
- config.t && log(`<< load ${Math.round((1 - e.Ut) * 100)}% after ${`${e.Qt}ms`}`, e.zt);
1116
- const n = Nr.createElement("link");
1117
- n.href = new URL(`${base}${e.zt}`, Nr.baseURI).toString();
1118
- n.rel = Ir;
1119
- n.as = "script";
1120
- n.onload = n.onerror = () => {
1121
- Ur--;
1122
- const r = performance.now();
1123
- e.Vt = r - t;
1124
- e.At = BundleImportState_Loaded;
1125
- config.t && log(`>> done after ${e.Vt}ms`, e.zt);
1126
- n.remove();
1127
- Qr();
1128
- };
1129
- Nr.head.appendChild(n);
1130
- };
1131
-
1132
- var adjustProbabilities = (e, t, n) => {
1133
- Gr(e, t, {
1134
- Xt: 0
1135
- }, n);
1136
- if (Yr) {
1137
- Vr();
1138
- } else {
1139
- i();
1140
- }
1141
- };
1142
-
1143
- var ti = (e, t, n) => {
1144
- const r = zr(e);
1145
- if (r && r.Ut > t) {
1146
- if (n) {
1147
- Gr(r, t, n);
1148
- } else {
1149
- adjustProbabilities(r, t);
1150
- }
1151
- }
1152
- };
1153
-
1154
- var preload = (e, t) => {
1155
- if (!e?.length) {
1156
- return;
1157
- }
1158
- let n = t ? 1 - t : .4;
1159
- const r = {
1160
- Xt: 0
1161
- };
1162
- if (Array.isArray(e)) {
1163
- for (let t = e.length - 1; t >= 0; t--) {
1164
- const s = e[t];
1165
- if (typeof s === "number") {
1166
- n = 1 - s / 10;
1167
- } else {
1168
- ti(s, n, r);
1169
- }
1170
- }
1171
- } else {
1172
- ti(e, n, r);
1173
- }
1174
- if (Yr) {
1175
- Vr();
1176
- } else {
1177
- i();
1178
- }
1179
- };
1180
-
1181
- if (import.meta.env.TEST ? !Or() : isBrowser3) {
1182
- document.addEventListener("qsymbol", e => {
1183
- const {symbol: t, href: n} = e.detail;
1184
- if (n) {
1185
- const e = t.slice(t.lastIndexOf("_") + 1);
1186
- preload(e, 1);
1187
- }
1188
- });
1189
- }
1190
-
1191
760
  // packages/qwik/src/core/shared/utils/objects.ts
1192
- var ni = e => {
761
+ var Kr = e => {
1193
762
  for (const t in e) {
1194
763
  if (Object.prototype.hasOwnProperty.call(e, t)) {
1195
764
  return false;
@@ -1205,7 +774,7 @@ var GT = ">";
1205
774
 
1206
775
  var CLOSE_TAG = "</";
1207
776
 
1208
- var Lf = " ";
777
+ var Uf = " ";
1209
778
 
1210
779
  var ATTR_EQUALS_QUOTE = '="';
1211
780
 
@@ -1219,7 +788,7 @@ var BRACKET_CLOSE = "]";
1219
788
 
1220
789
  var PAREN_CLOSE = ")";
1221
790
 
1222
- var ei = ",";
791
+ var Zr = ",";
1223
792
 
1224
793
  // packages/qwik/src/server/platform.ts
1225
794
  var getDevSegmentPath = (e, t, n, r) => {
@@ -1227,28 +796,28 @@ var getDevSegmentPath = (e, t, n, r) => {
1227
796
  if (s) {
1228
797
  return s;
1229
798
  }
1230
- if (n === ke) {
799
+ if (n === ge) {
1231
800
  return [ n, "" ];
1232
801
  }
1233
802
  if (!r) {
1234
803
  if (n.startsWith("_") && n.length < 6) {
1235
- return [ n, `${import.meta.env.BASE_URL}@qwik-handlers` ];
804
+ return [ n, `${import.meta.env?.BASE_URL}@qwik-handlers` ];
1236
805
  }
1237
806
  console.error("qwik symbolMapper: unknown qrl requested without parent:", n);
1238
- return [ n, `${import.meta.env.BASE_URL}${n}.js` ];
807
+ return [ n, `${import.meta.env?.BASE_URL}${n}.js` ];
1239
808
  }
1240
- const i = `${import.meta.env.BASE_URL}${r.startsWith("/") ? r.slice(1) : r}_${n}.js`;
809
+ const i = `${import.meta.env?.BASE_URL}${r.startsWith("/") ? r.slice(1) : r}_${n}.js`;
1241
810
  return [ n, i ];
1242
811
  };
1243
812
 
1244
- function createPlatform2(e, t) {
813
+ function Pr(e, t) {
1245
814
  const n = t?.mapper;
1246
815
  const r = e.symbolMapper ? e.symbolMapper : (e, t, r) => {
1247
- if (n || isDev5 && import.meta.env.MODE !== "test") {
1248
- const t = getSymbolHash2(e);
1249
- const s = !isDev5 ? n[t] : getDevSegmentPath(n, t, e, r);
816
+ if (n || isDev6 && import.meta.env?.MODE !== "test") {
817
+ const t = Ha(e);
818
+ const s = !isDev6 ? n[t] : getDevSegmentPath(n, t, e, r);
1250
819
  if (!s) {
1251
- if (t === ke) {
820
+ if (t === ge) {
1252
821
  return [ t, "" ];
1253
822
  }
1254
823
  const s = globalThis.__qwik_reg_symbols?.has(t);
@@ -1263,12 +832,12 @@ function createPlatform2(e, t) {
1263
832
  const s = {
1264
833
  isServer: true,
1265
834
  async importSymbol(e, t, n) {
1266
- const r = getSymbolHash2(n);
835
+ const r = Ha(n);
1267
836
  const s = globalThis.__qwik_reg_symbols?.get(r);
1268
837
  if (s) {
1269
838
  return s;
1270
839
  }
1271
- throw Se(6 /* dynamicImportFailed */ , [ n ]);
840
+ throw ve(6 /* dynamicImportFailed */ , [ n ]);
1272
841
  },
1273
842
  raf: () => {
1274
843
  console.error("server can not rerender");
@@ -1282,11 +851,11 @@ function createPlatform2(e, t) {
1282
851
  }
1283
852
 
1284
853
  async function setServerPlatform(e, t) {
1285
- const n = createPlatform2(e, t);
1286
- jr(n);
854
+ const n = Pr(e, t);
855
+ Mr(n);
1287
856
  }
1288
857
 
1289
- var getSymbolHash2 = e => {
858
+ var Ha = e => {
1290
859
  const t = e.lastIndexOf("_");
1291
860
  if (t > -1) {
1292
861
  return e.slice(t + 1);
@@ -1294,123 +863,17 @@ var getSymbolHash2 = e => {
1294
863
  return e;
1295
864
  };
1296
865
 
1297
- // packages/qwik/src/server/utils.ts
1298
- function createTimer() {
1299
- if (typeof performance === "undefined") {
1300
- return () => 0;
1301
- }
1302
- const e = performance.now();
1303
- return () => {
1304
- const t = performance.now();
1305
- const n = t - e;
1306
- return n / 1e6;
1307
- };
1308
- }
1309
-
1310
- function getBuildBase(e) {
1311
- let t = e.base;
1312
- if (typeof e.base === "function") {
1313
- t = e.base(e);
1314
- }
1315
- if (typeof t === "string") {
1316
- if (!t.endsWith("/")) {
1317
- t += "/";
1318
- }
1319
- return t;
1320
- }
1321
- return `${import.meta.env.BASE_URL || "/"}build/`;
1322
- }
1323
-
1324
- var versions = {
1325
- qwik: "2.0.0-beta.32-dev+0e29f8a",
1326
- qwikDom: "2.1.19"
1327
- };
866
+ // packages/qwik/src/server/ssr-render.ts
867
+ import { getClientManifest as yf } from "@qwik.dev/core";
1328
868
 
1329
869
  // packages/qwik/src/server/ssr-container.ts
1330
- import { isDev as isDev7 } from "@qwik.dev/core/build";
1331
-
1332
- import { _SubscriptionData as fs, _SharedContainer as Au, _jsxSorted as xs, _jsxSplit as qs, _res as w, _setEvent, _walkJSX as Cn, _createQRL as Gc, isSignal as Dl } from "@qwik.dev/core/internal";
1333
-
1334
- // packages/qwik/src/server/preload-strategy.ts
1335
- import { getPlatform as _r } from "@qwik.dev/core";
1336
-
1337
- // packages/qwik/src/server/preload-utils.ts
1338
- function flattenPrefetchResources(e) {
1339
- const t = [];
1340
- const n = e => {
1341
- if (e) {
1342
- for (let r = 0; r < e.length; r++) {
1343
- const s = e[r];
1344
- if (!t.includes(s.url)) {
1345
- t.push(s.url);
1346
- if (s.imports) {
1347
- n(s.imports);
1348
- }
1349
- }
1350
- }
1351
- }
1352
- };
1353
- n(e);
1354
- return t;
1355
- }
1356
-
1357
- // packages/qwik/src/server/preload-strategy.ts
1358
- var getBundles = e => {
1359
- const t = _r();
1360
- const n = e?.map(e => {
1361
- const n = e.bt;
1362
- const r = e.vt;
1363
- const s = t.chunkForSymbol(n, r, e.dev?.file);
1364
- if (s) {
1365
- return s[1];
1366
- }
1367
- return r;
1368
- }).filter(Boolean);
1369
- return [ ...new Set(n) ];
1370
- };
1371
-
1372
- function getPreloadPaths(e, t, n) {
1373
- const r = t.prefetchStrategy;
1374
- if (r === null) {
1375
- return [];
1376
- }
1377
- if (!n?.manifest.bundleGraph) {
1378
- return getBundles(e);
1379
- }
1380
- if (typeof r?.symbolsToPrefetch === "function") {
1381
- try {
1382
- const e = r.symbolsToPrefetch({
1383
- manifest: n.manifest
1384
- });
1385
- return flattenPrefetchResources(e);
1386
- } catch (e) {
1387
- console.error("getPrefetchUrls, symbolsToPrefetch()", e);
1388
- }
1389
- }
1390
- const s = /* @__PURE__ */ new Set;
1391
- for (let t = 0; t < e.length; t++) {
1392
- const n = getSymbolHash2(e[t].bt);
1393
- if (n && n.length >= 10) {
1394
- s.add(n);
1395
- }
1396
- }
1397
- return [ ...s ];
1398
- }
870
+ import { isDev as isDev8 } from "@qwik.dev/core/build";
1399
871
 
1400
- var expandBundles = (e, t) => {
1401
- if (!t?.manifest.bundleGraph) {
1402
- return [ ...new Set(e) ];
1403
- }
1404
- resetQueue();
1405
- let n = .99;
1406
- for (let t = 0; t < e.length; t++) {
1407
- preload(e[t], n);
1408
- n *= .95;
1409
- }
1410
- return getQueue();
1411
- };
872
+ import { _SubscriptionData as li, _SharedContainer as Ou, _jsxSorted as vi, _jsxSplit as gi, _res as w, _setEvent, _walkJSX as Nn, _createQRL as Kc, isSignal as Ll } from "@qwik.dev/core/internal";
1412
873
 
1413
874
  // packages/qwik/src/server/preload-impl.ts
875
+ import { getPlatform as Nr } from "@qwik.dev/core";
876
+
1414
877
  var simplifyPath = (e, t) => {
1415
878
  if (t == null) {
1416
879
  return null;
@@ -1429,9 +892,9 @@ var simplifyPath = (e, t) => {
1429
892
  };
1430
893
 
1431
894
  var getBase = e => {
1432
- let t = e.ae;
1433
- if (import.meta.env.DEV && !import.meta.env.TEST) {
1434
- t = import.meta.env.BASE_URL;
895
+ let t = e.ce;
896
+ if (import.meta.env?.DEV && !qTest) {
897
+ t = import.meta.env?.BASE_URL;
1435
898
  }
1436
899
  return t;
1437
900
  };
@@ -1442,36 +905,26 @@ var preloaderPre = (e, t, n) => {
1442
905
  const i = simplifyPath(s, r?.manifest?.preloader);
1443
906
  let o = r?.manifest.bundleGraphAsset;
1444
907
  if (o) {
1445
- o = (import.meta.env.BASE_URL || "/") + o;
1446
- }
1447
- if (i && o && t !== false) {
1448
- const r = typeof t === "object" ? {
1449
- debug: t.debug,
1450
- preloadProbability: t.ssrPreloadProbability
1451
- } : void 0;
1452
- const a = e.resolvedManifest?.manifest.bundleGraph;
1453
- initPreloader(a, r);
1454
- const l = [];
908
+ o = (import.meta.env?.BASE_URL || "/") + o;
909
+ }
910
+ if (!(import.meta.env?.DEV && !qTest) && i && o && t !== false) {
911
+ const r = e.resolvedManifest?.manifest.bundleGraph;
912
+ initPreloader(r);
913
+ const a = [];
1455
914
  if (t) {
1456
- if (t.debug) {
1457
- l.push("d:1");
1458
- }
1459
915
  if (t.maxIdlePreloads) {
1460
- l.push(`P:${t.maxIdlePreloads}`);
1461
- }
1462
- if (t.preloadProbability) {
1463
- l.push(`Q:${t.preloadProbability}`);
916
+ a.push(`P:${t.maxIdlePreloads}`);
1464
917
  }
1465
918
  }
1466
- const c = l.length ? `,{${l.join(",")}}` : "";
1467
- const u = {
919
+ const l = a.length ? `,{${a.join(",")}}` : "";
920
+ const c = {
1468
921
  rel: "modulepreload",
1469
922
  href: i
1470
923
  };
1471
924
  if (n) {
1472
- u["nonce"] = n;
925
+ c["nonce"] = n;
1473
926
  }
1474
- e.openElement("link", null, u, null, null, null);
927
+ e.openElement("link", null, c, null, null, null);
1475
928
  e.closeElement();
1476
929
  e.openElement("link", null, {
1477
930
  rel: "preload",
@@ -1480,7 +933,7 @@ var preloaderPre = (e, t, n) => {
1480
933
  crossorigin: "anonymous"
1481
934
  }, null, null, null);
1482
935
  e.closeElement();
1483
- const d = `let b=fetch("${o}");import("${i}").then(({l})=>l(${JSON.stringify(s)},b${c}));`;
936
+ const u = `let b=fetch("${o}");import("${i}").then(({l})=>l(${JSON.stringify(s)},b${l}));`;
1484
937
  const h = {
1485
938
  type: "module",
1486
939
  async: true,
@@ -1490,7 +943,7 @@ var preloaderPre = (e, t, n) => {
1490
943
  h["nonce"] = n;
1491
944
  }
1492
945
  e.openElement("script", null, h, null, null, null);
1493
- e.write(d);
946
+ e.write(u);
1494
947
  e.closeElement();
1495
948
  }
1496
949
  const a = simplifyPath(s, r?.manifest.core);
@@ -1511,45 +964,35 @@ var includePreloader = (e, t, n, r) => {
1511
964
  if (n.length === 0 || t === false) {
1512
965
  return null;
1513
966
  }
1514
- const {ssrPreloads: s, ssrPreloadProbability: i} = normalizePreLoaderOptions(typeof t === "boolean" ? void 0 : t);
1515
- let o = s;
1516
- const a = getBase(e);
1517
- const l = [];
1518
- const {resolvedManifest: c} = e;
1519
- if (o) {
1520
- const e = c?.manifest.preloader;
1521
- const t = c?.manifest.core;
1522
- const r = expandBundles(n, c);
1523
- let s = 4;
1524
- const a = i * 10;
1525
- for (let n = 0; n < r.length; n++) {
1526
- const i = r[n];
1527
- if (typeof i === "string") {
1528
- if (s < a) {
1529
- break;
1530
- }
1531
- if (i === e || i === t) {
1532
- continue;
1533
- }
1534
- l.push(i);
1535
- if (--o === 0) {
1536
- break;
1537
- }
1538
- } else {
1539
- s = i;
967
+ const {ssrPreloads: s} = normalizePreLoaderOptions(typeof t === "boolean" ? void 0 : t);
968
+ let i = s;
969
+ const o = getBase(e);
970
+ const a = [];
971
+ const {resolvedManifest: l} = e;
972
+ if (i) {
973
+ const e = l?.manifest.preloader;
974
+ const t = l?.manifest.core;
975
+ for (let r = 0; r < n.length; r++) {
976
+ const s = n[r];
977
+ if (s === e || s === t) {
978
+ continue;
979
+ }
980
+ a.push(s);
981
+ if (--i === 0) {
982
+ break;
1540
983
  }
1541
984
  }
1542
985
  }
1543
- const u = simplifyPath(a, c?.manifest.preloader);
1544
- const d = l.length ?
986
+ const c = simplifyPath(o, l?.manifest.preloader);
987
+ const u = a.length ?
1545
988
  /**
1546
989
  * We only use modulepreload links because they behave best. Older browsers can rely on the
1547
990
  * preloader which does feature detection and which will be available soon after inserting these
1548
991
  * links.
1549
- */ `${JSON.stringify(l)}.map((l,e)=>{e=document.createElement('link');e.rel='modulepreload';e.href=${JSON.stringify(a)}+l;document.head.appendChild(e)});` : "";
1550
- let h = d;
1551
- if (u) {
1552
- h += `window.addEventListener('load',f=>{f=_=>import("${u}").then(({p})=>p(${JSON.stringify(n)}));try{requestIdleCallback(f,{timeout:2000})}catch(e){setTimeout(f,200)}})`;
992
+ */ `${JSON.stringify(a)}.map((l,e)=>{e=document.createElement('link');e.rel='modulepreload';e.href=${JSON.stringify(o)}+l;document.head.appendChild(e)});` : "";
993
+ let h = u;
994
+ if (c) {
995
+ h += `window.addEventListener('load',f=>{f=_=>import("${c}").then(({p})=>p(${JSON.stringify(n)}));try{requestIdleCallback(f,{timeout:2000})}catch(e){setTimeout(f,200)}})`;
1553
996
  }
1554
997
  if (h) {
1555
998
  const t = {
@@ -1568,12 +1011,13 @@ var includePreloader = (e, t, n, r) => {
1568
1011
  };
1569
1012
 
1570
1013
  var preloaderPost = (e, t, n) => {
1014
+ if (import.meta.env?.DEV && !qTest) {
1015
+ return;
1016
+ }
1571
1017
  if (t.preloader !== false) {
1572
- const r = Array.from(e.serializationCtx.jt);
1573
- const s = getPreloadPaths(r, t, e.resolvedManifest);
1574
- if (s.length > 0) {
1575
- includePreloader(e, t.preloader, s, n);
1576
- }
1018
+ const r = Array.from(e.serializationCtx.At);
1019
+ const s = getBundles(r);
1020
+ includePreloader(e, t.preloader, s, n);
1577
1021
  }
1578
1022
  };
1579
1023
 
@@ -1584,12 +1028,23 @@ function normalizePreLoaderOptions(e) {
1584
1028
  };
1585
1029
  }
1586
1030
 
1031
+ var getBundles = e => {
1032
+ const t = Nr();
1033
+ const n = e?.map(e => {
1034
+ const n = e.bt;
1035
+ const r = e.vt;
1036
+ const s = t.chunkForSymbol(n, r, e.dev?.file);
1037
+ if (s) {
1038
+ return s[1];
1039
+ }
1040
+ return r;
1041
+ }).filter(Boolean);
1042
+ return [ ...new Set(n) ];
1043
+ };
1044
+
1587
1045
  var preLoaderOptionsDefault = {
1588
1046
  ssrPreloads: 7,
1589
- ssrPreloadProbability: .5,
1590
- debug: false,
1591
- maxIdlePreloads: 25,
1592
- preloadProbability: .35
1047
+ maxIdlePreloads: 25
1593
1048
  };
1594
1049
 
1595
1050
  // packages/qwik/src/server/scripts.ts
@@ -1597,9 +1052,9 @@ var QWIK_LOADER_DEFAULT_MINIFIED = 'const e=document,t=window,r="w",n="wp",o="d"
1597
1052
 
1598
1053
  var QWIK_LOADER_DEFAULT_DEBUG = 'const doc = document;\nconst win = window;\nconst windowPrefix = "w";\nconst passiveWindowPrefix = "wp";\nconst documentPrefix = "d";\nconst passiveDocumentPrefix = "dp";\nconst elementPrefix = "e";\nconst passiveElementPrefix = "ep";\nconst capturePrefix = "capture:";\nconst events = /* @__PURE__ */ new Set();\nconst roots = /* @__PURE__ */ new Set([doc]);\nconst symbols = /* @__PURE__ */ new Map();\nlet observer;\nlet hasInitialized;\nlet queuedTasks;\nconst nativeQuerySelectorAll = (root, selector) => Array.from(root.querySelectorAll(selector));\nconst querySelectorAll = (query) => {\n const elements = [];\n roots.forEach((root) => elements.push(...nativeQuerySelectorAll(root, query)));\n return elements;\n};\nconst addEventListener = (el, eventName, handler, capture = false, passive = false) => el.addEventListener(eventName, handler, { capture, passive });\nconst findShadowRoots = (fragment) => {\n addEventOrRoot(fragment);\n const shadowRoots = nativeQuerySelectorAll(fragment, "[q\\\\:shadowroot]");\n for (let i = 0; i < shadowRoots.length; i++) {\n const parent = shadowRoots[i];\n const shadowRoot = parent.shadowRoot;\n shadowRoot && findShadowRoots(shadowRoot);\n }\n};\nconst isPromise = (promise) => promise && typeof promise.then === "function";\nconst runTasks = async (tasks) => {\n for (let i = 0; i < tasks.length; i++) {\n await tasks[i]();\n }\n};\nconst queueTasks = (tasks) => {\n if (tasks.length) {\n const run = () => runTasks(tasks);\n queuedTasks = queuedTasks ? queuedTasks.then(run, run) : run();\n }\n};\nconst resolveContainer = (containerEl) => {\n if (containerEl._qwikjson_ === void 0) {\n const parentJSON = containerEl === doc.documentElement ? doc.body : containerEl;\n let script = parentJSON.lastElementChild;\n while (script) {\n if (script.tagName === "SCRIPT" && script.getAttribute("type") === "qwik/json") {\n containerEl._qwikjson_ = JSON.parse(\n script.textContent.replace(/\\\\x3C(\\/?script)/gi, "<$1")\n );\n break;\n }\n script = script.previousElementSibling;\n }\n }\n};\nconst createEvent = (eventName, detail) => new CustomEvent(eventName, { detail });\nconst emitEvent = (eventName, detail) => {\n doc.dispatchEvent(createEvent(eventName, detail));\n};\nconst camelToKebab = (str) => str.replace(/([A-Z-])/g, (a) => "-" + a.toLowerCase());\nconst kebabToCamel = (eventName) => eventName.replace(/-./g, (a) => a[1].toUpperCase());\nconst parseKebabEvent = (event) => {\n const separatorIndex = event.indexOf(":");\n const scope = event.slice(0, separatorIndex);\n return {\n scope,\n eventName: kebabToCamel(event.slice(separatorIndex + 1))\n };\n};\nconst isPassiveScope = (scope) => scope.length === 2;\nconst getRootScope = (scope) => scope.charAt(0);\nconst isElementNode = (node) => !!node && node.nodeType === 1;\nconst isCaptureHandlerElement = (element, scopedKebabName, captureAttribute) => element.hasAttribute(captureAttribute) && (!!element._qDispatch?.[scopedKebabName] || element.hasAttribute("q-" + scopedKebabName));\nconst resolveHandler = (container, element, qBase, base, chunk, symbol, reqTime) => {\n const eventData = {\n qBase,\n symbol,\n element,\n reqTime\n };\n if (chunk === "") {\n const hash = container.getAttribute("q:instance");\n const handler2 = (doc["qFuncs_" + hash] || [])[Number.parseInt(symbol)];\n if (!handler2) {\n const error = new Error("sym:" + symbol);\n emitEvent("qerror", {\n importError: "sync",\n error,\n ...eventData\n });\n console.error(error);\n }\n return handler2;\n }\n const key = `${symbol}|${qBase}|${chunk}`;\n const handler = symbols.get(key);\n if (handler) {\n return handler;\n }\n const href = new URL(chunk, base).href;\n const module = import(\n href\n );\n resolveContainer(container);\n return module.then(\n (module2) => {\n const handler2 = module2[symbol];\n if (!handler2) {\n const error = new Error(`${symbol} not in ${href}`);\n emitEvent("qerror", {\n importError: "no-symbol",\n error,\n ...eventData\n });\n console.error(error);\n } else {\n symbols.set(key, handler2);\n emitEvent("qsymbol", eventData);\n }\n return handler2;\n },\n (error) => {\n emitEvent("qerror", {\n importError: "async",\n error,\n ...eventData\n });\n console.error(error);\n return void 0;\n }\n );\n};\nconst dispatch = (element, ev, scopedKebabName, tasks, kebabName, allowPreventDefault = true) => {\n let defer = false;\n if (kebabName) {\n if (allowPreventDefault && element.hasAttribute("preventdefault:" + kebabName)) {\n ev.preventDefault();\n }\n if (element.hasAttribute("stoppropagation:" + kebabName)) {\n ev.stopPropagation();\n }\n }\n const handlers = element._qDispatch?.[scopedKebabName];\n if (handlers) {\n if (typeof handlers === "function") {\n const run = () => handlers(ev, element);\n if (defer) {\n tasks.push(async () => {\n const result = run();\n if (isPromise(result)) {\n await result;\n }\n });\n } else {\n const result = run();\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n } else if (handlers.length) {\n for (let i = 0; i < handlers.length; i++) {\n const handler = handlers[i];\n if (handler) {\n const run = () => handler(ev, element);\n if (defer) {\n tasks.push(async () => {\n const result = run();\n if (isPromise(result)) {\n await result;\n }\n });\n } else {\n const result = run();\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n }\n }\n }\n return;\n }\n const attrValue = element.getAttribute("q-" + scopedKebabName);\n if (attrValue) {\n const container = element.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n const qBase = container.getAttribute("q:base");\n const base = new URL(qBase, doc.baseURI);\n const qrls = attrValue.split("|");\n for (let i = 0; i < qrls.length; i++) {\n const qrl = qrls[i];\n const reqTime = performance.now();\n const [chunk, symbol, capturedIds] = qrl.split("#");\n const run = (handler2) => {\n if (handler2 && element.isConnected) {\n try {\n const result = handler2.call(capturedIds, ev, element);\n if (isPromise(result)) {\n return result.catch((error) => {\n emitEvent("qerror", {\n error,\n qBase,\n symbol,\n element,\n reqTime\n });\n });\n }\n } catch (error) {\n emitEvent("qerror", {\n error,\n qBase,\n symbol,\n element,\n reqTime\n });\n }\n }\n };\n const handler = resolveHandler(container, element, qBase, base, chunk, symbol, reqTime);\n if (defer || isPromise(handler)) {\n defer = true;\n tasks.push(async () => {\n await run(isPromise(handler) ? await handler : handler);\n });\n } else {\n const result = run(handler);\n if (isPromise(result)) {\n defer = true;\n tasks.push(() => result);\n }\n }\n }\n }\n};\nconst processElementEvent = (ev, scope = elementPrefix, allowPreventDefault = true) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = scope + ":" + kebabName;\n const captureAttribute = capturePrefix + kebabName;\n const elements = [];\n const captureHandlers = [];\n const tasks = [];\n let current = ev.target;\n while (current) {\n if (isElementNode(current)) {\n elements.push(current);\n captureHandlers.push(isCaptureHandlerElement(current, scopedKebabName, captureAttribute));\n current = current.parentElement;\n } else {\n current = current.parentElement;\n }\n }\n for (let i = elements.length - 1; i >= 0; i--) {\n if (captureHandlers[i]) {\n dispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n const continuePropagation = !ev.cancelBubble;\n if (!continuePropagation || ev.cancelBubble) {\n queueTasks(tasks);\n return;\n }\n }\n }\n for (let i = 0; i < elements.length; i++) {\n if (!captureHandlers[i]) {\n dispatch(elements[i], ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n const doBubble = ev.bubbles && !ev.cancelBubble;\n if (!doBubble || ev.cancelBubble) {\n queueTasks(tasks);\n return;\n }\n }\n }\n queueTasks(tasks);\n};\nconst processPassiveElementEvent = (ev) => processElementEvent(ev, passiveElementPrefix, false);\nconst broadcast = (scope, ev, allowPreventDefault = true) => {\n const kebabName = camelToKebab(ev.type);\n const scopedKebabName = scope + ":" + kebabName;\n const elements = querySelectorAll("[q-" + scope + "\\\\:" + kebabName + "]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, scopedKebabName, tasks, kebabName, allowPreventDefault);\n }\n queueTasks(tasks);\n};\nconst processDocumentEvent = (ev) => {\n broadcast(documentPrefix, ev);\n};\nconst processPassiveDocumentEvent = (ev) => {\n broadcast(passiveDocumentPrefix, ev, false);\n};\nconst processWindowEvent = (ev) => {\n broadcast(windowPrefix, ev);\n};\nconst processPassiveWindowEvent = (ev) => {\n broadcast(passiveWindowPrefix, ev, false);\n};\nconst processReadyStateChange = () => {\n const readyState = doc.readyState;\n if (readyState == "interactive" || readyState == "complete") {\n hasInitialized = 1;\n roots.forEach(findShadowRoots);\n if (events.has("d:qinit")) {\n events.delete("d:qinit");\n const ev = createEvent("qinit");\n const elements = querySelectorAll("[q-d\\\\:qinit]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qinit", tasks);\n el.removeAttribute("q-d:qinit");\n }\n queueTasks(tasks);\n }\n if (events.has("d:qidle")) {\n events.delete("d:qidle");\n const riC = win.requestIdleCallback ?? win.setTimeout;\n riC.bind(win)(() => {\n const ev = createEvent("qidle");\n const elements = querySelectorAll("[q-d\\\\:qidle]");\n const tasks = [];\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n dispatch(el, ev, "d:qidle", tasks);\n el.removeAttribute("q-d:qidle");\n }\n queueTasks(tasks);\n });\n }\n if (events.has("e:qvisible")) {\n observer || (observer = new IntersectionObserver((entries) => {\n const tasks = [];\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n dispatch(\n entry.target,\n createEvent("qvisible", entry),\n "e:qvisible",\n tasks\n );\n }\n }\n queueTasks(tasks);\n }));\n const elements = querySelectorAll("[q-e\\\\:qvisible]:not([q\\\\:observed])");\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i];\n observer.observe(el);\n el.setAttribute("q:observed", "true");\n }\n }\n }\n};\nconst addEventOrRoot = (...eventNames) => {\n for (let i = 0; i < eventNames.length; i++) {\n const eventNameOrRoot = eventNames[i];\n if (typeof eventNameOrRoot === "string") {\n if (!events.has(eventNameOrRoot)) {\n events.add(eventNameOrRoot);\n const { scope, eventName } = parseKebabEvent(eventNameOrRoot);\n const passive = isPassiveScope(scope);\n const rootScope = getRootScope(scope);\n if (rootScope === windowPrefix) {\n addEventListener(\n win,\n eventName,\n passive ? processPassiveWindowEvent : processWindowEvent,\n true,\n passive\n );\n } else {\n roots.forEach(\n (root) => addEventListener(\n root,\n eventName,\n rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent,\n true,\n passive\n )\n );\n }\n if (hasInitialized === 1 && (eventNameOrRoot === "e:qvisible" || eventNameOrRoot === "d:qinit" || eventNameOrRoot === "d:qidle")) {\n processReadyStateChange();\n }\n }\n } else {\n if (!roots.has(eventNameOrRoot)) {\n events.forEach((kebabEventName) => {\n const { scope, eventName } = parseKebabEvent(kebabEventName);\n const passive = isPassiveScope(scope);\n const rootScope = getRootScope(scope);\n if (rootScope !== windowPrefix) {\n addEventListener(\n eventNameOrRoot,\n eventName,\n rootScope === documentPrefix ? passive ? processPassiveDocumentEvent : processDocumentEvent : passive ? processPassiveElementEvent : processElementEvent,\n true,\n passive\n );\n }\n });\n roots.add(eventNameOrRoot);\n }\n }\n }\n};\nconst _qwikEv = win._qwikEv;\nif (!_qwikEv?.roots) {\n if (Array.isArray(_qwikEv)) {\n addEventOrRoot(..._qwikEv);\n } else {\n addEventOrRoot("e:click", "e:input");\n }\n win._qwikEv = {\n events,\n roots,\n push: addEventOrRoot\n };\n addEventListener(doc, "readystatechange", processReadyStateChange);\n processReadyStateChange();\n}';
1599
1054
 
1600
- var QWIK_BACKPATCH_EXECUTOR_MINIFIED = `const t='script[type="qwik/backpatch"]',e=document.currentScript;if(e){const o=e.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");if(o){const e=o.querySelector(t);if(e){const t=JSON.parse(e.textContent||"[]"),n=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);let r=n.currentNode,c=r.hasAttribute(":")?0:-1;for(let e=0;e<t.length;e+=3){const o=t[e],i=t[e+1];let s=t[e+2];for(;c<o&&(r=n.nextNode(),r);)r.hasAttribute(":")&&c++;const l=r;null==s||!1===s?l.removeAttribute(i):("boolean"==typeof s&&(s=""),l.setAttribute(i,s))}}}}`;
1055
+ var QWIK_BACKPATCH_EXECUTOR_MINIFIED = `const t='script[type="qwik/backpatch"]';function e(e,n){const o=n||e.querySelector("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");if(o){const n=o.querySelector(t);if(n){const t=JSON.parse(n.textContent||"[]"),r=e.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);let c=r.currentNode,i=c.hasAttribute(":")?0:-1;for(let e=0;e<t.length;e+=3){const n=t[e],o=t[e+1];let s=t[e+2];for(;i<n&&(c=r.nextNode(),c);)c.hasAttribute(":")&&i++;const a=c;null==s||!1===s?a.removeAttribute(o):("boolean"==typeof s&&(s=""),a.setAttribute(o,s))}}}}const n=document.currentScript;if(n){const t=n.closest("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");t&&e(document,t)}`;
1601
1056
 
1602
- var QWIK_BACKPATCH_EXECUTOR_DEBUG = `const BACKPATCH_DATA_SELECTOR = 'script[type="qwik/backpatch"]';\nconst executorScript = document.currentScript;\nif (executorScript) {\n const container = executorScript.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n if (container) {\n const script = container.querySelector(BACKPATCH_DATA_SELECTOR);\n if (script) {\n const data = JSON.parse(script.textContent || "[]");\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT);\n let currentNode = walker.currentNode;\n let currentNodeIdx = currentNode.hasAttribute(":") ? 0 : -1;\n for (let i = 0; i < data.length; i += 3) {\n const elementIdx = data[i];\n const attrName = data[i + 1];\n let value = data[i + 2];\n while (currentNodeIdx < elementIdx) {\n currentNode = walker.nextNode();\n if (!currentNode) {\n break;\n }\n if (currentNode.hasAttribute(":")) {\n currentNodeIdx++;\n }\n }\n const element = currentNode;\n if (value == null || value === false) {\n element.removeAttribute(attrName);\n } else {\n if (typeof value === "boolean") {\n value = "";\n }\n element.setAttribute(attrName, value);\n }\n }\n }\n }\n}`;
1057
+ var QWIK_BACKPATCH_EXECUTOR_DEBUG = `const BACKPATCH_DATA_SELECTOR = 'script[type="qwik/backpatch"]';\nfunction executeBackpatch(doc, containerElement) {\n const container = containerElement || doc.querySelector("[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])");\n if (container) {\n const script = container.querySelector(BACKPATCH_DATA_SELECTOR);\n if (script) {\n const data = JSON.parse(script.textContent || "[]");\n const walker = doc.createTreeWalker(container, NodeFilter.SHOW_ELEMENT);\n let currentNode = walker.currentNode;\n let currentNodeIdx = currentNode.hasAttribute(":") ? 0 : -1;\n for (let i = 0; i < data.length; i += 3) {\n const elementIdx = data[i];\n const attrName = data[i + 1];\n let value = data[i + 2];\n while (currentNodeIdx < elementIdx) {\n currentNode = walker.nextNode();\n if (!currentNode) {\n break;\n }\n if (currentNode.hasAttribute(":")) {\n currentNodeIdx++;\n }\n }\n const element = currentNode;\n if (value == null || value === false) {\n element.removeAttribute(attrName);\n } else {\n if (typeof value === "boolean") {\n value = "";\n }\n element.setAttribute(attrName, value);\n }\n }\n }\n }\n}\nconst executorScript = document.currentScript;\nif (executorScript) {\n const container = executorScript.closest(\n "[q\\\\:container]:not([q\\\\:container=html]):not([q\\\\:container=text])"\n );\n if (container) {\n executeBackpatch(document, container);\n }\n}`;
1603
1058
 
1604
1059
  function getQwikLoaderScript(e = {}) {
1605
1060
  return e.debug ? QWIK_LOADER_DEFAULT_DEBUG : QWIK_LOADER_DEFAULT_MINIFIED;
@@ -1618,9 +1073,9 @@ function getQwikBackpatchExecutorScript(e = {}) {
1618
1073
  }
1619
1074
 
1620
1075
  // packages/qwik/src/server/ssr-node.ts
1621
- import { _isJSXNode as $s, _EMPTY_OBJ, _EFFECT_BACK_REF as si } from "@qwik.dev/core/internal";
1076
+ import { _isJSXNode as ai, _EMPTY_OBJ, _EFFECT_BACK_REF as es } from "@qwik.dev/core/internal";
1622
1077
 
1623
- import { isDev as isDev6 } from "@qwik.dev/core/build";
1078
+ import { isDev as isDev7 } from "@qwik.dev/core/build";
1624
1079
 
1625
1080
  var SsrNode = class {
1626
1081
  constructor(e, t, n, r, s, i) {
@@ -1633,7 +1088,7 @@ var SsrNode = class {
1633
1088
  this.flags = 1 /* Updatable */;
1634
1089
  this.attrs = this.attributesIndex >= 0 ? this.vnodeData[this.attributesIndex] : _EMPTY_OBJ;
1635
1090
  this.parentComponent?.addChild(this);
1636
- if (isDev6 && t.indexOf("undefined") != -1) {
1091
+ if (isDev7 && t.indexOf("undefined") != -1) {
1637
1092
  throw new Error(`Invalid SSR node id: ${t}`);
1638
1093
  }
1639
1094
  }
@@ -1650,19 +1105,19 @@ var SsrNode = class {
1650
1105
  attrs;
1651
1106
  /** Local props which don't serialize; */
1652
1107
  localProps=null;
1653
- get [si]() {
1654
- return this.getProp(Fe);
1108
+ get [es]() {
1109
+ return this.getProp(je);
1655
1110
  }
1656
1111
  setProp(e, t) {
1657
1112
  if (this.attrs === _EMPTY_OBJ) {
1658
1113
  this.setEmptyArrayAsVNodeDataAttributes();
1659
1114
  }
1660
- if (e.startsWith(sr)) {
1115
+ if (e.startsWith(rr)) {
1661
1116
  (this.localProps ||= {})[e] = t;
1662
1117
  } else {
1663
1118
  this.attrs[e] = t;
1664
1119
  }
1665
- if (e == nr && t) {
1120
+ if (e == Ze && t) {
1666
1121
  this.cleanupQueue.push(t);
1667
1122
  }
1668
1123
  }
@@ -1678,14 +1133,14 @@ var SsrNode = class {
1678
1133
  }
1679
1134
  }
1680
1135
  getProp(e) {
1681
- if (e.startsWith(sr)) {
1136
+ if (e.startsWith(rr)) {
1682
1137
  return this.localProps ? this.localProps[e] ?? null : null;
1683
1138
  } else {
1684
1139
  return this.attrs[e] ?? null;
1685
1140
  }
1686
1141
  }
1687
1142
  removeProp(e) {
1688
- if (e.startsWith(sr)) {
1143
+ if (e.startsWith(rr)) {
1689
1144
  if (this.localProps) {
1690
1145
  delete this.localProps[e];
1691
1146
  }
@@ -1711,7 +1166,7 @@ var SsrNode = class {
1711
1166
  }
1712
1167
  }
1713
1168
  toString() {
1714
- if (isDev6) {
1169
+ if (isDev7) {
1715
1170
  let e = "";
1716
1171
  for (const t in this.attrs) {
1717
1172
  const n = this.attrs[t];
@@ -1728,7 +1183,7 @@ var SsrNode = class {
1728
1183
 
1729
1184
  var DomRef = class {
1730
1185
  constructor(e) {
1731
- this.Hn = e;
1186
+ this.Bn = e;
1732
1187
  }
1733
1188
  __brand__="DomRef";
1734
1189
  };
@@ -1745,16 +1200,16 @@ var SsrComponentFrame = class {
1745
1200
  distributeChildrenIntoSlots(e, t, n) {
1746
1201
  this.projectionScopedStyle = t;
1747
1202
  this.projectionComponentFrame = n;
1748
- if ($s(e)) {
1203
+ if (ai(e)) {
1749
1204
  const t = this.getSlotName(e);
1750
- pe(this.slots, t, e, 0);
1205
+ he(this.slots, t, e, 0);
1751
1206
  } else if (Array.isArray(e) && e.length > 0) {
1752
1207
  const t = [];
1753
1208
  for (let n = 0; n < e.length; n++) {
1754
1209
  const r = e[n];
1755
- if ($s(r)) {
1210
+ if (ai(r)) {
1756
1211
  const e = this.getSlotName(r);
1757
- if (e === Ke) {
1212
+ if (e === Ye) {
1758
1213
  t.push(r);
1759
1214
  } else {
1760
1215
  this.updateSlot(e, r);
@@ -1763,13 +1218,13 @@ var SsrComponentFrame = class {
1763
1218
  t.push(r);
1764
1219
  }
1765
1220
  }
1766
- t.length > 0 && pe(this.slots, Ke, t, 0);
1221
+ t.length > 0 && he(this.slots, Ye, t, 0);
1767
1222
  } else {
1768
- pe(this.slots, Ke, e, 0);
1223
+ he(this.slots, Ye, e, 0);
1769
1224
  }
1770
1225
  }
1771
1226
  updateSlot(e, t) {
1772
- let n = $e(this.slots, e, 0);
1227
+ let n = de(this.slots, e, 0);
1773
1228
  if (n === null) {
1774
1229
  n = t;
1775
1230
  } else if (Array.isArray(n)) {
@@ -1777,16 +1232,16 @@ var SsrComponentFrame = class {
1777
1232
  } else {
1778
1233
  n = [ n, t ];
1779
1234
  }
1780
- pe(this.slots, e, n, 0);
1235
+ he(this.slots, e, n, 0);
1781
1236
  }
1782
1237
  getSlotName(e) {
1783
- if (e.props[je]) {
1784
- return e.props[je];
1238
+ if (e.props[Pe]) {
1239
+ return e.props[Pe];
1785
1240
  }
1786
- return Ke;
1241
+ return Ye;
1787
1242
  }
1788
1243
  hasSlot(e) {
1789
- return me(this.slots, e, 0);
1244
+ return pe(this.slots, e, 0);
1790
1245
  }
1791
1246
  consumeChildrenForSlot(e, t) {
1792
1247
  const n = mapApp_remove(this.slots, t, 0);
@@ -2184,6 +1639,38 @@ function isInPhrasing(e, t) {
2184
1639
  }
2185
1640
  }
2186
1641
 
1642
+ // packages/qwik/src/server/utils.ts
1643
+ function createTimer() {
1644
+ if (typeof performance === "undefined") {
1645
+ return () => 0;
1646
+ }
1647
+ const e = performance.now();
1648
+ return () => {
1649
+ const t = performance.now();
1650
+ const n = t - e;
1651
+ return n / 1e6;
1652
+ };
1653
+ }
1654
+
1655
+ function getBuildBase(e) {
1656
+ let t = e.base;
1657
+ if (typeof e.base === "function") {
1658
+ t = e.base(e);
1659
+ }
1660
+ if (typeof t === "string") {
1661
+ if (!t.endsWith("/")) {
1662
+ t += "/";
1663
+ }
1664
+ return t;
1665
+ }
1666
+ return `${import.meta.env?.BASE_URL || "/"}build/`;
1667
+ }
1668
+
1669
+ var versions = {
1670
+ qwik: "2.0.0-beta.35-dev+4603135",
1671
+ qwikDom: "2.1.19"
1672
+ };
1673
+
2187
1674
  // packages/qwik/src/server/vnode-data.ts
2188
1675
  var OPEN_FRAGMENT = Number.MAX_SAFE_INTEGER;
2189
1676
 
@@ -2313,14 +1800,14 @@ var StringBufferWriter = class {
2313
1800
  }
2314
1801
  };
2315
1802
 
2316
- var Di = {};
1803
+ var js = {};
2317
1804
 
2318
1805
  var QTemplateProps = {
2319
1806
  hidden: true,
2320
1807
  "aria-hidden": true
2321
1808
  };
2322
1809
 
2323
- var SSRContainer = class extends Au {
1810
+ var SSRContainer = class extends Ou {
2324
1811
  tag;
2325
1812
  isHtml;
2326
1813
  writer;
@@ -2362,13 +1849,13 @@ var SSRContainer = class extends Au {
2362
1849
  componentStack=[];
2363
1850
  cleanupQueue=[];
2364
1851
  emitContainerDataFrame=null;
2365
- fe=randomStr();
1852
+ ue=randomStr();
2366
1853
  // Temporary flag to find missing roots after the state was serialized
2367
- S=false;
1854
+ t=false;
2368
1855
  qlInclude;
2369
1856
  promiseAttributes=null;
2370
1857
  constructor(e) {
2371
- super(e.renderOptions.serverData ?? Di, e.locale);
1858
+ super(e.renderOptions.serverData ?? js, e.locale);
2372
1859
  this.symbolToChunkResolver = e => {
2373
1860
  const t = e.lastIndexOf("_");
2374
1861
  const n = this.resolvedManifest.mapper[t == -1 ? e : e.substring(t + 1)];
@@ -2381,10 +1868,10 @@ var SSRContainer = class extends Au {
2381
1868
  this.writer = e.writer;
2382
1869
  this.streamHandler = e.streamHandler;
2383
1870
  this.timing = e.timing;
2384
- this.ae = e.buildBase;
1871
+ this.ce = e.buildBase;
2385
1872
  this.resolvedManifest = e.resolvedManifest;
2386
1873
  this.renderOptions = e.renderOptions;
2387
- this.ce = 1e5;
1874
+ this.le = 1e5;
2388
1875
  const t = this.renderOptions.qwikLoader;
2389
1876
  this.qlInclude = t ? typeof t === "object" ? t.include === "never" ? 2 /* Done */ : 0 /* Module */ : t === "inline" ? 1 /* Inline */ : t === "never" ? 2 /* Done */ : 0 /* Module */ : 0 /* Module */;
2390
1877
  if (this.qlInclude === 0 /* Module */) {
@@ -2393,7 +1880,7 @@ var SSRContainer = class extends Au {
2393
1880
  this.qlInclude = 1 /* Inline */;
2394
1881
  }
2395
1882
  }
2396
- this.A();
1883
+ this.i();
2397
1884
  }
2398
1885
  ensureProjectionResolved(e) {}
2399
1886
  handleError(e, t) {
@@ -2418,23 +1905,23 @@ var SSRContainer = class extends Au {
2418
1905
  await this.closeContainer();
2419
1906
  }
2420
1907
  async renderJSX(e, t) {
2421
- await Cn(this, e, t);
1908
+ await Nn(this, e, t);
2422
1909
  }
2423
1910
  setContext(e, t, n) {
2424
1911
  const r = e;
2425
- let s = r.getProp(Ie);
1912
+ let s = r.getProp(Ce);
2426
1913
  if (s == null) {
2427
- r.setProp(Ie, s = []);
1914
+ r.setProp(Ce, s = []);
2428
1915
  }
2429
- pe(s, t.id, n, 0, true);
1916
+ he(s, t.id, n, 0, true);
2430
1917
  this.addRoot(r);
2431
1918
  }
2432
1919
  resolveContext(e, t) {
2433
1920
  let n = e;
2434
1921
  while (n) {
2435
- const e = n.getProp(Ie);
2436
- if (e != null && me(e, t.id, 0)) {
2437
- return $e(e, t.id, 0);
1922
+ const e = n.getProp(Ce);
1923
+ if (e != null && pe(e, t.id, 0)) {
1924
+ return de(e, t.id, 0);
2438
1925
  }
2439
1926
  n = n.parentComponent;
2440
1927
  }
@@ -2461,15 +1948,15 @@ var SSRContainer = class extends Au {
2461
1948
  }
2462
1949
  const e = this.renderOptions.containerAttributes || {};
2463
1950
  const t = e[QRenderAttr];
2464
- e[Ve] = "paused" /* PAUSED */;
1951
+ e[Ue] = "paused" /* PAUSED */;
2465
1952
  e[QRuntimeAttr] = "2";
2466
- e[QVersionAttr] = this.ue ?? "dev";
2467
- e[QRenderAttr] = (t ? t + "-" : "") + (isDev7 ? "ssr-dev" : "ssr");
2468
- e[ze] = this.ae || "";
2469
- e[QLocaleAttr] = this.Mt;
1953
+ e[QVersionAttr] = this.oe ?? "dev";
1954
+ e[QRenderAttr] = (t ? t + "-" : "") + (isDev8 ? "ssr-dev" : "ssr");
1955
+ e[Fe] = this.ce || "";
1956
+ e[QLocaleAttr] = this.Ct;
2470
1957
  e[QManifestHashAttr] = this.resolvedManifest.manifest.manifestHash;
2471
- e[QInstanceAttr] = this.fe;
2472
- this.Dt.containerAttributes = e;
1958
+ e[QInstanceAttr] = this.ue;
1959
+ this.Lt.containerAttributes = e;
2473
1960
  this.openElement(this.tag, null, e);
2474
1961
  if (!this.isHtml) {
2475
1962
  this.emitContainerDataFrame = this.currentElementFrame;
@@ -2478,18 +1965,18 @@ var SSRContainer = class extends Au {
2478
1965
  /** Renders closing tag for current container */ closeContainer() {
2479
1966
  return this.closeElement();
2480
1967
  }
2481
- Et=0;
1968
+ Tt=0;
2482
1969
  /** Renders opening tag for DOM element */
2483
1970
  openElement(e, t, n, r = null, s = null, i = null, o = true) {
2484
1971
  const a = isQwikStyleElement(e, n) || isQwikStyleElement(e, r);
2485
1972
  if (e === "noscript" || e === "template" || e === "script") {
2486
- this.Et++;
1973
+ this.Tt++;
2487
1974
  }
2488
1975
  if (
2489
1976
  // don't append qwik loader before qwik style elements
2490
1977
  // it will confuse the resuming, because styles are expected to be the first nodes in subtree
2491
1978
  !a && this.qlInclude === 1 /* Inline */) {
2492
- if (this.Et === 0 && this.size > 30 * 1024 && e !== "body") {
1979
+ if (this.Tt === 0 && this.size > 30 * 1024 && e !== "body") {
2493
1980
  this.emitQwikLoaderInline();
2494
1981
  }
2495
1982
  }
@@ -2512,10 +1999,10 @@ var SSRContainer = class extends Au {
2512
1999
  this.write(" " + cr);
2513
2000
  if (t !== null) {
2514
2001
  this.write(`="${t}"`);
2515
- } else if (import.meta.env.TEST) {
2002
+ } else if (qTest) {
2516
2003
  this.write(EMPTY_ATTR);
2517
2004
  }
2518
- if (r && !ni(r)) {
2005
+ if (r && !Kr(r)) {
2519
2006
  l = this.writeAttrs(e, r, true, s, i, o) || l;
2520
2007
  }
2521
2008
  this.write(GT);
@@ -2545,7 +2032,7 @@ var SSRContainer = class extends Au {
2545
2032
  for (let t = 0; t < e.length; t++) {
2546
2033
  const n = e[t];
2547
2034
  if (hasDestroy(n)) {
2548
- n.Cn();
2035
+ n.En();
2549
2036
  }
2550
2037
  }
2551
2038
  e = this.cleanupQueue.pop();
@@ -2561,7 +2048,7 @@ var SSRContainer = class extends Au {
2561
2048
  }
2562
2049
  this.lastNode = null;
2563
2050
  if (t === "noscript" || t === "template" || t === "script") {
2564
- this.Et--;
2051
+ this.Tt--;
2565
2052
  }
2566
2053
  }
2567
2054
  /** Writes opening data to vNodeData for fragment boundaries */ openFragment(e) {
@@ -2580,7 +2067,7 @@ var SSRContainer = class extends Au {
2580
2067
  this.openFragment(e);
2581
2068
  const t = this.getComponentFrame();
2582
2069
  if (t) {
2583
- this.serializationCtx.kt(t.componentNode);
2070
+ this.serializationCtx.St(t.componentNode);
2584
2071
  t.projectionDepth++;
2585
2072
  }
2586
2073
  }
@@ -2621,13 +2108,13 @@ var SSRContainer = class extends Au {
2621
2108
  if (e.slots.length === 0) {
2622
2109
  return;
2623
2110
  }
2624
- this.openElement(Be, null, QTemplateProps, null);
2111
+ this.openElement(ze, null, QTemplateProps, null);
2625
2112
  const t = e.projectionScopedStyle;
2626
2113
  for (let n = 0; n < e.slots.length; n += 2) {
2627
2114
  const r = e.slots[n];
2628
2115
  const s = e.slots[n + 1];
2629
- this.openFragment(isDev7 ? {
2630
- [qe]: "P" /* Projection */ ,
2116
+ this.openFragment(isDev8 ? {
2117
+ [Se]: "P" /* Projection */ ,
2631
2118
  [QSlotParent]: e.componentNode.id
2632
2119
  } : {
2633
2120
  [QSlotParent]: e.componentNode.id
@@ -2657,10 +2144,10 @@ var SSRContainer = class extends Au {
2657
2144
  this.write("\x3c!--" + e + "--\x3e");
2658
2145
  }
2659
2146
  addRoot(e) {
2660
- if (this.S) {
2661
- return this.serializationCtx.oe(e);
2147
+ if (this.t) {
2148
+ return this.serializationCtx.se(e);
2662
2149
  }
2663
- return this.serializationCtx.kt(e);
2150
+ return this.serializationCtx.St(e);
2664
2151
  }
2665
2152
  getOrCreateLastNode() {
2666
2153
  if (!this.lastNode) {
@@ -2673,14 +2160,14 @@ var SSRContainer = class extends Au {
2673
2160
  addUnclaimedProjection(e, t, n) {
2674
2161
  e.slots.push(t, n);
2675
2162
  }
2676
- A() {
2163
+ i() {
2677
2164
  const e = this.resolvedManifest.manifest.injections;
2678
2165
  if (!e) {
2679
2166
  return;
2680
2167
  }
2681
2168
  for (let t = 0; t < e.length; t++) {
2682
2169
  const n = e[t];
2683
- const r = qs(n.tag, null, n.attributes || {}, null, 0, null);
2170
+ const r = gi(n.tag, null, n.attributes || {}, null, 0, null);
2684
2171
  if (n.location === "head") {
2685
2172
  this.additionalHeadNodes.push(r);
2686
2173
  } else {
@@ -2688,19 +2175,19 @@ var SSRContainer = class extends Au {
2688
2175
  }
2689
2176
  }
2690
2177
  }
2691
- ve(e, t, n, r) {
2178
+ we(e, t, n, r) {
2692
2179
  if (r) {
2693
2180
  const e = this.getComponentFrame(0);
2694
2181
  e.scopedStyleIds.add(t);
2695
2182
  const r = convertStyleIdsToString(e.scopedStyleIds);
2696
- this.setHostProp(n, Ne, r);
2183
+ this.setHostProp(n, Ie, r);
2697
2184
  }
2698
2185
  if (!this.styleIds.has(t)) {
2699
2186
  this.styleIds.add(t);
2700
2187
  if (this.currentElementFrame?.elementName === "html") {
2701
- this.additionalHeadNodes.push(xs("style", null, {
2188
+ this.additionalHeadNodes.push(vi("style", null, {
2702
2189
  dangerouslySetInnerHTML: e,
2703
- [Oe]: t
2190
+ [Ae]: t
2704
2191
  }, null, 0, t));
2705
2192
  } else {
2706
2193
  this._styleNode(t, e);
@@ -2709,7 +2196,7 @@ var SSRContainer = class extends Au {
2709
2196
  }
2710
2197
  _styleNode(e, t) {
2711
2198
  this.openElement("style", null, {
2712
- [Oe]: e
2199
+ [Ae]: e
2713
2200
  });
2714
2201
  this.write(t);
2715
2202
  this.closeElement();
@@ -2717,9 +2204,11 @@ var SSRContainer = class extends Au {
2717
2204
  ////////////////////////////////////
2718
2205
  emitContainerData() {
2719
2206
  return $r(this.resolvePromiseAttributes(), () => $r(this.emitStateData(), () => {
2720
- this.S = true;
2207
+ this.t = true;
2721
2208
  this.emitVNodeData();
2722
- preloaderPost(this, this.renderOptions, this.Dt?.nonce);
2209
+ if (!isDev8) {
2210
+ preloaderPost(this, this.renderOptions, this.Lt?.nonce);
2211
+ }
2723
2212
  this.emitSyncFnsData();
2724
2213
  this.emitPatchDataIfNeeded();
2725
2214
  this.emitExecutorIfNeeded();
@@ -2744,7 +2233,7 @@ var SSRContainer = class extends Au {
2744
2233
  * NOTE: Not every element will need vNodeData. So we need to encode how many elements should be
2745
2234
  * skipped. By choosing different separators we can encode different numbers of elements to skip.
2746
2235
  */ emitVNodeData() {
2747
- if (!this.serializationCtx.Qn.length) {
2236
+ if (!this.serializationCtx.Wn.length) {
2748
2237
  return;
2749
2238
  }
2750
2239
  this.openElement("script", null, {
@@ -2780,7 +2269,7 @@ var SSRContainer = class extends Au {
2780
2269
  n--;
2781
2270
  this.write(VNodeDataChar.CLOSE_CHAR);
2782
2271
  } else if (i === WRITE_ELEMENT_ATTRS) {
2783
- if (t && !ni(t)) {
2272
+ if (t && !Kr(t)) {
2784
2273
  this.write(VNodeDataChar.SEPARATOR_CHAR);
2785
2274
  this.write(VNodeDataChar.SEPARATOR_CHAR);
2786
2275
  this.writeFragmentAttrs(t);
@@ -2818,11 +2307,11 @@ var SSRContainer = class extends Au {
2818
2307
  n = String(e);
2819
2308
  }
2820
2309
  switch (t) {
2821
- case Ne:
2310
+ case Ie:
2822
2311
  this.write(VNodeDataChar.SCOPED_STYLE_CHAR);
2823
2312
  break;
2824
2313
 
2825
- case Ee:
2314
+ case xe:
2826
2315
  this.write(VNodeDataChar.RENDER_FN_CHAR);
2827
2316
  break;
2828
2317
 
@@ -2830,24 +2319,24 @@ var SSRContainer = class extends Au {
2830
2319
  this.write(VNodeDataChar.ID_CHAR);
2831
2320
  break;
2832
2321
 
2833
- case tr:
2322
+ case Ke:
2834
2323
  this.write(VNodeDataChar.PROPS_CHAR);
2835
2324
  break;
2836
2325
 
2837
- case Ze:
2326
+ case Ge:
2838
2327
  r = true;
2839
2328
  this.write(VNodeDataChar.KEY_CHAR);
2840
2329
  break;
2841
2330
 
2842
- case nr:
2331
+ case Ze:
2843
2332
  this.write(VNodeDataChar.SEQ_CHAR);
2844
2333
  break;
2845
2334
 
2846
- case er:
2335
+ case tr:
2847
2336
  this.write(VNodeDataChar.SEQ_IDX_CHAR);
2848
2337
  break;
2849
2338
 
2850
- case Fe:
2339
+ case je:
2851
2340
  this.write(VNodeDataChar.BACK_REFS_CHAR);
2852
2341
  break;
2853
2342
 
@@ -2856,11 +2345,11 @@ var SSRContainer = class extends Au {
2856
2345
  break;
2857
2346
 
2858
2347
  // Skipping `\` character for now because it is used for escaping.
2859
- case Ie:
2348
+ case Ce:
2860
2349
  this.write(VNodeDataChar.CONTEXT_CHAR);
2861
2350
  break;
2862
2351
 
2863
- case je:
2352
+ case Pe:
2864
2353
  this.write(VNodeDataChar.SLOT_CHAR);
2865
2354
  break;
2866
2355
 
@@ -2884,12 +2373,12 @@ var SSRContainer = class extends Au {
2884
2373
  }
2885
2374
  }
2886
2375
  emitStateData() {
2887
- if (!this.serializationCtx.Qn.length) {
2376
+ if (!this.serializationCtx.Wn.length) {
2888
2377
  return;
2889
2378
  }
2890
2379
  const e = this.stateScriptAttrs();
2891
2380
  this.openElement("script", null, e);
2892
- return $r(this.serializationCtx._t(), () => {
2381
+ return $r(this.serializationCtx.Mt(), () => {
2893
2382
  this.closeElement();
2894
2383
  });
2895
2384
  }
@@ -2897,14 +2386,14 @@ var SSRContainer = class extends Au {
2897
2386
  const e = {
2898
2387
  type: "qwik/state"
2899
2388
  };
2900
- const t = this.serializationCtx.Ct;
2389
+ const t = this.serializationCtx.qt;
2901
2390
  if (t.size > 0) {
2902
- e["q-d:qidle"] = Gc(null, "_res", w, null, [ ...t ]);
2391
+ e["q-d:qidle"] = Kc(null, "_res", w, null, [ ...t ]);
2903
2392
  }
2904
2393
  return e;
2905
2394
  }
2906
2395
  emitSyncFnsData() {
2907
- const e = this.serializationCtx.re;
2396
+ const e = this.serializationCtx.ne;
2908
2397
  if (e.length) {
2909
2398
  const t = {
2910
2399
  "q:func": "qwik/json"
@@ -2913,9 +2402,9 @@ var SSRContainer = class extends Au {
2913
2402
  t["nonce"] = this.renderOptions.serverData.nonce;
2914
2403
  }
2915
2404
  this.openElement("script", null, t);
2916
- this.write(Q_FUNCS_PREFIX.replace("HASH", this.fe));
2405
+ this.write(Q_FUNCS_PREFIX.replace("HASH", this.ue));
2917
2406
  this.write(BRACKET_OPEN);
2918
- this.writeArray(e, ei);
2407
+ this.writeArray(e, Zr);
2919
2408
  this.write(BRACKET_CLOSE);
2920
2409
  this.closeElement();
2921
2410
  }
@@ -2925,7 +2414,7 @@ var SSRContainer = class extends Au {
2925
2414
  for (const [t, n] of this.backpatchMap) {
2926
2415
  for (let r = 0; r < n.length; r++) {
2927
2416
  const s = n[r];
2928
- e.push(t, s.attrName, Dl(s.value) ? s.value.untrackedValue : s.value);
2417
+ e.push(t, s.attrName, Ll(s.value) ? s.value.untrackedValue : s.value);
2929
2418
  }
2930
2419
  }
2931
2420
  this.backpatchMap.clear();
@@ -2954,21 +2443,23 @@ var SSRContainer = class extends Au {
2954
2443
  }
2955
2444
  this.openElement("script", null, e);
2956
2445
  const t = getQwikBackpatchExecutorScript({
2957
- debug: isDev7
2446
+ debug: isDev8
2958
2447
  });
2959
2448
  this.write(t);
2960
2449
  this.closeElement();
2961
2450
  }
2962
2451
  emitPreloaderPre() {
2963
- preloaderPre(this, this.renderOptions.preloader, this.renderOptions.serverData?.nonce);
2452
+ if (!isDev8) {
2453
+ preloaderPre(this, this.renderOptions.preloader, this.renderOptions.serverData?.nonce);
2454
+ }
2964
2455
  }
2965
2456
  isStatic() {
2966
- return this.serializationCtx.jt.size === 0;
2457
+ return this.serializationCtx.At.size === 0;
2967
2458
  }
2968
2459
  emitQwikLoaderAtTopIfNeeded() {
2969
2460
  if (this.qlInclude === 0 /* Module */) {
2970
2461
  this.qlInclude = 2 /* Done */;
2971
- const e = this.ae + this.resolvedManifest.manifest.qwikLoader;
2462
+ const e = this.ce + this.resolvedManifest.manifest.qwikLoader;
2972
2463
  const t = {
2973
2464
  rel: "modulepreload",
2974
2465
  href: e
@@ -3013,7 +2504,7 @@ var SSRContainer = class extends Au {
3013
2504
  if (this.qlInclude !== 2 /* Done */) {
3014
2505
  this.emitQwikLoaderInline();
3015
2506
  }
3016
- this.emitQwikEvents(Array.from(this.serializationCtx.Pt, e => JSON.stringify(e)));
2507
+ this.emitQwikEvents(Array.from(this.serializationCtx.Rt, e => JSON.stringify(e)));
3017
2508
  }
3018
2509
  }
3019
2510
  emitQwikEvents(e) {
@@ -3025,7 +2516,7 @@ var SSRContainer = class extends Au {
3025
2516
  }
3026
2517
  this.openElement("script", null, t);
3027
2518
  this.write(`(window._qwikEv||(window._qwikEv=[])).push(`);
3028
- this.writeArray(e, ei);
2519
+ this.writeArray(e, Zr);
3029
2520
  this.write(PAREN_CLOSE);
3030
2521
  this.closeElement();
3031
2522
  }
@@ -3058,7 +2549,7 @@ var SSRContainer = class extends Au {
3058
2549
  }
3059
2550
  createAndPushFrame(e, t, n) {
3060
2551
  let r = 10 /* ANYTHING */;
3061
- if (isDev7) {
2552
+ if (isDev8) {
3062
2553
  if (!this.currentElementFrame) {
3063
2554
  r = initialTag(e);
3064
2555
  } else {
@@ -3096,7 +2587,7 @@ var SSRContainer = class extends Au {
3096
2587
  elementName: e,
3097
2588
  depthFirstElementIdx: t,
3098
2589
  vNodeData: [ 0 /* NONE */ ],
3099
- currentFile: isDev7 ? n || null : null
2590
+ currentFile: isDev8 ? n || null : null
3100
2591
  };
3101
2592
  this.currentElementFrame = s;
3102
2593
  this.vNodeDatas.push(s.vNodeData);
@@ -3125,8 +2616,8 @@ var SSRContainer = class extends Au {
3125
2616
  for (let c in t) {
3126
2617
  let u = t[c];
3127
2618
  if (isSSRUnsafeAttr(c)) {
3128
- if (isDev7) {
3129
- throw Se(32 /* unsafeAttr */ , [ c ]);
2619
+ if (isDev8) {
2620
+ throw ve(32 /* unsafeAttr */ , [ c ]);
3130
2621
  }
3131
2622
  continue;
3132
2623
  }
@@ -3134,8 +2625,8 @@ var SSRContainer = class extends Au {
3134
2625
  u = _setEvent(this.serializationCtx, c, u, a);
3135
2626
  } else if (c === "ref") {
3136
2627
  const e = this.getOrCreateLastNode();
3137
- if (Dl(u)) {
3138
- u.Zt = new DomRef(e);
2628
+ if (Ll(u)) {
2629
+ u.Gt = new DomRef(e);
3139
2630
  continue;
3140
2631
  } else if (typeof u === "function") {
3141
2632
  u(new DomRef(e));
@@ -3143,14 +2634,14 @@ var SSRContainer = class extends Au {
3143
2634
  } else if (u == null) {
3144
2635
  continue;
3145
2636
  } else {
3146
- throw Se(15 /* invalidRefValue */ , [ o ]);
2637
+ throw ve(15 /* invalidRefValue */ , [ o ]);
3147
2638
  }
3148
- } else if (c === rr || c === ir) {
3149
- u = this.serializationCtx.kt(u);
3150
- } else if (Dl(u)) {
2639
+ } else if (c === nr || c === er) {
2640
+ u = this.serializationCtx.St(u);
2641
+ } else if (Ll(u)) {
3151
2642
  const e = this.getOrCreateLastNode();
3152
- const t = new fs({
3153
- M: i,
2643
+ const t = new li({
2644
+ j: i,
3154
2645
  et: s
3155
2646
  });
3156
2647
  const r = u;
@@ -3167,7 +2658,7 @@ var SSRContainer = class extends Au {
3167
2658
  if (c === fr) {
3168
2659
  if (u) {
3169
2660
  l = String(u);
3170
- c = Ve;
2661
+ c = Ue;
3171
2662
  u = "html" /* HTML */;
3172
2663
  }
3173
2664
  if (e === "style") {
@@ -3178,22 +2669,22 @@ var SSRContainer = class extends Au {
3178
2669
  }
3179
2670
  if (e === "textarea" && c === "value") {
3180
2671
  if (u && typeof u !== "string") {
3181
- if (isDev7) {
3182
- throw Se(23 /* wrongTextareaValue */ , [ o, u ]);
2672
+ if (isDev8) {
2673
+ throw ve(23 /* wrongTextareaValue */ , [ o, u ]);
3183
2674
  }
3184
2675
  continue;
3185
2676
  }
3186
2677
  l = escapeHTML(u || "");
3187
- c = Ve;
2678
+ c = Ue;
3188
2679
  u = "text" /* TEXT */;
3189
2680
  }
3190
- const d = r(c, u, i);
3191
- if (d != null && d !== false) {
3192
- this.write(Lf);
2681
+ const h = r(c, u, i);
2682
+ if (h != null && h !== false) {
2683
+ this.write(Uf);
3193
2684
  this.write(c);
3194
- if (d !== true) {
2685
+ if (h !== true) {
3195
2686
  this.write(ATTR_EQUALS_QUOTE);
3196
- const e = escapeHTML(String(d));
2687
+ const e = escapeHTML(String(h));
3197
2688
  this.write(e);
3198
2689
  this.write(QUOTE);
3199
2690
  }
@@ -3215,17 +2706,17 @@ var SSRContainer = class extends Au {
3215
2706
 
3216
2707
  var isQwikStyleElement = (e, t) => {
3217
2708
  if (e === "style" && t != null) {
3218
- return Object.prototype.hasOwnProperty.call(t, Oe) || Object.prototype.hasOwnProperty.call(t, Ne);
2709
+ return Object.prototype.hasOwnProperty.call(t, Ae) || Object.prototype.hasOwnProperty.call(t, Ie);
3219
2710
  }
3220
2711
  return false;
3221
2712
  };
3222
2713
 
3223
2714
  function newTagError(e) {
3224
- return Se(12 /* tagError */ , [ e ]);
2715
+ return ve(12 /* tagError */ , [ e ]);
3225
2716
  }
3226
2717
 
3227
2718
  function hasDestroy(e) {
3228
- return e && typeof e === "object" && typeof e.Cn === "function";
2719
+ return e && typeof e === "object" && typeof e.En === "function";
3229
2720
  }
3230
2721
 
3231
2722
  function isSSRUnsafeAttr(e) {
@@ -3245,13 +2736,10 @@ function randomStr() {
3245
2736
  function addPreventDefaultEventToSerializationContext(e, t) {
3246
2737
  const n = "e" + t.substring(14);
3247
2738
  if (n) {
3248
- e.Pt.add(n);
2739
+ e.Rt.add(n);
3249
2740
  }
3250
2741
  }
3251
2742
 
3252
- // packages/qwik/src/server/ssr-render.ts
3253
- import { manifest as builtManifest } from "@qwik-client-manifest";
3254
-
3255
2743
  // packages/qwik/src/server/ssr-stream-handler.ts
3256
2744
  var StreamHandler = class {
3257
2745
  constructor(e, t) {
@@ -3274,6 +2762,8 @@ var StreamHandler = class {
3274
2762
  streamBlockBufferSize=0;
3275
2763
  nativeStream;
3276
2764
  firstFlushTimer=createTimer();
2765
+ pendingFlush;
2766
+ flushQueued=false;
3277
2767
  stream;
3278
2768
  setupStreamWriter() {
3279
2769
  const e = this;
@@ -3286,19 +2776,29 @@ var StreamHandler = class {
3286
2776
  return;
3287
2777
  }
3288
2778
  e.enqueue(t);
2779
+ },
2780
+ waitForDrain() {
2781
+ return e.waitForPendingFlush();
3289
2782
  }
3290
2783
  };
3291
2784
  break;
3292
2785
 
3293
2786
  case "direct":
3294
2787
  {
3295
- const e = this.nativeStream;
2788
+ const n = this.nativeStream;
3296
2789
  t = {
3297
2790
  write(t) {
3298
2791
  if (t === void 0 || t === null) {
3299
2792
  return;
3300
2793
  }
3301
- e.write(t);
2794
+ if (e.pendingFlush) {
2795
+ const r = e.pendingFlush.then(() => n.write(t));
2796
+ return e.trackPendingFlush(r);
2797
+ }
2798
+ return e.trackPendingFlush(n.write(t));
2799
+ },
2800
+ waitForDrain() {
2801
+ return e.waitForPendingFlush();
3302
2802
  }
3303
2803
  };
3304
2804
  break;
@@ -3318,9 +2818,12 @@ var StreamHandler = class {
3318
2818
  if (e.streamBlockDepth === 0) {
3319
2819
  const t = e.networkFlushes === 0 ? r : n;
3320
2820
  if (e.bufferSize >= t) {
3321
- e.flush();
2821
+ return e.flush();
3322
2822
  }
3323
2823
  }
2824
+ },
2825
+ waitForDrain() {
2826
+ return e.waitForPendingFlush();
3324
2827
  }
3325
2828
  };
3326
2829
  break;
@@ -3338,16 +2841,52 @@ var StreamHandler = class {
3338
2841
  this.buffer += e;
3339
2842
  }
3340
2843
  }
2844
+ trackPendingFlush(e) {
2845
+ if (!dr(e)) {
2846
+ return;
2847
+ }
2848
+ const t = Promise.resolve(e).finally(() => {
2849
+ if (this.pendingFlush === t) {
2850
+ this.pendingFlush = void 0;
2851
+ }
2852
+ });
2853
+ this.pendingFlush = t;
2854
+ return t;
2855
+ }
2856
+ flushBuffer() {
2857
+ const e = this.buffer;
2858
+ this.buffer = "";
2859
+ this.bufferSize = 0;
2860
+ this.networkFlushes++;
2861
+ if (this.networkFlushes === 1) {
2862
+ this.timing.firstFlush = this.firstFlushTimer();
2863
+ }
2864
+ return this.trackPendingFlush(this.nativeStream.write(e));
2865
+ }
3341
2866
  flush() {
3342
- if (this.buffer) {
3343
- this.nativeStream.write(this.buffer);
3344
- this.buffer = "";
3345
- this.bufferSize = 0;
3346
- this.networkFlushes++;
3347
- if (this.networkFlushes === 1) {
3348
- this.timing.firstFlush = this.firstFlushTimer();
2867
+ if (!this.buffer) {
2868
+ return this.waitForPendingFlush();
2869
+ }
2870
+ if (this.pendingFlush) {
2871
+ if (!this.flushQueued) {
2872
+ this.flushQueued = true;
2873
+ const e = this.pendingFlush.then(() => {
2874
+ this.flushQueued = false;
2875
+ this.pendingFlush = void 0;
2876
+ return this.flush();
2877
+ });
2878
+ this.pendingFlush = e.finally(() => {
2879
+ if (this.pendingFlush === e) {
2880
+ this.pendingFlush = void 0;
2881
+ }
2882
+ });
3349
2883
  }
2884
+ return this.pendingFlush;
3350
2885
  }
2886
+ return this.flushBuffer();
2887
+ }
2888
+ waitForPendingFlush() {
2889
+ return this.pendingFlush;
3351
2890
  }
3352
2891
  streamBlockStart() {
3353
2892
  this.streamBlockDepth++;
@@ -3359,7 +2898,7 @@ var StreamHandler = class {
3359
2898
  this.bufferSize += this.streamBlockBufferSize;
3360
2899
  this.streamBlockBuffer = "";
3361
2900
  this.streamBlockBufferSize = 0;
3362
- this.flush();
2901
+ return this.flush();
3363
2902
  }
3364
2903
  }
3365
2904
  };
@@ -3409,7 +2948,7 @@ var renderToStream = async (e, t) => {
3409
2948
  await setServerPlatform(t, i);
3410
2949
  await l.render(e);
3411
2950
  await l.l;
3412
- a.flush();
2951
+ await a.flush();
3413
2952
  const c = {
3414
2953
  flushes: a.networkFlushes,
3415
2954
  manifest: i?.manifest,
@@ -3421,23 +2960,24 @@ var renderToStream = async (e, t) => {
3421
2960
  };
3422
2961
 
3423
2962
  function resolveManifest(e) {
3424
- const t = e ? {
3425
- ...builtManifest,
2963
+ const t = yf();
2964
+ const n = e ? {
2965
+ ...t,
3426
2966
  ...e
3427
- } : builtManifest;
3428
- if (!t || "mapper" in t) {
3429
- return t;
2967
+ } : t;
2968
+ if (!n || "mapper" in n) {
2969
+ return n;
3430
2970
  }
3431
- if (t.mapping) {
2971
+ if (n.mapping) {
3432
2972
  const e = {};
3433
- for (const n in t.mapping) {
3434
- const r = t.mapping[n];
3435
- e[getSymbolHash2(n)] = [ n, r ];
2973
+ for (const t in n.mapping) {
2974
+ const r = n.mapping[t];
2975
+ e[Ha(t)] = [ t, r ];
3436
2976
  }
3437
2977
  return {
3438
2978
  mapper: e,
3439
- manifest: t,
3440
- injections: t.injections || []
2979
+ manifest: n,
2980
+ injections: n.injections || []
3441
2981
  };
3442
2982
  }
3443
2983
  return void 0;
@@ -3447,7 +2987,7 @@ var Q_FUNCS_PREFIX = 'document["qFuncs_HASH"]=';
3447
2987
 
3448
2988
  // packages/qwik/src/server/index.ts
3449
2989
  async function setServerPlatform2(e) {
3450
- const t = createPlatform2({
2990
+ const t = Pr({
3451
2991
  manifest: e
3452
2992
  }, resolveManifest(e));
3453
2993
  setPlatform2(t);