taxtank-core 0.30.18 → 0.30.20
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/allocation-rule.collection.mjs +14 -1
- package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-category.enum.mjs +3 -1
- package/esm2020/lib/db/Enums/chart-accounts/chart-accounts-list.enum.mjs +3 -1
- package/esm2020/lib/db/Enums/holding/holding-type-category.enum.mjs +10 -0
- package/esm2020/lib/db/Enums/subscription/service-product-id.enum.mjs +2 -1
- package/esm2020/lib/db/Enums/tank-type.enum.mjs +2 -1
- package/esm2020/lib/db/Enums/user-roles.enum.mjs +2 -1
- package/esm2020/lib/db/Models/holding/holding-sale.mjs +3 -0
- package/esm2020/lib/db/Models/holding/holding-type.mjs +3 -0
- package/esm2020/lib/db/Models/holding/holding.mjs +3 -0
- package/esm2020/lib/db/Models/holding/index.mjs +4 -0
- package/esm2020/lib/db/Models/index.mjs +2 -1
- package/esm2020/lib/db/Models/transaction/transaction-base.mjs +14 -1
- package/esm2020/lib/forms/client/client-income-types.form.mjs +2 -2
- package/esm2020/lib/forms/report/my-tax/my-tax-income-statements.form.mjs +17 -1
- package/esm2020/lib/models/account-setup/account-setup-item.mjs +2 -2
- package/esm2020/lib/models/account-setup/account-setup-items.const.mjs +14 -4
- package/esm2020/lib/models/account-setup/account-setup-items.enum.mjs +2 -1
- package/esm2020/lib/models/chart-accounts/chart-accounts-categories.const.mjs +16 -2
- package/esm2020/lib/models/chart-accounts/chart-accounts.mjs +4 -1
- package/esm2020/lib/models/client/client-income-types.mjs +1 -15
- package/esm2020/lib/models/holding/holding-sale.mjs +10 -0
- package/esm2020/lib/models/holding/holding-type.mjs +10 -0
- package/esm2020/lib/models/holding/holding.mjs +27 -0
- package/esm2020/lib/models/holding/index.mjs +4 -0
- package/esm2020/lib/models/index.mjs +2 -1
- package/esm2020/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.mjs +10 -1
- package/esm2020/lib/models/service-subscription/service-product.mjs +4 -1
- package/esm2020/lib/models/transaction/allocation-rule-condition.mjs +32 -1
- package/esm2020/lib/models/transaction/allocation-rule-transaction.mjs +48 -9
- package/esm2020/lib/models/transaction/allocation-rule.mjs +64 -3
- package/esm2020/lib/models/transaction/transaction.mjs +5 -2
- package/esm2020/lib/models/user/user-roles.const.mjs +3 -1
- package/esm2020/lib/services/account-setup/account-setup.service.mjs +19 -14
- package/esm2020/lib/services/http/holding/holding-sale.service.mjs +27 -0
- package/esm2020/lib/services/http/holding/holding-type.service.mjs +27 -0
- package/esm2020/lib/services/http/holding/holding.service.mjs +27 -0
- package/esm2020/lib/services/http/holding/index.mjs +4 -0
- package/esm2020/lib/services/http/index.mjs +2 -1
- package/esm2020/lib/services/http/rest/rest.service.mjs +1 -1
- package/fesm2015/taxtank-core.mjs +363 -46
- package/fesm2015/taxtank-core.mjs.map +1 -1
- package/fesm2020/taxtank-core.mjs +362 -46
- package/fesm2020/taxtank-core.mjs.map +1 -1
- package/lib/collections/allocation-rule.collection.d.ts +8 -0
- package/lib/db/Enums/chart-accounts/chart-accounts-category.enum.d.ts +3 -1
- package/lib/db/Enums/chart-accounts/chart-accounts-list.enum.d.ts +3 -1
- package/lib/db/Enums/holding/holding-type-category.enum.d.ts +8 -0
- package/lib/db/Enums/subscription/service-product-id.enum.d.ts +2 -1
- package/lib/db/Enums/tank-type.enum.d.ts +2 -1
- package/lib/db/Enums/user-roles.enum.d.ts +1 -0
- package/lib/db/Models/holding/holding-sale.d.ts +12 -0
- package/lib/db/Models/holding/holding-type.d.ts +12 -0
- package/lib/db/Models/holding/holding.d.ts +16 -0
- package/lib/db/Models/holding/index.d.ts +3 -0
- package/lib/db/Models/index.d.ts +1 -0
- package/lib/db/Models/transaction/transaction-base.d.ts +1 -0
- package/lib/forms/report/my-tax/my-tax-income-statements.form.d.ts +2 -2
- package/lib/models/account-setup/account-setup-item.d.ts +1 -1
- package/lib/models/account-setup/account-setup-items.enum.d.ts +2 -1
- package/lib/models/chart-accounts/chart-accounts.d.ts +1 -0
- package/lib/models/client/client-income-types.d.ts +0 -9
- package/lib/models/holding/holding-sale.d.ts +12 -0
- package/lib/models/holding/holding-type.d.ts +12 -0
- package/lib/models/holding/holding.d.ts +17 -0
- package/lib/models/holding/index.d.ts +3 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.d.ts +4 -0
- package/lib/models/service-subscription/service-product.d.ts +1 -0
- package/lib/models/transaction/allocation-rule-condition.d.ts +4 -0
- package/lib/models/transaction/allocation-rule-transaction.d.ts +5 -1
- package/lib/models/transaction/allocation-rule.d.ts +19 -1
- package/lib/services/account-setup/account-setup.service.d.ts +3 -2
- package/lib/services/http/holding/holding-sale.service.d.ts +17 -0
- package/lib/services/http/holding/holding-type.service.d.ts +17 -0
- package/lib/services/http/holding/holding.service.d.ts +17 -0
- package/lib/services/http/holding/index.d.ts +3 -0
- package/lib/services/http/index.d.ts +1 -0
- package/lib/services/http/rest/rest.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -202,6 +202,9 @@ export class ChartAccounts extends ChartAccountsBase {
|
|
|
202
202
|
isTaxable() {
|
|
203
203
|
return !this.isNRAS() && this.isWorkIncome();
|
|
204
204
|
}
|
|
205
|
+
isTransfer() {
|
|
206
|
+
return this.id === ChartAccountsListEnum.TRANSFER;
|
|
207
|
+
}
|
|
205
208
|
}
|
|
206
209
|
/**
|
|
207
210
|
* Australian GST percent value (VAT)
|
|
@@ -221,4 +224,4 @@ __decorate([
|
|
|
221
224
|
Transform(() => null, { toPlainOnly: true }),
|
|
222
225
|
Expose()
|
|
223
226
|
], ChartAccounts.prototype, "values", void 0);
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUNMLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLG1DQUFtQyxFQUNyRiwrQkFBK0IsRUFBRSxxQ0FBcUMsRUFBRSxtQ0FBbUMsRUFDM0csNEJBQTRCLEVBQzdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFN0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFtQmxEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJ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QXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hELENBQUM7O0FBaFBEOztHQUVHO0FBQ0ksc0JBQVEsR0FBRyxHQUFHLENBQUM7QUFDZiw0QkFBYyxHQUFHLEdBQUcsQ0FBQztBQUNyQix3QkFBVSxHQUFHLEVBQUUsQ0FBQztBQUd2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs4Q0FDSDtBQUc5QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpREFDRTtBQUszQjtJQUhULElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztJQUM5QixTQUFTLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDNUMsTUFBTSxFQUFFOzZDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXJ0QWNjb3VudHMgYXMgQ2hhcnRBY2NvdW50c0Jhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xyXG5pbXBvcnQgeyBUeXBlLCBUcmFuc2Zvcm0sIEV4cG9zZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcclxuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmcgfSBmcm9tICcuL2NoYXJ0LWFjY291bnRzLWhlYWRpbmcnO1xyXG5pbXBvcnQgeyBDaGFydEFjY291bnRzTWV0YUZpZWxkIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1tZXRhLWZpZWxkJztcclxuaW1wb3J0IHtcclxuICBDaGFydEFjY291bnRzTGlzdEVudW0sIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sIENoYXJ0QWNjb3VudHNIZWFkaW5nVmVoaWNsZUxpc3RFbnVtLFxyXG4gIENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4YWJsZUVudW0sIENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0sIENoYXJ0QWNjb3VudHNTYWxhcnlJbmNsdWRlZExpc3RFbnVtLFxyXG4gIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW1cclxufSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XHJcbmltcG9ydCB7IENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuL2NoYXJ0LWFjY291bnRzLWNhdGVnb3JpZXMuY29uc3QnO1xyXG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XHJcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNWYWx1ZSB9IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtdmFsdWUnO1xyXG5pbXBvcnQge0NoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtfSBmcm9tICcuL2NoYXJ0LWFjY291bnRzLXRheC1sYWJlbHMuZW51bSc7XHJcbmltcG9ydCB7ZW51bVRvTGlzdH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2VudW0tdG8tbGlzdCc7XHJcbmltcG9ydCB7IENIQVJUX0FDQ09VTlRTX1ZBTFVFUyB9IGZyb20gJy4uLy4uL2RiLXN0YXRpYy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy12YWx1ZXMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIENoYXJ0QWNjb3VudHMgZXh0ZW5kcyBDaGFydEFjY291bnRzQmFzZSB7XHJcbiAgLyoqXHJcbiAgICogQXVzdHJhbGlhbiBHU1QgcGVyY2VudCB2YWx1ZSAoVkFUKVxyXG4gICAqL1xyXG4gIHN0YXRpYyBHU1RSYXRpbyA9IDAuMTtcclxuICBzdGF0aWMgR1NUQ29lZmZpY2llbnQgPSAxLjE7XHJcbiAgc3RhdGljIEdTVFBlcmNlbnQgPSAxMDtcclxuXHJcbiAgQFR5cGUoKCkgPT4gQ2hhcnRBY2NvdW50c0hlYWRpbmcpXHJcbiAgaGVhZGluZzogQ2hhcnRBY2NvdW50c0hlYWRpbmc7XHJcblxyXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHNNZXRhRmllbGQpXHJcbiAgbWV0YUZpZWxkczogQ2hhcnRBY2NvdW50c01ldGFGaWVsZFtdO1xyXG5cclxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzVmFsdWUpXHJcbiAgQFRyYW5zZm9ybSgoe29ian0pID0+IENIQVJUX0FDQ09VTlRTX1ZBTFVFUy5nZXQob2JqLmlkKS50b0FycmF5KCksIHsgdG9DbGFzc09ubHk6IHRydWUgfSlcclxuICBAVHJhbnNmb3JtKCgpID0+IG51bGwsIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcclxuICBARXhwb3NlKCkgdmFsdWVzOiBDaGFydEFjY291bnRzVmFsdWVbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIG5hbWUgYXMgc3RyaW5nXHJcbiAgICovXHJcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5hbWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnS21zIHRyYXZlbGxlZCBmb3Igd29yaycgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ttc0ZvcldvcmsoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEX0ZPUl9XT1JLO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ0ttcyB0cmF2ZWxsZWQgZm9yIHNvbGUnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNLbXNGb3JTb2xlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yIEtNcyBjYXRlZ29yeSByZWxhdGVkIHRvIHBhc3NlZCB0YW5rIHR5cGVcclxuICAgKi9cclxuICBpc0tNc0J5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IGJvb2xlYW4ge1xyXG4gICAgc3dpdGNoICh0YW5rVHlwZSkge1xyXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5XT1JLOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmlzS21zRm9yV29yaygpO1xyXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmlzS21zRm9yU29sZSgpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHNwZWNpYWwgdHlwZSB1c2VkIGZvciBqdXN0IHByZS1wYXlpbmcgdGF4IHRvIHRoZSBBVE8sIHVzZXMgb24gdGF4IHN1bW1hcnlcclxuICAgKi9cclxuICBpc05SQVMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlRBWF9PRkZTRVRTX05fUl9BX1M7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnSW50ZXJlc3Qgb24gTG9hbicgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ludGVyZXN0T25Mb2FuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9PTl9MT0FOO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ01vdG9yIFZlaGljbGVzJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzVmVoaWNsZXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlZFSElDTEVTO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ0ludGVyZXN0IEVhcm5lZCcgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0ludGVyZXN0RWFybmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9FQVJORUQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnVHJ1c3QgSW5jb21lJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzVHJ1c3RJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlRSVVNUX0lOQ09NRTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdNb3RvciB2ZWhpY2xlcyAoY29tbWVyY2lhbCBjYXJzKScgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc0NvbW1lcmNpYWxWZWhpY2xlcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uQ09NTUVSQ0lBTF9WRUhJQ0xFUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlzIHdvcmsgaW5jb21lXHJcbiAgICovXHJcbiAgaXNXb3JrSW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19JTkNPTUU7XHJcbiAgfVxyXG5cclxuICBpc1ZlaGljbGVFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhQ2hhcnRBY2NvdW50c0hlYWRpbmdWZWhpY2xlTGlzdEVudW1bdGhpcy5oZWFkaW5nPy5pZF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpcyBvdGhlciBpbmNvbWVcclxuICAgKi9cclxuICBpc090aGVySW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgaXNJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5pbmNvbWUuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5leHBlbnNlLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9wZXJ0eSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnByb3BlcnR5LmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNXb3JrRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBbQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0VYUEVOU0UsIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uT1RIRVJfRVhQRU5TRSwgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5XT1JLX0RFUFJFQ0lBVElPTl1cclxuICAgICAgLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNTb2xlRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBbQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5TT0xFX0VYUEVOU0UsIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9ERVBSRUNJQVRJT05dXHJcbiAgICAgIC5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlzIHByb3BlcnR5IGV4cGVuc2VcclxuICAgKi9cclxuICBpc1Byb3BlcnR5RXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUHJvcGVydHkoKSAmJiB0aGlzLmlzRXhwZW5zZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgcHJvcGVydHkgaW5jb21lXHJcbiAgICovXHJcbiAgaXNQcm9wZXJ0eUluY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBST1BFUlRZX0lOQ09NRTtcclxuICB9XHJcblxyXG4gIGlzUGVyc29uYWwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wZXJzb25hbC5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIGlzUGVyc29uYWxFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUEVSU09OQUxfRVhQRU5TRTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGNhdGVnb3J5IGlzIGRlcHJlY2lhdGlvblxyXG4gICAqL1xyXG4gIGlzRGVwcmVjaWF0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZGVwcmVjaWF0aW9uLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gY2hhcnQgYWNjb3VudCBpcyB3b3JrIHJlbGF0ZWQgY2FyIGV4cGVuc2VzXHJcbiAgICovXHJcbiAgaXNWZWhpY2xlTG9hbkV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlZFSElDTEVfTE9BTl9JTlRFUkVTVCB8fCB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVkVISUNMRV9MT0FOX1BSSU5DSVBBTDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBjaGFydCBhY2NvdW50cyB2YWx1ZSBmb3IgY3VycmVudCBmaW5hbmNpYWwgeWVhclxyXG4gICAqL1xyXG4gIGdldEN1cnJlbnRZZWFyVmFsdWUoKTogQ2hhcnRBY2NvdW50c1ZhbHVlIHtcclxuICAgIHJldHVybiB0aGlzLmdldFZhbHVlQnlZZWFyKG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY2hhcnQgYWNjb3VudHMgdmFsdWUgYnkgZmluYW5jaWFsIHllYXJcclxuICAgKi9cclxuICBnZXRWYWx1ZUJ5WWVhcih5ZWFyOiBudW1iZXIpOiBDaGFydEFjY291bnRzVmFsdWUge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmZpbmQoKHZhbHVlOiBDaGFydEFjY291bnRzVmFsdWUpOiBib29sZWFuID0+IHZhbHVlLmZpbmFuY2lhbFllYXIgPT09IHllYXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbm8gd2F5IHRvIGNoZWNrIGhvdyBtdWNoIHVzZWQgZm9yIHdvcmsvc29sZSwgc28gd2UgbGV0IHVzZXIgYWRqdXN0IGl0XHJcbiAgICogZXhjZXB0IHZlaGljbGUgZXhwZW5zZSwgd2hpY2ggaXMgZXF1YWwgdG8gdmVoaWNsZUNsYWltLndvcmtVc2FnZSBhbmQgcGVyc29uYWwsIHdoaWNoIGlzIGVxdWFsIHRvIDBcclxuICAgKi9cclxuICBpc0NsYWltUGVyY2VudEVkaXRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0aGlzLmlzV29ya0V4cGVuc2UoKSB8fCB0aGlzLmlzU29sZUV4cGVuc2UoKSkgJiYgKCF0aGlzLmlzVmVoaWNsZUV4cGVuc2UoKSAmJiAhdGhpcy5pc1BlcnNvbmFsRXhwZW5zZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGdldCBsYWJlbCBmb3IgdHJhbnNhY3Rpb24gdGF4IGZpZWxkIGRlcGVuZGVkIG9uIHNlbGVjdGVkIGNoYXJ0IGFjY291bnQuXHJcbiAgICogdGF4IHR5cGUgZGVwZW5kcyBvbiBjaGFydCBhY2NvdW50IGhlYWRpbmcgb3IgY2F0ZWdvcnkuXHJcbiAgICovXHJcbiAgZ2V0VGF4TGFiZWwoKTogQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0ge1xyXG4gICAgLy8gZ2V0IHNpbXBsZSBhcnJheSBvZiBpZHMgZnJvbSBlbnVtIHdpdGggdGF4YWJsZSBjaGFydCBhY2NvdW50cyBoZWFkaW5nc1xyXG4gICAgY29uc3QgdGF4YWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtKVxyXG4gICAgICAubWFwKChpdGVtOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIgfSkgPT4gaXRlbS52YWx1ZSk7XHJcbiAgICAvLyBnZXQgc2ltcGxlIGFycmF5IG9mIGlkcyBmcm9tIGVudW0gd2l0aCB0YXgtZGVkdWN0aWJsZSBjaGFydCBhY2NvdW50cyBoZWFkaW5nc1xyXG4gICAgY29uc3QgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtKVxyXG4gICAgICAubWFwKChpdGVtOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIgfSkgPT4gaXRlbS52YWx1ZSk7XHJcblxyXG4gICAgLy8gY2hlY2sgaWYgb25lIG9mIGlkcyBhcnJheXMgaW5jbHVkZXMgY3VycmVudCBjaGFydCBhY2NvdW50cyBoZWFkaW5nIGlkIGFuZCBzZXQgdGF4IGxhYmVsXHJcbiAgICAvLyBvdGhlcndpc2UgbGFiZWwgaXMgZW1wdHkgZm9yIHRoaXMgY2xhc3NcclxuICAgIHN3aXRjaCAodHJ1ZSkge1xyXG4gICAgICBjYXNlIHRheGFibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKHRoaXMuaGVhZGluZz8uaWQpOlxyXG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfUEFJRDtcclxuICAgICAgY2FzZSBkZWR1Y3RpYmxlQ0FIZWFkaW5nc0lkcy5pbmNsdWRlcyh0aGlzLmhlYWRpbmc/LmlkKTpcclxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX0RFRFVDVEVEO1xyXG4gICAgICBjYXNlIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29ya0luY29tZS5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTpcclxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX1dJVEhIRUxEO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNFVFAoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkaW5nLmlkID09PSBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLkVUUFxyXG4gIH1cclxuXHJcbiAgaXNTYWxhcnkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlNBTEFSWV9PUl9XQUdFUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGNoYXJ0IGFjY291bnRzIGluY2x1ZGVkIGluIHNhbGFyeSwgbGlrZSB0aXBzIG9yIGFsbG93YW5jZVxyXG4gICAqL1xyXG4gIGlzU2FsYXJ5SW5jbHVkZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCBpbiBDaGFydEFjY291bnRzU2FsYXJ5SW5jbHVkZWRMaXN0RW51bTtcclxuICB9XHJcblxyXG4gIGlzUHJvcGVydHlDYXBpdGFsV29ya3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9DQVBJVEFMX1dPUktTXHJcbiAgfVxyXG5cclxuICBpc1RheGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gICF0aGlzLmlzTlJBUygpICYmIHRoaXMuaXNXb3JrSW5jb21lKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUNMLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLG1DQUFtQyxFQUNyRiwrQkFBK0IsRUFBRSxxQ0FBcUMsRUFBRSxtQ0FBbUMsRUFDM0csNEJBQTRCLEVBQzdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFN0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFtQmxEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUsscUJBQXFCLENBQUMsY0FBYyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxRQUFzQjtRQUNwQyxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QjtnQkFDRSxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUsscUJBQXFCLENBQUMsbUJBQW1CLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUsscUJBQXFCLENBQUMsUUFBUSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxxQkFBcUIsQ0FBQyxlQUFlLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxxQkFBcUIsQ0FBQyxZQUFZLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLHlCQUF5QixDQUFDLFdBQVcsQ0FBQztJQUNqRSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxDQUFDLENBQUMsbUNBQW1DLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLHlCQUF5QixDQUFDLFlBQVksQ0FBQztJQUNsRSxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8seUJBQXlCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUMsYUFBYSxFQUFFLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDO2FBQ2xJLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUMseUJBQXlCLENBQUMsWUFBWSxFQUFFLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDO2FBQ3pGLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyx5QkFBeUIsQ0FBQyxlQUFlLENBQUM7SUFDckUsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUsseUJBQXlCLENBQUMsZ0JBQWdCLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLE9BQU8seUJBQXlCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxxQkFBcUIsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO0lBQzdILENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsSUFBWTtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBeUIsRUFBVyxFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsc0JBQXNCO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULHlFQUF5RTtRQUN6RSxNQUFNLG9CQUFvQixHQUFhLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQzthQUMvRSxHQUFHLENBQUMsQ0FBQyxJQUFzQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsZ0ZBQWdGO1FBQ2hGLE1BQU0sdUJBQXVCLEdBQWEsVUFBVSxDQUFDLHFDQUFxQyxDQUFDO2FBQ3hGLEdBQUcsQ0FBQyxDQUFDLElBQXNDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvRCwwRkFBMEY7UUFDMUYsMENBQTBDO1FBQzFDLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ2xELE9BQU8sMEJBQTBCLENBQUMsUUFBUSxDQUFDO1lBQzdDLEtBQUssdUJBQXVCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUNyRCxPQUFPLDBCQUEwQixDQUFDLFlBQVksQ0FBQztZQUNqRCxLQUFLLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDL0QsT0FBTywwQkFBMEIsQ0FBQyxZQUFZLENBQUM7WUFDakQ7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyw0QkFBNEIsQ0FBQyxHQUFHLENBQUE7SUFDN0QsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUsscUJBQXFCLENBQUMsZUFBZSxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLEVBQUUsSUFBSSxtQ0FBbUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztJQUNwRCxDQUFDOztBQXBQRDs7R0FFRztBQUNJLHNCQUFRLEdBQUcsR0FBRyxDQUFDO0FBQ2YsNEJBQWMsR0FBRyxHQUFHLENBQUM7QUFDckIsd0JBQVUsR0FBRyxFQUFFLENBQUM7QUFHdkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7OENBQ0g7QUFHOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aURBQ0U7QUFLM0I7SUFIVCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDOUIsU0FBUyxDQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN4RixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzVDLE1BQU0sRUFBRTs2Q0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydEFjY291bnRzIGFzIENoYXJ0QWNjb3VudHNCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcclxuaW1wb3J0IHsgVHlwZSwgVHJhbnNmb3JtLCBFeHBvc2UgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XHJcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1oZWFkaW5nJztcclxuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c01ldGFGaWVsZCB9IGZyb20gJy4vY2hhcnQtYWNjb3VudHMtbWV0YS1maWVsZCc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLCBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bSxcclxuICBDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtLCBDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtLCBDaGFydEFjY291bnRzU2FsYXJ5SW5jbHVkZWRMaXN0RW51bSxcclxuICBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtXHJcbn0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xyXG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTIH0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy1jYXRlZ29yaWVzLmNvbnN0JztcclxuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xyXG5pbXBvcnQgeyBDaGFydEFjY291bnRzVmFsdWUgfSBmcm9tICcuL2NoYXJ0LWFjY291bnRzLXZhbHVlJztcclxuaW1wb3J0IHtDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bX0gZnJvbSAnLi9jaGFydC1hY2NvdW50cy10YXgtbGFiZWxzLmVudW0nO1xyXG5pbXBvcnQge2VudW1Ub0xpc3R9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9lbnVtLXRvLWxpc3QnO1xyXG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19WQUxVRVMgfSBmcm9tICcuLi8uLi9kYi1zdGF0aWMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtdmFsdWVzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDaGFydEFjY291bnRzIGV4dGVuZHMgQ2hhcnRBY2NvdW50c0Jhc2Uge1xyXG4gIC8qKlxyXG4gICAqIEF1c3RyYWxpYW4gR1NUIHBlcmNlbnQgdmFsdWUgKFZBVClcclxuICAgKi9cclxuICBzdGF0aWMgR1NUUmF0aW8gPSAwLjE7XHJcbiAgc3RhdGljIEdTVENvZWZmaWNpZW50ID0gMS4xO1xyXG4gIHN0YXRpYyBHU1RQZXJjZW50ID0gMTA7XHJcblxyXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHNIZWFkaW5nKVxyXG4gIGhlYWRpbmc6IENoYXJ0QWNjb3VudHNIZWFkaW5nO1xyXG5cclxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzTWV0YUZpZWxkKVxyXG4gIG1ldGFGaWVsZHM6IENoYXJ0QWNjb3VudHNNZXRhRmllbGRbXTtcclxuXHJcbiAgQFR5cGUoKCkgPT4gQ2hhcnRBY2NvdW50c1ZhbHVlKVxyXG4gIEBUcmFuc2Zvcm0oKHtvYmp9KSA9PiBDSEFSVF9BQ0NPVU5UU19WQUxVRVMuZ2V0KG9iai5pZCkudG9BcnJheSgpLCB7IHRvQ2xhc3NPbmx5OiB0cnVlIH0pXHJcbiAgQFRyYW5zZm9ybSgoKSA9PiBudWxsLCB7IHRvUGxhaW5Pbmx5OiB0cnVlIH0pXHJcbiAgQEV4cG9zZSgpIHZhbHVlczogQ2hhcnRBY2NvdW50c1ZhbHVlW107XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBuYW1lIGFzIHN0cmluZ1xyXG4gICAqL1xyXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ0ttcyB0cmF2ZWxsZWQgZm9yIHdvcmsnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNLbXNGb3JXb3JrKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdLbXMgdHJhdmVsbGVkIGZvciBzb2xlJyBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGlzS21zRm9yU29sZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uS0xNU19UUkFWRUxMRUQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciBLTXMgY2F0ZWdvcnkgcmVsYXRlZCB0byBwYXNzZWQgdGFuayB0eXBlXHJcbiAgICovXHJcbiAgaXNLTXNCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiBib29sZWFuIHtcclxuICAgIHN3aXRjaCAodGFua1R5cGUpIHtcclxuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0ttc0ZvcldvcmsoKTtcclxuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0ttc0ZvclNvbGUoKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBzcGVjaWFsIHR5cGUgdXNlZCBmb3IganVzdCBwcmUtcGF5aW5nIHRheCB0byB0aGUgQVRPLCB1c2VzIG9uIHRheCBzdW1tYXJ5XHJcbiAgICovXHJcbiAgaXNOUkFTKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5UQVhfT0ZGU0VUU19OX1JfQV9TO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ0ludGVyZXN0IG9uIExvYW4nIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNJbnRlcmVzdE9uTG9hbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uSU5URVJFU1RfT05fTE9BTjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdNb3RvciBWZWhpY2xlcycgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc1ZlaGljbGVzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5WRUhJQ0xFUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlkIGlzIHJlbGF0ZWQgZm9yICdJbnRlcmVzdCBFYXJuZWQnIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNJbnRlcmVzdEVhcm5lZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uSU5URVJFU1RfRUFSTkVEO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaWQgaXMgcmVsYXRlZCBmb3IgJ1RydXN0IEluY29tZScgY2F0ZWdvcnlcclxuICAgKi9cclxuICBpc1RydXN0SW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5UUlVTVF9JTkNPTUU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpZCBpcyByZWxhdGVkIGZvciAnTW90b3IgdmVoaWNsZXMgKGNvbW1lcmNpYWwgY2FycyknIGNhdGVnb3J5XHJcbiAgICovXHJcbiAgaXNDb21tZXJjaWFsVmVoaWNsZXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkNPTU1FUkNJQUxfVkVISUNMRVM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpcyB3b3JrIGluY29tZVxyXG4gICAqL1xyXG4gIGlzV29ya0luY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLldPUktfSU5DT01FO1xyXG4gIH1cclxuXHJcbiAgaXNWZWhpY2xlRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIUNoYXJ0QWNjb3VudHNIZWFkaW5nVmVoaWNsZUxpc3RFbnVtW3RoaXMuaGVhZGluZz8uaWRdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgY2hhcnQgYWNjb3VudHMgaXMgb3RoZXIgaW5jb21lXHJcbiAgICovXHJcbiAgaXNPdGhlckluY29tZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0lOQ09NRTtcclxuICB9XHJcblxyXG4gIGlzSW5jb21lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuaW5jb21lLmluY2x1ZGVzKHRoaXMuY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgaXNFeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZXhwZW5zZS5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIGlzUHJvcGVydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eS5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIGlzV29ya0V4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gW0NoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19FWFBFTlNFLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLk9USEVSX0VYUEVOU0UsIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uV09SS19ERVBSRUNJQVRJT05dXHJcbiAgICAgIC5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIGlzU29sZUV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gW0NoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uU09MRV9FWFBFTlNFLCBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlNPTEVfREVQUkVDSUFUSU9OXVxyXG4gICAgICAuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBpcyBwcm9wZXJ0eSBleHBlbnNlXHJcbiAgICovXHJcbiAgaXNQcm9wZXJ0eUV4cGVuc2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1Byb3BlcnR5KCkgJiYgdGhpcy5pc0V4cGVuc2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGNoYXJ0IGFjY291bnRzIGlzIHByb3BlcnR5IGluY29tZVxyXG4gICAqL1xyXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYXRlZ29yeSA9PT0gQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bS5QUk9QRVJUWV9JTkNPTUU7XHJcbiAgfVxyXG5cclxuICBpc1BlcnNvbmFsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucGVyc29uYWwuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk7XHJcbiAgfVxyXG5cclxuICBpc1BlcnNvbmFsRXhwZW5zZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNhdGVnb3J5ID09PSBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtLlBFUlNPTkFMX0VYUEVOU0U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjaGFydCBhY2NvdW50cyBjYXRlZ29yeSBpcyBkZXByZWNpYXRpb25cclxuICAgKi9cclxuICBpc0RlcHJlY2lhdGlvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLmRlcHJlY2lhdGlvbi5pbmNsdWRlcyh0aGlzLmNhdGVnb3J5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIGNoYXJ0IGFjY291bnQgaXMgd29yayByZWxhdGVkIGNhciBleHBlbnNlc1xyXG4gICAqL1xyXG4gIGlzVmVoaWNsZUxvYW5FeHBlbnNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5WRUhJQ0xFX0xPQU5fSU5URVJFU1QgfHwgdGhpcy5pZCA9PT0gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlZFSElDTEVfTE9BTl9QUklOQ0lQQUw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgY2hhcnQgYWNjb3VudHMgdmFsdWUgZm9yIGN1cnJlbnQgZmluYW5jaWFsIHllYXJcclxuICAgKi9cclxuICBnZXRDdXJyZW50WWVhclZhbHVlKCk6IENoYXJ0QWNjb3VudHNWYWx1ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZUJ5WWVhcihuZXcgRmluYW5jaWFsWWVhcigpLnllYXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGNoYXJ0IGFjY291bnRzIHZhbHVlIGJ5IGZpbmFuY2lhbCB5ZWFyXHJcbiAgICovXHJcbiAgZ2V0VmFsdWVCeVllYXIoeWVhcjogbnVtYmVyKTogQ2hhcnRBY2NvdW50c1ZhbHVlIHtcclxuICAgIHJldHVybiB0aGlzLnZhbHVlcy5maW5kKCh2YWx1ZTogQ2hhcnRBY2NvdW50c1ZhbHVlKTogYm9vbGVhbiA9PiB2YWx1ZS5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG5vIHdheSB0byBjaGVjayBob3cgbXVjaCB1c2VkIGZvciB3b3JrL3NvbGUsIHNvIHdlIGxldCB1c2VyIGFkanVzdCBpdFxyXG4gICAqIGV4Y2VwdCB2ZWhpY2xlIGV4cGVuc2UsIHdoaWNoIGlzIGVxdWFsIHRvIHZlaGljbGVDbGFpbS53b3JrVXNhZ2UgYW5kIHBlcnNvbmFsLCB3aGljaCBpcyBlcXVhbCB0byAwXHJcbiAgICovXHJcbiAgaXNDbGFpbVBlcmNlbnRFZGl0YWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy5pc1dvcmtFeHBlbnNlKCkgfHwgdGhpcy5pc1NvbGVFeHBlbnNlKCkpICYmICghdGhpcy5pc1ZlaGljbGVFeHBlbnNlKCkgJiYgIXRoaXMuaXNQZXJzb25hbEV4cGVuc2UoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBnZXQgbGFiZWwgZm9yIHRyYW5zYWN0aW9uIHRheCBmaWVsZCBkZXBlbmRlZCBvbiBzZWxlY3RlZCBjaGFydCBhY2NvdW50LlxyXG4gICAqIHRheCB0eXBlIGRlcGVuZHMgb24gY2hhcnQgYWNjb3VudCBoZWFkaW5nIG9yIGNhdGVnb3J5LlxyXG4gICAqL1xyXG4gIGdldFRheExhYmVsKCk6IENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtIHtcclxuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheGFibGUgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3NcclxuICAgIGNvbnN0IHRheGFibGVDQUhlYWRpbmdzSWRzOiBudW1iZXJbXSA9IGVudW1Ub0xpc3QoQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhhYmxlRW51bSlcclxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xyXG4gICAgLy8gZ2V0IHNpbXBsZSBhcnJheSBvZiBpZHMgZnJvbSBlbnVtIHdpdGggdGF4LWRlZHVjdGlibGUgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3NcclxuICAgIGNvbnN0IGRlZHVjdGlibGVDQUhlYWRpbmdzSWRzOiBudW1iZXJbXSA9IGVudW1Ub0xpc3QoQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhEZWR1Y3RpYmxlRW51bSlcclxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xyXG5cclxuICAgIC8vIGNoZWNrIGlmIG9uZSBvZiBpZHMgYXJyYXlzIGluY2x1ZGVzIGN1cnJlbnQgY2hhcnQgYWNjb3VudHMgaGVhZGluZyBpZCBhbmQgc2V0IHRheCBsYWJlbFxyXG4gICAgLy8gb3RoZXJ3aXNlIGxhYmVsIGlzIGVtcHR5IGZvciB0aGlzIGNsYXNzXHJcbiAgICBzd2l0Y2ggKHRydWUpIHtcclxuICAgICAgY2FzZSB0YXhhYmxlQ0FIZWFkaW5nc0lkcy5pbmNsdWRlcyh0aGlzLmhlYWRpbmc/LmlkKTpcclxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX1BBSUQ7XHJcbiAgICAgIGNhc2UgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHMuaW5jbHVkZXModGhpcy5oZWFkaW5nPy5pZCk6XHJcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9ERURVQ1RFRDtcclxuICAgICAgY2FzZSBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcmtJbmNvbWUuaW5jbHVkZXModGhpcy5jYXRlZ29yeSk6XHJcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9XSVRISEVMRDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRVRQKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaGVhZGluZy5pZCA9PT0gQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5FVFBcclxuICB9XHJcblxyXG4gIGlzU2FsYXJ5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5TQUxBUllfT1JfV0FHRVM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBjaGFydCBhY2NvdW50cyBpbmNsdWRlZCBpbiBzYWxhcnksIGxpa2UgdGlwcyBvciBhbGxvd2FuY2VcclxuICAgKi9cclxuICBpc1NhbGFyeUluY2x1ZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaWQgaW4gQ2hhcnRBY2NvdW50c1NhbGFyeUluY2x1ZGVkTGlzdEVudW07XHJcbiAgfVxyXG5cclxuICBpc1Byb3BlcnR5Q2FwaXRhbFdvcmtzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnkgPT09IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0uUFJPUEVSVFlfQ0FQSVRBTF9XT1JLU1xyXG4gIH1cclxuXHJcbiAgaXNUYXhhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICAhdGhpcy5pc05SQVMoKSAmJiB0aGlzLmlzV29ya0luY29tZSgpO1xyXG4gIH1cclxuXHJcbiAgaXNUcmFuc2ZlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uVFJBTlNGRVI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,18 +1,4 @@
|
|
|
1
1
|
import { ClientIncomeTypes as ClientIncomeTypesBase } from '../../db/Models/user/client-income-types';
|
|
2
2
|
export class ClientIncomeTypes extends ClientIncomeTypesBase {
|
|
3
|
-
constructor() {
|
|
4
|
-
super(...arguments);
|
|
5
|
-
this.salary = false;
|
|
6
|
-
this.property = false;
|
|
7
|
-
this.sole = false;
|
|
8
|
-
this.dividends = false;
|
|
9
|
-
this.other = false;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Get count of selected income types
|
|
13
|
-
*/
|
|
14
|
-
get length() {
|
|
15
|
-
return Object.values(this).filter((value) => typeof value === 'boolean' && value).length;
|
|
16
|
-
}
|
|
17
3
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWluY29tZS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixJQUFJLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFdEcsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUFxQjtDQUMzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudEluY29tZVR5cGVzIGFzIENsaWVudEluY29tZVR5cGVzQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy91c2VyL2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQ2xpZW50SW5jb21lVHlwZXMgZXh0ZW5kcyBDbGllbnRJbmNvbWVUeXBlc0Jhc2Uge1xufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Type } from 'class-transformer';
|
|
3
|
+
import { AppFile } from '../file';
|
|
4
|
+
import { AbstractModel } from '../../db/Models';
|
|
5
|
+
export class HoldingSale extends AbstractModel {
|
|
6
|
+
}
|
|
7
|
+
__decorate([
|
|
8
|
+
Type(() => AppFile)
|
|
9
|
+
], HoldingSale.prototype, "file", void 0);
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1zYWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctc2FsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxXQUFZLFNBQVEsYUFBYTtDQVU3QztBQURDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzt5Q0FDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge0hvbGRpbmd9IGZyb20gJy4vaG9sZGluZyc7XG5pbXBvcnQge0FwcEZpbGV9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1NhbGUgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsIHtcbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgcHJpY2U6IG51bWJlcjtcbiAgZmVlOiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG4gIHByb2ZpdDogbnVtYmVyO1xuICBob2xkaW5nPzogSG9sZGluZztcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Type } from 'class-transformer';
|
|
3
|
+
import { User } from '../user';
|
|
4
|
+
import { AbstractModel } from '../../db/Models';
|
|
5
|
+
export class HoldingType extends AbstractModel {
|
|
6
|
+
}
|
|
7
|
+
__decorate([
|
|
8
|
+
Type(() => User)
|
|
9
|
+
], HoldingType.prototype, "user", void 0);
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9ob2xkaW5nL2hvbGRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDN0IsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxXQUFZLFNBQVEsYUFBYTtDQVU3QztBQURDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge0hvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9ob2xkaW5nL2hvbGRpbmctdHlwZS1jYXRlZ29yeS5lbnVtJztcbmltcG9ydCB7VXNlcn0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nVHlwZSBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICBjYXRlZ29yeTogSG9sZGluZ1R5cGVDYXRlZ29yeUVudW07XG4gIG5hbWU6IHN0cmluZztcbiAgdGlja2VyOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHByaWNlOiBudW1iZXI7XG4gIGRpdmlkZW5kUGVyY2VudDogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Type, Transform } from 'class-transformer';
|
|
3
|
+
import { User } from '../user';
|
|
4
|
+
import { HoldingType } from './holding-type';
|
|
5
|
+
import { AppFile } from '../file';
|
|
6
|
+
import { HoldingSale } from './holding-sale';
|
|
7
|
+
import { Collection } from '../../collections';
|
|
8
|
+
import { AbstractModel } from '../../db/Models';
|
|
9
|
+
export class Holding extends AbstractModel {
|
|
10
|
+
}
|
|
11
|
+
__decorate([
|
|
12
|
+
Type(() => Date)
|
|
13
|
+
], Holding.prototype, "date", void 0);
|
|
14
|
+
__decorate([
|
|
15
|
+
Type(() => User)
|
|
16
|
+
], Holding.prototype, "user", void 0);
|
|
17
|
+
__decorate([
|
|
18
|
+
Type(() => HoldingType)
|
|
19
|
+
], Holding.prototype, "type", void 0);
|
|
20
|
+
__decorate([
|
|
21
|
+
Type(() => AppFile)
|
|
22
|
+
], Holding.prototype, "file", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
Type(() => HoldingSale),
|
|
25
|
+
Transform(({ value }) => new Collection(value))
|
|
26
|
+
], Holding.prototype, "sales", void 0);
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDN0IsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsTUFBTSxPQUFPLE9BQVEsU0FBUSxhQUFhO0NBc0J6QztBQWxCQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7cUNBQ047QUFPWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7cUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7cUNBQ047QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3FDQUNOO0FBSWQ7SUFGQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3ZCLFNBQVMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFjLEtBQUssQ0FBQyxDQUFDO3NDQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUsIFRyYW5zZm9ybSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7VXNlcn0gZnJvbSAnLi4vdXNlcic7XG5pbXBvcnQge0hvbGRpbmdUeXBlfSBmcm9tICcuL2hvbGRpbmctdHlwZSc7XG5pbXBvcnQge0FwcEZpbGV9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHtIb2xkaW5nU2FsZX0gZnJvbSAnLi9ob2xkaW5nLXNhbGUnO1xuaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGlzVGF4RnJlZTogYm9vbGVhbjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIHF1YW50aXR5OiBudW1iZXI7XG4gIHByaWNlOiBudW1iZXI7XG4gIGZlZTogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG5cbiAgQFR5cGUoKCkgPT4gSG9sZGluZ1R5cGUpXG4gIHR5cGU6IEhvbGRpbmdUeXBlO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgQFR5cGUoKCkgPT4gSG9sZGluZ1NhbGUpXG4gIEBUcmFuc2Zvcm0oKHt2YWx1ZX0pID0+IG5ldyBDb2xsZWN0aW9uPEhvbGRpbmdTYWxlPih2YWx1ZSkpXG4gIHNhbGVzOiBDb2xsZWN0aW9uPEhvbGRpbmdTYWxlPjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './holding';
|
|
2
|
+
export * from './holding-type';
|
|
3
|
+
export * from './holding-sale';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2hvbGRpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy1zYWxlJztcbiJdfQ==
|
|
@@ -17,4 +17,5 @@ export * from './document';
|
|
|
17
17
|
export * from './property';
|
|
18
18
|
export * from './transaction';
|
|
19
19
|
export * from './user';
|
|
20
|
-
|
|
20
|
+
export * from './holding';
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vYmFuayc7XG5leHBvcnQgKiBmcm9tICcuL2JvcnJvd2luZy1leHBlbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYWNjb3VudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vZGVwcmVjaWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZGljdGlvbmFyeSc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmFuY2lhbC15ZWFyJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hbic7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5JztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZyc7XG4iXX0=
|
package/esm2020/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.mjs
CHANGED
|
@@ -61,6 +61,15 @@ export class MyTaxIncomeStatements {
|
|
|
61
61
|
.get(ChartAccountsListEnum.ATTRIBUTABLE_PSI).sumBy('grossAmount');
|
|
62
62
|
this.attributablePsiTransactionsTotalTax = this.transactionsByChartAccounts
|
|
63
63
|
.get(ChartAccountsListEnum.ATTRIBUTABLE_PSI).sumBy('tax');
|
|
64
|
+
this.fhssTransactionsTotalAmount = this.transactionsByChartAccounts
|
|
65
|
+
.get(ChartAccountsListEnum.FHSS).sumBy('grossAmount');
|
|
66
|
+
this.fhssTransactionsTotalTax = this.transactionsByChartAccounts
|
|
67
|
+
.get(ChartAccountsListEnum.FHSS).sumBy('tax');
|
|
68
|
+
// Australian Government Special Payments
|
|
69
|
+
this.australianSpecialPaymentsTotalAmount = this.transactionsByChartAccounts
|
|
70
|
+
.get(ChartAccountsListEnum.AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS).sumBy('grossAmount');
|
|
71
|
+
this.australianSpecialPaymentsTotalTax = this.transactionsByChartAccounts
|
|
72
|
+
.get(ChartAccountsListEnum.AUSTRALIAN_GOVERNMENT_SPECIAL_PAYMENTS).sumBy('tax');
|
|
64
73
|
}
|
|
65
74
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWluY29tZS1zdGF0ZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9yZXBvcnQvbXktdGF4L215LXRheC1pbmNvbWUtc3RhdGVtZW50cy9teS10YXgtaW5jb21lLXN0YXRlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLHFDQUFxQyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEksTUFBTSxPQUFPLHFCQUFxQjtJQTZCaEMsWUFDRSxZQUFtQztRQUVuQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFNUYsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQywyQkFBMkI7YUFDckUsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQzthQUMxQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLG1DQUFtQzthQUMxRSxHQUFHLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDO2FBQ3JDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQywrQ0FBK0MsR0FBRyxJQUFJLENBQUMsbUNBQW1DO2FBQzVGLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyx1QkFBdUIsQ0FBQzthQUNsRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG1DQUFtQzthQUNqRSxHQUFHLENBQUMsNEJBQTRCLENBQUMsc0NBQXNDLENBQUM7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QyxDQUFDO1FBQ2xGLElBQUksQ0FBQyx5Q0FBeUMsR0FBRyxJQUFJLENBQUMsMkJBQTJCO2FBQzlFLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMscUNBQXFDLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQztZQUNsRixxQkFBcUIsQ0FBQywrQ0FBK0M7WUFDckUscUJBQXFCLENBQUMsMENBQTBDO1NBQ2pFLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUM7WUFDcEYscUJBQXFCLENBQUMsK0NBQStDO1lBQ3JFLHFCQUFxQixDQUFDLDBDQUEwQztTQUNqRSxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLHNDQUFzQyxHQUFHLElBQUksQ0FBQywyQkFBMkI7YUFDM0UsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxJQUFJLENBQUMsMkJBQTJCO2FBQ3hFLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0sIENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0sIENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5cbmV4cG9ydCBjbGFzcyBNeVRheEluY29tZVN0YXRlbWVudHMge1xuICB0cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHM6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQ29sbGVjdGlvbj47XG4gIHRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c0hlYWRpbmdzOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+O1xuXG4gIHNhbGFyeVRyYW5zYWN0aW9uc0J5SW5jb21lU291cmNlOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+O1xuICBldHBUcmFuc2FjdGlvbnNCeUluY29tZVNvdXJjZTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPjtcbiAgc3VwZXJhbm51YXRpb25MdW1wU3VtVHJhbnNhY3Rpb25zQnlJbmNvbWVTb3VyY2U6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQ29sbGVjdGlvbj47XG5cbiAgYWxsb3dhbmNlVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgYWxsb3dhbmNlVG90YWxUYXg6IG51bWJlcjtcbiAgbHVtcEFUcmFuc2FjdGlvbnNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBsdW1wQVRyYW5zYWN0aW9uc1RvdGFsVGF4OiBudW1iZXI7XG4gIGhhc0dlbnVpbmVMdW1wQVRyYW5zYWN0aW9uczogYm9vbGVhbjtcbiAgaGFzT3RoZXJMdW1wQVRyYW5zYWN0aW9uczogYm9vbGVhbjtcbiAgbHVtcEJUcmFuc2FjdGlvbnNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBsdW1wQlRyYW5zYWN0aW9uc1RvdGFsVGF4OiBudW1iZXI7XG4gIGF1c3RyYWxpYW5BbGxvd2FuY2VzQW5kUGF5bWVudHNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBhdXN0cmFsaWFuQWxsb3dhbmNlc0FuZFBheW1lbnRzVG90YWxUYXg6IG51bWJlcjtcbiAgYXVzdHJhbGlhblBlbnNpb25zQW5kQWxsb3dhbmNlc1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIGF1c3RyYWxpYW5QZW5zaW9uc0FuZEFsbG93YW5jZXNUb3RhbFRheDogbnVtYmVyO1xuICBhdXN0cmFsaWFuQW5udWl0aWVzU3VwZXJhbm51YXRpb25JbmNvbWVzVG90YWxUYXg6IG51bWJlcjtcbiAgYXVzdHJhbGlhbkFubnVpdHlQYXltZW50c1RheGVkOiBudW1iZXI7XG4gIGF1c3RyYWxpYW5Bbm51aXR5UGF5bWVudHNVbnRheGVkOiBudW1iZXI7XG4gIGFzc2Vzc2FibGVDYXBwZWREZWZpbmVkQmVuZWZpdFRvdGFsQW1vdW50OiBudW1iZXI7XG4gIHN1cGVyYW5udWF0aW9uSW5jb21lU3RyZWFtc1RvdGFsVGF4ZWQ6IG51bWJlcjtcbiAgc3VwZXJhbm51YXRpb25JbmNvbWVTdHJlYW1zVG90YWxVbnRheGVkOiBudW1iZXI7XG4gIGF0dHJpYnV0YWJsZVBzaVRyYW5zYWN0aW9uc1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIGF0dHJpYnV0YWJsZVBzaVRyYW5zYWN0aW9uc1RvdGFsVGF4OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb25cbiAgKSB7XG4gICAgdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMgPSB0cmFuc2FjdGlvbnMuZ3JvdXBCeSgnY2hhcnRBY2NvdW50cy5pZCcpO1xuICAgIHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzSGVhZGluZ3MgPSB0cmFuc2FjdGlvbnMuZ3JvdXBCeSgnY2hhcnRBY2NvdW50cy5oZWFkaW5nLmlkJyk7XG5cbiAgICB0aGlzLnNhbGFyeVRyYW5zYWN0aW9uc0J5SW5jb21lU291cmNlID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLlNBTEFSWV9PUl9XQUdFUylcbiAgICAgIC5ncm91cEJ5KCdpbmNvbWVTb3VyY2UubmFtZScpO1xuXG4gICAgdGhpcy5ldHBUcmFuc2FjdGlvbnNCeUluY29tZVNvdXJjZSA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzSGVhZGluZ3NcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5FVFApXG4gICAgICAuZ3JvdXBCeSgnaW5jb21lU291cmNlLm5hbWUnKTtcblxuICAgIHRoaXMuc3VwZXJhbm51YXRpb25MdW1wU3VtVHJhbnNhY3Rpb25zQnlJbmNvbWVTb3VyY2UgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c0hlYWRpbmdzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0uU1VQRVJBTk5VQVRJT05fTFVNUF9TVU0pXG4gICAgICAuZ3JvdXBCeSgnaW5jb21lU291cmNlLm5hbWUnKTtcblxuICAgIHRoaXMuYWxsb3dhbmNlVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c0hlYWRpbmdzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uQUxMT1dBTkNFU19FQVJOSU5HU19USVBTX0RJUkVDVE9SX0ZFRVMpXG4gICAgICAuc3VtQnkoJ2dyb3NzQW1vdW50Jyk7XG5cbiAgICB0aGlzLmFsbG93YW5jZVRvdGFsVGF4ID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNIZWFkaW5nc1xuICAgICAgLmdldChDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLkFMTE9XQU5DRVNfRUFSTklOR1NfVElQU19ESVJFQ1RPUl9GRUVTKVxuICAgICAgLnN1bUJ5KCd0YXgnKTtcblxuICAgIHRoaXMubHVtcEFUcmFuc2FjdGlvbnNUb3RhbEFtb3VudCA9XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkxVTVBfU1VNX0FfR0VOVUlORV9SRURVTkRBTkNZKS5zdW1CeSgnY2xhaW1BbW91bnQnKSArXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkxVTVBfU1VNX0FfQUxMX09USEVSX1BBWU1FTlRTKS5zdW1CeSgnY2xhaW1BbW91bnQnKTtcblxuICAgIHRoaXMubHVtcEFUcmFuc2FjdGlvbnNUb3RhbFRheCA9XG4gICAgICB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkxVTVBfU1VNX0FfR0VOVUlORV9SRURVTkRBTkNZKS5zdW1CeSgndGF4JykgK1xuICAgICAgdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5MVU1QX1NVTV9BX0FMTF9PVEhFUl9QQVlNRU5UUykuc3VtQnkoJ3RheCcpO1xuXG4gICAgdGhpcy5oYXNHZW51aW5lTHVtcEFUcmFuc2FjdGlvbnMgPSAhIXRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uTFVNUF9TVU1fQV9HRU5VSU5FX1JFRFVOREFOQ1kpLmxlbmd0aDtcbiAgICB0aGlzLmhhc090aGVyTHVtcEFUcmFuc2FjdGlvbnMgPSAhIXRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uTFVNUF9TVU1fQV9BTExfT1RIRVJfUEFZTUVOVFMpLmxlbmd0aDtcbiAgICB0aGlzLmx1bXBCVHJhbnNhY3Rpb25zVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkxVTVBfU1VNX0IpLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMubHVtcEJUcmFuc2FjdGlvbnNUb3RhbFRheCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uTFVNUF9TVU1fQikuc3VtQnkoJ3RheCcpO1xuICAgIHRoaXMuYXVzdHJhbGlhbkFsbG93YW5jZXNBbmRQYXltZW50c1RvdGFsQW1vdW50ID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNIZWFkaW5nc1xuICAgICAgLmdldChDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLkFVU1RSQUxJQU5fR09WRVJOTUVOVF9BTExPV0FOQ0VTX1BBWU1FTlRTKVxuICAgICAgLnN1bUJ5KCdncm9zc0Ftb3VudCcpO1xuICAgIHRoaXMuYXVzdHJhbGlhbkFsbG93YW5jZXNBbmRQYXltZW50c1RvdGFsVGF4ID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNIZWFkaW5nc1xuICAgICAgLmdldChDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLkFVU1RSQUxJQU5fR09WRVJOTUVOVF9BTExPV0FOQ0VTX1BBWU1FTlRTKVxuICAgICAgLnN1bUJ5KCd0YXgnKTtcbiAgICB0aGlzLmF1c3RyYWxpYW5QZW5zaW9uc0FuZEFsbG93YW5jZXNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzSGVhZGluZ3NcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5BVVNUUkFMSUFOX0dPVkVSTk1FTlRfUEVOU0lPTlNfQUxMT1dBTkNFUylcbiAgICAgIC5zdW1CeSgnZ3Jvc3NBbW91bnQnKTtcbiAgICB0aGlzLmF1c3RyYWxpYW5QZW5zaW9uc0FuZEFsbG93YW5jZXNUb3RhbFRheCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzSGVhZGluZ3NcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5BVVNUUkFMSUFOX0dPVkVSTk1FTlRfUEVOU0lPTlNfQUxMT1dBTkNFUylcbiAgICAgIC5zdW1CeSgndGF4Jyk7XG4gICAgdGhpcy5hdXN0cmFsaWFuQW5udWl0aWVzU3VwZXJhbm51YXRpb25JbmNvbWVzVG90YWxUYXggPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c0hlYWRpbmdzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0uQU5OVUlUSUVTX0FORF9TVVBFUkFOTlVBVElPTl9JTkNPTUVfU1RSRUFNUylcbiAgICAgIC5zdW1CeSgndGF4Jyk7XG4gICAgdGhpcy5hdXN0cmFsaWFuQW5udWl0eVBheW1lbnRzVGF4ZWQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c1xuICAgICAgLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uQVVTVFJBTElBTl9BTk5VSVRZX1BBWU1FTlRTKS5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLmF1c3RyYWxpYW5Bbm51aXR5UGF5bWVudHNVbnRheGVkID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkFVU1RSQUxJQU5fQU5OVUlUWV9QQVlNRU5UUykuc3VtQnkoJ3VudGF4ZWRFbGVtZW50Jyk7XG4gICAgdGhpcy5hc3Nlc3NhYmxlQ2FwcGVkRGVmaW5lZEJlbmVmaXRUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5BU1NFU1NBQkxFX0FNT1VOVF9DQVBQRURfREVGSU5FRF9CRU5FRklUKS5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLnN1cGVyYW5udWF0aW9uSW5jb21lU3RyZWFtc1RvdGFsVGF4ZWQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5tZXJnZShbXG4gICAgICBDaGFydEFjY291bnRzTGlzdEVudW0uQ09ERV9CX1NVUEVSQU5OVUFUSU9OX0lOQ09NRV9TVFJFQU1TX0RJU0FCSUxJVFksXG4gICAgICBDaGFydEFjY291bnRzTGlzdEVudW0uQ09ERV9BX1NVUEVSQU5OVUFUSU9OX0lOQ09NRV9TVFJFQU1TX0RFQVRIXG4gICAgXSkuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5zdXBlcmFubnVhdGlvbkluY29tZVN0cmVhbXNUb3RhbFVudGF4ZWQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5tZXJnZShbXG4gICAgICBDaGFydEFjY291bnRzTGlzdEVudW0uQ09ERV9CX1NVUEVSQU5OVUFUSU9OX0lOQ09NRV9TVFJFQU1TX0RJU0FCSUxJVFksXG4gICAgICBDaGFydEFjY291bnRzTGlzdEVudW0uQ09ERV9BX1NVUEVSQU5OVUFUSU9OX0lOQ09NRV9TVFJFQU1TX0RFQVRIXG4gICAgXSkuc3VtQnkoJ3VudGF4ZWRFbGVtZW50Jyk7XG4gICAgdGhpcy5hdHRyaWJ1dGFibGVQc2lUcmFuc2FjdGlvbnNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5BVFRSSUJVVEFCTEVfUFNJKS5zdW1CeSgnZ3Jvc3NBbW91bnQnKTtcbiAgICB0aGlzLmF0dHJpYnV0YWJsZVBzaVRyYW5zYWN0aW9uc1RvdGFsVGF4ID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkFUVFJJQlVUQUJMRV9QU0kpLnN1bUJ5KCd0YXgnKTtcbiAgfVxufVxuIl19
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWluY29tZS1zdGF0ZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9yZXBvcnQvbXktdGF4L215LXRheC1pbmNvbWUtc3RhdGVtZW50cy9teS10YXgtaW5jb21lLXN0YXRlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLHFDQUFxQyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEksTUFBTSxPQUFPLHFCQUFxQjtJQWtDaEMsWUFDRSxZQUFtQztRQUVuQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFNUYsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQywyQkFBMkI7YUFDckUsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQzthQUMxQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLG1DQUFtQzthQUMxRSxHQUFHLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDO2FBQ3JDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQywrQ0FBK0MsR0FBRyxJQUFJLENBQUMsbUNBQW1DO2FBQzVGLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyx1QkFBdUIsQ0FBQzthQUNsRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG1DQUFtQzthQUNqRSxHQUFHLENBQUMsNEJBQTRCLENBQUMsc0NBQXNDLENBQUM7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LElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxJQUFJLENBQUMsMkJBQTJCO2FBQ3pFLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDLDJCQUEyQjthQUN0RSxHQUFHLENBQUMscUJBQXFCLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLCBDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLCBDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuXG5leHBvcnQgY2xhc3MgTXlUYXhJbmNvbWVTdGF0ZW1lbnRzIHtcbiAgdHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+O1xuICB0cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNIZWFkaW5nczogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPjtcblxuICBzYWxhcnlUcmFuc2FjdGlvbnNCeUluY29tZVNvdXJjZTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8VHJhbnNhY3Rpb25Db2xsZWN0aW9uPjtcbiAgZXRwVHJhbnNhY3Rpb25zQnlJbmNvbWVTb3VyY2U6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQ29sbGVjdGlvbj47XG4gIHN1cGVyYW5udWF0aW9uTHVtcFN1bVRyYW5zYWN0aW9uc0J5SW5jb21lU291cmNlOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+O1xuXG4gIGFsbG93YW5jZVRvdGFsQW1vdW50OiBudW1iZXI7XG4gIGFsbG93YW5jZVRvdGFsVGF4OiBudW1iZXI7XG4gIGx1bXBBVHJhbnNhY3Rpb25zVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgbHVtcEFUcmFuc2FjdGlvbnNUb3RhbFRheDogbnVtYmVyO1xuICBoYXNHZW51aW5lTHVtcEFUcmFuc2FjdGlvbnM6IGJvb2xlYW47XG4gIGhhc090aGVyTHVtcEFUcmFuc2FjdGlvbnM6IGJvb2xlYW47XG4gIGx1bXBCVHJhbnNhY3Rpb25zVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgbHVtcEJUcmFuc2FjdGlvbnNUb3RhbFRheDogbnVtYmVyO1xuICBhdXN0cmFsaWFuQWxsb3dhbmNlc0FuZFBheW1lbnRzVG90YWxBbW91bnQ6IG51bWJlcjtcbiAgYXVzdHJhbGlhbkFsbG93YW5jZXNBbmRQYXltZW50c1RvdGFsVGF4OiBudW1iZXI7XG4gIGF1c3RyYWxpYW5QZW5zaW9uc0FuZEFsbG93YW5jZXNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBhdXN0cmFsaWFuUGVuc2lvbnNBbmRBbGxvd2FuY2VzVG90YWxUYXg6IG51bWJlcjtcbiAgYXVzdHJhbGlhbkFubnVpdGllc1N1cGVyYW5udWF0aW9uSW5jb21lc1RvdGFsVGF4OiBudW1iZXI7XG4gIGF1c3RyYWxpYW5Bbm51aXR5UGF5bWVudHNUYXhlZDogbnVtYmVyO1xuICBhdXN0cmFsaWFuQW5udWl0eVBheW1lbnRzVW50YXhlZDogbnVtYmVyO1xuICBhc3Nlc3NhYmxlQ2FwcGVkRGVmaW5lZEJlbmVmaXRUb3RhbEFtb3VudDogbnVtYmVyO1xuICBzdXBlcmFubnVhdGlvbkluY29tZVN0cmVhbXNUb3RhbFRheGVkOiBudW1iZXI7XG4gIHN1cGVyYW5udWF0aW9uSW5jb21lU3RyZWFtc1RvdGFsVW50YXhlZDogbnVtYmVyO1xuICBhdHRyaWJ1dGFibGVQc2lUcmFuc2FjdGlvbnNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBhdHRyaWJ1dGFibGVQc2lUcmFuc2FjdGlvbnNUb3RhbFRheDogbnVtYmVyO1xuICAvLyBGaXJzdCBob21lIHN1cGVyIHNhdmVyXG4gIGZoc3NUcmFuc2FjdGlvbnNUb3RhbEFtb3VudDogbnVtYmVyO1xuICBmaHNzVHJhbnNhY3Rpb25zVG90YWxUYXg6IG51bWJlcjtcbiAgYXVzdHJhbGlhblNwZWNpYWxQYXltZW50c1RvdGFsQW1vdW50OiBudW1iZXI7XG4gIGF1c3RyYWxpYW5TcGVjaWFsUGF5bWVudHNUb3RhbFRheDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uXG4gICkge1xuICAgIHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzID0gdHJhbnNhY3Rpb25zLmdyb3VwQnkoJ2NoYXJ0QWNjb3VudHMuaWQnKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c0hlYWRpbmdzID0gdHJhbnNhY3Rpb25zLmdyb3VwQnkoJ2NoYXJ0QWNjb3VudHMuaGVhZGluZy5pZCcpO1xuXG4gICAgdGhpcy5zYWxhcnlUcmFuc2FjdGlvbnNCeUluY29tZVNvdXJjZSA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5TQUxBUllfT1JfV0FHRVMpXG4gICAgICAuZ3JvdXBCeSgnaW5jb21lU291cmNlLm5hbWUnKTtcblxuICAgIHRoaXMuZXRwVHJhbnNhY3Rpb25zQnlJbmNvbWVTb3VyY2UgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c0hlYWRpbmdzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uRVRQKVxuICAgICAgLmdyb3VwQnkoJ2luY29tZVNvdXJjZS5uYW1lJyk7XG5cbiAgICB0aGlzLnN1cGVyYW5udWF0aW9uTHVtcFN1bVRyYW5zYWN0aW9uc0J5SW5jb21lU291cmNlID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNIZWFkaW5nc1xuICAgICAgLmdldChDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtLlNVUEVSQU5OVUFUSU9OX0xVTVBfU1VNKVxuICAgICAgLmdyb3VwQnkoJ2luY29tZVNvdXJjZS5uYW1lJyk7XG5cbiAgICB0aGlzLmFsbG93YW5jZVRvdGFsQW1vdW50ID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNIZWFkaW5nc1xuICAgICAgLmdldChDaGFydEFjY291bnRzSGVhZGluZ0xpc3RFbnVtLkFMTE9XQU5DRVNfRUFSTklOR1NfVElQU19ESVJFQ1RPUl9GRUVTKVxuICAgICAgLnN1bUJ5KCdncm9zc0Ftb3VudCcpO1xuXG4gICAgdGhpcy5hbGxvd2FuY2VUb3RhbFRheCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzSGVhZGluZ3NcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5BTExPV0FOQ0VTX0VBUk5JTkdTX1RJUFNfRElSRUNUT1JfRkVFUylcbiAgICAgIC5zdW1CeSgndGF4Jyk7XG5cbiAgICB0aGlzLmx1bXBBVHJhbnNhY3Rpb25zVG90YWxBbW91bnQgPVxuICAgICAgdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5MVU1QX1NVTV9BX0dFTlVJTkVfUkVEVU5EQU5DWSkuc3VtQnkoJ2NsYWltQW1vdW50JykgK1xuICAgICAgdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5MVU1QX1NVTV9BX0FMTF9PVEhFUl9QQVlNRU5UUykuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG5cbiAgICB0aGlzLmx1bXBBVHJhbnNhY3Rpb25zVG90YWxUYXggPVxuICAgICAgdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5MVU1QX1NVTV9BX0dFTlVJTkVfUkVEVU5EQU5DWSkuc3VtQnkoJ3RheCcpICtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uTFVNUF9TVU1fQV9BTExfT1RIRVJfUEFZTUVOVFMpLnN1bUJ5KCd0YXgnKTtcblxuICAgIHRoaXMuaGFzR2VudWluZUx1bXBBVHJhbnNhY3Rpb25zID0gISF0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkxVTVBfU1VNX0FfR0VOVUlORV9SRURVTkRBTkNZKS5sZW5ndGg7XG4gICAgdGhpcy5oYXNPdGhlckx1bXBBVHJhbnNhY3Rpb25zID0gISF0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkxVTVBfU1VNX0FfQUxMX09USEVSX1BBWU1FTlRTKS5sZW5ndGg7XG4gICAgdGhpcy5sdW1wQlRyYW5zYWN0aW9uc1RvdGFsQW1vdW50ID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5MVU1QX1NVTV9CKS5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLmx1bXBCVHJhbnNhY3Rpb25zVG90YWxUYXggPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50cy5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkxVTVBfU1VNX0IpLnN1bUJ5KCd0YXgnKTtcbiAgICB0aGlzLmF1c3RyYWxpYW5BbGxvd2FuY2VzQW5kUGF5bWVudHNUb3RhbEFtb3VudCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzSGVhZGluZ3NcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5BVVNUUkFMSUFOX0dPVkVSTk1FTlRfQUxMT1dBTkNFU19QQVlNRU5UUylcbiAgICAgIC5zdW1CeSgnZ3Jvc3NBbW91bnQnKTtcbiAgICB0aGlzLmF1c3RyYWxpYW5BbGxvd2FuY2VzQW5kUGF5bWVudHNUb3RhbFRheCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzSGVhZGluZ3NcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0hlYWRpbmdMaXN0RW51bS5BVVNUUkFMSUFOX0dPVkVSTk1FTlRfQUxMT1dBTkNFU19QQVlNRU5UUylcbiAgICAgIC5zdW1CeSgndGF4Jyk7XG4gICAgdGhpcy5hdXN0cmFsaWFuUGVuc2lvbnNBbmRBbGxvd2FuY2VzVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c0hlYWRpbmdzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uQVVTVFJBTElBTl9HT1ZFUk5NRU5UX1BFTlNJT05TX0FMTE9XQU5DRVMpXG4gICAgICAuc3VtQnkoJ2dyb3NzQW1vdW50Jyk7XG4gICAgdGhpcy5hdXN0cmFsaWFuUGVuc2lvbnNBbmRBbGxvd2FuY2VzVG90YWxUYXggPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c0hlYWRpbmdzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNIZWFkaW5nTGlzdEVudW0uQVVTVFJBTElBTl9HT1ZFUk5NRU5UX1BFTlNJT05TX0FMTE9XQU5DRVMpXG4gICAgICAuc3VtQnkoJ3RheCcpO1xuICAgIHRoaXMuYXVzdHJhbGlhbkFubnVpdGllc1N1cGVyYW5udWF0aW9uSW5jb21lc1RvdGFsVGF4ID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNIZWFkaW5nc1xuICAgICAgLmdldChDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtLkFOTlVJVElFU19BTkRfU1VQRVJBTk5VQVRJT05fSU5DT01FX1NUUkVBTVMpXG4gICAgICAuc3VtQnkoJ3RheCcpO1xuICAgIHRoaXMuYXVzdHJhbGlhbkFubnVpdHlQYXltZW50c1RheGVkID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkFVU1RSQUxJQU5fQU5OVUlUWV9QQVlNRU5UUykuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5hdXN0cmFsaWFuQW5udWl0eVBheW1lbnRzVW50YXhlZCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5BVVNUUkFMSUFOX0FOTlVJVFlfUEFZTUVOVFMpLnN1bUJ5KCd1bnRheGVkRWxlbWVudCcpO1xuICAgIHRoaXMuYXNzZXNzYWJsZUNhcHBlZERlZmluZWRCZW5lZml0VG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c1xuICAgICAgLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uQVNTRVNTQUJMRV9BTU9VTlRfQ0FQUEVEX0RFRklORURfQkVORUZJVCkuc3VtQnkoJ2NsYWltQW1vdW50Jyk7XG4gICAgdGhpcy5zdXBlcmFubnVhdGlvbkluY29tZVN0cmVhbXNUb3RhbFRheGVkID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMubWVyZ2UoW1xuICAgICAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkNPREVfQl9TVVBFUkFOTlVBVElPTl9JTkNPTUVfU1RSRUFNU19ESVNBQklMSVRZLFxuICAgICAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkNPREVfQV9TVVBFUkFOTlVBVElPTl9JTkNPTUVfU1RSRUFNU19ERUFUSFxuICAgIF0pLnN1bUJ5KCdjbGFpbUFtb3VudCcpO1xuICAgIHRoaXMuc3VwZXJhbm51YXRpb25JbmNvbWVTdHJlYW1zVG90YWxVbnRheGVkID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHMubWVyZ2UoW1xuICAgICAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkNPREVfQl9TVVBFUkFOTlVBVElPTl9JTkNPTUVfU1RSRUFNU19ESVNBQklMSVRZLFxuICAgICAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkNPREVfQV9TVVBFUkFOTlVBVElPTl9JTkNPTUVfU1RSRUFNU19ERUFUSFxuICAgIF0pLnN1bUJ5KCd1bnRheGVkRWxlbWVudCcpO1xuICAgIHRoaXMuYXR0cmlidXRhYmxlUHNpVHJhbnNhY3Rpb25zVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c1xuICAgICAgLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uQVRUUklCVVRBQkxFX1BTSSkuc3VtQnkoJ2dyb3NzQW1vdW50Jyk7XG4gICAgdGhpcy5hdHRyaWJ1dGFibGVQc2lUcmFuc2FjdGlvbnNUb3RhbFRheCA9IHRoaXMudHJhbnNhY3Rpb25zQnlDaGFydEFjY291bnRzXG4gICAgICAuZ2V0KENoYXJ0QWNjb3VudHNMaXN0RW51bS5BVFRSSUJVVEFCTEVfUFNJKS5zdW1CeSgndGF4Jyk7XG4gICAgdGhpcy5maHNzVHJhbnNhY3Rpb25zVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c1xuICAgICAgLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uRkhTUykuc3VtQnkoJ2dyb3NzQW1vdW50Jyk7XG4gICAgdGhpcy5maHNzVHJhbnNhY3Rpb25zVG90YWxUYXggPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c1xuICAgICAgLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uRkhTUykuc3VtQnkoJ3RheCcpO1xuICAgIC8vIEF1c3RyYWxpYW4gR292ZXJubWVudCBTcGVjaWFsIFBheW1lbnRzXG4gICAgdGhpcy5hdXN0cmFsaWFuU3BlY2lhbFBheW1lbnRzVG90YWxBbW91bnQgPSB0aGlzLnRyYW5zYWN0aW9uc0J5Q2hhcnRBY2NvdW50c1xuICAgICAgLmdldChDaGFydEFjY291bnRzTGlzdEVudW0uQVVTVFJBTElBTl9HT1ZFUk5NRU5UX1NQRUNJQUxfUEFZTUVOVFMpLnN1bUJ5KCdncm9zc0Ftb3VudCcpO1xuICAgIHRoaXMuYXVzdHJhbGlhblNwZWNpYWxQYXltZW50c1RvdGFsVGF4ID0gdGhpcy50cmFuc2FjdGlvbnNCeUNoYXJ0QWNjb3VudHNcbiAgICAgIC5nZXQoQ2hhcnRBY2NvdW50c0xpc3RFbnVtLkFVU1RSQUxJQU5fR09WRVJOTUVOVF9TUEVDSUFMX1BBWU1FTlRTKS5zdW1CeSgndGF4Jyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,6 +11,9 @@ export class ServiceProduct extends BaseServiceProduct {
|
|
|
11
11
|
isSoleTank() {
|
|
12
12
|
return this.id === ServiceProductIdEnum.SOLE_TANK;
|
|
13
13
|
}
|
|
14
|
+
isHoldingsTank() {
|
|
15
|
+
return this.id === ServiceProductIdEnum.HOLDINGS_TANK;
|
|
16
|
+
}
|
|
14
17
|
isArchived() {
|
|
15
18
|
return this.status === ServiceProductStatusEnum.ARCHIVED;
|
|
16
19
|
}
|
|
@@ -21,4 +24,4 @@ ServiceProduct.quantity = 3;
|
|
|
21
24
|
// 5: 7,
|
|
22
25
|
// 6: 6
|
|
23
26
|
// }
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1wcm9kdWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXByb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsSUFBSSxrQkFBa0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBRXpGLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBR3BELFlBQVk7UUFDVixPQUFPLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLENBQUMsb0JBQW9CLENBQUMsYUFBYSxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssb0JBQW9CLENBQUMsU0FBUyxDQUFDO0lBQ3BELENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLG9CQUFvQixDQUFDLGFBQWEsQ0FBQztJQUN4RCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyx3QkFBd0IsQ0FBQyxRQUFRLENBQUM7SUFDM0QsQ0FBQzs7QUFwQk0sdUJBQVEsR0FBRyxDQUFDLENBQUM7QUFtQ3RCLHFCQUFxQjtBQUNyQixVQUFVO0FBQ1YsVUFBVTtBQUNWLFNBQVM7QUFDVCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZXJ2aWNlUHJvZHVjdCBhcyBCYXNlU2VydmljZVByb2R1Y3R9IGZyb20gJy4uLy4uL2RiL01vZGVscy9zdWJzY3JpcHRpb24vc2VydmljZS1wcm9kdWN0JztcbmltcG9ydCB7U2VydmljZVByb2R1Y3RTdGF0dXNFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zdWJzY3JpcHRpb24vc2VydmljZS1wcm9kdWN0LXN0YXR1cy5lbnVtJztcbmltcG9ydCB7U2VydmljZVByb2R1Y3RJZEVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3N1YnNjcmlwdGlvbi9zZXJ2aWNlLXByb2R1Y3QtaWQuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlUHJvZHVjdCBleHRlbmRzIEJhc2VTZXJ2aWNlUHJvZHVjdCB7XG4gIHN0YXRpYyBxdWFudGl0eSA9IDM7XG5cbiAgaXNQcm9wZXJ0aWVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBbU2VydmljZVByb2R1Y3RJZEVudW0uUFJPUEVSVFlfT0xELCBTZXJ2aWNlUHJvZHVjdElkRW51bS5QUk9QRVJUSUVTXS5pbmNsdWRlcyh0aGlzLmlkKTtcbiAgfVxuXG4gIGlzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFtTZXJ2aWNlUHJvZHVjdElkRW51bS5XT1JLX1RBTktfT0xELCBTZXJ2aWNlUHJvZHVjdElkRW51bS5XT1JLX1RBTktdLmluY2x1ZGVzKHRoaXMuaWQpO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pZCA9PT0gU2VydmljZVByb2R1Y3RJZEVudW0uU09MRV9UQU5LO1xuICB9XG5cbiAgaXNIb2xkaW5nc1RhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPT09IFNlcnZpY2VQcm9kdWN0SWRFbnVtLkhPTERJTkdTX1RBTks7XG4gIH1cblxuICBpc0FyY2hpdmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU2VydmljZVByb2R1Y3RTdGF0dXNFbnVtLkFSQ0hJVkVEO1xuICB9XG5cbiAgLy8gbWFrZVRyaWFsKCk6IFNlcnZpY2VTdWJzY3JpcHRpb24ge1xuICAvLyAgIHJldHVybiBwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbiwge1xuICAvLyAgICAgaXRlbXM6IFtcbiAgLy8gICAgICAgcGxhaW5Ub0NsYXNzKFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtLCB7XG4gIC8vICAgICAgICAgcHJpY2U6IHtcbiAgLy8gICAgICAgICAgIGlkOiBUZXN0RW51bVt0aGlzLmlkXVxuICAvLyAgICAgICAgIH1cbiAgLy8gICAgICAgfSlcbiAgLy8gICAgIF1cbiAgLy8gICB9KTtcbiAgLy8gfVxufVxuXG4vLyBjb25zdCBUZXN0RW51bSA9IHtcbi8vICAgNDogNCxcbi8vICAgNTogNyxcbi8vICAgNjogNlxuLy8gfVxuIl19
|
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
import { AllocationRuleCondition as AllocationRuleConditionBase } from '../../db/Models/transaction/allocation-rule-condition';
|
|
2
|
+
import { AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum } from '../../db/Enums';
|
|
2
3
|
export class AllocationRuleCondition extends AllocationRuleConditionBase {
|
|
4
|
+
matchBankTransaction(bankTransaction) {
|
|
5
|
+
return this.field === AllocationRuleConditionFieldEnum.AMOUNT ? this.matchBankTransactionByAmount(bankTransaction) : this.matchBankTransactionByDescription(bankTransaction);
|
|
6
|
+
}
|
|
7
|
+
matchBankTransactionByAmount(bankTransaction) {
|
|
8
|
+
// Amount should be compared as number
|
|
9
|
+
const value = +this.value;
|
|
10
|
+
switch (this.comparisonOperator) {
|
|
11
|
+
case AllocationRuleConditionComparisonOperatorEnum.EQUALS:
|
|
12
|
+
return bankTransaction.amount === value;
|
|
13
|
+
case AllocationRuleConditionComparisonOperatorEnum.EQUALS_OR_LESS:
|
|
14
|
+
return bankTransaction.amount <= value;
|
|
15
|
+
case AllocationRuleConditionComparisonOperatorEnum.EQUALS_OR_GREATER:
|
|
16
|
+
return bankTransaction.amount >= value;
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
matchBankTransactionByDescription(bankTransaction) {
|
|
21
|
+
// Prepare value and description for comparison
|
|
22
|
+
const description = bankTransaction.description.toLowerCase();
|
|
23
|
+
const value = this.value.trim().toLowerCase();
|
|
24
|
+
switch (this.comparisonOperator) {
|
|
25
|
+
case AllocationRuleConditionComparisonOperatorEnum.EQUALS:
|
|
26
|
+
return description === value;
|
|
27
|
+
case AllocationRuleConditionComparisonOperatorEnum.CONTAINS:
|
|
28
|
+
return description.includes(value);
|
|
29
|
+
case AllocationRuleConditionComparisonOperatorEnum.STARTS:
|
|
30
|
+
return description.startsWith(value);
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
3
34
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLElBQUksMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUUvSCxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsMkJBQTJCO0lBQ3RFLG9CQUFvQixDQUFDLGVBQWdDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxnQ0FBZ0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9LLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxlQUFnQztRQUMzRCxzQ0FBc0M7UUFDdEMsTUFBTSxLQUFLLEdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRWxDLFFBQVEsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQy9CLEtBQUssNkNBQTZDLENBQUMsTUFBTTtnQkFDdkQsT0FBTyxlQUFlLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQztZQUMxQyxLQUFLLDZDQUE2QyxDQUFDLGNBQWM7Z0JBQy9ELE9BQU8sZUFBZSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7WUFDekMsS0FBSyw2Q0FBNkMsQ0FBQyxpQkFBaUI7Z0JBQ2xFLE9BQU8sZUFBZSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7U0FDMUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxlQUFnQztRQUNoRSwrQ0FBK0M7UUFDL0MsTUFBTSxXQUFXLEdBQVcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0RSxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRELFFBQVEsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQy9CLEtBQUssNkNBQTZDLENBQUMsTUFBTTtnQkFDdkQsT0FBTyxXQUFXLEtBQUssS0FBSyxDQUFDO1lBQy9CLEtBQUssNkNBQTZDLENBQUMsUUFBUTtnQkFDekQsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLEtBQUssNkNBQTZDLENBQUMsTUFBTTtnQkFDdkQsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiBhcyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBCYW5rVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9iYW5rJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uQ29tcGFyaXNvbk9wZXJhdG9yRW51bSwgQWxsb2NhdGlvblJ1bGVDb25kaXRpb25GaWVsZEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbiBleHRlbmRzIEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uQmFzZSB7XG4gIG1hdGNoQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQgPT09IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRmllbGRFbnVtLkFNT1VOVCA/IHRoaXMubWF0Y2hCYW5rVHJhbnNhY3Rpb25CeUFtb3VudChiYW5rVHJhbnNhY3Rpb24pIDogdGhpcy5tYXRjaEJhbmtUcmFuc2FjdGlvbkJ5RGVzY3JpcHRpb24oYmFua1RyYW5zYWN0aW9uKTtcbiAgfVxuXG4gIG1hdGNoQmFua1RyYW5zYWN0aW9uQnlBbW91bnQoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgICAvLyBBbW91bnQgc2hvdWxkIGJlIGNvbXBhcmVkIGFzIG51bWJlclxuICAgIGNvbnN0IHZhbHVlOiBudW1iZXIgPSArdGhpcy52YWx1ZTtcblxuICAgIHN3aXRjaCAodGhpcy5jb21wYXJpc29uT3BlcmF0b3IpIHtcbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVDb25kaXRpb25Db21wYXJpc29uT3BlcmF0b3JFbnVtLkVRVUFMUzpcbiAgICAgICAgcmV0dXJuIGJhbmtUcmFuc2FjdGlvbi5hbW91bnQgPT09IHZhbHVlO1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkNvbXBhcmlzb25PcGVyYXRvckVudW0uRVFVQUxTX09SX0xFU1M6XG4gICAgICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb24uYW1vdW50IDw9IHZhbHVlO1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkNvbXBhcmlzb25PcGVyYXRvckVudW0uRVFVQUxTX09SX0dSRUFURVI6XG4gICAgICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb24uYW1vdW50ID49IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG1hdGNoQmFua1RyYW5zYWN0aW9uQnlEZXNjcmlwdGlvbihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIC8vIFByZXBhcmUgdmFsdWUgYW5kIGRlc2NyaXB0aW9uIGZvciBjb21wYXJpc29uXG4gICAgY29uc3QgZGVzY3JpcHRpb246IHN0cmluZyA9IGJhbmtUcmFuc2FjdGlvbi5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB0aGlzLnZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgc3dpdGNoICh0aGlzLmNvbXBhcmlzb25PcGVyYXRvcikge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkNvbXBhcmlzb25PcGVyYXRvckVudW0uRVFVQUxTOlxuICAgICAgICByZXR1cm4gZGVzY3JpcHRpb24gPT09IHZhbHVlO1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkNvbXBhcmlzb25PcGVyYXRvckVudW0uQ09OVEFJTlM6XG4gICAgICAgIHJldHVybiBkZXNjcmlwdGlvbi5pbmNsdWRlcyh2YWx1ZSk7XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uQ29tcGFyaXNvbk9wZXJhdG9yRW51bS5TVEFSVFM6XG4gICAgICAgIHJldHVybiBkZXNjcmlwdGlvbi5zdGFydHNXaXRoKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { AllocationRuleTransaction as AllocationRuleTransactionBase } from '../../db/Models/transaction/allocation-rule-transaction';
|
|
3
3
|
import { ChartAccounts } from '../chart-accounts';
|
|
4
|
-
import { Type, Transform } from 'class-transformer';
|
|
4
|
+
import { Type, Transform, plainToClass } from 'class-transformer';
|
|
5
5
|
import { AllocationRuleTransactionMetaField } from './allocation-rule-transaction-meta-field';
|
|
6
|
-
import { Loan, Property, SoleBusiness } from '../../models';
|
|
6
|
+
import { Loan, Property, SoleBusiness, Transaction, TransactionAllocation } from '../../models';
|
|
7
7
|
import { IncomeSource } from '../income-source/income-source';
|
|
8
8
|
import { ChartAccountsListEnum } from '../../db/Enums';
|
|
9
|
+
import { TransactionOperationEnum } from '../../db/Enums/transaction-operation.enum';
|
|
10
|
+
import { TransactionSourceEnum } from '../../db/Enums/transaction-source.enum';
|
|
9
11
|
export class AllocationRuleTransaction extends AllocationRuleTransactionBase {
|
|
10
12
|
calculateClaimPercent() {
|
|
11
13
|
if (!this.chartAccounts) {
|
|
@@ -20,26 +22,63 @@ export class AllocationRuleTransaction extends AllocationRuleTransactionBase {
|
|
|
20
22
|
}
|
|
21
23
|
return claimPercent;
|
|
22
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Create Transaction instance based on passed bank transaction and rule transaction
|
|
27
|
+
*/
|
|
28
|
+
toTransaction(bankTransaction) {
|
|
29
|
+
return plainToClass(Transaction, {
|
|
30
|
+
amount: bankTransaction.amount,
|
|
31
|
+
description: bankTransaction.description,
|
|
32
|
+
type: bankTransaction.type,
|
|
33
|
+
date: bankTransaction.date,
|
|
34
|
+
source: TransactionSourceEnum.BANK_TRANSACTION,
|
|
35
|
+
tax: this.tax,
|
|
36
|
+
claimPercent: this.claimPercent,
|
|
37
|
+
isGST: this.isGST,
|
|
38
|
+
chartAccounts: this.chartAccounts,
|
|
39
|
+
property: this.property,
|
|
40
|
+
loan: this.loan,
|
|
41
|
+
incomeSource: this.incomeSource,
|
|
42
|
+
metaFields: this.metaFields,
|
|
43
|
+
parentTransaction: this.parentTransaction,
|
|
44
|
+
childTransactions: this.childTransactions,
|
|
45
|
+
business: this.business,
|
|
46
|
+
operation: TransactionOperationEnum.ALLOCATE,
|
|
47
|
+
allocations: [TransactionAllocation.create(bankTransaction.amount, bankTransaction)],
|
|
48
|
+
});
|
|
49
|
+
}
|
|
23
50
|
}
|
|
24
51
|
__decorate([
|
|
25
|
-
Type(() => ChartAccounts)
|
|
26
|
-
|
|
52
|
+
Type(() => ChartAccounts)
|
|
53
|
+
// @TODO Alex: Create custom decorator for this transform
|
|
54
|
+
,
|
|
55
|
+
Transform(({ value }) => {
|
|
56
|
+
return { id: value.id };
|
|
57
|
+
}, { toPlainOnly: true })
|
|
27
58
|
], AllocationRuleTransaction.prototype, "chartAccounts", void 0);
|
|
28
59
|
__decorate([
|
|
29
60
|
Type(() => Property),
|
|
30
|
-
Transform(({ value }) => {
|
|
61
|
+
Transform(({ value }) => {
|
|
62
|
+
return value ? { id: value.id } : null;
|
|
63
|
+
}, { toPlainOnly: true })
|
|
31
64
|
], AllocationRuleTransaction.prototype, "property", void 0);
|
|
32
65
|
__decorate([
|
|
33
66
|
Type(() => Loan),
|
|
34
|
-
Transform(({ value }) => {
|
|
67
|
+
Transform(({ value }) => {
|
|
68
|
+
return value ? { id: value.id } : null;
|
|
69
|
+
}, { toPlainOnly: true })
|
|
35
70
|
], AllocationRuleTransaction.prototype, "loan", void 0);
|
|
36
71
|
__decorate([
|
|
37
72
|
Type(() => IncomeSource),
|
|
38
|
-
Transform(({ value }) => {
|
|
73
|
+
Transform(({ value }) => {
|
|
74
|
+
return value ? { id: value.id } : null;
|
|
75
|
+
}, { toPlainOnly: true })
|
|
39
76
|
], AllocationRuleTransaction.prototype, "incomeSource", void 0);
|
|
40
77
|
__decorate([
|
|
41
78
|
Type(() => SoleBusiness),
|
|
42
|
-
Transform(({ value }) => {
|
|
79
|
+
Transform(({ value }) => {
|
|
80
|
+
return value ? { id: value.id } : null;
|
|
81
|
+
}, { toPlainOnly: true })
|
|
43
82
|
], AllocationRuleTransaction.prototype, "business", void 0);
|
|
44
83
|
__decorate([
|
|
45
84
|
Type(() => AllocationRuleTransactionMetaField)
|
|
@@ -53,4 +92,4 @@ __decorate([
|
|
|
53
92
|
__decorate([
|
|
54
93
|
Type(() => Number)
|
|
55
94
|
], AllocationRuleTransaction.prototype, "claimPercent", void 0);
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUtdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx5QkFBeUIsSUFBSSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3JJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQW1CLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDZCQUE2QjtJQTRDMUUscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztRQUVyRCwwRkFBMEY7UUFDMUYsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLElBQUksQ0FBQyxR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QUUsSUFBSSxFQUFDLENBQUM7K0RBQ0s7QUFNNUI7SUFKQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3hCLFNBQVMsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRTtRQUNyQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQyxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDOzJEQUNBO0FBR3ZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzZEQUNFO0FBR2pEO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29FQUNPO0FBRzdDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29FQUNTO0FBRy9DO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrREFDRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24gYXMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBUeXBlLCBUcmFuc2Zvcm0sIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGQgfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbi1tZXRhLWZpZWxkJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiwgTG9hbiwgUHJvcGVydHksIFNvbGVCdXNpbmVzcywgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0xpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC9tZXJnZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblNvdXJjZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1zb3VyY2UuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uIGV4dGVuZHMgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbkJhc2Uge1xuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzKVxuICAvLyBAVE9ETyBBbGV4OiBDcmVhdGUgY3VzdG9tIGRlY29yYXRvciBmb3IgdGhpcyB0cmFuc2Zvcm1cbiAgQFRyYW5zZm9ybSgoe3ZhbHVlfSkgPT4ge1xuICAgIHJldHVybiB7aWQ6IHZhbHVlLmlkfTtcbiAgfSwge3RvUGxhaW5Pbmx5OiB0cnVlfSlcbiAgY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cztcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eSlcbiAgQFRyYW5zZm9ybSgoe3ZhbHVlfSkgPT4ge1xuICAgIHJldHVybiB2YWx1ZSA/IHtpZDogdmFsdWUuaWR9IDogbnVsbDtcbiAgfSwge3RvUGxhaW5Pbmx5OiB0cnVlfSlcbiAgcHJvcGVydHk6IFByb3BlcnR5O1xuXG4gIEBUeXBlKCgpID0+IExvYW4pXG4gIEBUcmFuc2Zvcm0oKHt2YWx1ZX0pID0+IHtcbiAgICByZXR1cm4gdmFsdWUgPyB7aWQ6IHZhbHVlLmlkfSA6IG51bGw7XG4gIH0sIHt0b1BsYWluT25seTogdHJ1ZX0pXG4gIGxvYW46IExvYW47XG5cbiAgQFR5cGUoKCkgPT4gSW5jb21lU291cmNlKVxuICBAVHJhbnNmb3JtKCh7dmFsdWV9KSA9PiB7XG4gICAgcmV0dXJuIHZhbHVlID8ge2lkOiB2YWx1ZS5pZH0gOiBudWxsO1xuICB9LCB7dG9QbGFpbk9ubHk6IHRydWV9KVxuICBpbmNvbWVTb3VyY2U/OiBJbmNvbWVTb3VyY2U7XG5cbiAgQFR5cGUoKCkgPT4gU29sZUJ1c2luZXNzKVxuICBAVHJhbnNmb3JtKCh7dmFsdWV9KSA9PiB7XG4gICAgcmV0dXJuIHZhbHVlID8ge2lkOiB2YWx1ZS5pZH0gOiBudWxsO1xuICB9LCB7dG9QbGFpbk9ubHk6IHRydWV9KVxuICBidXNpbmVzczogU29sZUJ1c2luZXNzO1xuXG4gIEBUeXBlKCgpID0+IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGQpXG4gIG1ldGFGaWVsZHM6IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb25NZXRhRmllbGRbXTtcblxuICBAVHlwZSgoKSA9PiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKVxuICBwYXJlbnRUcmFuc2FjdGlvbjogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uKVxuICBjaGlsZFRyYW5zYWN0aW9uczogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgY2xhaW1QZXJjZW50OiBudW1iZXI7XG5cbiAgY2FsY3VsYXRlQ2xhaW1QZXJjZW50KCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBjbGFpbVBlcmNlbnQgPSB0aGlzLmNoYXJ0QWNjb3VudHMudGF4YWJsZVBlcmNlbnQ7XG5cbiAgICAvLyBQcm9wZXJ0eSBjbGFpbSAob3duZXJzaGlwJSB4IHNoYXJlZCUpIGZvciBwcm9wZXJ0eSBleHBlbnNlcywgdGF4YWJsZSBwZXJjZW50IGZvciBvdGhlcnNcbiAgICBpZiAodGhpcy5jaGFydEFjY291bnRzPy5pc1Byb3BlcnR5KCkgJiYgdGhpcy5wcm9wZXJ0eSkge1xuXG4gICAgICBpZiAodGhpcy5jaGFydEFjY291bnRzLmlzUHJvcGVydHlFeHBlbnNlKCkgJiYgdGhpcy5jaGFydEFjY291bnRzLmlkICE9PSBDaGFydEFjY291bnRzTGlzdEVudW0uUExBVEZPUk1fRkVFUykge1xuICAgICAgICBjbGFpbVBlcmNlbnQgKj0gdGhpcy5wcm9wZXJ0eT8uY2xhaW1Db2VmZmljaWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBUcmFuc2FjdGlvbiBpbnN0YW5jZSBiYXNlZCBvbiBwYXNzZWQgYmFuayB0cmFuc2FjdGlvbiBhbmQgcnVsZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFxuICAgICAgVHJhbnNhY3Rpb24sXG4gICAgICB7XG4gICAgICAgIGFtb3VudDogYmFua1RyYW5zYWN0aW9uLmFtb3VudCxcbiAgICAgICAgZGVzY3JpcHRpb246IGJhbmtUcmFuc2FjdGlvbi5kZXNjcmlwdGlvbixcbiAgICAgICAgdHlwZTogYmFua1RyYW5zYWN0aW9uLnR5cGUsXG4gICAgICAgIGRhdGU6IGJhbmtUcmFuc2FjdGlvbi5kYXRlLFxuICAgICAgICBzb3VyY2U6IFRyYW5zYWN0aW9uU291cmNlRW51bS5CQU5LX1RSQU5TQUNUSU9OLFxuICAgICAgICB0YXg6IHRoaXMudGF4LFxuICAgICAgICBjbGFpbVBlcmNlbnQ6IHRoaXMuY2xhaW1QZXJjZW50LFxuICAgICAgICBpc0dTVDogdGhpcy5pc0dTVCxcbiAgICAgICAgY2hhcnRBY2NvdW50czogdGhpcy5jaGFydEFjY291bnRzLFxuICAgICAgICBwcm9wZXJ0eTogdGhpcy5wcm9wZXJ0eSxcbiAgICAgICAgbG9hbjogdGhpcy5sb2FuLFxuICAgICAgICBpbmNvbWVTb3VyY2U6IHRoaXMuaW5jb21lU291cmNlLFxuICAgICAgICBtZXRhRmllbGRzOiB0aGlzLm1ldGFGaWVsZHMsXG4gICAgICAgIHBhcmVudFRyYW5zYWN0aW9uOiB0aGlzLnBhcmVudFRyYW5zYWN0aW9uLFxuICAgICAgICBjaGlsZFRyYW5zYWN0aW9uczogdGhpcy5jaGlsZFRyYW5zYWN0aW9ucyxcbiAgICAgICAgYnVzaW5lc3M6IHRoaXMuYnVzaW5lc3MsXG4gICAgICAgIG9wZXJhdGlvbjogVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkFMTE9DQVRFLFxuICAgICAgICBhbGxvY2F0aW9uczogW1RyYW5zYWN0aW9uQWxsb2NhdGlvbi5jcmVhdGUoYmFua1RyYW5zYWN0aW9uLmFtb3VudCwgYmFua1RyYW5zYWN0aW9uKV0sXG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { AllocationRule as AllocationRuleBase } from '../../db/Models/transaction/allocation-rule';
|
|
3
3
|
import { BankAccount } from '../bank';
|
|
4
|
-
import { Transform, Type } from 'class-transformer';
|
|
4
|
+
import { plainToClass, Transform, Type } from 'class-transformer';
|
|
5
5
|
import { AllocationRuleCondition } from './allocation-rule-condition';
|
|
6
6
|
import { AllocationRuleTransaction } from './allocation-rule-transaction';
|
|
7
|
-
import { AllocationRuleConditionOperatorEnum, AllocationRuleTypeEnum } from '../../db/Enums';
|
|
7
|
+
import { AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleTypeEnum, ChartAccountsListEnum } from '../../db/Enums';
|
|
8
8
|
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
|
9
|
+
import { TransactionOperationEnum } from '../../db/Enums/transaction-operation.enum';
|
|
10
|
+
import { ChartAccounts } from '../chart-accounts';
|
|
9
11
|
export class AllocationRule extends AllocationRuleBase {
|
|
10
12
|
constructor() {
|
|
11
13
|
super(...arguments);
|
|
@@ -61,6 +63,65 @@ export class AllocationRule extends AllocationRuleBase {
|
|
|
61
63
|
isSoleIncome() {
|
|
62
64
|
return this.isIncome() && this.isSoleTank();
|
|
63
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* @TODO Alex: move to collection
|
|
68
|
+
*/
|
|
69
|
+
matchBankTransaction(bankTransaction) {
|
|
70
|
+
return this.conditionOperator === AllocationRuleConditionOperatorEnum.AND ? this.checkAnd(bankTransaction) : this.checkOr(bankTransaction);
|
|
71
|
+
}
|
|
72
|
+
createTransaction(bankTransaction) {
|
|
73
|
+
if (this.isTransfer()) {
|
|
74
|
+
const transaction = bankTransaction.toTransaction();
|
|
75
|
+
transaction.operation = TransactionOperationEnum.TRANSFER;
|
|
76
|
+
transaction.chartAccounts = plainToClass(ChartAccounts, { id: ChartAccountsListEnum.TRANSFER });
|
|
77
|
+
return transaction;
|
|
78
|
+
}
|
|
79
|
+
return this.transaction.toTransaction(bankTransaction);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Rule is matched when all conditions matched
|
|
83
|
+
*/
|
|
84
|
+
checkAnd(bankTransaction) {
|
|
85
|
+
for (let condition of this.conditions) {
|
|
86
|
+
if (!condition.matchBankTransaction(bankTransaction)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Rule is matched when at least one condition matched
|
|
94
|
+
*/
|
|
95
|
+
checkOr(bankTransaction) {
|
|
96
|
+
for (let condition of this.conditions) {
|
|
97
|
+
if (condition.matchBankTransaction(bankTransaction)) {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Create allocation rule based on bank transaction (just prefill rule fields with bank transaction values)
|
|
105
|
+
*/
|
|
106
|
+
static fromBankTransaction(bankTransaction) {
|
|
107
|
+
return plainToClass(AllocationRule, {
|
|
108
|
+
type: bankTransaction.isDebit() ? AllocationRuleTypeEnum.EXPENSE : AllocationRuleTypeEnum.INCOME,
|
|
109
|
+
bankAccount: bankTransaction.bankAccount,
|
|
110
|
+
conditionOperator: AllocationRuleConditionOperatorEnum.AND,
|
|
111
|
+
conditions: [
|
|
112
|
+
plainToClass(AllocationRuleCondition, {
|
|
113
|
+
field: AllocationRuleConditionFieldEnum.AMOUNT,
|
|
114
|
+
comparisonOperator: AllocationRuleConditionComparisonOperatorEnum.EQUALS,
|
|
115
|
+
value: bankTransaction.amount
|
|
116
|
+
}),
|
|
117
|
+
plainToClass(AllocationRuleCondition, {
|
|
118
|
+
field: AllocationRuleConditionFieldEnum.DESCRIPTION,
|
|
119
|
+
comparisonOperator: AllocationRuleConditionComparisonOperatorEnum.EQUALS,
|
|
120
|
+
value: bankTransaction.description
|
|
121
|
+
})
|
|
122
|
+
]
|
|
123
|
+
});
|
|
124
|
+
}
|
|
64
125
|
}
|
|
65
126
|
__decorate([
|
|
66
127
|
Type(() => BankAccount),
|
|
@@ -75,4 +136,4 @@ __decorate([
|
|
|
75
136
|
__decorate([
|
|
76
137
|
Type(() => BankAccount)
|
|
77
138
|
], AllocationRule.prototype, "transferBankAccount", void 0);
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLElBQUksa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLHNCQUFzQixFQUF5QixNQUFNLGdCQUFnQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUk3RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQUF0RDs7UUFjRSxTQUFJLEdBQTJCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztRQUM5RCxzQkFBaUIsR0FBd0MsbUNBQW1DLENBQUMsRUFBRSxDQUFDO0lBa0VsRyxDQUFDO0lBaEVDLElBQUksU0FBUztRQUNYLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQ2pDLE9BQU8sU0FBUyxDQUFDO1lBRW5CLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDaEMsT0FBTyxRQUFRLENBQUM7WUFFbEI7Z0JBQ0UsT0FBTyxVQUFVLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNqQyxLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPLE1BQU0sQ0FBQztZQUVoQixLQUFLLFlBQVksQ0FBQyxRQUFRO2dCQUN4QixPQUFPLFVBQVUsQ0FBQztZQUVwQixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixPQUFPLE1BQU0sQ0FBQztZQUVoQjtnQkFDRSxPQUFPLFVBQVUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztJQUNyRCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7SUFDdEQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssc0JBQXNCLENBQUMsUUFBUSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQzdELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ3pELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGO0FBOUVDO0lBRkMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUN2QixTQUFTLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxFQUFFLEVBQUUsR0FBRSxPQUFPLEVBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUMsQ0FBQSxDQUFBLENBQUMsRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQzttREFDM0M7QUFHMUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7a0RBQ0c7QUFHdkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7bURBQ0U7QUFHeEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDOzJEQUNVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGUgYXMgQWxsb2NhdGlvblJ1bGVCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uL2JhbmsnO1xuaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVDb25kaXRpb24gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS1jb25kaXRpb24nO1xuaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbiB9IGZyb20gJy4vYWxsb2NhdGlvbi1ydWxlLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uT3BlcmF0b3JFbnVtLCBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLCBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi9wcm9wZXJ0eSc7XG5cbmV4cG9ydCBjbGFzcyBBbGxvY2F0aW9uUnVsZSBleHRlbmRzIEFsbG9jYXRpb25SdWxlQmFzZSB7XG4gIEBUeXBlKCgpID0+IEJhbmtBY2NvdW50KVxuICBAVHJhbnNmb3JtKCh7dmFsdWV9KSA9PiB7cmV0dXJuIHtpZDogdmFsdWUuaWR9fSwge3RvUGxhaW5Pbmx5OiB0cnVlfSlcbiAgYmFua0FjY291bnQ/OiBCYW5rQWNjb3VudDtcblxuICBAVHlwZSgoKSA9PiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbilcbiAgY29uZGl0aW9ucz86IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbilcbiAgdHJhbnNhY3Rpb24/OiBBbGxvY2F0aW9uUnVsZVRyYW5zYWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IEJhbmtBY2NvdW50KVxuICB0cmFuc2ZlckJhbmtBY2NvdW50PzogQmFua0FjY291bnQ7XG5cbiAgdHlwZTogQWxsb2NhdGlvblJ1bGVUeXBlRW51bSA9IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTtcbiAgY29uZGl0aW9uT3BlcmF0b3I6IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uT3BlcmF0b3JFbnVtID0gQWxsb2NhdGlvblJ1bGVDb25kaXRpb25PcGVyYXRvckVudW0uT1I7XG5cbiAgZ2V0IHR5cGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIEFsbG9jYXRpb25SdWxlVHlwZUVudW0uRVhQRU5TRTpcbiAgICAgICAgcmV0dXJuICdleHBlbnNlJztcblxuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLklOQ09NRTpcbiAgICAgICAgcmV0dXJuICdpbmNvbWUnO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3RyYW5zZmVyJztcbiAgICB9XG4gIH1cblxuICBnZXQgdGFua1R5cGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy50cmFuc2FjdGlvbi50YW5rVHlwZSkge1xuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgcmV0dXJuICd3b3JrJztcblxuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uUFJPUEVSVFk6XG4gICAgICAgIHJldHVybiAncHJvcGVydHknO1xuXG4gICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICByZXR1cm4gJ3NvbGUnO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ3BlcnNvbmFsJztcbiAgICB9XG4gIH1cblxuICBpc0luY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLklOQ09NRTtcbiAgfVxuXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U7XG4gIH1cblxuICBpc1RyYW5zZmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEFsbG9jYXRpb25SdWxlVHlwZUVudW0uVFJBTlNGRVI7XG4gIH1cblxuICBpc1Byb3BlcnR5VGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLlBST1BFUlRZO1xuICB9XG5cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLldPUks7XG4gIH1cblxuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uLnRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIGlzUHJvcGVydHlJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzUHJvcGVydHlUYW5rKCk7XG4gIH1cblxuICBpc1dvcmtJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzV29ya1RhbmsoKTtcbiAgfVxuXG4gIGlzU29sZUluY29tZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luY29tZSgpICYmIHRoaXMuaXNTb2xlVGFuaygpO1xuICB9XG59XG4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb2NhdGlvbi1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy90cmFuc2FjdGlvbi9hbGxvY2F0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxjQUFjLElBQUksa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLFNBQVMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsNkNBQTZDLEVBQzdDLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsc0JBQXNCLEVBQUUscUJBQXFCLEVBQzlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQUF0RDs7UUFjRSxTQUFJLEdBQTJCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztRQUM5RCxzQkFBaUIsR0FBd0MsbUNBQW1DLENBQUMsRUFBRSxDQUFDO0lBdUlsRyxDQUFDO0lBcklDLElBQUksU0FBUztRQUNYLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQ2pDLE9BQU8sU0FBUyxDQUFDO1lBRW5CLEtBQUssc0JBQXNCLENB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M0M7QUFHMUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7a0RBQ0c7QUFHdkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7bURBQ0U7QUFHeEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDOzJEQUNVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxsb2NhdGlvblJ1bGUgYXMgQWxsb2NhdGlvblJ1bGVCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL2FsbG9jYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCwgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vYmFuayc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MsIFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uIH0gZnJvbSAnLi9hbGxvY2F0aW9uLXJ1bGUtY29uZGl0aW9uJztcbmltcG9ydCB7IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24gfSBmcm9tICcuL2FsbG9jYXRpb24tcnVsZS10cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbkNvbXBhcmlzb25PcGVyYXRvckVudW0sXG4gIEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRmllbGRFbnVtLFxuICBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbk9wZXJhdG9yRW51bSxcbiAgQWxsb2NhdGlvblJ1bGVUeXBlRW51bSwgQ2hhcnRBY2NvdW50c0xpc3RFbnVtXG59IGZyb20gJy4uLy4uL2RiL0VudW1zJztcbmltcG9ydCB7IFRhbmtUeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RhbmstdHlwZS5lbnVtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMnO1xuXG5leHBvcnQgY2xhc3MgQWxsb2NhdGlvblJ1bGUgZXh0ZW5kcyBBbGxvY2F0aW9uUnVsZUJhc2Uge1xuICBAVHlwZSgoKSA9PiBCYW5rQWNjb3VudClcbiAgQFRyYW5zZm9ybSgoe3ZhbHVlfSkgPT4ge3JldHVybiB7aWQ6IHZhbHVlLmlkfX0sIHt0b1BsYWluT25seTogdHJ1ZX0pXG4gIGJhbmtBY2NvdW50PzogQmFua0FjY291bnQ7XG5cbiAgQFR5cGUoKCkgPT4gQWxsb2NhdGlvblJ1bGVDb25kaXRpb24pXG4gIGNvbmRpdGlvbnM/OiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IEFsbG9jYXRpb25SdWxlVHJhbnNhY3Rpb24pXG4gIHRyYW5zYWN0aW9uPzogQWxsb2NhdGlvblJ1bGVUcmFuc2FjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBCYW5rQWNjb3VudClcbiAgdHJhbnNmZXJCYW5rQWNjb3VudD86IEJhbmtBY2NvdW50O1xuXG4gIHR5cGU6IEFsbG9jYXRpb25SdWxlVHlwZUVudW0gPSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U7XG4gIGNvbmRpdGlvbk9wZXJhdG9yOiBBbGxvY2F0aW9uUnVsZUNvbmRpdGlvbk9wZXJhdG9yRW51bSA9IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uT3BlcmF0b3JFbnVtLk9SO1xuXG4gIGdldCB0eXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0U6XG4gICAgICAgIHJldHVybiAnZXhwZW5zZSc7XG5cbiAgICAgIGNhc2UgQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU6XG4gICAgICAgIHJldHVybiAnaW5jb21lJztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICd0cmFuc2Zlcic7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRhbmtUeXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNhY3Rpb24udGFua1R5cGUpIHtcbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLldPUks6XG4gICAgICAgIHJldHVybiAnd29yayc7XG5cbiAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlBST1BFUlRZOlxuICAgICAgICByZXR1cm4gJ3Byb3BlcnR5JztcblxuICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgcmV0dXJuICdzb2xlJztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdwZXJzb25hbCc7XG4gICAgfVxuICB9XG5cbiAgaXNJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5JTkNPTUU7XG4gIH1cblxuICBpc0V4cGVuc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gQWxsb2NhdGlvblJ1bGVUeXBlRW51bS5FWFBFTlNFO1xuICB9XG5cbiAgaXNUcmFuc2ZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLlRSQU5TRkVSO1xuICB9XG5cbiAgaXNQcm9wZXJ0eVRhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24udGFua1R5cGUgPT09IFRhbmtUeXBlRW51bS5QUk9QRVJUWTtcbiAgfVxuXG4gIGlzV29ya1RhbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24udGFua1R5cGUgPT09IFRhbmtUeXBlRW51bS5XT1JLO1xuICB9XG5cbiAgaXNTb2xlVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbi50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLlNPTEU7XG4gIH1cblxuICBpc1Byb3BlcnR5SW5jb21lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5jb21lKCkgJiYgdGhpcy5pc1Byb3BlcnR5VGFuaygpO1xuICB9XG5cbiAgaXNXb3JrSW5jb21lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5jb21lKCkgJiYgdGhpcy5pc1dvcmtUYW5rKCk7XG4gIH1cblxuICBpc1NvbGVJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzU29sZVRhbmsoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiBtb3ZlIHRvIGNvbGxlY3Rpb25cbiAgICovXG4gIG1hdGNoQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZGl0aW9uT3BlcmF0b3IgPT09IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uT3BlcmF0b3JFbnVtLkFORCA/IHRoaXMuY2hlY2tBbmQoYmFua1RyYW5zYWN0aW9uKSA6IHRoaXMuY2hlY2tPcihiYW5rVHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgY3JlYXRlVHJhbnNhY3Rpb24oYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuaXNUcmFuc2ZlcigpKSB7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSAgYmFua1RyYW5zYWN0aW9uLnRvVHJhbnNhY3Rpb24oKTtcblxuICAgICAgdHJhbnNhY3Rpb24ub3BlcmF0aW9uID0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSO1xuICAgICAgdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cyA9IHBsYWluVG9DbGFzcyhDaGFydEFjY291bnRzLCB7aWQ6IENoYXJ0QWNjb3VudHNMaXN0RW51bS5UUkFOU0ZFUn0pO1xuXG4gICAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb24udG9UcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bGUgaXMgbWF0Y2hlZCB3aGVuIGFsbCBjb25kaXRpb25zIG1hdGNoZWRcbiAgICovXG4gIHByaXZhdGUgY2hlY2tBbmQoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBjb25kaXRpb24gb2YgdGhpcy5jb25kaXRpb25zKSB7XG4gICAgICBpZiAoIWNvbmRpdGlvbi5tYXRjaEJhbmtUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb24pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdWxlIGlzIG1hdGNoZWQgd2hlbiBhdCBsZWFzdCBvbmUgY29uZGl0aW9uIG1hdGNoZWRcbiAgICovXG4gIHByaXZhdGUgY2hlY2tPcihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGNvbmRpdGlvbiBvZiB0aGlzLmNvbmRpdGlvbnMpIHtcbiAgICAgIGlmIChjb25kaXRpb24ubWF0Y2hCYW5rVHJhbnNhY3Rpb24oYmFua1RyYW5zYWN0aW9uKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFsbG9jYXRpb24gcnVsZSBiYXNlZCBvbiBiYW5rIHRyYW5zYWN0aW9uIChqdXN0IHByZWZpbGwgcnVsZSBmaWVsZHMgd2l0aCBiYW5rIHRyYW5zYWN0aW9uIHZhbHVlcylcbiAgICovXG4gIHN0YXRpYyBmcm9tQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogQWxsb2NhdGlvblJ1bGUge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGUsIHtcbiAgICAgIHR5cGU6IGJhbmtUcmFuc2FjdGlvbi5pc0RlYml0KCkgPyBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLkVYUEVOU0UgOiBBbGxvY2F0aW9uUnVsZVR5cGVFbnVtLklOQ09NRSxcbiAgICAgIGJhbmtBY2NvdW50OiBiYW5rVHJhbnNhY3Rpb24uYmFua0FjY291bnQsXG4gICAgICBjb25kaXRpb25PcGVyYXRvcjogQWxsb2NhdGlvblJ1bGVDb25kaXRpb25PcGVyYXRvckVudW0uQU5ELFxuICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICBwbGFpblRvQ2xhc3MoQWxsb2NhdGlvblJ1bGVDb25kaXRpb24sIHtcbiAgICAgICAgICBmaWVsZDogQWxsb2NhdGlvblJ1bGVDb25kaXRpb25GaWVsZEVudW0uQU1PVU5ULFxuICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQWxsb2NhdGlvblJ1bGVDb25kaXRpb25Db21wYXJpc29uT3BlcmF0b3JFbnVtLkVRVUFMUyxcbiAgICAgICAgICB2YWx1ZTogYmFua1RyYW5zYWN0aW9uLmFtb3VudFxuICAgICAgICB9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uLCB7XG4gICAgICAgICAgZmllbGQ6IEFsbG9jYXRpb25SdWxlQ29uZGl0aW9uRmllbGRFbnVtLkRFU0NSSVBUSU9OLFxuICAgICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQWxsb2NhdGlvblJ1bGVDb25kaXRpb25Db21wYXJpc29uT3BlcmF0b3JFbnVtLkVRVUFMUyxcbiAgICAgICAgICB2YWx1ZTogYmFua1RyYW5zYWN0aW9uLmRlc2NyaXB0aW9uXG4gICAgICAgIH0pXG4gICAgICBdXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|