taxtank-core 0.30.28 → 0.30.30
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/esm2020/lib/collections/holding.collection.mjs +28 -0
- package/esm2020/lib/collections/index.mjs +2 -1
- package/esm2020/lib/collections/property/property-sale/property-sale.collection.mjs +3 -3
- package/esm2020/lib/db/Enums/holding/holding-type-category.enum.mjs +1 -1
- package/esm2020/lib/db/Enums/index.mjs +2 -1
- package/esm2020/lib/db/Models/client/annual-client-details.mjs +3 -0
- package/esm2020/lib/db/Models/client/client-details.mjs +4 -0
- package/esm2020/lib/db/Models/client/client-income-types.mjs +4 -0
- package/esm2020/lib/db/Models/client/index.mjs +5 -0
- package/esm2020/lib/db/Models/client/occupation.mjs +4 -0
- package/esm2020/lib/db/Models/index.mjs +2 -4
- package/esm2020/lib/db/Models/property/property-sale/property-sale.mjs +1 -1
- package/esm2020/lib/db/Models/user/user.mjs +1 -1
- package/esm2020/lib/forms/client/annual-client-details.form.mjs +37 -0
- package/esm2020/lib/forms/client/index.mjs +3 -0
- package/esm2020/lib/forms/holding/holding-sale.form.mjs +39 -0
- package/esm2020/lib/forms/holding/holding-type.form.mjs +16 -0
- package/esm2020/lib/forms/holding/holding.form.mjs +17 -0
- package/esm2020/lib/forms/holding/index.mjs +4 -0
- package/esm2020/lib/forms/index.mjs +3 -2
- package/esm2020/lib/forms/property/property-sale/property-sale-cost-sale.form.mjs +11 -25
- package/esm2020/lib/forms/property/property-sale/property-sale-exemptions.form.mjs +18 -7
- package/esm2020/lib/forms/report/my-tax/my-tax-cgt.form.mjs +4 -1
- package/esm2020/lib/forms/transaction/work/work-transaction.form.mjs +3 -1
- package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
- package/esm2020/lib/interceptors/jwt-interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
- package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +3 -3
- package/esm2020/lib/messages/index.mjs +2 -0
- package/esm2020/lib/messages/messages.enum.mjs +16 -0
- package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +4 -1
- package/esm2020/lib/models/client/annual-client-details.mjs +15 -0
- package/esm2020/lib/models/client/client-details.mjs +2 -2
- package/esm2020/lib/models/client/client-income-types.mjs +2 -2
- package/esm2020/lib/models/client/index.mjs +8 -0
- package/esm2020/lib/models/endpoint/endpoints.const.mjs +17 -1
- package/esm2020/lib/models/holding/holding-sale.mjs +18 -1
- package/esm2020/lib/models/holding/holding-type-exchange.mjs +13 -0
- package/esm2020/lib/models/holding/holding-type.mjs +37 -1
- package/esm2020/lib/models/holding/holding.mjs +32 -1
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/models/property/property-sale/property-sale.mjs +19 -6
- package/esm2020/lib/models/property/property-sale/tax-exemption.mjs +5 -1
- package/esm2020/lib/models/property/property.mjs +38 -18
- package/esm2020/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.mjs +7 -6
- package/esm2020/lib/models/user/occupation.mjs +2 -2
- package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
- package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
- package/esm2020/lib/services/asset/assets.service.mjs +3 -3
- package/esm2020/lib/services/auth/auth.service.mjs +3 -3
- package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
- package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
- package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
- package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
- package/esm2020/lib/services/event/sse.service.mjs +3 -3
- package/esm2020/lib/services/export/export-formatter.service.mjs +3 -3
- package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
- package/esm2020/lib/services/http/address/address.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
- package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +3 -3
- package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
- package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
- package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
- package/esm2020/lib/services/http/client/capital-gain/annual-client-details.service.mjs +24 -0
- package/esm2020/lib/services/http/client/index.mjs +3 -0
- package/esm2020/lib/services/http/client/occupation/occupation.service.mjs +45 -0
- package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
- package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
- package/esm2020/lib/services/http/document/document.service.mjs +3 -3
- package/esm2020/lib/services/http/facebook/facebook.service.mjs +3 -3
- package/esm2020/lib/services/http/file/file.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +4 -4
- package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
- package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
- package/esm2020/lib/services/http/google/google.service.mjs +3 -3
- package/esm2020/lib/services/http/holding/holding-sale.service.mjs +4 -7
- package/esm2020/lib/services/http/holding/holding-type.service.mjs +4 -7
- package/esm2020/lib/services/http/holding/holding.service.mjs +6 -9
- package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
- package/esm2020/lib/services/http/index.mjs +2 -1
- package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
- package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
- package/esm2020/lib/services/http/property/property.service.mjs +3 -3
- package/esm2020/lib/services/http/receipt/receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/rest/rest-old.service.mjs +3 -3
- package/esm2020/lib/services/http/rest/rest.service.mjs +3 -3
- package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
- package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
- package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
- package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.mjs +3 -3
- package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
- package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
- package/esm2020/lib/services/http/user/index.mjs +2 -2
- package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +3 -3
- package/esm2020/lib/services/http/user/user.service.mjs +5 -14
- package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle-logbook.service.mjs +3 -3
- package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
- package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
- package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
- package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
- package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
- package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
- package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
- package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
- package/esm2020/lib/services/toast/toast.service.mjs +3 -3
- package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
- package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
- package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
- package/esm2020/lib/services/xlsx/xlsx.service.mjs +3 -3
- package/esm2020/lib/tt-core.module.mjs +4 -4
- package/esm2020/lib/validators/transactions-meta-fields.validator.mjs +34 -0
- package/esm2020/public-api.mjs +5 -1
- package/fesm2015/taxtank-core.mjs +943 -601
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +937 -596
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/holding.collection.d.ts +10 -0
- package/lib/collections/index.d.ts +1 -0
- package/lib/collections/property/property-sale/property-sale.collection.d.ts +1 -1
- package/lib/db/Enums/index.d.ts +1 -0
- package/lib/db/Models/client/annual-client-details.d.ts +12 -0
- package/lib/db/Models/{user → client}/client-details.d.ts +1 -2
- package/lib/db/Models/client/index.d.ts +4 -0
- package/lib/db/Models/index.d.ts +1 -3
- package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -3
- package/lib/db/Models/user/user.d.ts +1 -1
- package/lib/forms/client/annual-client-details.form.d.ts +8 -0
- package/lib/forms/client/index.d.ts +2 -0
- package/lib/forms/holding/holding-sale.form.d.ts +11 -0
- package/lib/forms/holding/holding-type.form.d.ts +5 -0
- package/lib/forms/holding/holding.form.d.ts +5 -0
- package/lib/forms/holding/index.d.ts +3 -0
- package/lib/forms/index.d.ts +2 -1
- package/lib/forms/property/property-sale/property-sale-cost-sale.form.d.ts +1 -3
- package/lib/forms/property/property-sale/property-sale-exemptions.form.d.ts +6 -6
- package/lib/forms/report/my-tax/my-tax-cgt.form.d.ts +4 -1
- package/lib/messages/index.d.ts +1 -0
- package/lib/messages/messages.enum.d.ts +14 -0
- package/lib/models/chart-accounts/chart-accounts.d.ts +1 -0
- package/lib/models/client/annual-client-details.d.ts +12 -0
- package/lib/models/client/client-details.d.ts +1 -1
- package/lib/models/client/client-income-types.d.ts +1 -1
- package/lib/models/client/index.d.ts +7 -0
- package/lib/models/holding/holding-sale.d.ts +6 -1
- package/lib/models/holding/holding-type-exchange.d.ts +11 -0
- package/lib/models/holding/holding-type.d.ts +31 -8
- package/lib/models/holding/holding.d.ts +16 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/property/property-sale/property-sale.d.ts +7 -2
- package/lib/models/property/property-sale/tax-exemption.d.ts +1 -0
- package/lib/models/property/property.d.ts +12 -6
- package/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.d.ts +2 -2
- package/lib/models/user/occupation.d.ts +1 -1
- package/lib/services/http/client/capital-gain/annual-client-details.service.d.ts +14 -0
- package/lib/services/http/client/index.d.ts +2 -0
- package/lib/services/http/firm/client-income/client-income-types.service.d.ts +1 -1
- package/lib/services/http/holding/holding-sale.service.d.ts +0 -3
- package/lib/services/http/holding/holding-type.service.d.ts +0 -3
- package/lib/services/http/holding/holding.service.d.ts +3 -6
- package/lib/services/http/index.d.ts +1 -0
- package/lib/services/http/user/index.d.ts +1 -1
- package/lib/services/http/user/user.service.d.ts +0 -4
- package/lib/validators/transactions-meta-fields.validator.d.ts +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/esm2020/lib/db/Models/user/client-details.mjs +0 -4
- package/esm2020/lib/db/Models/user/client-income-types.mjs +0 -4
- package/esm2020/lib/db/Models/user/occupation.mjs +0 -4
- package/esm2020/lib/services/http/user/occupation/occupation.service.mjs +0 -45
- /package/lib/db/Models/{user → client}/client-income-types.d.ts +0 -0
- /package/lib/db/Models/{user → client}/occupation.d.ts +0 -0
- /package/lib/services/http/{user → client}/occupation/occupation.service.d.ts +0 -0
|
@@ -120,17 +120,14 @@ export class Property extends PropertyBase {
|
|
|
120
120
|
}
|
|
121
121
|
return this.purchasePrice + this.capitalCostsTotalAmount + sale.holdingCosts + sale.structuralImprovementsWDV - sale.buildingAtCostClaimed;
|
|
122
122
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
*/
|
|
126
|
-
calculateGrossCGT(sale) {
|
|
127
|
-
return (sale.price - sale.saleCostsTotalAmount - this.calculateCostBase(sale)) * this.shareRatio;
|
|
123
|
+
calculateGrossCapitalGain(sale) {
|
|
124
|
+
return (sale.netPrice - this.calculateCostBase(sale)) * this.getPartialCGTExemptionRatio(sale) * this.shareRatio;
|
|
128
125
|
}
|
|
129
126
|
/**
|
|
130
|
-
* net capital gain
|
|
127
|
+
* net capital gain includes tax exemption
|
|
131
128
|
*/
|
|
132
|
-
|
|
133
|
-
return this.getCGTExemptionRatio(sale) * sale.
|
|
129
|
+
calculateNetCapitalGain(sale) {
|
|
130
|
+
return this.getCGTExemptionRatio(sale) * sale.grossCapitalGain;
|
|
134
131
|
}
|
|
135
132
|
/**
|
|
136
133
|
* guess tax exemption based on property details
|
|
@@ -150,24 +147,29 @@ export class Property extends PropertyBase {
|
|
|
150
147
|
return null;
|
|
151
148
|
}
|
|
152
149
|
}
|
|
150
|
+
getPartialCGTExemptionRatio(sale) {
|
|
151
|
+
const metaFields = new PropertySaleTaxExemptionMetaFieldCollection(sale.taxExemptionMetaFields);
|
|
152
|
+
switch (sale.taxExemption?.id) {
|
|
153
|
+
case TaxExemptionEnum.INVESTMENT_TO_PPR:
|
|
154
|
+
const ownershipDays = this.getOwnershipDuration(sale);
|
|
155
|
+
return (ownershipDays - metaFields.getPPRDays()) / ownershipDays;
|
|
156
|
+
case TaxExemptionEnum.PPR_TO_INVESTMENT:
|
|
157
|
+
return metaFields.getClaimPercent() / 100;
|
|
158
|
+
default:
|
|
159
|
+
return 1;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
153
162
|
/**
|
|
154
163
|
* tax exemption can reduce cgt from 100% to less (up to zero)
|
|
155
164
|
*/
|
|
156
165
|
getCGTExemptionRatio(sale) {
|
|
157
|
-
const metaFields = new PropertySaleTaxExemptionMetaFieldCollection(sale.taxExemptionMetaFields);
|
|
158
166
|
switch (sale.taxExemption?.id) {
|
|
159
167
|
// 50% exemption for investments owned for at least one year
|
|
160
168
|
case TaxExemptionEnum.ONE_YEAR_RULE:
|
|
161
169
|
return 0.5;
|
|
162
|
-
// investment property become main residence (exemption for main residence ownership duration)
|
|
163
170
|
case TaxExemptionEnum.INVESTMENT_TO_PPR:
|
|
164
|
-
const ownershipDays = this.getOwnershipDuration(sale);
|
|
165
|
-
return (ownershipDays - metaFields.getPPRDays()) / ownershipDays;
|
|
166
|
-
// main residence become investment (exemption for home office percent usage)
|
|
167
171
|
case TaxExemptionEnum.PPR_TO_INVESTMENT:
|
|
168
|
-
|
|
169
|
-
const ratio = this.isOneYearExemptionApplicable(sale) ? 0.5 : 1;
|
|
170
|
-
return metaFields.getClaimPercent() / 100 * ratio;
|
|
172
|
+
return this.isOneYearExemptionApplicable(sale) ? 0.5 : 1;
|
|
171
173
|
// full exemption
|
|
172
174
|
case TaxExemptionEnum.PPR:
|
|
173
175
|
case TaxExemptionEnum.SIX_YEARS_RULE:
|
|
@@ -179,8 +181,11 @@ export class Property extends PropertyBase {
|
|
|
179
181
|
return 1;
|
|
180
182
|
}
|
|
181
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* in cgt report we apply losses, which can reset 1 year rule (in case if there is no profit after loss)
|
|
186
|
+
*/
|
|
182
187
|
isOneYearExemptionApplicable(sale) {
|
|
183
|
-
return sale.
|
|
188
|
+
return sale.grossCapitalGain > 0 && this.getOwnershipDuration(sale, 'years') > 0;
|
|
184
189
|
}
|
|
185
190
|
/**
|
|
186
191
|
* CGT is not applicable for properties acquired before 20.09.1985 (tax didn't exist before this date).
|
|
@@ -209,6 +214,12 @@ export class Property extends PropertyBase {
|
|
|
209
214
|
* Any assets acquired before this day are CGT exempt (because the tax didn't exist before this date).
|
|
210
215
|
*/
|
|
211
216
|
Property.preCGTAssetDate = new Date(1985, 9, 20);
|
|
217
|
+
__decorate([
|
|
218
|
+
Type(() => Number)
|
|
219
|
+
], Property.prototype, "purchasePrice", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
Type(() => Number)
|
|
222
|
+
], Property.prototype, "growthPercent", void 0);
|
|
212
223
|
__decorate([
|
|
213
224
|
Type(() => Date)
|
|
214
225
|
], Property.prototype, "contractDate", void 0);
|
|
@@ -221,6 +232,15 @@ __decorate([
|
|
|
221
232
|
__decorate([
|
|
222
233
|
Type(() => PropertyCategory)
|
|
223
234
|
], Property.prototype, "category", void 0);
|
|
235
|
+
__decorate([
|
|
236
|
+
Type(() => Number)
|
|
237
|
+
], Property.prototype, "stampDuty", void 0);
|
|
238
|
+
__decorate([
|
|
239
|
+
Type(() => Number)
|
|
240
|
+
], Property.prototype, "legalFees", void 0);
|
|
241
|
+
__decorate([
|
|
242
|
+
Type(() => Number)
|
|
243
|
+
], Property.prototype, "otherCapitalCosts", void 0);
|
|
224
244
|
__decorate([
|
|
225
245
|
Type(() => PropertyValuation)
|
|
226
246
|
], Property.prototype, "valuations", void 0);
|
|
@@ -239,4 +259,4 @@ __decorate([
|
|
|
239
259
|
__decorate([
|
|
240
260
|
Exclude()
|
|
241
261
|
], Property.prototype, "documentFile", void 0);
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRzNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNMLDJDQUEyQyxFQUM1QyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVMsU0FBUSxZQUFZO0lBc0N4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJ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SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3NDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7K0NBQ0s7QUFJdEM7SUFEQyxPQUFPLEVBQUU7OENBQ1MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3BlcnR5IGFzIFByb3BlcnR5QmFzZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7RG9jdW1lbnRhYmxlLCBQaG90b2FibGV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtQcm9wZXJ0eVNoYXJlfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHtQcm9wZXJ0eVN1YnNjcmlwdGlvbn0gZnJvbSAnLi9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHtFeGNsdWRlLCBUeXBlfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge0FkZHJlc3N9IGZyb20gJy4uL2FkZHJlc3MnO1xuaW1wb3J0IHtQcm9wZXJ0eUNhdGVnb3J5fSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5JztcbmltcG9ydCB7UHJvcGVydHlWYWx1YXRpb259IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7UHJvcGVydHlGb3JlY2FzdH0gZnJvbSAnLi9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5pbXBvcnQge1Byb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudCc7XG5pbXBvcnQge1VzZXJ9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHtGaW5hbmNpYWxZZWFyfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQge1RheEV4ZW1wdGlvbkVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtQcm9wZXJ0eVNhbGV9IGZyb20gJy4vcHJvcGVydHktc2FsZSc7XG5pbXBvcnQge3VuaXRPZlRpbWV9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1xuICBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIERlcHJlY2lhdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuXG4vKipcbiAqIHByb3BlcnR5U2FsZSBkb2NzIC0gaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80MjA5NTA4MzUzL1Byb3BlcnR5K1NvbGQrYnV0dG9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eSBleHRlbmRzIFByb3BlcnR5QmFzZSBpbXBsZW1lbnRzIFBob3RvYWJsZSwgRG9jdW1lbnRhYmxlIHtcbiAgLyoqXG4gICAqIFByb3BlcnR5IGFjcXVpcmVkIGJlZm9yZSAyMCBTZXB0ZW1iZXIgMTk4NSB3aWxsIGdlbmVyYWxseSBiZSB0cmVhdGVkIGFzIHByZS1DYXBpdGFsIEdhaW5zIFRheCAoQ0dUKSBhc3NldHMuXG4gICAqIEFueSBhc3NldHMgYWNxdWlyZWQgYmVmb3JlIHRoaXMgZGF5IGFyZSBDR1QgZXhlbXB0IChiZWNhdXNlIHRoZSB0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKi9cbiAgc3RhdGljIHByZUNHVEFzc2V0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODUsIDksIDIwKTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjb250cmFjdERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgc2V0dGxlbWVudERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcbiAgYWRkcmVzczogQWRkcmVzcztcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5KVxuICBjYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVZhbHVhdGlvbilcbiAgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUZvcmVjYXN0KVxuICBmb3JlY2FzdHM6IFByb3BlcnR5Rm9yZWNhc3RbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQpXG4gIGNhdGVnb3J5TW92ZW1lbnRzOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRbXTtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5U3Vic2NyaXB0aW9uKVxuICBzdWJzY3JpcHRpb25zOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbltdO1xuXG4gIC8vIGNvdWxkIGJlIEZpbGUgd2hlbiBqdXN0IGFkZGVkIG5ldyBpbWFnZVxuICBARXhjbHVkZSgpXG4gIGRvY3VtZW50RmlsZTogRmlsZTtcblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFkZHJlc3MubmFtZTtcbiAgfVxuXG4gIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnN1YnNjcmlwdGlvbnM/Lmxlbmd0aDtcbiAgfVxuXG4gIGlzT3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJyk7XG4gIH1cblxuICBpc1NvbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5teVNoYXJlPy5zYWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbml0aWFscyBvZiBwcm9wZXJ0eS4gUmVxdWlyZWQgYnkgUGhvdG9hYmxlIGludGVyZmFjZVxuICAgKi9cbiAgZ2V0UGhvdG9QbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWUuc3BsaXQoJyAnKVsxXS5zbGljZSgwLCAyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcHJvcGVydHkgcGhvdG8uIFJlcXVpcmVkIGJ5IFBob3RvYWJsZSBpbnRlcmZhY2VcbiAgICovXG4gIGdldFBob3RvKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGhvdG87XG4gIH1cblxuICBnZXQgY2FwaXRhbENvc3RzVG90YWxBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGFtcER1dHkgKyB0aGlzLmxlZ2FsRmVlcyArIHRoaXMub3RoZXJDYXBpdGFsQ29zdHM7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJWYWx1YXRpb25zKCk6IFByb3BlcnR5VmFsdWF0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLnZhbHVhdGlvbnMuZmlsdGVyKCh2YWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uKTogYm9vbGVhbiA9PiB2YWx1YXRpb24uaXNDdXJyZW50WWVhcigpKTtcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFjdHVhbFZhbHVhdGlvbj8ubWFya2V0VmFsdWUgfHwgMDtcbiAgfVxuXG4gIGdldCBjdXJyZW50WWVhckZvcmVjYXN0KCk6IFByb3BlcnR5Rm9yZWNhc3Qge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuaXNDdXJyZW50WWVhcigpKTtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkUmVudGFsUmV0dXJuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8ucmVudGFsUmV0dXJuIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFRheFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8udGF4UG9zaXRpb24gfHwgMDtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkQ2FzaFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdD8uY2FzaFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZmlyc3RGb3JlY2FzdFllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMucmVkdWNlKChtaW46IG51bWJlciwgZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBudW1iZXIgPT4ge1xuICAgICAgcmV0dXJuIG1pbiA+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPyBmb3JlY2FzdC5maW5hbmNpYWxZZWFyIDogbWluO1xuICAgIH0sIG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWVHcm93dGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMubWFya2V0VmFsdWUgLSB0aGlzLnB1cmNoYXNlUHJpY2UpIC8gdGhpcy5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIGdldCBteVNoYXJlKCk6IFByb3BlcnR5U2hhcmUge1xuICAgIHJldHVybiB0aGlzLnNoYXJlcy5maW5kKChzaGFyZTogUHJvcGVydHlTaGFyZSk6IGJvb2xlYW4gPT4gc2hhcmUudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKSk7XG4gIH1cblxuICBnZXQgYWN0dWFsVmFsdWF0aW9uKCk6IFByb3BlcnR5VmFsdWF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb25zLnJlZHVjZSgobWF4RGF0ZVZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24sIHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24pID0+IHtcbiAgICAgIHJldHVybiBtYXhEYXRlVmFsdWF0aW9uLmRhdGUgPiB2YWx1YXRpb24uZGF0ZSA/IG1heERhdGVWYWx1YXRpb24gOiB2YWx1YXRpb247XG4gICAgfSwgdGhpcy52YWx1YXRpb25zWzBdKTtcbiAgfVxuXG4gIGdldCBjbGFpbVBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmNsYWltUGVyY2VudDtcbiAgfVxuXG4gIGdldCBjbGFpbUNvZWZmaWNpZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2xhaW1QZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgZ2V0IHNoYXJlUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm15U2hhcmUucGVyY2VudDtcbiAgfVxuXG4gIGdldCBzaGFyZVJhdGlvKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgZ2V0IHByZXZpb3VzQ2F0ZWdvcnkoKTogUHJvcGVydHlDYXRlZ29yeSB7XG4gICAgbGV0IHByZXZpb3VzQ2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgICBjb25zdCBtb3ZlbWVudHNDb3VudDogbnVtYmVyID0gdGhpcy5jYXRlZ29yeU1vdmVtZW50cy5sZW5ndGg7XG5cbiAgICBpZiAobW92ZW1lbnRzQ291bnQgPiAxKSB7XG4gICAgICBwcmV2aW91c0NhdGVnb3J5ID0gdGhpcy5jYXRlZ29yeU1vdmVtZW50c1ttb3ZlbWVudHNDb3VudCAtIDJdLnByb3BlcnR5Q2F0ZWdvcnk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByZXZpb3VzQ2F0ZWdvcnk7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLmhvbGRpbmdDb3N0cyArIHNhbGUuc3RydWN0dXJhbEltcHJvdmVtZW50c1dEViAtIHNhbGUuYnVpbGRpbmdBdENvc3RDbGFpbWVkO1xuICB9XG5cbiAgLyoqXG4gICAqIGdyb3NzIGNhcGl0YWwgZ2FpbiB0YXg6IHNhbGUgY29zdHMgLSBjb3N0IGJhc2VcbiAgICovXG4gIGNhbGN1bGF0ZUdyb3NzQ0dUKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIChzYWxlLnByaWNlIC0gc2FsZS5zYWxlQ29zdHNUb3RhbEFtb3VudCAtIHRoaXMuY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZSkpICogdGhpcy5zaGFyZVJhdGlvO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gdGF4IChpbmNsdWRlcyB0YXggZXhlbXB0aW9ucylcbiAgICovXG4gIGNhbGN1bGF0ZU5ldENHVChzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGUpICogc2FsZS5ncm9zc0NHVEFmdGVyTG9zcztcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdGF4IGV4ZW1wdGlvbiBjYW4gcmVkdWNlIGNndCBmcm9tIDEwMCUgdG8gbGVzcyAodXAgdG8gemVybylcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWV0YUZpZWxkczogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcyk7XG5cbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIC8vIGludmVzdG1lbnQgcHJvcGVydHkgYmVjb21lIG1haW4gcmVzaWRlbmNlIChleGVtcHRpb24gZm9yIG1haW4gcmVzaWRlbmNlIG93bmVyc2hpcCBkdXJhdGlvbilcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgICAgY29uc3Qgb3duZXJzaGlwRGF5cyA9IHRoaXMuZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZSk7XG5cbiAgICAgICAgcmV0dXJuIChvd25lcnNoaXBEYXlzIC0gbWV0YUZpZWxkcy5nZXRQUFJEYXlzKCkpIC8gb3duZXJzaGlwRGF5cztcbiAgICAgIC8vIG1haW4gcmVzaWRlbmNlIGJlY29tZSBpbnZlc3RtZW50IChleGVtcHRpb24gZm9yIGhvbWUgb2ZmaWNlIHBlcmNlbnQgdXNhZ2UpXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIC8vIDEgeWVhciBDR1QgZGlzY291bnQgY2FuIHN0aWxsIGFwcGx5IChvbiB0aGUgaW5jb21lIHByb2R1Y2luZyAlIGlmIHVzZWQgZm9yIDEyIG1vbnRocyBvciBtb3JlKVxuICAgICAgICBjb25zdCByYXRpbzogbnVtYmVyID0gdGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKHNhbGUpID8gMC41IDogMTtcbiAgICAgICAgcmV0dXJuIG1ldGFGaWVsZHMuZ2V0Q2xhaW1QZXJjZW50KCkgLyAxMDAgKiByYXRpbztcbiAgICAgIC8vIGZ1bGwgZXhlbXB0aW9uXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlNJWF9ZRUFSU19SVUxFOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlRSQU5TRkVSOlxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLk9USEVSOlxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIC8vIG5vIGV4ZW1wdGlvblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG5cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NHVEFmdGVyTG9zcyA+IDAgJiYgdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlLCAneWVhcnMnKSA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQ0dUIGlzIG5vdCBhcHBsaWNhYmxlIGZvciBwcm9wZXJ0aWVzIGFjcXVpcmVkIGJlZm9yZSAyMC4wOS4xOTg1ICh0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChcIkNhcGl0YWwgZ2FpbnMgb3IgbG9zc2VzXCIgc2VjdGlvbilcbiAgICovXG4gIGlzQ0dUQXBwbGljYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cmFjdERhdGUgPj0gUHJvcGVydHkucHJlQ0dUQXNzZXREYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIG93bmVyc2hpcCBkdXJhdGlvbiBmcm9tIHB1cmNoYXNlIHRpbGwgc2FsZVxuICAgKi9cbiAgZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZTogUHJvcGVydHlTYWxlLCB1bml0T2ZUaW1lOiB1bml0T2ZUaW1lLkRpZmYgPSAnZGF5cycpOiBudW1iZXIge1xuICAgIHJldHVybiBtb21lbnQoc2FsZS5jb250cmFjdERhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG59XG4iXX0=
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRzNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNMLDJDQUEyQyxFQUM1QyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVMsU0FBUSxZQUFZO0lBcUR4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJ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QUFDO3lDQUNIO0FBR2pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzBDQUNGO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkNBQ0E7QUFHbkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO21EQUNRO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDOzRDQUNFO0FBR2hDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzJDQUNDO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO21EQUNTO0FBRzlDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztzQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDOytDQUNLO0FBSXRDO0lBREMsT0FBTyxFQUFFOzhDQUNTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcm9wZXJ0eSBhcyBQcm9wZXJ0eUJhc2V9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQge0RvY3VtZW50YWJsZSwgUGhvdG9hYmxlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7UHJvcGVydHlTaGFyZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7UHJvcGVydHlTdWJzY3JpcHRpb259IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7RXhjbHVkZSwgVHlwZX0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtBZGRyZXNzfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeX0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQge1Byb3BlcnR5VmFsdWF0aW9ufSBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbic7XG5pbXBvcnQge1Byb3BlcnR5Rm9yZWNhc3R9IGZyb20gJy4vcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHtQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnR9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7RmluYW5jaWFsWWVhcn0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHtUYXhFeGVtcHRpb25FbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zYWxlL3RheC1leGVtcHRpb24uZW51bSc7XG5pbXBvcnQge1Byb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7UHJvcGVydHlTYWxlfSBmcm9tICcuL3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHt1bml0T2ZUaW1lfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25Db2xsZWN0aW9uLCBEZXByZWNpYXRpb25Db2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBwcm9wZXJ0eVNhbGUgZG9jcyAtIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDIwOTUwODM1My9Qcm9wZXJ0eStTb2xkK2J1dHRvblxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgZXh0ZW5kcyBQcm9wZXJ0eUJhc2UgaW1wbGVtZW50cyBQaG90b2FibGUsIERvY3VtZW50YWJsZSB7XG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBhY3F1aXJlZCBiZWZvcmUgMjAgU2VwdGVtYmVyIDE5ODUgd2lsbCBnZW5lcmFsbHkgYmUgdHJlYXRlZCBhcyBwcmUtQ2FwaXRhbCBHYWlucyBUYXggKENHVCkgYXNzZXRzLlxuICAgKiBBbnkgYXNzZXRzIGFjcXVpcmVkIGJlZm9yZSB0aGlzIGRheSBhcmUgQ0dUIGV4ZW1wdCAoYmVjYXVzZSB0aGUgdGF4IGRpZG4ndCBleGlzdCBiZWZvcmUgdGhpcyBkYXRlKS5cbiAgICovXG4gIHN0YXRpYyBwcmVDR1RBc3NldERhdGU6IERhdGUgPSBuZXcgRGF0ZSgxOTg1LCA5LCAyMCk7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBwdXJjaGFzZVByaWNlOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBncm93dGhQZXJjZW50OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBjb250cmFjdERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgc2V0dGxlbWVudERhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcbiAgYWRkcmVzczogQWRkcmVzcztcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUNhdGVnb3J5KVxuICBjYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHN0YW1wRHV0eT86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGxlZ2FsRmVlcz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIG90aGVyQ2FwaXRhbENvc3RzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5VmFsdWF0aW9uKVxuICB2YWx1YXRpb25zOiBQcm9wZXJ0eVZhbHVhdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Rm9yZWNhc3QpXG4gIGZvcmVjYXN0czogUHJvcGVydHlGb3JlY2FzdFtdO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudClcbiAgY2F0ZWdvcnlNb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlTdWJzY3JpcHRpb24pXG4gIHN1YnNjcmlwdGlvbnM6IFByb3BlcnR5U3Vic2NyaXB0aW9uW107XG5cbiAgLy8gY291bGQgYmUgRmlsZSB3aGVuIGp1c3QgYWRkZWQgbmV3IGltYWdlXG4gIEBFeGNsdWRlKClcbiAgZG9jdW1lbnRGaWxlOiBGaWxlO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzcy5uYW1lO1xuICB9XG5cbiAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3Vic2NyaXB0aW9ucz8ubGVuZ3RoO1xuICB9XG5cbiAgaXNPd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKTtcbiAgfVxuXG4gIGlzU29sZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm15U2hhcmU/LnNhbGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGluaXRpYWxzIG9mIHByb3BlcnR5LiBSZXF1aXJlZCBieSBQaG90b2FibGUgaW50ZXJmYWNlXG4gICAqL1xuICBnZXRQaG90b1BsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZS5zcGxpdCgnICcpWzFdLnNsaWNlKDAsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9wZXJ0eSBwaG90by4gUmVxdWlyZWQgYnkgUGhvdG9hYmxlIGludGVyZmFjZVxuICAgKi9cbiAgZ2V0UGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waG90bztcbiAgfVxuXG4gIGdldCBjYXBpdGFsQ29zdHNUb3RhbEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN0YW1wRHV0eSArIHRoaXMubGVnYWxGZWVzICsgdGhpcy5vdGhlckNhcGl0YWxDb3N0cztcbiAgfVxuXG4gIGdldCBjdXJyZW50WWVhclZhbHVhdGlvbnMoKTogUHJvcGVydHlWYWx1YXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWF0aW9ucy5maWx0ZXIoKHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24pOiBib29sZWFuID0+IHZhbHVhdGlvbi5pc0N1cnJlbnRZZWFyKCkpO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWN0dWFsVmFsdWF0aW9uPy5tYXJrZXRWYWx1ZSB8fCAwO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyRm9yZWNhc3QoKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5pc0N1cnJlbnRZZWFyKCkpO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRSZW50YWxSZXR1cm4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5yZW50YWxSZXR1cm4gfHwgMDtcbiAgfVxuXG4gIGdldCBmb3JlY2FzdGVkVGF4UG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py50YXhQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRDYXNoUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0Py5jYXNoUG9zaXRpb24gfHwgMDtcbiAgfVxuXG4gIGdldCBmaXJzdEZvcmVjYXN0WWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5yZWR1Y2UoKG1pbjogbnVtYmVyLCBmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IG51bWJlciA9PiB7XG4gICAgICByZXR1cm4gbWluID4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA/IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgOiBtaW47XG4gICAgfSwgbmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyKTtcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZUdyb3d0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5tYXJrZXRWYWx1ZSAtIHRoaXMucHVyY2hhc2VQcmljZSkgLyB0aGlzLm1hcmtldFZhbHVlO1xuICB9XG5cbiAgZ2V0IG15U2hhcmUoKTogUHJvcGVydHlTaGFyZSB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVzLmZpbmQoKHNoYXJlOiBQcm9wZXJ0eVNoYXJlKTogYm9vbGVhbiA9PiBzaGFyZS51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpKTtcbiAgfVxuXG4gIGdldCBhY3R1YWxWYWx1YXRpb24oKTogUHJvcGVydHlWYWx1YXRpb24ge1xuICAgIHJldHVybiB0aGlzLnZhbHVhdGlvbnMucmVkdWNlKChtYXhEYXRlVmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbiwgdmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIG1heERhdGVWYWx1YXRpb24uZGF0ZSA+IHZhbHVhdGlvbi5kYXRlID8gbWF4RGF0ZVZhbHVhdGlvbiA6IHZhbHVhdGlvbjtcbiAgICB9LCB0aGlzLnZhbHVhdGlvbnNbMF0pO1xuICB9XG5cbiAgZ2V0IGNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgZ2V0IGNsYWltQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNoYXJlUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgcHJldmlvdXNDYXRlZ29yeSgpOiBQcm9wZXJ0eUNhdGVnb3J5IHtcbiAgICBsZXQgcHJldmlvdXNDYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeTtcblxuICAgIGNvbnN0IG1vdmVtZW50c0NvdW50OiBudW1iZXIgPSB0aGlzLmNhdGVnb3J5TW92ZW1lbnRzLmxlbmd0aDtcblxuICAgIGlmIChtb3ZlbWVudHNDb3VudCA+IDEpIHtcbiAgICAgIHByZXZpb3VzQ2F0ZWdvcnkgPSB0aGlzLmNhdGVnb3J5TW92ZW1lbnRzW21vdmVtZW50c0NvdW50IC0gMl0ucHJvcGVydHlDYXRlZ29yeTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJldmlvdXNDYXRlZ29yeTtcbiAgfVxuXG4gIGdldEN1cnJlbnRTdWJzY3JpcHRpb24oKTogUHJvcGVydHlTdWJzY3JpcHRpb24ge1xuICAgIC8vIGFsd2F5cyByZXR1cm4gZmlyc3QgZWxlbWVudCBiZWNhdXNlIHN1YnNjcmlwdGlvbnMgYXJyYXkgY29udGFpbnMgb25seSBvbmUgZWxlbWVudFxuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnNbMF07XG4gIH1cblxuICBnZXRGb3JlY2FzdEJ5WWVhcih5ZWFyOiBudW1iZXIpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPT09IHllYXIpO1xuICB9XG5cbiAgZ2V0IGlzU2hhcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlcy5sZW5ndGggPiAxO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIGNvbnNpZGVyIHRvIG1vdmUgbWV0aG9kcyByZWxhdGVkIHdpdGggcHJvcGVydHlTYWxlIHRvIHNlcGFyYXRlZCBjbGFzcywgc2luY2UgdXNlZCBqdXN0IGluIG9uZSBtb2R1bGUgeWV0XG4gICAqIHB1cmNoYXNlIGNvc3RzIC0gY2xhaW1lZCBjb3N0cywgZXhjZXB0IGBwcHIgdG8gaW52ZXN0bWVudGAgZXhlbXB0aW9uLFxuICAgKiBpbiB0aGF0IGNhc2UgaXQncyBlcXVhbCB0byBtYXJrZXQgdmFsdWUsIHdoZW4gcHJvcGVydHkgYmVjYW1lIGFuIGludmVzdG1lbnQgcHJvcGVydHlcbiAgICovXG4gIGNhbGN1bGF0ZUNvc3RCYXNlKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWFya2V0VmFsdWU6IG51bWJlciA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcykuZ2V0TWFya2V0VmFsdWUoKTtcbiAgICBpZiAobWFya2V0VmFsdWUpIHtcbiAgICAgIHJldHVybiBtYXJrZXRWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wdXJjaGFzZVByaWNlICsgdGhpcy5jYXBpdGFsQ29zdHNUb3RhbEFtb3VudCArIHNhbGUuaG9sZGluZ0Nvc3RzICsgc2FsZS5zdHJ1Y3R1cmFsSW1wcm92ZW1lbnRzV0RWIC0gc2FsZS5idWlsZGluZ0F0Q29zdENsYWltZWQ7XG4gIH1cblxuICBjYWxjdWxhdGVHcm9zc0NhcGl0YWxHYWluKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIChzYWxlLm5ldFByaWNlIC0gdGhpcy5jYWxjdWxhdGVDb3N0QmFzZShzYWxlKSkgKiB0aGlzLmdldFBhcnRpYWxDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHRoaXMuc2hhcmVSYXRpbztcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXQgY2FwaXRhbCBnYWluIGluY2x1ZGVzIHRheCBleGVtcHRpb25cbiAgICovXG4gIGNhbGN1bGF0ZU5ldENhcGl0YWxHYWluKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiBzYWxlLmdyb3NzQ2FwaXRhbEdhaW47XG4gIH1cblxuICAvKipcbiAgICogZ3Vlc3MgdGF4IGV4ZW1wdGlvbiBiYXNlZCBvbiBwcm9wZXJ0eSBkZXRhaWxzXG4gICAqL1xuICBnZXRDR1RFeGVtcHRpb24oc2FsZTogUHJvcGVydHlTYWxlKTogVGF4RXhlbXB0aW9uRW51bSB7XG4gICAgaWYgKHNhbGUudGF4RXhlbXB0aW9uKSB7XG4gICAgICByZXR1cm4gc2FsZS50YXhFeGVtcHRpb24uaWQ7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAvLyBleGVtcHRpb24gZm9yIG1haW4gcmVzaWRlbmNlIHByb3BlcnRpZXNcbiAgICAgIGNhc2UgdGhpcy5jYXRlZ29yeS5pZCA9PT0gUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtLk9XTkVSX09DQ1VQSUVEOlxuICAgICAgICByZXR1cm4gVGF4RXhlbXB0aW9uRW51bS5QUFI7XG4gICAgICAvLyBleGVtcHRpb24gZm9yIGludmVzdG1lbnQgcHJvcGVydGllcyBvd25lZCBmb3IgYXQgbGVhc3Qgb25lIHllYXJcbiAgICAgIGNhc2UgdGhpcy5pc09uZVllYXJFeGVtcHRpb25BcHBsaWNhYmxlKHNhbGUpOlxuICAgICAgICByZXR1cm4gVGF4RXhlbXB0aW9uRW51bS5PTkVfWUVBUl9SVUxFO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFydGlhbENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgY29uc3QgbWV0YUZpZWxkczogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbiA9IG5ldyBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YUZpZWxkcyk7XG5cbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLklOVkVTVE1FTlRfVE9fUFBSOlxuICAgICAgICBjb25zdCBvd25lcnNoaXBEYXlzID0gdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlKTtcbiAgICAgICAgcmV0dXJuIChvd25lcnNoaXBEYXlzIC0gbWV0YUZpZWxkcy5nZXRQUFJEYXlzKCkpIC8gb3duZXJzaGlwRGF5cztcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIG1ldGFGaWVsZHMuZ2V0Q2xhaW1QZXJjZW50KCkgLyAxMDA7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdGF4IGV4ZW1wdGlvbiBjYW4gcmVkdWNlIGNndCBmcm9tIDEwMCUgdG8gbGVzcyAodXAgdG8gemVybylcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvblJhdGlvKHNhbGU6IFByb3BlcnR5U2FsZSk6IG51bWJlciB7XG4gICAgc3dpdGNoIChzYWxlLnRheEV4ZW1wdGlvbj8uaWQpIHtcbiAgICAgIC8vIDUwJSBleGVtcHRpb24gZm9yIGludmVzdG1lbnRzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU6XG4gICAgICAgIHJldHVybiAwLjU7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIHJldHVybiB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSkgPyAwLjUgOiAxO1xuICAgICAgLy8gZnVsbCBleGVtcHRpb25cbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uU0lYX1lFQVJTX1JVTEU6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uVFJBTlNGRVI6XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT1RIRVI6XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgLy8gbm8gZXhlbXB0aW9uXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogaW4gY2d0IHJlcG9ydCB3ZSBhcHBseSBsb3NzZXMsIHdoaWNoIGNhbiByZXNldCAxIHllYXIgcnVsZSAoaW4gY2FzZSBpZiB0aGVyZSBpcyBubyBwcm9maXQgYWZ0ZXIgbG9zcylcbiAgICovXG4gIGlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZTogUHJvcGVydHlTYWxlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbiA+IDAgJiYgdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlLCAneWVhcnMnKSA+IDA7XG4gIH1cblxuICAvKipcbiAgICogQ0dUIGlzIG5vdCBhcHBsaWNhYmxlIGZvciBwcm9wZXJ0aWVzIGFjcXVpcmVkIGJlZm9yZSAyMC4wOS4xOTg1ICh0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDQxMTA0NjYvVGF4K1JldHVybitNeVRheCstK09ubGluZStGb3JtIChcIkNhcGl0YWwgZ2FpbnMgb3IgbG9zc2VzXCIgc2VjdGlvbilcbiAgICovXG4gIGlzQ0dUQXBwbGljYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cmFjdERhdGUgPj0gUHJvcGVydHkucHJlQ0dUQXNzZXREYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIG93bmVyc2hpcCBkdXJhdGlvbiBmcm9tIHB1cmNoYXNlIHRpbGwgc2FsZVxuICAgKi9cbiAgZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZTogUHJvcGVydHlTYWxlLCB1bml0T2ZUaW1lOiB1bml0T2ZUaW1lLkRpZmYgPSAnZGF5cycpOiBudW1iZXIge1xuICAgIHJldHVybiBtb21lbnQoc2FsZS5jb250cmFjdERhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
;
|
|
2
1
|
import { plainToClass } from 'class-transformer';
|
|
3
2
|
/**
|
|
3
|
+
* @TODO vik/nicole test
|
|
4
4
|
* Report related to Property sales CGT details.
|
|
5
5
|
* All fields are about current year, except netCapitalLoss
|
|
6
6
|
*
|
|
@@ -8,10 +8,11 @@ import { plainToClass } from 'class-transformer';
|
|
|
8
8
|
export class MyTaxCgt {
|
|
9
9
|
static createFrom(propertySales, properties, clientCapitalLoss) {
|
|
10
10
|
return plainToClass(MyTaxCgt, {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
// @TODO vik losses should be applied
|
|
12
|
+
hasCapitalGain: !!propertySales.grossCapitalGain,
|
|
13
|
+
hasExemption: !!propertySales.grossCapitalGain && this.isCGTApplicable(propertySales, properties),
|
|
14
|
+
netCapitalGain: propertySales.sumBy('netCapitalGain'),
|
|
15
|
+
grossCapitalGain: propertySales.grossCapitalGain,
|
|
15
16
|
netCapitalLoss: clientCapitalLoss
|
|
16
17
|
});
|
|
17
18
|
}
|
|
@@ -23,4 +24,4 @@ export class MyTaxCgt {
|
|
|
23
24
|
return !sales.getCGTApplicable().length || !properties.getCGTApplicable().length;
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWNndC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtY2d0L215LXRheC1jZ3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFXbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUFxQyxFQUFFLFVBQThCLEVBQUUsaUJBQXlCO1FBQ2hILE9BQU8sWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUM1QixxQ0FBcUM7WUFDckMsY0FBYyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCO1lBQ2hELFlBQVksRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQztZQUNqRyxjQUFjLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztZQUNyRCxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsZ0JBQWdCO1lBQ2hELGNBQWMsRUFBRSxpQkFBaUI7U0FDbEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBNkIsRUFBRSxVQUE4QjtRQUNsRixPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ25GLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5Q29sbGVjdGlvbiwgUHJvcGVydHlTYWxlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLyoqXG4gKiBAVE9ETyB2aWsvbmljb2xlIHRlc3RcbiAqIFJlcG9ydCByZWxhdGVkIHRvIFByb3BlcnR5IHNhbGVzIENHVCBkZXRhaWxzLlxuICogQWxsIGZpZWxkcyBhcmUgYWJvdXQgY3VycmVudCB5ZWFyLCBleGNlcHQgbmV0Q2FwaXRhbExvc3NcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBNeVRheENndCB7XG4gIGhhc0NhcGl0YWxHYWluOiBib29sZWFuO1xuICBoYXNFeGVtcHRpb246IGJvb2xlYW47XG4gIG5ldENhcGl0YWxHYWluOiBudW1iZXI7XG4gIGdyb3NzQ2FwaXRhbEdhaW46IG51bWJlcjtcblxuICAvKipcbiAgICogTG9zcyBjb2xsZWN0ZWQgb3ZlciB0aGUgeWVhcnNcbiAgICovXG4gIG5ldENhcGl0YWxMb3NzOiBudW1iZXI7XG5cbiAgc3RhdGljIGNyZWF0ZUZyb20ocHJvcGVydHlTYWxlczogUHJvcGVydHlTYWxlQ29sbGVjdGlvbiwgcHJvcGVydGllczogUHJvcGVydHlDb2xsZWN0aW9uLCBjbGllbnRDYXBpdGFsTG9zczogbnVtYmVyKTogTXlUYXhDZ3Qge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoTXlUYXhDZ3QsIHtcbiAgICAgIC8vIEBUT0RPIHZpayBsb3NzZXMgc2hvdWxkIGJlIGFwcGxpZWRcbiAgICAgIGhhc0NhcGl0YWxHYWluOiAhIXByb3BlcnR5U2FsZXMuZ3Jvc3NDYXBpdGFsR2FpbixcbiAgICAgIGhhc0V4ZW1wdGlvbjogISFwcm9wZXJ0eVNhbGVzLmdyb3NzQ2FwaXRhbEdhaW4gJiYgdGhpcy5pc0NHVEFwcGxpY2FibGUocHJvcGVydHlTYWxlcywgcHJvcGVydGllcyksXG4gICAgICBuZXRDYXBpdGFsR2FpbjogcHJvcGVydHlTYWxlcy5zdW1CeSgnbmV0Q2FwaXRhbEdhaW4nKSxcbiAgICAgIGdyb3NzQ2FwaXRhbEdhaW46IHByb3BlcnR5U2FsZXMuZ3Jvc3NDYXBpdGFsR2FpbixcbiAgICAgIG5ldENhcGl0YWxMb3NzOiBjbGllbnRDYXBpdGFsTG9zc1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogRXhlbXB0aW9uIGlzIGFwcGxpY2FibGUgZm9yIFBQUiBzYWxlcyBhbmQgcHJvcGVydGllcyBhY3F1aXJlZCBiZWZvcmUgUHJvcGVydHkucHJlQ0dUQXNzZXREYXRlXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgc3RhdGljIGlzQ0dUQXBwbGljYWJsZShzYWxlczogUHJvcGVydHlTYWxlQ29sbGVjdGlvbiwgcHJvcGVydGllczogUHJvcGVydHlDb2xsZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFzYWxlcy5nZXRDR1RBcHBsaWNhYmxlKCkubGVuZ3RoIHx8ICFwcm9wZXJ0aWVzLmdldENHVEFwcGxpY2FibGUoKS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Occupation as OccupationBase } from '../../db/Models/
|
|
1
|
+
import { Occupation as OccupationBase } from '../../db/Models/client/occupation';
|
|
2
2
|
export class Occupation extends OccupationBase {
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjdXBhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci9vY2N1cGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLElBQUksY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakYsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0NBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2NjdXBhdGlvbiBhcyBPY2N1cGF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9jbGllbnQvb2NjdXBhdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBPY2N1cGF0aW9uIGV4dGVuZHMgT2NjdXBhdGlvbkJhc2Uge1xufVxuIl19
|
|
@@ -142,9 +142,9 @@ export class AccountSetupService {
|
|
|
142
142
|
}));
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
146
|
-
AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
145
|
+
AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", 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 });
|
|
146
|
+
AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, decorators: [{
|
|
148
148
|
type: Injectable,
|
|
149
149
|
args: [{
|
|
150
150
|
providedIn: 'root'
|
|
@@ -20,9 +20,9 @@ export class RewardfulService {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
24
|
-
RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
23
|
+
RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, providedIn: 'root' });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, decorators: [{
|
|
26
26
|
type: Injectable,
|
|
27
27
|
args: [{
|
|
28
28
|
providedIn: 'root'
|
|
@@ -37,9 +37,9 @@ export class AssetsService {
|
|
|
37
37
|
return this.http.delete(`${this.environment.apiV2}/${asset.entityType}/${entityId}/${asset.type}/${asset.id}`);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
41
|
-
AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
40
|
+
AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: i2.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
+
AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, providedIn: 'root' });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, decorators: [{
|
|
43
43
|
type: Injectable,
|
|
44
44
|
args: [{
|
|
45
45
|
providedIn: 'root'
|
|
@@ -48,9 +48,9 @@ export class AuthService {
|
|
|
48
48
|
location.replace(url);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
52
|
-
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
51
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: i3.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, decorators: [{
|
|
54
54
|
type: Injectable,
|
|
55
55
|
args: [{
|
|
56
56
|
providedIn: 'root'
|
|
@@ -31,9 +31,9 @@ export class JwtService extends JwtHelperService {
|
|
|
31
31
|
return this.getUser().id === userId;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
35
|
-
JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
34
|
+
JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, providedIn: 'root' });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, decorators: [{
|
|
37
37
|
type: Injectable,
|
|
38
38
|
args: [{
|
|
39
39
|
providedIn: 'root'
|
|
@@ -25,9 +25,9 @@ export class BankAccountCalculationService {
|
|
|
25
25
|
return bankAccounts.currentBalance - this.getTaxTankBalance(bankAccounts.getLoanAccounts(), bankTransactions, allocations);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
29
|
-
BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
28
|
+
BankAccountCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, deps: [{ token: i1.BankTransactionCalculationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
BankAccountCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountCalculationService, decorators: [{
|
|
31
31
|
type: Injectable,
|
|
32
32
|
args: [{
|
|
33
33
|
providedIn: 'root'
|
|
@@ -54,9 +54,9 @@ export class BankTransactionCalculationService {
|
|
|
54
54
|
return allocations.getByBankTransactionsIds(bankTransactions.debitTransactions.getIds()).amount;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
58
|
-
BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
57
|
+
BankTransactionCalculationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
BankTransactionCalculationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, providedIn: 'root' });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionCalculationService, decorators: [{
|
|
60
60
|
type: Injectable,
|
|
61
61
|
args: [{
|
|
62
62
|
providedIn: 'root'
|
|
@@ -30,9 +30,9 @@ export class EventDispatcherService {
|
|
|
30
30
|
this.eventSubject2.next(event);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
34
|
-
EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
33
|
+
EventDispatcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
EventDispatcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, providedIn: 'root' });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: EventDispatcherService, decorators: [{
|
|
36
36
|
type: Injectable,
|
|
37
37
|
args: [{
|
|
38
38
|
providedIn: 'root'
|
|
@@ -36,9 +36,9 @@ export class SseService {
|
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
40
|
-
SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
39
|
+
SseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, deps: [{ token: i0.NgZone }, { token: i1.JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
SseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, providedIn: 'root' });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SseService, decorators: [{
|
|
42
42
|
type: Injectable,
|
|
43
43
|
args: [{
|
|
44
44
|
providedIn: 'root'
|
|
@@ -20,9 +20,9 @@ export class ExportFormatterService {
|
|
|
20
20
|
}));
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
24
|
-
ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
23
|
+
ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1.CurrencyPipe }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
+
ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, decorators: [{
|
|
26
26
|
type: Injectable,
|
|
27
27
|
args: [{
|
|
28
28
|
providedIn: 'root'
|
|
@@ -17,9 +17,9 @@ export class HeaderTitleService {
|
|
|
17
17
|
}), filter((route) => route.outlet === 'primary'), mergeMap((route) => route.data));
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
21
|
-
HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
20
|
+
HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, decorators: [{
|
|
23
23
|
type: Injectable,
|
|
24
24
|
args: [{
|
|
25
25
|
providedIn: 'root'
|
|
@@ -25,9 +25,9 @@ export class AddressService {
|
|
|
25
25
|
return this.countriesSubject.asObservable();
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
29
|
-
AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
28
|
+
AddressService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
AddressService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AddressService, decorators: [{
|
|
31
31
|
type: Injectable,
|
|
32
32
|
args: [{
|
|
33
33
|
providedIn: 'root'
|
|
@@ -48,9 +48,9 @@ export class BankAccountService extends RestService {
|
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
52
|
-
BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
51
|
+
BankAccountService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
BankAccountService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, providedIn: 'root' });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankAccountService, decorators: [{
|
|
54
54
|
type: Injectable,
|
|
55
55
|
args: [{
|
|
56
56
|
providedIn: 'root'
|
|
@@ -93,9 +93,9 @@ BankConnectionService.userEventTypes = [
|
|
|
93
93
|
UserEventTypeTypeEnum.BASIQ_NEW_ACCOUNTS,
|
|
94
94
|
UserEventTypeTypeEnum.BASIQ_AUTHORIZATION_FAIL
|
|
95
95
|
];
|
|
96
|
-
BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
97
|
-
BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
96
|
+
BankConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
97
|
+
BankConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, providedIn: 'root' });
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankConnectionService, decorators: [{
|
|
99
99
|
type: Injectable,
|
|
100
100
|
args: [{
|
|
101
101
|
providedIn: 'root'
|
|
@@ -64,9 +64,9 @@ export class BankTransactionService extends RestService {
|
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
68
|
-
BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
67
|
+
BankTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
BankTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, providedIn: 'root' });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankTransactionService, decorators: [{
|
|
70
70
|
type: Injectable,
|
|
71
71
|
args: [{
|
|
72
72
|
providedIn: 'root'
|
|
@@ -25,9 +25,9 @@ export class BankService extends RestService {
|
|
|
25
25
|
}));
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
29
|
-
BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
28
|
+
BankService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
BankService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BankService, decorators: [{
|
|
31
31
|
type: Injectable,
|
|
32
32
|
args: [{
|
|
33
33
|
providedIn: 'root'
|
|
@@ -29,9 +29,9 @@ export class BasiqTokenService extends RestService {
|
|
|
29
29
|
return this.cacheSubject.asObservable();
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
33
|
-
BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
32
|
+
BasiqTokenService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
BasiqTokenService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, providedIn: 'root' });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenService, decorators: [{
|
|
35
35
|
type: Injectable,
|
|
36
36
|
args: [{
|
|
37
37
|
providedIn: 'root'
|
|
@@ -109,9 +109,9 @@ BasiqService.basiqApiUrl = 'https://au-api.basiq.io';
|
|
|
109
109
|
* Basiq does not provide a hook, so we have to check job status manually every x seconds
|
|
110
110
|
*/
|
|
111
111
|
BasiqService.bankCredintialsCheckInterval = 3000;
|
|
112
|
-
BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
113
|
-
BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
112
|
+
BasiqService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.BankConnectionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
113
|
+
BasiqService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, providedIn: 'root' });
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqService, decorators: [{
|
|
115
115
|
type: Injectable,
|
|
116
116
|
args: [{
|
|
117
117
|
providedIn: 'root'
|
|
@@ -16,9 +16,9 @@ export class ChartAccountsDepreciationService extends RestService {
|
|
|
16
16
|
this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
20
|
-
ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
19
|
+
ChartAccountsDepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
+
ChartAccountsDepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, providedIn: 'root' });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsDepreciationService, decorators: [{
|
|
22
22
|
type: Injectable,
|
|
23
23
|
args: [{
|
|
24
24
|
providedIn: 'root'
|
|
@@ -38,9 +38,9 @@ export class ChartAccountsService extends RestService {
|
|
|
38
38
|
}));
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
42
|
-
ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
41
|
+
ChartAccountsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
ChartAccountsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, providedIn: 'root' });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChartAccountsService, decorators: [{
|
|
44
44
|
type: Injectable,
|
|
45
45
|
args: [{
|
|
46
46
|
providedIn: 'root'
|
|
@@ -68,9 +68,9 @@ export class ChatService extends RestService {
|
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
72
|
-
ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
71
|
+
ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
72
|
+
ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, providedIn: 'root' });
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ChatService, decorators: [{
|
|
74
74
|
type: Injectable,
|
|
75
75
|
args: [{
|
|
76
76
|
providedIn: 'root'
|
|
@@ -67,9 +67,9 @@ export class MessageDocumentService extends RestService {
|
|
|
67
67
|
}));
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
71
|
-
MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
70
|
+
MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
71
|
+
MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: MessageDocumentService, decorators: [{
|
|
73
73
|
type: Injectable,
|
|
74
74
|
args: [{
|
|
75
75
|
providedIn: 'root'
|