taxtank-core 0.17.0 → 0.17.1
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.
- package/bundles/taxtank-core.umd.js +230 -243
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/tax-summary/report-item.collection.js +50 -120
- package/esm2015/lib/collections/tax-summary/tax-return-categories.const.js +65 -0
- package/esm2015/lib/db/Enums/tax-return-category-list.enum.js +21 -7
- package/esm2015/lib/models/tax-summary/report-item.js +8 -1
- package/esm2015/lib/models/tax-summary/tax-summary.js +28 -9
- package/esm2015/public-api.js +2 -1
- package/fesm2015/taxtank-core.js +188 -158
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/tax-summary/report-item.collection.d.ts +17 -51
- package/lib/collections/tax-summary/tax-return-categories.const.d.ts +6 -0
- package/lib/db/Enums/tax-return-category-list.enum.d.ts +20 -6
- package/lib/models/tax-summary/report-item.d.ts +3 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -1,141 +1,71 @@
|
|
|
1
1
|
import { Collection } from '../collection';
|
|
2
|
-
import
|
|
3
|
-
import { TaxReturnCategorySectionEnum } from '../../db/Enums/tax-return-category-section.enum';
|
|
2
|
+
import compact from 'lodash/compact';
|
|
4
3
|
/**
|
|
5
4
|
* collection for tax return category items
|
|
6
5
|
*/
|
|
7
6
|
export class ReportItemCollection extends Collection {
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
8
|
+
* Recursively get collection of report items by Tax Summary Section.
|
|
9
|
+
* Search items which has details
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
getBySection(section) {
|
|
12
|
+
let result = [];
|
|
13
|
+
for (let reportItem of this.items) {
|
|
14
|
+
if (reportItem.details.length && reportItem.taxReturnCategory.section === section) {
|
|
15
|
+
result.push(reportItem);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
result.push(...reportItem.items.getBySection(section).toArray());
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return this.create(result);
|
|
14
22
|
}
|
|
15
23
|
/**
|
|
16
|
-
*
|
|
24
|
+
* Recursively find report item by Tax Return Category ID
|
|
17
25
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
26
|
+
findByCategory(categoryId) {
|
|
27
|
+
let result;
|
|
28
|
+
for (let reportItem of this.items) {
|
|
29
|
+
if (result) {
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
if (reportItem.taxReturnCategory.id === categoryId) {
|
|
33
|
+
result = reportItem;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
result = reportItem.items.findByCategory(categoryId);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
21
40
|
}
|
|
22
41
|
/**
|
|
23
|
-
*
|
|
42
|
+
* Get Collection of report items by Tax Return Categories IDs
|
|
24
43
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.GROSS_RENT)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
44
|
+
getByCategories(categories) {
|
|
45
|
+
return this.create(compact(categories.map((category) => this.findByCategory(category))));
|
|
28
46
|
}
|
|
29
47
|
/**
|
|
30
|
-
*
|
|
48
|
+
* A short call to a chain of methods that we often use.
|
|
49
|
+
* Get total amount of report items by Tax Return categories and Tax Summary Section.
|
|
31
50
|
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
51
|
+
sumByCategoriesAndSection(categories, section) {
|
|
52
|
+
return this.getByCategories(categories).getBySection(section).sumBy('amount');
|
|
35
53
|
}
|
|
36
54
|
/**
|
|
37
|
-
*
|
|
55
|
+
* Get collection of all report item details related to passed income source
|
|
56
|
+
* @TODO Alex: consider to create and move to ReportItemDetailsCollection
|
|
38
57
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* Property capital works depreciations
|
|
51
|
-
*/
|
|
52
|
-
get capitalWorks() {
|
|
53
|
-
var _a;
|
|
54
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.CAPITAL_WORKS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Property plant & equipment depreciations
|
|
58
|
-
*/
|
|
59
|
-
get plantEquipment() {
|
|
60
|
-
var _a;
|
|
61
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.DEPRECIATION)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Total property depreciaions
|
|
65
|
-
*/
|
|
66
|
-
get propertyDepreciations() {
|
|
67
|
-
return this.capitalWorks + this.plantEquipment;
|
|
68
|
-
}
|
|
69
|
-
get partnershipsAndTrusts() {
|
|
70
|
-
var _a;
|
|
71
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.PARTNERSHIPS_TRUSTS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
72
|
-
}
|
|
73
|
-
get pciAndSbeIncome() {
|
|
74
|
-
var _a;
|
|
75
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.PCI_SBE_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
76
|
-
}
|
|
77
|
-
get capitalGains() {
|
|
78
|
-
var _a;
|
|
79
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.CAPITAL_GAINS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
80
|
-
}
|
|
81
|
-
get foreignSourceIncome() {
|
|
82
|
-
var _a;
|
|
83
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.FOREIGN_SOURCE_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Other income
|
|
87
|
-
*/
|
|
88
|
-
get otherIncome() {
|
|
89
|
-
var _a;
|
|
90
|
-
return (((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_INCOME)) === null || _a === void 0 ? void 0 : _a.amount) || 0) +
|
|
91
|
-
this.partnershipsAndTrusts +
|
|
92
|
-
this.pciAndSbeIncome +
|
|
93
|
-
this.capitalGains +
|
|
94
|
-
this.foreignSourceIncome;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Other expenses
|
|
98
|
-
*/
|
|
99
|
-
get otherDeductions() {
|
|
100
|
-
var _a;
|
|
101
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.OTHER_DEDUCTIONS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
102
|
-
}
|
|
103
|
-
get taxInstalments() {
|
|
104
|
-
var _a;
|
|
105
|
-
return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.TAX_INSTALMENTS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
106
|
-
}
|
|
107
|
-
get frankingCredits() {
|
|
108
|
-
var _a;
|
|
109
|
-
return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.FRANKING_CREDITS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
110
|
-
}
|
|
111
|
-
get taxOffsets() {
|
|
112
|
-
var _a;
|
|
113
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.TAX_OFFSETS)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
114
|
-
}
|
|
115
|
-
get borrowingExpenses() {
|
|
116
|
-
var _a;
|
|
117
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.BORROWING_EXPENSES)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
118
|
-
}
|
|
119
|
-
get grossTaxPayable() {
|
|
120
|
-
var _a;
|
|
121
|
-
return ((_a = this.getByCategory(TaxReturnCategoryListEnum.GROSS_TAX_PAYABLE)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* taxWithheld by section (work or other)
|
|
125
|
-
*/
|
|
126
|
-
getTaxWithheld(section = TaxReturnCategorySectionEnum.WORK_TANK) {
|
|
127
|
-
var _a;
|
|
128
|
-
return ((_a = this.getTaxCreditsCollection().getByCategory(TaxReturnCategoryListEnum.TAX_WITHHELD)) === null || _a === void 0 ? void 0 : _a.details.filter((details) => details.section === section).reduce((sum, details) => sum + details.amount, 0)) || 0;
|
|
129
|
-
}
|
|
130
|
-
getTaxCreditsCollection() {
|
|
131
|
-
var _a;
|
|
132
|
-
return new ReportItemCollection(((_a = this.getByCategory(TaxReturnCategoryListEnum.TAX_CREDITS)) === null || _a === void 0 ? void 0 : _a.items) || []);
|
|
133
|
-
}
|
|
134
|
-
getTotalAmountByIncomeSourceName(name) {
|
|
135
|
-
return this.items.reduce(((sum, item) => sum + item.getAmountByIncomeSourceName(name)), 0);
|
|
136
|
-
}
|
|
137
|
-
getByCategory(category) {
|
|
138
|
-
return this.items.find((item) => item.taxReturnCategory.id === category);
|
|
58
|
+
getDetailsByIncomeSource(incomeSource) {
|
|
59
|
+
let result = [];
|
|
60
|
+
for (let reportItem of this.items) {
|
|
61
|
+
if (reportItem.details.length) {
|
|
62
|
+
result.push(...reportItem.details.filter((details) => details.name === incomeSource.name));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
result.push(...reportItem.items.getDetailsByIncomeSource(incomeSource).toArray());
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return new Collection(result);
|
|
139
69
|
}
|
|
140
70
|
}
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWl0ZW0uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90YXgtc3VtbWFyeS9yZXBvcnQtaXRlbS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFHL0Y7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBc0I7SUFDOUQ7O09BRUc7SUFDSCxJQUFJLE1BQU07O1FBQ1IsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7O1FBQ2QsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7O1FBQ2QsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGdCQUFnQjs7UUFDbEIsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQywwQ0FBRSxNQUFNLEtBQUksQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUks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QyxJQUFnQixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFJlcG9ydEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvdGF4LXN1bW1hcnkvcmVwb3J0LWl0ZW0nO1xuaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCB7IFRheFJldHVybkNhdGVnb3J5U2VjdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LXNlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBSZXBvcnRJdGVtRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy90YXgtc3VtbWFyeS9yZXBvcnQtaXRlbS1kZXRhaWxzJztcblxuLyoqXG4gKiBjb2xsZWN0aW9uIGZvciB0YXggcmV0dXJuIGNhdGVnb3J5IGl0ZW1zXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBvcnRJdGVtQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248UmVwb3J0SXRlbT4ge1xuICAvKipcbiAgICogV29yayBpbmNvbWVcbiAgICovXG4gIGdldCBzYWxhcnkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uU0FMQVJZKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogV29yayBleHBlbnNlc1xuICAgKi9cbiAgZ2V0IHdvcmtFeHBlbnNlcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5XT1JLX0VYUEVOU0VTKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydHkgaW5jb21lXG4gICAqL1xuICBnZXQgcmVudGFsSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdST1NTX1JFTlQpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSByZW50YWwgZGVkdWN0aW9uc1xuICAgKi9cbiAgZ2V0IHJlbnRhbERlZHVjdGlvbnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfUkVOVEFMX0RFRFVDVElPTlMpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBleHBlbnNlc1xuICAgKi9cbiAgZ2V0IHByb3BlcnR5RXhwZW5zZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZW50YWxEZWR1Y3Rpb25zICsgdGhpcy5ib3Jyb3dpbmdFeHBlbnNlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBpbnRlcmVzdFxuICAgKi9cbiAgZ2V0IGludGVyZXN0RGVkdWN0aW9ucygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5JTlRFUkVTVF9ERURVQ1RJT05TKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydHkgY2FwaXRhbCB3b3JrcyBkZXByZWNpYXRpb25zXG4gICAqL1xuICBnZXQgY2FwaXRhbFdvcmtzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkNBUElUQUxfV09SS1MpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBwbGFudCAmIGVxdWlwbWVudCBkZXByZWNpYXRpb25zXG4gICAqL1xuICBnZXQgcGxhbnRFcXVpcG1lbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uREVQUkVDSUFUSU9OKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgcHJvcGVydHkgZGVwcmVjaWFpb25zXG4gICAqL1xuICBnZXQgcHJvcGVydHlEZXByZWNpYXRpb25zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2FwaXRhbFdvcmtzICsgdGhpcy5wbGFudEVxdWlwbWVudDtcbiAgfVxuXG4gIGdldCBwYXJ0bmVyc2hpcHNBbmRUcnVzdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uUEFSVE5FUlNISVBTX1RSVVNUUyk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgZ2V0IHBjaUFuZFNiZUluY29tZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5QQ0lfU0JFX0lOQ09NRSk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgZ2V0IGNhcGl0YWxHYWlucygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5DQVBJVEFMX0dBSU5TKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWlnblNvdXJjZUluY29tZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5GT1JFSUdOX1NPVVJDRV9JTkNPTUUpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdGhlciBpbmNvbWVcbiAgICovXG4gIGdldCBvdGhlckluY29tZSgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5nZXRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfSU5DT01FKT8uYW1vdW50IHx8IDApICtcbiAgICAgIHRoaXMucGFydG5lcnNoaXBzQW5kVHJ1c3RzICtcbiAgICAgIHRoaXMucGNpQW5kU2JlSW5jb21lICtcbiAgICAgIHRoaXMuY2FwaXRhbEdhaW5zICtcbiAgICAgIHRoaXMuZm9yZWlnblNvdXJjZUluY29tZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdGhlciBleHBlbnNlc1xuICAgKi9cbiAgZ2V0IG90aGVyRGVkdWN0aW9ucygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5PVEhFUl9ERURVQ1RJT05TKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXQgdGF4SW5zdGFsbWVudHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRUYXhDcmVkaXRzQ29sbGVjdGlvbigpLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5UQVhfSU5TVEFMTUVOVFMpPy5hbW91bnQgfHwgMDtcbiAgfVxuXG4gIGdldCBmcmFua2luZ0NyZWRpdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRUYXhDcmVkaXRzQ29sbGVjdGlvbigpLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5GUkFOS0lOR19DUkVESVRTKT8uYW1vdW50IHx8IDA7XG4gIH1cblxuICBnZXQgdGF4T2Zmc2V0cygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5UQVhfT0ZGU0VUUyk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgZ2V0IGJvcnJvd2luZ0V4cGVuc2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkJPUlJPV0lOR19FWFBFTlNFUyk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgZ2V0IGdyb3NzVGF4UGF5YWJsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5HUk9TU19UQVhfUEFZQUJMRSk/LmFtb3VudCB8fCAwO1xuICB9XG5cbiAgLyoqXG4gICAqIHRheFdpdGhoZWxkIGJ5IHNlY3Rpb24gKHdvcmsgb3Igb3RoZXIpXG4gICAqL1xuICBnZXRUYXhXaXRoaGVsZChzZWN0aW9uOiBUYXhSZXR1cm5DYXRlZ29yeVNlY3Rpb25FbnVtID0gVGF4UmV0dXJuQ2F0ZWdvcnlTZWN0aW9uRW51bS5XT1JLX1RBTkspOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldFRheENyZWRpdHNDb2xsZWN0aW9uKCkuZ2V0QnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9XSVRISEVMRCk/LmRldGFpbHNcbiAgICAgIC5maWx0ZXIoKGRldGFpbHM6IFJlcG9ydEl0ZW1EZXRhaWxzKSA9PiBkZXRhaWxzLnNlY3Rpb24gPT09IHNlY3Rpb24pXG4gICAgICAucmVkdWNlKChzdW06IG51bWJlciwgZGV0YWlsczogUmVwb3J0SXRlbURldGFpbHMpOiBudW1iZXIgPT4gc3VtICsgZGV0YWlscy5hbW91bnQsIDApIHx8IDA7XG4gIH1cblxuICBnZXRUYXhDcmVkaXRzQ29sbGVjdGlvbigpOiBSZXBvcnRJdGVtQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBSZXBvcnRJdGVtQ29sbGVjdGlvbih0aGlzLmdldEJ5Q2F0ZWdvcnkoVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5UQVhfQ1JFRElUUyk/Lml0ZW1zIHx8IFtdKTtcbiAgfVxuXG4gIGdldFRvdGFsQW1vdW50QnlJbmNvbWVTb3VyY2VOYW1lKG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKCgoc3VtOiBudW1iZXIsIGl0ZW06IFJlcG9ydEl0ZW0pOiBudW1iZXIgPT4gc3VtICsgaXRlbS5nZXRBbW91bnRCeUluY29tZVNvdXJjZU5hbWUobmFtZSkpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnlDYXRlZ29yeShjYXRlZ29yeTogVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSk6IFJlcG9ydEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IFJlcG9ydEl0ZW0pOiBib29sZWFuID0+IGl0ZW0udGF4UmV0dXJuQ2F0ZWdvcnkuaWQgPT09IGNhdGVnb3J5KTtcbiAgfVxufVxuIl19
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWl0ZW0uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90YXgtc3VtbWFyeS9yZXBvcnQtaXRlbS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNM0MsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFFckM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBc0I7SUFDOUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLE9BQThCO1FBQ3pDLElBQUksTUFBTSxHQUFpQixFQUFFLENBQUM7UUFFOUIsS0FBSyxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2pDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUU7Z0JBQ2pGLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7YUFDeEI7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDbEU7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsVUFBcUM7UUFDbEQsSUFBSSxNQUFrQixDQUFDO1FBRXZCLEtBQUssSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNqQyxJQUFJLE1BQU0sRUFBRTtnQkFDVixNQUFNO2FBQ1A7WUFFRCxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssVUFBVSxFQUFFO2dCQUNsRCxNQUFNLEdBQUcsVUFBVSxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN0RDtTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLFVBQXVDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFtQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDaEcsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCx5QkFBeUIsQ0FBQyxVQUF1QyxFQUFFLE9BQThCO1FBQy9GLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0IsQ0FBQyxZQUEwQjtRQUNqRCxJQUFJLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBRXJDLEtBQUssSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNqQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUEwQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQy9HO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDbkY7U0FDRjtRQUVELE9BQU8sSUFBSSxVQUFVLENBQW9CLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFJlcG9ydEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvdGF4LXN1bW1hcnkvcmVwb3J0LWl0ZW0nO1xuaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCB7IFJlcG9ydEl0ZW1EZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RheC1zdW1tYXJ5L3JlcG9ydC1pdGVtLWRldGFpbHMnO1xuaW1wb3J0IHsgVGF4U3VtbWFyeVNlY3Rpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGF4LXN1bW1hcnktc2VjdGlvbi5lbnVtJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IGNvbXBhY3QgZnJvbSAnbG9kYXNoL2NvbXBhY3QnO1xuXG4vKipcbiAqIGNvbGxlY3Rpb24gZm9yIHRheCByZXR1cm4gY2F0ZWdvcnkgaXRlbXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlcG9ydEl0ZW1Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxSZXBvcnRJdGVtPiB7XG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSBnZXQgY29sbGVjdGlvbiBvZiByZXBvcnQgaXRlbXMgYnkgVGF4IFN1bW1hcnkgU2VjdGlvbi5cbiAgICogU2VhcmNoIGl0ZW1zIHdoaWNoIGhhcyBkZXRhaWxzXG4gICAqL1xuICBnZXRCeVNlY3Rpb24oc2VjdGlvbjogVGF4U3VtbWFyeVNlY3Rpb25FbnVtKTogUmVwb3J0SXRlbUNvbGxlY3Rpb24ge1xuICAgIGxldCByZXN1bHQ6IFJlcG9ydEl0ZW1bXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgcmVwb3J0SXRlbSBvZiB0aGlzLml0ZW1zKSB7XG4gICAgICBpZiAocmVwb3J0SXRlbS5kZXRhaWxzLmxlbmd0aCAmJiByZXBvcnRJdGVtLnRheFJldHVybkNhdGVnb3J5LnNlY3Rpb24gPT09IHNlY3Rpb24pIHtcbiAgICAgICAgcmVzdWx0LnB1c2gocmVwb3J0SXRlbSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLnJlcG9ydEl0ZW0uaXRlbXMuZ2V0QnlTZWN0aW9uKHNlY3Rpb24pLnRvQXJyYXkoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogUmVjdXJzaXZlbHkgZmluZCByZXBvcnQgaXRlbSBieSBUYXggUmV0dXJuIENhdGVnb3J5IElEXG4gICAqL1xuICBmaW5kQnlDYXRlZ29yeShjYXRlZ29yeUlkOiBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtKTogUmVwb3J0SXRlbSB7XG4gICAgbGV0IHJlc3VsdDogUmVwb3J0SXRlbTtcblxuICAgIGZvciAobGV0IHJlcG9ydEl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcG9ydEl0ZW0udGF4UmV0dXJuQ2F0ZWdvcnkuaWQgPT09IGNhdGVnb3J5SWQpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVwb3J0SXRlbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IHJlcG9ydEl0ZW0uaXRlbXMuZmluZEJ5Q2F0ZWdvcnkoY2F0ZWdvcnlJZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgQ29sbGVjdGlvbiBvZiByZXBvcnQgaXRlbXMgYnkgVGF4IFJldHVybiBDYXRlZ29yaWVzIElEc1xuICAgKi9cbiAgZ2V0QnlDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IFRheFJldHVybkNhdGVnb3J5TGlzdEVudW1bXSk6IFJlcG9ydEl0ZW1Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICBjb21wYWN0KGNhdGVnb3JpZXMubWFwKChjYXRlZ29yeTogVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSkgPT4gdGhpcy5maW5kQnlDYXRlZ29yeShjYXRlZ29yeSkpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQSBzaG9ydCBjYWxsIHRvIGEgY2hhaW4gb2YgbWV0aG9kcyB0aGF0IHdlIG9mdGVuIHVzZS5cbiAgICogR2V0IHRvdGFsIGFtb3VudCBvZiByZXBvcnQgaXRlbXMgYnkgVGF4IFJldHVybiBjYXRlZ29yaWVzIGFuZCBUYXggU3VtbWFyeSBTZWN0aW9uLlxuICAgKi9cbiAgc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihjYXRlZ29yaWVzOiBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtW10sIHNlY3Rpb246IFRheFN1bW1hcnlTZWN0aW9uRW51bSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlDYXRlZ29yaWVzKGNhdGVnb3JpZXMpLmdldEJ5U2VjdGlvbihzZWN0aW9uKS5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgYWxsIHJlcG9ydCBpdGVtIGRldGFpbHMgcmVsYXRlZCB0byBwYXNzZWQgaW5jb21lIHNvdXJjZVxuICAgKiBAVE9ETyBBbGV4OiBjb25zaWRlciB0byBjcmVhdGUgYW5kIG1vdmUgdG8gUmVwb3J0SXRlbURldGFpbHNDb2xsZWN0aW9uXG4gICAqL1xuICBnZXREZXRhaWxzQnlJbmNvbWVTb3VyY2UoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpOiBDb2xsZWN0aW9uPFJlcG9ydEl0ZW1EZXRhaWxzPiB7XG4gICAgbGV0IHJlc3VsdDogUmVwb3J0SXRlbURldGFpbHNbXSA9IFtdO1xuXG4gICAgZm9yIChsZXQgcmVwb3J0SXRlbSBvZiB0aGlzLml0ZW1zKSB7XG4gICAgICBpZiAocmVwb3J0SXRlbS5kZXRhaWxzLmxlbmd0aCkge1xuICAgICAgICByZXN1bHQucHVzaCguLi5yZXBvcnRJdGVtLmRldGFpbHMuZmlsdGVyKChkZXRhaWxzOiBSZXBvcnRJdGVtRGV0YWlscykgPT4gZGV0YWlscy5uYW1lID09PSBpbmNvbWVTb3VyY2UubmFtZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0LnB1c2goLi4ucmVwb3J0SXRlbS5pdGVtcy5nZXREZXRhaWxzQnlJbmNvbWVTb3VyY2UoaW5jb21lU291cmNlKS50b0FycmF5KCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbjxSZXBvcnRJdGVtRGV0YWlscz4ocmVzdWx0KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { TaxReturnCategoryListEnum } from '../../db/Enums/tax-return-category-list.enum';
|
|
2
|
+
export const TAX_RETURN_CATEGORIES = {
|
|
3
|
+
work: {
|
|
4
|
+
income: [
|
|
5
|
+
TaxReturnCategoryListEnum.SALARY,
|
|
6
|
+
TaxReturnCategoryListEnum.ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES,
|
|
7
|
+
TaxReturnCategoryListEnum.EMPLOYER_LUMP_SUM_PAYMENTS,
|
|
8
|
+
TaxReturnCategoryListEnum.ETP,
|
|
9
|
+
TaxReturnCategoryListEnum.GOVERNMENT_ALLOWANCES,
|
|
10
|
+
TaxReturnCategoryListEnum.GOVERNMENT_PENSIONS,
|
|
11
|
+
TaxReturnCategoryListEnum.ANNUITIES_SUPER_INCOME_STREAMS,
|
|
12
|
+
TaxReturnCategoryListEnum.SUPERANNUATION_LUMP_SUM_PAYMENTS,
|
|
13
|
+
TaxReturnCategoryListEnum.ATTRIBUTED_PSI_INCOME
|
|
14
|
+
],
|
|
15
|
+
expenses: [
|
|
16
|
+
TaxReturnCategoryListEnum.WORK_EXPENSES
|
|
17
|
+
],
|
|
18
|
+
interest: [
|
|
19
|
+
TaxReturnCategoryListEnum.GROSS_INTEREST
|
|
20
|
+
],
|
|
21
|
+
taxWithheld: [
|
|
22
|
+
TaxReturnCategoryListEnum.TAX_WITHHELD
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
property: {
|
|
26
|
+
income: [
|
|
27
|
+
TaxReturnCategoryListEnum.GROSS_RENT
|
|
28
|
+
],
|
|
29
|
+
expenses: [
|
|
30
|
+
TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS
|
|
31
|
+
],
|
|
32
|
+
interest: [
|
|
33
|
+
TaxReturnCategoryListEnum.INTEREST_DEDUCTIONS
|
|
34
|
+
],
|
|
35
|
+
depreciation: [
|
|
36
|
+
TaxReturnCategoryListEnum.CAPITAL_WORKS,
|
|
37
|
+
TaxReturnCategoryListEnum.DEPRECIATION
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
other: {
|
|
41
|
+
income: [
|
|
42
|
+
TaxReturnCategoryListEnum.GROSS_INTEREST,
|
|
43
|
+
TaxReturnCategoryListEnum.DIVIDENDS,
|
|
44
|
+
TaxReturnCategoryListEnum.SHARE_SCHEMES,
|
|
45
|
+
TaxReturnCategoryListEnum.PARTNERSHIPS_TRUSTS,
|
|
46
|
+
TaxReturnCategoryListEnum.PSI_SBE_INCOME,
|
|
47
|
+
TaxReturnCategoryListEnum.SOLE_TRADER_BUSINESS_INCOME,
|
|
48
|
+
TaxReturnCategoryListEnum.CAPITAL_GAINS,
|
|
49
|
+
TaxReturnCategoryListEnum.FOREIGN_SOURCE_INCOME,
|
|
50
|
+
TaxReturnCategoryListEnum.BONUSES_FROM_LIFE_INSURANCE,
|
|
51
|
+
TaxReturnCategoryListEnum.FORESTRY_MANAGED_INVESTMENT_SCHEMES,
|
|
52
|
+
TaxReturnCategoryListEnum.OTHER_INCOME
|
|
53
|
+
],
|
|
54
|
+
expenses: [
|
|
55
|
+
TaxReturnCategoryListEnum.OTHER_DEDUCTIONS
|
|
56
|
+
],
|
|
57
|
+
taxCredits: [
|
|
58
|
+
TaxReturnCategoryListEnum.TAX_CREDITS
|
|
59
|
+
],
|
|
60
|
+
taxOffsets: [
|
|
61
|
+
TaxReturnCategoryListEnum.TAX_OFFSETS
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yaWVzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RheC1zdW1tYXJ5L3RheC1yZXR1cm4tY2F0ZWdvcmllcy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUV6RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBa0U7SUFDbEcsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsTUFBTTtZQUNoQyx5QkFBeUIsQ0FBQyxzQ0FBc0M7WUFDaEUseUJBQXlCLENBQUMsMEJBQTBCO1lBQ3BELHlCQUF5QixDQUFDLEdBQUc7WUFDN0IseUJBQXlCLENBQUMscUJBQXFCO1lBQy9DLHlCQUF5QixDQUFDLG1CQUFtQjtZQUM3Qyx5QkFBeUIsQ0FBQyw4QkFBOEI7WUFDeEQseUJBQXlCLENBQUMsZ0NBQWdDO1lBQzFELHlCQUF5QixDQUFDLHFCQUFxQjtTQUNoRDtRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLGFBQWE7U0FDeEM7UUFDRCxRQUFRLEVBQUU7WUFDUix5QkFBeUIsQ0FBQyxjQUFjO1NBQ3pDO1FBQ0QsV0FBVyxFQUFFO1lBQ1gseUJBQXlCLENBQUMsWUFBWTtTQUN2QztLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsVUFBVTtTQUNyQztRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLHVCQUF1QjtTQUNsRDtRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLG1CQUFtQjtTQUM5QztRQUNELFlBQVksRUFBRTtZQUNaLHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMsWUFBWTtTQUN2QztLQUNGO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsY0FBYztZQUN4Qyx5QkFBeUIsQ0FBQyxTQUFTO1lBQ25DLHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMsbUJBQW1CO1lBQzdDLHlCQUF5QixDQUFDLGNBQWM7WUFDeEMseUJBQXlCLENBQUMsMkJBQTJCO1lBQ3JELHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMscUJBQXFCO1lBQy9DLHlCQUF5QixDQUFDLDJCQUEyQjtZQUNyRCx5QkFBeUIsQ0FBQyxtQ0FBbUM7WUFDN0QseUJBQXlCLENBQUMsWUFBWTtTQUN2QztRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLGdCQUFnQjtTQUMzQztRQUNELFVBQVUsRUFBRTtZQUNWLHlCQUF5QixDQUFDLFdBQVc7U0FDdEM7UUFDRCxVQUFVLEVBQUU7WUFDVix5QkFBeUIsQ0FBQyxXQUFXO1NBQ3RDO0tBQ0Y7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcblxuZXhwb3J0IGNvbnN0IFRBWF9SRVRVUk5fQ0FURUdPUklFUzoge1trZXk6IHN0cmluZ106IHtba2V5OiBzdHJpbmddOiBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtW119fSA9IHtcbiAgd29yazoge1xuICAgIGluY29tZTogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5TQUxBUlksXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFMTE9XQU5DRVNfRUFSTklOR1NfVElQU19ESVJFQ1RPUl9GRUVTLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5FTVBMT1lFUl9MVU1QX1NVTV9QQVlNRU5UUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uRVRQLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5HT1ZFUk5NRU5UX0FMTE9XQU5DRVMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdPVkVSTk1FTlRfUEVOU0lPTlMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFOTlVJVElFU19TVVBFUl9JTkNPTUVfU1RSRUFNUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uU1VQRVJBTk5VQVRJT05fTFVNUF9TVU1fUEFZTUVOVFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFUVFJJQlVURURfUFNJX0lOQ09NRVxuICAgIF0sXG4gICAgZXhwZW5zZXM6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uV09SS19FWFBFTlNFU1xuICAgIF0sXG4gICAgaW50ZXJlc3Q6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfSU5URVJFU1RcbiAgICBdLFxuICAgIHRheFdpdGhoZWxkOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9XSVRISEVMRFxuICAgIF1cbiAgfSxcbiAgcHJvcGVydHk6IHtcbiAgICBpbmNvbWU6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfUkVOVFxuICAgIF0sXG4gICAgZXhwZW5zZXM6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfUkVOVEFMX0RFRFVDVElPTlNcbiAgICBdLFxuICAgIGludGVyZXN0OiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLklOVEVSRVNUX0RFRFVDVElPTlNcbiAgICBdLFxuICAgIGRlcHJlY2lhdGlvbjogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5DQVBJVEFMX1dPUktTLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5ERVBSRUNJQVRJT05cbiAgICBdXG4gIH0sXG4gIG90aGVyOiB7XG4gICAgaW5jb21lOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdST1NTX0lOVEVSRVNULFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5ESVZJREVORFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlNIQVJFX1NDSEVNRVMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBBUlRORVJTSElQU19UUlVTVFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBTSV9TQkVfSU5DT01FLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5TT0xFX1RSQURFUl9CVVNJTkVTU19JTkNPTUUsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkNBUElUQUxfR0FJTlMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkZPUkVJR05fU09VUkNFX0lOQ09NRSxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uQk9OVVNFU19GUk9NX0xJRkVfSU5TVVJBTkNFLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5GT1JFU1RSWV9NQU5BR0VEX0lOVkVTVE1FTlRfU0NIRU1FUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfSU5DT01FXG4gICAgXSxcbiAgICBleHBlbnNlczogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5PVEhFUl9ERURVQ1RJT05TXG4gICAgXSxcbiAgICB0YXhDcmVkaXRzOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9DUkVESVRTXG4gICAgXSxcbiAgICB0YXhPZmZzZXRzOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9PRkZTRVRTXG4gICAgXVxuICB9XG59XG4iXX0=
|
|
@@ -1,28 +1,42 @@
|
|
|
1
1
|
export var TaxReturnCategoryListEnum;
|
|
2
2
|
(function (TaxReturnCategoryListEnum) {
|
|
3
3
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SALARY"] = 1] = "SALARY";
|
|
4
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES"] = 30] = "ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES";
|
|
5
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["EMPLOYER_LUMP_SUM_PAYMENTS"] = 31] = "EMPLOYER_LUMP_SUM_PAYMENTS";
|
|
6
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ETP"] = 32] = "ETP";
|
|
7
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GOVERNMENT_ALLOWANCES"] = 2] = "GOVERNMENT_ALLOWANCES";
|
|
8
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GOVERNMENT_PENSIONS"] = 33] = "GOVERNMENT_PENSIONS";
|
|
9
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ANNUITIES_SUPER_INCOME_STREAMS"] = 3] = "ANNUITIES_SUPER_INCOME_STREAMS";
|
|
10
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SUPERANNUATION_LUMP_SUM_PAYMENTS"] = 34] = "SUPERANNUATION_LUMP_SUM_PAYMENTS";
|
|
11
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ATTRIBUTED_PSI_INCOME"] = 4] = "ATTRIBUTED_PSI_INCOME";
|
|
4
12
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["WORK_EXPENSES"] = 7] = "WORK_EXPENSES";
|
|
5
13
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_RENT"] = 8] = "GROSS_RENT";
|
|
14
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_RENTAL_DEDUCTIONS"] = 12] = "OTHER_RENTAL_DEDUCTIONS";
|
|
6
15
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["INTEREST_DEDUCTIONS"] = 9] = "INTEREST_DEDUCTIONS";
|
|
7
16
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["CAPITAL_WORKS"] = 10] = "CAPITAL_WORKS";
|
|
8
17
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["DEPRECIATION"] = 11] = "DEPRECIATION";
|
|
9
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["
|
|
10
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["
|
|
18
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_INTEREST"] = 5] = "GROSS_INTEREST";
|
|
19
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["DIVIDENDS"] = 6] = "DIVIDENDS";
|
|
20
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SHARE_SCHEMES"] = 35] = "SHARE_SCHEMES";
|
|
11
21
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PARTNERSHIPS_TRUSTS"] = 13] = "PARTNERSHIPS_TRUSTS";
|
|
12
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["
|
|
22
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PSI_SBE_INCOME"] = 14] = "PSI_SBE_INCOME";
|
|
23
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SOLE_TRADER_BUSINESS_INCOME"] = 38] = "SOLE_TRADER_BUSINESS_INCOME";
|
|
13
24
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["CAPITAL_GAINS"] = 15] = "CAPITAL_GAINS";
|
|
14
25
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FOREIGN_SOURCE_INCOME"] = 16] = "FOREIGN_SOURCE_INCOME";
|
|
15
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["
|
|
26
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BONUSES_FROM_LIFE_INSURANCE"] = 17] = "BONUSES_FROM_LIFE_INSURANCE";
|
|
27
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES"] = 39] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES";
|
|
28
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_INCOME"] = 40] = "OTHER_INCOME";
|
|
29
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_CREDITS"] = 23] = "TAX_CREDITS";
|
|
16
30
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_DEDUCTIONS"] = 18] = "OTHER_DEDUCTIONS";
|
|
31
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_OFFSETS"] = 27] = "TAX_OFFSETS";
|
|
32
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BORROWING_EXPENSES"] = 29] = "BORROWING_EXPENSES";
|
|
17
33
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_TAX_PAYABLE"] = 19] = "GROSS_TAX_PAYABLE";
|
|
18
34
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_ON_TAXABLE_INCOME"] = 20] = "TAX_ON_TAXABLE_INCOME";
|
|
19
35
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["MEDICARE"] = 21] = "MEDICARE";
|
|
20
36
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["STUDENT_LOAN_REPAYMENT"] = 22] = "STUDENT_LOAN_REPAYMENT";
|
|
21
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_CREDITS"] = 23] = "TAX_CREDITS";
|
|
22
37
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_WITHHELD"] = 24] = "TAX_WITHHELD";
|
|
23
38
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_INSTALMENTS"] = 25] = "TAX_INSTALMENTS";
|
|
24
39
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FRANKING_CREDITS"] = 26] = "FRANKING_CREDITS";
|
|
25
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_OFFSETS"] = 27] = "TAX_OFFSETS";
|
|
26
40
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_PAYABLE"] = 28] = "TAX_PAYABLE";
|
|
27
41
|
})(TaxReturnCategoryListEnum || (TaxReturnCategoryListEnum = {}));
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvRW51bXMvdGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkseUJBaURYO0FBakRELFdBQVkseUJBQXlCO0lBQ25DLDZFQUFVLENBQUE7SUFDViw4SUFBMkMsQ0FBQTtJQUMzQyxzSEFBK0IsQ0FBQTtJQUMvQix3RUFBUSxDQUFBO0lBQ1IsMkdBQXlCLENBQUE7SUFDekIsd0dBQXdCLENBQUE7SUFDeEIsNkhBQWtDLENBQUE7SUFDbEMsa0lBQXFDLENBQUE7SUFDckMsMkdBQXlCLENBQUE7SUFFekIsMkZBQWlCLENBQUE7SUFFakIscUZBQWMsQ0FBQTtJQUVkLGdIQUE0QixDQUFBO0lBRTVCLHVHQUF1QixDQUFBO0lBRXZCLDRGQUFrQixDQUFBO0lBQ2xCLDBGQUFpQixDQUFBO0lBRWpCLDZGQUFrQixDQUFBO0lBQ2xCLG1GQUFhLENBQUE7SUFDYiw0RkFBa0IsQ0FBQTtJQUNsQix3R0FBd0IsQ0FBQTtJQUN4Qiw4RkFBbUIsQ0FBQTtJQUNuQix3SEFBZ0MsQ0FBQTtJQUNoQyw0RkFBa0IsQ0FBQTtJQUNsQiw0R0FBMEIsQ0FBQTtJQUMxQix3SEFBZ0MsQ0FBQTtJQUNoQyx3SUFBd0MsQ0FBQTtJQUN4QywwRkFBaUIsQ0FBQTtJQUVqQix3RkFBZ0IsQ0FBQTtJQUVoQixrR0FBcUIsQ0FBQTtJQUVyQix3RkFBZ0IsQ0FBQTtJQUVoQixzR0FBdUIsQ0FBQTtJQUN2QixvR0FBc0IsQ0FBQTtJQUN0Qiw0R0FBMEIsQ0FBQTtJQUMxQixrRkFBYSxDQUFBO0lBQ2IsOEdBQTJCLENBQUE7SUFDM0IsMEZBQWlCLENBQUE7SUFDakIsZ0dBQW9CLENBQUE7SUFDcEIsa0dBQXFCLENBQUE7SUFDckIsd0ZBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQWpEVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBaURwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0ge1xuICBTQUxBUlkgPSAxLFxuICBBTExPV0FOQ0VTX0VBUk5JTkdTX1RJUFNfRElSRUNUT1JfRkVFUyA9IDMwLFxuICBFTVBMT1lFUl9MVU1QX1NVTV9QQVlNRU5UUyA9IDMxLFxuICBFVFAgPSAzMixcbiAgR09WRVJOTUVOVF9BTExPV0FOQ0VTID0gMixcbiAgR09WRVJOTUVOVF9QRU5TSU9OUyA9IDMzLFxuICBBTk5VSVRJRVNfU1VQRVJfSU5DT01FX1NUUkVBTVMgPSAzLFxuICBTVVBFUkFOTlVBVElPTl9MVU1QX1NVTV9QQVlNRU5UUyA9IDM0LFxuICBBVFRSSUJVVEVEX1BTSV9JTkNPTUUgPSA0LFxuXG4gIFdPUktfRVhQRU5TRVMgPSA3LFxuXG4gIEdST1NTX1JFTlQgPSA4LFxuXG4gIE9USEVSX1JFTlRBTF9ERURVQ1RJT05TID0gMTIsXG5cbiAgSU5URVJFU1RfREVEVUNUSU9OUyA9IDksXG5cbiAgQ0FQSVRBTF9XT1JLUyA9IDEwLFxuICBERVBSRUNJQVRJT04gPSAxMSxcblxuICBHUk9TU19JTlRFUkVTVCA9IDUsXG4gIERJVklERU5EUyA9IDYsXG4gIFNIQVJFX1NDSEVNRVMgPSAzNSxcbiAgUEFSVE5FUlNISVBTX1RSVVNUUyA9IDEzLFxuICBQU0lfU0JFX0lOQ09NRSA9IDE0LFxuICBTT0xFX1RSQURFUl9CVVNJTkVTU19JTkNPTUUgPSAzOCxcbiAgQ0FQSVRBTF9HQUlOUyA9IDE1LFxuICBGT1JFSUdOX1NPVVJDRV9JTkNPTUUgPSAxNixcbiAgQk9OVVNFU19GUk9NX0xJRkVfSU5TVVJBTkNFID0gMTcsXG4gIEZPUkVTVFJZX01BTkFHRURfSU5WRVNUTUVOVF9TQ0hFTUVTID0gMzksXG4gIE9USEVSX0lOQ09NRSA9IDQwLFxuXG4gIFRBWF9DUkVESVRTID0gMjMsXG5cbiAgT1RIRVJfREVEVUNUSU9OUyA9IDE4LFxuXG4gIFRBWF9PRkZTRVRTID0gMjcsXG5cbiAgQk9SUk9XSU5HX0VYUEVOU0VTID0gMjksXG4gIEdST1NTX1RBWF9QQVlBQkxFID0gMTksXG4gIFRBWF9PTl9UQVhBQkxFX0lOQ09NRSA9IDIwLFxuICBNRURJQ0FSRSA9IDIxLFxuICBTVFVERU5UX0xPQU5fUkVQQVlNRU5UID0gMjIsXG4gIFRBWF9XSVRISEVMRCA9IDI0LFxuICBUQVhfSU5TVEFMTUVOVFMgPSAyNSxcbiAgRlJBTktJTkdfQ1JFRElUUyA9IDI2LFxuICBUQVhfUEFZQUJMRSA9IDI4LFxufVxuIl19
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Transform, Type } from 'class-transformer';
|
|
3
|
+
import { ReportItemCollection } from '../../collections/tax-summary/report-item.collection';
|
|
1
4
|
/**
|
|
2
5
|
* Used in tax summary reports to show amounts relating to a tax return category entity and details of what this
|
|
3
6
|
* amount is comprised of. Example here shows an amount of $951.96 and also details of what this amount is comprised of:
|
|
@@ -12,4 +15,8 @@ export class ReportItem {
|
|
|
12
15
|
return ((_a = this.details.find((detail) => detail.name === name)) === null || _a === void 0 ? void 0 : _a.amount) || 0;
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
|
-
|
|
18
|
+
__decorate([
|
|
19
|
+
Type(() => ReportItem),
|
|
20
|
+
Transform(({ value }) => new ReportItemCollection(value))
|
|
21
|
+
], ReportItem.prototype, "items", void 0);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3JlcG9ydC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTVGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBVXJCOzs7T0FHRztJQUNILDJCQUEyQixDQUFDLElBQVk7O1FBQ3RDLE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBeUIsRUFBVyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQztJQUN0RyxDQUFDO0NBQ0Y7QUFUQztJQUZDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDdEIsU0FBUyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzt5Q0FDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYXhSZXR1cm5DYXRlZ29yeSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy90YXgtcmV0dXJuL3RheC1yZXR1cm4tY2F0ZWdvcnknO1xuaW1wb3J0IHsgUmVwb3J0SXRlbURldGFpbHMgfSBmcm9tICcuL3JlcG9ydC1pdGVtLWRldGFpbHMnO1xuaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUmVwb3J0SXRlbUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90YXgtc3VtbWFyeS9yZXBvcnQtaXRlbS5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBVc2VkIGluIHRheCBzdW1tYXJ5IHJlcG9ydHMgdG8gc2hvdyBhbW91bnRzIHJlbGF0aW5nIHRvIGEgdGF4IHJldHVybiBjYXRlZ29yeSBlbnRpdHkgYW5kIGRldGFpbHMgb2Ygd2hhdCB0aGlzXG4gKiBhbW91bnQgaXMgY29tcHJpc2VkIG9mLiBFeGFtcGxlIGhlcmUgc2hvd3MgYW4gYW1vdW50IG9mICQ5NTEuOTYgYW5kIGFsc28gZGV0YWlscyBvZiB3aGF0IHRoaXMgYW1vdW50IGlzIGNvbXByaXNlZCBvZjpcbiAqL1xuZXhwb3J0IGNsYXNzIFJlcG9ydEl0ZW0ge1xuICBhbW91bnQ6IG51bWJlcjtcbiAgZGV0YWlsczogUmVwb3J0SXRlbURldGFpbHNbXTtcbiAgdGF4UmV0dXJuQ2F0ZWdvcnk6IFRheFJldHVybkNhdGVnb3J5O1xuICB0aXRsZTogc3RyaW5nO1xuXG4gIEBUeXBlKCgpID0+IFJlcG9ydEl0ZW0pXG4gIEBUcmFuc2Zvcm0oKHt2YWx1ZX0pID0+IG5ldyBSZXBvcnRJdGVtQ29sbGVjdGlvbih2YWx1ZSkpXG4gIGl0ZW1zOiBSZXBvcnRJdGVtQ29sbGVjdGlvbjtcblxuICAvKipcbiAgICogR2V0IGFtb3VudCBmb3Igb25lIGluY29tZSBzb3VyY2VcbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEFtb3VudEJ5SW5jb21lU291cmNlTmFtZShuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRldGFpbHMuZmluZCgoZGV0YWlsOiBSZXBvcnRJdGVtRGV0YWlscyk6IGJvb2xlYW4gPT4gZGV0YWlsLm5hbWUgPT09IG5hbWUpPy5hbW91bnQgfHwgMDtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { TaxReturnCategorySectionEnum } from '../../db/Enums/tax-return-category-section.enum';
|
|
3
2
|
import { TaxSummarySection } from './tax-summary-section';
|
|
4
3
|
import { Type } from 'class-transformer';
|
|
4
|
+
import { TAX_RETURN_CATEGORIES } from '../../collections/tax-summary/tax-return-categories.const';
|
|
5
|
+
import { TaxReturnCategoryListEnum } from '../../db/Enums/tax-return-category-list.enum';
|
|
6
|
+
import { TaxSummarySectionEnum } from '../../db/Enums/tax-summary-section.enum';
|
|
5
7
|
/**
|
|
6
8
|
* @Todo refactor with base model when it will be provided
|
|
7
9
|
* Tax summary report structure
|
|
@@ -11,49 +13,66 @@ export class TaxSummary {
|
|
|
11
13
|
return [this.work, this.property, this.otherIncome, this.summary];
|
|
12
14
|
}
|
|
13
15
|
get taxPercent() {
|
|
14
|
-
return this.summary.items.
|
|
16
|
+
return this.summary.items.findByCategory(TaxReturnCategoryListEnum.GROSS_TAX_PAYABLE).amount / this.summary.netAmount;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* Work Net Cash = Income - tax withheld - expenses - interest
|
|
18
20
|
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
|
|
19
21
|
*/
|
|
20
22
|
get workNetCash() {
|
|
21
|
-
|
|
23
|
+
const taxWithheld = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.work.taxWithheld, TaxSummarySectionEnum.WORK_TANK);
|
|
24
|
+
return this.workNetTotal - Math.abs(taxWithheld);
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
24
27
|
* Work Net Total = Income - expenses - interest
|
|
25
28
|
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
|
|
26
29
|
*/
|
|
27
30
|
get workNetTotal() {
|
|
28
|
-
|
|
31
|
+
const income = this.work.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.work.income, TaxSummarySectionEnum.WORK_TANK);
|
|
32
|
+
const expenses = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.work.expenses, TaxSummarySectionEnum.WORK_TANK);
|
|
33
|
+
const interest = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.work.interest, TaxSummarySectionEnum.WORK_TANK);
|
|
34
|
+
return income - Math.abs(expenses) - Math.abs(interest);
|
|
29
35
|
}
|
|
30
36
|
/**
|
|
31
37
|
* Property Net Cash (Cash Position) = Rental Income - expenses - interest
|
|
32
38
|
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
|
|
33
39
|
*/
|
|
34
40
|
get propertyNetCash() {
|
|
35
|
-
|
|
41
|
+
const income = this.property.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.property.income, TaxSummarySectionEnum.PROPERTY_TANK);
|
|
42
|
+
const expenses = this.property.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.property.expenses, TaxSummarySectionEnum.PROPERTY_TANK);
|
|
43
|
+
const interest = this.property.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.property.interest, TaxSummarySectionEnum.PROPERTY_TANK);
|
|
44
|
+
return income - Math.abs(expenses) - Math.abs(interest);
|
|
36
45
|
}
|
|
37
46
|
/**
|
|
38
47
|
* Property Net Total (Tax Position) = Rental Income - expenses - interest - depreciation
|
|
39
48
|
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
|
|
40
49
|
*/
|
|
41
50
|
get propertyNetTotal() {
|
|
42
|
-
|
|
51
|
+
const depreciation = this.property.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.property.depreciation, TaxSummarySectionEnum.PROPERTY_TANK);
|
|
52
|
+
return this.propertyNetCash - Math.abs(depreciation);
|
|
43
53
|
}
|
|
44
54
|
/**
|
|
45
55
|
* Other Net Cash = gross income – expenses – tax withheld - tax instalments
|
|
46
56
|
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
|
|
47
57
|
*/
|
|
48
58
|
get otherNetCash() {
|
|
49
|
-
|
|
59
|
+
const income = this.otherIncome.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.other.income, TaxSummarySectionEnum.OTHER_INCOME);
|
|
60
|
+
const expenses = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.other.expenses, TaxSummarySectionEnum.OTHER_INCOME);
|
|
61
|
+
const taxWithheld = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.TAX_WITHHELD], TaxSummarySectionEnum.OTHER_INCOME);
|
|
62
|
+
const taxInstalments = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.TAX_INSTALMENTS], TaxSummarySectionEnum.OTHER_INCOME);
|
|
63
|
+
return income - Math.abs(expenses) - Math.abs(taxWithheld) - Math.abs(taxInstalments);
|
|
50
64
|
}
|
|
51
65
|
/**
|
|
52
66
|
* Other Net Total = Gross income - expenses + tax offsets + tax instalments + franking credits
|
|
53
67
|
* https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677990/Dashboard+Main
|
|
54
68
|
*/
|
|
55
69
|
get otherNetTotal() {
|
|
56
|
-
|
|
70
|
+
const income = this.otherIncome.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.other.income, TaxSummarySectionEnum.OTHER_INCOME);
|
|
71
|
+
const expenses = this.summary.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.other.expenses, TaxSummarySectionEnum.OTHER_INCOME);
|
|
72
|
+
const taxOffsets = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.TAX_OFFSETS], TaxSummarySectionEnum.SUMMARY);
|
|
73
|
+
const taxInstallments = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.TAX_INSTALMENTS], TaxSummarySectionEnum.OTHER_INCOME);
|
|
74
|
+
const frankingCredits = this.summary.items.sumByCategoriesAndSection([TaxReturnCategoryListEnum.FRANKING_CREDITS], TaxSummarySectionEnum.OTHER_INCOME);
|
|
75
|
+
return income - Math.abs(expenses) + Math.abs(taxOffsets) + Math.abs(taxInstallments) + Math.abs(frankingCredits);
|
|
57
76
|
}
|
|
58
77
|
}
|
|
59
78
|
__decorate([
|
|
@@ -68,4 +87,4 @@ __decorate([
|
|
|
68
87
|
__decorate([
|
|
69
88
|
Type(() => TaxSummarySection)
|
|
70
89
|
], TaxSummary.prototype, "summary", void 0);
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFekM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFlckIsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5SSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdE8sQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdE8sQ0FBQztDQUNGO0FBcEVDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO3dDQUNOO0FBR3hCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDOzRDQUNGO0FBRzVCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDOytDQUNDO0FBRy9CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDOzJDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnlTZWN0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktc2VjdGlvbi5lbnVtJztcbmltcG9ydCB7IFRheFN1bW1hcnlTZWN0aW9uIH0gZnJvbSAnLi90YXgtc3VtbWFyeS1zZWN0aW9uJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbi8qKlxuICogQFRvZG8gcmVmYWN0b3Igd2l0aCBiYXNlIG1vZGVsIHdoZW4gaXQgd2lsbCBiZSBwcm92aWRlZFxuICogVGF4IHN1bW1hcnkgcmVwb3J0IHN0cnVjdHVyZVxuICovXG5leHBvcnQgY2xhc3MgVGF4U3VtbWFyeSB7XG4gIEBUeXBlKCgpID0+IFRheFN1bW1hcnlTZWN0aW9uKVxuICB3b3JrOiBUYXhTdW1tYXJ5U2VjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBUYXhTdW1tYXJ5U2VjdGlvbilcbiAgcHJvcGVydHk6IFRheFN1bW1hcnlTZWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IFRheFN1bW1hcnlTZWN0aW9uKVxuICBvdGhlckluY29tZTogVGF4U3VtbWFyeVNlY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gVGF4U3VtbWFyeVNlY3Rpb24pXG4gIHN1bW1hcnk6IFRheFN1bW1hcnlTZWN0aW9uO1xuXG4gIHByb2plY3RlZFRheFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgZ2V0IHNlY3Rpb25zKCk6IFRheFN1bW1hcnlTZWN0aW9uW10ge1xuICAgIHJldHVybiBbdGhpcy53b3JrLCB0aGlzLnByb3BlcnR5LCB0aGlzLm90aGVySW5jb21lLCB0aGlzLnN1bW1hcnldO1xuICB9XG5cbiAgZ2V0IHRheFBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1tYXJ5Lml0ZW1zLmdyb3NzVGF4UGF5YWJsZSAvIHRoaXMuc3VtbWFyeS5uZXRBbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogV29yayBOZXQgQ2FzaCA9IEluY29tZSAtIHRheCB3aXRoaGVsZCAtIGV4cGVuc2VzIC0gaW50ZXJlc3RcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCB3b3JrTmV0Q2FzaCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLndvcmtOZXRUb3RhbCAtIE1hdGguYWJzKHRoaXMuc3VtbWFyeS5pdGVtcy5nZXRUYXhXaXRoaGVsZChUYXhSZXR1cm5DYXRlZ29yeVNlY3Rpb25FbnVtLldPUktfVEFOSykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdvcmsgTmV0IFRvdGFsID0gSW5jb21lIC0gZXhwZW5zZXMgLSBpbnRlcmVzdFxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IHdvcmtOZXRUb3RhbCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLndvcmsuaXRlbXMuc2FsYXJ5IC0gTWF0aC5hYnModGhpcy53b3JrLml0ZW1zLndvcmtFeHBlbnNlcyk7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydHkgTmV0IENhc2ggKENhc2ggUG9zaXRpb24pID0gUmVudGFsIEluY29tZSAtIGV4cGVuc2VzIC0gaW50ZXJlc3RcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCBwcm9wZXJ0eU5ldENhc2goKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS5pdGVtcy5yZW50YWxJbmNvbWUgLSBNYXRoLmFicyh0aGlzLnByb3BlcnR5Lml0ZW1zLnJlbnRhbERlZHVjdGlvbnMpIC0gTWF0aC5hYnModGhpcy5wcm9wZXJ0eS5pdGVtcy5pbnRlcmVzdERlZHVjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IE5ldCBUb3RhbCAoVGF4IFBvc2l0aW9uKSA9IFJlbnRhbCBJbmNvbWUgLSBleHBlbnNlcyAtIGludGVyZXN0IC0gZGVwcmVjaWF0aW9uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgcHJvcGVydHlOZXRUb3RhbCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnByb3BlcnR5TmV0Q2FzaCAtIE1hdGguYWJzKHRoaXMucHJvcGVydHkuaXRlbXMucHJvcGVydHlEZXByZWNpYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdGhlciBOZXQgQ2FzaCA9IGdyb3NzIGluY29tZSDigJMgZXhwZW5zZXMg4oCTIHRheCB3aXRoaGVsZCAtIHRheCBpbnN0YWxtZW50c1xuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IG90aGVyTmV0Q2FzaCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm90aGVySW5jb21lLml0ZW1zLm90aGVySW5jb21lIC0gTWF0aC5hYnModGhpcy5vdGhlckluY29tZS5pdGVtcy5vdGhlckRlZHVjdGlvbnMpIC0gTWF0aC5hYnModGhpcy5zdW1tYXJ5Lml0ZW1zLmdldFRheFdpdGhoZWxkKFRheFJldHVybkNhdGVnb3J5U2VjdGlvbkVudW0uT1RIRVJfSU5DT01FKSkgLSBNYXRoLmFicyh0aGlzLnN1bW1hcnkuaXRlbXMudGF4SW5zdGFsbWVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE90aGVyIE5ldCBUb3RhbCA9IEdyb3NzIGluY29tZSAtIGV4cGVuc2VzICsgdGF4IG9mZnNldHMgKyB0YXggaW5zdGFsbWVudHMgKyBmcmFua2luZyBjcmVkaXRzXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgb3RoZXJOZXRUb3RhbCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm90aGVySW5jb21lLml0ZW1zLm90aGVySW5jb21lIC0gTWF0aC5hYnModGhpcy5vdGhlckluY29tZS5pdGVtcy5vdGhlckRlZHVjdGlvbnMpICsgTWF0aC5hYnModGhpcy5zdW1tYXJ5Lml0ZW1zLnRheE9mZnNldHMpICsgTWF0aC5hYnModGhpcy5zdW1tYXJ5Lml0ZW1zLnRheEluc3RhbG1lbnRzKSArIE1hdGguYWJzKHRoaXMuc3VtbWFyeS5pdGVtcy5mcmFua2luZ0NyZWRpdHMpO1xuICB9XG59XG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFaEY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFlckIsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDeEgsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksV0FBVztRQUNiLE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEosT0FBTyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxD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Q0Y7QUEzRkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7d0NBQ047QUFHeEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7NENBQ0Y7QUFHNUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7K0NBQ0M7QUFHL0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7MkNBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYXhTdW1tYXJ5U2VjdGlvbiB9IGZyb20gJy4vdGF4LXN1bW1hcnktc2VjdGlvbic7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVEFYX1JFVFVSTl9DQVRFR09SSUVTIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdGF4LXN1bW1hcnkvdGF4LXJldHVybi1jYXRlZ29yaWVzLmNvbnN0JztcbmltcG9ydCB7IFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LWxpc3QuZW51bSc7XG5pbXBvcnQgeyBUYXhTdW1tYXJ5U2VjdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YXgtc3VtbWFyeS1zZWN0aW9uLmVudW0nO1xuXG4vKipcbiAqIEBUb2RvIHJlZmFjdG9yIHdpdGggYmFzZSBtb2RlbCB3aGVuIGl0IHdpbGwgYmUgcHJvdmlkZWRcbiAqIFRheCBzdW1tYXJ5IHJlcG9ydCBzdHJ1Y3R1cmVcbiAqL1xuZXhwb3J0IGNsYXNzIFRheFN1bW1hcnkge1xuICBAVHlwZSgoKSA9PiBUYXhTdW1tYXJ5U2VjdGlvbilcbiAgd29yazogVGF4U3VtbWFyeVNlY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gVGF4U3VtbWFyeVNlY3Rpb24pXG4gIHByb3BlcnR5OiBUYXhTdW1tYXJ5U2VjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBUYXhTdW1tYXJ5U2VjdGlvbilcbiAgb3RoZXJJbmNvbWU6IFRheFN1bW1hcnlTZWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IFRheFN1bW1hcnlTZWN0aW9uKVxuICBzdW1tYXJ5OiBUYXhTdW1tYXJ5U2VjdGlvbjtcblxuICBwcm9qZWN0ZWRUYXhQb3NpdGlvbjogbnVtYmVyO1xuXG4gIGdldCBzZWN0aW9ucygpOiBUYXhTdW1tYXJ5U2VjdGlvbltdIHtcbiAgICByZXR1cm4gW3RoaXMud29yaywgdGhpcy5wcm9wZXJ0eSwgdGhpcy5vdGhlckluY29tZSwgdGhpcy5zdW1tYXJ5XTtcbiAgfVxuXG4gIGdldCB0YXhQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtbWFyeS5pdGVtcy5maW5kQnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdST1NTX1RBWF9QQVlBQkxFKS5hbW91bnQgLyB0aGlzLnN1bW1hcnkubmV0QW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFdvcmsgTmV0IENhc2ggPSBJbmNvbWUgLSB0YXggd2l0aGhlbGQgLSBleHBlbnNlcyAtIGludGVyZXN0XG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgd29ya05ldENhc2goKTogbnVtYmVyIHtcbiAgICBjb25zdCB0YXhXaXRoaGVsZDogbnVtYmVyID0gdGhpcy5zdW1tYXJ5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLndvcmsudGF4V2l0aGhlbGQsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5XT1JLX1RBTkspO1xuXG4gICAgcmV0dXJuIHRoaXMud29ya05ldFRvdGFsIC0gTWF0aC5hYnModGF4V2l0aGhlbGQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdvcmsgTmV0IFRvdGFsID0gSW5jb21lIC0gZXhwZW5zZXMgLSBpbnRlcmVzdFxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IHdvcmtOZXRUb3RhbCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGluY29tZTogbnVtYmVyID0gdGhpcy53b3JrLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLndvcmsuaW5jb21lLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uV09SS19UQU5LKTtcbiAgICBjb25zdCBleHBlbnNlczogbnVtYmVyID0gdGhpcy5zdW1tYXJ5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLndvcmsuZXhwZW5zZXMsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5XT1JLX1RBTkspO1xuICAgIGNvbnN0IGludGVyZXN0OiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMud29yay5pbnRlcmVzdCwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLldPUktfVEFOSyk7XG5cbiAgICByZXR1cm4gaW5jb21lIC0gTWF0aC5hYnMoZXhwZW5zZXMpIC0gTWF0aC5hYnMoaW50ZXJlc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3BlcnR5IE5ldCBDYXNoIChDYXNoIFBvc2l0aW9uKSA9IFJlbnRhbCBJbmNvbWUgLSBleHBlbnNlcyAtIGludGVyZXN0XG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgcHJvcGVydHlOZXRDYXNoKCk6IG51bWJlciB7XG4gICAgY29uc3QgaW5jb21lOiBudW1iZXIgPSB0aGlzLnByb3BlcnR5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLnByb3BlcnR5LmluY29tZSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLlBST1BFUlRZX1RBTkspO1xuICAgIGNvbnN0IGV4cGVuc2VzOiBudW1iZXIgPSB0aGlzLnByb3BlcnR5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLnByb3BlcnR5LmV4cGVuc2VzLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uUFJPUEVSVFlfVEFOSyk7XG4gICAgY29uc3QgaW50ZXJlc3Q6IG51bWJlciA9IHRoaXMucHJvcGVydHkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMucHJvcGVydHkuaW50ZXJlc3QsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5QUk9QRVJUWV9UQU5LKTtcblxuICAgIHJldHVybiBpbmNvbWUgLSBNYXRoLmFicyhleHBlbnNlcykgLSBNYXRoLmFicyhpbnRlcmVzdCk7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydHkgTmV0IFRvdGFsIChUYXggUG9zaXRpb24pID0gUmVudGFsIEluY29tZSAtIGV4cGVuc2VzIC0gaW50ZXJlc3QgLSBkZXByZWNpYXRpb25cbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCBwcm9wZXJ0eU5ldFRvdGFsKCk6IG51bWJlciB7XG4gICAgY29uc3QgZGVwcmVjaWF0aW9uOiBudW1iZXIgPSB0aGlzLnByb3BlcnR5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLnByb3BlcnR5LmRlcHJlY2lhdGlvbiwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLlBST1BFUlRZX1RBTkspO1xuXG4gICAgcmV0dXJuIHRoaXMucHJvcGVydHlOZXRDYXNoIC0gTWF0aC5hYnMoZGVwcmVjaWF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdGhlciBOZXQgQ2FzaCA9IGdyb3NzIGluY29tZSDigJMgZXhwZW5zZXMg4oCTIHRheCB3aXRoaGVsZCAtIHRheCBpbnN0YWxtZW50c1xuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IG90aGVyTmV0Q2FzaCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGluY29tZTogbnVtYmVyID0gdGhpcy5vdGhlckluY29tZS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFRBWF9SRVRVUk5fQ0FURUdPUklFUy5vdGhlci5pbmNvbWUsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9JTkNPTUUpO1xuICAgIGNvbnN0IGV4cGVuc2VzOiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMub3RoZXIuZXhwZW5zZXMsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9JTkNPTUUpO1xuICAgIGNvbnN0IHRheFdpdGhoZWxkOiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihbVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5UQVhfV0lUSEhFTERdLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uT1RIRVJfSU5DT01FKTtcbiAgICBjb25zdCB0YXhJbnN0YWxtZW50czogbnVtYmVyID0gdGhpcy5zdW1tYXJ5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oW1RheFJldHVybkNhdGVnb3J5TGlzdEVudW0uVEFYX0lOU1RBTE1FTlRTXSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLk9USEVSX0lOQ09NRSk7XG5cbiAgICByZXR1cm4gaW5jb21lIC0gTWF0aC5hYnMoZXhwZW5zZXMpIC0gTWF0aC5hYnModGF4V2l0aGhlbGQpIC0gTWF0aC5hYnModGF4SW5zdGFsbWVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE90aGVyIE5ldCBUb3RhbCA9IEdyb3NzIGluY29tZSAtIGV4cGVuc2VzICsgdGF4IG9mZnNldHMgKyB0YXggaW5zdGFsbWVudHMgKyBmcmFua2luZyBjcmVkaXRzXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgb3RoZXJOZXRUb3RhbCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGluY29tZTogbnVtYmVyID0gdGhpcy5vdGhlckluY29tZS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFRBWF9SRVRVUk5fQ0FURUdPUklFUy5vdGhlci5pbmNvbWUsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9JTkNPTUUpO1xuICAgIGNvbnN0IGV4cGVuc2VzOiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMub3RoZXIuZXhwZW5zZXMsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9JTkNPTUUpO1xuICAgIGNvbnN0IHRheE9mZnNldHM6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9PRkZTRVRTXSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLlNVTU1BUlkpO1xuICAgIGNvbnN0IHRheEluc3RhbGxtZW50czogbnVtYmVyID0gdGhpcy5zdW1tYXJ5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oW1RheFJldHVybkNhdGVnb3J5TGlzdEVudW0uVEFYX0lOU1RBTE1FTlRTXSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLk9USEVSX0lOQ09NRSk7XG4gICAgY29uc3QgZnJhbmtpbmdDcmVkaXRzOiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihbVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5GUkFOS0lOR19DUkVESVRTXSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLk9USEVSX0lOQ09NRSk7XG5cbiAgICByZXR1cm4gaW5jb21lIC0gTWF0aC5hYnMoZXhwZW5zZXMpICsgTWF0aC5hYnModGF4T2Zmc2V0cykgKyBNYXRoLmFicyh0YXhJbnN0YWxsbWVudHMpICsgTWF0aC5hYnMoZnJhbmtpbmdDcmVkaXRzKTtcbiAgfVxufVxuIl19
|