@fin.cx/chartdata 2.16.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@fin.cx/chartdata',
6
- version: '2.16.0',
6
+ version: '3.0.0',
7
7
  description: 'Year-versioned German SKR03/SKR04 chart-of-accounts datasets with Automatikkonto functions, BU-key rules, UStVA-Kennzahl and Anlage EÜR mappings'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxtQkFBbUI7SUFDekIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLGtKQUFrSjtDQUNoSyxDQUFBIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxtQkFBbUI7SUFDekIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLGtKQUFrSjtDQUNoSyxDQUFBIn0=
@@ -58,7 +58,9 @@ export const HGB_275_GKV_POSITIONS = [
58
58
  { key: 'GuV 3', label: 'Andere aktivierte Eigenleistungen' },
59
59
  { key: 'GuV 4', label: 'Sonstige betriebliche Erträge' },
60
60
  { key: 'GuV 5', label: 'Materialaufwand' },
61
- { key: 'GuV 6', label: 'Personalaufwand' },
61
+ // Nr. 6 Personalaufwand, by its two parts
62
+ { key: 'GuV 6a', label: 'Löhne und Gehälter' },
63
+ { key: 'GuV 6b', label: 'Soziale Abgaben und Aufwendungen für Altersversorgung und für Unterstützung' },
62
64
  { key: 'GuV 7', label: 'Abschreibungen' },
63
65
  { key: 'GuV 8', label: 'Sonstige betriebliche Aufwendungen' },
64
66
  { key: 'GuV 9', label: 'Erträge aus Beteiligungen' },
@@ -78,4 +80,4 @@ export function getHgbPosition(key) {
78
80
  export function isValidHgbPosition(key) {
79
81
  return BY_KEY.has(key);
80
82
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmhnYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NoYXJ0ZGF0YS5oZ2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFPSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBbUI7SUFDL0MsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSwyRUFBMkUsRUFBRTtJQUMzRyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLHlJQUF5SSxFQUFFO0lBQ3pLLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUU7SUFDNUQsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSw0REFBNEQsRUFBRTtJQUM1RixFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLHNHQUFzRyxFQUFFO0lBQ3ZJLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7SUFDbkUsRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxvREFBb0QsRUFBRTtJQUNyRixFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLDJDQUEyQyxFQUFFO0lBQzVFLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxvQ0FBb0MsRUFBRTtJQUN0RSxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsd0NBQXdDLEVBQUU7SUFDMUUsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtJQUNqRCxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsMkVBQTJFLEVBQUU7SUFDN0csRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGlDQUFpQyxFQUFFO0lBQ25FLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRTtJQUN6RCxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGlDQUFpQyxFQUFFO0lBQ2pFLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsNkNBQTZDLEVBQUU7SUFDN0UsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSwrQkFBK0IsRUFBRTtJQUMvRCxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFO0lBQ2xFLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsNENBQTRDLEVBQUU7SUFDN0UsRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSwwQ0FBMEMsRUFBRTtJQUMzRSxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLDZFQUE2RSxFQUFFO0lBQzlHLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsK0JBQStCLEVBQUU7SUFDaEUsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLHFEQUFxRCxFQUFFO0lBQ3ZGLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTtJQUN4RCxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDhFQUE4RSxFQUFFO0lBQzdHLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUU7SUFDeEQsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRTtJQUNwRCxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLHlEQUF5RCxFQUFFO0lBQ3JGLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUU7SUFDckQsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtJQUNqRCxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO0lBQ2xELEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsOEJBQThCLEVBQUU7SUFDOUQsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBRTtJQUNsRSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDJEQUEyRCxFQUFFO0lBQzFGLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUU7SUFDckQsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRTtJQUN4RCxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtJQUN6QyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDhDQUE4QyxFQUFFO0lBQzdFLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsd0NBQXdDLEVBQUU7SUFDdkUsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxrREFBa0QsRUFBRTtJQUNqRixFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLHlGQUF5RixFQUFFO0lBQ3hILEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUscURBQXFELEVBQUU7SUFDcEYsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSx1RkFBdUYsRUFBRTtJQUN0SCxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDRCQUE0QixFQUFFO0lBQzNELEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUU7SUFDekQsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRTtDQUN2RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQW1CO0lBQ25ELEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO0lBQ3ZDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUZBQWlGLEVBQUU7SUFDMUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBRTtJQUM1RCxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLCtCQUErQixFQUFFO0lBQ3hELEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7SUFDMUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtJQUMxQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO0lBQ3pDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsb0NBQW9DLEVBQUU7SUFDN0QsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtJQUNwRCxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLDZFQUE2RSxFQUFFO0lBQ3ZHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsc0NBQXNDLEVBQUU7SUFDaEUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSwwRUFBMEUsRUFBRTtJQUNwRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFO0lBQzVELEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsc0NBQXNDLEVBQUU7SUFDaEUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRTtJQUNqRCxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFO0lBQzVDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsbUNBQW1DLEVBQUU7Q0FDOUQsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUNwQixDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQzdGLENBQUM7QUFFRixNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQVc7SUFDeEMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVc7SUFDNUMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMifQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmhnYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NoYXJ0ZGF0YS5oZ2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFPSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBbUI7SUFDL0MsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSwyRUFBMkUsRUFBRTtJQUMzRyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLHlJQUF5SSxFQUFFO0lBQ3pLLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUU7SUFDNUQsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSw0REFBNEQsRUFBRTtJQUM1RixFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLHNHQUFzRyxFQUFFO0lBQ3ZJLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7SUFDbkUsRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxvREFBb0QsRUFBRTtJQUNyRixFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLDJDQUEyQyxFQUFFO0lBQzVFLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxvQ0FBb0MsRUFBRTtJQUN0RSxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsd0NBQXdDLEVBQUU7SUFDMUUsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtJQUNqRCxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsMkVBQTJFLEVBQUU7SUFDN0csRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGlDQUFpQyxFQUFFO0lBQ25FLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRTtJQUN6RCxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGlDQUFpQyxFQUFFO0lBQ2pFLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsNkNBQTZDLEVBQUU7SUFDN0UsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSwrQkFBK0IsRUFBRTtJQUMvRCxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFO0lBQ2xFLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsNENBQTRDLEVBQUU7SUFDN0UsRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSwwQ0FBMEMsRUFBRTtJQUMzRSxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLDZFQUE2RSxFQUFFO0lBQzlHLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsK0JBQStCLEVBQUU7SUFDaEUsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLHFEQUFxRCxFQUFFO0lBQ3ZGLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRTtJQUN4RCxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDhFQUE4RSxFQUFFO0lBQzdHLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUU7SUFDeEQsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRTtJQUNwRCxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLHlEQUF5RCxFQUFFO0lBQ3JGLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUU7SUFDckQsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtJQUNqRCxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFO0lBQ2xELEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsOEJBQThCLEVBQUU7SUFDOUQsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBRTtJQUNsRSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDJEQUEyRCxFQUFFO0lBQzFGLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUU7SUFDckQsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRTtJQUN4RCxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtJQUN6QyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDhDQUE4QyxFQUFFO0lBQzdFLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsd0NBQXdDLEVBQUU7SUFDdkUsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxrREFBa0QsRUFBRTtJQUNqRixFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLHlGQUF5RixFQUFFO0lBQ3hILEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUscURBQXFELEVBQUU7SUFDcEYsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSx1RkFBdUYsRUFBRTtJQUN0SCxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLDRCQUE0QixFQUFFO0lBQzNELEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsNEJBQTRCLEVBQUU7SUFDekQsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRTtDQUN2RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQW1CO0lBQ25ELEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO0lBQ3ZDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUZBQWlGLEVBQUU7SUFDMUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxtQ0FBbUMsRUFBRTtJQUM1RCxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLCtCQUErQixFQUFFO0lBQ3hELEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7SUFDMUMsMENBQTBDO0lBQzFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7SUFDOUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSw2RUFBNkUsRUFBRTtJQUN2RyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO0lBQ3pDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsb0NBQW9DLEVBQUU7SUFDN0QsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtJQUNwRCxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLDZFQUE2RSxFQUFFO0lBQ3ZHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsc0NBQXNDLEVBQUU7SUFDaEUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSwwRUFBMEUsRUFBRTtJQUNwRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFO0lBQzVELEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsc0NBQXNDLEVBQUU7SUFDaEUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRTtJQUNqRCxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFO0lBQzVDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsbUNBQW1DLEVBQUU7Q0FDOUQsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUNwQixDQUFDLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQzdGLENBQUM7QUFFRixNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQVc7SUFDeEMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVc7SUFDNUMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMifQ==
@@ -0,0 +1,56 @@
1
+ import type { IChart, IChartAccount, IDatevNumbers, IIndividualAccountDeclaration, IIndividualAccountProblem, IIndividualAccountTemplate, IMappingCoverage, TAccountRole, TChartName, TEuerAccountLines, TMappingDimension, TPayrollRole, TSecuritiesRole, TTaxRule } from './chartdata.types.js';
2
+ import { type IEuerLinesOptions } from './chartdata.euer.js';
3
+ /**
4
+ * The numbers the DATEV standard chart of a year assigns and reserves, as read from the DATEV Kontenrahmen. Throws
5
+ * for an unknown chart or year, as `getChart`.
6
+ */
7
+ export declare function getDatevNumbers(chart: TChartName, year: number): IDatevNumbers;
8
+ /** Whether DATEV assigns or reserves the number in the chart of the year. */
9
+ export declare function isDatevNumber(chart: TChartName, year: number, accountNumber: string): boolean;
10
+ /**
11
+ * Suggestions for the individual accounts of the results the law keeps apart, which DATEV's standard charts hold
12
+ * no account of their own for: the results of Termingeschäfte, whose losses § 15 Abs. 4 Satz 3 EStG offsets only
13
+ * against such gains, under the other operating income and expenses; beside them a writer's premium earned, a
14
+ * short sale's gain and loss and the compensations paid on securities sold short, which an advisor should see
15
+ * apart. Each follows its parent in the free numbers DATEV leaves after it (`freeNumbersOf`): SKR 03 leaves four
16
+ * after 2700 and six after 2300, SKR 04 one after 4830 and one after 6300, so in SKR 04 the books give the
17
+ * Termingeschäfte those two and choose with their advisor where the others go. The books choose the numbers.
18
+ */
19
+ export declare const INDIVIDUAL_ACCOUNT_TEMPLATES: Readonly<Record<TChartName, readonly IIndividualAccountTemplate[]>>;
20
+ /**
21
+ * The numbers free for an individual account under a parent: those after it in its account class up to the next
22
+ * account of the chart (DATEV's or chartdata's), less those the books' declarations take, in order. Throws for an
23
+ * unknown chart, year or parent.
24
+ */
25
+ export declare function freeNumbersOf(chart: TChartName, year: number, parentAccountNumber: string, declarations?: readonly IIndividualAccountDeclaration[]): string[];
26
+ /** Everything that keeps the books' individual accounts from being accounts of the chart; an empty list means none. */
27
+ export declare function individualAccountProblemsOf(chart: TChartName, year: number, declarations: readonly IIndividualAccountDeclaration[]): IIndividualAccountProblem[];
28
+ /** Thrown where the books' individual accounts cannot be accounts of the chart; `problems` says why. */
29
+ export declare class IndividualAccountsError extends Error {
30
+ readonly problems: IIndividualAccountProblem[];
31
+ constructor(problems: IIndividualAccountProblem[]);
32
+ }
33
+ /**
34
+ * A chart of a year with the books' individual accounts: the lookups of the chart over its DATEV accounts and the
35
+ * books' own. Built by `BooksChart.of`, which refuses declarations with problems (`IndividualAccountsError`).
36
+ */
37
+ export declare class BooksChart implements IChart {
38
+ readonly chart: TChartName;
39
+ readonly year: number;
40
+ readonly accounts: IChartAccount[];
41
+ readonly individualAccounts: IChartAccount[];
42
+ private readonly byNumber;
43
+ private constructor();
44
+ /** The chart of the year with the books' individual accounts; throws `IndividualAccountsError` for declarations with problems. */
45
+ static of(chartArg: TChartName, yearArg: number, declarationsArg?: readonly IIndividualAccountDeclaration[]): BooksChart;
46
+ /** The account of the number, a DATEV account or one of the books; `null` where there is none. */
47
+ getAccount(accountNumberArg: string): IChartAccount | null;
48
+ getAccountsByRole(roleArg: TAccountRole): IChartAccount[];
49
+ getAccountsBySecuritiesRole(roleArg: TSecuritiesRole): IChartAccount[];
50
+ /** The one account of the books that books the securities role under the tax rule (none: the account without one), or `null`. */
51
+ getSecuritiesAccount(roleArg: TSecuritiesRole, taxRuleArg?: TTaxRule): IChartAccount | null;
52
+ /** The one account of the books that books the payroll role, or `null`; an individual account takes none. */
53
+ getPayrollAccount(roleArg: TPayrollRole): IChartAccount | null;
54
+ getMappingCoverage(usedAccountsArg: string[], dimensionArg: TMappingDimension): IMappingCoverage;
55
+ getEuerLines(accountNumberArg: string, formYearArg: number, optionsArg?: IEuerLinesOptions): TEuerAccountLines | null;
56
+ }
@@ -0,0 +1,274 @@
1
+ import { euerLinesOf, getEuerFormLine, listEuerFormYears } from './chartdata.euer.js';
2
+ import { HGB_266_POSITIONS, HGB_275_GKV_POSITIONS } from './chartdata.hgb.js';
3
+ import { getChart, mappingCoverageOf } from './chartdata.lookup.js';
4
+ import { DATEV_NUMBERS_SKR03_2026, DATEV_NUMBERS_SKR04_2026 } from './data/datevnumbers.2026.js';
5
+ const DATEV_NUMBERS = [DATEV_NUMBERS_SKR03_2026, DATEV_NUMBERS_SKR04_2026];
6
+ /**
7
+ * The numbers the DATEV standard chart of a year assigns and reserves, as read from the DATEV Kontenrahmen. Throws
8
+ * for an unknown chart or year, as `getChart`.
9
+ */
10
+ export function getDatevNumbers(chart, year) {
11
+ const found = DATEV_NUMBERS.find((numbers) => numbers.chart === chart && numbers.year === year);
12
+ if (!found) {
13
+ throw new Error(`No DATEV numbers of ${chart} for year ${year}`);
14
+ }
15
+ return found;
16
+ }
17
+ /** Whether DATEV assigns or reserves the number in the chart of the year. */
18
+ export function isDatevNumber(chart, year, accountNumber) {
19
+ return getDatevNumbers(chart, year).assigned.includes(accountNumber);
20
+ }
21
+ /**
22
+ * Suggestions for the individual accounts of the results the law keeps apart, which DATEV's standard charts hold
23
+ * no account of their own for: the results of Termingeschäfte, whose losses § 15 Abs. 4 Satz 3 EStG offsets only
24
+ * against such gains, under the other operating income and expenses; beside them a writer's premium earned, a
25
+ * short sale's gain and loss and the compensations paid on securities sold short, which an advisor should see
26
+ * apart. Each follows its parent in the free numbers DATEV leaves after it (`freeNumbersOf`): SKR 03 leaves four
27
+ * after 2700 and six after 2300, SKR 04 one after 4830 and one after 6300, so in SKR 04 the books give the
28
+ * Termingeschäfte those two and choose with their advisor where the others go. The books choose the numbers.
29
+ */
30
+ export const INDIVIDUAL_ACCOUNT_TEMPLATES = {
31
+ SKR03: templates('2700', '2300'),
32
+ SKR04: templates('4830', '6300'),
33
+ };
34
+ function templates(otherIncomeArg, otherExpenseArg) {
35
+ const of = (securitiesRole, parentAccountNumber, accountName) => ({ securitiesRole, parentAccountNumber, accountName });
36
+ return [
37
+ of('termingeschaeft_gain', otherIncomeArg, 'Erträge aus Termingeschäften (§ 15 Abs. 4 Satz 3 EStG)'),
38
+ of('termingeschaeft_loss', otherExpenseArg, 'Verluste aus Termingeschäften (§ 15 Abs. 4 Satz 3 EStG)'),
39
+ of('stillhalter_income', otherIncomeArg, 'Erträge aus Stillhalterprämien'),
40
+ of('short_sale_gain', otherIncomeArg, 'Erträge aus Leerverkäufen'),
41
+ of('short_sale_loss', otherExpenseArg, 'Aufwendungen aus Leerverkäufen'),
42
+ of('compensation_paid', otherExpenseArg, 'Kompensationszahlungen aus Leerverkäufen'),
43
+ ];
44
+ }
45
+ /**
46
+ * The numbers free for an individual account under a parent: those after it in its account class up to the next
47
+ * account of the chart (DATEV's or chartdata's), less those the books' declarations take, in order. Throws for an
48
+ * unknown chart, year or parent.
49
+ */
50
+ export function freeNumbersOf(chart, year, parentAccountNumber, declarations = []) {
51
+ const standard = getChart(chart, year);
52
+ if (!standard.accounts.some((account) => account.accountNumber === parentAccountNumber)) {
53
+ throw new Error(`${chart} ${year} holds no account ${parentAccountNumber}`);
54
+ }
55
+ const taken = new Set(declarations.map((declaration) => declaration.accountNumber));
56
+ return followingNumbersOf(chart, year, parentAccountNumber).filter((number) => !taken.has(number));
57
+ }
58
+ /** The numbers of the chart's accounts, DATEV's and chartdata's. */
59
+ function occupiedNumbersOf(chartArg, yearArg) {
60
+ return new Set([...getDatevNumbers(chartArg, yearArg).assigned, ...getChart(chartArg, yearArg).accounts.map((account) => account.accountNumber)]);
61
+ }
62
+ /** The account of the chart a number above another account follows: the next below it. */
63
+ function precedingNumberOf(chartArg, yearArg, numberArg) {
64
+ const occupied = occupiedNumbersOf(chartArg, yearArg);
65
+ let value = Number(numberArg) - 1;
66
+ while (!occupied.has(String(value).padStart(4, '0')))
67
+ value--;
68
+ return String(value).padStart(4, '0');
69
+ }
70
+ /** The numbers after an account in its class up to the next account of the chart, DATEV's or chartdata's. */
71
+ function followingNumbersOf(chartArg, yearArg, accountNumberArg) {
72
+ const occupied = occupiedNumbersOf(chartArg, yearArg);
73
+ const following = [];
74
+ for (let value = Number(accountNumberArg) + 1; value <= 9999; value++) {
75
+ const number = String(value).padStart(4, '0');
76
+ if (occupied.has(number) || number[0] !== accountNumberArg[0])
77
+ break;
78
+ following.push(number);
79
+ }
80
+ return following;
81
+ }
82
+ /** Everything that keeps the books' individual accounts from being accounts of the chart; an empty list means none. */
83
+ export function individualAccountProblemsOf(chart, year, declarations) {
84
+ const standard = getChart(chart, year);
85
+ const byNumber = new Map(standard.accounts.map((account) => [account.accountNumber, account]));
86
+ const assigned = new Set(getDatevNumbers(chart, year).assigned);
87
+ const declared = new Map();
88
+ for (const declaration of declarations)
89
+ declared.set(declaration.accountNumber, (declared.get(declaration.accountNumber) ?? 0) + 1);
90
+ const problems = [];
91
+ const add = (accountNumber, code, message) => {
92
+ problems.push({ accountNumber, code, message });
93
+ };
94
+ // the securities roles and tax rules the chart's own accounts book
95
+ const roles = new Map();
96
+ for (const account of standard.accounts) {
97
+ if (account.securitiesRole)
98
+ roles.set(`${account.securitiesRole}:${account.taxRule ?? ''}`, account.accountNumber);
99
+ }
100
+ for (const declaration of declarations) {
101
+ const number = declaration.accountNumber;
102
+ if (!/^\d{4}$/.test(number)) {
103
+ add(number, 'number_invalid', `${number} is no account number of four digits`);
104
+ continue;
105
+ }
106
+ if (assigned.has(number))
107
+ add(number, 'number_assigned', `DATEV assigns or reserves ${number} in ${chart} ${year}`);
108
+ else if (byNumber.has(number))
109
+ add(number, 'number_assigned', `${chart} ${year} holds an account ${number}`);
110
+ if ((declared.get(number) ?? 0) > 1)
111
+ add(number, 'number_duplicate', `${number} is declared more than once`);
112
+ if (declaration.accountName.trim() === '')
113
+ add(number, 'name_missing', `${number} has no name`);
114
+ const parent = byNumber.get(declaration.parentAccountNumber);
115
+ if (!parent) {
116
+ add(number, declared.has(declaration.parentAccountNumber) ? 'parent_individual' : 'parent_unknown', declared.has(declaration.parentAccountNumber)
117
+ ? `the parent ${declaration.parentAccountNumber} is itself an individual account; an individual account belongs to a DATEV account`
118
+ : `${chart} ${year} holds no account ${declaration.parentAccountNumber}`);
119
+ continue;
120
+ }
121
+ if (parent.euerExclusion === 'closing') {
122
+ add(number, 'parent_not_allowed', `the parent ${parent.accountNumber} (${parent.accountName}) is a carry-forward, closing or statistical account`);
123
+ }
124
+ if (number[0] !== parent.accountNumber[0]) {
125
+ add(number, 'class_mismatch', `${number} lies in account class ${number[0]}, its parent ${parent.accountNumber} in class ${parent.accountNumber[0]}`);
126
+ }
127
+ else if (!assigned.has(number) && !byNumber.has(number) && !followingNumbersOf(chart, year, parent.accountNumber).includes(number)) {
128
+ add(number, 'not_following_parent', number < parent.accountNumber
129
+ ? `${number} lies before its parent ${parent.accountNumber}; an individual account follows it`
130
+ : `${number} follows ${precedingNumberOf(chart, year, number)}, not its parent ${parent.accountNumber}: DATEV passes the marks of the account a number follows on to it`);
131
+ }
132
+ const overrides = declaration.overrides ?? {};
133
+ const profitAndLoss = parent.accountType === 'revenue' || parent.accountType === 'expense';
134
+ if (typeof overrides.hgb266Position === 'string') {
135
+ if (!HGB_266_POSITIONS.some((position) => position.key === overrides.hgb266Position)) {
136
+ add(number, 'override_invalid', `${overrides.hgb266Position} is no balance-sheet position of § 266 HGB`);
137
+ }
138
+ else if (profitAndLoss) {
139
+ add(number, 'override_invalid', `a balance-sheet position for ${number}, whose parent ${parent.accountNumber} is a profit-and-loss account (${parent.accountType})`);
140
+ }
141
+ }
142
+ if (typeof overrides.hgb275Position === 'string') {
143
+ if (!HGB_275_GKV_POSITIONS.some((position) => position.key === overrides.hgb275Position)) {
144
+ add(number, 'override_invalid', `${overrides.hgb275Position} is no income-statement position of § 275 Abs. 2 HGB`);
145
+ }
146
+ else if (!profitAndLoss) {
147
+ add(number, 'override_invalid', `an income-statement position for ${number}, whose parent ${parent.accountNumber} is a balance-sheet account (${parent.accountType})`);
148
+ }
149
+ }
150
+ if (overrides.euer !== undefined && overrides.euerExclusion !== undefined) {
151
+ add(number, 'override_invalid', 'an account maps to the Anlage EÜR or is excluded from it, not both');
152
+ }
153
+ if (overrides.euer !== undefined) {
154
+ // a line of every form year; a split's debit on a line that counts debits, its credit on one that counts credits
155
+ const lines = 'kennzahl' in overrides.euer
156
+ ? [[overrides.euer.kennzahl, undefined]]
157
+ : [[overrides.euer.debitKennzahl, 'debit'], [overrides.euer.creditKennzahl, 'credit']];
158
+ for (const [kennzahl, side] of lines) {
159
+ for (const formYear of listEuerFormYears()) {
160
+ let line;
161
+ try {
162
+ line = getEuerFormLine(formYear, kennzahl);
163
+ }
164
+ catch {
165
+ add(number, 'override_invalid', `Kz ${kennzahl} is no line of the Anlage EÜR ${formYear}`);
166
+ continue;
167
+ }
168
+ if (side !== undefined && line.side !== side) {
169
+ add(number, 'override_invalid', `Kz ${kennzahl} counts ${line.side}s in the Anlage EÜR ${formYear}, not the ${side}s of a split`);
170
+ }
171
+ }
172
+ }
173
+ }
174
+ if (declaration.securitiesRole !== undefined) {
175
+ const taxRule = overrides.taxRule === undefined ? parent.taxRule : overrides.taxRule ?? undefined;
176
+ const key = `${declaration.securitiesRole}:${taxRule ?? ''}`;
177
+ const holder = roles.get(key);
178
+ if (holder !== undefined)
179
+ add(number, 'role_taken', `${holder} already books ${declaration.securitiesRole}${taxRule ? ` under ${taxRule}` : ''}`);
180
+ else
181
+ roles.set(key, number);
182
+ }
183
+ }
184
+ return problems;
185
+ }
186
+ /** Thrown where the books' individual accounts cannot be accounts of the chart; `problems` says why. */
187
+ export class IndividualAccountsError extends Error {
188
+ constructor(problems) {
189
+ super(`individual accounts refused: ${problems.map((problem) => `${problem.accountNumber} ${problem.code}`).join(', ')}`);
190
+ this.problems = problems;
191
+ this.name = 'IndividualAccountsError';
192
+ }
193
+ }
194
+ /** An individual account as an account of the chart: what its parent is, as its declaration changes it. */
195
+ function individualAccountOf(parentArg, declarationArg, yearArg) {
196
+ const overrides = declarationArg.overrides ?? {};
197
+ const pick = (inherited, override) => (override === undefined ? inherited : override ?? undefined);
198
+ const hgb266Position = pick(parentArg.hgb266Position, overrides.hgb266Position);
199
+ const hgb275Position = pick(parentArg.hgb275Position, overrides.hgb275Position);
200
+ const ustva = pick(parentArg.ustva, overrides.ustva);
201
+ const accountRole = pick(parentArg.accountRole, overrides.accountRole);
202
+ const taxRule = pick(parentArg.taxRule, overrides.taxRule);
203
+ const commercialOnly = pick(parentArg.commercialOnly, overrides.commercialOnly);
204
+ const euerFromOverride = overrides.euer !== undefined || overrides.euerExclusion !== undefined;
205
+ const euer = euerFromOverride ? overrides.euer : parentArg.euer;
206
+ const euerExclusion = euerFromOverride ? overrides.euerExclusion : parentArg.euerExclusion;
207
+ return {
208
+ accountNumber: declarationArg.accountNumber,
209
+ accountName: declarationArg.accountName,
210
+ accountClass: Number.parseInt(declarationArg.accountNumber[0], 10),
211
+ accountType: parentArg.accountType,
212
+ ...(accountRole ? { accountRole } : {}),
213
+ ...(declarationArg.securitiesRole ? { securitiesRole: declarationArg.securitiesRole } : {}),
214
+ ...(taxRule ? { taxRule } : {}),
215
+ ...(commercialOnly ? { commercialOnly } : {}),
216
+ ...(ustva ? { ustva } : {}),
217
+ ...(hgb266Position ? { hgb266Position } : {}),
218
+ ...(hgb275Position ? { hgb275Position } : {}),
219
+ ...(parentArg.ebilanzPosition ? { ebilanzPosition: parentArg.ebilanzPosition } : {}),
220
+ ...(euer ? { euer } : {}),
221
+ ...(euerExclusion ? { euerExclusion } : {}),
222
+ parentAccountNumber: parentArg.accountNumber,
223
+ provenance: `individual account of the books under ${parentArg.accountNumber} (${parentArg.accountName})${Object.keys(overrides).length > 0 ? `; overrides ${Object.keys(overrides).sort().join(', ')}` : ''}`,
224
+ validFrom: yearArg,
225
+ };
226
+ }
227
+ /**
228
+ * A chart of a year with the books' individual accounts: the lookups of the chart over its DATEV accounts and the
229
+ * books' own. Built by `BooksChart.of`, which refuses declarations with problems (`IndividualAccountsError`).
230
+ */
231
+ export class BooksChart {
232
+ constructor(chartArg, yearArg, individualArg) {
233
+ this.chart = chartArg;
234
+ this.year = yearArg;
235
+ this.individualAccounts = individualArg;
236
+ this.accounts = [...getChart(chartArg, yearArg).accounts, ...individualArg].sort((a, b) => a.accountNumber.localeCompare(b.accountNumber));
237
+ this.byNumber = new Map(this.accounts.map((account) => [account.accountNumber, account]));
238
+ }
239
+ /** The chart of the year with the books' individual accounts; throws `IndividualAccountsError` for declarations with problems. */
240
+ static of(chartArg, yearArg, declarationsArg = []) {
241
+ const problems = individualAccountProblemsOf(chartArg, yearArg, declarationsArg);
242
+ if (problems.length > 0)
243
+ throw new IndividualAccountsError(problems);
244
+ const standard = getChart(chartArg, yearArg);
245
+ const parents = new Map(standard.accounts.map((account) => [account.accountNumber, account]));
246
+ return new BooksChart(chartArg, yearArg, declarationsArg.map((declaration) => individualAccountOf(parents.get(declaration.parentAccountNumber), declaration, yearArg)));
247
+ }
248
+ /** The account of the number, a DATEV account or one of the books; `null` where there is none. */
249
+ getAccount(accountNumberArg) {
250
+ return this.byNumber.get(accountNumberArg) ?? null;
251
+ }
252
+ getAccountsByRole(roleArg) {
253
+ return this.accounts.filter((account) => account.accountRole === roleArg);
254
+ }
255
+ getAccountsBySecuritiesRole(roleArg) {
256
+ return this.accounts.filter((account) => account.securitiesRole === roleArg);
257
+ }
258
+ /** The one account of the books that books the securities role under the tax rule (none: the account without one), or `null`. */
259
+ getSecuritiesAccount(roleArg, taxRuleArg) {
260
+ return this.getAccountsBySecuritiesRole(roleArg).find((account) => account.taxRule === taxRuleArg) ?? null;
261
+ }
262
+ /** The one account of the books that books the payroll role, or `null`; an individual account takes none. */
263
+ getPayrollAccount(roleArg) {
264
+ return this.accounts.find((account) => account.payrollRole === roleArg) ?? null;
265
+ }
266
+ getMappingCoverage(usedAccountsArg, dimensionArg) {
267
+ return mappingCoverageOf(this.accounts, usedAccountsArg, dimensionArg);
268
+ }
269
+ getEuerLines(accountNumberArg, formYearArg, optionsArg = {}) {
270
+ const account = this.getAccount(accountNumberArg);
271
+ return account ? euerLinesOf(account, formYearArg, optionsArg) : null;
272
+ }
273
+ }
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmluZGl2aWR1YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jaGFydGRhdGEuaW5kaXZpZHVhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQTBCLE1BQU0scUJBQXFCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpHLE1BQU0sYUFBYSxHQUFvQixDQUFDLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFNUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFpQixFQUFFLElBQVk7SUFDN0QsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNoRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixLQUFLLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsNkVBQTZFO0FBQzdFLE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBaUIsRUFBRSxJQUFZLEVBQUUsYUFBcUI7SUFDbEYsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQXdFO0lBQy9HLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNoQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDakMsQ0FBQztBQUVGLFNBQVMsU0FBUyxDQUFDLGNBQXNCLEVBQUUsZUFBdUI7SUFDaEUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxjQUErQixFQUFFLG1CQUEyQixFQUFFLFdBQW1CLEVBQThCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckwsT0FBTztRQUNMLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsd0RBQXdELENBQUM7UUFDcEcsRUFBRSxDQUFDLHNCQUFzQixFQUFFLGVBQWUsRUFBRSx5REFBeUQsQ0FBQztRQUN0RyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGdDQUFnQyxDQUFDO1FBQzFFLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsMkJBQTJCLENBQUM7UUFDbEUsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxnQ0FBZ0MsQ0FBQztRQUN4RSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLDBDQUEwQyxDQUFDO0tBQ3JGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQzNCLEtBQWlCLEVBQ2pCLElBQVksRUFDWixtQkFBMkIsRUFDM0IsZUFBeUQsRUFBRTtJQUUzRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7UUFDeEYsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLHFCQUFxQixtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDckcsQ0FBQztBQUVELG9FQUFvRTtBQUNwRSxTQUFTLGlCQUFpQixDQUFDLFFBQW9CLEVBQUUsT0FBZTtJQUM5RCxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwSixDQUFDO0FBRUQsMEZBQTBGO0FBQzFGLFNBQVMsaUJBQWlCLENBQUMsUUFBb0IsRUFBRSxPQUFlLEVBQUUsU0FBaUI7SUFDakYsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM5RCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCw2R0FBNkc7QUFDN0csU0FBUyxrQkFBa0IsQ0FBQyxRQUFvQixFQUFFLE9BQWUsRUFBRSxnQkFBd0I7SUFDekYsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUMvQixLQUFLLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDdEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFBRSxNQUFNO1FBQ3JFLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCx1SEFBdUg7QUFDdkgsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxLQUFpQixFQUNqQixJQUFZLEVBQ1osWUFBc0Q7SUFFdEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQzNDLEtBQUssTUFBTSxXQUFXLElBQUksWUFBWTtRQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BJLE1BQU0sUUFBUSxHQUFnQyxFQUFFLENBQUM7SUFDakQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxhQUFxQixFQUFFLElBQXVDLEVBQUUsT0FBZSxFQUFRLEVBQUU7UUFDcEcsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUM7SUFDRixtRUFBbUU7SUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDeEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxPQUFPLENBQUMsY0FBYztZQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsY0FBYyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFDRCxLQUFLLE1BQU0sV0FBVyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM1QixHQUFHLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsTUFBTSxzQ0FBc0MsQ0FBQyxDQUFDO1lBQy9FLFNBQVM7UUFDWCxDQUFDO1FBQ0QsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsNkJBQTZCLE1BQU0sT0FBTyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQzthQUMvRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEtBQUssSUFBSSxJQUFJLHFCQUFxQixNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSw2QkFBNkIsQ0FBQyxDQUFDO1FBQzdHLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osR0FBRyxDQUNELE1BQU0sRUFDTixRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQ3RGLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDO2dCQUMzQyxDQUFDLENBQUMsY0FBYyxXQUFXLENBQUMsbUJBQW1CLG9GQUFvRjtnQkFDbkksQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUkscUJBQXFCLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxDQUMzRSxDQUFDO1lBQ0YsU0FBUztRQUNYLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkMsR0FBRyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLE1BQU0sQ0FBQyxhQUFhLEtBQUssTUFBTSxDQUFDLFdBQVcsc0RBQXNELENBQUMsQ0FBQztRQUNySixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxNQUFNLDBCQUEwQixNQUFNLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixNQUFNLENBQUMsYUFBYSxhQUFhLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hKLENBQUM7YUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNySSxHQUFHLENBQ0QsTUFBTSxFQUNOLHNCQUFzQixFQUN0QixNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWE7Z0JBQzNCLENBQUMsQ0FBQyxHQUFHLE1BQU0sMkJBQTJCLE1BQU0sQ0FBQyxhQUFhLG9DQUFvQztnQkFDOUYsQ0FBQyxDQUFDLEdBQUcsTUFBTSxZQUFZLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixNQUFNLENBQUMsYUFBYSxtRUFBbUUsQ0FDM0ssQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUM5QyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQztRQUMzRixJQUFJLE9BQU8sU0FBUyxDQUFDLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUNyRixHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsU0FBUyxDQUFDLGNBQWMsNENBQTRDLENBQUMsQ0FBQztZQUMzRyxDQUFDO2lCQUFNLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ3pCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsZ0NBQWdDLE1BQU0sa0JBQWtCLE1BQU0sQ0FBQyxhQUFhLGtDQUFrQyxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUN2SyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksT0FBTyxTQUFTLENBQUMsY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pGLEdBQUcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxTQUFTLENBQUMsY0FBYyxzREFBc0QsQ0FBQyxDQUFDO1lBQ3JILENBQUM7aUJBQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMxQixHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLG9DQUFvQyxNQUFNLGtCQUFrQixNQUFNLENBQUMsYUFBYSxnQ0FBZ0MsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDekssQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLFNBQVMsQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxvRUFBb0UsQ0FBQyxDQUFDO1FBQ3hHLENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsaUhBQWlIO1lBQ2pILE1BQU0sS0FBSyxHQUFvRCxVQUFVLElBQUksU0FBUyxDQUFDLElBQUk7Z0JBQ3pGLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3hDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDckMsS0FBSyxNQUFNLFFBQVEsSUFBSSxpQkFBaUIsRUFBRSxFQUFFLENBQUM7b0JBQzNDLElBQUksSUFBd0MsQ0FBQztvQkFDN0MsSUFBSSxDQUFDO3dCQUNILElBQUksR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUM3QyxDQUFDO29CQUFDLE1BQU0sQ0FBQzt3QkFDUCxHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxpQ0FBaUMsUUFBUSxFQUFFLENBQUMsQ0FBQzt3QkFDM0YsU0FBUztvQkFDWCxDQUFDO29CQUNELElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUM3QyxHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxXQUFXLElBQUksQ0FBQyxJQUFJLHVCQUF1QixRQUFRLGFBQWEsSUFBSSxjQUFjLENBQUMsQ0FBQztvQkFDcEksQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLFdBQVcsQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0MsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDO1lBQ2xHLE1BQU0sR0FBRyxHQUFHLEdBQUcsV0FBVyxDQUFDLGNBQWMsSUFBSSxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7WUFDN0QsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLE1BQU0sS0FBSyxTQUFTO2dCQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxrQkFBa0IsV0FBVyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7O2dCQUM3SSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCx3R0FBd0c7QUFDeEcsTUFBTSxPQUFPLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBNEIsUUFBcUM7UUFDL0QsS0FBSyxDQUFDLGdDQUFnQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQURoRyxhQUFRLEdBQVIsUUFBUSxDQUE2QjtRQUUvRCxJQUFJLENBQUMsSUFBSSxHQUFHLHlCQUF5QixDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQUVELDJHQUEyRztBQUMzRyxTQUFTLG1CQUFtQixDQUFDLFNBQXdCLEVBQUUsY0FBNkMsRUFBRSxPQUFlO0lBQ25ILE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO0lBQ2pELE1BQU0sSUFBSSxHQUFHLENBQUksU0FBd0IsRUFBRSxRQUE4QixFQUFpQixFQUFFLENBQUMsQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQztJQUMxSixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEYsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQWUsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFXLFNBQVMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBTyxTQUFTLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RixNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLFNBQVMsQ0FBQyxhQUFhLEtBQUssU0FBUyxDQUFDO0lBQy9GLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQ2hFLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQzNGLE9BQU87UUFDTCxhQUFhLEVBQUUsY0FBYyxDQUFDLGFBQWE7UUFDM0MsV0FBVyxFQUFFLGNBQWMsQ0FBQyxXQUFXO1FBQ3ZDLFlBQVksRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ25FLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVztRQUNsQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNGLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvQixHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0MsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNCLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3QyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDN0MsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BGLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6QixHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0MsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLGFBQWE7UUFDNUMsVUFBVSxFQUFFLHlDQUF5QyxTQUFTLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUM5TSxTQUFTLEVBQUUsT0FBTztLQUNuQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBT3JCLFlBQW9CLFFBQW9CLEVBQUUsT0FBZSxFQUFFLGFBQThCO1FBQ3ZGLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUMzSSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRCxrSUFBa0k7SUFDM0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFvQixFQUFFLE9BQWUsRUFBRSxrQkFBNEQsRUFBRTtRQUNwSCxNQUFNLFFBQVEsR0FBRywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsTUFBTSxJQUFJLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUYsT0FBTyxJQUFJLFVBQVUsQ0FDbkIsUUFBUSxFQUNSLE9BQU8sRUFDUCxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUMvSCxDQUFDO0lBQ0osQ0FBQztJQUVELGtHQUFrRztJQUMzRixVQUFVLENBQUMsZ0JBQXdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDckQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLE9BQXFCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLDJCQUEyQixDQUFDLE9BQXdCO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELGlJQUFpSTtJQUMxSCxvQkFBb0IsQ0FBQyxPQUF3QixFQUFFLFVBQXFCO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDN0csQ0FBQztJQUVELDZHQUE2RztJQUN0RyxpQkFBaUIsQ0FBQyxPQUFxQjtRQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNsRixDQUFDO0lBRU0sa0JBQWtCLENBQUMsZUFBeUIsRUFBRSxZQUErQjtRQUNsRixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxZQUFZLENBQUMsZ0JBQXdCLEVBQUUsV0FBbUIsRUFBRSxhQUFnQyxFQUFFO1FBQ25HLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RSxDQUFDO0NBQ0YifQ==
@@ -1,4 +1,4 @@
1
- import type { IChart, IChartAccount, IMappingCoverage, IScenarioKennzahlen, TAccountRole, TChartName, TEuerAccountLines, TMappingDimension, TSecuritiesRole, TTaxRule } from './chartdata.types.js';
1
+ import type { IChart, IChartAccount, IMappingCoverage, IScenarioKennzahlen, TAccountRole, TChartName, TEuerAccountLines, TMappingDimension, TPayrollRole, TSecuritiesRole, TTaxRule } from './chartdata.types.js';
2
2
  import { type IEuerLinesOptions } from './chartdata.euer.js';
3
3
  /**
4
4
  * UStVA Kennzahlen driven by the tax scenario of a booking (not by a single
@@ -34,11 +34,18 @@ export declare function getAccountsBySecuritiesRole(chart: TChartName, year: num
34
34
  * none for it. Throws for unknown chart/year combinations, as `getChart`.
35
35
  */
36
36
  export declare function getSecuritiesAccount(chart: TChartName, year: number, role: TSecuritiesRole, taxRule?: TTaxRule): IChartAccount | null;
37
+ /**
38
+ * The one account of a chart that books the payroll role (`IChartAccount.payrollRole`), or `null` where the chart
39
+ * keeps none for it. Throws for unknown chart/year combinations, as `getChart`.
40
+ */
41
+ export declare function getPayrollAccount(chart: TChartName, year: number, role: TPayrollRole): IChartAccount | null;
37
42
  /**
38
43
  * Coverage check for the accounts a ledger actually uses. Callers must treat
39
44
  * missing/unknown accounts as a hard error before generating filings.
40
45
  */
41
46
  export declare function getMappingCoverage(chart: TChartName, year: number, usedAccounts: string[], dimension: TMappingDimension): IMappingCoverage;
47
+ /** `getMappingCoverage` over a list of accounts (a chart's, or a chart's with the books' individual accounts). */
48
+ export declare function mappingCoverageOf(accounts: readonly IChartAccount[], usedAccounts: string[], dimension: TMappingDimension): IMappingCoverage;
42
49
  /**
43
50
  * The Anlage EÜR lines of a chart's account in a form year (`euerLinesOf`):
44
51
  * where its movements go, or why they are no part of the form. `null` for an
@@ -67,6 +67,13 @@ export function getAccountsBySecuritiesRole(chart, year, role) {
67
67
  export function getSecuritiesAccount(chart, year, role, taxRule) {
68
68
  return getAccountsBySecuritiesRole(chart, year, role).find((account) => account.taxRule === taxRule) ?? null;
69
69
  }
70
+ /**
71
+ * The one account of a chart that books the payroll role (`IChartAccount.payrollRole`), or `null` where the chart
72
+ * keeps none for it. Throws for unknown chart/year combinations, as `getChart`.
73
+ */
74
+ export function getPayrollAccount(chart, year, role) {
75
+ return getChart(chart, year).accounts.find((account) => account.payrollRole === role) ?? null;
76
+ }
70
77
  function hasMapping(account, dimension) {
71
78
  switch (dimension) {
72
79
  case 'ustva':
@@ -86,8 +93,11 @@ function hasMapping(account, dimension) {
86
93
  * missing/unknown accounts as a hard error before generating filings.
87
94
  */
88
95
  export function getMappingCoverage(chart, year, usedAccounts, dimension) {
89
- const dataset = getChart(chart, year);
90
- const byNumber = new Map(dataset.accounts.map((account) => [account.accountNumber, account]));
96
+ return mappingCoverageOf(getChart(chart, year).accounts, usedAccounts, dimension);
97
+ }
98
+ /** `getMappingCoverage` over a list of accounts (a chart's, or a chart's with the books' individual accounts). */
99
+ export function mappingCoverageOf(accounts, usedAccounts, dimension) {
100
+ const byNumber = new Map(accounts.map((account) => [account.accountNumber, account]));
91
101
  const missing = [];
92
102
  const unknown = [];
93
103
  let covered = 0;
@@ -115,4 +125,4 @@ export function getEuerLines(chart, chartYear, accountNumber, formYear, options
115
125
  const account = getAccount(chart, chartYear, accountNumber);
116
126
  return account ? euerLinesOf(account, formYear, options) : null;
117
127
  }
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NoYXJ0ZGF0YS5sb29rdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsT0FBTyxFQUFFLFdBQVcsRUFBMEIsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE1BQU0sTUFBTSxHQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRWxEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBd0I7SUFDNUQsOEJBQThCLEVBQUUsRUFBRTtJQUNsQyw2QkFBNkIsRUFBRSxFQUFFO0lBQ2pDLDJCQUEyQixFQUFFLEVBQUU7SUFDL0IsMEJBQTBCLEVBQUUsRUFBRTtJQUM5QiwyQkFBMkIsRUFBRSxFQUFFO0lBQy9CLDBCQUEwQixFQUFFLEVBQUU7SUFDOUIsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQixxQkFBcUIsRUFBRSxFQUFFO0lBQ3pCLGlCQUFpQixFQUFFLEVBQUU7SUFDckIsVUFBVSxFQUFFLEVBQUU7SUFDZCxvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIseUJBQXlCLEVBQUUsRUFBRTtJQUM3QixRQUFRLEVBQUUsRUFBRTtJQUNaLGVBQWUsRUFBRSxFQUFFO0lBQ25CLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOzs7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
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NoYXJ0ZGF0YS5sb29rdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUEsT0FBTyxFQUFFLFdBQVcsRUFBMEIsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE1BQU0sTUFBTSxHQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRWxEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBd0I7SUFDNUQsOEJBQThCLEVBQUUsRUFBRTtJQUNsQyw2QkFBNkIsRUFBRSxFQUFFO0lBQ2pDLDJCQUEyQixFQUFFLEVBQUU7SUFDL0IsMEJBQTBCLEVBQUUsRUFBRTtJQUM5QiwyQkFBMkIsRUFBRSxFQUFFO0lBQy9CLDBCQUEwQixFQUFFLEVBQUU7SUFDOUIsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQixxQkFBcUIsRUFBRSxFQUFFO0lBQ3pCLGlCQUFpQixFQUFFLEVBQUU7SUFDckIsVUFBVSxFQUFFLEVBQUU7SUFDZCxvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIseUJBQXlCLEVBQUUsRUFBRTtJQUM3QixRQUFRLEVBQUUsRUFBRTtJQUNaLGVBQWUsRUFBRSxFQUFFO0lBQ25CLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOzs7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