taxtank-core 0.30.46 → 0.30.48

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.
@@ -20,4 +20,4 @@ export class ExportableCollection extends Collection {
20
20
  });
21
21
  }
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0YWJsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2V4cG9ydGFibGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJckUsTUFBTSxPQUFnQixvQkFBa0QsU0FBUSxVQUFpQjtJQUsvRixlQUFlLENBQUMsSUFBYTtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBVTtRQUNuQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWE7UUFDbEIsT0FBTyxZQUFZLENBQUMsZUFBZSxFQUFFO1lBQ25DLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydERhdGFUYWJsZSB9IGZyb20gJy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWRhdGEtdGFibGUnO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbCB9IGZyb20gJy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwnO1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi9kYi9Nb2RlbHMvYWJzdHJhY3QtbW9kZWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXhwb3J0YWJsZUNvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsPiBleHRlbmRzIENvbGxlY3Rpb248TW9kZWw+IHtcbiAgYWJzdHJhY3QgZ2V0RXhwb3J0SGVhZGVyKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmdbXTtcblxuICBhYnN0cmFjdCBnZXRFeHBvcnRCb2R5KHR5cGU/OiBzdHJpbmcpOiBFeHBvcnRDZWxsW11bXTtcblxuICBnZXRFeHBvcnRGb290ZXIodHlwZT86IHN0cmluZyk6IEV4cG9ydENlbGxbXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgZ2V0Qm9keUFvYShleHBvcnREYXRhKTogYW55IHtcbiAgICByZXR1cm4gZXhwb3J0RGF0YS5ib2R5Lm1hcChyb3cgPT4ge1xuICAgICAgcmV0dXJuIHJvdy5tYXAoY2VsbCA9PiB7XG4gICAgICAgIHJldHVybiBjZWxsLnZhbHVlO1xuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgZXhwb3J0KHR5cGU/OiBzdHJpbmcpOiBFeHBvcnREYXRhVGFibGUge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoRXhwb3J0RGF0YVRhYmxlLCB7XG4gICAgICBoZWFkZXI6IHRoaXMuZ2V0RXhwb3J0SGVhZGVyKHR5cGUpLFxuICAgICAgYm9keTogdGhpcy5nZXRFeHBvcnRCb2R5KHR5cGUpLFxuICAgICAgZm9vdGVyOiBbdGhpcy5nZXRFeHBvcnRGb290ZXIodHlwZSldXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0YWJsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2V4cG9ydGFibGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJckUsTUFBTSxPQUFnQixvQkFBa0QsU0FBUSxVQUFpQjtJQUsvRixlQUFlLENBQUMsSUFBYTtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxVQUFVLENBQUMsVUFBVTtRQUNuQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWE7UUFDbEIsT0FBTyxZQUFZLENBQUMsZUFBZSxFQUFFO1lBQ25DLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydERhdGFUYWJsZSB9IGZyb20gJy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWRhdGEtdGFibGUnO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbCB9IGZyb20gJy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwnO1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi9kYi9Nb2RlbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXhwb3J0YWJsZUNvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsPiBleHRlbmRzIENvbGxlY3Rpb248TW9kZWw+IHtcbiAgYWJzdHJhY3QgZ2V0RXhwb3J0SGVhZGVyKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmdbXTtcblxuICBhYnN0cmFjdCBnZXRFeHBvcnRCb2R5KHR5cGU/OiBzdHJpbmcpOiBFeHBvcnRDZWxsW11bXTtcblxuICBnZXRFeHBvcnRGb290ZXIodHlwZT86IHN0cmluZyk6IEV4cG9ydENlbGxbXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgZ2V0Qm9keUFvYShleHBvcnREYXRhKTogYW55IHtcbiAgICByZXR1cm4gZXhwb3J0RGF0YS5ib2R5Lm1hcChyb3cgPT4ge1xuICAgICAgcmV0dXJuIHJvdy5tYXAoY2VsbCA9PiB7XG4gICAgICAgIHJldHVybiBjZWxsLnZhbHVlO1xuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgZXhwb3J0KHR5cGU/OiBzdHJpbmcpOiBFeHBvcnREYXRhVGFibGUge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoRXhwb3J0RGF0YVRhYmxlLCB7XG4gICAgICBoZWFkZXI6IHRoaXMuZ2V0RXhwb3J0SGVhZGVyKHR5cGUpLFxuICAgICAgYm9keTogdGhpcy5nZXRFeHBvcnRCb2R5KHR5cGUpLFxuICAgICAgZm9vdGVyOiBbdGhpcy5nZXRFeHBvcnRGb290ZXIodHlwZSldXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,8 @@
1
- import { Collection } from '../collection';
2
- export class HoldingSaleCollection extends Collection {
1
+ import { ExportableCollection } from "../exportable.collection";
2
+ import { ExportCell } from "../../models/export/export-cell";
3
+ import { ExportCellTypeEnum } from "../../models/export/export-cell-type.enum";
4
+ import { plainToClass } from 'class-transformer';
5
+ export class HoldingSaleCollection extends ExportableCollection {
3
6
  /**
4
7
  * @TODO vik remove?
5
8
  */
@@ -16,5 +19,34 @@ export class HoldingSaleCollection extends Collection {
16
19
  get noExemptionGrossCapitalGain() {
17
20
  return this.filter((sale) => sale.netCapitalGain > 0 && sale.netCapitalGain === sale.grossCapitalGain).grossCapitalGain;
18
21
  }
22
+ getExportHeader() {
23
+ return ['Ticker', 'Asset type', 'Date of buy', 'Date of sale', 'My Capital Gain/(Loss)', 'Exempt or Concession'];
24
+ }
25
+ getExportFooter() {
26
+ return [
27
+ plainToClass(ExportCell, { value: '', type: ExportCellTypeEnum.STRING }),
28
+ ];
29
+ }
30
+ getExportBody() {
31
+ return this.items.map((sale) => {
32
+ return [
33
+ plainToClass(ExportCell, {
34
+ value: this.holdingTypesById.get(this.holdingsById.get(sale.holding.id).type.id).ticker,
35
+ type: ExportCellTypeEnum.STRING
36
+ }),
37
+ plainToClass(ExportCell, {
38
+ value: this.holdingsById.get(sale.holding.id).type.categoryLabel,
39
+ type: ExportCellTypeEnum.STRING
40
+ }),
41
+ plainToClass(ExportCell, { value: this.holdingsById.get(sale.holding.id)?.date, type: ExportCellTypeEnum.DATE }),
42
+ plainToClass(ExportCell, { value: sale.date, type: ExportCellTypeEnum.DATE }),
43
+ plainToClass(ExportCell, { value: sale.grossCapitalGain, type: ExportCellTypeEnum.CURRENCY }),
44
+ plainToClass(ExportCell, {
45
+ value: sale.isOneYearExemptionApplicable() ? '50% (1 year rule)' : 'None',
46
+ type: ExportCellTypeEnum.STRING
47
+ }),
48
+ ];
49
+ });
50
+ }
19
51
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaG9sZGluZy9ob2xkaW5nLXNhbGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxVQUF1QjtJQUNoRTs7T0FFRztJQUNILElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQzthQUNwRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSw2QkFBNkI7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQzFILENBQUM7SUFFRCxJQUFJLDJCQUEyQjtRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDMUgsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHtIb2xkaW5nU2FsZSwgUHJvcGVydHlTYWxlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1NhbGVDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxIb2xkaW5nU2FsZT4ge1xuICAvKipcbiAgICogQFRPRE8gdmlrIHJlbW92ZT9cbiAgICovXG4gIGdldCBncm9zc0NhcGl0YWxHYWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChzYWxlKSA9PiBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4gPiAwKVxuICAgICAgLnN1bUJ5KCdncm9zc0NhcGl0YWxHYWluJyk7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJDYXBpdGFsTG9zcygpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmFicyh0aGlzLmZpbHRlckJ5RmluYW5jaWFsWWVhcignZGF0ZScpLmZpbHRlcigoc2FsZSkgPT4gc2FsZS5uZXRDYXBpdGFsR2FpbiA8IDApLnN1bUJ5KCdncm9zc0NhcGl0YWxHYWluJykpO1xuICB9XG5cbiAgZ2V0IGhhbGZFeGVtcHRpb25Hcm9zc0NhcGl0YWxHYWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChzYWxlKSA9PiBzYWxlLm5ldENhcGl0YWxHYWluID4gMCAmJiBzYWxlLm5ldENhcGl0YWxHYWluICE9PSBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4pLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cblxuICBnZXQgbm9FeGVtcHRpb25Hcm9zc0NhcGl0YWxHYWluKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChzYWxlKSA9PiBzYWxlLm5ldENhcGl0YWxHYWluID4gMCAmJiBzYWxlLm5ldENhcGl0YWxHYWluID09PSBzYWxlLmdyb3NzQ2FwaXRhbEdhaW4pLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvaG9sZGluZy9ob2xkaW5nLXNhbGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE1BQU0sT0FBTyxxQkFBdUIsU0FBUSxvQkFBaUM7SUFHM0U7O09BRUc7SUFDSCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7YUFDcEQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVELElBQUksNkJBQTZCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUMxSCxDQUFDO0lBRUQsSUFBSSwyQkFBMkI7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQzFILENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTztZQUNMLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztTQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFO1lBQzFDLE9BQU87Z0JBQ0wsWUFBWSxDQUFDLFVBQVUsRUFBRTtvQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTTtvQkFDdkYsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU07aUJBQ2hDLENBQUM7Z0JBQ0YsWUFBWSxDQUFDLFVBQVUsRUFBRTtvQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWE7b0JBQ2hFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO2lCQUNoQyxDQUFDO2dCQUNGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBQyxDQUFDO2dCQUM5RyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBQyxDQUFDO2dCQUMzRSxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFDLENBQUM7Z0JBQzNGLFlBQVksQ0FBQyxVQUFVLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQSxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE1BQU07b0JBQ3hFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO2lCQUNoQyxDQUFDO2FBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSwgSG9sZGluZywgSG9sZGluZ1NhbGUsIEhvbGRpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSBcIi4uL2V4cG9ydGFibGUuY29sbGVjdGlvblwiO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsXCI7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbC10eXBlLmVudW1cIjtcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdTYWxlQ29sbGVjdGlvbiAgZXh0ZW5kcyBFeHBvcnRhYmxlQ29sbGVjdGlvbjxIb2xkaW5nU2FsZT4ge1xuICBob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPlxuICBob2xkaW5nc0J5SWQ6IERpY3Rpb25hcnk8SG9sZGluZz47XG4gIC8qKlxuICAgKiBAVE9ETyB2aWsgcmVtb3ZlP1xuICAgKi9cbiAgZ2V0IGdyb3NzQ2FwaXRhbEdhaW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHNhbGUpID0+IHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbiA+IDApXG4gICAgICAuc3VtQnkoJ2dyb3NzQ2FwaXRhbEdhaW4nKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50WWVhckNhcGl0YWxMb3NzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHRoaXMuZmlsdGVyQnlGaW5hbmNpYWxZZWFyKCdkYXRlJykuZmlsdGVyKChzYWxlKSA9PiBzYWxlLm5ldENhcGl0YWxHYWluIDwgMCkuc3VtQnkoJ2dyb3NzQ2FwaXRhbEdhaW4nKSk7XG4gIH1cblxuICBnZXQgaGFsZkV4ZW1wdGlvbkdyb3NzQ2FwaXRhbEdhaW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHNhbGUpID0+IHNhbGUubmV0Q2FwaXRhbEdhaW4gPiAwICYmIHNhbGUubmV0Q2FwaXRhbEdhaW4gIT09IHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbikuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIGdldCBub0V4ZW1wdGlvbkdyb3NzQ2FwaXRhbEdhaW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKHNhbGUpID0+IHNhbGUubmV0Q2FwaXRhbEdhaW4gPiAwICYmIHNhbGUubmV0Q2FwaXRhbEdhaW4gPT09IHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbikuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnVGlja2VyJywgJ0Fzc2V0IHR5cGUnLCAnRGF0ZSBvZiBidXknLCAnRGF0ZSBvZiBzYWxlJywgJ015IENhcGl0YWwgR2Fpbi8oTG9zcyknLCAnRXhlbXB0IG9yIENvbmNlc3Npb24nXTtcbiAgfVxuXG4gIGdldEV4cG9ydEZvb3RlcigpOiBFeHBvcnRDZWxsW10ge1xuICAgIHJldHVybiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiAnJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgIF07XG4gIH1cblxuICBnZXRFeHBvcnRCb2R5KCk6IEV4cG9ydENlbGxbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKHNhbGU6IEhvbGRpbmdTYWxlKSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KHRoaXMuaG9sZGluZ3NCeUlkLmdldChzYWxlLmhvbGRpbmcuaWQpLnR5cGUuaWQpLnRpY2tlcixcbiAgICAgICAgICB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HXG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmhvbGRpbmdzQnlJZC5nZXQoc2FsZS5ob2xkaW5nLmlkKS50eXBlLmNhdGVnb3J5TGFiZWwsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogdGhpcy5ob2xkaW5nc0J5SWQuZ2V0KHNhbGUuaG9sZGluZy5pZCk/LmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHNhbGUuZGF0ZSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkRBVEV9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogc2FsZS5ncm9zc0NhcGl0YWxHYWluLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogc2FsZS5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKCk/ICc1MCUgKDEgeWVhciBydWxlKScgOiAnTm9uZScsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgICB9KSxcbiAgICAgIF07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import { ExportCellTypeEnum } from "../../models/export/export-cell-type.enum";
5
5
  import { HoldingTypeCategoryEnum } from '../../db/Enums';
6
6
  export class HoldingCollection extends ExportableCollection {
7
7
  getExportHeader() {
8
- return ['Date', 'Ticker', 'Asset type', 'Qty bought', 'Qty current', 'Buy price/Unit', 'Current price/Unit', 'Total MV', 'Profit/Loss'];
8
+ return ['Date', 'Ticker', 'Name', 'Asset type', 'Qty bought', 'Qty current', 'Buy price/Unit', 'Current price/Unit', 'Total MV', 'Profit/Loss'];
9
9
  }
10
10
  getExportFooter() {
11
11
  return [
@@ -16,6 +16,10 @@ export class HoldingCollection extends ExportableCollection {
16
16
  return this.items.map((holding) => {
17
17
  return [
18
18
  plainToClass(ExportCell, { value: holding.date, type: ExportCellTypeEnum.DATE }),
19
+ plainToClass(ExportCell, {
20
+ value: this.holdingTypesById.get(holding.type.id).ticker,
21
+ type: ExportCellTypeEnum.STRING
22
+ }),
19
23
  plainToClass(ExportCell, {
20
24
  value: this.holdingTypesById.get(holding.type.id).name,
21
25
  type: ExportCellTypeEnum.STRING
@@ -66,4 +70,4 @@ export class HoldingCollection extends ExportableCollection {
66
70
  return this.removeBy('currentQuantity', 0);
67
71
  }
68
72
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2hvbGRpbmcvaG9sZGluZy5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUE2QjtJQUlsRSxlQUFlO1FBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzFJLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTztZQUNMLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztTQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQ3pDLE9BQU87Z0JBQ0wsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDOUUsWUFBWSxDQUFDLFVB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R0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXhwb3J0YWJsZUNvbGxlY3Rpb24gfSBmcm9tIFwiLi4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBIb2xkaW5nLCBIb2xkaW5nVHlwZSB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbFwiO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdDb2xsZWN0aW9uIGV4dGVuZHMgRXhwb3J0YWJsZUNvbGxlY3Rpb248SG9sZGluZz4ge1xuICAvLyBkaWN0aW9uYXJ5IGhvbGRpbmcgdHlwZVxuICBob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPlxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdUaWNrZXInLCAnQXNzZXQgdHlwZScsICdRdHkgYm91Z2h0JywgJ1F0eSBjdXJyZW50JywgJ0J1eSBwcmljZS9Vbml0JywgJ0N1cnJlbnQgcHJpY2UvVW5pdCcsICdUb3RhbCBNVicsICdQcm9maXQvTG9zcyddO1xuICB9XG5cbiAgZ2V0RXhwb3J0Rm9vdGVyKCk6IEV4cG9ydENlbGxbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6ICcnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgXTtcbiAgfVxuXG4gIGdldEV4cG9ydEJvZHkoKTogRXhwb3J0Q2VsbFtdW10ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaG9sZGluZzogSG9sZGluZykgPT4ge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogaG9sZGluZy5kYXRlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uREFURX0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkubmFtZSxcbiAgICAgICAgICB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HXG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLnR5cGUuY2F0ZWdvcnlMYWJlbCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLnF1YW50aXR5LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IGhvbGRpbmcuY3VycmVudFF1YW50aXR5LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IGhvbGRpbmcucHJpY2UsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWX0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkucHJpY2UsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZXG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiBob2xkaW5nLmdldE1hcmtldFZhbHVlKHRoaXMuaG9sZGluZ1R5cGVzQnlJZC5nZXQoaG9sZGluZy50eXBlLmlkKSksXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZXG4gICAgICAgIH0pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge1xuICAgICAgICAgIHZhbHVlOiBob2xkaW5nLmdldEdyb3d0aENvZWZmaWNpZW50KHRoaXMuaG9sZGluZ1R5cGVzQnlJZC5nZXQoaG9sZGluZy50eXBlLmlkKSksXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlBFUkNFTlRcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U2hhcmVzKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0eXBlLmNhdGVnb3J5JywgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uU1RPQ0spO1xuICB9XG5cbiAgZ2V0Q3J5cHRvcygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndHlwZS5jYXRlZ29yeScsIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNSWVBUTyk7XG4gIH1cblxuICBnZXRPdGhlcnMoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3R5cGUuY2F0ZWdvcnknLCBbXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DT0xMRUNUSUJMRSxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1NUT0NLLFxuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfVU5JVCxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLk9USEVSXG4gICAgXSk7XG4gIH1cblxuICBnZXRQdXJjaGFzZVZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ3B1cmNoYXNlVmFsdWUnKTtcbiAgfVxuXG4gIGdldE1hcmtldFZhbHVlKGhvbGRpbmdUeXBlc0J5SWQ6IERpY3Rpb25hcnk8SG9sZGluZ1R5cGU+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBob2xkaW5nOiBIb2xkaW5nKSA9PiBzdW0gKyBob2xkaW5nLmdldE1hcmtldFZhbHVlKGhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkpLCAwKTtcbiAgfVxuXG4gIGdldEdyb3d0aENvZWZmaWNpZW50KGhvbGRpbmdUeXBlc0J5SWQ6IERpY3Rpb25hcnk8SG9sZGluZ1R5cGU+KTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNYXJrZXRWYWx1ZShob2xkaW5nVHlwZXNCeUlkKSAvIHRoaXMuZ2V0UHVyY2hhc2VWYWx1ZSgpIC0gMTtcbiAgfVxuXG4gIGdldFVuc29sZCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVCeSgnY3VycmVudFF1YW50aXR5JywgMCk7XG4gIH1cbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2hvbGRpbmcvaG9sZGluZy5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUE2QjtJQUlsRSxlQUFlO1FBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsSixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU87WUFDTCxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxFQUFDLENBQUM7U0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUN6QyxPQUFPO2dCQUNMLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxFQUFDLENBQUM7Z0JBQzlFLFlB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LENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEksQ0FBQztJQUVELG9CQUFvQixDQUFDLGdCQUF5QztRQUM1RCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXhwb3J0YWJsZUNvbGxlY3Rpb24gfSBmcm9tIFwiLi4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBIb2xkaW5nLCBIb2xkaW5nVHlwZSB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbFwiO1xuaW1wb3J0IHsgRXhwb3J0Q2VsbFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmdDb2xsZWN0aW9uIGV4dGVuZHMgRXhwb3J0YWJsZUNvbGxlY3Rpb248SG9sZGluZz4ge1xuICAvLyBkaWN0aW9uYXJ5IGhvbGRpbmcgdHlwZVxuICBob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPlxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdUaWNrZXInLCAnTmFtZScsICdBc3NldCB0eXBlJywgJ1F0eSBib3VnaHQnLCAnUXR5IGN1cnJlbnQnLCAnQnV5IHByaWNlL1VuaXQnLCAnQ3VycmVudCBwcmljZS9Vbml0JywgJ1RvdGFsIE1WJywgJ1Byb2ZpdC9Mb3NzJ107XG4gIH1cblxuICBnZXRFeHBvcnRGb290ZXIoKTogRXhwb3J0Q2VsbFtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogJycsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkd9KSxcbiAgICBdO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keSgpOiBFeHBvcnRDZWxsW11bXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChob2xkaW5nOiBIb2xkaW5nKSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuaG9sZGluZ1R5cGVzQnlJZC5nZXQoaG9sZGluZy50eXBlLmlkKS50aWNrZXIsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5ob2xkaW5nVHlwZXNCeUlkLmdldChob2xkaW5nLnR5cGUuaWQpLm5hbWUsXG4gICAgICAgICAgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR1xuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogaG9sZGluZy50eXBlLmNhdGVnb3J5TGFiZWwsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkd9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogaG9sZGluZy5xdWFudGl0eSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLmN1cnJlbnRRdWFudGl0eSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBob2xkaW5nLnByaWNlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5ob2xkaW5nVHlwZXNCeUlkLmdldChob2xkaW5nLnR5cGUuaWQpLnByaWNlLFxuICAgICAgICAgIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWVxuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogaG9sZGluZy5nZXRNYXJrZXRWYWx1ZSh0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkpLFxuICAgICAgICAgIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWVxuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHtcbiAgICAgICAgICB2YWx1ZTogaG9sZGluZy5nZXRHcm93dGhDb2VmZmljaWVudCh0aGlzLmhvbGRpbmdUeXBlc0J5SWQuZ2V0KGhvbGRpbmcudHlwZS5pZCkpLFxuICAgICAgICAgIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5QRVJDRU5UXG4gICAgICAgIH0pLFxuICAgICAgXTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFNoYXJlcygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgndHlwZS5jYXRlZ29yeScsIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlNUT0NLKTtcbiAgfVxuXG4gIGdldENyeXB0b3MoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnkoJ3R5cGUuY2F0ZWdvcnknLCBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DUllQVE8pO1xuICB9XG5cbiAgZ2V0T3RoZXJzKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCd0eXBlLmNhdGVnb3J5JywgW1xuICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uQ09MTEVDVElCTEUsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSyxcbiAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVQsXG4gICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5PVEhFUlxuICAgIF0pO1xuICB9XG5cbiAgZ2V0UHVyY2hhc2VWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdwdXJjaGFzZVZhbHVlJyk7XG4gIH1cblxuICBnZXRNYXJrZXRWYWx1ZShob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgaG9sZGluZzogSG9sZGluZykgPT4gc3VtICsgaG9sZGluZy5nZXRNYXJrZXRWYWx1ZShob2xkaW5nVHlwZXNCeUlkLmdldChob2xkaW5nLnR5cGUuaWQpKSwgMCk7XG4gIH1cblxuICBnZXRHcm93dGhDb2VmZmljaWVudChob2xkaW5nVHlwZXNCeUlkOiBEaWN0aW9uYXJ5PEhvbGRpbmdUeXBlPik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWFya2V0VmFsdWUoaG9sZGluZ1R5cGVzQnlJZCkgLyB0aGlzLmdldFB1cmNoYXNlVmFsdWUoKSAtIDE7XG4gIH1cblxuICBnZXRVbnNvbGQoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlQnkoJ2N1cnJlbnRRdWFudGl0eScsIDApO1xuICB9XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { ExportableCollection } from '../exportable.collection';
2
2
  import { ExportCell } from '../../models/export/export-cell';
3
3
  import { plainToClass } from 'class-transformer';
4
4
  import { ExportCellTypeEnum } from '../../models/export/export-cell-type.enum';
5
- import { FinancialYear } from '../../models/financial-year/financial-year';
5
+ import { FinancialYear } from '../../models';
6
6
  export class LoanPaymentCollection extends ExportableCollection {
7
7
  getExportHeader() {
8
8
  return [
@@ -37,4 +37,4 @@ export class LoanPaymentCollection extends ExportableCollection {
37
37
  return this.getByFinYear(new FinancialYear());
38
38
  }
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi1wYXltZW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvbG9hbi9sb2FuLXBheW1lbnQuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUzRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQWlDO0lBQzFFLGVBQWU7UUFDYixPQUFPO1lBQ0wsU0FBUztZQUNULE1BQU07WUFDTixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsUUFBUTtTQUNULENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUUsQ0FBQztZQUM5QyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sRUFBQyxDQUFDO1lBQ2xGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxFQUFDLENBQUM7WUFDOUUsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUN4RixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQzdGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFDLENBQUM7WUFDM0YsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQzlGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFDLENBQUM7U0FDckYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQXlCLElBQUksYUFBYSxFQUFFO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUztZQUNwRixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vZXhwb3J0YWJsZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEV4cG9ydENlbGwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV4cG9ydENlbGxUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtJztcbmltcG9ydCB7IExvYW5QYXltZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvYW4vbG9hbi1wYXltZW50JztcbmltcG9ydCB7IExvYW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9hbi9sb2FuJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuXG5leHBvcnQgY2xhc3MgTG9hblBheW1lbnRDb2xsZWN0aW9uIGV4dGVuZHMgRXhwb3J0YWJsZUNvbGxlY3Rpb248TG9hblBheW1lbnQ+IHtcbiAgZ2V0RXhwb3J0SGVhZGVyKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ1BtdCBOby4nLFxuICAgICAgJ0RhdGUnLFxuICAgICAgJ1BheW1lbnQgRHVlJyxcbiAgICAgICdJbnRlcmVzdCBBY2NydWVkJyxcbiAgICAgICdQcmluY2lwYWwgUGFpZCcsXG4gICAgICAnUHJpbmNpcGFsIEJhbGFuY2UnLFxuICAgICAgJ1BheW91dCdcbiAgICBdO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keSgpOiBFeHBvcnRDZWxsW11bXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChwYXltZW50OiBMb2FuUGF5bWVudCkgPT4gW1xuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogcGF5bWVudC5udW1iZXIsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5TVFJJTkd9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHBheW1lbnQuZGF0ZSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkRBVEV9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHBheW1lbnQucGF5bWVudER1ZSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBwYXltZW50LmludGVyZXN0QWNjcnVlZCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBwYXltZW50LnByaW5jaXBhbFBhaWQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWX0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogcGF5bWVudC5wcmluY2lwYWxCYWxhbmNlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHBheW1lbnQucGF5b3V0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICBdKTtcbiAgfVxuXG4gIGdldCBwYXltZW50RHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ3BheW1lbnREdWUnKTtcbiAgfVxuXG4gIGdldEJ5RmluWWVhcihmaW5ZZWFyOiBGaW5hbmNpYWxZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigocGF5bWVudDogTG9hblBheW1lbnQpID0+IG5ldyBEYXRlKHBheW1lbnQuZGF0ZSkgPj0gZmluWWVhci5zdGFydERhdGUgJiZcbiAgICAgICAgbmV3IERhdGUocGF5bWVudC5kYXRlKSA8PSBmaW5ZZWFyLmVuZERhdGUpXG4gIH1cblxuICBnZXRGb3JDdXJyZW50WWVhcigpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUZpblllYXIobmV3IEZpbmFuY2lhbFllYXIoKSk7XG4gIH1cbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi1wYXltZW50LmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvbG9hbi9sb2FuLXBheW1lbnQuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFpQztJQUMxRSxlQUFlO1FBQ2IsT0FBTztZQUNMLFNBQVM7WUFDVCxNQUFNO1lBQ04sYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFFBQVE7U0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBb0IsRUFBRSxFQUFFLENBQUM7WUFDOUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsQ0FBQztZQUNsRixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksRUFBQyxDQUFDO1lBQzlFLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFDLENBQUM7WUFDeEYsWUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUM3RixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQzNGLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUM5RixZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBQyxDQUFDO1NBQ3JGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUF5QixJQUFJLGFBQWEsRUFBRTtRQUN2RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVM7WUFDcEYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHBvcnRhYmxlQ29sbGVjdGlvbiB9IGZyb20gJy4uL2V4cG9ydGFibGUuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBMb2FuUGF5bWVudCwgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBMb2FuUGF5bWVudENvbGxlY3Rpb24gZXh0ZW5kcyBFeHBvcnRhYmxlQ29sbGVjdGlvbjxMb2FuUGF5bWVudD4ge1xuICBnZXRFeHBvcnRIZWFkZXIoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAnUG10IE5vLicsXG4gICAgICAnRGF0ZScsXG4gICAgICAnUGF5bWVudCBEdWUnLFxuICAgICAgJ0ludGVyZXN0IEFjY3J1ZWQnLFxuICAgICAgJ1ByaW5jaXBhbCBQYWlkJyxcbiAgICAgICdQcmluY2lwYWwgQmFsYW5jZScsXG4gICAgICAnUGF5b3V0J1xuICAgIF07XG4gIH1cblxuICBnZXRFeHBvcnRCb2R5KCk6IEV4cG9ydENlbGxbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKHBheW1lbnQ6IExvYW5QYXltZW50KSA9PiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBwYXltZW50Lm51bWJlciwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogcGF5bWVudC5kYXRlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uREFURX0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogcGF5bWVudC5wYXltZW50RHVlLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHBheW1lbnQuaW50ZXJlc3RBY2NydWVkLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHBheW1lbnQucHJpbmNpcGFsUGFpZCwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiBwYXltZW50LnByaW5jaXBhbEJhbGFuY2UsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWX0pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogcGF5bWVudC5wYXlvdXQsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5DVVJSRU5DWX0pLFxuICAgIF0pO1xuICB9XG5cbiAgZ2V0IHBheW1lbnREdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgncGF5bWVudER1ZScpO1xuICB9XG5cbiAgZ2V0QnlGaW5ZZWFyKGZpblllYXI6IEZpbmFuY2lhbFllYXIgPSBuZXcgRmluYW5jaWFsWWVhcigpKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChwYXltZW50OiBMb2FuUGF5bWVudCkgPT4gbmV3IERhdGUocGF5bWVudC5kYXRlKSA+PSBmaW5ZZWFyLnN0YXJ0RGF0ZSAmJlxuICAgICAgICBuZXcgRGF0ZShwYXltZW50LmRhdGUpIDw9IGZpblllYXIuZW5kRGF0ZSlcbiAgfVxuXG4gIGdldEZvckN1cnJlbnRZZWFyKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmdldEJ5RmluWWVhcihuZXcgRmluYW5jaWFsWWVhcigpKTtcbiAgfVxufVxuIl19
@@ -14,7 +14,7 @@ export var ChartAccountsCategoryEnum;
14
14
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_INCOME"] = 12] = "SOLE_INCOME";
15
15
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_EXPENSE"] = 13] = "SOLE_EXPENSE";
16
16
  ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["SOLE_DEPRECIATION"] = 14] = "SOLE_DEPRECIATION";
17
- ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_EXPENSE"] = 15] = "HOLDING_EXPENSE";
18
- ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_INCOME"] = 16] = "HOLDING_INCOME";
17
+ ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_INCOME"] = 15] = "HOLDING_INCOME";
18
+ ChartAccountsCategoryEnum[ChartAccountsCategoryEnum["HOLDING_EXPENSE"] = 16] = "HOLDING_EXPENSE";
19
19
  })(ChartAccountsCategoryEnum || (ChartAccountsCategoryEnum = {}));
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHlCQWlCWDtBQWpCRCxXQUFZLHlCQUF5QjtJQUNuQywrRkFBbUIsQ0FBQTtJQUNuQixpR0FBb0IsQ0FBQTtJQUNwQiwyR0FBeUIsQ0FBQTtJQUN6Qiw2R0FBMEIsQ0FBQTtJQUMxQixtR0FBcUIsQ0FBQTtJQUNyQix1RkFBZSxDQUFBO0lBQ2YseUZBQWdCLENBQUE7SUFDaEIseUZBQWdCLENBQUE7SUFDaEIsMkZBQWlCLENBQUE7SUFDakIsZ0dBQW9CLENBQUE7SUFDcEIsa0dBQXFCLENBQUE7SUFDckIsd0ZBQWdCLENBQUE7SUFDaEIsMEZBQWlCLENBQUE7SUFDakIsb0dBQXNCLENBQUE7SUFDdEIsZ0dBQW9CLENBQUE7SUFDcEIsOEZBQW1CLENBQUE7QUFDckIsQ0FBQyxFQWpCVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBaUJwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0ge1xuICBQUk9QRVJUWV9JTkNPTUUgPSAxLFxuICBQUk9QRVJUWV9FWFBFTlNFID0gMixcbiAgUFJPUEVSVFlfREVQUkVDSUFUSU9OID0gMyxcbiAgUFJPUEVSVFlfQ0FQSVRBTF9XT1JLUyA9IDQsXG4gIFdPUktfREVQUkVDSUFUSU9OID0gNSxcbiAgV09SS19JTkNPTUUgPSA2LFxuICBXT1JLX0VYUEVOU0UgPSA3LFxuICBPVEhFUl9JTkNPTUUgPSA4LFxuICBPVEhFUl9FWFBFTlNFID0gOSxcbiAgUEVSU09OQUxfSU5DT01FID0gMTAsXG4gIFBFUlNPTkFMX0VYUEVOU0UgPSAxMSxcbiAgU09MRV9JTkNPTUUgPSAxMixcbiAgU09MRV9FWFBFTlNFID0gMTMsXG4gIFNPTEVfREVQUkVDSUFUSU9OID0gMTQsXG4gIEhPTERJTkdfRVhQRU5TRSA9IDE1LFxuICBIT0xESU5HX0lOQ09NRSA9IDE2LFxufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHlCQWlCWDtBQWpCRCxXQUFZLHlCQUF5QjtJQUNuQywrRkFBbUIsQ0FBQTtJQUNuQixpR0FBb0IsQ0FBQTtJQUNwQiwyR0FBeUIsQ0FBQTtJQUN6Qiw2R0FBMEIsQ0FBQTtJQUMxQixtR0FBcUIsQ0FBQTtJQUNyQix1RkFBZSxDQUFBO0lBQ2YseUZBQWdCLENBQUE7SUFDaEIseUZBQWdCLENBQUE7SUFDaEIsMkZBQWlCLENBQUE7SUFDakIsZ0dBQW9CLENBQUE7SUFDcEIsa0dBQXFCLENBQUE7SUFDckIsd0ZBQWdCLENBQUE7SUFDaEIsMEZBQWlCLENBQUE7SUFDakIsb0dBQXNCLENBQUE7SUFDdEIsOEZBQW1CLENBQUE7SUFDbkIsZ0dBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQWpCVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBaUJwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0ge1xuICBQUk9QRVJUWV9JTkNPTUUgPSAxLFxuICBQUk9QRVJUWV9FWFBFTlNFID0gMixcbiAgUFJPUEVSVFlfREVQUkVDSUFUSU9OID0gMyxcbiAgUFJPUEVSVFlfQ0FQSVRBTF9XT1JLUyA9IDQsXG4gIFdPUktfREVQUkVDSUFUSU9OID0gNSxcbiAgV09SS19JTkNPTUUgPSA2LFxuICBXT1JLX0VYUEVOU0UgPSA3LFxuICBPVEhFUl9JTkNPTUUgPSA4LFxuICBPVEhFUl9FWFBFTlNFID0gOSxcbiAgUEVSU09OQUxfSU5DT01FID0gMTAsXG4gIFBFUlNPTkFMX0VYUEVOU0UgPSAxMSxcbiAgU09MRV9JTkNPTUUgPSAxMixcbiAgU09MRV9FWFBFTlNFID0gMTMsXG4gIFNPTEVfREVQUkVDSUFUSU9OID0gMTQsXG4gIEhPTERJTkdfSU5DT01FID0gMTUsXG4gIEhPTERJTkdfRVhQRU5TRSA9IDE2LFxufVxuIl19
@@ -34,7 +34,8 @@ export class HoldingSaleForm extends AbstractForm {
34
34
  this.get('netCapitalGain').setValue(this.calculateNetCapitalGain(totalCapitalGain, date));
35
35
  }
36
36
  calculateTotalCapitalGain(price, quantity, fee) {
37
- return round((price - this.holding.price) * quantity - this.holding.fee - fee, 2);
37
+ const fees = quantity * this.holding.fee / this.holding.quantity + fee;
38
+ return round((price - this.holding.price) * quantity - fees, 2);
38
39
  }
39
40
  calculateNetCapitalGain(totalCapitalGain, date) {
40
41
  let netCapitalGain = (totalCapitalGain * this.holding.ownershipPercent) / 100;
@@ -47,4 +48,4 @@ export class HoldingSaleForm extends AbstractForm {
47
48
  return netCapitalGain > 0 && moment(date).diff(moment(this.holding.date), 'year') > 0;
48
49
  }
49
50
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9ob2xkaW5nLXNhbGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUFZLElBQWlCLEVBQVUsT0FBZ0IsRUFBRSxJQUFpQjtRQUN4RSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hJLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzVFLEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMxRCxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7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b2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSG9sZGluZywgSG9sZGluZ1NhbGUsIEhvbGRpbmdUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5pbXBvcnQgeyBncmVhdGVyVGhhblZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1NhbGVGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPEhvbGRpbmdTYWxlPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY29uc3RydWN0b3Ioc2FsZTogSG9sZGluZ1NhbGUsIHByaXZhdGUgaG9sZGluZzogSG9sZGluZywgdHlwZTogSG9sZGluZ1R5cGUpIHtcbiAgICBzdXBlcih7XG4gICAgICBxdWFudGl0eTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLnF1YW50aXR5LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXgoaG9sZGluZy5jdXJyZW50UXVhbnRpdHkpLCBncmVhdGVyVGhhblZhbGlkYXRvcigwKV0pLFxuICAgICAgcHJpY2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc2FsZS5wcmljZSB8fCB0eXBlLnByaWNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGZlZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLmZlZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUuZGF0ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB0b3RhbENhcGl0YWxHYWluOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHt2YWx1ZTogc2FsZS50b3RhbENhcGl0YWxHYWluLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgICAgbmV0Q2FwaXRhbEdhaW46IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBzYWxlLm5ldENhcGl0YWxHYWluLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgICAgZmlsZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLmZpbGUpXG4gICAgfSwgc2FsZSk7XG5cbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICAgIHRoaXMuZW1pdFZhbHVlcygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoWydkYXRlJywgJ3ByaWNlJywgJ3F1YW50aXR5JywgJ2ZlZSddLm1hcCgoZmllbGQpID0+IHRoaXMuZ2V0KGZpZWxkKS52YWx1ZUNoYW5nZXMpKVxuICAgICAgLnN1YnNjcmliZSgoW2RhdGUsIHByaWNlLCBxdWFudGl0eSwgZmVlXSkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUdhaW5GaWVsZHMoZGF0ZSwgcHJpY2UsIHF1YW50aXR5LCBmZWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBzdWJtaXQoKTogSG9sZGluZ1NhbGUge1xuICAgIHJldHVybiBzdXBlci5zdWJtaXQoe30sIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVHYWluRmllbGRzKGRhdGU6IERhdGUsIHByaWNlOiBudW1iZXIsIHF1YW50aXR5OiBudW1iZXIsIGZlZTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdG90YWxDYXBpdGFsR2FpbiA9IHRoaXMuY2FsY3VsYXRlVG90YWxDYXBpdGFsR2FpbihwcmljZSwgcXVhbnRpdHksIGZlZSk7XG5cbiAgICB0aGlzLmdldCgndG90YWxDYXBpdGFsR2FpbicpLnNldFZhbHVlKHRvdGFsQ2FwaXRhbEdhaW4pO1xuICAgIHRoaXMuZ2V0KCduZXRDYXBpdGFsR2FpbicpLnNldFZhbHVlKHRoaXMuY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4odG90YWxDYXBpdGFsR2FpbiwgZGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVUb3RhbENhcGl0YWxHYWluKHByaWNlOiBudW1iZXIsIHF1YW50aXR5OiBudW1iZXIsIGZlZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcm91bmQoKHByaWNlIC0gdGhpcy5ob2xkaW5nLnByaWNlKSAqIHF1YW50aXR5IC0gdGhpcy5ob2xkaW5nLmZlZSAtIGZlZSwgMik7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZU5ldENhcGl0YWxHYWluKHRvdGFsQ2FwaXRhbEdhaW46IG51bWJlciwgZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgbGV0IG5ldENhcGl0YWxHYWluID0gKHRvdGFsQ2FwaXRhbEdhaW4gKiB0aGlzLmhvbGRpbmcub3duZXJzaGlwUGVyY2VudCkgLyAxMDA7XG5cbiAgICBpZiAodGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKG5ldENhcGl0YWxHYWluLCBkYXRlKSkge1xuICAgICAgbmV0Q2FwaXRhbEdhaW4gPSBuZXRDYXBpdGFsR2FpbiAvIDI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvdW5kKG5ldENhcGl0YWxHYWluLCAyKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShuZXRDYXBpdGFsR2FpbjogbnVtYmVyLCBkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG5ldENhcGl0YWxHYWluID4gMCAmJiBtb21lbnQoZGF0ZSkuZGlmZihtb21lbnQodGhpcy5ob2xkaW5nLmRhdGUpLCAneWVhcicpID4gMDtcbiAgfVxufVxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9ob2xkaW5nLXNhbGUuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUFZLElBQWlCLEVBQVUsT0FBZ0IsRUFBRSxJQUFpQjtRQUN4RSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hJLEtBQUssRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzVFLEdBQUcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMxRCxJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7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Q0FBQyxDQUFDO0lBQ3hGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBIb2xkaW5nLCBIb2xkaW5nU2FsZSwgSG9sZGluZ1R5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgcm91bmQgZnJvbSAnbG9kYXNoL3JvdW5kJztcbmltcG9ydCB7IGdyZWF0ZXJUaGFuVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nU2FsZUZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08SG9sZGluZ1NhbGU+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihzYWxlOiBIb2xkaW5nU2FsZSwgcHJpdmF0ZSBob2xkaW5nOiBIb2xkaW5nLCB0eXBlOiBIb2xkaW5nVHlwZSkge1xuICAgIHN1cGVyKHtcbiAgICAgIHF1YW50aXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUucXVhbnRpdHksIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heChob2xkaW5nLmN1cnJlbnRRdWFudGl0eSksIGdyZWF0ZXJUaGFuVmFsaWRhdG9yKDApXSksXG4gICAgICBwcmljZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzYWxlLnByaWNlIHx8IHR5cGUucHJpY2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZmVlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUuZmVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGRhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woc2FsZS5kYXRlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHRvdGFsQ2FwaXRhbEdhaW46IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe3ZhbHVlOiBzYWxlLnRvdGFsQ2FwaXRhbEdhaW4sIGRpc2FibGVkOiB0cnVlfSksXG4gICAgICBuZXRDYXBpdGFsR2FpbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IHNhbGUubmV0Q2FwaXRhbEdhaW4sIGRpc2FibGVkOiB0cnVlfSksXG4gICAgICBmaWxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNhbGUuZmlsZSlcbiAgICB9LCBzYWxlKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gICAgdGhpcy5lbWl0VmFsdWVzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbJ2RhdGUnLCAncHJpY2UnLCAncXVhbnRpdHknLCAnZmVlJ10ubWFwKChmaWVsZCkgPT4gdGhpcy5nZXQoZmllbGQpLnZhbHVlQ2hhbmdlcykpXG4gICAgICAuc3Vic2NyaWJlKChbZGF0ZSwgcHJpY2UsIHF1YW50aXR5LCBmZWVdKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlR2FpbkZpZWxkcyhkYXRlLCBwcmljZSwgcXVhbnRpdHksIGZlZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiBIb2xkaW5nU2FsZSB7XG4gICAgcmV0dXJuIHN1cGVyLnN1Ym1pdCh7fSwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUdhaW5GaWVsZHMoZGF0ZTogRGF0ZSwgcHJpY2U6IG51bWJlciwgcXVhbnRpdHk6IG51bWJlciwgZmVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB0b3RhbENhcGl0YWxHYWluID0gdGhpcy5jYWxjdWxhdGVUb3RhbENhcGl0YWxHYWluKHByaWNlLCBxdWFudGl0eSwgZmVlKTtcblxuICAgIHRoaXMuZ2V0KCd0b3RhbENhcGl0YWxHYWluJykuc2V0VmFsdWUodG90YWxDYXBpdGFsR2Fpbik7XG4gICAgdGhpcy5nZXQoJ25ldENhcGl0YWxHYWluJykuc2V0VmFsdWUodGhpcy5jYWxjdWxhdGVOZXRDYXBpdGFsR2Fpbih0b3RhbENhcGl0YWxHYWluLCBkYXRlKSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVRvdGFsQ2FwaXRhbEdhaW4ocHJpY2U6IG51bWJlciwgcXVhbnRpdHk6IG51bWJlciwgZmVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGZlZXMgPSBxdWFudGl0eSAqIHRoaXMuaG9sZGluZy5mZWUgLyB0aGlzLmhvbGRpbmcucXVhbnRpdHkgKyBmZWU7XG4gICAgcmV0dXJuIHJvdW5kKChwcmljZSAtIHRoaXMuaG9sZGluZy5wcmljZSkgKiBxdWFudGl0eSAtIGZlZXMsIDIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVOZXRDYXBpdGFsR2Fpbih0b3RhbENhcGl0YWxHYWluOiBudW1iZXIsIGRhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIGxldCBuZXRDYXBpdGFsR2FpbiA9ICh0b3RhbENhcGl0YWxHYWluICogdGhpcy5ob2xkaW5nLm93bmVyc2hpcFBlcmNlbnQpIC8gMTAwO1xuXG4gICAgaWYgKHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShuZXRDYXBpdGFsR2FpbiwgZGF0ZSkpIHtcbiAgICAgIG5ldENhcGl0YWxHYWluID0gbmV0Q2FwaXRhbEdhaW4gLyAyO1xuICAgIH1cblxuICAgIHJldHVybiByb3VuZChuZXRDYXBpdGFsR2FpbiwgMik7XG4gIH1cblxuICBwcml2YXRlIGlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUobmV0Q2FwaXRhbEdhaW46IG51bWJlciwgZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBuZXRDYXBpdGFsR2FpbiA+IDAgJiYgbW9tZW50KGRhdGUpLmRpZmYobW9tZW50KHRoaXMuaG9sZGluZy5kYXRlKSwgJ3llYXInKSA+IDA7XG4gIH1cbn1cbiJdfQ==
@@ -3,13 +3,14 @@ import { ACCOUNT_SETUP_ITEMS } from '../../models/account-setup/account-setup-it
3
3
  import { AccountSetupItemsEnum } from '../../models/account-setup/account-setup-items.enum';
4
4
  import { ClientIncomeTypes } from '../../models/client/client-income-types';
5
5
  import { IncomeSourceCollection } from '../../collections/income-source.collection';
6
- import { ReplaySubject, combineLatest, of } from 'rxjs';
6
+ import { combineLatest, of, ReplaySubject } from 'rxjs';
7
7
  import { map, mergeMap } from 'rxjs/operators';
8
8
  import { AccountSetupItemCollection } from '../../collections/account-setup-item.collection';
9
9
  import fromPairs from 'lodash/fromPairs';
10
10
  import cloneDeep from 'lodash/cloneDeep';
11
11
  import { plainToClass } from 'class-transformer';
12
12
  import { TransactionCollection } from '../../collections/transaction/transaction.collection';
13
+ import { UserRolesEnum } from '../../db/Enums/user-roles.enum';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "../http/firm/client-income/client-income-types.service";
15
16
  import * as i2 from "../http/property/property.service";
@@ -24,7 +25,7 @@ import * as i8 from "../http";
24
25
  * Checks required steps and their completion
25
26
  */
26
27
  export class AccountSetupService {
27
- constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService) {
28
+ constructor(clientIncomeTypesService, propertyService, incomeSourceService, bankAccountsService, transactionAllocationService, vehicleClaimService, transactionService, soleBusinessService, holdingService, userService) {
28
29
  this.clientIncomeTypesService = clientIncomeTypesService;
29
30
  this.propertyService = propertyService;
30
31
  this.incomeSourceService = incomeSourceService;
@@ -34,6 +35,7 @@ export class AccountSetupService {
34
35
  this.transactionService = transactionService;
35
36
  this.soleBusinessService = soleBusinessService;
36
37
  this.holdingService = holdingService;
38
+ this.userService = userService;
37
39
  this.cacheSubject = new ReplaySubject(1);
38
40
  }
39
41
  /**
@@ -86,25 +88,26 @@ export class AccountSetupService {
86
88
  */
87
89
  createBatch(incomeTypes) {
88
90
  const batch = [];
91
+ const user = this.userService.getCache();
89
92
  // Salary item is completed when user added salary income source
90
- if (incomeTypes.work) {
93
+ if (incomeTypes.work && user.hasRoles(UserRolesEnum.WORK_TANK)) {
91
94
  batch.push(this.create(AccountSetupItemsEnum.SALARY, this.getIncomeSources(true)),
92
95
  // Other income is a part of work tank, completed when user added at least one other income source
93
96
  this.create(AccountSetupItemsEnum.OTHER_INCOME, this.getIncomeSources()));
94
97
  }
95
98
  // Rental income item is completed when user added at least one property
96
- if (incomeTypes.property) {
99
+ if (incomeTypes.property && user.hasRoles(UserRolesEnum.PROPERTY_TANK)) {
97
100
  batch.push(this.create(AccountSetupItemsEnum.PROPERTY, this.propertyService.getArray()));
98
101
  }
99
102
  // Sole business item is completed when user added at least one business
100
- if (incomeTypes.sole) {
103
+ if (incomeTypes.sole && user.hasRoles(UserRolesEnum.SOLE_TANK)) {
101
104
  batch.push(this.create(AccountSetupItemsEnum.SOLE_BUSINESS, this.soleBusinessService.get()));
102
105
  }
103
106
  // holdings item is completed when user added at least one holding
104
- if (incomeTypes.holdings) {
107
+ if (incomeTypes.holdings && user.hasRoles(UserRolesEnum.HOLDING_TANK)) {
105
108
  batch.push(this.create(AccountSetupItemsEnum.HOLDINGS, this.holdingService.getArray()));
106
109
  }
107
- if (incomeTypes.sole || incomeTypes.property || incomeTypes.work) {
110
+ if (incomeTypes.sole || incomeTypes.property || incomeTypes.work || incomeTypes.holdings) {
108
111
  // Bank feeds item is completed when user added at least one bank account (basiq or manual)
109
112
  batch.push(this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.getArray()));
110
113
  // Logbook item is completed when user has at least one vehicle claim with any method (kms or logbook)
@@ -142,12 +145,12 @@ export class AccountSetupService {
142
145
  }));
143
146
  }
144
147
  }
145
- AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }, { token: i8.HoldingService }], target: i0.ɵɵFactoryTarget.Injectable });
148
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }, { token: i8.HoldingService }, { token: i8.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
146
149
  AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
147
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AccountSetupService, decorators: [{
148
151
  type: Injectable,
149
152
  args: [{
150
153
  providedIn: 'root'
151
154
  }]
152
- }], ctorParameters: function () { return [{ type: i1.ClientIncomeTypesService }, { type: i2.PropertyService }, { type: i3.IncomeSourceService }, { type: i4.BankAccountService }, { type: i5.TransactionAllocationService }, { type: i6.VehicleClaimService }, { type: i7.TransactionService }, { type: i8.SoleBusinessService }, { type: i8.HoldingService }]; } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFJcEYsT0FBTyxFQUFjLGFBQWEsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBVSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFN0YsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7Ozs7O0FBRzdGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFDVSx3QkFBa0QsRUFDbEQsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLG1CQUF1QyxFQUN2Qyw0QkFBMEQsRUFDMUQsbUJBQXdDLEVBQ3hDLGtCQUFzQyxFQUN0QyxtQkFBd0MsRUFDeEMsY0FBOEI7UUFSOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDMUQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWnhDLGlCQUFZLEdBQThDLElBQUksYUFBYSxDQUE2QixDQUFDLENBQUMsQ0FBQztJQWMzRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksMEJBQTBCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFaEQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRTtpQkFDdEMsSUFBSSxDQUNILFFBQVEsQ0FBQyxDQUFDLFdBQThCLEVBQUUsRUFBRTtnQkFDMUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBRTFDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLENBQUMsQ0FBQyxLQUFpQyxFQUFFLEVBQUU7Z0JBQy9DLFFBQVEsSUFBSSxFQUFFO29CQUNaLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO29CQUNqQixLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUNwRyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNO3dCQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN0QztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsSUFBc0I7UUFDdkMsT0FBTyxZQUFZLENBQ2pCLGlCQUFpQixFQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdEgsQ0FBQTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxRQUErQixFQUFFLE9BQTZCO1FBQzNFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsR0FBRyxDQUFDLENBQUMsTUFBZ0IsRUFBb0IsRUFBRTtZQUN6QyxNQUFNLElBQUksR0FBcUIsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFN0QsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQzthQUMxQjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSyxXQUFXLENBQUMsV0FBOEI7UUFDaEQsTUFBTSxLQUFLLEdBQW1DLEVBQUUsQ0FBQztRQUVqRCxnRUFBZ0U7UUFDaEUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FDVCxxQkFBcUIsQ0FBQyxNQUFNLEVBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FDNUI7WUFDRCxrR0FBa0c7WUFDbEcsSUFBSSxDQUFDLE1BQU0sQ0FDVCxxQkFBcUIsQ0FBQyxZQUFZLEVBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUN4QixDQUNGLENBQUM7U0FDSDtRQUVELHdFQUF3RTtRQUN4RSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRjtRQUVELHdFQUF3RTtRQUN4RSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDcEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlGO1FBRUQsa0VBQWtFO1FBQ2xFLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pGO1FBRUQsSUFBSSxXQUFXLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLElBQUksRUFBRTtZQUNoRSwyRkFBMkY7WUFDM0YsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRS9GLHNHQUFzRztZQUN0RyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBRWxDLG1GQUFtRjtZQUNuRixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckc7UUFFRCxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBeUIsRUFBRSxFQUFFLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxLQUFLO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDeEMsR0FBRyxDQUFDLENBQUMsYUFBNkIsRUFBa0IsRUFBRTtZQUNwRCxNQUFNLFVBQVUsR0FBMkIsSUFBSSxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyRixJQUFJLFFBQVEsRUFBRTtnQkFDWixPQUFPLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUMvQjtZQUVELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ2pJLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRTthQUNqQyxJQUFJO1FBQ0gsbUVBQW1FO1FBQ25FLEdBQUcsQ0FBQyxDQUFDLFlBQTJCLEVBQUUsRUFBRSxDQUFDLElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsRUFDN0UsUUFBUSxDQUFDLENBQUMsWUFBbUMsRUFBRSxFQUFFO1lBQy9DLElBQUksWUFBWSxDQUFDLHNCQUFzQixFQUFFLENBQUMsTUFBTSxFQUFFO2dCQUNoRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3hGO1lBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7O2dIQWhLVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBQ0NPVU5UX1NFVFVQX0lURU1TIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtcy5jb25zdCc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtJztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW1zRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuZW51bSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi9odHRwL2JhbmsvYmFuay1hY2NvdW50L2JhbmstYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IENsaWVudEluY29tZVR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsaWVudC9jbGllbnQtaW5jb21lLXR5cGVzJztcbmltcG9ydCB7IENsaWVudEluY29tZVR5cGVzU2VydmljZSB9IGZyb20gJy4uL2h0dHAvZmlybS9jbGllbnQtaW5jb21lL2NsaWVudC1pbmNvbWUtdHlwZXMuc2VydmljZSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IEluY29tZVNvdXJjZUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9pbmNvbWUtc291cmNlLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgSW5jb21lU291cmNlU2VydmljZSB9IGZyb20gJy4uL2h0dHAvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9wcm9wZXJ0eS9wcm9wZXJ0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2FjY291bnQtc2V0dXAtaXRlbS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3ZlaGljbGUvdmVoaWNsZS1jbGFpbS5zZXJ2aWNlJztcbmltcG9ydCBmcm9tUGFpcnMgZnJvbSAnbG9kYXNoL2Zyb21QYWlycyc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHtIb2xkaW5nU2VydmljZSwgU29sZUJ1c2luZXNzU2VydmljZX0gZnJvbSAnLi4vaHR0cCc7XG5cbi8qKlxuICogU2VydmljZSBoYW5kbGluZyB1c2VyJ3MgYWNjb3VudCBzZXR1cCBwcm9jZXNzLlxuICogQ2hlY2tzIHJlcXVpcmVkIHN0ZXBzIGFuZCB0aGVpciBjb21wbGV0aW9uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cFNlcnZpY2Uge1xuICBjYWNoZTogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb247XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4oMSk7XG4gIGNsaWVudEluY29tZVR5cGVzSWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNsaWVudEluY29tZVR5cGVzU2VydmljZTogQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmNvbWVTb3VyY2VTZXJ2aWNlOiBJbmNvbWVTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzU2VydmljZTogQmFua0FjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHZlaGljbGVDbGFpbVNlcnZpY2U6IFZlaGljbGVDbGFpbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNvbGVCdXNpbmVzc1NlcnZpY2U6IFNvbGVCdXNpbmVzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBob2xkaW5nU2VydmljZTogSG9sZGluZ1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIGFjY291bnQgc2V0dXAgaXRlbXMgZm9yIGN1cnJlbnQgdXNlclxuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuY2FjaGUgPSBuZXcgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24oW10pO1xuXG4gICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzU2VydmljZS5nZXRTaW5nbGUoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzSWQgPSBpbmNvbWVUeXBlcy5pZDtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQmF0Y2goaW5jb21lVHlwZXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICBjYXNlICF0aGlzLmNhY2hlOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmZpbHRlckJ5KCdpc0NvbXBsZXRlZCcsIHRydWUpLmxlbmd0aCAhPT0gaXRlbXMuZmlsdGVyQnkoJ2lzQ29tcGxldGVkJywgdHJ1ZSkubGVuZ3RoOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmxlbmd0aCAhPT0gaXRlbXMubGVuZ3RoOlxuICAgICAgICAgICAgICB0aGlzLmNhY2hlID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIGNsaWVudCBpbmNvbWUgdHlwZXMgdG8gdXBkYXRlIHRvIGhpZGUgZGVwZW5kZWQgYWNjb3VudCBzZXR1cCBpdGVtc1xuICAgKi9cbiAgcHJlcGFyZUluY29tZVR5cGVzKGl0ZW06IEFjY291bnRTZXR1cEl0ZW0pOiBDbGllbnRJbmNvbWVUeXBlcyB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhcbiAgICAgIENsaWVudEluY29tZVR5cGVzLFxuICAgICAgT2JqZWN0LmFzc2lnbih7aWQ6IHRoaXMuY2xpZW50SW5jb21lVHlwZXNJZH0sIGZyb21QYWlycyhpdGVtLmNsaWVudEluY29tZVR5cGVzLm1hcCgodHlwZTogc3RyaW5nKSA9PiBbdHlwZSwgZmFsc2VdKSkpXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSBBY2NvdW50U2V0dXBJdGVtIGFuZCBjaGVjayBpdCdzIGNvbXBsZXRpb25cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlKGl0ZW1UeXBlOiBBY2NvdW50U2V0dXBJdGVtc0VudW0sIHJlcXVlc3Q6IE9ic2VydmFibGU8b2JqZWN0W10+KTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPiB7XG4gICAgcmV0dXJuIHJlcXVlc3QucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiBvYmplY3RbXSk6IEFjY291bnRTZXR1cEl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBpdGVtOiBBY2NvdW50U2V0dXBJdGVtID0gQUNDT1VOVF9TRVRVUF9JVEVNU1tpdGVtVHlwZV07XG5cbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmF0Y2ggb2YgcmVxdWVzdHMgdG8gZ2V0IGxpc3Qgb2YgcmVxdWlyZWQgQWNjb3VudFNldHVwSXRlbSdzLlxuICAgKiBTb21lIGl0ZW1zIGFyZSBvcHRpb25hbCBhbmQgZGVwZW5kcyBvZiB1c2VyJ3MgY2xpZW50IGluY29tZSB0eXBlc1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCYXRjaChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgY29uc3QgYmF0Y2g6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT5bXSA9IFtdO1xuXG4gICAgLy8gU2FsYXJ5IGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBzYWxhcnkgaW5jb21lIHNvdXJjZVxuICAgIGlmIChpbmNvbWVUeXBlcy53b3JrKSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICB0aGlzLmNyZWF0ZShcbiAgICAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uU0FMQVJZLFxuICAgICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlcyh0cnVlKVxuICAgICAgICApLFxuICAgICAgICAvLyBPdGhlciBpbmNvbWUgaXMgYSBwYXJ0IG9mIHdvcmsgdGFuaywgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgb3RoZXIgaW5jb21lIHNvdXJjZVxuICAgICAgICB0aGlzLmNyZWF0ZShcbiAgICAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uT1RIRVJfSU5DT01FLFxuICAgICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlcygpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUmVudGFsIGluY29tZSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHByb3BlcnR5XG4gICAgaWYgKGluY29tZVR5cGVzLnByb3BlcnR5KSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5QUk9QRVJUWSwgdGhpcy5wcm9wZXJ0eVNlcnZpY2UuZ2V0QXJyYXkoKSkpO1xuICAgIH1cblxuICAgIC8vIFNvbGUgYnVzaW5lc3MgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBidXNpbmVzc1xuICAgIGlmIChpbmNvbWVUeXBlcy5zb2xlKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5TT0xFX0JVU0lORVNTLCB0aGlzLnNvbGVCdXNpbmVzc1NlcnZpY2UuZ2V0KCkpKTtcbiAgICB9XG5cbiAgICAvLyBob2xkaW5ncyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGhvbGRpbmdcbiAgICBpZiAoaW5jb21lVHlwZXMuaG9sZGluZ3MpIHtcbiAgICAgIGJhdGNoLnB1c2godGhpcy5jcmVhdGUoQWNjb3VudFNldHVwSXRlbXNFbnVtLkhPTERJTkdTLCB0aGlzLmhvbGRpbmdTZXJ2aWNlLmdldEFycmF5KCkpKTtcbiAgICB9XG5cbiAgICBpZiAoaW5jb21lVHlwZXMuc29sZSB8fCBpbmNvbWVUeXBlcy5wcm9wZXJ0eSB8fCBpbmNvbWVUeXBlcy53b3JrKSB7XG4gICAgICAvLyBCYW5rIGZlZWRzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgYmFuayBhY2NvdW50IChiYXNpcSBvciBtYW51YWwpXG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5CQU5LX0ZFRURTLCB0aGlzLmJhbmtBY2NvdW50c1NlcnZpY2UuZ2V0QXJyYXkoKSkpO1xuXG4gICAgICAvLyBMb2dib29rIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBoYXMgYXQgbGVhc3Qgb25lIHZlaGljbGUgY2xhaW0gd2l0aCBhbnkgbWV0aG9kIChrbXMgb3IgbG9nYm9vaylcbiAgICAgIGJhdGNoLnB1c2godGhpcy5nZXRMb2dib29rSXRlbSgpKTtcblxuICAgICAgLy8gQWxsb2NhdGlvbiBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25cbiAgICAgIGJhdGNoLnB1c2godGhpcy5jcmVhdGUoQWNjb3VudFNldHVwSXRlbXNFbnVtLlRSQU5TQUNUSU9OLCB0aGlzLnRyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2UuZ2V0KCkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCkucGlwZShtYXAoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pID0+IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiB3b3JrIHdpdGggY29sbGVjdGlvbiB3aGVuIHNlcnZpY2VzIHJlZmFjdG9yZWRcbiAgICogQFRPRE8gVmlrOiB3YWl0aW5nIGZvciBpbmNvbWUgc291cmNlcyByZWZhY3RvcmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbmNvbWVTb3VyY2VzKGlzU2FsYXJ5ID0gZmFsc2UpOiBPYnNlcnZhYmxlPEluY29tZVNvdXJjZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21lU291cmNlU2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IEluY29tZVNvdXJjZVtdID0+IHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogSW5jb21lU291cmNlQ29sbGVjdGlvbiA9IG5ldyBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoaXNTYWxhcnkpIHtcbiAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5nZXRTYWxhcnkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLml0ZW1zLmZpbHRlcigoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+ICFpbmNvbWVTb3VyY2UuaXNTYWxhcnlJbmNvbWUoKSAmJiAhaW5jb21lU291cmNlLmlzU29sZUluY29tZSgpKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgbG9nYm9vayBpdGVtIHdoZW4gdXNlciBoYXMgYXQgbGVhc3QgMSB2ZWhpY2xlIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIGdldExvZ2Jvb2tJdGVtKCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIEBUT0RPIEFsZXg6IHJlbW92ZSBtYXAgd2hlbiBzZXJ2aWNlcyBzdGFydCB3b3JrIHdpdGggY29sbGVjdGlvbnNcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pID0+IG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odHJhbnNhY3Rpb25zKSksXG4gICAgICAgIG1lcmdlTWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbnMuZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5XT1JLX0xPR0JPT0ssIHRoaXMudmVoaWNsZUNsYWltU2VydmljZS5nZXQoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
155
+ }], ctorParameters: function () { return [{ type: i1.ClientIncomeTypesService }, { type: i2.PropertyService }, { type: i3.IncomeSourceService }, { type: i4.BankAccountService }, { type: i5.TransactionAllocationService }, { type: i6.VehicleClaimService }, { type: i7.TransactionService }, { type: i8.SoleBusinessService }, { type: i8.HoldingService }, { type: i8.UserService }]; } });
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFFekYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFFMUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFHMUUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFJbEYsT0FBTyxFQUFDLGFBQWEsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFM0YsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBRTNGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7OztBQUU3RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQ1Usd0JBQWtELEVBQ2xELGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxtQkFBdUMsRUFDdkMsNEJBQTBELEVBQzFELG1CQUF3QyxFQUN4Qyxr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QUksUUFBUSxFQUFFO2dCQUNaLE9BQU8sVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQy9CO1lBRUQsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDakksQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFO2FBQ2pDLElBQUk7UUFDSCxtRUFBbUU7UUFDbkUsR0FBRyxDQUFDLENBQUMsWUFBMkIsRUFBRSxFQUFFLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUM3RSxRQUFRLENBQUMsQ0FBQyxZQUFtQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxZQUFZLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDeEY7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7Z0hBbEtVLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FDQ09VTlRfU0VUVVBfSVRFTVN9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuY29uc3QnO1xuaW1wb3J0IHtBY2NvdW50U2V0dXBJdGVtfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW0nO1xuaW1wb3J0IHtBY2NvdW50U2V0dXBJdGVtc0VudW19IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuZW51bSc7XG5pbXBvcnQge0JhbmtBY2NvdW50U2VydmljZX0gZnJvbSAnLi4vaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZSc7XG5pbXBvcnQge0NsaWVudEluY29tZVR5cGVzfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuaW1wb3J0IHtDbGllbnRJbmNvbWVUeXBlc1NlcnZpY2V9IGZyb20gJy4uL2h0dHAvZmlybS9jbGllbnQtaW5jb21lL2NsaWVudC1pbmNvbWUtdHlwZXMuc2VydmljZSc7XG5pbXBvcnQge0luY29tZVNvdXJjZX0gZnJvbSAnLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQge0luY29tZVNvdXJjZUNvbGxlY3Rpb259IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2luY29tZS1zb3VyY2UuY29sbGVjdGlvbic7XG5pbXBvcnQge0luY29tZVNvdXJjZVNlcnZpY2V9IGZyb20gJy4uL2h0dHAvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtQcm9wZXJ0eVNlcnZpY2V9IGZyb20gJy4uL2h0dHAvcHJvcGVydHkvcHJvcGVydHkuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zYWN0aW9uQWxsb2NhdGlvblNlcnZpY2V9IGZyb20gJy4uL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgbWVyZ2VNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb259IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2FjY291bnQtc2V0dXAtaXRlbS5jb2xsZWN0aW9uJztcbmltcG9ydCB7VmVoaWNsZUNsYWltU2VydmljZX0gZnJvbSAnLi4vaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0uc2VydmljZSc7XG5pbXBvcnQgZnJvbVBhaXJzIGZyb20gJ2xvZGFzaC9mcm9tUGFpcnMnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCB7cGxhaW5Ub0NsYXNzfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7VHJhbnNhY3Rpb259IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1RyYW5zYWN0aW9uQ29sbGVjdGlvbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQge0hvbGRpbmdTZXJ2aWNlLCBTb2xlQnVzaW5lc3NTZXJ2aWNlLCBVc2VyU2VydmljZX0gZnJvbSAnLi4vaHR0cCc7XG5pbXBvcnQge1VzZXJSb2xlc0VudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3VzZXItcm9sZXMuZW51bSc7XG5cbi8qKlxuICogU2VydmljZSBoYW5kbGluZyB1c2VyJ3MgYWNjb3VudCBzZXR1cCBwcm9jZXNzLlxuICogQ2hlY2tzIHJlcXVpcmVkIHN0ZXBzIGFuZCB0aGVpciBjb21wbGV0aW9uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cFNlcnZpY2Uge1xuICBjYWNoZTogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb247XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4oMSk7XG4gIGNsaWVudEluY29tZVR5cGVzSWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNsaWVudEluY29tZVR5cGVzU2VydmljZTogQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmNvbWVTb3VyY2VTZXJ2aWNlOiBJbmNvbWVTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzU2VydmljZTogQmFua0FjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHZlaGljbGVDbGFpbVNlcnZpY2U6IFZlaGljbGVDbGFpbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNvbGVCdXNpbmVzc1NlcnZpY2U6IFNvbGVCdXNpbmVzc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBob2xkaW5nU2VydmljZTogSG9sZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIGFjY291bnQgc2V0dXAgaXRlbXMgZm9yIGN1cnJlbnQgdXNlclxuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuY2FjaGUgPSBuZXcgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24oW10pO1xuXG4gICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzU2VydmljZS5nZXRTaW5nbGUoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsaWVudEluY29tZVR5cGVzSWQgPSBpbmNvbWVUeXBlcy5pZDtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQmF0Y2goaW5jb21lVHlwZXMpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoaXRlbXM6IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICBjYXNlICF0aGlzLmNhY2hlOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmZpbHRlckJ5KCdpc0NvbXBsZXRlZCcsIHRydWUpLmxlbmd0aCAhPT0gaXRlbXMuZmlsdGVyQnkoJ2lzQ29tcGxldGVkJywgdHJ1ZSkubGVuZ3RoOlxuICAgICAgICAgICAgY2FzZSB0aGlzLmNhY2hlLmxlbmd0aCAhPT0gaXRlbXMubGVuZ3RoOlxuICAgICAgICAgICAgICB0aGlzLmNhY2hlID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIGNsaWVudCBpbmNvbWUgdHlwZXMgdG8gdXBkYXRlIHRvIGhpZGUgZGVwZW5kZWQgYWNjb3VudCBzZXR1cCBpdGVtc1xuICAgKi9cbiAgcHJlcGFyZUluY29tZVR5cGVzKGl0ZW06IEFjY291bnRTZXR1cEl0ZW0pOiBDbGllbnRJbmNvbWVUeXBlcyB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhcbiAgICAgIENsaWVudEluY29tZVR5cGVzLFxuICAgICAgT2JqZWN0LmFzc2lnbih7aWQ6IHRoaXMuY2xpZW50SW5jb21lVHlwZXNJZH0sIGZyb21QYWlycyhpdGVtLmNsaWVudEluY29tZVR5cGVzLm1hcCgodHlwZTogc3RyaW5nKSA9PiBbdHlwZSwgZmFsc2VdKSkpXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNpbmdsZSBBY2NvdW50U2V0dXBJdGVtIGFuZCBjaGVjayBpdCdzIGNvbXBsZXRpb25cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlKGl0ZW1UeXBlOiBBY2NvdW50U2V0dXBJdGVtc0VudW0sIHJlcXVlc3Q6IE9ic2VydmFibGU8b2JqZWN0W10+KTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPiB7XG4gICAgcmV0dXJuIHJlcXVlc3QucGlwZShcbiAgICAgIG1hcCgocmVzdWx0OiBvYmplY3RbXSk6IEFjY291bnRTZXR1cEl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBpdGVtOiBBY2NvdW50U2V0dXBJdGVtID0gQUNDT1VOVF9TRVRVUF9JVEVNU1tpdGVtVHlwZV07XG5cbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtLmlzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmF0Y2ggb2YgcmVxdWVzdHMgdG8gZ2V0IGxpc3Qgb2YgcmVxdWlyZWQgQWNjb3VudFNldHVwSXRlbSdzLlxuICAgKiBTb21lIGl0ZW1zIGFyZSBvcHRpb25hbCBhbmQgZGVwZW5kcyBvZiB1c2VyJ3MgY2xpZW50IGluY29tZSB0eXBlc1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCYXRjaChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgY29uc3QgYmF0Y2g6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT5bXSA9IFtdO1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXJTZXJ2aWNlLmdldENhY2hlKCk7XG5cbiAgICAvLyBTYWxhcnkgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIHNhbGFyeSBpbmNvbWUgc291cmNlXG4gICAgaWYgKGluY29tZVR5cGVzLndvcmsgJiYgdXNlci5oYXNSb2xlcyhVc2VyUm9sZXNFbnVtLldPUktfVEFOSykpIHtcbiAgICAgIGJhdGNoLnB1c2goXG4gICAgICAgIHRoaXMuY3JlYXRlKFxuICAgICAgICAgIEFjY291bnRTZXR1cEl0ZW1zRW51bS5TQUxBUlksXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKHRydWUpXG4gICAgICAgICksXG4gICAgICAgIC8vIE90aGVyIGluY29tZSBpcyBhIHBhcnQgb2Ygd29yayB0YW5rLCBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBvdGhlciBpbmNvbWUgc291cmNlXG4gICAgICAgIHRoaXMuY3JlYXRlKFxuICAgICAgICAgIEFjY291bnRTZXR1cEl0ZW1zRW51bS5PVEhFUl9JTkNPTUUsXG4gICAgICAgICAgdGhpcy5nZXRJbmNvbWVTb3VyY2VzKClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBSZW50YWwgaW5jb21lIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgcHJvcGVydHlcbiAgICBpZiAoaW5jb21lVHlwZXMucHJvcGVydHkgJiYgdXNlci5oYXNSb2xlcyhVc2VyUm9sZXNFbnVtLlBST1BFUlRZX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5QUk9QRVJUWSwgdGhpcy5wcm9wZXJ0eVNlcnZpY2UuZ2V0QXJyYXkoKSkpO1xuICAgIH1cblxuICAgIC8vIFNvbGUgYnVzaW5lc3MgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBidXNpbmVzc1xuICAgIGlmIChpbmNvbWVUeXBlcy5zb2xlICYmIHVzZXIuaGFzUm9sZXMoVXNlclJvbGVzRW51bS5TT0xFX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5TT0xFX0JVU0lORVNTLCB0aGlzLnNvbGVCdXNpbmVzc1NlcnZpY2UuZ2V0KCkpKTtcbiAgICB9XG5cbiAgICAvLyBob2xkaW5ncyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGhvbGRpbmdcbiAgICBpZiAoaW5jb21lVHlwZXMuaG9sZGluZ3MgICYmIHVzZXIuaGFzUm9sZXMoVXNlclJvbGVzRW51bS5IT0xESU5HX1RBTkspKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5IT0xESU5HUywgdGhpcy5ob2xkaW5nU2VydmljZS5nZXRBcnJheSgpKSk7XG4gICAgfVxuXG4gICAgaWYgKGluY29tZVR5cGVzLnNvbGUgfHwgaW5jb21lVHlwZXMucHJvcGVydHkgfHwgaW5jb21lVHlwZXMud29yayB8fCBpbmNvbWVUeXBlcy5ob2xkaW5ncykge1xuICAgICAgLy8gQmFuayBmZWVkcyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGJhbmsgYWNjb3VudCAoYmFzaXEgb3IgbWFudWFsKVxuICAgICAgYmF0Y2gucHVzaCh0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uQkFOS19GRUVEUywgdGhpcy5iYW5rQWNjb3VudHNTZXJ2aWNlLmdldEFycmF5KCkpKTtcblxuICAgICAgLy8gTG9nYm9vayBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgaGFzIGF0IGxlYXN0IG9uZSB2ZWhpY2xlIGNsYWltIHdpdGggYW55IG1ldGhvZCAoa21zIG9yIGxvZ2Jvb2spXG4gICAgICBiYXRjaC5wdXNoKHRoaXMuZ2V0TG9nYm9va0l0ZW0oKSk7XG5cbiAgICAgIC8vIEFsbG9jYXRpb24gaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSB0cmFuc2FjdGlvbiBhbGxvY2F0aW9uXG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5UUkFOU0FDVElPTiwgdGhpcy50cmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlLmdldCgpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoYmF0Y2gpLnBpcGUobWFwKChpdGVtczogQWNjb3VudFNldHVwSXRlbVtdKSA9PiBuZXcgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24oaXRlbXMpKSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleDogd29yayB3aXRoIGNvbGxlY3Rpb24gd2hlbiBzZXJ2aWNlcyByZWZhY3RvcmVkXG4gICAqIEBUT0RPIFZpazogd2FpdGluZyBmb3IgaW5jb21lIHNvdXJjZXMgcmVmYWN0b3JpbmdcbiAgICovXG4gIHByaXZhdGUgZ2V0SW5jb21lU291cmNlcyhpc1NhbGFyeSA9IGZhbHNlKTogT2JzZXJ2YWJsZTxJbmNvbWVTb3VyY2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmluY29tZVNvdXJjZVNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pOiBJbmNvbWVTb3VyY2VbXSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb246IEluY29tZVNvdXJjZUNvbGxlY3Rpb24gPSBuZXcgSW5jb21lU291cmNlQ29sbGVjdGlvbihpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKGlzU2FsYXJ5KSB7XG4gICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uZ2V0U2FsYXJ5KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5pdGVtcy5maWx0ZXIoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiAhaW5jb21lU291cmNlLmlzU2FsYXJ5SW5jb21lKCkgJiYgIWluY29tZVNvdXJjZS5pc1NvbGVJbmNvbWUoKSk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IGxvZ2Jvb2sgaXRlbSB3aGVuIHVzZXIgaGFzIGF0IGxlYXN0IDEgdmVoaWNsZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMb2dib29rSXRlbSgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBAVE9ETyBBbGV4OiByZW1vdmUgbWFwIHdoZW4gc2VydmljZXMgc3RhcnQgd29yayB3aXRoIGNvbGxlY3Rpb25zXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRyYW5zYWN0aW9ucykpLFxuICAgICAgICBtZXJnZU1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb25zLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uV09SS19MT0dCT09LLCB0aGlzLnZlaGljbGVDbGFpbVNlcnZpY2UuZ2V0KCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -46,6 +46,10 @@ export class XlsxService {
46
46
  xlsx.utils.book_append_sheet(workbook, worksheet);
47
47
  return xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });
48
48
  }
49
+ /**
50
+ * @TODO vik/artem work with ExportDataTable instead of ExportableCollection
51
+ * @TODO vik/artem why so much code? here is 6 rows solution https://stackoverflow.com/questions/64939994/how-to-export-array-of-objects-to-an-excel-in-angular-8
52
+ */
49
53
  exportArrayToExcel(exportableCollection, name) {
50
54
  const workbook = xlsx.utils.book_new();
51
55
  // create empty worksheet
@@ -77,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
77
81
  providedIn: 'root'
78
82
  }]
79
83
  }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXhDLE1BQU0sVUFBVSxHQUFXLGlGQUFpRixDQUFBO0FBTTVHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFQeEI7UUEwQ0UsZ0JBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzdCLElBQUksU0FBUyxHQUFHLElBQUksSUFBSSxjQUFjLENBQUM7WUFDdkMsSUFBSSxRQUFRLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDLENBQUM7S0E0Qkg7SUFyRUM7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBb0MsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLHNCQUFzQjtRQUN0QixNQUFNLFFBQVEsR0FBa0IsSUFBSSxDQUFDLEtBQUss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a0JBUHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgeGxzeCBmcm9tICd4bHN4JztcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbGxlY3Rpb25zXCI7XG5pbXBvcnQgeyBFeHBvcnREYXRhVGFibGUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZVwiO1xuXG5jb25zdCBFWENFTF9UWVBFOiBzdHJpbmcgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggWExTWCAoZ2VuZXJhdGUsIGRvd25sb2FkLCBlLnQuYy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBYbHN4U2VydmljZSB7XG4gIC8qKlxuICAgKiBFeHBvcnQgZmlsZSBmb3JtIHByb3ZpZGVkIEhUTUwgdGFibGVzXG4gICAqL1xuICBleHBvcnRUYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZXhjZWxGaWxlOiBCbG9iUGFydCA9IHRoaXMuZ2VuZXJhdGVGcm9tVGFibGVzKHRhYmxlcywgdGl0bGUpO1xuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbZXhjZWxGaWxlXSwge1xuICAgICAgdHlwZTogRVhDRUxfVFlQRVxuICAgIH0pO1xuXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBgJHtmaWxlTmFtZX0ueGxzeGApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUZyb21UYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZT86IHN0cmluZyk6IEJsb2JQYXJ0IHtcbiAgICAvLyBjcmVhdGUgbmV3IHdvcmtib29rXG4gICAgY29uc3Qgd29ya2Jvb2s6IHhsc3guV29ya0Jvb2sgPSB4bHN4LnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgLy8gY3JlYXRlIGVtcHR5IHdvcmtzaGVldFxuICAgIGNvbnN0IHdvcmtzaGVldDogeGxzeC5Xb3JrU2hlZXQgPSB7XG4gICAgICBTaGVldE5hbWVzOiBbXSxcbiAgICAgIFNoZWV0czoge31cbiAgICB9O1xuXG4gICAgdGFibGVzLmZvckVhY2goKGRhdGE6IEhUTUxUYWJsZUVsZW1lbnQpID0+IHtcbiAgICAgIC8vIGFkZCBjYXB0aW9uIGZvciB0aGUgY3VycmVudCB0YWJsZVxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgW1tkYXRhLmNhcHRpb24/LmlubmVyVGV4dF1dLCB7b3JpZ2luOiAtMX0pO1xuICAgICAgLy8gYWRkIHRhYmxlIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldFxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfZG9tKHdvcmtzaGVldCwgZGF0YSwge29yaWdpbjogLTEsIHJhdzogdHJ1ZX0pO1xuICAgICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBjdXJyZW50IHRhYmxlXG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbXSwge29yaWdpbjogLTF9KTtcbiAgICB9KTtcblxuICAgIHhsc3gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod29ya2Jvb2ssIHdvcmtzaGVldCk7XG4gICAgcmV0dXJuIHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcbiAgfVxuXG4gIGdldEZpbGVOYW1lID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGxldCBzaGVldE5hbWUgPSBuYW1lIHx8IFwiRXhwb3J0UmVzdWx0XCI7XG4gICAgbGV0IGZpbGVOYW1lID0gYCR7c2hlZXROYW1lfWA7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNoZWV0TmFtZSxcbiAgICAgIGZpbGVOYW1lXG4gICAgfTtcbiAgfTtcblxuICBleHBvcnRBcnJheVRvRXhjZWwoZXhwb3J0YWJsZUNvbGxlY3Rpb246IEV4cG9ydGFibGVDb2xsZWN0aW9uPGFueT4sIG5hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCB3b3JrYm9vazogeGxzeC5Xb3JrQm9vayA9IHhsc3gudXRpbHMuYm9va19uZXcoKTtcbiAgICAvLyBjcmVhdGUgZW1wdHkgd29ya3NoZWV0XG4gICAgY29uc3Qgd29ya3NoZWV0OiB4bHN4LldvcmtTaGVldCA9IHtcbiAgICAgIFNoZWV0TmFtZXM6IFtdLFxuICAgICAgU2hlZXRzOiB7fVxuICAgIH07XG5cbiAgICBjb25zdCBleHBvcnREYXRhOiBFeHBvcnREYXRhVGFibGUgPSBleHBvcnRhYmxlQ29sbGVjdGlvbi5leHBvcnQoKVxuICAgIGNvbnN0IGV4cG9ydEFvYSA9IGV4cG9ydGFibGVDb2xsZWN0aW9uLmdldEJvZHlBb2EoZXhwb3J0RGF0YSk7XG4gICAgbGV0IHsgc2hlZXROYW1lLCBmaWxlTmFtZSB9ID0gdGhpcy5nZXRGaWxlTmFtZShuYW1lKTtcblxuICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIFtleHBvcnREYXRhLmhlYWRlcl0sIHtvcmlnaW46IC0xfSk7XG4gICAgLy8gYWRkIHRhYmxlIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldFxuICAgIHhsc3gudXRpbHMuc2hlZXRfYWRkX2FvYSh3b3Jrc2hlZXQsIGV4cG9ydEFvYSwge29yaWdpbjogLTF9KTtcbiAgICAvLyBzZXQgZW1wdHkgcm93IGFmdGVyIGN1cnJlbnQgdGFibGVcbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbXSwge29yaWdpbjogLTF9KTtcblxuICAgIHhsc3gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod29ya2Jvb2ssIHdvcmtzaGVldCk7XG4gICAgY29uc3QgZXhjZWxGaWxlOiBCbG9iUGFydCA9IHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcblxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbZXhjZWxGaWxlXSwge1xuICAgICAgdHlwZTogRVhDRUxfVFlQRVxuICAgIH0pO1xuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgYCR7ZmlsZU5hbWV9Lnhsc3hgKTtcbiAgfVxufVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxzeC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL3hsc3gveGxzeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXhDLE1BQU0sVUFBVSxHQUFXLGlGQUFpRixDQUFBO0FBTTVHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFQeEI7UUEwQ0UsZ0JBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzdCLElBQUksU0FBUyxHQUFHLElBQUksSUFBSSxjQUFjLENBQUM7WUFDdkMsSUFBSSxRQUFRLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPO2dCQUNMLFNBQVM7Z0JBQ1QsUUFBUTthQUNULENBQUM7UUFDSixDQUFDLENBQUM7S0FnQ0g7SUF6RUM7O09BRUc7SUFDSCxZQUFZLENBQUMsTUFBb0MsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxTQUFTLEdBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLHNCQUFzQjtRQUN0QixNQUFNLFFBQVEsR0FBa0IsSUFBSSxDQUFDLEtBQUss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OzJGQU1QLFdBQVc7a0JBUHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgeGxzeCBmcm9tICd4bHN4JztcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCB7IEV4cG9ydGFibGVDb2xsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbGxlY3Rpb25zXCI7XG5pbXBvcnQgeyBFeHBvcnREYXRhVGFibGUgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZVwiO1xuXG5jb25zdCBFWENFTF9UWVBFOiBzdHJpbmcgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggWExTWCAoZ2VuZXJhdGUsIGRvd25sb2FkLCBlLnQuYy4pXG4gKi9cbmV4cG9ydCBjbGFzcyBYbHN4U2VydmljZSB7XG4gIC8qKlxuICAgKiBFeHBvcnQgZmlsZSBmb3JtIHByb3ZpZGVkIEhUTUwgdGFibGVzXG4gICAqL1xuICBleHBvcnRUYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZXhjZWxGaWxlOiBCbG9iUGFydCA9IHRoaXMuZ2VuZXJhdGVGcm9tVGFibGVzKHRhYmxlcywgdGl0bGUpO1xuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbZXhjZWxGaWxlXSwge1xuICAgICAgdHlwZTogRVhDRUxfVFlQRVxuICAgIH0pO1xuXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBgJHtmaWxlTmFtZX0ueGxzeGApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUZyb21UYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZT86IHN0cmluZyk6IEJsb2JQYXJ0IHtcbiAgICAvLyBjcmVhdGUgbmV3IHdvcmtib29rXG4gICAgY29uc3Qgd29ya2Jvb2s6IHhsc3guV29ya0Jvb2sgPSB4bHN4LnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgLy8gY3JlYXRlIGVtcHR5IHdvcmtzaGVldFxuICAgIGNvbnN0IHdvcmtzaGVldDogeGxzeC5Xb3JrU2hlZXQgPSB7XG4gICAgICBTaGVldE5hbWVzOiBbXSxcbiAgICAgIFNoZWV0czoge31cbiAgICB9O1xuXG4gICAgdGFibGVzLmZvckVhY2goKGRhdGE6IEhUTUxUYWJsZUVsZW1lbnQpID0+IHtcbiAgICAgIC8vIGFkZCBjYXB0aW9uIGZvciB0aGUgY3VycmVudCB0YWJsZVxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgW1tkYXRhLmNhcHRpb24/LmlubmVyVGV4dF1dLCB7b3JpZ2luOiAtMX0pO1xuICAgICAgLy8gYWRkIHRhYmxlIHRhYmxlIGRhdGEgdG8gdGhlIHdvcmtzaGVldFxuICAgICAgeGxzeC51dGlscy5zaGVldF9hZGRfZG9tKHdvcmtzaGVldCwgZGF0YSwge29yaWdpbjogLTEsIHJhdzogdHJ1ZX0pO1xuICAgICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBjdXJyZW50IHRhYmxlXG4gICAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbXSwge29yaWdpbjogLTF9KTtcbiAgICB9KTtcblxuICAgIHhsc3gudXRpbHMuYm9va19hcHBlbmRfc2hlZXQod29ya2Jvb2ssIHdvcmtzaGVldCk7XG4gICAgcmV0dXJuIHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcbiAgfVxuXG4gIGdldEZpbGVOYW1lID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGxldCBzaGVldE5hbWUgPSBuYW1lIHx8IFwiRXhwb3J0UmVzdWx0XCI7XG4gICAgbGV0IGZpbGVOYW1lID0gYCR7c2hlZXROYW1lfWA7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNoZWV0TmFtZSxcbiAgICAgIGZpbGVOYW1lXG4gICAgfTtcbiAgfTtcblxuICAvKipcbiAgICogQFRPRE8gdmlrL2FydGVtIHdvcmsgd2l0aCBFeHBvcnREYXRhVGFibGUgaW5zdGVhZCBvZiBFeHBvcnRhYmxlQ29sbGVjdGlvblxuICAgKiBAVE9ETyB2aWsvYXJ0ZW0gd2h5IHNvIG11Y2ggY29kZT8gaGVyZSBpcyA2IHJvd3Mgc29sdXRpb24gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNjQ5Mzk5OTQvaG93LXRvLWV4cG9ydC1hcnJheS1vZi1vYmplY3RzLXRvLWFuLWV4Y2VsLWluLWFuZ3VsYXItOFxuICAgKi9cbiAgZXhwb3J0QXJyYXlUb0V4Y2VsKGV4cG9ydGFibGVDb2xsZWN0aW9uOiBFeHBvcnRhYmxlQ29sbGVjdGlvbjxhbnk+LCBuYW1lPzogc3RyaW5nKSB7XG4gICAgY29uc3Qgd29ya2Jvb2s6IHhsc3guV29ya0Jvb2sgPSB4bHN4LnV0aWxzLmJvb2tfbmV3KCk7XG4gICAgLy8gY3JlYXRlIGVtcHR5IHdvcmtzaGVldFxuICAgIGNvbnN0IHdvcmtzaGVldDogeGxzeC5Xb3JrU2hlZXQgPSB7XG4gICAgICBTaGVldE5hbWVzOiBbXSxcbiAgICAgIFNoZWV0czoge31cbiAgICB9O1xuXG4gICAgY29uc3QgZXhwb3J0RGF0YTogRXhwb3J0RGF0YVRhYmxlID0gZXhwb3J0YWJsZUNvbGxlY3Rpb24uZXhwb3J0KClcbiAgICBjb25zdCBleHBvcnRBb2EgPSBleHBvcnRhYmxlQ29sbGVjdGlvbi5nZXRCb2R5QW9hKGV4cG9ydERhdGEpO1xuICAgIGxldCB7IHNoZWV0TmFtZSwgZmlsZU5hbWUgfSA9IHRoaXMuZ2V0RmlsZU5hbWUobmFtZSk7XG5cbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBbZXhwb3J0RGF0YS5oZWFkZXJdLCB7b3JpZ2luOiAtMX0pO1xuICAgIC8vIGFkZCB0YWJsZSB0YWJsZSBkYXRhIHRvIHRoZSB3b3Jrc2hlZXRcbiAgICB4bHN4LnV0aWxzLnNoZWV0X2FkZF9hb2Eod29ya3NoZWV0LCBleHBvcnRBb2EsIHtvcmlnaW46IC0xfSk7XG4gICAgLy8gc2V0IGVtcHR5IHJvdyBhZnRlciBjdXJyZW50IHRhYmxlXG4gICAgeGxzeC51dGlscy5zaGVldF9hZGRfYW9hKHdvcmtzaGVldCwgW10sIHtvcmlnaW46IC0xfSk7XG5cbiAgICB4bHN4LnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdvcmtib29rLCB3b3Jrc2hlZXQpO1xuICAgIGNvbnN0IGV4Y2VsRmlsZTogQmxvYlBhcnQgPSB4bHN4LndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG5cbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2V4Y2VsRmlsZV0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfS54bHN4YCk7XG4gIH1cbn1cbiJdfQ==