@angular/core 20.0.0-next.3 → 20.0.0-next.4

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 (52) hide show
  1. package/event_dispatcher.d-pVP0-wST.d.ts +345 -0
  2. package/fesm2022/core.mjs +218 -80
  3. package/fesm2022/core.mjs.map +1 -1
  4. package/fesm2022/injector-BlLwZ2sr.mjs +24 -0
  5. package/fesm2022/injector-BlLwZ2sr.mjs.map +1 -0
  6. package/fesm2022/primitives/di.mjs +3 -17
  7. package/fesm2022/primitives/di.mjs.map +1 -1
  8. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  9. package/fesm2022/primitives/signals.mjs +4 -610
  10. package/fesm2022/primitives/signals.mjs.map +1 -1
  11. package/fesm2022/rxjs-interop.mjs +1 -1
  12. package/fesm2022/testing.mjs +1 -1
  13. package/fesm2022/untracked-DkcXpNb_.mjs +620 -0
  14. package/fesm2022/untracked-DkcXpNb_.mjs.map +1 -0
  15. package/index.d.ts +54 -9
  16. package/{navigation_types.d-u4EOrrdZ.d.ts → navigation_types.d-DgDrF5rp.d.ts} +2 -2
  17. package/package.json +2 -2
  18. package/primitives/di/index.d.ts +1 -1
  19. package/primitives/event-dispatch/index.d.ts +5 -340
  20. package/primitives/signals/index.d.ts +4 -210
  21. package/rxjs-interop/index.d.ts +1 -1
  22. package/schematics/bundles/{apply_import_manager-BXQEjo09.js → apply_import_manager-CeNv8GIG.js} +3 -3
  23. package/schematics/bundles/{checker-BHb19MHt.js → checker-k591b6WQ.js} +230 -112
  24. package/schematics/bundles/cleanup-unused-imports.js +5 -5
  25. package/schematics/bundles/{compiler_host-Bk3repE2.js → compiler_host-DwM3ugW3.js} +2 -2
  26. package/schematics/bundles/control-flow-migration.js +34 -13
  27. package/schematics/bundles/imports-CIX-JgAN.js +1 -1
  28. package/schematics/bundles/{index-I8VbxQcO.js → index-B4OAlHh8.js} +12 -12
  29. package/schematics/bundles/{index-BL9kAIe5.js → index-BhELUmYx.js} +4 -4
  30. package/schematics/bundles/inject-flags.js +5 -5
  31. package/schematics/bundles/inject-migration.js +3 -3
  32. package/schematics/bundles/leading_space-D9nQ8UQC.js +1 -1
  33. package/schematics/bundles/{migrate_ts_type_references-KlOTWeDl.js → migrate_ts_type_references-Be0TNYen.js} +5 -5
  34. package/schematics/bundles/ng_decorators-DznZ5jMl.js +1 -1
  35. package/schematics/bundles/nodes-B16H9JUd.js +1 -1
  36. package/schematics/bundles/output-migration.js +6 -6
  37. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.js +1 -1
  38. package/schematics/bundles/property_name-BBwFuqMe.js +1 -1
  39. package/schematics/bundles/route-lazy-loading.js +3 -3
  40. package/schematics/bundles/{run_in_devkit-C0JPtK2u.js → run_in_devkit-CkvEksWP.js} +3 -3
  41. package/schematics/bundles/self-closing-tags-migration.js +4 -4
  42. package/schematics/bundles/signal-input-migration.js +7 -7
  43. package/schematics/bundles/signal-queries-migration.js +7 -7
  44. package/schematics/bundles/signals.js +7 -7
  45. package/schematics/bundles/standalone-migration.js +4 -4
  46. package/schematics/bundles/symbol-VPWguRxr.js +1 -1
  47. package/schematics/bundles/test-bed-get.js +4 -4
  48. package/testing/index.d.ts +2 -2
  49. package/weak_ref.d-BZ7gyRag.d.ts +216 -0
  50. package/fesm2022/weak_ref-DrMdAIDh.mjs +0 -12
  51. package/fesm2022/weak_ref-DrMdAIDh.mjs.map +0 -1
  52. package/weak_ref.d-ttyj86RV.d.ts +0 -9
package/fesm2022/core.mjs CHANGED
@@ -1,17 +1,16 @@
1
1
  /**
2
- * @license Angular v20.0.0-next.3
2
+ * @license Angular v20.0.0-next.4
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { SIGNAL_NODE, signalSetFn, SIGNAL, producerAccessed, getActiveConsumer, setActiveConsumer, createSignal, signalUpdateFn, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError, untracked as untracked$1, isInNotificationPhase, createLinkedSignal, linkedSignalSetFn, linkedSignalUpdateFn } from '@angular/core/primitives/signals';
8
- export { SIGNAL as ɵSIGNAL } from '@angular/core/primitives/signals';
9
- import { getCurrentInjector, setCurrentInjector } from '@angular/core/primitives/di';
10
- export { setCurrentInjector as ɵsetCurrentInjector } from '@angular/core/primitives/di';
7
+ import { x as SIGNAL_NODE, B as signalSetFn, S as SIGNAL, p as producerAccessed, k as getActiveConsumer, v as setActiveConsumer$1, y as createSignal, C as signalUpdateFn, a as consumerDestroy, R as REACTIVE_NODE, b as consumerPollProducersForChange, d as consumerBeforeComputation, e as consumerAfterComputation, f as createComputed, s as setThrowInvalidWriteToSignalError, E as untracked$1, i as isInNotificationPhase, g as createLinkedSignal, l as linkedSignalSetFn, h as linkedSignalUpdateFn } from './untracked-DkcXpNb_.mjs';
8
+ export { D as ɵsetAlternateWeakRefImpl } from './untracked-DkcXpNb_.mjs';
9
+ import { g as getCurrentInjector, s as setCurrentInjector } from './injector-BlLwZ2sr.mjs';
10
+ import { setActiveConsumer } from '@angular/core/primitives/signals';
11
11
  import { Subject, BehaviorSubject, Subscription } from 'rxjs';
12
- import { Attribute as Attribute$1, clearAppScopedEarlyEventContract, EventContract, EventContractContainer, getAppScopedQueuedEventInfos, EventDispatcher, registerDispatcher, EventPhase, isEarlyEventType, isCaptureEventType } from '@angular/core/primitives/event-dispatch';
12
+ import { Attribute as Attribute$1, clearAppScopedEarlyEventContract, EventContract, EventContractContainer, getAppScopedQueuedEventInfos, EventDispatcher, registerDispatcher, EventPhase, isEarlyEventType, isCaptureEventType } from './primitives/event-dispatch.mjs';
13
13
  import { map } from 'rxjs/operators';
14
- export { s as ɵsetAlternateWeakRefImpl } from './weak_ref-DrMdAIDh.mjs';
15
14
 
16
15
  /**
17
16
  * Base URL for the error details page.
@@ -4198,12 +4197,12 @@ function callHooks(currentView, arr, initPhase, currentNodeIndex) {
4198
4197
  */
4199
4198
  function callHookInternal(directive, hook) {
4200
4199
  profiler(4 /* ProfilerEvent.LifecycleHookStart */, directive, hook);
4201
- const prevConsumer = setActiveConsumer(null);
4200
+ const prevConsumer = setActiveConsumer$1(null);
4202
4201
  try {
4203
4202
  hook.call(directive);
4204
4203
  }
4205
4204
  finally {
4206
- setActiveConsumer(prevConsumer);
4205
+ setActiveConsumer$1(prevConsumer);
4207
4206
  profiler(5 /* ProfilerEvent.LifecycleHookEnd */, directive, hook);
4208
4207
  }
4209
4208
  }
@@ -6057,7 +6056,7 @@ class OutputEmitterRef {
6057
6056
  if (this.listeners === null) {
6058
6057
  return;
6059
6058
  }
6060
- const previousConsumer = setActiveConsumer(null);
6059
+ const previousConsumer = setActiveConsumer$1(null);
6061
6060
  try {
6062
6061
  for (const listenerFn of this.listeners) {
6063
6062
  try {
@@ -6069,7 +6068,7 @@ class OutputEmitterRef {
6069
6068
  }
6070
6069
  }
6071
6070
  finally {
6072
- setActiveConsumer(previousConsumer);
6071
+ setActiveConsumer$1(previousConsumer);
6073
6072
  }
6074
6073
  }
6075
6074
  }
@@ -7957,12 +7956,12 @@ class EventEmitter_ extends Subject {
7957
7956
  }
7958
7957
  }
7959
7958
  emit(value) {
7960
- const prevConsumer = setActiveConsumer(null);
7959
+ const prevConsumer = setActiveConsumer$1(null);
7961
7960
  try {
7962
7961
  super.next(value);
7963
7962
  }
7964
7963
  finally {
7965
- setActiveConsumer(prevConsumer);
7964
+ setActiveConsumer$1(prevConsumer);
7966
7965
  }
7967
7966
  }
7968
7967
  subscribe(observerOrNext, error, complete) {
@@ -10009,7 +10008,7 @@ function verifySsrContentsIntegrity(doc) {
10009
10008
  function refreshContentQueries(tView, lView) {
10010
10009
  const contentQueries = tView.contentQueries;
10011
10010
  if (contentQueries !== null) {
10012
- const prevConsumer = setActiveConsumer(null);
10011
+ const prevConsumer = setActiveConsumer$1(null);
10013
10012
  try {
10014
10013
  for (let i = 0; i < contentQueries.length; i += 2) {
10015
10014
  const queryStartIdx = contentQueries[i];
@@ -10025,24 +10024,24 @@ function refreshContentQueries(tView, lView) {
10025
10024
  }
10026
10025
  }
10027
10026
  finally {
10028
- setActiveConsumer(prevConsumer);
10027
+ setActiveConsumer$1(prevConsumer);
10029
10028
  }
10030
10029
  }
10031
10030
  }
10032
10031
  function executeViewQueryFn(flags, viewQueryFn, component) {
10033
10032
  ngDevMode && assertDefined(viewQueryFn, 'View queries function to execute must be defined.');
10034
10033
  setCurrentQueryIndex(0);
10035
- const prevConsumer = setActiveConsumer(null);
10034
+ const prevConsumer = setActiveConsumer$1(null);
10036
10035
  try {
10037
10036
  viewQueryFn(flags, component);
10038
10037
  }
10039
10038
  finally {
10040
- setActiveConsumer(prevConsumer);
10039
+ setActiveConsumer$1(prevConsumer);
10041
10040
  }
10042
10041
  }
10043
10042
  function executeContentQueries(tView, tNode, lView) {
10044
10043
  if (isContentQueryHost(tNode)) {
10045
- const prevConsumer = setActiveConsumer(null);
10044
+ const prevConsumer = setActiveConsumer$1(null);
10046
10045
  try {
10047
10046
  const start = tNode.directiveStart;
10048
10047
  const end = tNode.directiveEnd;
@@ -10057,7 +10056,7 @@ function executeContentQueries(tView, tNode, lView) {
10057
10056
  }
10058
10057
  }
10059
10058
  finally {
10060
- setActiveConsumer(prevConsumer);
10059
+ setActiveConsumer$1(prevConsumer);
10061
10060
  }
10062
10061
  }
10063
10062
  }
@@ -12298,7 +12297,7 @@ var InputFlags;
12298
12297
  })(InputFlags || (InputFlags = {}));
12299
12298
 
12300
12299
  function writeToDirectiveInput(def, instance, publicName, value) {
12301
- const prevConsumer = setActiveConsumer(null);
12300
+ const prevConsumer = setActiveConsumer$1(null);
12302
12301
  try {
12303
12302
  if (ngDevMode) {
12304
12303
  if (!def.inputs.hasOwnProperty(publicName)) {
@@ -12338,7 +12337,7 @@ function writeToDirectiveInput(def, instance, publicName, value) {
12338
12337
  }
12339
12338
  }
12340
12339
  finally {
12341
- setActiveConsumer(prevConsumer);
12340
+ setActiveConsumer$1(prevConsumer);
12342
12341
  }
12343
12342
  }
12344
12343
 
@@ -12965,7 +12964,7 @@ function renderChildComponents(hostLView, components) {
12965
12964
  }
12966
12965
 
12967
12966
  function createAndRenderEmbeddedLView(declarationLView, templateTNode, context, options) {
12968
- const prevConsumer = setActiveConsumer(null);
12967
+ const prevConsumer = setActiveConsumer$1(null);
12969
12968
  try {
12970
12969
  const embeddedTView = templateTNode.tView;
12971
12970
  ngDevMode && assertDefined(embeddedTView, 'TView must be defined for a template node.');
@@ -12986,7 +12985,7 @@ function createAndRenderEmbeddedLView(declarationLView, templateTNode, context,
12986
12985
  return embeddedLView;
12987
12986
  }
12988
12987
  finally {
12989
- setActiveConsumer(prevConsumer);
12988
+ setActiveConsumer$1(prevConsumer);
12990
12989
  }
12991
12990
  }
12992
12991
  /**
@@ -13230,7 +13229,7 @@ function cleanUpView(tView, lView) {
13230
13229
  if (isDestroyed(lView)) {
13231
13230
  return;
13232
13231
  }
13233
- const prevConsumer = setActiveConsumer(null);
13232
+ const prevConsumer = setActiveConsumer$1(null);
13234
13233
  try {
13235
13234
  // Usually the Attached flag is removed when the view is detached from its parent, however
13236
13235
  // if it's a root view, the flag won't be unset hence why we're also removing on destroy.
@@ -13265,7 +13264,7 @@ function cleanUpView(tView, lView) {
13265
13264
  unregisterLView(lView);
13266
13265
  }
13267
13266
  finally {
13268
- setActiveConsumer(prevConsumer);
13267
+ setActiveConsumer$1(prevConsumer);
13269
13268
  }
13270
13269
  }
13271
13270
  /** Removes listeners and unsubscribes from output subscriptions */
@@ -16808,6 +16807,17 @@ function locateDehydratedViewsInContainer(currentRNode, serializedViews) {
16808
16807
  * Returns `null` by default, when hydration is not enabled.
16809
16808
  */
16810
16809
  let _findMatchingDehydratedViewImpl = () => null;
16810
+ /**
16811
+ * Reference to a function that searches for a matching dehydrated view
16812
+ * stored on a control flow lContainer and removes the dehydrated content
16813
+ * once found.
16814
+ * Returns `null` by default, when hydration is not enabled.
16815
+ */
16816
+ let _findAndReconcileMatchingDehydratedViewsImpl = () => null;
16817
+ function enableFindMatchingDehydratedViewImpl() {
16818
+ _findMatchingDehydratedViewImpl = findMatchingDehydratedViewImpl;
16819
+ _findAndReconcileMatchingDehydratedViewsImpl = findAndReconcileMatchingDehydratedViewsImpl;
16820
+ }
16811
16821
  /**
16812
16822
  * Retrieves the next dehydrated view from the LContainer and verifies that
16813
16823
  * it matches a given template id (from the TView that was used to create this
@@ -16818,17 +16828,8 @@ let _findMatchingDehydratedViewImpl = () => null;
16818
16828
  * in this container.
16819
16829
  */
16820
16830
  function findMatchingDehydratedViewImpl(lContainer, template) {
16821
- const views = lContainer[DEHYDRATED_VIEWS];
16822
- if (!template || views === null || views.length === 0) {
16823
- return null;
16824
- }
16825
- const view = views[0];
16826
- // Verify whether the first dehydrated view in the container matches
16827
- // the template id passed to this function (that originated from a TView
16828
- // that was used to create an instance of an embedded or component views.
16829
- if (view.data[TEMPLATE_ID] === template) {
16830
- // If the template id matches - extract the first view and return it.
16831
- return views.shift();
16831
+ if (hasMatchingDehydratedView(lContainer, template)) {
16832
+ return lContainer[DEHYDRATED_VIEWS].shift();
16832
16833
  }
16833
16834
  else {
16834
16835
  // Otherwise, we are at the state when reconciliation can not be completed,
@@ -16839,12 +16840,84 @@ function findMatchingDehydratedViewImpl(lContainer, template) {
16839
16840
  return null;
16840
16841
  }
16841
16842
  }
16842
- function enableFindMatchingDehydratedViewImpl() {
16843
- _findMatchingDehydratedViewImpl = findMatchingDehydratedViewImpl;
16844
- }
16845
16843
  function findMatchingDehydratedView(lContainer, template) {
16846
16844
  return _findMatchingDehydratedViewImpl(lContainer, template);
16847
16845
  }
16846
+ function findAndReconcileMatchingDehydratedViewsImpl(lContainer, templateTNode, hostLView) {
16847
+ if (templateTNode.tView.ssrId === null)
16848
+ return null;
16849
+ const dehydratedView = findMatchingDehydratedView(lContainer, templateTNode.tView.ssrId);
16850
+ // we know that an ssrId was generated, but we were unable to match it to
16851
+ // a dehydrated view, which means that we may have changed branches
16852
+ // between server and client. We'll need to find and remove those
16853
+ // stale dehydrated views.
16854
+ if (hostLView[TVIEW].firstUpdatePass && dehydratedView === null) {
16855
+ removeStaleDehydratedBranch(hostLView, templateTNode);
16856
+ }
16857
+ return dehydratedView;
16858
+ }
16859
+ function findAndReconcileMatchingDehydratedViews(lContainer, templateTNode, hostLView) {
16860
+ return _findAndReconcileMatchingDehydratedViewsImpl(lContainer, templateTNode, hostLView);
16861
+ }
16862
+ /**
16863
+ * In the case that we have control flow that changes branches between server and
16864
+ * client, we're left with dehydrated content that will not be used. We need to find
16865
+ * it and clean it up at the right time so that we don't see duplicate content for
16866
+ * a few moments before the application reaches stability. This navigates the
16867
+ * control flow containers by looking at the TNodeFlags to find the matching
16868
+ * dehydrated content for the branch that is now stale from the server and removes it.
16869
+ */
16870
+ function removeStaleDehydratedBranch(hostLView, tNode) {
16871
+ let currentTNode = tNode;
16872
+ while (currentTNode) {
16873
+ // We can return here if we've found the dehydrated view and cleaned it up.
16874
+ // Otherwise we continue on until we either find it or reach the start of
16875
+ // the control flow.
16876
+ if (cleanupMatchingDehydratedViews(hostLView, currentTNode))
16877
+ return;
16878
+ if ((currentTNode.flags & 256 /* TNodeFlags.isControlFlowStart */) === 256 /* TNodeFlags.isControlFlowStart */) {
16879
+ // we've hit the top of the control flow loop
16880
+ break;
16881
+ }
16882
+ currentTNode = currentTNode.prev;
16883
+ }
16884
+ currentTNode = tNode.next; // jump to place we started so we can navigate down from there
16885
+ while (currentTNode) {
16886
+ if ((currentTNode.flags & 512 /* TNodeFlags.isInControlFlow */) !== 512 /* TNodeFlags.isInControlFlow */) {
16887
+ // we've exited control flow and need to exit the loop.
16888
+ break;
16889
+ }
16890
+ // Similar to above, we can return here if we've found the dehydrated view
16891
+ // and cleaned it up. Otherwise we continue on until we either find it or
16892
+ // reach the end of the control flow.
16893
+ if (cleanupMatchingDehydratedViews(hostLView, currentTNode))
16894
+ return;
16895
+ currentTNode = currentTNode.next;
16896
+ }
16897
+ }
16898
+ function hasMatchingDehydratedView(lContainer, template) {
16899
+ const views = lContainer[DEHYDRATED_VIEWS];
16900
+ if (!template || views === null || views.length === 0) {
16901
+ return false;
16902
+ }
16903
+ // Verify whether the first dehydrated view in the container matches
16904
+ // the template id passed to this function (that originated from a TView
16905
+ // that was used to create an instance of an embedded or component views.
16906
+ return views[0].data[TEMPLATE_ID] === template;
16907
+ }
16908
+ function cleanupMatchingDehydratedViews(hostLView, currentTNode) {
16909
+ const ssrId = currentTNode.tView?.ssrId;
16910
+ if (ssrId == null /* check both `null` and `undefined` */)
16911
+ return false;
16912
+ const container = hostLView[currentTNode.index];
16913
+ // if we can find the dehydrated view in this container, we know we've found the stale view
16914
+ // and we can remove it.
16915
+ if (isLContainer(container) && hasMatchingDehydratedView(container, ssrId)) {
16916
+ removeDehydratedViews(container);
16917
+ return true;
16918
+ }
16919
+ return false;
16920
+ }
16848
16921
 
16849
16922
  /**
16850
16923
  * Represents a component created by a `ComponentFactory`.
@@ -17882,7 +17955,7 @@ function bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) {
17882
17955
  * @param wrapWithPreventDefault Whether or not to prevent default behavior
17883
17956
  * (the procedural renderer does this already, so in those cases, we should skip)
17884
17957
  */
17885
- function wrapListener(tNode, lView, context, listenerFn) {
17958
+ function wrapListener(tNode, lView, listenerFn) {
17886
17959
  // Note: we are performing most of the work in the listener function itself
17887
17960
  // to optimize listener registration.
17888
17961
  return function wrapListenerIn_markDirtyAndPreventDefault(e) {
@@ -17895,6 +17968,7 @@ function wrapListener(tNode, lView, context, listenerFn) {
17895
17968
  // must also mark the component view itself dirty (i.e. the view that it owns).
17896
17969
  const startView = isComponentHost(tNode) ? getComponentLViewByIndex(tNode.index, lView) : lView;
17897
17970
  markViewDirty(startView, 5 /* NotificationSource.Listener */);
17971
+ const context = lView[CONTEXT];
17898
17972
  let result = executeListenerWithErrorHandling(lView, context, listenerFn, e);
17899
17973
  // A just-invoked listener function might have coalesced listeners so we need to check for
17900
17974
  // their presence and invoke as needed.
@@ -17938,17 +18012,14 @@ function handleError(lView, error) {
17938
18012
 
17939
18013
  function createOutputListener(tNode, lView, listenerFn, targetDef, eventName) {
17940
18014
  // TODO(pk): decouple checks from the actual binding
17941
- const wrappedListener = wrapListener(tNode, lView, lView[CONTEXT], listenerFn);
17942
- // TODO(pk): simplify signature of listenToDirectiveOutput
17943
- const hasBound = listenToDirectiveOutput(tNode, lView[TVIEW], lView, targetDef, eventName, wrappedListener);
18015
+ const wrappedListener = wrapListener(tNode, lView, listenerFn);
18016
+ const hasBound = listenToDirectiveOutput(tNode, lView, targetDef, eventName, wrappedListener);
17944
18017
  if (!hasBound && ngDevMode) {
17945
18018
  throw new RuntimeError(316 /* RuntimeErrorCode.INVALID_BINDING_TARGET */, `${stringifyForError(targetDef.type)} does not have an output with a public name of "${eventName}".`);
17946
18019
  }
17947
18020
  }
17948
18021
  /** Listens to an output on a specific directive. */
17949
- function listenToDirectiveOutput(tNode, tView, lView, target, eventName, listenerFn) {
17950
- const tCleanup = tView.firstCreatePass ? getOrCreateTViewCleanup(tView) : null;
17951
- const lCleanup = getOrCreateLViewCleanup(lView);
18022
+ function listenToDirectiveOutput(tNode, lView, target, eventName, listenerFn) {
17952
18023
  let hostIndex = null;
17953
18024
  let hostDirectivesStart = null;
17954
18025
  let hostDirectivesEnd = null;
@@ -17972,7 +18043,7 @@ function listenToDirectiveOutput(tNode, tView, lView, target, eventName, listene
17972
18043
  if (index >= hostDirectivesStart && index <= hostDirectivesEnd) {
17973
18044
  ngDevMode && assertIndexInRange(lView, index);
17974
18045
  hasOutput = true;
17975
- listenToOutput(tNode, tView, lView, index, hostDirectiveOutputs[i + 1], eventName, listenerFn, lCleanup, tCleanup);
18046
+ listenToOutput(tNode, lView, index, hostDirectiveOutputs[i + 1], eventName, listenerFn);
17976
18047
  }
17977
18048
  else if (index > hostDirectivesEnd) {
17978
18049
  break;
@@ -17982,19 +18053,23 @@ function listenToDirectiveOutput(tNode, tView, lView, target, eventName, listene
17982
18053
  if (target.outputs.hasOwnProperty(eventName)) {
17983
18054
  ngDevMode && assertIndexInRange(lView, hostIndex);
17984
18055
  hasOutput = true;
17985
- listenToOutput(tNode, tView, lView, hostIndex, eventName, eventName, listenerFn, lCleanup, tCleanup);
18056
+ listenToOutput(tNode, lView, hostIndex, eventName, eventName, listenerFn);
17986
18057
  }
17987
18058
  return hasOutput;
17988
18059
  }
17989
- function listenToOutput(tNode, tView, lView, index, lookupName, eventName, listenerFn, lCleanup, tCleanup) {
17990
- ngDevMode && assertIndexInRange(lView, index);
17991
- const instance = lView[index];
17992
- const def = tView.data[index];
18060
+ function listenToOutput(tNode, lView, directiveIndex, lookupName, eventName, listenerFn) {
18061
+ ngDevMode && assertIndexInRange(lView, directiveIndex);
18062
+ const instance = lView[directiveIndex];
18063
+ const tView = lView[TVIEW];
18064
+ const def = tView.data[directiveIndex];
17993
18065
  const propertyName = def.outputs[lookupName];
17994
18066
  const output = instance[propertyName];
17995
18067
  if (ngDevMode && !isOutputSubscribable(output)) {
17996
18068
  throw new Error(`@Output ${propertyName} not initialized in '${instance.constructor.name}'.`);
17997
18069
  }
18070
+ // TODO(pk): introduce utility to store cleanup or find a different way of sharing code with listener
18071
+ const tCleanup = tView.firstCreatePass ? getOrCreateTViewCleanup(tView) : null;
18072
+ const lCleanup = getOrCreateLViewCleanup(lView);
17998
18073
  const subscription = output.subscribe(listenerFn);
17999
18074
  const idx = lCleanup.length;
18000
18075
  lCleanup.push(listenerFn, subscription);
@@ -18263,7 +18338,7 @@ class ComponentFactory extends ComponentFactory$1 {
18263
18338
  }
18264
18339
  create(injector, projectableNodes, rootSelectorOrNode, environmentInjector, directives, componentBindings) {
18265
18340
  profiler(22 /* ProfilerEvent.DynamicComponentStart */);
18266
- const prevConsumer = setActiveConsumer(null);
18341
+ const prevConsumer = setActiveConsumer$1(null);
18267
18342
  try {
18268
18343
  const cmpDef = this.componentDef;
18269
18344
  ngDevMode && verifyNotAnOrphanComponent(cmpDef);
@@ -18335,13 +18410,13 @@ class ComponentFactory extends ComponentFactory$1 {
18335
18410
  return new ComponentRef(this.componentType, rootLView, !!hasInputBindings);
18336
18411
  }
18337
18412
  finally {
18338
- setActiveConsumer(prevConsumer);
18413
+ setActiveConsumer$1(prevConsumer);
18339
18414
  }
18340
18415
  }
18341
18416
  }
18342
18417
  function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
18343
18418
  const tAttributes = rootSelectorOrNode
18344
- ? ['ng-version', '20.0.0-next.3']
18419
+ ? ['ng-version', '20.0.0-next.4']
18345
18420
  : // Extract attributes and classes from the first selector only to match VE behavior.
18346
18421
  extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
18347
18422
  let creationBindings = null;
@@ -20968,11 +21043,14 @@ function templateFirstCreatePass(index, tView, lView, templateFn, decls, vars, t
20968
21043
  * @param localRefExtractor A function which extracts local-refs values from the template.
20969
21044
  * Defaults to the current element associated with the local-ref.
20970
21045
  */
20971
- function declareTemplate(declarationLView, declarationTView, index, templateFn, decls, vars, tagName, attrs, localRefsIndex, localRefExtractor) {
21046
+ function declareTemplate(declarationLView, declarationTView, index, templateFn, decls, vars, tagName, attrs, flags, localRefsIndex, localRefExtractor) {
20972
21047
  const adjustedIndex = index + HEADER_OFFSET;
20973
21048
  const tNode = declarationTView.firstCreatePass
20974
21049
  ? templateFirstCreatePass(adjustedIndex, declarationTView, declarationLView, templateFn, decls, vars, tagName, attrs, localRefsIndex)
20975
21050
  : declarationTView.data[adjustedIndex];
21051
+ if (flags) {
21052
+ tNode.flags |= flags;
21053
+ }
20976
21054
  setCurrentTNode(tNode, false);
20977
21055
  const comment = _locateOrCreateContainerAnchor(declarationTView, declarationLView, tNode, index);
20978
21056
  if (wasLastNodeCreated()) {
@@ -21017,7 +21095,7 @@ function ɵɵtemplate(index, templateFn, decls, vars, tagName, attrsIndex, local
21017
21095
  const lView = getLView();
21018
21096
  const tView = getTView();
21019
21097
  const attrs = getConstant(tView.consts, attrsIndex);
21020
- declareTemplate(lView, tView, index, templateFn, decls, vars, tagName, attrs, localRefsIndex, localRefExtractor);
21098
+ declareTemplate(lView, tView, index, templateFn, decls, vars, tagName, attrs, undefined, localRefsIndex, localRefExtractor);
21021
21099
  return ɵɵtemplate;
21022
21100
  }
21023
21101
  let _locateOrCreateContainerAnchor = createContainerAnchorImpl;
@@ -23911,7 +23989,7 @@ class ApplicationRef {
23911
23989
  if (this._runningTick) {
23912
23990
  throw new RuntimeError(101 /* RuntimeErrorCode.RECURSIVE_APPLICATION_REF_TICK */, ngDevMode && 'ApplicationRef.tick is called recursively');
23913
23991
  }
23914
- const prevConsumer = setActiveConsumer(null);
23992
+ const prevConsumer = setActiveConsumer$1(null);
23915
23993
  try {
23916
23994
  this._runningTick = true;
23917
23995
  this.synchronize();
@@ -23925,7 +24003,7 @@ class ApplicationRef {
23925
24003
  this._runningTick = false;
23926
24004
  this.tracingSnapshot?.dispose();
23927
24005
  this.tracingSnapshot = null;
23928
- setActiveConsumer(prevConsumer);
24006
+ setActiveConsumer$1(prevConsumer);
23929
24007
  this.afterTick.next();
23930
24008
  profiler(13 /* ProfilerEvent.ChangeDetectionEnd */);
23931
24009
  }
@@ -24773,7 +24851,7 @@ function ɵɵdeferWhen(rawValue) {
24773
24851
  return;
24774
24852
  const bindingIndex = nextBindingIndex();
24775
24853
  if (bindingUpdated(lView, bindingIndex, rawValue)) {
24776
- const prevConsumer = setActiveConsumer(null);
24854
+ const prevConsumer = setActiveConsumer$1(null);
24777
24855
  try {
24778
24856
  const value = Boolean(rawValue); // handle truthy or falsy values
24779
24857
  const lDetails = getLDeferBlockDetails(lView, tNode);
@@ -24789,7 +24867,7 @@ function ɵɵdeferWhen(rawValue) {
24789
24867
  }
24790
24868
  }
24791
24869
  finally {
24792
- setActiveConsumer(prevConsumer);
24870
+ setActiveConsumer$1(prevConsumer);
24793
24871
  }
24794
24872
  }
24795
24873
  }
@@ -24807,7 +24885,7 @@ function ɵɵdeferPrefetchWhen(rawValue) {
24807
24885
  return;
24808
24886
  const bindingIndex = nextBindingIndex();
24809
24887
  if (bindingUpdated(lView, bindingIndex, rawValue)) {
24810
- const prevConsumer = setActiveConsumer(null);
24888
+ const prevConsumer = setActiveConsumer$1(null);
24811
24889
  try {
24812
24890
  const value = Boolean(rawValue); // handle truthy or falsy values
24813
24891
  const tView = lView[TVIEW];
@@ -24819,7 +24897,7 @@ function ɵɵdeferPrefetchWhen(rawValue) {
24819
24897
  }
24820
24898
  }
24821
24899
  finally {
24822
- setActiveConsumer(prevConsumer);
24900
+ setActiveConsumer$1(prevConsumer);
24823
24901
  }
24824
24902
  }
24825
24903
  }
@@ -24848,7 +24926,7 @@ function ɵɵdeferHydrateWhen(rawValue) {
24848
24926
  }
24849
24927
  else {
24850
24928
  const injector = lView[INJECTOR];
24851
- const prevConsumer = setActiveConsumer(null);
24929
+ const prevConsumer = setActiveConsumer$1(null);
24852
24930
  try {
24853
24931
  const value = Boolean(rawValue); // handle truthy or falsy values
24854
24932
  if (value === true) {
@@ -24862,7 +24940,7 @@ function ɵɵdeferHydrateWhen(rawValue) {
24862
24940
  }
24863
24941
  }
24864
24942
  finally {
24865
- setActiveConsumer(prevConsumer);
24943
+ setActiveConsumer$1(prevConsumer);
24866
24944
  }
24867
24945
  }
24868
24946
  }
@@ -27879,6 +27957,58 @@ class UniqueValueMultiKeyMap {
27879
27957
  }
27880
27958
  }
27881
27959
 
27960
+ /**
27961
+ * Creates an LContainer for an ng-template representing a root node
27962
+ * of control flow (@if, @switch). We use this to explicitly set
27963
+ * flags on the TNode created to identify which nodes are in control
27964
+ * flow or starting control flow for hydration identification and
27965
+ * cleanup timing.
27966
+ *
27967
+ * @param index The index of the container in the data array
27968
+ * @param templateFn Inline template
27969
+ * @param decls The number of nodes, local refs, and pipes for this template
27970
+ * @param vars The number of bindings for this template
27971
+ * @param tagName The name of the container element, if applicable
27972
+ * @param attrsIndex Index of template attributes in the `consts` array.
27973
+ * @param localRefs Index of the local references in the `consts` array.
27974
+ * @param localRefExtractor A function which extracts local-refs values from the template.
27975
+ * Defaults to the current element associated with the local-ref.
27976
+ * @codeGenApi
27977
+ */
27978
+ function ɵɵconditionalCreate(index, templateFn, decls, vars, tagName, attrsIndex, localRefsIndex, localRefExtractor) {
27979
+ performanceMarkFeature('NgControlFlow');
27980
+ const lView = getLView();
27981
+ const tView = getTView();
27982
+ const attrs = getConstant(tView.consts, attrsIndex);
27983
+ declareTemplate(lView, tView, index, templateFn, decls, vars, tagName, attrs, 256 /* TNodeFlags.isControlFlowStart */, localRefsIndex, localRefExtractor);
27984
+ return ɵɵconditionalBranchCreate;
27985
+ }
27986
+ /**
27987
+ * Creates an LContainer for an ng-template representing a branch
27988
+ * of control flow (@else, @case, @default). We use this to explicitly
27989
+ * set flags on the TNode created to identify which nodes are in
27990
+ * control flow or starting control flow for hydration identification
27991
+ * and cleanup timing.
27992
+ *
27993
+ * @param index The index of the container in the data array
27994
+ * @param templateFn Inline template
27995
+ * @param decls The number of nodes, local refs, and pipes for this template
27996
+ * @param vars The number of bindings for this template
27997
+ * @param tagName The name of the container element, if applicable
27998
+ * @param attrsIndex Index of template attributes in the `consts` array.
27999
+ * @param localRefs Index of the local references in the `consts` array.
28000
+ * @param localRefExtractor A function which extracts local-refs values from the template.
28001
+ * Defaults to the current element associated with the local-ref.
28002
+ * @codeGenApi
28003
+ */
28004
+ function ɵɵconditionalBranchCreate(index, templateFn, decls, vars, tagName, attrsIndex, localRefsIndex, localRefExtractor) {
28005
+ performanceMarkFeature('NgControlFlow');
28006
+ const lView = getLView();
28007
+ const tView = getTView();
28008
+ const attrs = getConstant(tView.consts, attrsIndex);
28009
+ declareTemplate(lView, tView, index, templateFn, decls, vars, tagName, attrs, 512 /* TNodeFlags.isInControlFlow */, localRefsIndex, localRefExtractor);
28010
+ return ɵɵconditionalBranchCreate;
28011
+ }
27882
28012
  /**
27883
28013
  * The conditional instruction represents the basic building block on the runtime side to support
27884
28014
  * built-in "if" and "switch". On the high level this instruction is responsible for adding and
@@ -27899,7 +28029,7 @@ function ɵɵconditional(matchingTemplateIndex, contextValue) {
27899
28029
  : undefined;
27900
28030
  const viewInContainerIdx = 0;
27901
28031
  if (bindingUpdated(hostLView, bindingIndex, matchingTemplateIndex)) {
27902
- const prevConsumer = setActiveConsumer(null);
28032
+ const prevConsumer = setActiveConsumer$1(null);
27903
28033
  try {
27904
28034
  // The index of the view to show changed - remove the previously displayed one
27905
28035
  // (it is a noop if there are no active views in a container).
@@ -27912,7 +28042,7 @@ function ɵɵconditional(matchingTemplateIndex, contextValue) {
27912
28042
  const nextLContainerIndex = HEADER_OFFSET + matchingTemplateIndex;
27913
28043
  const nextContainer = getLContainer(hostLView, nextLContainerIndex);
27914
28044
  const templateTNode = getExistingTNode(hostLView[TVIEW], nextLContainerIndex);
27915
- const dehydratedView = findMatchingDehydratedView(nextContainer, templateTNode.tView.ssrId);
28045
+ const dehydratedView = findAndReconcileMatchingDehydratedViews(nextContainer, templateTNode, hostLView);
27916
28046
  const embeddedLView = createAndRenderEmbeddedLView(hostLView, templateTNode, contextValue, {
27917
28047
  dehydratedView,
27918
28048
  });
@@ -27920,7 +28050,7 @@ function ɵɵconditional(matchingTemplateIndex, contextValue) {
27920
28050
  }
27921
28051
  }
27922
28052
  finally {
27923
- setActiveConsumer(prevConsumer);
28053
+ setActiveConsumer$1(prevConsumer);
27924
28054
  }
27925
28055
  }
27926
28056
  else if (prevContainer !== undefined) {
@@ -28017,13 +28147,13 @@ function ɵɵrepeaterCreate(index, templateFn, decls, vars, tagName, attrsIndex,
28017
28147
  : trackByFn;
28018
28148
  const metadata = new RepeaterMetadata(hasEmptyBlock, boundTrackBy);
28019
28149
  hostLView[HEADER_OFFSET + index] = metadata;
28020
- declareTemplate(lView, tView, index + 1, templateFn, decls, vars, tagName, getConstant(tView.consts, attrsIndex));
28150
+ declareTemplate(lView, tView, index + 1, templateFn, decls, vars, tagName, getConstant(tView.consts, attrsIndex), 256 /* TNodeFlags.isControlFlowStart */);
28021
28151
  if (hasEmptyBlock) {
28022
28152
  ngDevMode &&
28023
28153
  assertDefined(emptyDecls, 'Missing number of declarations for the empty repeater block.');
28024
28154
  ngDevMode &&
28025
28155
  assertDefined(emptyVars, 'Missing number of bindings for the empty repeater block.');
28026
- declareTemplate(lView, tView, index + 2, emptyTemplateFn, emptyDecls, emptyVars, emptyTagName, getConstant(tView.consts, emptyAttrsIndex));
28156
+ declareTemplate(lView, tView, index + 2, emptyTemplateFn, emptyDecls, emptyVars, emptyTagName, getConstant(tView.consts, emptyAttrsIndex), 512 /* TNodeFlags.isInControlFlow */);
28027
28157
  }
28028
28158
  }
28029
28159
  function isViewExpensiveToRecreate(lView) {
@@ -28122,7 +28252,7 @@ class LiveCollectionLContainerImpl extends LiveCollection {
28122
28252
  * @codeGenApi
28123
28253
  */
28124
28254
  function ɵɵrepeater(collection) {
28125
- const prevConsumer = setActiveConsumer(null);
28255
+ const prevConsumer = setActiveConsumer$1(null);
28126
28256
  const metadataSlotIdx = getSelectedIndex();
28127
28257
  try {
28128
28258
  const hostLView = getLView();
@@ -28163,18 +28293,25 @@ function ɵɵrepeater(collection) {
28163
28293
  const lContainerForEmpty = getLContainer(hostLView, emptyTemplateIndex);
28164
28294
  if (isCollectionEmpty) {
28165
28295
  const emptyTemplateTNode = getExistingTNode(hostTView, emptyTemplateIndex);
28166
- const dehydratedView = findMatchingDehydratedView(lContainerForEmpty, emptyTemplateTNode.tView.ssrId);
28296
+ const dehydratedView = findAndReconcileMatchingDehydratedViews(lContainerForEmpty, emptyTemplateTNode, hostLView);
28167
28297
  const embeddedLView = createAndRenderEmbeddedLView(hostLView, emptyTemplateTNode, undefined, { dehydratedView });
28168
28298
  addLViewToLContainer(lContainerForEmpty, embeddedLView, 0, shouldAddViewToDom(emptyTemplateTNode, dehydratedView));
28169
28299
  }
28170
28300
  else {
28301
+ // we know that an ssrId was generated for the empty template, but
28302
+ // we were unable to match it to a dehydrated view earlier, which
28303
+ // means that we may have changed branches between server and client.
28304
+ // We'll need to find and remove the stale empty template view.
28305
+ if (hostTView.firstUpdatePass) {
28306
+ removeDehydratedViews(lContainerForEmpty);
28307
+ }
28171
28308
  removeLViewFromLContainer(lContainerForEmpty, 0);
28172
28309
  }
28173
28310
  }
28174
28311
  }
28175
28312
  }
28176
28313
  finally {
28177
- setActiveConsumer(prevConsumer);
28314
+ setActiveConsumer$1(prevConsumer);
28178
28315
  }
28179
28316
  }
28180
28317
  function getLContainer(lView, index) {
@@ -30453,7 +30590,6 @@ function listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn,
30453
30590
  const isTNodeDirectiveHost = isDirectiveHost(tNode);
30454
30591
  const firstCreatePass = tView.firstCreatePass;
30455
30592
  const tCleanup = firstCreatePass ? getOrCreateTViewCleanup(tView) : null;
30456
- const context = lView[CONTEXT];
30457
30593
  // When the ɵɵlistener instruction was generated and is executed we know that there is either a
30458
30594
  // native listener or a directive output on this element. As such we we know that we will have to
30459
30595
  // register a listener and store its cleanup function on LView.
@@ -30504,7 +30640,7 @@ function listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn,
30504
30640
  processOutputs = false;
30505
30641
  }
30506
30642
  else {
30507
- listenerFn = wrapListener(tNode, lView, context, listenerFn);
30643
+ listenerFn = wrapListener(tNode, lView, listenerFn);
30508
30644
  stashEventListener(target, eventName, listenerFn);
30509
30645
  const cleanupFn = renderer.listen(target, eventName, listenerFn);
30510
30646
  lCleanup.push(listenerFn, cleanupFn);
@@ -30514,7 +30650,7 @@ function listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn,
30514
30650
  else {
30515
30651
  // Even if there is no native listener to add, we still need to wrap the listener so that OnPush
30516
30652
  // ancestors are marked dirty when an event occurs.
30517
- listenerFn = wrapListener(tNode, lView, context, listenerFn);
30653
+ listenerFn = wrapListener(tNode, lView, listenerFn);
30518
30654
  }
30519
30655
  if (processOutputs) {
30520
30656
  const outputConfig = tNode.outputs?.[eventName];
@@ -30523,12 +30659,12 @@ function listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn,
30523
30659
  for (let i = 0; i < hostDirectiveOutputConfig.length; i += 2) {
30524
30660
  const index = hostDirectiveOutputConfig[i];
30525
30661
  const lookupName = hostDirectiveOutputConfig[i + 1];
30526
- listenToOutput(tNode, tView, lView, index, lookupName, eventName, listenerFn, lCleanup, tCleanup);
30662
+ listenToOutput(tNode, lView, index, lookupName, eventName, listenerFn);
30527
30663
  }
30528
30664
  }
30529
30665
  if (outputConfig && outputConfig.length) {
30530
30666
  for (const index of outputConfig) {
30531
- listenToOutput(tNode, tView, lView, index, eventName, eventName, listenerFn, lCleanup, tCleanup);
30667
+ listenToOutput(tNode, lView, index, eventName, eventName, listenerFn);
30532
30668
  }
30533
30669
  }
30534
30670
  }
@@ -33803,6 +33939,8 @@ const angularCoreEnv = (() => ({
33803
33939
  'ɵɵadvance': ɵɵadvance,
33804
33940
  'ɵɵtemplate': ɵɵtemplate,
33805
33941
  'ɵɵconditional': ɵɵconditional,
33942
+ 'ɵɵconditionalCreate': ɵɵconditionalCreate,
33943
+ 'ɵɵconditionalBranchCreate': ɵɵconditionalBranchCreate,
33806
33944
  'ɵɵdefer': ɵɵdefer,
33807
33945
  'ɵɵdeferWhen': ɵɵdeferWhen,
33808
33946
  'ɵɵdeferOnIdle': ɵɵdeferOnIdle,
@@ -34902,7 +35040,7 @@ class Version {
34902
35040
  /**
34903
35041
  * @publicApi
34904
35042
  */
34905
- const VERSION = new Version('20.0.0-next.3');
35043
+ const VERSION = new Version('20.0.0-next.4');
34906
35044
 
34907
35045
  /**
34908
35046
  * Combination of NgModuleFactory and ComponentFactories.
@@ -40720,5 +40858,5 @@ const REQUEST_CONTEXT = new InjectionToken(typeof ngDevMode === 'undefined' || n
40720
40858
  factory: () => null,
40721
40859
  });
40722
40860
 
40723
- export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, HOST_TAG_NAME, Host, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, OutputEmitterRef, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PendingTasks, Pipe, PlatformRef, Query, QueryList, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, Renderer2, RendererFactory2, RendererStyleFlags2, ResourceStatus, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation, ViewRef, afterNextRender, afterRender, afterRenderEffect, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, inputBinding, isDevMode, isSignal, isStandalone, linkedSignal, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, outputBinding, platformCore, provideAppInitializer, provideEnvironmentInitializer, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, providePlatformInitializer, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, resource, runInInjectionContext, setTestabilityGetter, signal, twoWayBinding, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderManager as ɵAfterRenderManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ChangeDetectionSchedulerImpl as ɵChangeDetectionSchedulerImpl, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, LContext as ɵLContext, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PendingTasksInternal as ɵPendingTasksInternal, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, ResourceImpl as ɵResourceImpl, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, TracingAction as ɵTracingAction, TracingService as ɵTracingService, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, devModeEqual as ɵdevModeEqual, disableProfiling as ɵdisableProfiling, enableProfiling as ɵenableProfiling, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getClosestComponentName as ɵgetClosestComponentName, getDebugNode as ɵgetDebugNode, getDeferBlocks$1 as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, isViewDirty as ɵisViewDirty, markForRefresh as ɵmarkForRefresh, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, startMeasuring as ɵstartMeasuring, stopMeasuring as ɵstopMeasuring, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, withIncrementalHydration as ɵwithIncrementalHydration, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattachSourceLocations, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
40861
+ export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, HOST_TAG_NAME, Host, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, OutputEmitterRef, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PendingTasks, Pipe, PlatformRef, Query, QueryList, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, Renderer2, RendererFactory2, RendererStyleFlags2, ResourceStatus, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation, ViewRef, afterNextRender, afterRender, afterRenderEffect, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, inputBinding, isDevMode, isSignal, isStandalone, linkedSignal, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, outputBinding, platformCore, provideAppInitializer, provideEnvironmentInitializer, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, providePlatformInitializer, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, resource, runInInjectionContext, setTestabilityGetter, signal, twoWayBinding, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderManager as ɵAfterRenderManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ChangeDetectionSchedulerImpl as ɵChangeDetectionSchedulerImpl, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, LContext as ɵLContext, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PendingTasksInternal as ɵPendingTasksInternal, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, ResourceImpl as ɵResourceImpl, RuntimeError as ɵRuntimeError, SIGNAL as ɵSIGNAL, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, TracingAction as ɵTracingAction, TracingService as ɵTracingService, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, devModeEqual as ɵdevModeEqual, disableProfiling as ɵdisableProfiling, enableProfiling as ɵenableProfiling, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getClosestComponentName as ɵgetClosestComponentName, getDebugNode as ɵgetDebugNode, getDeferBlocks$1 as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, isViewDirty as ɵisViewDirty, markForRefresh as ɵmarkForRefresh, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, startMeasuring as ɵstartMeasuring, stopMeasuring as ɵstopMeasuring, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, withIncrementalHydration as ɵwithIncrementalHydration, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattachSourceLocations, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
40724
40862
  //# sourceMappingURL=core.mjs.map