{"version":3,"sources":["node_modules/niessbrauch-rechner/dist/schenkungssteuer.js","node_modules/niessbrauch-rechner/dist/vervielfaeltiger.js","node_modules/niessbrauch-rechner/dist/rechner.js","node_modules/niessbrauch-rechner/dist/index.js","node_modules/@angular/core/fesm2022/primitives/signals.mjs","node_modules/rxjs/dist/esm/internal/util/isFunction.js","node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","node_modules/rxjs/dist/esm/internal/util/arrRemove.js","node_modules/rxjs/dist/esm/internal/Subscription.js","node_modules/rxjs/dist/esm/internal/config.js","node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","node_modules/rxjs/dist/esm/internal/util/noop.js","node_modules/rxjs/dist/esm/internal/NotificationFactories.js","node_modules/rxjs/dist/esm/internal/util/errorContext.js","node_modules/rxjs/dist/esm/internal/Subscriber.js","node_modules/rxjs/dist/esm/internal/symbol/observable.js","node_modules/rxjs/dist/esm/internal/util/identity.js","node_modules/rxjs/dist/esm/internal/util/pipe.js","node_modules/rxjs/dist/esm/internal/Observable.js","node_modules/rxjs/dist/esm/internal/util/lift.js","node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","node_modules/rxjs/dist/esm/internal/Subject.js","node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","node_modules/rxjs/dist/esm/internal/util/args.js","node_modules/tslib/tslib.es6.mjs","node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","node_modules/rxjs/dist/esm/internal/util/isPromise.js","node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","node_modules/rxjs/dist/esm/internal/symbol/iterator.js","node_modules/rxjs/dist/esm/internal/util/isIterable.js","node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","node_modules/rxjs/dist/esm/internal/operators/observeOn.js","node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","node_modules/rxjs/dist/esm/internal/observable/from.js","node_modules/rxjs/dist/esm/internal/operators/map.js","node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","node_modules/rxjs/dist/esm/internal/util/createObject.js","node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","node_modules/@angular/core/fesm2022/core.mjs","node_modules/@angular/common/fesm2022/common.mjs","node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs","node_modules/@angular/common/locales/de.mjs","node_modules/@angular/forms/fesm2022/forms.mjs","node_modules/@angular/animations/fesm2022/animations.mjs","node_modules/@angular/animations/fesm2022/browser.mjs","node_modules/@angular/platform-browser/fesm2022/animations.mjs","src/app/app.component.ts","src/app/app.component.html","node_modules/primeng/fesm2022/primeng-utils.mjs","node_modules/primeng/fesm2022/primeng-api.mjs","node_modules/primeng/fesm2022/primeng-dom.mjs","node_modules/primeng/fesm2022/primeng-autofocus.mjs","node_modules/primeng/fesm2022/primeng-baseicon.mjs","node_modules/primeng/fesm2022/primeng-icons-spinner.mjs","node_modules/primeng/fesm2022/primeng-ripple.mjs","node_modules/primeng/fesm2022/primeng-button.mjs","node_modules/primeng/fesm2022/primeng-overlay.mjs","node_modules/primeng/fesm2022/primeng-scroller.mjs","node_modules/primeng/fesm2022/primeng-tooltip.mjs","node_modules/primeng/fesm2022/primeng-icons-times.mjs","node_modules/primeng/fesm2022/primeng-icons-check.mjs","node_modules/primeng/fesm2022/primeng-icons-blank.mjs","node_modules/primeng/fesm2022/primeng-icons-chevrondown.mjs","node_modules/primeng/fesm2022/primeng-icons-search.mjs","node_modules/primeng/fesm2022/primeng-dropdown.mjs","node_modules/primeng/fesm2022/primeng-selectbutton.mjs","node_modules/primeng/fesm2022/primeng-slider.mjs","src/app/components/info-toggle/info-toggle.component.ts","src/app/components/info-toggle/info-toggle.component.html","src/app/components/info-toggle/info-toggle.module.ts","src/app/app.module.ts","src/environments/environment.prod.ts","src/main.ts"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TabelleSteuersaetze = exports.TabelleSteuerdaten = exports.errorMsgKeinSteuersatz = exports.errorMsgUngueltigerSteuerbetrag = exports.errorMsgKeinFreibetrag = exports.errorMsgKeineSteuerklasse = void 0;\nexports.getSteuerdatenUniqueKeys = getSteuerdatenUniqueKeys;\nexports.getSteuerdatenUniqueSortNr = getSteuerdatenUniqueSortNr;\nexports.ermittleSteuerklasse = ermittleSteuerklasse;\nexports.ermittleFreibetrag = ermittleFreibetrag;\nexports.ermittleSteuersatz = ermittleSteuersatz;\nexports.ermittleSteuersatzUndWertgrenzeVorhergehend = ermittleSteuersatzUndWertgrenzeVorhergehend;\n/*\n————————————————————————————————————————————————————————————————————————————————\nExportierte Konstanten, Typen und Arrays\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Fehlermeldungen\nexports.errorMsgKeineSteuerklasse = 'Keine Steuerklasse definiert';\nexports.errorMsgKeinFreibetrag = 'Kein Freibetrag definiert';\nexports.errorMsgUngueltigerSteuerbetrag = 'Ungültiger Steuerbetrag (negativ)';\nexports.errorMsgKeinSteuersatz = 'Kein passender Steuersatz definiert';\n// Definition einer statischen Tabelle mit den Steuerklassen\n// Achtung: Freiträge gelten nur bei Schenkung (nicht bei Erbschaft)!\nexports.TabelleSteuerdaten = [{\n key: 'Ehepartner',\n sortNr: 0,\n label: 'Ehepartnerin/Ehepartner',\n steuerklasse: 'I',\n freibetrag: 500000\n}, {\n key: 'Kinder',\n sortNr: 1,\n label: 'Tochter/Sohn',\n steuerklasse: 'I',\n freibetrag: 400000\n}, {\n key: 'Enkel',\n sortNr: 2,\n label: 'Enkeltochter/Enkelsohn',\n steuerklasse: 'I',\n freibetrag: 200000\n}, {\n key: 'Geschwister',\n sortNr: 3,\n label: 'Schwester/Bruder',\n steuerklasse: 'II',\n freibetrag: 20000\n}, {\n key: 'NichtenNeffen',\n sortNr: 4,\n label: 'Nichte/Neffe',\n steuerklasse: 'II',\n freibetrag: 20000\n}, {\n key: 'Lebensgefährte',\n sortNr: 5,\n label: 'Lebensgefährtin/Lebensgefährte',\n steuerklasse: 'III',\n freibetrag: 20000\n}];\n// Definition einer statischen Tabelle mit den Schenkungssteuersätzen\n// 0-Einträge gegenüber Tabelle in ErbStG §19 ergänzt, damit auch für Werte unterhalb der ersten\n// Stufe passende Einträge gefunden werden (bei der Suche nach der letztvorhergenden Wertgrenze\n// für die Steuerberechnung mit Härteausgleichsregelung)\nexports.TabelleSteuersaetze = [{\n key: {\n erwerb: 0,\n steuerklasse: 'I'\n },\n steuersatz: 0\n}, {\n key: {\n erwerb: 0,\n steuerklasse: 'II'\n },\n steuersatz: 0\n}, {\n key: {\n erwerb: 0,\n steuerklasse: 'III'\n },\n steuersatz: 0\n}, {\n key: {\n erwerb: 75000,\n steuerklasse: 'I'\n },\n steuersatz: 7\n}, {\n key: {\n erwerb: 75000,\n steuerklasse: 'II'\n },\n steuersatz: 15\n}, {\n key: {\n erwerb: 75000,\n steuerklasse: 'III'\n },\n steuersatz: 30\n}, {\n key: {\n erwerb: 300000,\n steuerklasse: 'I'\n },\n steuersatz: 11\n}, {\n key: {\n erwerb: 300000,\n steuerklasse: 'II'\n },\n steuersatz: 20\n}, {\n key: {\n erwerb: 300000,\n steuerklasse: 'III'\n },\n steuersatz: 30\n}, {\n key: {\n erwerb: 600000,\n steuerklasse: 'I'\n },\n steuersatz: 15\n}, {\n key: {\n erwerb: 600000,\n steuerklasse: 'II'\n },\n steuersatz: 25\n}, {\n key: {\n erwerb: 600000,\n steuerklasse: 'III'\n },\n steuersatz: 30\n}, {\n key: {\n erwerb: 6000000,\n steuerklasse: 'I'\n },\n steuersatz: 19\n}, {\n key: {\n erwerb: 6000000,\n steuerklasse: 'II'\n },\n steuersatz: 30\n}, {\n key: {\n erwerb: 6000000,\n steuerklasse: 'III'\n },\n steuersatz: 30\n}, {\n key: {\n erwerb: 13000000,\n steuerklasse: 'I'\n },\n steuersatz: 23\n}, {\n key: {\n erwerb: 13000000,\n steuerklasse: 'II'\n },\n steuersatz: 35\n}, {\n key: {\n erwerb: 13000000,\n steuerklasse: 'III'\n },\n steuersatz: 50\n}, {\n key: {\n erwerb: 26000000,\n steuerklasse: 'I'\n },\n steuersatz: 27\n}, {\n key: {\n erwerb: 26000000,\n steuerklasse: 'II'\n },\n steuersatz: 40\n}, {\n key: {\n erwerb: 26000000,\n steuerklasse: 'III'\n },\n steuersatz: 50\n}, {\n key: {\n erwerb: Number.MAX_VALUE,\n steuerklasse: 'I'\n },\n steuersatz: 30\n}, {\n key: {\n erwerb: Number.MAX_VALUE,\n steuerklasse: 'II'\n },\n steuersatz: 43\n}, {\n key: {\n erwerb: Number.MAX_VALUE,\n steuerklasse: 'III'\n },\n steuersatz: 50\n}];\n/*\n————————————————————————————————————————————————————————————————————————————————\nExportierte Funktionen\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Liste aller eindeutigen Keys aus Tabelle mit den Steuerdaten\nfunction getSteuerdatenUniqueKeys() {\n return Array.from(new Set(exports.TabelleSteuerdaten.map(element => element.key)));\n}\n// Liste aller eindeutigen Sortiernummern aus Tabelle mit den Steuerdaten\nfunction getSteuerdatenUniqueSortNr() {\n return Array.from(new Set(exports.TabelleSteuerdaten.map(element => element.sortNr)));\n}\n// Ermittlung Steuerklasse für gegebene Beziehung\nfunction ermittleSteuerklasse(inputBeziehung) {\n const tabellenEintrag = exports.TabelleSteuerdaten.find(element => inputBeziehung === element.key);\n if (tabellenEintrag === undefined) {\n throw Error(exports.errorMsgKeineSteuerklasse);\n } else {\n return tabellenEintrag.steuerklasse;\n }\n}\n// Ermittlung Freibetrag für gegebene Beziehung\nfunction ermittleFreibetrag(inputBeziehung) {\n const tabellenEintrag = exports.TabelleSteuerdaten.find(element => inputBeziehung === element.key);\n if (tabellenEintrag === undefined) {\n throw Error(exports.errorMsgKeinFreibetrag);\n } else {\n return tabellenEintrag.freibetrag;\n }\n}\n// Ermittlung Steuersatz für gegebene Kombination aus Betrag für Erwerb und Steuerklasse\nfunction ermittleSteuersatz(inputErwerb, inputSteuerklasse) {\n // Prüfung Parameter\n if (inputErwerb < 0) {\n throw Error(exports.errorMsgUngueltigerSteuerbetrag);\n }\n // Die eigentliche Logik für den Lookup wurde der Lesbarkeit in eine separate Funktion ausgelagert\n return lookupSteuersatz({\n erwerb: inputErwerb,\n steuerklasse: inputSteuerklasse\n });\n}\n// Ermittlung Steuersatz für gegebene Kombination aus Betrag für Erwerb und Steuerklasse\n// (für letztvorhergehende Wertgrenze)\nfunction ermittleSteuersatzUndWertgrenzeVorhergehend(inputErwerb, inputSteuerklasse) {\n // Prüfung Parameter\n if (inputErwerb < 0) {\n throw Error(exports.errorMsgUngueltigerSteuerbetrag);\n }\n // Die eigentliche Logik für den Lookup wurde der Lesbarkeit in eine separate Funktion ausgelagert\n return lookupSteuersatzUndWertgrenzeVorhergehend({\n erwerb: inputErwerb,\n steuerklasse: inputSteuerklasse\n });\n}\n/*\n————————————————————————————————————————————————————————————————————————————————\nInterne Funktionen\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Ermittlung Steuersatz (ErbStg § 19 Abs. 1)\n// Logik: Rausfiltern aller kleineren Wertgrenzen, die überschritten wurden.\n// Danach wird der (gemäß Sortierung) erste verbleibende Eintrag als der\n// passende (d.h. zu ermittelnde) verwendet.\nfunction lookupSteuersatz(kenngroessen) {\n // Schritt 1: Filtern der Zeilen mit den Grenzbeträgen, die die Schenkungshöhe überschreiten\n // Resultat: Nur noch Einträge mit übereinstimmender Steuerklasse\n // (Kriterium wird daher später auch nicht mehr betrachtet)\n const tabellenEintraege = exports.TabelleSteuersaetze.filter(element => {\n return kenngroessen.erwerb <= element.key.erwerb && kenngroessen.steuerklasse === element.key.steuerklasse;\n });\n // Schritt 2: Erstes Element der verbliebenden Einträge (Index 0) liefert den gesuchten Steuersatz\n // Zur Sicherheit: Tabelle wird (falls weiter oben im Rahmen der Definition versehentlich\n // nicht passiert) vorher nummerisch sortiert anhand der Erwerbsgrenzen.\n tabellenEintraege.sort((a, b) => {\n return a.key.erwerb - b.key.erwerb;\n });\n const tabellenEintrag = tabellenEintraege[0];\n if (tabellenEintrag === undefined) {\n throw Error(exports.errorMsgKeinSteuersatz);\n }\n return tabellenEintrag.steuersatz;\n}\n// Ermittlung Steuersatz sowie Wertgrenze für letztvorhergehende Wertgrenze (ErbStg § 19 Abs. 3)\n// Logik: Rausfiltern aller größeren Wertgrenzen, die nicht erreicht werden.\n// Danach wird der (gemäß Sortierung) letzte verbleibende Eintrag als der\n// passende (d.h. zu ermittelnde) verwendet.\nfunction lookupSteuersatzUndWertgrenzeVorhergehend(kenngroessen) {\n // Schritt 1: Filtern der Zeilen mit den Grenzbeträgen, die die Schenkungshöhe *nicht* überschreiten\n // Resultat: Nur noch Einträge mit übereinstimmender Steuerklasse\n // (Kriterium wird daher später auch nicht mehr betrachtet)\n // Hinweis: Es wird auf \">=\" statt nur \">\" (was einer Umkehrung des Vergleichs in der vorherigen Funktion\n // entspräche) gefiltert, weil der \"=\"-Fall in beiden Fällen übereinstimmt und so bei den\n // Grenzwerten im Array \"TabelleSteuersaetze\" für die Suche nach der letztvorhergehenden\n // Wertgrenze der intuitivere Wert \"0\" statt \"-1\" verwendet werden kann.\n const tabellenEintraege = exports.TabelleSteuersaetze.filter(element => {\n return kenngroessen.erwerb >= element.key.erwerb && kenngroessen.steuerklasse === element.key.steuerklasse;\n });\n // Schritt 2: Letztes Element der verbliebenden Einträge liefert den gesuchten Steuersatz,\n // durch vorherige *absteigende* nummerische Sortierung anhand der Erwerbsgrenzen\n // wird aus dem oben erwähnten letzten Element das *erste* Element (Index 0)\n tabellenEintraege.sort((a, b) => {\n return b.key.erwerb - a.key.erwerb;\n });\n const tabellenEintrag = tabellenEintraege[0];\n if (tabellenEintrag === undefined) {\n throw Error(exports.errorMsgKeinSteuersatz);\n }\n return {\n steuersatz: tabellenEintrag.steuersatz,\n wertgrenze: tabellenEintrag.key.erwerb\n };\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.errorMsgKeineVervielfaeltigerFuerJahr = exports.errorMsgUngueltigesAlter = exports.errorMsgUngueltigesGeschlecht = exports.errorMsgUngueltigesJahr = exports.errorMsgKeineQuelle = void 0;\nexports.listeJahreszahlenVervielfaeltiger = listeJahreszahlenVervielfaeltiger;\nexports.ermittleVerwendetesJahr = ermittleVerwendetesJahr;\nexports.ermittleVerwendetesJahrZusatzdaten = ermittleVerwendetesJahrZusatzdaten;\nexports.ermittleVervielfaeltiger = ermittleVervielfaeltiger;\nconst rechner_1 = require(\"./rechner\");\n// Hinweis zu den Vervielfältiger-Daten:\n// Es sollten immer mindestens die Vervielfältiger-Werte der Jahre 2020 und 2021 vorhanden\n// sein, weil sich die diversen Testfälle auf diese Werte beziehen. Neue Werte für weitere\n// Jahre (2022 und später) können nach Bedarf ergänzt werden: entweder kumulativ (d.h. ohne\n// Löschung alter Jahresscheiben) oder individuell (durch Ersetzung bzw. Entfernung nicht\n// mehr relevanter Jahresscheiben).\n// Die (aufwändigere, aber platzsparendere Alternative) ist die Beibehaltung nur einer oder\n// zweier aktueller Jahresscheiben, dann müssen aber die betroffenen Testfälle allesamt\n// entsprechend angepasst werden hinsichtlich der Jahreszahl und der erwarteten Resultate.\n/*\n————————————————————————————————————————————————————————————————————————————————\nInterne Definitionen\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Fehlermeldungen\nconst errorMsgKeinVervielfaeltiger = 'Kein Vervielfältiger definiert';\n// Definition Tabelle mit Quellenangaben zu Vervielfältiger-Werten\nconst TabelleVervielfaeltigerQuellen = [{\n jahr: 2020,\n typ: 'BMF-Schreiben',\n titel: 'Bewertung einer lebenslänglichen Nutzung oder Leistung für Stichtage ab 1.1.2020',\n aktenplanzeichen: 'IV C 7 - S 3104/19/10001 :003',\n datum: '02.12.2019',\n url: 'https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Erbschaft_Schenkungsteuerrecht/' + '2019-12-02-bewertung-eine-lebenslaenglichen-nutzung-oder-leistung-fuer-stichtage-ab-1-1-2020.html'\n}, {\n jahr: 2021,\n typ: 'BMF-Schreiben',\n titel: 'Bewertung einer lebenslänglichen Nutzung oder Leistung für Stichtage ab 1.1.2021',\n aktenplanzeichen: 'IV C 7 - S 3104/19/10001 :005',\n datum: '28.10.2020',\n url: 'https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Erbschaft_Schenkungsteuerrecht/' + '2020-10-28-bewertung-einer-lebenslaenglichen-nutzung-oder-leistung-stichtage-ab-1-1-2021.html'\n}, {\n jahr: 2022,\n typ: 'BMF-Schreiben',\n titel: 'Bewertung einer lebenslänglichen Nutzung oder Leistung für Stichtage ab 1.1.2022',\n aktenplanzeichen: 'IV C 7 - S 3104/19/10001 :006',\n datum: '04.10.2021',\n url: 'https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Erbschaft_Schenkungsteuerrecht/' + '2021-10-04-bewertung-einer-lebenslaenglichen-nutzung-oder-leistung-stichtage-ab-1-1-2022.html'\n}, {\n jahr: 2023,\n typ: 'BMF-Schreiben',\n titel: 'Bewertung einer lebenslänglichen Nutzung oder Leistung für Stichtage ab 1.1.2023',\n aktenplanzeichen: 'IV C 7 - S 3104/19/10001 :008',\n datum: '14.11.2022',\n url: 'https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Erbschaft_Schenkungsteuerrecht/' + '2022-11-14-bewertung-einer-lebenslaenglichen-nutzung-oder-leistung-stichtage-ab-1-1-2023.html'\n}, {\n jahr: 2024,\n typ: 'BMF-Schreiben',\n titel: 'Berechnung einer lebenslänglichen Nutzung oder Leistung; Vervielfältiger für Bewertungsstichtage ab 1.Januar 2024',\n aktenplanzeichen: 'IV D 4 - S 3104/19/10001 :009',\n datum: '01.12.2023',\n url: 'https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Erbschaft_Schenkungsteuerrecht/' + '2023-12-01-bewertung-einer-lebenslaenglichen-nutzung-oder-leistung-stichtage-ab-1-1-2024.html'\n}, {\n jahr: 2025,\n typ: 'BMF-Schreiben',\n titel: 'Bewertung einer lebenslänglichen Nutzung oder Leistung; Vervielfältiger für Bewertungsstichtage ab 1. Januar 2025',\n aktenplanzeichen: 'V D 4 - S 3104/19/10001 :010',\n datum: '09.12.2024',\n url: 'https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Steuerarten/Erbschaft_Schenkungsteuerrecht/' + '2024-12-09-bewert-lebensl-nutzung-leistung-1-1-25.html'\n}];\n// Definition einer statischen Tabelle mit den Vervielfältiger-Werten\nconst TabelleVervielfaeltiger = [{\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 0\n },\n vervielfaeltiger: 18.402\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 1\n },\n vervielfaeltiger: 18.391\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 2\n },\n vervielfaeltiger: 18.376\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 3\n },\n vervielfaeltiger: 18.359\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 4\n },\n vervielfaeltiger: 18.341\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 5\n },\n vervielfaeltiger: 18.323\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 6\n },\n vervielfaeltiger: 18.303\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 7\n },\n vervielfaeltiger: 18.282\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 8\n },\n vervielfaeltiger: 18.261\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 9\n },\n vervielfaeltiger: 18.238\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 10\n },\n vervielfaeltiger: 18.213\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 11\n },\n vervielfaeltiger: 18.188\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 12\n },\n vervielfaeltiger: 18.161\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 13\n },\n vervielfaeltiger: 18.132\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 14\n },\n vervielfaeltiger: 18.102\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 15\n },\n vervielfaeltiger: 18.07\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 16\n },\n vervielfaeltiger: 18.037\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 17\n },\n vervielfaeltiger: 18.002\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 18\n },\n vervielfaeltiger: 17.965\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 19\n },\n vervielfaeltiger: 17.927\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 20\n },\n vervielfaeltiger: 17.887\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 21\n },\n vervielfaeltiger: 17.844\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 22\n },\n vervielfaeltiger: 17.799\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 23\n },\n vervielfaeltiger: 17.752\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 24\n },\n vervielfaeltiger: 17.702\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 25\n },\n vervielfaeltiger: 17.649\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 26\n },\n vervielfaeltiger: 17.594\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 27\n },\n vervielfaeltiger: 17.536\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 28\n },\n vervielfaeltiger: 17.474\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 29\n },\n vervielfaeltiger: 17.409\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 30\n },\n vervielfaeltiger: 17.342\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 31\n },\n vervielfaeltiger: 17.269\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 32\n },\n vervielfaeltiger: 17.194\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 33\n },\n vervielfaeltiger: 17.115\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 34\n },\n vervielfaeltiger: 17.032\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 35\n },\n vervielfaeltiger: 16.944\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 36\n },\n vervielfaeltiger: 16.852\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 37\n },\n vervielfaeltiger: 16.755\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 38\n },\n vervielfaeltiger: 16.653\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 39\n },\n vervielfaeltiger: 16.548\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 40\n },\n vervielfaeltiger: 16.435\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 41\n },\n vervielfaeltiger: 16.318\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 42\n },\n vervielfaeltiger: 16.194\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 43\n },\n vervielfaeltiger: 16.065\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 44\n },\n vervielfaeltiger: 15.93\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 45\n },\n vervielfaeltiger: 15.788\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 46\n },\n vervielfaeltiger: 15.64\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 47\n },\n vervielfaeltiger: 15.485\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 48\n },\n vervielfaeltiger: 15.323\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 49\n },\n vervielfaeltiger: 15.153\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 50\n },\n vervielfaeltiger: 14.979\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 51\n },\n vervielfaeltiger: 14.797\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 52\n },\n vervielfaeltiger: 14.605\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 53\n },\n vervielfaeltiger: 14.408\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 54\n },\n vervielfaeltiger: 14.204\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 55\n },\n vervielfaeltiger: 13.993\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 56\n },\n vervielfaeltiger: 13.775\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 57\n },\n vervielfaeltiger: 13.549\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 58\n },\n vervielfaeltiger: 13.316\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 59\n },\n vervielfaeltiger: 13.078\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 60\n },\n vervielfaeltiger: 12.833\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 61\n },\n vervielfaeltiger: 12.58\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 62\n },\n vervielfaeltiger: 12.32\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 63\n },\n vervielfaeltiger: 12.056\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 64\n },\n vervielfaeltiger: 11.784\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 65\n },\n vervielfaeltiger: 11.506\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 66\n },\n vervielfaeltiger: 11.22\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 67\n },\n vervielfaeltiger: 10.926\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 68\n },\n vervielfaeltiger: 10.626\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 69\n },\n vervielfaeltiger: 10.318\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 70\n },\n vervielfaeltiger: 10.008\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 71\n },\n vervielfaeltiger: 9.682\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 72\n },\n vervielfaeltiger: 9.353\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 73\n },\n vervielfaeltiger: 9.017\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 74\n },\n vervielfaeltiger: 8.675\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 75\n },\n vervielfaeltiger: 8.326\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 76\n },\n vervielfaeltiger: 7.965\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 77\n },\n vervielfaeltiger: 7.603\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 78\n },\n vervielfaeltiger: 7.242\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 79\n },\n vervielfaeltiger: 6.875\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 80\n },\n vervielfaeltiger: 6.509\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 81\n },\n vervielfaeltiger: 6.138\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 82\n },\n vervielfaeltiger: 5.784\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 83\n },\n vervielfaeltiger: 5.441\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 84\n },\n vervielfaeltiger: 5.097\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 85\n },\n vervielfaeltiger: 4.773\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 86\n },\n vervielfaeltiger: 4.456\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 87\n },\n vervielfaeltiger: 4.156\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 88\n },\n vervielfaeltiger: 3.874\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 89\n },\n vervielfaeltiger: 3.61\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 90\n },\n vervielfaeltiger: 3.366\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 91\n },\n vervielfaeltiger: 3.126\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 92\n },\n vervielfaeltiger: 2.899\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 93\n },\n vervielfaeltiger: 2.704\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 94\n },\n vervielfaeltiger: 2.506\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 95\n },\n vervielfaeltiger: 2.349\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 96\n },\n vervielfaeltiger: 2.191\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 97\n },\n vervielfaeltiger: 2.067\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 98\n },\n vervielfaeltiger: 1.942\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 99\n },\n vervielfaeltiger: 1.834\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Mann',\n alter: 100\n },\n vervielfaeltiger: 1.735\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 0\n },\n vervielfaeltiger: 18.465\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 1\n },\n vervielfaeltiger: 18.457\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 2\n },\n vervielfaeltiger: 18.444\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 3\n },\n vervielfaeltiger: 18.432\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 4\n },\n vervielfaeltiger: 18.418\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 5\n },\n vervielfaeltiger: 18.403\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 6\n },\n vervielfaeltiger: 18.388\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 7\n },\n vervielfaeltiger: 18.372\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 8\n },\n vervielfaeltiger: 18.355\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 9\n },\n vervielfaeltiger: 18.337\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 10\n },\n vervielfaeltiger: 18.319\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 11\n },\n vervielfaeltiger: 18.299\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 12\n },\n vervielfaeltiger: 18.278\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 13\n },\n vervielfaeltiger: 18.256\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 14\n },\n vervielfaeltiger: 18.232\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 15\n },\n vervielfaeltiger: 18.208\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 16\n },\n vervielfaeltiger: 18.182\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 17\n },\n vervielfaeltiger: 18.155\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 18\n },\n vervielfaeltiger: 18.126\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 19\n },\n vervielfaeltiger: 18.096\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 20\n },\n vervielfaeltiger: 18.064\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 21\n },\n vervielfaeltiger: 18.03\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 22\n },\n vervielfaeltiger: 17.995\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 23\n },\n vervielfaeltiger: 17.957\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 24\n },\n vervielfaeltiger: 17.918\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 25\n },\n vervielfaeltiger: 17.876\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 26\n },\n vervielfaeltiger: 17.833\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 27\n },\n vervielfaeltiger: 17.787\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 28\n },\n vervielfaeltiger: 17.738\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 29\n },\n vervielfaeltiger: 17.687\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 30\n },\n vervielfaeltiger: 17.633\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 31\n },\n vervielfaeltiger: 17.576\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 32\n },\n vervielfaeltiger: 17.516\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 33\n },\n vervielfaeltiger: 17.454\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 34\n },\n vervielfaeltiger: 17.387\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 35\n },\n vervielfaeltiger: 17.317\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 36\n },\n vervielfaeltiger: 17.243\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 37\n },\n vervielfaeltiger: 17.167\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 38\n },\n vervielfaeltiger: 17.085\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 39\n },\n vervielfaeltiger: 16.999\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 40\n },\n vervielfaeltiger: 16.909\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 41\n },\n vervielfaeltiger: 16.815\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 42\n },\n vervielfaeltiger: 16.716\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 43\n },\n vervielfaeltiger: 16.612\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 44\n },\n vervielfaeltiger: 16.501\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 45\n },\n vervielfaeltiger: 16.386\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 46\n },\n vervielfaeltiger: 16.267\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 47\n },\n vervielfaeltiger: 16.139\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 48\n },\n vervielfaeltiger: 16.007\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 49\n },\n vervielfaeltiger: 15.869\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 50\n },\n vervielfaeltiger: 15.723\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 51\n },\n vervielfaeltiger: 15.571\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 52\n },\n vervielfaeltiger: 15.412\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 53\n },\n vervielfaeltiger: 15.247\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 54\n },\n vervielfaeltiger: 15.073\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 55\n },\n vervielfaeltiger: 14.893\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 56\n },\n vervielfaeltiger: 14.704\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 57\n },\n vervielfaeltiger: 14.508\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 58\n },\n vervielfaeltiger: 14.304\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 59\n },\n vervielfaeltiger: 14.093\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 60\n },\n vervielfaeltiger: 13.871\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 61\n },\n vervielfaeltiger: 13.642\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 62\n },\n vervielfaeltiger: 13.404\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 63\n },\n vervielfaeltiger: 13.156\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 64\n },\n vervielfaeltiger: 12.898\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 65\n },\n vervielfaeltiger: 12.632\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 66\n },\n vervielfaeltiger: 12.357\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 67\n },\n vervielfaeltiger: 12.07\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 68\n },\n vervielfaeltiger: 11.773\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 69\n },\n vervielfaeltiger: 11.471\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 70\n },\n vervielfaeltiger: 11.155\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 71\n },\n vervielfaeltiger: 10.83\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 72\n },\n vervielfaeltiger: 10.495\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 73\n },\n vervielfaeltiger: 10.146\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 74\n },\n vervielfaeltiger: 9.792\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 75\n },\n vervielfaeltiger: 9.422\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 76\n },\n vervielfaeltiger: 9.043\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 77\n },\n vervielfaeltiger: 8.654\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 78\n },\n vervielfaeltiger: 8.254\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 79\n },\n vervielfaeltiger: 7.85\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 80\n },\n vervielfaeltiger: 7.448\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 81\n },\n vervielfaeltiger: 7.044\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 82\n },\n vervielfaeltiger: 6.645\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 83\n },\n vervielfaeltiger: 6.252\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 84\n },\n vervielfaeltiger: 5.867\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 85\n },\n vervielfaeltiger: 5.484\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 86\n },\n vervielfaeltiger: 5.118\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 87\n },\n vervielfaeltiger: 4.773\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 88\n },\n vervielfaeltiger: 4.434\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 89\n },\n vervielfaeltiger: 4.117\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 90\n },\n vervielfaeltiger: 3.818\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 91\n },\n vervielfaeltiger: 3.537\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 92\n },\n vervielfaeltiger: 3.283\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 93\n },\n vervielfaeltiger: 3.051\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 94\n },\n vervielfaeltiger: 2.84\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 95\n },\n vervielfaeltiger: 2.644\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 96\n },\n vervielfaeltiger: 2.462\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 97\n },\n vervielfaeltiger: 2.34\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 98\n },\n vervielfaeltiger: 2.209\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 99\n },\n vervielfaeltiger: 2.076\n}, {\n key: {\n jahr: 2020,\n geschlecht: 'Frau',\n alter: 100\n },\n vervielfaeltiger: 1.951\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 0\n },\n vervielfaeltiger: 18.404\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 1\n },\n vervielfaeltiger: 18.393\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 2\n },\n vervielfaeltiger: 18.378\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 3\n },\n vervielfaeltiger: 18.361\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 4\n },\n vervielfaeltiger: 18.344\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 5\n },\n vervielfaeltiger: 18.325\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 6\n },\n vervielfaeltiger: 18.306\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 7\n },\n vervielfaeltiger: 18.285\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 8\n },\n vervielfaeltiger: 18.264\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 9\n },\n vervielfaeltiger: 18.241\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 10\n },\n vervielfaeltiger: 18.217\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 11\n },\n vervielfaeltiger: 18.191\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 12\n },\n vervielfaeltiger: 18.165\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 13\n },\n vervielfaeltiger: 18.136\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 14\n },\n vervielfaeltiger: 18.106\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 15\n },\n vervielfaeltiger: 18.075\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 16\n },\n vervielfaeltiger: 18.042\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 17\n },\n vervielfaeltiger: 18.007\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 18\n },\n vervielfaeltiger: 17.971\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 19\n },\n vervielfaeltiger: 17.933\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 20\n },\n vervielfaeltiger: 17.893\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 21\n },\n vervielfaeltiger: 17.85\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 22\n },\n vervielfaeltiger: 17.806\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 23\n },\n vervielfaeltiger: 17.759\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 24\n },\n vervielfaeltiger: 17.709\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 25\n },\n vervielfaeltiger: 17.657\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 26\n },\n vervielfaeltiger: 17.602\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 27\n },\n vervielfaeltiger: 17.544\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 28\n },\n vervielfaeltiger: 17.483\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 29\n },\n vervielfaeltiger: 17.418\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 30\n },\n vervielfaeltiger: 17.351\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 31\n },\n vervielfaeltiger: 17.279\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 32\n },\n vervielfaeltiger: 17.204\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 33\n },\n vervielfaeltiger: 17.126\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 34\n },\n vervielfaeltiger: 17.044\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 35\n },\n vervielfaeltiger: 16.956\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 36\n },\n vervielfaeltiger: 16.864\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 37\n },\n vervielfaeltiger: 16.768\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 38\n },\n vervielfaeltiger: 16.668\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 39\n },\n vervielfaeltiger: 16.561\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 40\n },\n vervielfaeltiger: 16.451\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 41\n },\n vervielfaeltiger: 16.333\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 42\n },\n vervielfaeltiger: 16.212\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 43\n },\n vervielfaeltiger: 16.083\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 44\n },\n vervielfaeltiger: 15.949\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 45\n },\n vervielfaeltiger: 15.808\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 46\n },\n vervielfaeltiger: 15.659\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 47\n },\n vervielfaeltiger: 15.505\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 48\n },\n vervielfaeltiger: 15.345\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 49\n },\n vervielfaeltiger: 15.176\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 50\n },\n vervielfaeltiger: 15.001\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 51\n },\n vervielfaeltiger: 14.819\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 52\n },\n vervielfaeltiger: 14.629\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 53\n },\n vervielfaeltiger: 14.433\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 54\n },\n vervielfaeltiger: 14.228\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 55\n },\n vervielfaeltiger: 14.018\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 56\n },\n vervielfaeltiger: 13.799\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 57\n },\n vervielfaeltiger: 13.574\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 58\n },\n vervielfaeltiger: 13.342\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 59\n },\n vervielfaeltiger: 13.102\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 60\n },\n vervielfaeltiger: 12.858\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 61\n },\n vervielfaeltiger: 12.606\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 62\n },\n vervielfaeltiger: 12.347\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 63\n },\n vervielfaeltiger: 12.081\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 64\n },\n vervielfaeltiger: 11.81\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 65\n },\n vervielfaeltiger: 11.532\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 66\n },\n vervielfaeltiger: 11.247\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 67\n },\n vervielfaeltiger: 10.955\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 68\n },\n vervielfaeltiger: 10.656\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 69\n },\n vervielfaeltiger: 10.354\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 70\n },\n vervielfaeltiger: 10.04\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 71\n },\n vervielfaeltiger: 9.72\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 72\n },\n vervielfaeltiger: 9.393\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 73\n },\n vervielfaeltiger: 9.059\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 74\n },\n vervielfaeltiger: 8.712\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 75\n },\n vervielfaeltiger: 8.37\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 76\n },\n vervielfaeltiger: 8.017\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 77\n },\n vervielfaeltiger: 7.657\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 78\n },\n vervielfaeltiger: 7.291\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 79\n },\n vervielfaeltiger: 6.925\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 80\n },\n vervielfaeltiger: 6.561\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 81\n },\n vervielfaeltiger: 6.192\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 82\n },\n vervielfaeltiger: 5.832\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 83\n },\n vervielfaeltiger: 5.484\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 84\n },\n vervielfaeltiger: 5.133\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 85\n },\n vervielfaeltiger: 4.803\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 86\n },\n vervielfaeltiger: 4.487\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 87\n },\n vervielfaeltiger: 4.18\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 88\n },\n vervielfaeltiger: 3.889\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 89\n },\n vervielfaeltiger: 3.626\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 90\n },\n vervielfaeltiger: 3.374\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 91\n },\n vervielfaeltiger: 3.143\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 92\n },\n vervielfaeltiger: 2.916\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 93\n },\n vervielfaeltiger: 2.712\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 94\n },\n vervielfaeltiger: 2.532\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 95\n },\n vervielfaeltiger: 2.358\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 96\n },\n vervielfaeltiger: 2.2\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 97\n },\n vervielfaeltiger: 2.067\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 98\n },\n vervielfaeltiger: 1.96\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 99\n },\n vervielfaeltiger: 1.843\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Mann',\n alter: 100\n },\n vervielfaeltiger: 1.744\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 0\n },\n vervielfaeltiger: 18.466\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 1\n },\n vervielfaeltiger: 18.458\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 2\n },\n vervielfaeltiger: 18.445\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 3\n },\n vervielfaeltiger: 18.433\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 4\n },\n vervielfaeltiger: 18.419\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 5\n },\n vervielfaeltiger: 18.405\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 6\n },\n vervielfaeltiger: 18.389\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 7\n },\n vervielfaeltiger: 18.374\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 8\n },\n vervielfaeltiger: 18.357\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 9\n },\n vervielfaeltiger: 18.339\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 10\n },\n vervielfaeltiger: 18.32\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 11\n },\n vervielfaeltiger: 18.3\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 12\n },\n vervielfaeltiger: 18.279\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 13\n },\n vervielfaeltiger: 18.257\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 14\n },\n vervielfaeltiger: 18.234\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 15\n },\n vervielfaeltiger: 18.21\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 16\n },\n vervielfaeltiger: 18.184\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 17\n },\n vervielfaeltiger: 18.157\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 18\n },\n vervielfaeltiger: 18.128\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 19\n },\n vervielfaeltiger: 18.098\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 20\n },\n vervielfaeltiger: 18.067\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 21\n },\n vervielfaeltiger: 18.033\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 22\n },\n vervielfaeltiger: 17.998\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 23\n },\n vervielfaeltiger: 17.96\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 24\n },\n vervielfaeltiger: 17.921\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 25\n },\n vervielfaeltiger: 17.88\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 26\n },\n vervielfaeltiger: 17.837\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 27\n },\n vervielfaeltiger: 17.791\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 28\n },\n vervielfaeltiger: 17.742\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 29\n },\n vervielfaeltiger: 17.691\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 30\n },\n vervielfaeltiger: 17.637\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 31\n },\n vervielfaeltiger: 17.581\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 32\n },\n vervielfaeltiger: 17.521\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 33\n },\n vervielfaeltiger: 17.458\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 34\n },\n vervielfaeltiger: 17.392\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 35\n },\n vervielfaeltiger: 17.323\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 36\n },\n vervielfaeltiger: 17.25\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 37\n },\n vervielfaeltiger: 17.173\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 38\n },\n vervielfaeltiger: 17.092\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 39\n },\n vervielfaeltiger: 17.007\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 40\n },\n vervielfaeltiger: 16.917\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 41\n },\n vervielfaeltiger: 16.823\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 42\n },\n vervielfaeltiger: 16.724\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 43\n },\n vervielfaeltiger: 16.62\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 44\n },\n vervielfaeltiger: 16.511\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 45\n },\n vervielfaeltiger: 16.396\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 46\n },\n vervielfaeltiger: 16.276\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 47\n },\n vervielfaeltiger: 16.15\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 48\n },\n vervielfaeltiger: 16.018\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 49\n },\n vervielfaeltiger: 15.879\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 50\n },\n vervielfaeltiger: 15.734\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 51\n },\n vervielfaeltiger: 15.582\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 52\n },\n vervielfaeltiger: 15.424\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 53\n },\n vervielfaeltiger: 15.26\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 54\n },\n vervielfaeltiger: 15.087\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 55\n },\n vervielfaeltiger: 14.905\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 56\n },\n vervielfaeltiger: 14.717\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 57\n },\n vervielfaeltiger: 14.521\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 58\n },\n vervielfaeltiger: 14.318\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 59\n },\n vervielfaeltiger: 14.105\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 60\n },\n vervielfaeltiger: 13.884\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 61\n },\n vervielfaeltiger: 13.655\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 62\n },\n vervielfaeltiger: 13.418\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 63\n },\n vervielfaeltiger: 13.17\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 64\n },\n vervielfaeltiger: 12.914\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 65\n },\n vervielfaeltiger: 12.648\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 66\n },\n vervielfaeltiger: 12.374\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 67\n },\n vervielfaeltiger: 12.088\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 68\n },\n vervielfaeltiger: 11.792\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 69\n },\n vervielfaeltiger: 11.486\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 70\n },\n vervielfaeltiger: 11.171\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 71\n },\n vervielfaeltiger: 10.851\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 72\n },\n vervielfaeltiger: 10.513\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 73\n },\n vervielfaeltiger: 10.169\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 74\n },\n vervielfaeltiger: 9.815\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 75\n },\n vervielfaeltiger: 9.452\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 76\n },\n vervielfaeltiger: 9.074\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 77\n },\n vervielfaeltiger: 8.691\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 78\n },\n vervielfaeltiger: 8.293\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 79\n },\n vervielfaeltiger: 7.89\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 80\n },\n vervielfaeltiger: 7.484\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 81\n },\n vervielfaeltiger: 7.075\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 82\n },\n vervielfaeltiger: 6.677\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 83\n },\n vervielfaeltiger: 6.279\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 84\n },\n vervielfaeltiger: 5.887\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 85\n },\n vervielfaeltiger: 5.505\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 86\n },\n vervielfaeltiger: 5.14\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 87\n },\n vervielfaeltiger: 4.788\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 88\n },\n vervielfaeltiger: 4.449\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 89\n },\n vervielfaeltiger: 4.133\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 90\n },\n vervielfaeltiger: 3.826\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 91\n },\n vervielfaeltiger: 3.545\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 92\n },\n vervielfaeltiger: 3.292\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 93\n },\n vervielfaeltiger: 3.059\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 94\n },\n vervielfaeltiger: 2.849\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 95\n },\n vervielfaeltiger: 2.652\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 96\n },\n vervielfaeltiger: 2.48\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 97\n },\n vervielfaeltiger: 2.332\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 98\n },\n vervielfaeltiger: 2.191\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 99\n },\n vervielfaeltiger: 2.058\n}, {\n key: {\n jahr: 2021,\n geschlecht: 'Frau',\n alter: 100\n },\n vervielfaeltiger: 1.933\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 0\n },\n vervielfaeltiger: 18.405\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 1\n },\n vervielfaeltiger: 18.393\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 2\n },\n vervielfaeltiger: 18.378\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 3\n },\n vervielfaeltiger: 18.361\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 4\n },\n vervielfaeltiger: 18.344\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 5\n },\n vervielfaeltiger: 18.325\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 6\n },\n vervielfaeltiger: 18.306\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 7\n },\n vervielfaeltiger: 18.285\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 8\n },\n vervielfaeltiger: 18.264\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 9\n },\n vervielfaeltiger: 18.241\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 10\n },\n vervielfaeltiger: 18.217\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 11\n },\n vervielfaeltiger: 18.191\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 12\n },\n vervielfaeltiger: 18.165\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 13\n },\n vervielfaeltiger: 18.136\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 14\n },\n vervielfaeltiger: 18.106\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 15\n },\n vervielfaeltiger: 18.075\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 16\n },\n vervielfaeltiger: 18.042\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 17\n },\n vervielfaeltiger: 18.007\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 18\n },\n vervielfaeltiger: 17.971\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 19\n },\n vervielfaeltiger: 17.933\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 20\n },\n vervielfaeltiger: 17.893\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 21\n },\n vervielfaeltiger: 17.85\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 22\n },\n vervielfaeltiger: 17.805\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 23\n },\n vervielfaeltiger: 17.759\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 24\n },\n vervielfaeltiger: 17.709\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 25\n },\n vervielfaeltiger: 17.657\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 26\n },\n vervielfaeltiger: 17.602\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 27\n },\n vervielfaeltiger: 17.544\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 28\n },\n vervielfaeltiger: 17.483\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 29\n },\n vervielfaeltiger: 17.418\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 30\n },\n vervielfaeltiger: 17.35\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 31\n },\n vervielfaeltiger: 17.279\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 32\n },\n vervielfaeltiger: 17.204\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 33\n },\n vervielfaeltiger: 17.126\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 34\n },\n vervielfaeltiger: 17.043\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 35\n },\n vervielfaeltiger: 16.955\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 36\n },\n vervielfaeltiger: 16.863\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 37\n },\n vervielfaeltiger: 16.767\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 38\n },\n vervielfaeltiger: 16.666\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 39\n },\n vervielfaeltiger: 16.561\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 40\n },\n vervielfaeltiger: 16.449\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 41\n },\n vervielfaeltiger: 16.333\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 42\n },\n vervielfaeltiger: 16.212\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 43\n },\n vervielfaeltiger: 16.083\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 44\n },\n vervielfaeltiger: 15.949\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 45\n },\n vervielfaeltiger: 15.808\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 46\n },\n vervielfaeltiger: 15.659\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 47\n },\n vervielfaeltiger: 15.505\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 48\n },\n vervielfaeltiger: 15.345\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 49\n },\n vervielfaeltiger: 15.176\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 50\n },\n vervielfaeltiger: 15.001\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 51\n },\n vervielfaeltiger: 14.819\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 52\n },\n vervielfaeltiger: 14.629\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 53\n },\n vervielfaeltiger: 14.433\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 54\n },\n vervielfaeltiger: 14.228\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 55\n },\n vervielfaeltiger: 14.016\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 56\n },\n vervielfaeltiger: 13.799\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 57\n },\n vervielfaeltiger: 13.571\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 58\n },\n vervielfaeltiger: 13.339\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 59\n },\n vervielfaeltiger: 13.099\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 60\n },\n vervielfaeltiger: 12.852\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 61\n },\n vervielfaeltiger: 12.6\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 62\n },\n vervielfaeltiger: 12.34\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 63\n },\n vervielfaeltiger: 12.074\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 64\n },\n vervielfaeltiger: 11.803\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 65\n },\n vervielfaeltiger: 11.525\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 66\n },\n vervielfaeltiger: 11.239\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 67\n },\n vervielfaeltiger: 10.951\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 68\n },\n vervielfaeltiger: 10.652\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 69\n },\n vervielfaeltiger: 10.349\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 70\n },\n vervielfaeltiger: 10.036\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 71\n },\n vervielfaeltiger: 9.715\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 72\n },\n vervielfaeltiger: 9.393\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 73\n },\n vervielfaeltiger: 9.059\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 74\n },\n vervielfaeltiger: 8.718\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 75\n },\n vervielfaeltiger: 8.37\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 76\n },\n vervielfaeltiger: 8.022\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 77\n },\n vervielfaeltiger: 7.669\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 78\n },\n vervielfaeltiger: 7.303\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 79\n },\n vervielfaeltiger: 6.938\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 80\n },\n vervielfaeltiger: 6.567\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 81\n },\n vervielfaeltiger: 6.205\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 82\n },\n vervielfaeltiger: 5.846\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 83\n },\n vervielfaeltiger: 5.484\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 84\n },\n vervielfaeltiger: 5.14\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 85\n },\n vervielfaeltiger: 4.803\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 86\n },\n vervielfaeltiger: 4.479\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 87\n },\n vervielfaeltiger: 4.172\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 88\n },\n vervielfaeltiger: 3.882\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 89\n },\n vervielfaeltiger: 3.61\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 90\n },\n vervielfaeltiger: 3.366\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 91\n },\n vervielfaeltiger: 3.134\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 92\n },\n vervielfaeltiger: 2.908\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 93\n },\n vervielfaeltiger: 2.712\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 94\n },\n vervielfaeltiger: 2.523\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 95\n },\n vervielfaeltiger: 2.367\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 96\n },\n vervielfaeltiger: 2.226\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 97\n },\n vervielfaeltiger: 2.094\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 98\n },\n vervielfaeltiger: 1.978\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 99\n },\n vervielfaeltiger: 1.852\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Mann',\n alter: 100\n },\n vervielfaeltiger: 1.753\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 0\n },\n vervielfaeltiger: 18.467\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 1\n },\n vervielfaeltiger: 18.458\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 2\n },\n vervielfaeltiger: 18.446\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 3\n },\n vervielfaeltiger: 18.433\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 4\n },\n vervielfaeltiger: 18.42\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 5\n },\n vervielfaeltiger: 18.405\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 6\n },\n vervielfaeltiger: 18.39\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 7\n },\n vervielfaeltiger: 18.374\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 8\n },\n vervielfaeltiger: 18.357\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 9\n },\n vervielfaeltiger: 18.34\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 10\n },\n vervielfaeltiger: 18.321\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 11\n },\n vervielfaeltiger: 18.301\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 12\n },\n vervielfaeltiger: 18.28\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 13\n },\n vervielfaeltiger: 18.258\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 14\n },\n vervielfaeltiger: 18.235\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 15\n },\n vervielfaeltiger: 18.211\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 16\n },\n vervielfaeltiger: 18.185\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 17\n },\n vervielfaeltiger: 18.158\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 18\n },\n vervielfaeltiger: 18.129\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 19\n },\n vervielfaeltiger: 18.099\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 20\n },\n vervielfaeltiger: 18.068\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 21\n },\n vervielfaeltiger: 18.034\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 22\n },\n vervielfaeltiger: 17.999\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 23\n },\n vervielfaeltiger: 17.962\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 24\n },\n vervielfaeltiger: 17.922\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 25\n },\n vervielfaeltiger: 17.881\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 26\n },\n vervielfaeltiger: 17.838\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 27\n },\n vervielfaeltiger: 17.792\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 28\n },\n vervielfaeltiger: 17.744\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 29\n },\n vervielfaeltiger: 17.693\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 30\n },\n vervielfaeltiger: 17.639\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 31\n },\n vervielfaeltiger: 17.582\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 32\n },\n vervielfaeltiger: 17.523\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 33\n },\n vervielfaeltiger: 17.46\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 34\n },\n vervielfaeltiger: 17.394\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 35\n },\n vervielfaeltiger: 17.325\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 36\n },\n vervielfaeltiger: 17.252\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 37\n },\n vervielfaeltiger: 17.176\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 38\n },\n vervielfaeltiger: 17.095\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 39\n },\n vervielfaeltiger: 17.009\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 40\n },\n vervielfaeltiger: 16.92\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 41\n },\n vervielfaeltiger: 16.826\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 42\n },\n vervielfaeltiger: 16.727\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 43\n },\n vervielfaeltiger: 16.624\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 44\n },\n vervielfaeltiger: 16.514\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 45\n },\n vervielfaeltiger: 16.4\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 46\n },\n vervielfaeltiger: 16.28\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 47\n },\n vervielfaeltiger: 16.154\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 48\n },\n vervielfaeltiger: 16.021\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 49\n },\n vervielfaeltiger: 15.884\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 50\n },\n vervielfaeltiger: 15.739\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 51\n },\n vervielfaeltiger: 15.587\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 52\n },\n vervielfaeltiger: 15.429\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 53\n },\n vervielfaeltiger: 15.263\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 54\n },\n vervielfaeltiger: 15.091\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 55\n },\n vervielfaeltiger: 14.909\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 56\n },\n vervielfaeltiger: 14.721\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 57\n },\n vervielfaeltiger: 14.525\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 58\n },\n vervielfaeltiger: 14.32\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 59\n },\n vervielfaeltiger: 14.11\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 60\n },\n vervielfaeltiger: 13.889\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 61\n },\n vervielfaeltiger: 13.658\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 62\n },\n vervielfaeltiger: 13.421\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 63\n },\n vervielfaeltiger: 13.173\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 64\n },\n vervielfaeltiger: 12.917\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 65\n },\n vervielfaeltiger: 12.652\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 66\n },\n vervielfaeltiger: 12.378\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 67\n },\n vervielfaeltiger: 12.095\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 68\n },\n vervielfaeltiger: 11.795\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 69\n },\n vervielfaeltiger: 11.49\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 70\n },\n vervielfaeltiger: 11.175\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 71\n },\n vervielfaeltiger: 10.851\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 72\n },\n vervielfaeltiger: 10.517\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 73\n },\n vervielfaeltiger: 10.174\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 74\n },\n vervielfaeltiger: 9.82\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 75\n },\n vervielfaeltiger: 9.457\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 76\n },\n vervielfaeltiger: 9.084\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 77\n },\n vervielfaeltiger: 8.702\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 78\n },\n vervielfaeltiger: 8.31\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 79\n },\n vervielfaeltiger: 7.908\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 80\n },\n vervielfaeltiger: 7.502\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 81\n },\n vervielfaeltiger: 7.094\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 82\n },\n vervielfaeltiger: 6.69\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 83\n },\n vervielfaeltiger: 6.285\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 84\n },\n vervielfaeltiger: 5.894\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 85\n },\n vervielfaeltiger: 5.512\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 86\n },\n vervielfaeltiger: 5.14\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 87\n },\n vervielfaeltiger: 4.78\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 88\n },\n vervielfaeltiger: 4.449\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 89\n },\n vervielfaeltiger: 4.125\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 90\n },\n vervielfaeltiger: 3.826\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 91\n },\n vervielfaeltiger: 3.545\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 92\n },\n vervielfaeltiger: 3.283\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 93\n },\n vervielfaeltiger: 3.051\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 94\n },\n vervielfaeltiger: 2.84\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 95\n },\n vervielfaeltiger: 2.644\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 96\n },\n vervielfaeltiger: 2.471\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 97\n },\n vervielfaeltiger: 2.323\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 98\n },\n vervielfaeltiger: 2.173\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 99\n },\n vervielfaeltiger: 2.031\n}, {\n key: {\n jahr: 2022,\n geschlecht: 'Frau',\n alter: 100\n },\n vervielfaeltiger: 1.915\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 0\n },\n vervielfaeltiger: 18.403\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 1\n },\n vervielfaeltiger: 18.392\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 2\n },\n vervielfaeltiger: 18.376\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 3\n },\n vervielfaeltiger: 18.359\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 4\n },\n vervielfaeltiger: 18.342\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 5\n },\n vervielfaeltiger: 18.323\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 6\n },\n vervielfaeltiger: 18.304\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 7\n },\n vervielfaeltiger: 18.283\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 8\n },\n vervielfaeltiger: 18.261\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 9\n },\n vervielfaeltiger: 18.238\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 10\n },\n vervielfaeltiger: 18.214\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 11\n },\n vervielfaeltiger: 18.188\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 12\n },\n vervielfaeltiger: 18.161\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 13\n },\n vervielfaeltiger: 18.133\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 14\n },\n vervielfaeltiger: 18.103\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 15\n },\n vervielfaeltiger: 18.071\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 16\n },\n vervielfaeltiger: 18.038\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 17\n },\n vervielfaeltiger: 18.003\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 18\n },\n vervielfaeltiger: 17.967\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 19\n },\n vervielfaeltiger: 17.928\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 20\n },\n vervielfaeltiger: 17.888\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 21\n },\n vervielfaeltiger: 17.845\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 22\n },\n vervielfaeltiger: 17.8\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 23\n },\n vervielfaeltiger: 17.753\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 24\n },\n vervielfaeltiger: 17.703\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 25\n },\n vervielfaeltiger: 17.65\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 26\n },\n vervielfaeltiger: 17.595\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 27\n },\n vervielfaeltiger: 17.537\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 28\n },\n vervielfaeltiger: 17.475\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 29\n },\n vervielfaeltiger: 17.411\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 30\n },\n vervielfaeltiger: 17.342\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 31\n },\n vervielfaeltiger: 17.271\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 32\n },\n vervielfaeltiger: 17.196\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 33\n },\n vervielfaeltiger: 17.116\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 34\n },\n vervielfaeltiger: 17.032\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 35\n },\n vervielfaeltiger: 16.945\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 36\n },\n vervielfaeltiger: 16.853\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 37\n },\n vervielfaeltiger: 16.756\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 38\n },\n vervielfaeltiger: 16.655\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 39\n },\n vervielfaeltiger: 16.549\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 40\n },\n vervielfaeltiger: 16.436\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 41\n },\n vervielfaeltiger: 16.319\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 42\n },\n vervielfaeltiger: 16.197\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 43\n },\n vervielfaeltiger: 16.068\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 44\n },\n vervielfaeltiger: 15.933\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 45\n },\n vervielfaeltiger: 15.791\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 46\n },\n vervielfaeltiger: 15.643\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 47\n },\n vervielfaeltiger: 15.488\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 48\n },\n vervielfaeltiger: 15.327\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 49\n },\n vervielfaeltiger: 15.157\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 50\n },\n vervielfaeltiger: 14.983\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 51\n },\n vervielfaeltiger: 14.801\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 52\n },\n vervielfaeltiger: 14.609\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 53\n },\n vervielfaeltiger: 14.41\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 54\n },\n vervielfaeltiger: 14.207\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 55\n },\n vervielfaeltiger: 13.993\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 56\n },\n vervielfaeltiger: 13.772\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 57\n },\n vervielfaeltiger: 13.546\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 58\n },\n vervielfaeltiger: 13.31\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 59\n },\n vervielfaeltiger: 13.069\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 60\n },\n vervielfaeltiger: 12.824\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 61\n },\n vervielfaeltiger: 12.567\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 62\n },\n vervielfaeltiger: 12.306\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 63\n },\n vervielfaeltiger: 12.042\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 64\n },\n vervielfaeltiger: 11.77\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 65\n },\n vervielfaeltiger: 11.49\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 66\n },\n vervielfaeltiger: 11.208\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 67\n },\n vervielfaeltiger: 10.918\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 68\n },\n vervielfaeltiger: 10.621\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 69\n },\n vervielfaeltiger: 10.318\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 70\n },\n vervielfaeltiger: 10.008\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 71\n },\n vervielfaeltiger: 9.691\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 72\n },\n vervielfaeltiger: 9.368\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 73\n },\n vervielfaeltiger: 9.038\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 74\n },\n vervielfaeltiger: 8.696\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 75\n },\n vervielfaeltiger: 8.354\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 76\n },\n vervielfaeltiger: 8.005\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 77\n },\n vervielfaeltiger: 7.651\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 78\n },\n vervielfaeltiger: 7.297\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 79\n },\n vervielfaeltiger: 6.931\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 80\n },\n vervielfaeltiger: 6.567\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 81\n },\n vervielfaeltiger: 6.199\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 82\n },\n vervielfaeltiger: 5.839\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 83\n },\n vervielfaeltiger: 5.484\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 84\n },\n vervielfaeltiger: 5.133\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 85\n },\n vervielfaeltiger: 4.795\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 86\n },\n vervielfaeltiger: 4.472\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 87\n },\n vervielfaeltiger: 4.164\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 88\n },\n vervielfaeltiger: 3.866\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 89\n },\n vervielfaeltiger: 3.593\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 90\n },\n vervielfaeltiger: 3.333\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 91\n },\n vervielfaeltiger: 3.101\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 92\n },\n vervielfaeltiger: 2.882\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 93\n },\n vervielfaeltiger: 2.687\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 94\n },\n vervielfaeltiger: 2.506\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 95\n },\n vervielfaeltiger: 2.34\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 96\n },\n vervielfaeltiger: 2.191\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 97\n },\n vervielfaeltiger: 2.067\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 98\n },\n vervielfaeltiger: 1.942\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 99\n },\n vervielfaeltiger: 1.834\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Mann',\n alter: 100\n },\n vervielfaeltiger: 1.735\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 0\n },\n vervielfaeltiger: 18.467\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 1\n },\n vervielfaeltiger: 18.458\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 2\n },\n vervielfaeltiger: 18.446\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 3\n },\n vervielfaeltiger: 18.433\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 4\n },\n vervielfaeltiger: 18.419\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 5\n },\n vervielfaeltiger: 18.405\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 6\n },\n vervielfaeltiger: 18.39\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 7\n },\n vervielfaeltiger: 18.374\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 8\n },\n vervielfaeltiger: 18.357\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 9\n },\n vervielfaeltiger: 18.339\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 10\n },\n vervielfaeltiger: 18.32\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 11\n },\n vervielfaeltiger: 18.301\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 12\n },\n vervielfaeltiger: 18.28\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 13\n },\n vervielfaeltiger: 18.258\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 14\n },\n vervielfaeltiger: 18.234\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 15\n },\n vervielfaeltiger: 18.21\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 16\n },\n vervielfaeltiger: 18.184\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 17\n },\n vervielfaeltiger: 18.157\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 18\n },\n vervielfaeltiger: 18.129\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 19\n },\n vervielfaeltiger: 18.099\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 20\n },\n vervielfaeltiger: 18.067\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 21\n },\n vervielfaeltiger: 18.033\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 22\n },\n vervielfaeltiger: 17.998\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 23\n },\n vervielfaeltiger: 17.961\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 24\n },\n vervielfaeltiger: 17.922\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 25\n },\n vervielfaeltiger: 17.88\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 26\n },\n vervielfaeltiger: 17.837\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 27\n },\n vervielfaeltiger: 17.791\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 28\n },\n vervielfaeltiger: 17.742\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 29\n },\n vervielfaeltiger: 17.691\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 30\n },\n vervielfaeltiger: 17.638\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 31\n },\n vervielfaeltiger: 17.581\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 32\n },\n vervielfaeltiger: 17.521\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 33\n },\n vervielfaeltiger: 17.458\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 34\n },\n vervielfaeltiger: 17.392\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 35\n },\n vervielfaeltiger: 17.323\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 36\n },\n vervielfaeltiger: 17.25\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 37\n },\n vervielfaeltiger: 17.173\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 38\n },\n vervielfaeltiger: 17.092\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 39\n },\n vervielfaeltiger: 17.007\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 40\n },\n vervielfaeltiger: 16.917\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 41\n },\n vervielfaeltiger: 16.823\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 42\n },\n vervielfaeltiger: 16.724\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 43\n },\n vervielfaeltiger: 16.621\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 44\n },\n vervielfaeltiger: 16.511\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 45\n },\n vervielfaeltiger: 16.396\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 46\n },\n vervielfaeltiger: 16.276\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 47\n },\n vervielfaeltiger: 16.15\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 48\n },\n vervielfaeltiger: 16.018\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 49\n },\n vervielfaeltiger: 15.879\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 50\n },\n vervielfaeltiger: 15.734\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 51\n },\n vervielfaeltiger: 15.582\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 52\n },\n vervielfaeltiger: 15.424\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 53\n },\n vervielfaeltiger: 15.258\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 54\n },\n vervielfaeltiger: 15.085\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 55\n },\n vervielfaeltiger: 14.903\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 56\n },\n vervielfaeltiger: 14.715\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 57\n },\n vervielfaeltiger: 14.519\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 58\n },\n vervielfaeltiger: 14.313\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 59\n },\n vervielfaeltiger: 14.1\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 60\n },\n vervielfaeltiger: 13.879\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 61\n },\n vervielfaeltiger: 13.65\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 62\n },\n vervielfaeltiger: 13.413\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 63\n },\n vervielfaeltiger: 13.164\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 64\n },\n vervielfaeltiger: 12.908\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 65\n },\n vervielfaeltiger: 12.642\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 66\n },\n vervielfaeltiger: 12.368\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 67\n },\n vervielfaeltiger: 12.081\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 68\n },\n vervielfaeltiger: 11.788\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 69\n },\n vervielfaeltiger: 11.482\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 70\n },\n vervielfaeltiger: 11.167\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 71\n },\n vervielfaeltiger: 10.843\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 72\n },\n vervielfaeltiger: 10.508\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 73\n },\n vervielfaeltiger: 10.169\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 74\n },\n vervielfaeltiger: 9.815\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 75\n },\n vervielfaeltiger: 9.452\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 76\n },\n vervielfaeltiger: 9.084\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 77\n },\n vervielfaeltiger: 8.702\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 78\n },\n vervielfaeltiger: 8.315\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 79\n },\n vervielfaeltiger: 7.913\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 80\n },\n vervielfaeltiger: 7.514\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 81\n },\n vervielfaeltiger: 7.112\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 82\n },\n vervielfaeltiger: 6.703\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 83\n },\n vervielfaeltiger: 6.298\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 84\n },\n vervielfaeltiger: 5.908\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 85\n },\n vervielfaeltiger: 5.519\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 86\n },\n vervielfaeltiger: 5.147\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 87\n },\n vervielfaeltiger: 4.795\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 88\n },\n vervielfaeltiger: 4.449\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 89\n },\n vervielfaeltiger: 4.125\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 90\n },\n vervielfaeltiger: 3.826\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 91\n },\n vervielfaeltiger: 3.545\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 92\n },\n vervielfaeltiger: 3.283\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 93\n },\n vervielfaeltiger: 3.051\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 94\n },\n vervielfaeltiger: 2.832\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 95\n },\n vervielfaeltiger: 2.635\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 96\n },\n vervielfaeltiger: 2.454\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 97\n },\n vervielfaeltiger: 2.297\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 98\n },\n vervielfaeltiger: 2.165\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 99\n },\n vervielfaeltiger: 2.049\n}, {\n key: {\n jahr: 2023,\n geschlecht: 'Frau',\n alter: 100\n },\n vervielfaeltiger: 1.924\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 0\n },\n vervielfaeltiger: 18.4\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 1\n },\n vervielfaeltiger: 18.388\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 2\n },\n vervielfaeltiger: 18.373\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 3\n },\n vervielfaeltiger: 18.356\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 4\n },\n vervielfaeltiger: 18.338\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 5\n },\n vervielfaeltiger: 18.319\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 6\n },\n vervielfaeltiger: 18.299\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 7\n },\n vervielfaeltiger: 18.279\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 8\n },\n vervielfaeltiger: 18.256\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 9\n },\n vervielfaeltiger: 18.233\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 10\n },\n vervielfaeltiger: 18.209\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 11\n },\n vervielfaeltiger: 18.183\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 12\n },\n vervielfaeltiger: 18.155\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 13\n },\n vervielfaeltiger: 18.127\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 14\n },\n vervielfaeltiger: 18.096\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 15\n },\n vervielfaeltiger: 18.064\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 16\n },\n vervielfaeltiger: 18.031\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 17\n },\n vervielfaeltiger: 17.995\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 18\n },\n vervielfaeltiger: 17.958\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 19\n },\n vervielfaeltiger: 17.919\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 20\n },\n vervielfaeltiger: 17.879\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 21\n },\n vervielfaeltiger: 17.835\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 22\n },\n vervielfaeltiger: 17.79\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 23\n },\n vervielfaeltiger: 17.42\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 24\n },\n vervielfaeltiger: 17.692\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 25\n },\n vervielfaeltiger: 17.639\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 26\n },\n vervielfaeltiger: 17.582\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 27\n },\n vervielfaeltiger: 17.524\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 28\n },\n vervielfaeltiger: 17.461\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 29\n },\n vervielfaeltiger: 17.396\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 30\n },\n vervielfaeltiger: 17.327\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 31\n },\n vervielfaeltiger: 17.255\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 32\n },\n vervielfaeltiger: 17.178\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 33\n },\n vervielfaeltiger: 17.098\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 34\n },\n vervielfaeltiger: 17.014\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 35\n },\n vervielfaeltiger: 16.925\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 36\n },\n vervielfaeltiger: 16.832\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 37\n },\n vervielfaeltiger: 16.734\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 38\n },\n vervielfaeltiger: 16.632\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 39\n },\n vervielfaeltiger: 16.525\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 40\n },\n vervielfaeltiger: 16.412\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 41\n },\n vervielfaeltiger: 16.294\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 42\n },\n vervielfaeltiger: 16.169\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 43\n },\n vervielfaeltiger: 16.039\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 44\n },\n vervielfaeltiger: 15.903\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 45\n },\n vervielfaeltiger: 15.76\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 46\n },\n vervielfaeltiger: 15.61\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 47\n },\n vervielfaeltiger: 15.454\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 48\n },\n vervielfaeltiger: 15.291\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 49\n },\n vervielfaeltiger: 15.119\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 50\n },\n vervielfaeltiger: 14.943\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 51\n },\n vervielfaeltiger: 14.759\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 52\n },\n vervielfaeltiger: 14.567\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 53\n },\n vervielfaeltiger: 14.367\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 54\n },\n vervielfaeltiger: 14.158\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 55\n },\n vervielfaeltiger: 13.943\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 56\n },\n vervielfaeltiger: 13.722\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 57\n },\n vervielfaeltiger: 13.491\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 58\n },\n vervielfaeltiger: 13.255\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 59\n },\n vervielfaeltiger: 13.012\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 60\n },\n vervielfaeltiger: 12.76\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 61\n },\n vervielfaeltiger: 12.505\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 62\n },\n vervielfaeltiger: 12.241\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 63\n },\n vervielfaeltiger: 11.97\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 64\n },\n vervielfaeltiger: 11.695\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 65\n },\n vervielfaeltiger: 11.413\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 66\n },\n vervielfaeltiger: 11.127\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 67\n },\n vervielfaeltiger: 10.834\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 68\n },\n vervielfaeltiger: 10.539\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 69\n },\n vervielfaeltiger: 10.233\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 70\n },\n vervielfaeltiger: 9.924\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 71\n },\n vervielfaeltiger: 9.604\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 72\n },\n vervielfaeltiger: 9.283\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 73\n },\n vervielfaeltiger: 8.95\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 74\n },\n vervielfaeltiger: 8.616\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 75\n },\n vervielfaeltiger: 8.271\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 76\n },\n vervielfaeltiger: 7.931\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 77\n },\n vervielfaeltiger: 7.574\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 78\n },\n vervielfaeltiger: 7.217\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 79\n },\n vervielfaeltiger: 6.856\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 80\n },\n vervielfaeltiger: 6.489\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 81\n },\n vervielfaeltiger: 6.132\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 82\n },\n vervielfaeltiger: 5.77\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 83\n },\n vervielfaeltiger: 5.413\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 84\n },\n vervielfaeltiger: 5.06\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 85\n },\n vervielfaeltiger: 4.713\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 86\n },\n vervielfaeltiger: 4.388\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 87\n },\n vervielfaeltiger: 4.07\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 88\n },\n vervielfaeltiger: 3.778\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 89\n },\n vervielfaeltiger: 3.496\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 90\n },\n vervielfaeltiger: 3.242\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 91\n },\n vervielfaeltiger: 3\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 92\n },\n vervielfaeltiger: 2.772\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 93\n },\n vervielfaeltiger: 2.575\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 94\n },\n vervielfaeltiger: 2.393\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 95\n },\n vervielfaeltiger: 2.235\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 96\n },\n vervielfaeltiger: 2.094\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 97\n },\n vervielfaeltiger: 1.996\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 98\n },\n vervielfaeltiger: 1.888\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 99\n },\n vervielfaeltiger: 1.78\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Mann',\n alter: 100\n },\n vervielfaeltiger: 1.671\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 0\n },\n vervielfaeltiger: 18.464\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 1\n },\n vervielfaeltiger: 18.455\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 2\n },\n vervielfaeltiger: 18.443\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 3\n },\n vervielfaeltiger: 18.43\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 4\n },\n vervielfaeltiger: 18.416\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 5\n },\n vervielfaeltiger: 18.402\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 6\n },\n vervielfaeltiger: 18.387\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 7\n },\n vervielfaeltiger: 18.37\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 8\n },\n vervielfaeltiger: 18.353\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 9\n },\n vervielfaeltiger: 18.335\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 10\n },\n vervielfaeltiger: 18.316\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 11\n },\n vervielfaeltiger: 18.296\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 12\n },\n vervielfaeltiger: 18.275\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 13\n },\n vervielfaeltiger: 18.253\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 14\n },\n vervielfaeltiger: 18.23\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 15\n },\n vervielfaeltiger: 18.205\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 16\n },\n vervielfaeltiger: 18.179\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 17\n },\n vervielfaeltiger: 18.152\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 18\n },\n vervielfaeltiger: 18.123\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 19\n },\n vervielfaeltiger: 18.092\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 20\n },\n vervielfaeltiger: 18.06\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 21\n },\n vervielfaeltiger: 18.026\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 22\n },\n vervielfaeltiger: 17.991\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 23\n },\n vervielfaeltiger: 17.953\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 24\n },\n vervielfaeltiger: 17.913\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 25\n },\n vervielfaeltiger: 17.872\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 26\n },\n vervielfaeltiger: 17.828\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 27\n },\n vervielfaeltiger: 17.781\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 28\n },\n vervielfaeltiger: 17.732\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 29\n },\n vervielfaeltiger: 17.681\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 30\n },\n vervielfaeltiger: 17.626\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 31\n },\n vervielfaeltiger: 17.569\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 32\n },\n vervielfaeltiger: 17.509\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 33\n },\n vervielfaeltiger: 17.446\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 34\n },\n vervielfaeltiger: 17.379\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 35\n },\n vervielfaeltiger: 17.309\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 36\n },\n vervielfaeltiger: 17.235\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 37\n },\n vervielfaeltiger: 17.157\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 38\n },\n vervielfaeltiger: 17.075\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 39\n },\n vervielfaeltiger: 16.989\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 40\n },\n vervielfaeltiger: 16.899\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 41\n },\n vervielfaeltiger: 16.804\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 42\n },\n vervielfaeltiger: 16.704\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 43\n },\n vervielfaeltiger: 16.6\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 44\n },\n vervielfaeltiger: 16.489\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 45\n },\n vervielfaeltiger: 16.373\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 46\n },\n vervielfaeltiger: 16.251\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 47\n },\n vervielfaeltiger: 16.124\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 48\n },\n vervielfaeltiger: 15.991\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 49\n },\n vervielfaeltiger: 15.85\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 50\n },\n vervielfaeltiger: 15.704\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 51\n },\n vervielfaeltiger: 15.552\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 52\n },\n vervielfaeltiger: 15.391\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 53\n },\n vervielfaeltiger: 15.223\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 54\n },\n vervielfaeltiger: 15.048\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 55\n },\n vervielfaeltiger: 14.865\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 56\n },\n vervielfaeltiger: 14.674\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 57\n },\n vervielfaeltiger: 14.476\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 58\n },\n vervielfaeltiger: 14.268\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 59\n },\n vervielfaeltiger: 14.053\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 60\n },\n vervielfaeltiger: 13.83\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 61\n },\n vervielfaeltiger: 13.596\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 62\n },\n vervielfaeltiger: 13.356\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 63\n },\n vervielfaeltiger: 13.105\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 64\n },\n vervielfaeltiger: 12.849\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 65\n },\n vervielfaeltiger: 12.58\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 66\n },\n vervielfaeltiger: 12.303\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 67\n },\n vervielfaeltiger: 12.017\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 68\n },\n vervielfaeltiger: 11.718\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 69\n },\n vervielfaeltiger: 11.413\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 70\n },\n vervielfaeltiger: 11.099\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 71\n },\n vervielfaeltiger: 10.771\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 72\n },\n vervielfaeltiger: 10.438\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 73\n },\n vervielfaeltiger: 10.091\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 74\n },\n vervielfaeltiger: 9.739\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 75\n },\n vervielfaeltiger: 9.373\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 76\n },\n vervielfaeltiger: 9.002\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 77\n },\n vervielfaeltiger: 8.621\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 78\n },\n vervielfaeltiger: 8.237\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 79\n },\n vervielfaeltiger: 7.844\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 80\n },\n vervielfaeltiger: 7.442\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 81\n },\n vervielfaeltiger: 7.038\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 82\n },\n vervielfaeltiger: 6.632\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 83\n },\n vervielfaeltiger: 6.232\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 84\n },\n vervielfaeltiger: 5.832\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 85\n },\n vervielfaeltiger: 5.441\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 86\n },\n vervielfaeltiger: 5.06\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 87\n },\n vervielfaeltiger: 4.706\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 88\n },\n vervielfaeltiger: 4.365\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 89\n },\n vervielfaeltiger: 4.031\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 90\n },\n vervielfaeltiger: 3.73\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 91\n },\n vervielfaeltiger: 3.447\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 92\n },\n vervielfaeltiger: 3.184\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 93\n },\n vervielfaeltiger: 2.95\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 94\n },\n vervielfaeltiger: 2.729\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 95\n },\n vervielfaeltiger: 2.532\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 96\n },\n vervielfaeltiger: 2.358\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 97\n },\n vervielfaeltiger: 2.209\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 98\n },\n vervielfaeltiger: 2.076\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 99\n },\n vervielfaeltiger: 1.969\n}, {\n key: {\n jahr: 2024,\n geschlecht: 'Frau',\n alter: 100\n },\n vervielfaeltiger: 1.87\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 0\n },\n vervielfaeltiger: 18.398\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 1\n },\n vervielfaeltiger: 18.386\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 2\n },\n vervielfaeltiger: 18.37\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 3\n },\n vervielfaeltiger: 18.353\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 4\n },\n vervielfaeltiger: 18.335\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 5\n },\n vervielfaeltiger: 18.316\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 6\n },\n vervielfaeltiger: 18.296\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 7\n },\n vervielfaeltiger: 18.275\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 8\n },\n vervielfaeltiger: 18.253\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 9\n },\n vervielfaeltiger: 18.23\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 10\n },\n vervielfaeltiger: 18.205\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 11\n },\n vervielfaeltiger: 18.179\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 12\n },\n vervielfaeltiger: 18.151\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 13\n },\n vervielfaeltiger: 18.122\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 14\n },\n vervielfaeltiger: 18.092\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 15\n },\n vervielfaeltiger: 18.06\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 16\n },\n vervielfaeltiger: 18.026\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 17\n },\n vervielfaeltiger: 17.99\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 18\n },\n vervielfaeltiger: 17.953\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 19\n },\n vervielfaeltiger: 17.913\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 20\n },\n vervielfaeltiger: 17.872\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 21\n },\n vervielfaeltiger: 17.829\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 22\n },\n vervielfaeltiger: 17.783\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 23\n },\n vervielfaeltiger: 17.736\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 24\n },\n vervielfaeltiger: 17.685\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 25\n },\n vervielfaeltiger: 17.631\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 26\n },\n vervielfaeltiger: 17.575\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 27\n },\n vervielfaeltiger: 17.516\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 28\n },\n vervielfaeltiger: 17.453\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 29\n },\n vervielfaeltiger: 17.387\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 30\n },\n vervielfaeltiger: 17.318\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 31\n },\n vervielfaeltiger: 17.245\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 32\n },\n vervielfaeltiger: 17.168\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 33\n },\n vervielfaeltiger: 17.087\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 34\n },\n vervielfaeltiger: 17.002\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 35\n },\n vervielfaeltiger: 16.913\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 36\n },\n vervielfaeltiger: 16.819\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 37\n },\n vervielfaeltiger: 16.721\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 38\n },\n vervielfaeltiger: 16.618\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 39\n },\n vervielfaeltiger: 16.51\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 40\n },\n vervielfaeltiger: 16.396\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 41\n },\n vervielfaeltiger: 16.277\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 42\n },\n vervielfaeltiger: 16.152\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 43\n },\n vervielfaeltiger: 16.021\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 44\n },\n vervielfaeltiger: 15.884\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 45\n },\n vervielfaeltiger: 15.741\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 46\n },\n vervielfaeltiger: 15.591\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 47\n },\n vervielfaeltiger: 15.433\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 48\n },\n vervielfaeltiger: 15.269\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 49\n },\n vervielfaeltiger: 15.098\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 50\n },\n vervielfaeltiger: 14.919\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 51\n },\n vervielfaeltiger: 14.734\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 52\n },\n vervielfaeltiger: 14.541\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 53\n },\n vervielfaeltiger: 14.339\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 54\n },\n vervielfaeltiger: 14.129\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 55\n },\n vervielfaeltiger: 13.915\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 56\n },\n vervielfaeltiger: 13.69\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 57\n },\n vervielfaeltiger: 13.458\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 58\n },\n vervielfaeltiger: 13.22\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 59\n },\n vervielfaeltiger: 12.972\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 60\n },\n vervielfaeltiger: 12.722\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 61\n },\n vervielfaeltiger: 12.461\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 62\n },\n vervielfaeltiger: 12.196\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 63\n },\n vervielfaeltiger: 11.923\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 64\n },\n vervielfaeltiger: 11.646\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 65\n },\n vervielfaeltiger: 11.362\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 66\n },\n vervielfaeltiger: 11.074\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 67\n },\n vervielfaeltiger: 10.78\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 68\n },\n vervielfaeltiger: 10.478\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 69\n },\n vervielfaeltiger: 10.169\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 70\n },\n vervielfaeltiger: 9.858\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 71\n },\n vervielfaeltiger: 9.536\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 72\n },\n vervielfaeltiger: 9.212\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 73\n },\n vervielfaeltiger: 8.882\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 74\n },\n vervielfaeltiger: 8.54\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 75\n },\n vervielfaeltiger: 8.198\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 76\n },\n vervielfaeltiger: 7.856\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 77\n },\n vervielfaeltiger: 7.502\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 78\n },\n vervielfaeltiger: 7.15\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 79\n },\n vervielfaeltiger: 6.786\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 80\n },\n vervielfaeltiger: 6.43\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 81\n },\n vervielfaeltiger: 6.064\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 82\n },\n vervielfaeltiger: 5.708\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 83\n },\n vervielfaeltiger: 5.349\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 84\n },\n vervielfaeltiger: 5.002\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 85\n },\n vervielfaeltiger: 4.661\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 86\n },\n vervielfaeltiger: 4.334\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 87\n },\n vervielfaeltiger: 4.016\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 88\n },\n vervielfaeltiger: 3.722\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 89\n },\n vervielfaeltiger: 3.447\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 90\n },\n vervielfaeltiger: 3.192\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 91\n },\n vervielfaeltiger: 2.958\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 92\n },\n vervielfaeltiger: 2.747\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 93\n },\n vervielfaeltiger: 2.549\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 94\n },\n vervielfaeltiger: 2.375\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 95\n },\n vervielfaeltiger: 2.209\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 96\n },\n vervielfaeltiger: 2.067\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 97\n },\n vervielfaeltiger: 1.942\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 98\n },\n vervielfaeltiger: 1.825\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 99\n },\n vervielfaeltiger: 1.725\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Mann',\n alter: 100\n },\n vervielfaeltiger: 1.634\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 0\n },\n vervielfaeltiger: 18.462\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 1\n },\n vervielfaeltiger: 18.453\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 2\n },\n vervielfaeltiger: 18.441\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 3\n },\n vervielfaeltiger: 18.428\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 4\n },\n vervielfaeltiger: 18.414\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 5\n },\n vervielfaeltiger: 18.399\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 6\n },\n vervielfaeltiger: 18.384\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 7\n },\n vervielfaeltiger: 18.367\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 8\n },\n vervielfaeltiger: 18.35\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 9\n },\n vervielfaeltiger: 18.332\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 10\n },\n vervielfaeltiger: 18.313\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 11\n },\n vervielfaeltiger: 18.293\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 12\n },\n vervielfaeltiger: 18.272\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 13\n },\n vervielfaeltiger: 18.249\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 14\n },\n vervielfaeltiger: 18.225\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 15\n },\n vervielfaeltiger: 18.201\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 16\n },\n vervielfaeltiger: 18.174\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 17\n },\n vervielfaeltiger: 18.147\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 18\n },\n vervielfaeltiger: 18.118\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 19\n },\n vervielfaeltiger: 18.087\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 20\n },\n vervielfaeltiger: 18.055\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 21\n },\n vervielfaeltiger: 18.021\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 22\n },\n vervielfaeltiger: 17.985\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 23\n },\n vervielfaeltiger: 17.947\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 24\n },\n vervielfaeltiger: 17.907\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 25\n },\n vervielfaeltiger: 17.865\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 26\n },\n vervielfaeltiger: 17.82\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 27\n },\n vervielfaeltiger: 17.774\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 28\n },\n vervielfaeltiger: 17.724\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 29\n },\n vervielfaeltiger: 17.672\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 30\n },\n vervielfaeltiger: 17.617\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 31\n },\n vervielfaeltiger: 17.56\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 32\n },\n vervielfaeltiger: 17.499\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 33\n },\n vervielfaeltiger: 17.435\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 34\n },\n vervielfaeltiger: 17.368\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 35\n },\n vervielfaeltiger: 17.297\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 36\n },\n vervielfaeltiger: 17.223\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 37\n },\n vervielfaeltiger: 17.144\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 38\n },\n vervielfaeltiger: 17.062\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 39\n },\n vervielfaeltiger: 16.976\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 40\n },\n vervielfaeltiger: 16.885\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 41\n },\n vervielfaeltiger: 16.789\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 42\n },\n vervielfaeltiger: 16.688\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 43\n },\n vervielfaeltiger: 16.582\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 44\n },\n vervielfaeltiger: 16.471\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 45\n },\n vervielfaeltiger: 16.354\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 46\n },\n vervielfaeltiger: 16.233\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 47\n },\n vervielfaeltiger: 16.104\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 48\n },\n vervielfaeltiger: 15.969\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 49\n },\n vervielfaeltiger: 15.829\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 50\n },\n vervielfaeltiger: 15.68\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 51\n },\n vervielfaeltiger: 15.527\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 52\n },\n vervielfaeltiger: 15.364\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 53\n },\n vervielfaeltiger: 15.195\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 54\n },\n vervielfaeltiger: 15.019\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 55\n },\n vervielfaeltiger: 14.834\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 56\n },\n vervielfaeltiger: 14.642\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 57\n },\n vervielfaeltiger: 14.442\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 58\n },\n vervielfaeltiger: 14.233\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 59\n },\n vervielfaeltiger: 14.016\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 60\n },\n vervielfaeltiger: 13.791\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 61\n },\n vervielfaeltiger: 13.555\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 62\n },\n vervielfaeltiger: 13.313\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 63\n },\n vervielfaeltiger: 13.063\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 64\n },\n vervielfaeltiger: 12.802\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 65\n },\n vervielfaeltiger: 12.534\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 66\n },\n vervielfaeltiger: 12.255\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 67\n },\n vervielfaeltiger: 11.97\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 68\n },\n vervielfaeltiger: 11.673\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 69\n },\n vervielfaeltiger: 11.366\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 70\n },\n vervielfaeltiger: 11.05\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 71\n },\n vervielfaeltiger: 10.724\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 72\n },\n vervielfaeltiger: 10.389\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 73\n },\n vervielfaeltiger: 10.045\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 74\n },\n vervielfaeltiger: 9.691\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 75\n },\n vervielfaeltiger: 9.333\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 76\n },\n vervielfaeltiger: 8.965\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 77\n },\n vervielfaeltiger: 8.589\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 78\n },\n vervielfaeltiger: 8.203\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 79\n },\n vervielfaeltiger: 7.815\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 80\n },\n vervielfaeltiger: 7.424\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 81\n },\n vervielfaeltiger: 7.025\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 82\n },\n vervielfaeltiger: 6.626\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 83\n },\n vervielfaeltiger: 6.225\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 84\n },\n vervielfaeltiger: 5.825\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 85\n },\n vervielfaeltiger: 5.434\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 86\n },\n vervielfaeltiger: 5.06\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 87\n },\n vervielfaeltiger: 4.698\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 88\n },\n vervielfaeltiger: 4.349\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 89\n },\n vervielfaeltiger: 4.031\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 90\n },\n vervielfaeltiger: 3.722\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 91\n },\n vervielfaeltiger: 3.447\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 92\n },\n vervielfaeltiger: 3.184\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 93\n },\n vervielfaeltiger: 2.95\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 94\n },\n vervielfaeltiger: 2.738\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 95\n },\n vervielfaeltiger: 2.54\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 96\n },\n vervielfaeltiger: 2.367\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 97\n },\n vervielfaeltiger: 2.2\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 98\n },\n vervielfaeltiger: 2.058\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 99\n },\n vervielfaeltiger: 1.924\n}, {\n key: {\n jahr: 2025,\n geschlecht: 'Frau',\n alter: 100\n },\n vervielfaeltiger: 1.816\n}];\n/*\n————————————————————————————————————————————————————————————————————————————————\nExportierte Konstanten, Typen und Arrays\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Fehlermeldungen\nexports.errorMsgKeineQuelle = 'Keine Quellangaben vorhanden';\nexports.errorMsgUngueltigesJahr = 'Kein oder ungültiges Jahr angegeben';\nexports.errorMsgUngueltigesGeschlecht = 'Kein oder ungültiges Geschlecht angegeben';\nexports.errorMsgUngueltigesAlter = 'Kein oder ungültiges Alter angegeben';\nexports.errorMsgKeineVervielfaeltigerFuerJahr = 'Keine Vervielfältiger-Daten für Jahr vorhanden';\n/*\n————————————————————————————————————————————————————————————————————————————————\nExportierte Funktionen\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Rückgabe der verfügbaren Jahresscheiben für die Vervielfältiger-Werte\nfunction listeJahreszahlenVervielfaeltiger() {\n const liste = TabelleVervielfaeltiger.map(element => element.key.jahr);\n // Duplikate entfernen\n return Array.from(new Set(liste));\n}\n// Rückgabe der standardmäßig verwendeten Jahresscheibe für die Vervielfältiger-Werte\nfunction ermittleVerwendetesJahr() {\n return Math.max(...TabelleVervielfaeltigerQuellen.map(element => element.jahr));\n // Alternative: Rechnung immer für aktuelles Jahr\n //return new Date().getFullYear();\n}\n// Rückgabe der Quelleninformation zu den Vervielfältiger-Daten für ein gegegebenes Jahr\nfunction ermittleVerwendetesJahrZusatzdaten(inputJahr) {\n const tabellenEintrag = TabelleVervielfaeltigerQuellen.find(element => element.jahr === inputJahr);\n if (tabellenEintrag === undefined) {\n throw Error(exports.errorMsgKeineQuelle);\n } else {\n return tabellenEintrag;\n }\n}\n// Ermittlung Vervielfältiger für gegebene Kombination aus Jahr, Geschlecht und Alter\nfunction ermittleVervielfaeltiger(inputJahr, inputGeschlecht, inputAlter) {\n // Prüfung Parameter\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (inputJahr === undefined || typeof inputJahr !== 'number') {\n throw Error(exports.errorMsgUngueltigesJahr);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (inputGeschlecht === undefined || !(0, rechner_1.isGeschlecht)(inputGeschlecht)) {\n throw Error(exports.errorMsgUngueltigesGeschlecht);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (inputAlter === undefined || typeof inputAlter !== 'number') {\n throw Error(exports.errorMsgUngueltigesAlter);\n }\n if (inputAlter < rechner_1.Rechner.minAlter || inputAlter > rechner_1.Rechner.maxAlter) {\n throw Error(exports.errorMsgUngueltigesAlter);\n }\n if (!listeJahreszahlenVervielfaeltiger().includes(inputJahr)) {\n throw Error(exports.errorMsgKeineVervielfaeltigerFuerJahr);\n }\n // Die eigentliche Logik für den Lookup wurde der Lesbarkeit in eine separate Funktion ausgelagert\n return lookupVervielfaeltiger({\n jahr: inputJahr,\n geschlecht: inputGeschlecht,\n // Limitierung bei 100 Jahren (siehe BMF-Schreiben, Tabelleneintrag dort lautet \"100 und darüber\")\n alter: inputAlter > 100 ? 100 : inputAlter\n });\n}\n/*\n————————————————————————————————————————————————————————————————————————————————\nInterne Funktionen\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Ermittlung Vervielfältiger\nfunction lookupVervielfaeltiger(kenngroessen) {\n const tabellenEintrag = TabelleVervielfaeltiger.find(element => vergleicheVervielfaeltigerKey(kenngroessen, element.key));\n if (tabellenEintrag === undefined) {\n throw Error(errorMsgKeinVervielfaeltiger);\n } else {\n return tabellenEintrag.vervielfaeltiger;\n }\n}\n// Benutzerdefinierte Funktion zum Vergleich zweier Parametersätze (\"deep comparison\")\nfunction vergleicheVervielfaeltigerKey(vervielfaeltiger1, vervielfaeltiger2) {\n return vervielfaeltiger1.jahr === vervielfaeltiger2.jahr && vervielfaeltiger1.geschlecht === vervielfaeltiger2.geschlecht && vervielfaeltiger1.alter === vervielfaeltiger2.alter;\n}\n","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = this && this.__importStar || function () {\n var ownKeys = function (o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n}();\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Rechner = exports.isSteuerklasse = exports.anzahlSteuerklassen = exports.isBeziehung = exports.anzahlBeziehungen = exports.TabelleGeschlechter = exports.isGeschlecht = exports.anzahlGeschlechter = exports.errorMsgSteuerrelevanterBetrag = exports.errorMsgErwerb = exports.errorMsgDivisor = exports.errorMsgZinssatz = void 0;\nconst Schenkungssteuer = __importStar(require(\"./schenkungssteuer\"));\nconst Vervielfaeltiger = __importStar(require(\"./vervielfaeltiger\"));\n/*\n————————————————————————————————————————————————————————————————————————————————\nExportierte Konstanten, Typen und Arrays\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Fehlermeldungen\nexports.errorMsgZinssatz = 'Ungültiger oder unerlaubter Zinssatz';\nexports.errorMsgDivisor = 'Ungültiger interner Wert für Divisor';\nexports.errorMsgErwerb = 'Ungültiger Erwerb (negativ)';\nexports.errorMsgSteuerrelevanterBetrag = 'Ungültiger steuerrelevanter Betrag (negativ)';\n// ****************************************\n// Bekannte Geschlechter\n// ****************************************\nconst arrayGeschlecht = ['Mann', 'Frau'];\nexports.anzahlGeschlechter = arrayGeschlecht.length;\n// User-defined type guard, siehe https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards\nconst isGeschlecht = param => arrayGeschlecht.includes(param);\nexports.isGeschlecht = isGeschlecht;\nexports.TabelleGeschlechter = [{\n key: 'Frau',\n sortNr: 0,\n label: 'weiblich'\n}, {\n key: 'Mann',\n sortNr: 1,\n label: 'männlich'\n}];\n// ****************************************\n// Definierte Beziehungen\n// ****************************************\nconst arrayBeziehung = ['Ehepartner', 'Kinder', 'Enkel', 'Geschwister', 'NichtenNeffen', 'Lebensgefährte'];\nexports.anzahlBeziehungen = arrayBeziehung.length;\n// User-defined type guard, siehe https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards\nconst isBeziehung = param => arrayBeziehung.includes(param);\nexports.isBeziehung = isBeziehung;\n// ****************************************\n// Steuerklassen gemäß Schenkungs- und Erbschaftssteuergesetz\n// ****************************************\nconst arraySteuerklasse = ['I', 'II', 'III'];\nexports.anzahlSteuerklassen = arraySteuerklasse.length;\n// User-defined type guard, siehe https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards\nconst isSteuerklasse = param => arraySteuerklasse.includes(param);\nexports.isSteuerklasse = isSteuerklasse;\n/*\n————————————————————————————————————————————————————————————————————————————————\nRechner-Klasse\n————————————————————————————————————————————————————————————————————————————————\n*/\n// Klassen\nlet Rechner = /*#__PURE__*/(() => {\n class Rechner {\n // Unter- und Obergrenzen für Parameter (auch im UI)\n static minAlter = 0;\n static maxAlter = 122;\n // Wert von 0% ist mathematisch nicht sinnvoll\n static minZinssatz = 0.05;\n // BewG §16: maximal Gesamtwert/18,6 für Jahreswert, entsprechend 5,3763…%\n static maxZinssatz = 5.37;\n // ****************************************\n // Informationsfunktionen\n // ****************************************\n // Liste aller Geschlechter\n listeGeschlechterInfo() {\n return exports.TabelleGeschlechter.map(element => {\n return {\n geschlecht: element.key,\n sortNr: element.sortNr,\n label: element.label\n };\n });\n }\n // Liste aller Beziehungen\n listeBeziehungenInfo() {\n return Schenkungssteuer.TabelleSteuerdaten.map(element => {\n return {\n beziehung: element.key,\n sortNr: element.sortNr,\n label: element.label\n };\n });\n }\n // Liste aller Steuerklassen\n listeSteuerklassen() {\n return [...arraySteuerklasse];\n }\n // Für Berechnungen verwendetes Jahr\n ermittleVerwendetesJahr() {\n return Vervielfaeltiger.ermittleVerwendetesJahr();\n }\n // Zusatzdaten BMF zum für Berechnungen verwendeten Jahr\n ermittleVerwendetesJahrZusatzdaten(inputJahr) {\n return Vervielfaeltiger.ermittleVerwendetesJahrZusatzdaten(inputJahr);\n }\n // ****************************************\n // Hauptfunktionen\n // ****************************************\n // Berechne maximalen Schenkungsbetrag, der ohne Steuern möglich ist\n // (unter Berücksichtigung des Freibetrags)\n berechneMaximaleSchenkung(beziehung, geschlecht, alter, zinssatzErtrag, rundung = 0, jahr = Vervielfaeltiger.ermittleVerwendetesJahr()) {\n // Prüfung Inputwerte (nur für Parameter, bei denen das nicht durch die aufgerufenen Funktionen passiert)\n if (zinssatzErtrag < Rechner.minZinssatz || zinssatzErtrag > Rechner.maxZinssatz) {\n throw Error(exports.errorMsgZinssatz);\n }\n rundung = rundung < 0 ? 0 : rundung;\n rundung = rundung > 4 ? 4 : rundung;\n // Ermittlung benötigter Rechengrößen\n const freibetrag = Schenkungssteuer.ermittleFreibetrag(beziehung);\n const vervielfaeltiger = Vervielfaeltiger.ermittleVervielfaeltiger(jahr, geschlecht, alter);\n // Berechnung des Divisors\n const divisor = 1 - zinssatzErtrag / 100 * vervielfaeltiger;\n // Der folgende Fall sollte bei den üblichen Werten (Parameter ‹zinssatzErtrag› ≤ 5,376%\n // laut BewG §16 und Parameter ‹vervielfältiger› typischerweise ≤ 18.46x selbst für\n // 0-jährige Frauen) nie vorkommen, zur Sicherheit (und Vermeidung mathematischer Probleme\n // im nächsten Schritt) wird er hier aber trotzdem explizit abgefangen.\n // Es ist in der zugehörigen Test-Suite jedoch kein eigener Test dafür vorgesehen, weil\n // die nachfolgende Bedingung eben nicht wahr werden und der Fehler nicht explizit\n // ausgelöst werden kann\n if (divisor <= 0) {\n throw Error(exports.errorMsgDivisor);\n }\n // Berechnung des maximal zulässigen Volumens\n let volumen = freibetrag / divisor;\n // Analog zum Erwerbsgesetz (immer Abrundung auf volle Hundert Euro) wird auch das Volumen gerundet,\n // zur Sicherheit ebenfalls immer nach unten. Der Parameter ‹rundung› gibt dabei die entsprechende\n // Zehnerpotenz an (Default 2 entspricht Rundung auf volle 100 EUR, 3 entspricht vollen 1.000 EUR\n // und 4 entspricht vollen 10.000 EUR). Höhere Werte ergeben keinen Sinn und werden ignoriert.\n volumen = Math.trunc(volumen / 10 ** rundung) * 10 ** rundung;\n return volumen;\n }\n // Berechne zu versteuernden Erwerb bei Schenkung ohne Nießbrauch\n // Hinweis: Freibetrag ist im Ergebnis bereits abgezogen!\n berechneErwerbOhneNiessbrauch(erwerbBetrag, beziehung) {\n // Prüfung Inputwerte (nur für Parameter, bei denen das nicht durch die aufgerufenen Funktionen passiert)\n if (erwerbBetrag < 0) {\n throw Error(exports.errorMsgErwerb);\n }\n // Ermittlung benötigter Rechengrößen\n const freibetrag = Schenkungssteuer.ermittleFreibetrag(beziehung);\n // Berechnung des steuerrelevanten Betrags, Werte werden dabei\n // nach unten durch 0 begrenzt (keine negativen Resultate)\n let betragSteuerrelevant = Math.max(erwerbBetrag - freibetrag, 0);\n // Abrundung auf volle Hundert Euro\n betragSteuerrelevant = Math.trunc(betragSteuerrelevant / 100) * 100;\n return betragSteuerrelevant;\n }\n // Berechne zu versteuernden Erwerb bei Schenkung mit Nießbrauch\n // Hinweis: Freibetrag ist im Ergebnis bereits abgezogen!\n berechneErwerbMitNiessbrauch(erwerbBetrag, beziehung, geschlecht, alter, zinssatzErtrag, jahr = Vervielfaeltiger.ermittleVerwendetesJahr()) {\n // Prüfung Inputwerte (nur für Parameter, bei denen das nicht durch die aufgerufenen Funktionen passiert)\n if (erwerbBetrag < 0) {\n throw Error(exports.errorMsgErwerb);\n }\n if (zinssatzErtrag < Rechner.minZinssatz || zinssatzErtrag > Rechner.maxZinssatz) {\n throw Error(exports.errorMsgZinssatz);\n }\n // Ermittlung benötigter Rechengrößen\n const freibetrag = Schenkungssteuer.ermittleFreibetrag(beziehung);\n const vervielfaeltiger = Vervielfaeltiger.ermittleVervielfaeltiger(jahr, geschlecht, alter);\n // Berechnung des Kapitalwerts des Nießbrauchs, Werte kleiner 0 werden dabei nach unten\n // begrenzt, auch wenn das an dieser Stelle noch nicht unbedingt nötig wäre (da dieser\n // Fall am Ende noch mal abgefangen wird)\n const ertrag = erwerbBetrag * (zinssatzErtrag / 100) * vervielfaeltiger;\n const kapitalWert = Math.max(erwerbBetrag - ertrag, 0);\n // Berechnung des steuerrelevanten Betrags, Werte werden dabei\n // nach unten durch 0 begrenzt (keine negativen Resultate)\n let betragSteuerrelevant = Math.max(kapitalWert - freibetrag, 0);\n // Gemäß Erwerbsgesetz erfolgt immer eine Abrundung auf volle Hundert Euro\n betragSteuerrelevant = Math.trunc(betragSteuerrelevant / 100) * 100;\n return betragSteuerrelevant;\n }\n // Berechne Schenkungssteuer auf einen zu versteuernden Erwerb\n // Hinweise: – Es erfolgt keine Berücksichtigung eines Freibetrags, sondern es wird davon\n // ausgegangen, dass dieser bereits abgezogen wurde, so wie es bereits in den\n // Funktionen \"berechneErwerbOhneNiessbrauch\" und \"berechneErwerbMitNiessbrauch\"\n // der Fall ist.\n // – Es gibt keine zeitliche Abhängigkeit, die Steuerlogik ist fest definiert. Sollte\n // sich die (als relativ statisch angenommene) Steuergesetzgebung später doch ändern,\n // muss eine entsprechende Anpassung der Lookups oder gar der Berechnungsmethodik\n // vorgenommen werden.\n berechneSteuerAufErwerb(steuerrelevanterBetrag, beziehung) {\n // Prüfung Inputwerte (nur für Parameter, bei denen das nicht durch die aufgerufenen Funktionen passiert)\n if (steuerrelevanterBetrag < 0) {\n throw Error(exports.errorMsgSteuerrelevanterBetrag);\n }\n // Ermittlung aller benötigter Rechengrößen\n const steuerklasse = Schenkungssteuer.ermittleSteuerklasse(beziehung);\n const steuersatz = Schenkungssteuer.ermittleSteuersatz(steuerrelevanterBetrag, steuerklasse);\n const steuersatzundWertgrenzeVorhergehend = Schenkungssteuer.ermittleSteuersatzUndWertgrenzeVorhergehend(steuerrelevanterBetrag, steuerklasse);\n // Berechnung der Schenkungssteuer mit tatsächlichem Steuersatz sowie der Steuer auf die\n // letztvorhergehende Wertgrenze\n const wertgrenze = steuersatzundWertgrenzeVorhergehend.wertgrenze;\n const steuerZahlungVoll = steuerrelevanterBetrag * steuersatz / 100;\n const steuerZahlungVorherigeGrenze = wertgrenze * steuersatzundWertgrenzeVorhergehend.steuersatz / 100;\n // Berechnung der Differenz auf die Steuern\n const steuerDifferenz = steuerZahlungVoll - steuerZahlungVorherigeGrenze;\n // Bruchteilsermittlung (1/2 oder 3/4) anhand des Steuersatzes\n const bruchteil = steuersatz <= 30 ? 0.5 : 0.75;\n // Berechnung des die Wertgrenze übersteigenden Betrags\n const limitHaertefall = bruchteil * (steuerrelevanterBetrag - wertgrenze);\n // Anwendung der Limitierung\n // Sollte die Steuerdifferenz größer sein als das berechnete Limit, wird nur dieses\n // Limit angesetzt. Andernfalls wird die Differenz voll veranschlagt (so dass man mit\n // der nachstehenden Rechnung wieder beim vollen Steuersatz landet, d.h. es gilt dann\n // ‹steuerEffektiv› = ‹steuerZahlungVoll›)\n let steuerZahlungEffektiv = steuerZahlungVorherigeGrenze + Math.min(steuerDifferenz, limitHaertefall);\n // Rundung auf Cent-Beträge (zwei Nachkommastellen)\n steuerZahlungEffektiv = Math.trunc(steuerZahlungEffektiv * 100 + 0.5) / 100;\n return steuerZahlungEffektiv;\n }\n }\n return Rechner;\n})();\nexports.Rechner = Rechner;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Rechner = void 0;\nvar rechner_1 = require(\"./rechner\");\nObject.defineProperty(exports, \"Rechner\", {\n enumerable: true,\n get: function () {\n return rechner_1.Rechner;\n }\n});\n","/**\n * @license Angular v18.2.13\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * The default equality function used for `signal` and `computed`, which uses referential equality.\n */\nfunction defaultEquals(a, b) {\n return Object.is(a, b);\n}\n\n/**\n * The currently active consumer `ReactiveNode`, if running code in a reactive context.\n *\n * Change this via `setActiveConsumer`.\n */\nlet activeConsumer = null;\nlet inNotificationPhase = false;\n/**\n * Global epoch counter. Incremented whenever a source signal is set.\n */\nlet epoch = 1;\n/**\n * Symbol used to tell `Signal`s apart from other functions.\n *\n * This can be used to auto-unwrap signals in various cases, or to auto-wrap non-signal values.\n */\nconst SIGNAL = /* @__PURE__ */Symbol('SIGNAL');\nfunction setActiveConsumer(consumer) {\n const prev = activeConsumer;\n activeConsumer = consumer;\n return prev;\n}\nfunction getActiveConsumer() {\n return activeConsumer;\n}\nfunction isInNotificationPhase() {\n return inNotificationPhase;\n}\nfunction isReactive(value) {\n return value[SIGNAL] !== undefined;\n}\nconst REACTIVE_NODE = {\n version: 0,\n lastCleanEpoch: 0,\n dirty: false,\n producerNode: undefined,\n producerLastReadVersion: undefined,\n producerIndexOfThis: undefined,\n nextProducerIndex: 0,\n liveConsumerNode: undefined,\n liveConsumerIndexOfThis: undefined,\n consumerAllowSignalWrites: false,\n consumerIsAlwaysLive: false,\n producerMustRecompute: () => false,\n producerRecomputeValue: () => {},\n consumerMarkedDirty: () => {},\n consumerOnSignalRead: () => {}\n};\n/**\n * Called by implementations when a producer's signal is read.\n */\nfunction producerAccessed(node) {\n if (inNotificationPhase) {\n throw new Error(typeof ngDevMode !== 'undefined' && ngDevMode ? `Assertion error: signal read during notification phase` : '');\n }\n if (activeConsumer === null) {\n // Accessed outside of a reactive context, so nothing to record.\n return;\n }\n activeConsumer.consumerOnSignalRead(node);\n // This producer is the `idx`th dependency of `activeConsumer`.\n const idx = activeConsumer.nextProducerIndex++;\n assertConsumerNode(activeConsumer);\n if (idx < activeConsumer.producerNode.length && activeConsumer.producerNode[idx] !== node) {\n // There's been a change in producers since the last execution of `activeConsumer`.\n // `activeConsumer.producerNode[idx]` holds a stale dependency which will be be removed and\n // replaced with `this`.\n //\n // If `activeConsumer` isn't live, then this is a no-op, since we can replace the producer in\n // `activeConsumer.producerNode` directly. However, if `activeConsumer` is live, then we need\n // to remove it from the stale producer's `liveConsumer`s.\n if (consumerIsLive(activeConsumer)) {\n const staleProducer = activeConsumer.producerNode[idx];\n producerRemoveLiveConsumerAtIndex(staleProducer, activeConsumer.producerIndexOfThis[idx]);\n // At this point, the only record of `staleProducer` is the reference at\n // `activeConsumer.producerNode[idx]` which will be overwritten below.\n }\n }\n if (activeConsumer.producerNode[idx] !== node) {\n // We're a new dependency of the consumer (at `idx`).\n activeConsumer.producerNode[idx] = node;\n // If the active consumer is live, then add it as a live consumer. If not, then use 0 as a\n // placeholder value.\n activeConsumer.producerIndexOfThis[idx] = consumerIsLive(activeConsumer) ? producerAddLiveConsumer(node, activeConsumer, idx) : 0;\n }\n activeConsumer.producerLastReadVersion[idx] = node.version;\n}\n/**\n * Increment the global epoch counter.\n *\n * Called by source producers (that is, not computeds) whenever their values change.\n */\nfunction producerIncrementEpoch() {\n epoch++;\n}\n/**\n * Ensure this producer's `version` is up-to-date.\n */\nfunction producerUpdateValueVersion(node) {\n if (consumerIsLive(node) && !node.dirty) {\n // A live consumer will be marked dirty by producers, so a clean state means that its version\n // is guaranteed to be up-to-date.\n return;\n }\n if (!node.dirty && node.lastCleanEpoch === epoch) {\n // Even non-live consumers can skip polling if they previously found themselves to be clean at\n // the current epoch, since their dependencies could not possibly have changed (such a change\n // would've increased the epoch).\n return;\n }\n if (!node.producerMustRecompute(node) && !consumerPollProducersForChange(node)) {\n // None of our producers report a change since the last time they were read, so no\n // recomputation of our value is necessary, and we can consider ourselves clean.\n node.dirty = false;\n node.lastCleanEpoch = epoch;\n return;\n }\n node.producerRecomputeValue(node);\n // After recomputing the value, we're no longer dirty.\n node.dirty = false;\n node.lastCleanEpoch = epoch;\n}\n/**\n * Propagate a dirty notification to live consumers of this producer.\n */\nfunction producerNotifyConsumers(node) {\n if (node.liveConsumerNode === undefined) {\n return;\n }\n // Prevent signal reads when we're updating the graph\n const prev = inNotificationPhase;\n inNotificationPhase = true;\n try {\n for (const consumer of node.liveConsumerNode) {\n if (!consumer.dirty) {\n consumerMarkDirty(consumer);\n }\n }\n } finally {\n inNotificationPhase = prev;\n }\n}\n/**\n * Whether this `ReactiveNode` in its producer capacity is currently allowed to initiate updates,\n * based on the current consumer context.\n */\nfunction producerUpdatesAllowed() {\n return activeConsumer?.consumerAllowSignalWrites !== false;\n}\nfunction consumerMarkDirty(node) {\n node.dirty = true;\n producerNotifyConsumers(node);\n node.consumerMarkedDirty?.(node);\n}\n/**\n * Prepare this consumer to run a computation in its reactive context.\n *\n * Must be called by subclasses which represent reactive computations, before those computations\n * begin.\n */\nfunction consumerBeforeComputation(node) {\n node && (node.nextProducerIndex = 0);\n return setActiveConsumer(node);\n}\n/**\n * Finalize this consumer's state after a reactive computation has run.\n *\n * Must be called by subclasses which represent reactive computations, after those computations\n * have finished.\n */\nfunction consumerAfterComputation(node, prevConsumer) {\n setActiveConsumer(prevConsumer);\n if (!node || node.producerNode === undefined || node.producerIndexOfThis === undefined || node.producerLastReadVersion === undefined) {\n return;\n }\n if (consumerIsLive(node)) {\n // For live consumers, we need to remove the producer -> consumer edge for any stale producers\n // which weren't dependencies after the recomputation.\n for (let i = node.nextProducerIndex; i < node.producerNode.length; i++) {\n producerRemoveLiveConsumerAtIndex(node.producerNode[i], node.producerIndexOfThis[i]);\n }\n }\n // Truncate the producer tracking arrays.\n // Perf note: this is essentially truncating the length to `node.nextProducerIndex`, but\n // benchmarking has shown that individual pop operations are faster.\n while (node.producerNode.length > node.nextProducerIndex) {\n node.producerNode.pop();\n node.producerLastReadVersion.pop();\n node.producerIndexOfThis.pop();\n }\n}\n/**\n * Determine whether this consumer has any dependencies which have changed since the last time\n * they were read.\n */\nfunction consumerPollProducersForChange(node) {\n assertConsumerNode(node);\n // Poll producers for change.\n for (let i = 0; i < node.producerNode.length; i++) {\n const producer = node.producerNode[i];\n const seenVersion = node.producerLastReadVersion[i];\n // First check the versions. A mismatch means that the producer's value is known to have\n // changed since the last time we read it.\n if (seenVersion !== producer.version) {\n return true;\n }\n // The producer's version is the same as the last time we read it, but it might itself be\n // stale. Force the producer to recompute its version (calculating a new value if necessary).\n producerUpdateValueVersion(producer);\n // Now when we do this check, `producer.version` is guaranteed to be up to date, so if the\n // versions still match then it has not changed since the last time we read it.\n if (seenVersion !== producer.version) {\n return true;\n }\n }\n return false;\n}\n/**\n * Disconnect this consumer from the graph.\n */\nfunction consumerDestroy(node) {\n assertConsumerNode(node);\n if (consumerIsLive(node)) {\n // Drop all connections from the graph to this node.\n for (let i = 0; i < node.producerNode.length; i++) {\n producerRemoveLiveConsumerAtIndex(node.producerNode[i], node.producerIndexOfThis[i]);\n }\n }\n // Truncate all the arrays to drop all connection from this node to the graph.\n node.producerNode.length = node.producerLastReadVersion.length = node.producerIndexOfThis.length = 0;\n if (node.liveConsumerNode) {\n node.liveConsumerNode.length = node.liveConsumerIndexOfThis.length = 0;\n }\n}\n/**\n * Add `consumer` as a live consumer of this node.\n *\n * Note that this operation is potentially transitive. If this node becomes live, then it becomes\n * a live consumer of all of its current producers.\n */\nfunction producerAddLiveConsumer(node, consumer, indexOfThis) {\n assertProducerNode(node);\n if (node.liveConsumerNode.length === 0 && isConsumerNode(node)) {\n // When going from 0 to 1 live consumers, we become a live consumer to our producers.\n for (let i = 0; i < node.producerNode.length; i++) {\n node.producerIndexOfThis[i] = producerAddLiveConsumer(node.producerNode[i], node, i);\n }\n }\n node.liveConsumerIndexOfThis.push(indexOfThis);\n return node.liveConsumerNode.push(consumer) - 1;\n}\n/**\n * Remove the live consumer at `idx`.\n */\nfunction producerRemoveLiveConsumerAtIndex(node, idx) {\n assertProducerNode(node);\n if (typeof ngDevMode !== 'undefined' && ngDevMode && idx >= node.liveConsumerNode.length) {\n throw new Error(`Assertion error: active consumer index ${idx} is out of bounds of ${node.liveConsumerNode.length} consumers)`);\n }\n if (node.liveConsumerNode.length === 1 && isConsumerNode(node)) {\n // When removing the last live consumer, we will no longer be live. We need to remove\n // ourselves from our producers' tracking (which may cause consumer-producers to lose\n // liveness as well).\n for (let i = 0; i < node.producerNode.length; i++) {\n producerRemoveLiveConsumerAtIndex(node.producerNode[i], node.producerIndexOfThis[i]);\n }\n }\n // Move the last value of `liveConsumers` into `idx`. Note that if there's only a single\n // live consumer, this is a no-op.\n const lastIdx = node.liveConsumerNode.length - 1;\n node.liveConsumerNode[idx] = node.liveConsumerNode[lastIdx];\n node.liveConsumerIndexOfThis[idx] = node.liveConsumerIndexOfThis[lastIdx];\n // Truncate the array.\n node.liveConsumerNode.length--;\n node.liveConsumerIndexOfThis.length--;\n // If the index is still valid, then we need to fix the index pointer from the producer to this\n // consumer, and update it from `lastIdx` to `idx` (accounting for the move above).\n if (idx < node.liveConsumerNode.length) {\n const idxProducer = node.liveConsumerIndexOfThis[idx];\n const consumer = node.liveConsumerNode[idx];\n assertConsumerNode(consumer);\n consumer.producerIndexOfThis[idxProducer] = idx;\n }\n}\nfunction consumerIsLive(node) {\n return node.consumerIsAlwaysLive || (node?.liveConsumerNode?.length ?? 0) > 0;\n}\nfunction assertConsumerNode(node) {\n node.producerNode ??= [];\n node.producerIndexOfThis ??= [];\n node.producerLastReadVersion ??= [];\n}\nfunction assertProducerNode(node) {\n node.liveConsumerNode ??= [];\n node.liveConsumerIndexOfThis ??= [];\n}\nfunction isConsumerNode(node) {\n return node.producerNode !== undefined;\n}\n\n/**\n * Create a computed signal which derives a reactive value from an expression.\n */\nfunction createComputed(computation) {\n const node = Object.create(COMPUTED_NODE);\n node.computation = computation;\n const computed = () => {\n // Check if the value needs updating before returning it.\n producerUpdateValueVersion(node);\n // Record that someone looked at this signal.\n producerAccessed(node);\n if (node.value === ERRORED) {\n throw node.error;\n }\n return node.value;\n };\n computed[SIGNAL] = node;\n return computed;\n}\n/**\n * A dedicated symbol used before a computed value has been calculated for the first time.\n * Explicitly typed as `any` so we can use it as signal's value.\n */\nconst UNSET = /* @__PURE__ */Symbol('UNSET');\n/**\n * A dedicated symbol used in place of a computed signal value to indicate that a given computation\n * is in progress. Used to detect cycles in computation chains.\n * Explicitly typed as `any` so we can use it as signal's value.\n */\nconst COMPUTING = /* @__PURE__ */Symbol('COMPUTING');\n/**\n * A dedicated symbol used in place of a computed signal value to indicate that a given computation\n * failed. The thrown error is cached until the computation gets dirty again.\n * Explicitly typed as `any` so we can use it as signal's value.\n */\nconst ERRORED = /* @__PURE__ */Symbol('ERRORED');\n// Note: Using an IIFE here to ensure that the spread assignment is not considered\n// a side-effect, ending up preserving `COMPUTED_NODE` and `REACTIVE_NODE`.\n// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.\nconst COMPUTED_NODE = /* @__PURE__ */(() => {\n return {\n ...REACTIVE_NODE,\n value: UNSET,\n dirty: true,\n error: null,\n equal: defaultEquals,\n producerMustRecompute(node) {\n // Force a recomputation if there's no current value, or if the current value is in the\n // process of being calculated (which should throw an error).\n return node.value === UNSET || node.value === COMPUTING;\n },\n producerRecomputeValue(node) {\n if (node.value === COMPUTING) {\n // Our computation somehow led to a cyclic read of itself.\n throw new Error('Detected cycle in computations.');\n }\n const oldValue = node.value;\n node.value = COMPUTING;\n const prevConsumer = consumerBeforeComputation(node);\n let newValue;\n try {\n newValue = node.computation();\n } catch (err) {\n newValue = ERRORED;\n node.error = err;\n } finally {\n consumerAfterComputation(node, prevConsumer);\n }\n if (oldValue !== UNSET && oldValue !== ERRORED && newValue !== ERRORED && node.equal(oldValue, newValue)) {\n // No change to `valueVersion` - old and new values are\n // semantically equivalent.\n node.value = oldValue;\n return;\n }\n node.value = newValue;\n node.version++;\n }\n };\n})();\nfunction defaultThrowError() {\n throw new Error();\n}\nlet throwInvalidWriteToSignalErrorFn = defaultThrowError;\nfunction throwInvalidWriteToSignalError() {\n throwInvalidWriteToSignalErrorFn();\n}\nfunction setThrowInvalidWriteToSignalError(fn) {\n throwInvalidWriteToSignalErrorFn = fn;\n}\n\n/**\n * If set, called after `WritableSignal`s are updated.\n *\n * This hook can be used to achieve various effects, such as running effects synchronously as part\n * of setting a signal.\n */\nlet postSignalSetFn = null;\n/**\n * Create a `Signal` that can be set or updated directly.\n */\nfunction createSignal(initialValue) {\n const node = Object.create(SIGNAL_NODE);\n node.value = initialValue;\n const getter = () => {\n producerAccessed(node);\n return node.value;\n };\n getter[SIGNAL] = node;\n return getter;\n}\nfunction setPostSignalSetFn(fn) {\n const prev = postSignalSetFn;\n postSignalSetFn = fn;\n return prev;\n}\nfunction signalGetFn() {\n producerAccessed(this);\n return this.value;\n}\nfunction signalSetFn(node, newValue) {\n if (!producerUpdatesAllowed()) {\n throwInvalidWriteToSignalError();\n }\n if (!node.equal(node.value, newValue)) {\n node.value = newValue;\n signalValueChanged(node);\n }\n}\nfunction signalUpdateFn(node, updater) {\n if (!producerUpdatesAllowed()) {\n throwInvalidWriteToSignalError();\n }\n signalSetFn(node, updater(node.value));\n}\nfunction runPostSignalSetFn() {\n postSignalSetFn?.();\n}\n// Note: Using an IIFE here to ensure that the spread assignment is not considered\n// a side-effect, ending up preserving `COMPUTED_NODE` and `REACTIVE_NODE`.\n// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.\nconst SIGNAL_NODE = /* @__PURE__ */(() => {\n return {\n ...REACTIVE_NODE,\n equal: defaultEquals,\n value: undefined\n };\n})();\nfunction signalValueChanged(node) {\n node.version++;\n producerIncrementEpoch();\n producerNotifyConsumers(node);\n postSignalSetFn?.();\n}\nfunction createWatch(fn, schedule, allowSignalWrites) {\n const node = Object.create(WATCH_NODE);\n if (allowSignalWrites) {\n node.consumerAllowSignalWrites = true;\n }\n node.fn = fn;\n node.schedule = schedule;\n const registerOnCleanup = cleanupFn => {\n node.cleanupFn = cleanupFn;\n };\n function isWatchNodeDestroyed(node) {\n return node.fn === null && node.schedule === null;\n }\n function destroyWatchNode(node) {\n if (!isWatchNodeDestroyed(node)) {\n consumerDestroy(node); // disconnect watcher from the reactive graph\n node.cleanupFn();\n // nullify references to the integration functions to mark node as destroyed\n node.fn = null;\n node.schedule = null;\n node.cleanupFn = NOOP_CLEANUP_FN;\n }\n }\n const run = () => {\n if (node.fn === null) {\n // trying to run a destroyed watch is noop\n return;\n }\n if (isInNotificationPhase()) {\n throw new Error(`Schedulers cannot synchronously execute watches while scheduling.`);\n }\n node.dirty = false;\n if (node.hasRun && !consumerPollProducersForChange(node)) {\n return;\n }\n node.hasRun = true;\n const prevConsumer = consumerBeforeComputation(node);\n try {\n node.cleanupFn();\n node.cleanupFn = NOOP_CLEANUP_FN;\n node.fn(registerOnCleanup);\n } finally {\n consumerAfterComputation(node, prevConsumer);\n }\n };\n node.ref = {\n notify: () => consumerMarkDirty(node),\n run,\n cleanup: () => node.cleanupFn(),\n destroy: () => destroyWatchNode(node),\n [SIGNAL]: node\n };\n return node.ref;\n}\nconst NOOP_CLEANUP_FN = () => {};\n// Note: Using an IIFE here to ensure that the spread assignment is not considered\n// a side-effect, ending up preserving `COMPUTED_NODE` and `REACTIVE_NODE`.\n// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.\nconst WATCH_NODE = /* @__PURE__ */(() => {\n return {\n ...REACTIVE_NODE,\n consumerIsAlwaysLive: true,\n consumerAllowSignalWrites: false,\n consumerMarkedDirty: node => {\n if (node.schedule !== null) {\n node.schedule(node.ref);\n }\n },\n hasRun: false,\n cleanupFn: NOOP_CLEANUP_FN\n };\n})();\nfunction setAlternateWeakRefImpl(impl) {\n // TODO: remove this function\n}\nexport { REACTIVE_NODE, SIGNAL, SIGNAL_NODE, consumerAfterComputation, consumerBeforeComputation, consumerDestroy, consumerMarkDirty, consumerPollProducersForChange, createComputed, createSignal, createWatch, defaultEquals, getActiveConsumer, isInNotificationPhase, isReactive, producerAccessed, producerIncrementEpoch, producerNotifyConsumers, producerUpdateValueVersion, producerUpdatesAllowed, runPostSignalSetFn, setActiveConsumer, setAlternateWeakRefImpl, setPostSignalSetFn, setThrowInvalidWriteToSignalError, signalSetFn, signalUpdateFn };\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n","export function createErrorClass(createImpl) {\n const _super = instance => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass(_super => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}` : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const {\n _parentage\n } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n const {\n initialTeardown: initialFinalizer\n } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const {\n _finalizers\n } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const {\n _parentage\n } = this;\n return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent);\n }\n _addParent(parent) {\n const {\n _parentage\n } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const {\n _parentage\n } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const {\n _finalizers\n } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return value instanceof Subscription || value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe);\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false\n};\n","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const {\n delegate\n } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const {\n delegate\n } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined\n};\n","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const {\n onUnhandledError\n } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n } else {\n throw err;\n }\n });\n}\n","export function noop() {}\n","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error\n };\n}\n","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = {\n errorThrown: false,\n error: null\n };\n }\n cb();\n if (isRoot) {\n const {\n errorThrown,\n error\n } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const {\n partialObserver\n } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const {\n partialObserver\n } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const {\n partialObserver\n } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined\n };\n } else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context)\n };\n } else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const {\n onStoppedNotification\n } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop\n};\n","export const observable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();\n","export function identity(x) {\n return x;\n}\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport let Observable = /*#__PURE__*/(() => {\n class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const {\n operator,\n source\n } = this;\n subscriber.add(operator ? operator.call(subscriber, source) : source ? this._subscribe(subscriber) : this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n } catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: value => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe(x => value = x, err => reject(err), () => resolve(value));\n });\n }\n }\n Observable.create = subscribe => {\n return new Observable(subscribe);\n };\n return Observable;\n})();\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return value && value instanceof Subscriber || isObserver(value) && isSubscription(value);\n}\n","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return source => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext ? function (value) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n } : super._next;\n this._error = onError ? function (err) {\n try {\n onError(err);\n } catch (err) {\n destination.error(err);\n } finally {\n this.unsubscribe();\n }\n } : super._error;\n this._complete = onComplete ? function () {\n try {\n onComplete();\n } catch (err) {\n destination.error(err);\n } finally {\n this.unsubscribe();\n }\n } : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const {\n closed\n } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass(_super => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport let Subject = /*#__PURE__*/(() => {\n class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const {\n observers\n } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const {\n observers\n } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const {\n hasError,\n isStopped,\n observers\n } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const {\n hasError,\n thrownError,\n isStopped\n } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n }\n Subject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n})();\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n","import { Subject } from './Subject';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const {\n hasError,\n thrownError,\n _value\n } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next(this._value = value);\n }\n}\n","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n};\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nexport var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) {\n if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\");\n return f;\n }\n var kind = contextIn.kind,\n key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _,\n done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) {\n if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\");\n extraInitializers.push(accept(f || null));\n };\n var result = (0, decorators[i])(kind === \"accessor\" ? {\n get: descriptor.get,\n set: descriptor.set\n } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n } else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n}\n;\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n}\n;\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n}\n;\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", {\n configurable: true,\n value: prefix ? \"\".concat(prefix, \" \", name) : name\n });\n}\n;\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport var __createBinding = Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n};\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];\n return r;\n}\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n function awaitReturn(f) {\n return function (v) {\n return Promise.resolve(v).then(f, reject);\n };\n }\n function verb(n, f) {\n if (g[n]) {\n i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n if (f) i[n] = f(i[n]);\n }\n }\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n function fulfill(value) {\n resume(\"next\", value);\n }\n function reject(value) {\n resume(\"throw\", value);\n }\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: false\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n return cooked;\n}\n;\nvar __setModuleDefault = Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n};\nvar ownKeys = function (o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n}\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || typeof receiver !== \"object\" && typeof receiver !== \"function\") throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function () {\n try {\n inner.call(this);\n } catch (e) {\n return Promise.reject(e);\n }\n };\n env.stack.push({\n value: value,\n dispose: dispose,\n async: async\n });\n } else if (async) {\n env.stack.push({\n async: true\n });\n }\n return value;\n}\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r,\n s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function (e) {\n fail(e);\n return next();\n });\n } else s |= 1;\n } catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : d + ext + \".\" + cm.toLowerCase() + \"js\";\n });\n }\n return path;\n}\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension\n};","export const isArrayLike = x => x && typeof x.length === 'number' && typeof x !== 'function';\n","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);\n}\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n","import { __asyncGenerator, __await } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const {\n value,\n done\n } = yield __await(reader.read());\n if (done) {\n return yield __await(void 0);\n }\n yield yield __await(value);\n }\n } finally {\n reader.releaseLock();\n }\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(subscriber => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(subscriber => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(subscriber => {\n promise.then(value => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, err => subscriber.error(err)).then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(subscriber => {\n for (const value of iterable) {\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(subscriber => {\n process(asyncIterable, subscriber).catch(err => subscriber.error(err));\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n subscriber.complete();\n });\n}\n","export function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {\n const scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n } else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, value => executeSchedule(subscriber, scheduler, () => subscriber.next(value), delay), () => executeSchedule(subscriber, scheduler, () => subscriber.complete(), delay), err => executeSchedule(subscriber, scheduler, () => subscriber.error(err), delay)));\n });\n}\n","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable(subscriber => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n } else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable(subscriber => {\n let iterator;\n executeSchedule(subscriber, scheduler, () => {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, () => {\n let value;\n let done;\n try {\n ({\n value,\n done\n } = iterator.next());\n } catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n } else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n executeSchedule(subscriber, scheduler, () => {\n const iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, () => {\n iterator.next().then(result => {\n if (result.done) {\n subscriber.complete();\n } else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, value => {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n","import { map } from \"../operators/map\";\nconst {\n isArray\n} = Array;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn(...args) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(args => callOrApply(fn, args));\n}\n","const {\n isArray\n} = Array;\nconst {\n getPrototypeOf,\n prototype: objectProto,\n keys: getKeys\n} = Object;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (isArray(first)) {\n return {\n args: first,\n keys: null\n };\n }\n if (isPOJO(first)) {\n const keys = getKeys(first);\n return {\n args: keys.map(key => first[key]),\n keys\n };\n }\n }\n return {\n args: args,\n keys: null\n };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n","export function createObject(keys, values) {\n return keys.reduce((result, key, i) => (result[key] = values[i], result), {});\n}\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { innerFrom } from './innerFrom';\nimport { popResultSelector } from '../util/args';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { createObject } from '../util/createObject';\nexport function forkJoin(...args) {\n const resultSelector = popResultSelector(args);\n const {\n args: sources,\n keys\n } = argsArgArrayOrObject(args);\n const result = new Observable(subscriber => {\n const {\n length\n } = sources;\n if (!length) {\n subscriber.complete();\n return;\n }\n const values = new Array(length);\n let remainingCompletions = length;\n let remainingEmissions = length;\n for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n let hasValue = false;\n innerFrom(sources[sourceIndex]).subscribe(createOperatorSubscriber(subscriber, value => {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n }, () => remainingCompletions--, undefined, () => {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }));\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\n","/**\n * @license Angular v18.2.13\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { SIGNAL_NODE as SIGNAL_NODE$1, signalSetFn as signalSetFn$1, producerAccessed as producerAccessed$1, SIGNAL as SIGNAL$1, getActiveConsumer as getActiveConsumer$1, setActiveConsumer as setActiveConsumer$1, consumerDestroy as consumerDestroy$1, REACTIVE_NODE as REACTIVE_NODE$1, consumerBeforeComputation as consumerBeforeComputation$1, consumerAfterComputation as consumerAfterComputation$1, consumerPollProducersForChange as consumerPollProducersForChange$1, createSignal as createSignal$1, signalUpdateFn as signalUpdateFn$1, createComputed as createComputed$1, setThrowInvalidWriteToSignalError as setThrowInvalidWriteToSignalError$1, createWatch as createWatch$1 } from '@angular/core/primitives/signals';\nexport { SIGNAL as ɵSIGNAL } from '@angular/core/primitives/signals';\nimport { BehaviorSubject, Subject, Subscription } from 'rxjs';\nimport { map, first } from 'rxjs/operators';\nimport { Attribute as Attribute$1, EventContract, EventContractContainer, getAppScopedQueuedEventInfos, clearAppScopedEarlyEventContract, EventDispatcher, registerDispatcher, isEarlyEventType, isCaptureEventType } from '@angular/core/primitives/event-dispatch';\n\n/**\n * Base URL for the error details page.\n *\n * Keep this constant in sync across:\n * - packages/compiler-cli/src/ngtsc/diagnostics/src/error_details_base_url.ts\n * - packages/core/src/error_details_base_url.ts\n */\nconst ERROR_DETAILS_PAGE_BASE_URL = 'https://angular.dev/errors';\n/**\n * URL for the XSS security documentation.\n */\nconst XSS_SECURITY_URL = 'https://g.co/ng/security#xss';\n\n/**\n * Class that represents a runtime error.\n * Formats and outputs the error message in a consistent way.\n *\n * Example:\n * ```\n * throw new RuntimeError(\n * RuntimeErrorCode.INJECTOR_ALREADY_DESTROYED,\n * ngDevMode && 'Injector has already been destroyed.');\n * ```\n *\n * Note: the `message` argument contains a descriptive error message as a string in development\n * mode (when the `ngDevMode` is defined). In production mode (after tree-shaking pass), the\n * `message` argument becomes `false`, thus we account for it in the typings and the runtime\n * logic.\n */\nclass RuntimeError extends Error {\n constructor(code, message) {\n super(formatRuntimeError(code, message));\n this.code = code;\n }\n}\n/**\n * Called to format a runtime error.\n * See additional info on the `message` argument type in the `RuntimeError` class description.\n */\nfunction formatRuntimeError(code, message) {\n // Error code might be a negative number, which is a special marker that instructs the logic to\n // generate a link to the error details page on angular.io.\n // We also prepend `0` to non-compile-time errors.\n const fullCode = `NG0${Math.abs(code)}`;\n let errorMessage = `${fullCode}${message ? ': ' + message : ''}`;\n if (ngDevMode && code < 0) {\n const addPeriodSeparator = !errorMessage.match(/[.,;!?\\n]$/);\n const separator = addPeriodSeparator ? '.' : '';\n errorMessage = `${errorMessage}${separator} Find more at ${ERROR_DETAILS_PAGE_BASE_URL}/${fullCode}`;\n }\n return errorMessage;\n}\nconst REQUIRED_UNSET_VALUE = /* @__PURE__ */Symbol('InputSignalNode#UNSET');\n// Note: Using an IIFE here to ensure that the spread assignment is not considered\n// a side-effect, ending up preserving `COMPUTED_NODE` and `REACTIVE_NODE`.\n// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.\nconst INPUT_SIGNAL_NODE = /* @__PURE__ */(() => {\n return {\n ...SIGNAL_NODE$1,\n transformFn: undefined,\n applyValueToInputSignal(node, value) {\n signalSetFn$1(node, value);\n }\n };\n})();\nconst ɵINPUT_SIGNAL_BRAND_READ_TYPE = /* @__PURE__ */Symbol();\nconst ɵINPUT_SIGNAL_BRAND_WRITE_TYPE = /* @__PURE__ */Symbol();\n/**\n * Creates an input signal.\n *\n * @param initialValue The initial value.\n * Can be set to {@link REQUIRED_UNSET_VALUE} for required inputs.\n * @param options Additional options for the input. e.g. a transform, or an alias.\n */\nfunction createInputSignal(initialValue, options) {\n const node = Object.create(INPUT_SIGNAL_NODE);\n node.value = initialValue;\n // Perf note: Always set `transformFn` here to ensure that `node` always\n // has the same v8 class shape, allowing monomorphic reads on input signals.\n node.transformFn = options?.transform;\n function inputValueFn() {\n // Record that someone looked at this signal.\n producerAccessed$1(node);\n if (node.value === REQUIRED_UNSET_VALUE) {\n throw new RuntimeError(-950 /* RuntimeErrorCode.REQUIRED_INPUT_NO_VALUE */, ngDevMode && 'Input is required but no value is available yet.');\n }\n return node.value;\n }\n inputValueFn[SIGNAL$1] = node;\n if (ngDevMode) {\n inputValueFn.toString = () => `[Input Signal: ${inputValueFn()}]`;\n }\n return inputValueFn;\n}\n\n/**\n * Convince closure compiler that the wrapped function has no side-effects.\n *\n * Closure compiler always assumes that `toString` has no side-effects. We use this quirk to\n * allow us to execute a function but have closure compiler mark the call as no-side-effects.\n * It is important that the return value for the `noSideEffects` function be assigned\n * to something which is retained otherwise the call to `noSideEffects` will be removed by closure\n * compiler.\n */\nfunction noSideEffects(fn) {\n return {\n toString: fn\n }.toString();\n}\nconst ANNOTATIONS = '__annotations__';\nconst PARAMETERS = '__parameters__';\nconst PROP_METADATA = '__prop__metadata__';\n/**\n * @suppress {globalThis}\n */\nfunction makeDecorator(name, props, parentClass, additionalProcessing, typeFn) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function DecoratorFactory(...args) {\n if (this instanceof DecoratorFactory) {\n metaCtor.call(this, ...args);\n return this;\n }\n const annotationInstance = new DecoratorFactory(...args);\n return function TypeDecorator(cls) {\n if (typeFn) typeFn(cls, ...args);\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n const annotations = cls.hasOwnProperty(ANNOTATIONS) ? cls[ANNOTATIONS] : Object.defineProperty(cls, ANNOTATIONS, {\n value: []\n })[ANNOTATIONS];\n annotations.push(annotationInstance);\n if (additionalProcessing) additionalProcessing(cls);\n return cls;\n };\n }\n if (parentClass) {\n DecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n DecoratorFactory.prototype.ngMetadataName = name;\n DecoratorFactory.annotationCls = DecoratorFactory;\n return DecoratorFactory;\n });\n}\nfunction makeMetadataCtor(props) {\n return function ctor(...args) {\n if (props) {\n const values = props(...args);\n for (const propName in values) {\n this[propName] = values[propName];\n }\n }\n };\n}\nfunction makeParamDecorator(name, props, parentClass) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function ParamDecoratorFactory(...args) {\n if (this instanceof ParamDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n const annotationInstance = new ParamDecoratorFactory(...args);\n ParamDecorator.annotation = annotationInstance;\n return ParamDecorator;\n function ParamDecorator(cls, unusedKey, index) {\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n const parameters = cls.hasOwnProperty(PARAMETERS) ? cls[PARAMETERS] : Object.defineProperty(cls, PARAMETERS, {\n value: []\n })[PARAMETERS];\n // there might be gaps if some in between parameters do not have annotations.\n // we pad with nulls.\n while (parameters.length <= index) {\n parameters.push(null);\n }\n (parameters[index] = parameters[index] || []).push(annotationInstance);\n return cls;\n }\n }\n if (parentClass) {\n ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n ParamDecoratorFactory.prototype.ngMetadataName = name;\n ParamDecoratorFactory.annotationCls = ParamDecoratorFactory;\n return ParamDecoratorFactory;\n });\n}\nfunction makePropDecorator(name, props, parentClass, additionalProcessing) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function PropDecoratorFactory(...args) {\n if (this instanceof PropDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n const decoratorInstance = new PropDecoratorFactory(...args);\n function PropDecorator(target, name) {\n // target is undefined with standard decorators. This case is not supported and will throw\n // if this decorator is used in JIT mode with standard decorators.\n if (target === undefined) {\n throw new Error('Standard Angular field decorators are not supported in JIT mode.');\n }\n const constructor = target.constructor;\n // Use of Object.defineProperty is important because it creates a non-enumerable property\n // which prevents the property from being copied during subclassing.\n const meta = constructor.hasOwnProperty(PROP_METADATA) ? constructor[PROP_METADATA] : Object.defineProperty(constructor, PROP_METADATA, {\n value: {}\n })[PROP_METADATA];\n meta[name] = meta.hasOwnProperty(name) && meta[name] || [];\n meta[name].unshift(decoratorInstance);\n if (additionalProcessing) additionalProcessing(target, name, ...args);\n }\n return PropDecorator;\n }\n if (parentClass) {\n PropDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n PropDecoratorFactory.prototype.ngMetadataName = name;\n PropDecoratorFactory.annotationCls = PropDecoratorFactory;\n return PropDecoratorFactory;\n });\n}\nconst _global = globalThis;\nfunction ngDevModeResetPerfCounters() {\n const locationString = typeof location !== 'undefined' ? location.toString() : '';\n const newCounters = {\n namedConstructors: locationString.indexOf('ngDevMode=namedConstructors') != -1,\n firstCreatePass: 0,\n tNode: 0,\n tView: 0,\n rendererCreateTextNode: 0,\n rendererSetText: 0,\n rendererCreateElement: 0,\n rendererAddEventListener: 0,\n rendererSetAttribute: 0,\n rendererRemoveAttribute: 0,\n rendererSetProperty: 0,\n rendererSetClassName: 0,\n rendererAddClass: 0,\n rendererRemoveClass: 0,\n rendererSetStyle: 0,\n rendererRemoveStyle: 0,\n rendererDestroy: 0,\n rendererDestroyNode: 0,\n rendererMoveNode: 0,\n rendererRemoveNode: 0,\n rendererAppendChild: 0,\n rendererInsertBefore: 0,\n rendererCreateComment: 0,\n hydratedNodes: 0,\n hydratedComponents: 0,\n dehydratedViewsRemoved: 0,\n dehydratedViewsCleanupRuns: 0,\n componentsSkippedHydration: 0\n };\n // Make sure to refer to ngDevMode as ['ngDevMode'] for closure.\n const allowNgDevModeTrue = locationString.indexOf('ngDevMode=false') === -1;\n if (!allowNgDevModeTrue) {\n _global['ngDevMode'] = false;\n } else {\n if (typeof _global['ngDevMode'] !== 'object') {\n _global['ngDevMode'] = {};\n }\n Object.assign(_global['ngDevMode'], newCounters);\n }\n return newCounters;\n}\n/**\n * This function checks to see if the `ngDevMode` has been set. If yes,\n * then we honor it, otherwise we default to dev mode with additional checks.\n *\n * The idea is that unless we are doing production build where we explicitly\n * set `ngDevMode == false` we should be helping the developer by providing\n * as much early warning and errors as possible.\n *\n * `ɵɵdefineComponent` is guaranteed to have been called before any component template functions\n * (and thus Ivy instructions), so a single initialization there is sufficient to ensure ngDevMode\n * is defined for the entire instruction set.\n *\n * When checking `ngDevMode` on toplevel, always init it before referencing it\n * (e.g. `((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode())`), otherwise you can\n * get a `ReferenceError` like in https://github.com/angular/angular/issues/31595.\n *\n * Details on possible values for `ngDevMode` can be found on its docstring.\n *\n * NOTE:\n * - changes to the `ngDevMode` name must be synced with `compiler-cli/src/tooling.ts`.\n */\nfunction initNgDevMode() {\n // The below checks are to ensure that calling `initNgDevMode` multiple times does not\n // reset the counters.\n // If the `ngDevMode` is not an object, then it means we have not created the perf counters\n // yet.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (typeof ngDevMode !== 'object' || Object.keys(ngDevMode).length === 0) {\n ngDevModeResetPerfCounters();\n }\n return typeof ngDevMode !== 'undefined' && !!ngDevMode;\n }\n return false;\n}\nfunction getClosureSafeProperty(objWithPropertyToExtract) {\n for (let key in objWithPropertyToExtract) {\n if (objWithPropertyToExtract[key] === getClosureSafeProperty) {\n return key;\n }\n }\n throw Error('Could not find renamed property on target object.');\n}\n/**\n * Sets properties on a target object from a source object, but only if\n * the property doesn't already exist on the target object.\n * @param target The target to set properties on\n * @param source The source of the property keys and values to set\n */\nfunction fillProperties(target, source) {\n for (const key in source) {\n if (source.hasOwnProperty(key) && !target.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n}\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Concatenates two strings with separator, allocating new strings only when necessary.\n *\n * @param before before string.\n * @param separator separator string.\n * @param after after string.\n * @returns concatenated string.\n */\nfunction concatStringsWithSpace(before, after) {\n return before == null || before === '' ? after === null ? '' : after : after == null || after === '' ? before : before + ' ' + after;\n}\n/**\n * Ellipses the string in the middle when longer than the max length\n *\n * @param string\n * @param maxLength of the output string\n * @returns ellipsed string with ... in the middle\n */\nfunction truncateMiddle(str, maxLength = 100) {\n if (!str || maxLength < 1 || str.length <= maxLength) return str;\n if (maxLength == 1) return str.substring(0, 1) + '...';\n const halfLimit = Math.round(maxLength / 2);\n return str.substring(0, halfLimit) + '...' + str.substring(str.length - halfLimit);\n}\nconst __forward_ref__ = /*#__PURE__*/getClosureSafeProperty({\n __forward_ref__: getClosureSafeProperty\n});\n/**\n * Allows to refer to references which are not yet defined.\n *\n * For instance, `forwardRef` is used when the `token` which we need to refer to for the purposes of\n * DI is declared, but not yet defined. It is also used when the `token` which we use when creating\n * a query is not yet defined.\n *\n * `forwardRef` is also used to break circularities in standalone components imports.\n *\n * @usageNotes\n * ### Circular dependency example\n * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}\n *\n * ### Circular standalone reference import example\n * ```ts\n * @Component({\n * standalone: true,\n * imports: [ChildComponent],\n * selector: 'app-parent',\n * template: `
Progress: {{progress}}%
\n *= 100\">Done processing {{label}} of Angular zone!
\n *\n * \n * \n * `,\n * })\n * export class NgZoneDemo {\n * progress: number = 0;\n * label: string;\n *\n * constructor(private _ngZone: NgZone) {}\n *\n * // Loop inside the Angular zone\n * // so the UI DOES refresh after each setTimeout cycle\n * processWithinAngularZone() {\n * this.label = 'inside';\n * this.progress = 0;\n * this._increaseProgress(() => console.log('Inside Done!'));\n * }\n *\n * // Loop outside of the Angular zone\n * // so the UI DOES NOT refresh after each setTimeout cycle\n * processOutsideOfAngularZone() {\n * this.label = 'outside';\n * this.progress = 0;\n * this._ngZone.runOutsideAngular(() => {\n * this._increaseProgress(() => {\n * // reenter the Angular zone and display done\n * this._ngZone.run(() => { console.log('Outside Done!'); });\n * });\n * });\n * }\n *\n * _increaseProgress(doneCallback: () => void) {\n * this.progress += 1;\n * console.log(`Current progress: ${this.progress}%`);\n *\n * if (this.progress < 100) {\n * window.setTimeout(() => this._increaseProgress(doneCallback), 10);\n * } else {\n * doneCallback();\n * }\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass NgZone {\n constructor(options) {\n this.hasPendingMacrotasks = false;\n this.hasPendingMicrotasks = false;\n /**\n * Whether there are no outstanding microtasks or macrotasks.\n */\n this.isStable = true;\n /**\n * Notifies when code enters Angular Zone. This gets fired first on VM Turn.\n */\n this.onUnstable = new EventEmitter(false);\n /**\n * Notifies when there is no more microtasks enqueued in the current VM Turn.\n * This is a hint for Angular to do change detection, which may enqueue more microtasks.\n * For this reason this event can fire multiple times per VM Turn.\n */\n this.onMicrotaskEmpty = new EventEmitter(false);\n /**\n * Notifies when the last `onMicrotaskEmpty` has run and there are no more microtasks, which\n * implies we are about to relinquish VM turn.\n * This event gets called just once.\n */\n this.onStable = new EventEmitter(false);\n /**\n * Notifies that an error has been delivered.\n */\n this.onError = new EventEmitter(false);\n const {\n enableLongStackTrace = false,\n shouldCoalesceEventChangeDetection = false,\n shouldCoalesceRunChangeDetection = false,\n scheduleInRootZone = SCHEDULE_IN_ROOT_ZONE_DEFAULT\n } = options;\n if (typeof Zone == 'undefined') {\n throw new RuntimeError(908 /* RuntimeErrorCode.MISSING_ZONEJS */, ngDevMode && `In this configuration Angular requires Zone.js`);\n }\n Zone.assertZonePatched();\n const self = this;\n self._nesting = 0;\n self._outer = self._inner = Zone.current;\n // AsyncStackTaggingZoneSpec provides `linked stack traces` to show\n // where the async operation is scheduled. For more details, refer\n // to this article, https://developer.chrome.com/blog/devtools-better-angular-debugging/\n // And we only import this AsyncStackTaggingZoneSpec in development mode,\n // in the production mode, the AsyncStackTaggingZoneSpec will be tree shaken away.\n if (ngDevMode) {\n self._inner = self._inner.fork(new AsyncStackTaggingZoneSpec('Angular'));\n }\n if (Zone['TaskTrackingZoneSpec']) {\n self._inner = self._inner.fork(new Zone['TaskTrackingZoneSpec']());\n }\n if (enableLongStackTrace && Zone['longStackTraceZoneSpec']) {\n self._inner = self._inner.fork(Zone['longStackTraceZoneSpec']);\n }\n // if shouldCoalesceRunChangeDetection is true, all tasks including event tasks will be\n // coalesced, so shouldCoalesceEventChangeDetection option is not necessary and can be skipped.\n self.shouldCoalesceEventChangeDetection = !shouldCoalesceRunChangeDetection && shouldCoalesceEventChangeDetection;\n self.shouldCoalesceRunChangeDetection = shouldCoalesceRunChangeDetection;\n self.callbackScheduled = false;\n self.scheduleInRootZone = scheduleInRootZone;\n forkInnerZoneWithAngularBehavior(self);\n }\n /**\n This method checks whether the method call happens within an Angular Zone instance.\n */\n static isInAngularZone() {\n // Zone needs to be checked, because this method might be called even when NoopNgZone is used.\n return typeof Zone !== 'undefined' && Zone.current.get(isAngularZoneProperty) === true;\n }\n /**\n Assures that the method is called within the Angular Zone, otherwise throws an error.\n */\n static assertInAngularZone() {\n if (!NgZone.isInAngularZone()) {\n throw new RuntimeError(909 /* RuntimeErrorCode.UNEXPECTED_ZONE_STATE */, ngDevMode && 'Expected to be in Angular Zone, but it is not!');\n }\n }\n /**\n Assures that the method is called outside of the Angular Zone, otherwise throws an error.\n */\n static assertNotInAngularZone() {\n if (NgZone.isInAngularZone()) {\n throw new RuntimeError(909 /* RuntimeErrorCode.UNEXPECTED_ZONE_STATE */, ngDevMode && 'Expected to not be in Angular Zone, but it is!');\n }\n }\n /**\n * Executes the `fn` function synchronously within the Angular zone and returns value returned by\n * the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n */\n run(fn, applyThis, applyArgs) {\n return this._inner.run(fn, applyThis, applyArgs);\n }\n /**\n * Executes the `fn` function synchronously within the Angular zone as a task and returns value\n * returned by the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n */\n runTask(fn, applyThis, applyArgs, name) {\n const zone = this._inner;\n const task = zone.scheduleEventTask('NgZoneEvent: ' + name, fn, EMPTY_PAYLOAD, noop, noop);\n try {\n return zone.runTask(task, applyThis, applyArgs);\n } finally {\n zone.cancelTask(task);\n }\n }\n /**\n * Same as `run`, except that synchronous errors are caught and forwarded via `onError` and not\n * rethrown.\n */\n runGuarded(fn, applyThis, applyArgs) {\n return this._inner.runGuarded(fn, applyThis, applyArgs);\n }\n /**\n * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by\n * the function.\n *\n * Running functions via {@link #runOutsideAngular} allows you to escape Angular's zone and do\n * work that\n * doesn't trigger Angular change-detection or is subject to Angular's error handling.\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * outside of the Angular zone.\n *\n * Use {@link #run} to reenter the Angular zone and do work that updates the application model.\n */\n runOutsideAngular(fn) {\n return this._outer.run(fn);\n }\n}\nconst EMPTY_PAYLOAD = {};\nfunction checkStable(zone) {\n // TODO: @JiaLiPassion, should check zone.isCheckStableRunning to prevent\n // re-entry. The case is:\n //\n // @Component({...})\n // export class AppComponent {\n // constructor(private ngZone: NgZone) {\n // this.ngZone.onStable.subscribe(() => {\n // this.ngZone.run(() => console.log('stable'););\n // });\n // }\n //\n // The onStable subscriber run another function inside ngZone\n // which causes `checkStable()` re-entry.\n // But this fix causes some issues in g3, so this fix will be\n // launched in another PR.\n if (zone._nesting == 0 && !zone.hasPendingMicrotasks && !zone.isStable) {\n try {\n zone._nesting++;\n zone.onMicrotaskEmpty.emit(null);\n } finally {\n zone._nesting--;\n if (!zone.hasPendingMicrotasks) {\n try {\n zone.runOutsideAngular(() => zone.onStable.emit(null));\n } finally {\n zone.isStable = true;\n }\n }\n }\n }\n}\nfunction delayChangeDetectionForEvents(zone) {\n /**\n * We also need to check _nesting here\n * Consider the following case with shouldCoalesceRunChangeDetection = true\n *\n * ngZone.run(() => {});\n * ngZone.run(() => {});\n *\n * We want the two `ngZone.run()` only trigger one change detection\n * when shouldCoalesceRunChangeDetection is true.\n * And because in this case, change detection run in async way(requestAnimationFrame),\n * so we also need to check the _nesting here to prevent multiple\n * change detections.\n */\n if (zone.isCheckStableRunning || zone.callbackScheduled) {\n return;\n }\n zone.callbackScheduled = true;\n function scheduleCheckStable() {\n scheduleCallbackWithRafRace(() => {\n zone.callbackScheduled = false;\n updateMicroTaskStatus(zone);\n zone.isCheckStableRunning = true;\n checkStable(zone);\n zone.isCheckStableRunning = false;\n });\n }\n if (zone.scheduleInRootZone) {\n Zone.root.run(() => {\n scheduleCheckStable();\n });\n } else {\n zone._outer.run(() => {\n scheduleCheckStable();\n });\n }\n updateMicroTaskStatus(zone);\n}\nfunction forkInnerZoneWithAngularBehavior(zone) {\n const delayChangeDetectionForEventsDelegate = () => {\n delayChangeDetectionForEvents(zone);\n };\n const instanceId = ngZoneInstanceId++;\n zone._inner = zone._inner.fork({\n name: 'angular',\n properties: {\n [isAngularZoneProperty]: true,\n [angularZoneInstanceIdProperty]: instanceId,\n [angularZoneInstanceIdProperty + instanceId]: true\n },\n onInvokeTask: (delegate, current, target, task, applyThis, applyArgs) => {\n // Prevent triggering change detection when the flag is detected.\n if (shouldBeIgnoredByZone(applyArgs)) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n }\n try {\n onEnter(zone);\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n } finally {\n if (zone.shouldCoalesceEventChangeDetection && task.type === 'eventTask' || zone.shouldCoalesceRunChangeDetection) {\n delayChangeDetectionForEventsDelegate();\n }\n onLeave(zone);\n }\n },\n onInvoke: (delegate, current, target, callback, applyThis, applyArgs, source) => {\n try {\n onEnter(zone);\n return delegate.invoke(target, callback, applyThis, applyArgs, source);\n } finally {\n if (zone.shouldCoalesceRunChangeDetection &&\n // Do not delay change detection when the task is the scheduler's tick.\n // We need to synchronously trigger the stability logic so that the\n // zone-based scheduler can prevent a duplicate ApplicationRef.tick\n // by first checking if the scheduler tick is running. This does seem a bit roundabout,\n // but we _do_ still want to trigger all the correct events when we exit the zone.run\n // (`onMicrotaskEmpty` and `onStable` _should_ emit; developers can have code which\n // relies on these events happening after change detection runs).\n // Note: `zone.callbackScheduled` is already in delayChangeDetectionForEventsDelegate\n // but is added here as well to prevent reads of applyArgs when not necessary\n !zone.callbackScheduled && !isSchedulerTick(applyArgs)) {\n delayChangeDetectionForEventsDelegate();\n }\n onLeave(zone);\n }\n },\n onHasTask: (delegate, current, target, hasTaskState) => {\n delegate.hasTask(target, hasTaskState);\n if (current === target) {\n // We are only interested in hasTask events which originate from our zone\n // (A child hasTask event is not interesting to us)\n if (hasTaskState.change == 'microTask') {\n zone._hasPendingMicrotasks = hasTaskState.microTask;\n updateMicroTaskStatus(zone);\n checkStable(zone);\n } else if (hasTaskState.change == 'macroTask') {\n zone.hasPendingMacrotasks = hasTaskState.macroTask;\n }\n }\n },\n onHandleError: (delegate, current, target, error) => {\n delegate.handleError(target, error);\n zone.runOutsideAngular(() => zone.onError.emit(error));\n return false;\n }\n });\n}\nfunction updateMicroTaskStatus(zone) {\n if (zone._hasPendingMicrotasks || (zone.shouldCoalesceEventChangeDetection || zone.shouldCoalesceRunChangeDetection) && zone.callbackScheduled === true) {\n zone.hasPendingMicrotasks = true;\n } else {\n zone.hasPendingMicrotasks = false;\n }\n}\nfunction onEnter(zone) {\n zone._nesting++;\n if (zone.isStable) {\n zone.isStable = false;\n zone.onUnstable.emit(null);\n }\n}\nfunction onLeave(zone) {\n zone._nesting--;\n checkStable(zone);\n}\n/**\n * Provides a noop implementation of `NgZone` which does nothing. This zone requires explicit calls\n * to framework to perform rendering.\n */\nclass NoopNgZone {\n constructor() {\n this.hasPendingMicrotasks = false;\n this.hasPendingMacrotasks = false;\n this.isStable = true;\n this.onUnstable = new EventEmitter();\n this.onMicrotaskEmpty = new EventEmitter();\n this.onStable = new EventEmitter();\n this.onError = new EventEmitter();\n }\n run(fn, applyThis, applyArgs) {\n return fn.apply(applyThis, applyArgs);\n }\n runGuarded(fn, applyThis, applyArgs) {\n return fn.apply(applyThis, applyArgs);\n }\n runOutsideAngular(fn) {\n return fn();\n }\n runTask(fn, applyThis, applyArgs, name) {\n return fn.apply(applyThis, applyArgs);\n }\n}\nfunction shouldBeIgnoredByZone(applyArgs) {\n return hasApplyArgsData(applyArgs, '__ignore_ng_zone__');\n}\nfunction isSchedulerTick(applyArgs) {\n return hasApplyArgsData(applyArgs, '__scheduler_tick__');\n}\nfunction hasApplyArgsData(applyArgs, key) {\n if (!Array.isArray(applyArgs)) {\n return false;\n }\n // We should only ever get 1 arg passed through to invokeTask.\n // Short circuit here incase that behavior changes.\n if (applyArgs.length !== 1) {\n return false;\n }\n return applyArgs[0]?.data?.[key] === true;\n}\nfunction getNgZone(ngZoneToUse = 'zone.js', options) {\n if (ngZoneToUse === 'noop') {\n return new NoopNgZone();\n }\n if (ngZoneToUse === 'zone.js') {\n return new NgZone(options);\n }\n return ngZoneToUse;\n}\n\n// Public API for Zone\n\n/**\n * Provides a hook for centralized exception handling.\n *\n * The default implementation of `ErrorHandler` prints error messages to the `console`. To\n * intercept error handling, write a custom exception handler that replaces this default as\n * appropriate for your app.\n *\n * @usageNotes\n * ### Example\n *\n * ```\n * class MyErrorHandler implements ErrorHandler {\n * handleError(error) {\n * // do something with the exception\n * }\n * }\n *\n * @NgModule({\n * providers: [{provide: ErrorHandler, useClass: MyErrorHandler}]\n * })\n * class MyModule {}\n * ```\n *\n * @publicApi\n */\nclass ErrorHandler {\n constructor() {\n /**\n * @internal\n */\n this._console = console;\n }\n handleError(error) {\n const originalError = this._findOriginalError(error);\n this._console.error('ERROR', error);\n if (originalError) {\n this._console.error('ORIGINAL ERROR', originalError);\n }\n }\n /** @internal */\n _findOriginalError(error) {\n let e = error && getOriginalError(error);\n while (e && getOriginalError(e)) {\n e = getOriginalError(e);\n }\n return e || null;\n }\n}\n/**\n * `InjectionToken` used to configure how to call the `ErrorHandler`.\n *\n * `NgZone` is provided by default today so the default (and only) implementation for this\n * is calling `ErrorHandler.handleError` outside of the Angular zone.\n */\nconst INTERNAL_APPLICATION_ERROR_HANDLER = /*#__PURE__*/new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'internal error handler' : '', {\n providedIn: 'root',\n factory: () => {\n const zone = inject(NgZone);\n const userErrorHandler = inject(ErrorHandler);\n return e => zone.runOutsideAngular(() => userErrorHandler.handleError(e));\n }\n});\n\n/**\n * An `OutputEmitterRef` is created by the `output()` function and can be\n * used to emit values to consumers of your directive or component.\n *\n * Consumers of your directive/component can bind to the output and\n * subscribe to changes via the bound event syntax. For example:\n *\n * ```html\n *