taxtank-core 0.30.69 → 0.30.71

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.
Files changed (139) hide show
  1. package/esm2020/lib/collections/collection.mjs +4 -1
  2. package/esm2020/lib/forms/holding/holding-reinvest.form.mjs +61 -0
  3. package/esm2020/lib/forms/holding/index.mjs +2 -1
  4. package/esm2020/lib/forms/sole/sole-invoice-item.form.mjs +3 -9
  5. package/esm2020/lib/forms/sole/sole-invoice.form.mjs +2 -2
  6. package/esm2020/lib/interceptors/basiq-client-id.interceptor.mjs +3 -3
  7. package/esm2020/lib/interceptors/basiq-token.interceptor.mjs +3 -3
  8. package/esm2020/lib/interceptors/corelogic-interceptor.mjs +3 -3
  9. package/esm2020/lib/interceptors/financial-year-interceptor.mjs +3 -3
  10. package/esm2020/lib/interceptors/interceptors.module.mjs +4 -4
  11. package/esm2020/lib/interceptors/jwt-interceptor.mjs +3 -3
  12. package/esm2020/lib/interceptors/preloader.interceptor.mjs +3 -3
  13. package/esm2020/lib/interceptors/user-switcher-interceptor.mjs +3 -3
  14. package/esm2020/lib/models/holding/holding-reinvest.mjs +22 -0
  15. package/esm2020/lib/models/holding/index.mjs +2 -1
  16. package/esm2020/lib/models/property/property-sale/property-sale.mjs +1 -1
  17. package/esm2020/lib/services/account-setup/account-setup.service.mjs +3 -3
  18. package/esm2020/lib/services/affiliate/rewardful/rewardful.service.mjs +3 -3
  19. package/esm2020/lib/services/asset/assets.service.mjs +3 -3
  20. package/esm2020/lib/services/auth/auth.service.mjs +3 -3
  21. package/esm2020/lib/services/auth/jwt.service.mjs +3 -3
  22. package/esm2020/lib/services/bank/bank-account-calculation.service.mjs +3 -3
  23. package/esm2020/lib/services/bank/bank-transaction-calculation.service.mjs +3 -3
  24. package/esm2020/lib/services/data.service.mjs +3 -3
  25. package/esm2020/lib/services/event/event-dispatcher.service.mjs +3 -3
  26. package/esm2020/lib/services/event/sse.service.mjs +3 -3
  27. package/esm2020/lib/services/export/export-formatter.service.mjs +3 -3
  28. package/esm2020/lib/services/header-title/header-title.service.mjs +3 -3
  29. package/esm2020/lib/services/http/address/address.service.mjs +3 -3
  30. package/esm2020/lib/services/http/bank/bank-account/bank-account.service.mjs +3 -3
  31. package/esm2020/lib/services/http/bank/bank-connection/bank-connection.service.mjs +3 -3
  32. package/esm2020/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +3 -3
  33. package/esm2020/lib/services/http/bank/bank.service.mjs +3 -3
  34. package/esm2020/lib/services/http/bank/basiq/basiq-token.service.mjs +3 -3
  35. package/esm2020/lib/services/http/bank/basiq/basiq.service.mjs +3 -3
  36. package/esm2020/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +3 -3
  37. package/esm2020/lib/services/http/chart-accounts/chart-accounts.service.mjs +3 -3
  38. package/esm2020/lib/services/http/chat/chat.service.mjs +3 -3
  39. package/esm2020/lib/services/http/chat/message-document.service.mjs +3 -3
  40. package/esm2020/lib/services/http/chat/message.service.mjs +3 -3
  41. package/esm2020/lib/services/http/client/capital-gain/annual-client-details.service.mjs +3 -3
  42. package/esm2020/lib/services/http/client/occupation/occupation.service.mjs +3 -3
  43. package/esm2020/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +3 -3
  44. package/esm2020/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.mjs +3 -3
  45. package/esm2020/lib/services/http/depreciation/depreciation.service.mjs +3 -3
  46. package/esm2020/lib/services/http/document/document-folder/document-folder.service.mjs +3 -3
  47. package/esm2020/lib/services/http/document/document.service.mjs +3 -3
  48. package/esm2020/lib/services/http/facebook/facebook.service.mjs +3 -3
  49. package/esm2020/lib/services/http/file/file.service.mjs +3 -3
  50. package/esm2020/lib/services/http/firm/client-income/client-income-types.service.mjs +3 -3
  51. package/esm2020/lib/services/http/firm/client-invite/client-invite.service.mjs +3 -3
  52. package/esm2020/lib/services/http/firm/client-movement/client-movement.service.mjs +3 -3
  53. package/esm2020/lib/services/http/firm/employee/employee.service.mjs +3 -3
  54. package/esm2020/lib/services/http/firm/employee-invite/employee-invite.service.mjs +3 -3
  55. package/esm2020/lib/services/http/firm/firm.service.mjs +3 -3
  56. package/esm2020/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +3 -3
  57. package/esm2020/lib/services/http/google/google.service.mjs +3 -3
  58. package/esm2020/lib/services/http/holding/holding-messages.enum.mjs +2 -1
  59. package/esm2020/lib/services/http/holding/holding-sale.service.mjs +3 -3
  60. package/esm2020/lib/services/http/holding/holding-type.service.mjs +3 -3
  61. package/esm2020/lib/services/http/holding/holding.service.mjs +3 -3
  62. package/esm2020/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +3 -3
  63. package/esm2020/lib/services/http/income-source/income-source.service.mjs +3 -3
  64. package/esm2020/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +3 -3
  65. package/esm2020/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +3 -3
  66. package/esm2020/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +3 -3
  67. package/esm2020/lib/services/http/loan/loan.service.mjs +3 -3
  68. package/esm2020/lib/services/http/property/property-category/property-category.service.mjs +3 -3
  69. package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +3 -3
  70. package/esm2020/lib/services/http/property/property-document/property-document.service.mjs +3 -3
  71. package/esm2020/lib/services/http/property/property-sale/property-sale.service.mjs +3 -3
  72. package/esm2020/lib/services/http/property/property-share/property-share.service.mjs +3 -3
  73. package/esm2020/lib/services/http/property/property.service.mjs +3 -3
  74. package/esm2020/lib/services/http/receipt/receipt.service.mjs +3 -3
  75. package/esm2020/lib/services/http/rest/rest-old.service.mjs +3 -3
  76. package/esm2020/lib/services/http/rest/rest.service.mjs +3 -3
  77. package/esm2020/lib/services/http/service-notification/service-notification.service.mjs +3 -3
  78. package/esm2020/lib/services/http/sole/bas-report/bas-report.service.mjs +3 -3
  79. package/esm2020/lib/services/http/sole/sole-business/sole-business.service.mjs +3 -3
  80. package/esm2020/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +3 -3
  81. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +3 -3
  82. package/esm2020/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +3 -3
  83. package/esm2020/lib/services/http/sole/sole-contact/sole-contact.service.mjs +3 -3
  84. package/esm2020/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +3 -3
  85. package/esm2020/lib/services/http/sole/sole-details/sole-details.service.mjs +3 -3
  86. package/esm2020/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +3 -3
  87. package/esm2020/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +3 -3
  88. package/esm2020/lib/services/http/subscription/service-payment/service-payment.service.mjs +3 -3
  89. package/esm2020/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +3 -3
  90. package/esm2020/lib/services/http/subscription/service-price/service-price.service.mjs +3 -3
  91. package/esm2020/lib/services/http/subscription/service-product/service-product.service.mjs +3 -3
  92. package/esm2020/lib/services/http/subscription/service-subscription/subscription.service.mjs +3 -3
  93. package/esm2020/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +3 -3
  94. package/esm2020/lib/services/http/tax-review/tax-review.service.mjs +3 -3
  95. package/esm2020/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
  96. package/esm2020/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +3 -3
  97. package/esm2020/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +3 -3
  98. package/esm2020/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.mjs +3 -3
  99. package/esm2020/lib/services/http/transaction/transaction.service.mjs +3 -3
  100. package/esm2020/lib/services/http/tutorial-video/tutorial-video.service.mjs +3 -3
  101. package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +3 -3
  102. package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +3 -3
  103. package/esm2020/lib/services/http/user/user.service.mjs +3 -3
  104. package/esm2020/lib/services/http/user/users-invite/users-invite.service.mjs +3 -3
  105. package/esm2020/lib/services/http/vehicle/vehicle-claim-details.service.mjs +3 -3
  106. package/esm2020/lib/services/http/vehicle/vehicle-claim.service.mjs +3 -3
  107. package/esm2020/lib/services/http/vehicle/vehicle-logbook.service.mjs +3 -3
  108. package/esm2020/lib/services/http/vehicle/vehicle.service.mjs +3 -3
  109. package/esm2020/lib/services/intercom/intercom.service.mjs +3 -3
  110. package/esm2020/lib/services/json/holding/holding-type-exchange.service.mjs +3 -3
  111. package/esm2020/lib/services/json/income-source/income-source-type.service.mjs +3 -3
  112. package/esm2020/lib/services/json/tax-exemption/tax-exemption.service.mjs +3 -3
  113. package/esm2020/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +3 -3
  114. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +3 -3
  115. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +3 -3
  116. package/esm2020/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +3 -3
  117. package/esm2020/lib/services/preloader/preloader.service.mjs +3 -3
  118. package/esm2020/lib/services/property/corelogic/corelogic.service.mjs +3 -3
  119. package/esm2020/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +3 -3
  120. package/esm2020/lib/services/property/property-calculation/property-calculation.service.mjs +3 -3
  121. package/esm2020/lib/services/report/property/property-transaction-report.service.mjs +3 -3
  122. package/esm2020/lib/services/toast/toast.service.mjs +3 -3
  123. package/esm2020/lib/services/transaction/transaction-calculation.service.mjs +3 -3
  124. package/esm2020/lib/services/user/user-switcher.service.mjs +3 -3
  125. package/esm2020/lib/services/vehicle/logbook-best-period.service.mjs +3 -3
  126. package/esm2020/lib/services/xlsx/xlsx.service.mjs +3 -3
  127. package/esm2020/lib/tt-core.module.mjs +4 -4
  128. package/fesm2015/taxtank-core.mjs +435 -366
  129. package/fesm2015/taxtank-core.mjs.map +1 -1
  130. package/fesm2020/taxtank-core.mjs +435 -366
  131. package/fesm2020/taxtank-core.mjs.map +1 -1
  132. package/lib/collections/collection.d.ts +1 -0
  133. package/lib/forms/holding/holding-reinvest.form.d.ts +22 -0
  134. package/lib/forms/holding/index.d.ts +1 -0
  135. package/lib/forms/sole/sole-invoice-item.form.d.ts +1 -1
  136. package/lib/models/holding/holding-reinvest.d.ts +13 -0
  137. package/lib/models/holding/index.d.ts +1 -0
  138. package/lib/services/http/holding/holding-messages.enum.d.ts +2 -1
  139. package/package.json +1 -1
@@ -58,6 +58,9 @@ export class Collection {
58
58
  getIds() {
59
59
  return this.items.map((item) => item['id']);
60
60
  }
61
+ map(callback) {
62
+ return this.items.map(callback);
63
+ }
61
64
  mapBy(path) {
62
65
  return this.items.map((item) => get(item, path));
63
66
  }
@@ -146,4 +149,4 @@ export class Collection {
146
149
  return this;
147
150
  }
148
151
  }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxQyxPQUFPLEVBQUMsVUFBVSxFQUFFLGFBQWEsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBU3JCLFlBQVksUUFBaUIsRUFBRTtRQUwvQjs7V0FFRztRQUNILFVBQUssR0FBRyxDQUFDLENBQUM7UUFHUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQix1RUFBdUU7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBaUIsRUFBRTtRQUN4QixPQUFPLElBQUssSUFBSSxDQUFDLFdBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUViLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0I7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVcsRUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFXLEVBQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLEVBQUUsTUFBTSxHQUFHLElBQUk7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQyxRQUF3QztRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFZLEVBQUUsR0FBRyxHQUFHLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixDQUFDLEdBQVcsRUFBRSxJQUFXLEVBQVUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDaEgsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBSSxHQUFHLEVBQUU7UUFDZixPQUFPLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFrQztRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVksRUFBRSxNQUFXO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZLEVBQUUsSUFBUyxFQUFFLEVBQU87UUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVyxFQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsZ0JBQStCLElBQUksYUFBYSxFQUFFO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFrQztRQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ2xGLENBQUM7SUFFRCxJQUFJLENBQUMsR0FBRyxLQUFjO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsS0FBYztRQUN0QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDYixPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBQyxJQUFZLEVBQUUsTUFBVztRQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBVSxFQUFFLElBQVc7UUFDN0MsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNuQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVyxFQUFFLE9BQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxPQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUE4QyxFQUFFLElBQUksR0FBRyxDQUFDO1FBQzdELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWSxFQUFFLEVBQVU7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XHJcbmltcG9ydCBmaXJzdCBmcm9tICdsb2Rhc2gvZmlyc3QnO1xyXG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XHJcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XHJcbmltcG9ydCB7IHNvcnQgfSBmcm9tICcuLi9mdW5jdGlvbnMvYXJyYXknO1xyXG5pbXBvcnQge0Fic3RyYWN0TW9kZWx9IGZyb20gJy4uL2RiL01vZGVscyc7XHJcbmltcG9ydCB7RGljdGlvbmFyeSwgRmluYW5jaWFsWWVhcn0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNvbGxlY3Rpb24gY2xhc3MuIENvbnRhaW5zIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGZvciBhbGwgY29sbGVjdGlvbnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPE1vZGVsIGV4dGVuZHMgQWJzdHJhY3RNb2RlbD4gaW1wbGVtZW50cyBJdGVyYWJsZTxNb2RlbD4ge1xyXG4gIC8vIGxpc3Qgb2YgY29sbGVjdGlvbidzIGl0ZW1zXHJcbiAgaXRlbXM6IE1vZGVsW107XHJcblxyXG4gIC8qKlxyXG4gICAqIGluZGV4IG9mIGN1cnJlbnQgaXRlbSwgdXNlZCB0byBpdGVyYXRlIG92ZXIgdGhlIGNvbGxlY3Rpb25cclxuICAgKi9cclxuICBpbmRleCA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBNb2RlbFtdID0gW10pIHtcclxuICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcclxuICAgIC8vIEBUT0RPIEFsZXg6IFRoaW5rIGFuZCBpbXBsZW1lbnQgc29tZSBzbWFydCBzb2x1dGlvbiBmb3IgZGVmYXVsdCBzb3J0XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdGVyYXRvciB0aGF0IGFsbG93IHRvIGl0ZXJhdGUgY29sbGVjdGlvbiBpdGVtc1xyXG4gICAqL1xyXG4gIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhdG9yPE1vZGVsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy52YWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZShpdGVtczogTW9kZWxbXSA9IFtdKTogdGhpcyB7XHJcbiAgICByZXR1cm4gbmV3ICh0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSkoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgdG9BcnJheSgpOiBNb2RlbFtdIHtcclxuICAgIHJldHVybiBbLi4udGhpcy5pdGVtc107XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3QoKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIGZpcnN0KHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3QoKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIGxhc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiBNb2RlbCB7XHJcbiAgICB0aGlzLmluZGV4ID0gMDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICB9XHJcblxyXG4gIG5leHQoKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPCB0aGlzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluZGV4Kys7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGJhY2soKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgtLTtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gaXRlbVsnaWQnXSk7XHJcbiAgfVxyXG5cclxuICBtYXBCeShwYXRoOiBzdHJpbmcpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKGl0ZW06IE1vZGVsKTogYW55ID0+IGdldChpdGVtLCBwYXRoKSlcclxuICB9XHJcblxyXG4gIHNvcnRCeShmaWVsZCA9ICdpZCcsIGlzRGVzYyA9IHRydWUpOiB0aGlzIHtcclxuICAgIHNvcnQodGhpcy5pdGVtcywgZmllbGQsIGlzRGVzYyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzb3J0KGNhbGxiYWNrOiAoYTogTW9kZWwsIGI6IE1vZGVsKSA9PiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMuc29ydChjYWxsYmFjayk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdG90YWwgc3VtIG9mIGl0ZW1zIGJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc3VtQnkocGF0aDogc3RyaW5nLCBhYnMgPSBmYWxzZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2UoXHJcbiAgICAgIChzdW06IG51bWJlciwgaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gc3VtICsgKGFicyA/IE1hdGguYWJzKE51bWJlcihnZXQoaXRlbSwgcGF0aCkpKSA6IE51bWJlcihnZXQoaXRlbSwgcGF0aCkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdyb3VwQnkocGF0aCA9ICcnKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8dGhpcz4ge1xyXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeSh0aGlzLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGluZGV4QnkocGF0aDogc3RyaW5nKTogRGljdGlvbmFyeTxNb2RlbD4ge1xyXG4gICAgcmV0dXJuIG5ldyBEaWN0aW9uYXJ5KHRoaXMuaXRlbXMsIHBhdGgpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zLmZpbHRlcihjYWxsYmFjaykpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gKEFycmF5LmlzQXJyYXkodmFsdWVzKSA/IHZhbHVlcyA6IFt2YWx1ZXNdKS5pbmNsdWRlcyhnZXQoaXRlbSwgcGF0aCkpKTtcclxuICB9XHJcblxyXG4gIGZpbHRlckJ5UmFuZ2UocGF0aDogc3RyaW5nLCBmcm9tOiBhbnksIHRvOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpOiBib29sZWFuID0+IGdldChpdGVtLCBwYXRoKSA+PSBmcm9tICYmIGdldChpdGVtLCBwYXRoKSA8PSB0byk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeUZpbmFuY2lhbFllYXIocGF0aDogc3RyaW5nLCBmaW5hbmNpYWxZZWFyOiBGaW5hbmNpYWxZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyQnlSYW5nZShwYXRoLCBmaW5hbmNpYWxZZWFyLnN0YXJ0RGF0ZSwgZmluYW5jaWFsWWVhci5lbmREYXRlKTtcclxuICB9XHJcblxyXG4gIGZpbmQoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IE1vZGVsIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIGZpbmRCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgobW9kZWw6IE1vZGVsKSA9PiB2YWx1ZSA9PT0gZ2V0KG1vZGVsLCBwYXRoKSk7XHJcbiAgfVxyXG5cclxuICBmaW5kSW5kZXhCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZEluZGV4KChpdGVtOiBNb2RlbCkgPT4gZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSkgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1c2goLi4uaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMucHVzaCguLi5pdGVtcyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KCdpZCcsIGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBUT0RPIGl0J3MgZmlsdGVyLCBub3QgcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gIShBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXSkuaW5jbHVkZXMoZ2V0KGl0ZW0sIHBhdGgpKSk7XHJcbiAgfVxyXG5cclxuICByZXBsYWNlQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCBpdGVtOiBNb2RlbCk6IHRoaXMge1xyXG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZmluZEluZGV4QnkocGF0aCwgdmFsdWUpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgZGlmZihpdGVtczogTW9kZWxbXSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChtb2RlbDogTW9kZWwpID0+ICFpdGVtcy5tYXAoKGl0ZW06IE1vZGVsKSA9PiBpdGVtLmlkKS5pbmNsdWRlcyhtb2RlbC5pZCkpO1xyXG4gIH1cclxuXHJcbiAgbWluQnkocGF0aDogc3RyaW5nKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2OiBNb2RlbCwgY3VycmVudDogTW9kZWwpID0+IChnZXQocHJldiwgcGF0aCkgPCBnZXQoY3VycmVudCwgcGF0aCkgPyBwcmV2IDogY3VycmVudCkpO1xyXG4gIH1cclxuXHJcbiAgbWF4QnkocGF0aDogc3RyaW5nKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChwcmV2OiBNb2RlbCwgY3VycmVudDogTW9kZWwpID0+IChnZXQocHJldiwgcGF0aCkgPiBnZXQoY3VycmVudCwgcGF0aCkgPyBwcmV2IDogY3VycmVudCkpO1xyXG4gIH1cclxuXHJcbiAgcmVkdWNlKGNhbGxiYWNrOiAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKSA9PiBudW1iZXIsIGluaXQgPSAwKTogbnVtYmVyIHtcclxuICAgIHJldHVybiArdGhpcy5pdGVtcy5yZWR1Y2UoY2FsbGJhY2ssIGluaXQpLnRvRml4ZWQoMik7XHJcbiAgfVxyXG5cclxuICBzbGljZShmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMuc2xpY2UoZnJvbSwgdG8pO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxufVxyXG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0RDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBU3JCLFlBQVksUUFBaUIsRUFBRTtRQUwvQjs7V0FFRztRQUNILFVBQUssR0FBRyxDQUFDLENBQUM7UUFHUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQix1RUFBdUU7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBaUIsRUFBRTtRQUN4QixPQUFPLElBQUssSUFBSSxDQUFDLFdBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxL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QU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVksRUFBRSxFQUFVO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xyXG5pbXBvcnQgZmlyc3QgZnJvbSAnbG9kYXNoL2ZpcnN0JztcclxuaW1wb3J0IGxhc3QgZnJvbSAnbG9kYXNoL2xhc3QnO1xyXG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xyXG5pbXBvcnQgeyBzb3J0IH0gZnJvbSAnLi4vZnVuY3Rpb25zL2FycmF5JztcclxuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uL2RiL01vZGVscyc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnksIEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY29sbGVjdGlvbiBjbGFzcy4gQ29udGFpbnMgY29tbW9uIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgZm9yIGFsbCBjb2xsZWN0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsPiBpbXBsZW1lbnRzIEl0ZXJhYmxlPE1vZGVsPiB7XHJcbiAgLy8gbGlzdCBvZiBjb2xsZWN0aW9uJ3MgaXRlbXNcclxuICBpdGVtczogTW9kZWxbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogaW5kZXggb2YgY3VycmVudCBpdGVtLCB1c2VkIHRvIGl0ZXJhdGUgb3ZlciB0aGUgY29sbGVjdGlvblxyXG4gICAqL1xyXG4gIGluZGV4ID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoaXRlbXM6IE1vZGVsW10gPSBbXSkge1xyXG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xyXG4gICAgLy8gQFRPRE8gQWxleDogVGhpbmsgYW5kIGltcGxlbWVudCBzb21lIHNtYXJ0IHNvbHV0aW9uIGZvciBkZWZhdWx0IHNvcnRcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0ZXJhdG9yIHRoYXQgYWxsb3cgdG8gaXRlcmF0ZSBjb2xsZWN0aW9uIGl0ZW1zXHJcbiAgICovXHJcbiAgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmF0b3I8TW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKGl0ZW1zOiBNb2RlbFtdID0gW10pOiB0aGlzIHtcclxuICAgIHJldHVybiBuZXcgKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KShpdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICB0b0FycmF5KCk6IE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLml0ZW1zXTtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gZmlyc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gbGFzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IE1vZGVsIHtcclxuICAgIHRoaXMuaW5kZXggPSAwO1xyXG5cclxuICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpOiBNb2RlbCB7XHJcbiAgICBpZiAodGhpcy5pbmRleCA8IHRoaXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgrKztcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpOiBNb2RlbCB7XHJcbiAgICBpZiAodGhpcy5pbmRleCA+IDApIHtcclxuICAgICAgdGhpcy5pbmRleC0tO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pbmRleF07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRJZHMoKTogbnVtYmVyW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtOiBNb2RlbCk6IG51bWJlciA9PiBpdGVtWydpZCddKTtcclxuICB9XHJcblxyXG4gIG1hcChjYWxsYmFjazogKGl0ZW06IE1vZGVsKSA9PiBhbnkpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgbWFwQnkocGF0aDogc3RyaW5nKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtOiBNb2RlbCk6IGFueSA9PiBnZXQoaXRlbSwgcGF0aCkpXHJcbiAgfVxyXG5cclxuICBzb3J0QnkoZmllbGQgPSAnaWQnLCBpc0Rlc2MgPSB0cnVlKTogdGhpcyB7XHJcbiAgICBzb3J0KHRoaXMuaXRlbXMsIGZpZWxkLCBpc0Rlc2MpO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc29ydChjYWxsYmFjazogKGE6IE1vZGVsLCBiOiBNb2RlbCkgPT4gbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNvcnQoY2FsbGJhY2spO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRvdGFsIHN1bSBvZiBpdGVtcyBieSBmaWVsZFxyXG4gICAqL1xyXG4gIHN1bUJ5KHBhdGg6IHN0cmluZywgYWJzID0gZmFsc2UpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMucmVkdWNlKFxyXG4gICAgICAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKTogbnVtYmVyID0+IHN1bSArIChhYnMgPyBNYXRoLmFicyhOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSkgOiBOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBncm91cEJ5KHBhdGggPSAnJyk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PHRoaXM+IHtcclxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkodGhpcywgcGF0aCk7XHJcbiAgfVxyXG5cclxuICBpbmRleEJ5KHBhdGg6IHN0cmluZyk6IERpY3Rpb25hcnk8TW9kZWw+IHtcclxuICAgIHJldHVybiBuZXcgRGljdGlvbmFyeSh0aGlzLml0ZW1zLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGZpbHRlcihjYWxsYmFjazogKGl0ZW06IE1vZGVsKSA9PiBib29sZWFuKTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5pdGVtcy5maWx0ZXIoY2FsbGJhY2spKTtcclxuICB9XHJcblxyXG4gIGZpbHRlckJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpID0+IChBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXSkuaW5jbHVkZXMoZ2V0KGl0ZW0sIHBhdGgpKSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeVJhbmdlKHBhdGg6IHN0cmluZywgZnJvbTogYW55LCB0bzogYW55KTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGl0ZW06IE1vZGVsKTogYm9vbGVhbiA9PiBnZXQoaXRlbSwgcGF0aCkgPj0gZnJvbSAmJiBnZXQoaXRlbSwgcGF0aCkgPD0gdG8pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnlGaW5hbmNpYWxZZWFyKHBhdGg6IHN0cmluZywgZmluYW5jaWFsWWVhcjogRmluYW5jaWFsWWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKCkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5UmFuZ2UocGF0aCwgZmluYW5jaWFsWWVhci5zdGFydERhdGUsIGZpbmFuY2lhbFllYXIuZW5kRGF0ZSk7XHJcbiAgfVxyXG5cclxuICBmaW5kKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZChjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICBmaW5kQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogTW9kZWwgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKG1vZGVsOiBNb2RlbCkgPT4gdmFsdWUgPT09IGdldChtb2RlbCwgcGF0aCkpO1xyXG4gIH1cclxuXHJcbiAgZmluZEluZGV4QnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmRJbmRleCgoaXRlbTogTW9kZWwpID0+IGdldChpdGVtLCBwYXRoKSA9PT0gdmFsdWUpID8/IG51bGw7XHJcbiAgfVxyXG5cclxuICBwdXNoKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnB1c2goLi4uaXRlbXMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSguLi5pdGVtczogTW9kZWxbXSk6IHRoaXMge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5maW5kSW5kZXhCeSgnaWQnLCBpdGVtLmlkKTtcclxuICAgICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAVE9ETyBpdCdzIGZpbHRlciwgbm90IHJlbW92ZVxyXG4gICAqL1xyXG4gIHJlbW92ZUJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpID0+ICEoQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc10pLmluY2x1ZGVzKGdldChpdGVtLCBwYXRoKSkpO1xyXG4gIH1cclxuXHJcbiAgcmVwbGFjZUJ5KHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSwgaXRlbTogTW9kZWwpOiB0aGlzIHtcclxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KHBhdGgsIHZhbHVlKTtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGluZGV4LCAxLCBpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIGRpZmYoaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigobW9kZWw6IE1vZGVsKSA9PiAhaXRlbXMubWFwKChpdGVtOiBNb2RlbCkgPT4gaXRlbS5pZCkuaW5jbHVkZXMobW9kZWwuaWQpKTtcclxuICB9XHJcblxyXG4gIG1pbkJ5KHBhdGg6IHN0cmluZyk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldjogTW9kZWwsIGN1cnJlbnQ6IE1vZGVsKSA9PiAoZ2V0KHByZXYsIHBhdGgpIDwgZ2V0KGN1cnJlbnQsIHBhdGgpID8gcHJldiA6IGN1cnJlbnQpKTtcclxuICB9XHJcblxyXG4gIG1heEJ5KHBhdGg6IHN0cmluZyk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldjogTW9kZWwsIGN1cnJlbnQ6IE1vZGVsKSA9PiAoZ2V0KHByZXYsIHBhdGgpID4gZ2V0KGN1cnJlbnQsIHBhdGgpID8gcHJldiA6IGN1cnJlbnQpKTtcclxuICB9XHJcblxyXG4gIHJlZHVjZShjYWxsYmFjazogKHN1bTogbnVtYmVyLCBpdGVtOiBNb2RlbCkgPT4gbnVtYmVyLCBpbml0ID0gMCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gK3RoaXMuaXRlbXMucmVkdWNlKGNhbGxiYWNrLCBpbml0KS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuXHJcbiAgc2xpY2UoZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNsaWNlKGZyb20sIHRvKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,61 @@
1
+ import { HoldingReinvest } from '../../models';
2
+ import { plainToClass } from 'class-transformer';
3
+ import { AbstractForm } from '../abstract.form';
4
+ import { HoldingForm } from './holding.form';
5
+ import { HoldingIncomeForm } from '../transaction/holding/holding-income.form';
6
+ import { TransactionTypeEnum } from '../../db/Enums/transaction-type.enum';
7
+ export class HoldingReinvestForm extends AbstractForm {
8
+ constructor(reinvest) {
9
+ super({
10
+ transaction: new HoldingIncomeForm(reinvest.transaction, null, []),
11
+ holding: new HoldingForm(reinvest.holding)
12
+ }, reinvest);
13
+ this.reinvest = reinvest;
14
+ // emit values to trigger changes and create chart accounts metafields
15
+ this.get('transaction').emitValues();
16
+ // disable amount field because we calculate the value automatically and this field is visible as disabled
17
+ this.get(['transaction', 'amount']).disable();
18
+ this.listenEvents();
19
+ }
20
+ listenEvents() {
21
+ this.listenHoldingChanges();
22
+ this.listenDateChanges();
23
+ }
24
+ get transactionForm() {
25
+ return this.get('transaction');
26
+ }
27
+ get holdingForm() {
28
+ return this.get('holding');
29
+ }
30
+ /**
31
+ * Set transaction amount based on holding quantity and price
32
+ */
33
+ listenHoldingChanges() {
34
+ // we can watch the whole holding form because we have only 2 fields in the form template
35
+ this.get('holding').valueChanges.subscribe((value) => {
36
+ if (!value.quantity || !value.price) {
37
+ this.get(['transaction', 'amount']).setValue(0);
38
+ return;
39
+ }
40
+ this.get(['transaction', 'amount']).setValue(value.quantity * value.price);
41
+ });
42
+ }
43
+ /**
44
+ * Set holding date the same as transaction date
45
+ */
46
+ listenDateChanges() {
47
+ this.get(['transaction', 'date']).valueChanges.subscribe((date) => {
48
+ this.get(['holding', 'date']).setValue(date);
49
+ });
50
+ }
51
+ /**
52
+ * @TODO Alex (TT-2847): attach file to both (transaction and holding) when files system refactored
53
+ */
54
+ submit() {
55
+ return plainToClass(HoldingReinvest, {
56
+ transaction: this.transactionForm.submit({ type: TransactionTypeEnum.CREDIT }),
57
+ holding: this.holdingForm.submit({ fee: 0, type: this.reinvest.holding.type })
58
+ });
59
+ }
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1yZWludmVzdC5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2Zvcm1zL2hvbGRpbmcvaG9sZGluZy1yZWludmVzdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQTZCO0lBQ3BFLFlBQ1UsUUFBeUI7UUFFakMsS0FBSyxDQUFDO1lBQ0osV0FBVyxFQUFFLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2xFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1NBQzNDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFMTCxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQU9qQyxzRUFBc0U7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQXVCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFNUQsMEdBQTBHO1FBQzFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU5QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQXNCLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFnQixDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQjtRQUMxQix5RkFBeUY7UUFDekYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssaUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDdEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLFlBQVksQ0FBQyxlQUFlLEVBQUU7WUFDbkMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQy9FLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvbGRpbmdSZWludmVzdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBIb2xkaW5nRm9ybSB9IGZyb20gJy4vaG9sZGluZy5mb3JtJztcbmltcG9ydCB7IEhvbGRpbmdJbmNvbWVGb3JtIH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24vaG9sZGluZy9ob2xkaW5nLWluY29tZS5mb3JtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgSG9sZGluZ1JlaW52ZXN0Rm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxIb2xkaW5nUmVpbnZlc3Q+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlaW52ZXN0OiBIb2xkaW5nUmVpbnZlc3RcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdHJhbnNhY3Rpb246IG5ldyBIb2xkaW5nSW5jb21lRm9ybShyZWludmVzdC50cmFuc2FjdGlvbiwgbnVsbCwgW10pLFxuICAgICAgaG9sZGluZzogbmV3IEhvbGRpbmdGb3JtKHJlaW52ZXN0LmhvbGRpbmcpXG4gICAgfSwgcmVpbnZlc3QpO1xuXG4gICAgLy8gZW1pdCB2YWx1ZXMgdG8gdHJpZ2dlciBjaGFuZ2VzIGFuZCBjcmVhdGUgY2hhcnQgYWNjb3VudHMgbWV0YWZpZWxkc1xuICAgICh0aGlzLmdldCgndHJhbnNhY3Rpb24nKSBhcyBIb2xkaW5nSW5jb21lRm9ybSkuZW1pdFZhbHVlcygpO1xuXG4gICAgLy8gZGlzYWJsZSBhbW91bnQgZmllbGQgYmVjYXVzZSB3ZSBjYWxjdWxhdGUgdGhlIHZhbHVlIGF1dG9tYXRpY2FsbHkgYW5kIHRoaXMgZmllbGQgaXMgdmlzaWJsZSBhcyBkaXNhYmxlZFxuICAgIHRoaXMuZ2V0KFsndHJhbnNhY3Rpb24nLCAnYW1vdW50J10pLmRpc2FibGUoKTtcblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ib2xkaW5nQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuRGF0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRyYW5zYWN0aW9uRm9ybSgpOiBIb2xkaW5nSW5jb21lRm9ybSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCd0cmFuc2FjdGlvbicpIGFzIEhvbGRpbmdJbmNvbWVGb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaG9sZGluZ0Zvcm0oKTogSG9sZGluZ0Zvcm0ge1xuICAgIHJldHVybiB0aGlzLmdldCgnaG9sZGluZycpIGFzIEhvbGRpbmdGb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0cmFuc2FjdGlvbiBhbW91bnQgYmFzZWQgb24gaG9sZGluZyBxdWFudGl0eSBhbmQgcHJpY2VcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuSG9sZGluZ0NoYW5nZXMoKTogdm9pZCB7XG4gICAgLy8gd2UgY2FuIHdhdGNoIHRoZSB3aG9sZSBob2xkaW5nIGZvcm0gYmVjYXVzZSB3ZSBoYXZlIG9ubHkgMiBmaWVsZHMgaW4gdGhlIGZvcm0gdGVtcGxhdGVcbiAgICB0aGlzLmdldCgnaG9sZGluZycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIXZhbHVlLnF1YW50aXR5IHx8ICF2YWx1ZS5wcmljZSkge1xuICAgICAgICB0aGlzLmdldChbJ3RyYW5zYWN0aW9uJywgJ2Ftb3VudCddKS5zZXRWYWx1ZSgwKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmdldChbJ3RyYW5zYWN0aW9uJywgJ2Ftb3VudCddKS5zZXRWYWx1ZSh2YWx1ZS5xdWFudGl0eSAqIHZhbHVlLnByaWNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaG9sZGluZyBkYXRlIHRoZSBzYW1lIGFzIHRyYW5zYWN0aW9uIGRhdGVcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuRGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXQoWyd0cmFuc2FjdGlvbicsICdkYXRlJ10pLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHtcbiAgICAgIHRoaXMuZ2V0KFsnaG9sZGluZycsICdkYXRlJ10pLnNldFZhbHVlKGRhdGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXggKFRULTI4NDcpOiBhdHRhY2ggZmlsZSB0byBib3RoICh0cmFuc2FjdGlvbiBhbmQgaG9sZGluZykgd2hlbiBmaWxlcyBzeXN0ZW0gcmVmYWN0b3JlZFxuICAgKi9cbiAgc3VibWl0KCk6IEhvbGRpbmdSZWludmVzdCB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhIb2xkaW5nUmVpbnZlc3QsIHtcbiAgICAgIHRyYW5zYWN0aW9uOiB0aGlzLnRyYW5zYWN0aW9uRm9ybS5zdWJtaXQoeyB0eXBlOiBUcmFuc2FjdGlvblR5cGVFbnVtLkNSRURJVCB9KSxcbiAgICAgIGhvbGRpbmc6IHRoaXMuaG9sZGluZ0Zvcm0uc3VibWl0KHsgZmVlOiAwLCB0eXBlOiB0aGlzLnJlaW52ZXN0LmhvbGRpbmcudHlwZSB9KVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from './holding-sale.form';
2
2
  export * from './holding-type.form';
3
3
  export * from './holding.form';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy1zYWxlLmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nLXR5cGUuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmcuZm9ybSc7XG4iXX0=
4
+ export * from './holding-reinvest.form';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvaG9sZGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nLXNhbGUuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmctdHlwZS5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vaG9sZGluZy1yZWludmVzdC5mb3JtJztcbiJdfQ==
@@ -1,22 +1,16 @@
1
1
  import { AbstractForm } from '../abstract.form';
2
2
  import { UntypedFormControl, Validators } from '@angular/forms';
3
3
  export class SoleInvoiceItemForm extends AbstractForm {
4
- constructor(item, isIncome) {
4
+ constructor(item, isExpense) {
5
5
  super({
6
- isIncome: new UntypedFormControl(isIncome),
6
+ isExpense: new UntypedFormControl(isExpense),
7
7
  description: new UntypedFormControl(item.description, [Validators.required, Validators.maxLength(SoleInvoiceItemForm.maxDescriptionLength)]),
8
8
  quantity: new UntypedFormControl(item.quantity, Validators.required),
9
9
  price: new UntypedFormControl(item.price, Validators.required),
10
10
  isGST: new UntypedFormControl({ value: item.isGST || false, disabled: !item.chartAccounts?.isGST }),
11
11
  chartAccounts: new UntypedFormControl(item.chartAccounts, Validators.required),
12
12
  }, item);
13
- this.get('price').valueChanges.subscribe((value) => {
14
- // expense should be negative
15
- if (!this.get('isIncome').value && value > 0) {
16
- this.get('price').setValue(-value);
17
- }
18
- });
19
13
  }
20
14
  }
21
15
  SoleInvoiceItemForm.maxDescriptionLength = 255;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLWl0ZW0uZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9zb2xlL3NvbGUtaW52b2ljZS1pdGVtLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBNkI7SUFHcEUsWUFBWSxJQUFxQixFQUFFLFFBQWlCO1FBQ2xELEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztZQUMxQyxXQUFXLEVBQUUsSUFBSSxrQkFBa0IsQ0FDakMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUN0RjtZQUNELFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwRSxLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDOUQsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUMsQ0FBQztZQUNqRyxhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDL0UsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVULElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pELDZCQUE2QjtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFyQk0sd0NBQW9CLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY2xhc3MgU29sZUludm9pY2VJdGVtRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlSW52b2ljZUl0ZW0+IHtcbiAgc3RhdGljIG1heERlc2NyaXB0aW9uTGVuZ3RoID0gMjU1O1xuXG4gIGNvbnN0cnVjdG9yKGl0ZW06IFNvbGVJbnZvaWNlSXRlbSwgaXNJbmNvbWU6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih7XG4gICAgICBpc0luY29tZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpc0luY29tZSksXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChcbiAgICAgICAgaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFNvbGVJbnZvaWNlSXRlbUZvcm0ubWF4RGVzY3JpcHRpb25MZW5ndGgpXVxuICAgICAgKSxcbiAgICAgIHF1YW50aXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGl0ZW0ucXVhbnRpdHksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcHJpY2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaXRlbS5wcmljZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpc0dTVDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IGl0ZW0uaXNHU1QgfHwgZmFsc2UsIGRpc2FibGVkOiAhaXRlbS5jaGFydEFjY291bnRzPy5pc0dTVH0pLFxuICAgICAgY2hhcnRBY2NvdW50czogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpdGVtLmNoYXJ0QWNjb3VudHMsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIH0sIGl0ZW0pO1xuXG4gICAgdGhpcy5nZXQoJ3ByaWNlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIC8vIGV4cGVuc2Ugc2hvdWxkIGJlIG5lZ2F0aXZlXG4gICAgICBpZiAoIXRoaXMuZ2V0KCdpc0luY29tZScpLnZhbHVlICYmIHZhbHVlID4gMCkge1xuICAgICAgICB0aGlzLmdldCgncHJpY2UnKS5zZXRWYWx1ZSgtdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLWl0ZW0uZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9zb2xlL3NvbGUtaW52b2ljZS1pdGVtLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBNkI7SUFHcEUsWUFBWSxJQUFxQixFQUFFLFNBQWtCO1FBQ25ELEtBQUssQ0FBQztZQUNKLFNBQVMsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztZQUM1QyxXQUFXLEVBQUUsSUFBSSxrQkFBa0IsQ0FDakMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUN0RjtZQUNELFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNwRSxLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDOUQsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUMsQ0FBQztZQUNqRyxhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDL0UsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7O0FBZE0sd0NBQW9CLEdBQUcsR0FBRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY2xhc3MgU29sZUludm9pY2VJdGVtRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlSW52b2ljZUl0ZW0+IHtcbiAgc3RhdGljIG1heERlc2NyaXB0aW9uTGVuZ3RoID0gMjU1O1xuXG4gIGNvbnN0cnVjdG9yKGl0ZW06IFNvbGVJbnZvaWNlSXRlbSwgaXNFeHBlbnNlOiBib29sZWFuKSB7XG4gICAgc3VwZXIoe1xuICAgICAgaXNFeHBlbnNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGlzRXhwZW5zZSksXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChcbiAgICAgICAgaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFNvbGVJbnZvaWNlSXRlbUZvcm0ubWF4RGVzY3JpcHRpb25MZW5ndGgpXVxuICAgICAgKSxcbiAgICAgIHF1YW50aXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGl0ZW0ucXVhbnRpdHksIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcHJpY2U6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaXRlbS5wcmljZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpc0dTVDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7dmFsdWU6IGl0ZW0uaXNHU1QgfHwgZmFsc2UsIGRpc2FibGVkOiAhaXRlbS5jaGFydEFjY291bnRzPy5pc0dTVH0pLFxuICAgICAgY2hhcnRBY2NvdW50czogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpdGVtLmNoYXJ0QWNjb3VudHMsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIH0sIGl0ZW0pO1xuICB9XG59XG4iXX0=
@@ -22,7 +22,7 @@ export class SoleInvoiceForm extends AbstractForm {
22
22
  reference: new UntypedFormControl(invoice.reference)
23
23
  }),
24
24
  items: new UntypedFormArray((invoice.items || [plainToClass(SoleInvoiceItem, {})])
25
- .map((item) => new SoleInvoiceItemForm(item, item.chartAccounts?.isIncome() ?? true))),
25
+ .map((item) => new SoleInvoiceItemForm(item, item.chartAccounts?.isExpense() ?? false))),
26
26
  }, invoice);
27
27
  this.invoice = invoice;
28
28
  this.soleDetailsGST = soleDetailsGST;
@@ -160,4 +160,4 @@ export class SoleInvoiceForm extends AbstractForm {
160
160
  return this.createModelInstance(Object.assign({}, this.model, { ...formRawValue.commonData, items: formRawValue.items }));
161
161
  }
162
162
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvc29sZS9zb2xlLWludm9pY2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFlLGVBQWUsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUduRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUNVLE9BQW9CLEVBQ3BCLGNBQXVCO0lBQy9CLHFDQUFxQztJQUM3QixlQUFvQztRQUU1QyxLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQztnQkFDL0IsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JGLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbkUsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNqRSxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMs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QUFDLENBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgU29sZUludm9pY2UsIFNvbGVJbnZvaWNlSXRlbSwgU29sZUludm9pY2VUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUl0ZW1Gb3JtIH0gZnJvbSAnLi9zb2xlLWludm9pY2UtaXRlbS5mb3JtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRheFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc29sZS1pbnZvaWNlLXRheC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbi8qKlxuICogRm9ybSBpcyBkaXZpZGVkIGludG8gdHdvIGdyb3Vwcywgc2luY2UgdGhlIGNyZWF0aW9uIG9mIFNvbGUgaW52b2ljZSB0YWtlcyBwbGFjZSBpbiB0d28gc3RlcHM6XG4gKiBhIGNvbW1vbiBpbnZvaWNlIGRhdGEgYW5kIHNvbGUgaW52b2ljZSBpdGVtcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvbGVJbnZvaWNlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlSW52b2ljZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW52b2ljZTogU29sZUludm9pY2UsXG4gICAgcHJpdmF0ZSBzb2xlRGV0YWlsc0dTVDogYm9vbGVhbixcbiAgICAvLyBkZWZhdWx0IHRlbXBsYXRlIHRvIGJlIHByZXNlbGVjdGVkXG4gICAgcHJpdmF0ZSBkZWZhdWx0VGVtcGxhdGU6IFNvbGVJbnZvaWNlVGVtcGxhdGUsXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvbW1vbkRhdGE6IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgZGF0ZUZyb206IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5kYXRlRnJvbSB8fCBuZXcgRGF0ZSgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgZGF0ZVRvOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGludm9pY2UuZGF0ZVRvLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgcGF5ZXI6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5wYXllciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHRheFR5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS50YXhUeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYmFua0FjY291bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5iYW5rQWNjb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHJlZmVyZW5jZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpbnZvaWNlLnJlZmVyZW5jZSlcbiAgICAgIH0pLFxuICAgICAgaXRlbXM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KChpbnZvaWNlLml0ZW1zIHx8IFtwbGFpblRvQ2xhc3MoU29sZUludm9pY2VJdGVtLCB7fSldKVxuICAgICAgICAubWFwKChpdGVtOiBTb2xlSW52b2ljZUl0ZW0pID0+IG5ldyBTb2xlSW52b2ljZUl0ZW1Gb3JtKGl0ZW0sIGl0ZW0uY2hhcnRBY2NvdW50cz8uaXNJbmNvbWUoKSA/PyB0cnVlKSkpLFxuICAgIH0sIGludm9pY2UpO1xuXG4gICAgLy8gd2UgbmVlZCBpbnZvaWNlIHRlbXBsYXRlIG9ubHkgZm9yIG5ldyBpbnZvaWNlc1xuICAgIGlmICghaW52b2ljZS5pZCkge1xuICAgICAgKHRoaXMuY29tbW9uRGF0YSkuYWRkQ29udHJvbCgndGVtcGxhdGUnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuZGVmYXVsdFRlbXBsYXRlKSk7XG5cbiAgICAgIC8vIHVzZXIgY2FuIGhhdmUgbm8gdGVtcGxhdGUsIGJ1dCBoZSBjYW4gYWRkIGl0IGZyb20gdGhpcyBmb3JtXG4gICAgICBpZiAodGhpcy5kZWZhdWx0VGVtcGxhdGUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVUZW1wbGF0ZVJlbGF0ZWRGaWVsZHModGhpcy5kZWZhdWx0VGVtcGxhdGUpO1xuICAgICAgfVxuXG4gICAgICAvLyBzZXQgdGF4IGV4Y2x1c2l2ZSBieSBkZWZhdWx0IGlmIHVzZXIgaXMgcmVnaXN0ZXJlZCBmb3IgZ3N0XG4gICAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCd0YXhUeXBlJykuc2V0VmFsdWUoU29sZUludm9pY2VUYXhUeXBlRW51bS5UQVhfRVhDTFVTSVZFKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpbnZvaWNlLnRheFR5cGUgaXMgYWx3YXlzIE5PTkUgKCdObyBUYXgnKSB3aGVuIHNvbGVEZXRhaWxzLmlzR1NUID09PSBmYWxzZVxuICAgIGlmICghdGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgndGF4VHlwZScpLnNldFZhbHVlKFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYKTtcbiAgICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ3RheFR5cGUnKS5kaXNhYmxlKCk7XG5cbiAgICAgIC8vIEl0ZW1zIGlzR1NUIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBpbnZvaWNlLnRheFR5cGUgPT09IE5PTkUgKCdObyBUYXgnKVxuICAgICAgdGhpcy5pdGVtcy5jb250cm9scy5mb3JFYWNoKChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSkgPT4ge1xuICAgICAgICB0aGlzLmRpc2FibGVJdGVtR1NUKGl0ZW1Gb3JtKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBnZXQgaXRlbXMoKTogVW50eXBlZEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCdpdGVtcycpIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgLy8gbm8gbmVlZCB0byBsaXN0ZW4gdGF4IHR5cGUgYW5kIGl0ZW1zIGNoYXJ0IGFjY291bnRzIGNoYW5nZXMgd2hlbiBzb2xlRGV0YWlscy5pc0dTVCA9PT0gZmFsc2VcbiAgICAvLyBiZWNhdXNlIGludm9pY2UgdGF4IHR5cGUgYWx3YXlzICdObyBUYXgnIGluIHRoaXMgY2FzZSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgY2hhbmdpbmdcbiAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5saXN0ZW5UYXhUeXBlQ2hhbmdlcygpO1xuXG4gICAgICB0aGlzLml0ZW1zLmNvbnRyb2xzLmZvckVhY2goKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdGVuSXRlbUNoYXJ0QWNjb3VudHNDaGFuZ2VzKGl0ZW1Gb3JtKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIG5vdGhpbmcgdG8gbGlzdGVuIGlmIHRlbXBsYXRlIGZpZWxkIGlzIG5vdCBleGlzdCAoZWRpdCBpbnZvaWNlIGNhc2UpXG4gICAgaWYgKCh0aGlzLmNvbW1vbkRhdGEpLmNvbnRhaW5zKCd0ZW1wbGF0ZScpKSB7XG4gICAgICB0aGlzLmxpc3RlblRlbXBsYXRlQ2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGFkZEl0ZW0oaXNJbmNvbWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSA9IG5ldyBTb2xlSW52b2ljZUl0ZW1Gb3JtKHBsYWluVG9DbGFzcyhTb2xlSW52b2ljZUl0ZW0sIHt9KSwgaXNJbmNvbWUpO1xuICAgIC8vIG5vIG5lZWQgdG8gbGlzdGVuIGl0ZW1zIGNoYXJ0IGFjY291bnRzIGNoYW5nZXMgd2hlbiBzb2xlRGV0YWlscy5pc0dTVCA9PT0gZmFsc2VcbiAgICAvLyBiZWNhdXNlIGludm9pY2UgdGF4IHR5cGUgYWx3YXlzICdObyBUYXgnIGluIHRoaXMgY2FzZSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgY2hhbmdpbmdcbiAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5saXN0ZW5JdGVtQ2hhcnRBY2NvdW50c0NoYW5nZXMoaXRlbUZvcm0pO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbXMucHVzaChpdGVtRm9ybSk7XG4gIH1cblxuICByZW1vdmVJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zLnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG4gIHN1Ym1pdChkYXRhOiBvYmplY3QgPSB7fSk6IFNvbGVJbnZvaWNlIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy5tYXJrQWxsQXNUb3VjaGVkKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMudmFsaWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGludm9pY2VJbnN0YW5jZTogU29sZUludm9pY2UgPSB0aGlzLmN1cnJlbnRWYWx1ZTtcblxuICAgIHRoaXMub25TdWJtaXQuZW1pdChpbnZvaWNlSW5zdGFuY2UpO1xuICAgIHJldHVybiBpbnZvaWNlSW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGRlZmF1bHQgdmFsdWVzIGZyb20gc2VsZWN0ZWQgaW52b2ljZSB0ZW1wbGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5UZW1wbGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jb21tb25EYXRhLmdldCgndGVtcGxhdGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0ZW1wbGF0ZTogU29sZUludm9pY2VUZW1wbGF0ZSkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVUZW1wbGF0ZVJlbGF0ZWRGaWVsZHModGVtcGxhdGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdTVCBpcyBub3QgYXZhaWxhYmxlIGZvciBpdGVtcyB3aGVuIGludm9pY2UudGF4VHlwZSA9PT0gTk9ORVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5UYXhUeXBlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCd0YXhUeXBlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodHlwZTogU29sZUludm9pY2VUYXhUeXBlRW51bSkgPT4ge1xuICAgICAgdGhpcy5pdGVtcy5jb250cm9scy5mb3JFYWNoKChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzID0gaXRlbUZvcm0uZ2V0KCdjaGFydEFjY291bnRzJykudmFsdWU7XG5cbiAgICAgICAgLy8gSXRlbSBHU1QgaXMgYXZhaWxhYmxlIHdoZW4gaW52b2ljZS50YXhUeXBlICE9PSBOT05FICgnTm8gVGF4JylcbiAgICAgICAgaWYgKHR5cGUgIT09IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYICYmIGNoYXJ0QWNjb3VudHM/LmlzR1NUICkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlSXRlbUdTVChpdGVtRm9ybSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaXNhYmxlSXRlbUdTVChpdGVtRm9ybSk7XG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRlbXBsYXRlUmVsYXRlZEZpZWxkcyh0ZW1wbGF0ZTogU29sZUludm9pY2VUZW1wbGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ2JhbmtBY2NvdW50Jykuc2V0VmFsdWUodGVtcGxhdGUuYmFua0FjY291bnQpO1xuXG4gICAgY29uc3QgZGF0ZUZyb206IERhdGUgPSB0aGlzLmNvbW1vbkRhdGEuZ2V0KCdkYXRlRnJvbScpLnZhbHVlO1xuICAgIGlmIChkYXRlRnJvbSkge1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgnZGF0ZVRvJykuc2V0VmFsdWUobmV3IERhdGUoZGF0ZUZyb20uZ2V0VGltZSgpICsgdGVtcGxhdGUudGVybVRpbWUpKTtcbiAgICB9XG5cbiAgICAvLyBpbnZvaWNlLnRheFR5cGUgaXMgYWx3YXlzICdObyBUYXgnIHdoZW4gc29sZURldGFpbHMuaXNHU1QgPSBmYWxzZSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgY2hhbmdpbmdcbiAgICBpZiAodGhpcy5zb2xlRGV0YWlsc0dTVCkge1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgndGF4VHlwZScpLnNldFZhbHVlKHRlbXBsYXRlLnRheFR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHU1QgYXZhaWxhYmlsaXR5IGRlcGVuZHMgb24gY2hhcnQgYWNjb3VudHMgaXNHU1QgZmxhZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5JdGVtQ2hhcnRBY2NvdW50c0NoYW5nZXMoaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0pOiB2b2lkIHtcbiAgICBpdGVtRm9ybS5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKSA9PiB7XG4gICAgICAvLyBpdGVtLmlzR1NUIGlzIGF2YWlsYWJsZSBvbmx5IHdoZW4gaXRlbS5jaGFydEFjY291bnRzLmlzR1NUID09PSB0cnVlLCBzb2xlRGV0YWlscy5pc0dTVCA9PT0gdHJ1ZSBhbmQgaW52b2ljZS50YXhUeXBlICE9PSBOT05FICgnTm8gVGF4JylcbiAgICAgIGlmICh0aGlzLnNvbGVEZXRhaWxzR1NUICYmIGNoYXJ0QWNjb3VudHMuaXNHU1QgJiYgIXRoaXMuY3VycmVudFZhbHVlLmlzTm9UYXgoKSkge1xuICAgICAgICB0aGlzLmVuYWJsZUl0ZW1HU1QoaXRlbUZvcm0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGlzYWJsZUl0ZW1HU1QoaXRlbUZvcm0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlSXRlbUdTVChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSk6IHZvaWQge1xuICAgIGl0ZW1Gb3JtLmdldCgnaXNHU1QnKS5zZXRWYWx1ZShmYWxzZSk7XG4gICAgaXRlbUZvcm0uZ2V0KCdpc0dTVCcpLmRpc2FibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgR1NUIGZpZWxkIGZvciBwYXNzZWQgaXRlbSBmb3JtLiBWYWx1ZSBpcyBhbHdheXMgdHJ1ZSBieSBkZWZhdWx0IGJlY2F1c2Ugb25seSBjYXNlIHdoZW4gdGhpcyBmaWVsZCBpcyBlbmFibGVkIGlzXG4gICAqIHdoZW4gQ2hhcnRBY2NvdW50cy5pc0dTVCA9PT0gdHJ1ZSwgc28gd2UganVzdCB1c2UgZGVmYXVsdCB2YWx1ZSBmcm9tIGNoYXJ0QWNjb3VudHMuaXNHU1RcbiAgICovXG4gIHByaXZhdGUgZW5hYmxlSXRlbUdTVChpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSk6IHZvaWQge1xuICAgIGl0ZW1Gb3JtLmdldCgnaXNHU1QnKS5zZXRWYWx1ZSh0cnVlKTtcbiAgICBpdGVtRm9ybS5nZXQoJ2lzR1NUJykuZW5hYmxlKCk7XG4gIH1cblxuICBnZXQgY29tbW9uRGF0YSgpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2NvbW1vbkRhdGEnKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJld3JpdGUgYWJzdHJhY3QgZm9ybSBnZXR0ZXIgdG8gZmxhdCBcImNvbW1vbkRhdGFcIiBmaWVsZCwgd2hpY2ggaXMgbm90IGluIHRoZSBjbGFzc1xuICAgKi9cbiAgZ2V0IGN1cnJlbnRWYWx1ZSgpOiBTb2xlSW52b2ljZSB7XG4gICAgY29uc3QgZm9ybVJhd1ZhbHVlOiBhbnkgPSB0aGlzLmdldFJhd1ZhbHVlKCk7XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIHRoaXMubW9kZWwsXG4gICAgICB7Li4uZm9ybVJhd1ZhbHVlLmNvbW1vbkRhdGEsIGl0ZW1zOiBmb3JtUmF3VmFsdWUuaXRlbXN9XG4gICAgKSk7XG4gIH1cbn1cbiJdfQ==
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvc29sZS9zb2xlLWludm9pY2UuZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFlLGVBQWUsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUduRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUF5QjtJQUM1RCxZQUNVLE9BQW9CLEVBQ3BCLGNBQXVCO0lBQy9CLHFDQUFxQztJQUM3QixlQUFvQztRQUU1QyxLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQztnQkFDL0IsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JGLE1BQU0sRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbkUsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNqRSxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JFLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDN0UsU0FBUyxFQUFFLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQzthQUNyRCxDQUFDO1lBQ0YsS0FBSyxFQUFFLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMvRSxHQUFHLENBQUMsQ0FBQyxJQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDNUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQWhCSixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLG1CQUFjLEdBQWQsY0FBYyxDQUFTO1FBRXZCLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQWU1QyxpREFBaUQ7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDZixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFFdkYsOERBQThEO1lBQzlELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUN4RDtZQUVELDZEQUE2RDtZQUM3RCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMvRTtTQUNGO1FBRUQsNkVBQTZFO1FBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUV6Qyx3RUFBd0U7WUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBNkIsRUFBRSxFQUFFO2dCQUM1RCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQXFCLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQVk7UUFDViwrRkFBK0Y7UUFDL0YsdUZBQXVGO1FBQ3ZGLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUE2QixFQUFFLEVBQUU7Z0JBQzVELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFpQjtRQUN2QixNQUFNLFFBQVEsR0FBd0IsSUFBSSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNHLGtGQUFrRjtRQUNsRix1RkFBdUY7UUFDdkYsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWUsRUFBRTtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sZUFBZSxHQUFnQixJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXZELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNLLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBNkIsRUFBRSxFQUFFO1lBQ3ZGLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBNEIsRUFBRSxFQUFFO1lBQ3JGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQTZCLEVBQUUsRUFBRTtnQkFDNUQsTUFBTSxhQUFhLEdBQWtCLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUV6RSxpRUFBaUU7Z0JBQ2pFLElBQUksSUFBSSxLQUFLLHNCQUFzQixDQUFDLE1BQU0sSUFBSSxhQUFhLEVBQUUsS0FBSyxFQUFHO29CQUNuRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUM3QixPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxRQUE2QjtRQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sUUFBUSxHQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM3RCxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDMUY7UUFFRCxtR0FBbUc7UUFDbkcsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyw4QkFBOEIsQ0FBQyxRQUE2QjtRQUNsRSxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUU7WUFDcEYsMElBQTBJO1lBQzFJLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxhQUFhLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDOUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0IsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBNkI7UUFDbEQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYSxDQUFDLFFBQTZCO1FBQ2pELFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQXFCLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsTUFBTSxZQUFZLEdBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQzNDLEVBQUUsRUFDRixJQUFJLENBQUMsS0FBSyxFQUNWLEVBQUMsR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxFQUFDLENBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgU29sZUludm9pY2UsIFNvbGVJbnZvaWNlSXRlbSwgU29sZUludm9pY2VUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUl0ZW1Gb3JtIH0gZnJvbSAnLi9zb2xlLWludm9pY2UtaXRlbS5mb3JtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRheFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc29sZS1pbnZvaWNlLXRheC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbi8qKlxuICogRm9ybSBpcyBkaXZpZGVkIGludG8gdHdvIGdyb3Vwcywgc2luY2UgdGhlIGNyZWF0aW9uIG9mIFNvbGUgaW52b2ljZSB0YWtlcyBwbGFjZSBpbiB0d28gc3RlcHM6XG4gKiBhIGNvbW1vbiBpbnZvaWNlIGRhdGEgYW5kIHNvbGUgaW52b2ljZSBpdGVtcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvbGVJbnZvaWNlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxTb2xlSW52b2ljZT4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW52b2ljZTogU29sZUludm9pY2UsXG4gICAgcHJpdmF0ZSBzb2xlRGV0YWlsc0dTVDogYm9vbGVhbixcbiAgICAvLyBkZWZhdWx0IHRlbXBsYXRlIHRvIGJlIHByZXNlbGVjdGVkXG4gICAgcHJpdmF0ZSBkZWZhdWx0VGVtcGxhdGU6IFNvbGVJbnZvaWNlVGVtcGxhdGUsXG4gICkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvbW1vbkRhdGE6IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgZGF0ZUZyb206IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5kYXRlRnJvbSB8fCBuZXcgRGF0ZSgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgZGF0ZVRvOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGludm9pY2UuZGF0ZVRvLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgcGF5ZXI6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5wYXllciwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHRheFR5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS50YXhUeXBlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgYmFua0FjY291bnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woaW52b2ljZS5iYW5rQWNjb3VudCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIHJlZmVyZW5jZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChpbnZvaWNlLnJlZmVyZW5jZSlcbiAgICAgIH0pLFxuICAgICAgaXRlbXM6IG5ldyBVbnR5cGVkRm9ybUFycmF5KChpbnZvaWNlLml0ZW1zIHx8IFtwbGFpblRvQ2xhc3MoU29sZUludm9pY2VJdGVtLCB7fSldKVxuICAgICAgICAubWFwKChpdGVtOiBTb2xlSW52b2ljZUl0ZW0pID0+IG5ldyBTb2xlSW52b2ljZUl0ZW1Gb3JtKGl0ZW0sIGl0ZW0uY2hhcnRBY2NvdW50cz8uaXNFeHBlbnNlKCkgPz8gZmFsc2UpKSksXG4gICAgfSwgaW52b2ljZSk7XG5cbiAgICAvLyB3ZSBuZWVkIGludm9pY2UgdGVtcGxhdGUgb25seSBmb3IgbmV3IGludm9pY2VzXG4gICAgaWYgKCFpbnZvaWNlLmlkKSB7XG4gICAgICAodGhpcy5jb21tb25EYXRhKS5hZGRDb250cm9sKCd0ZW1wbGF0ZScsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy5kZWZhdWx0VGVtcGxhdGUpKTtcblxuICAgICAgLy8gdXNlciBjYW4gaGF2ZSBubyB0ZW1wbGF0ZSwgYnV0IGhlIGNhbiBhZGQgaXQgZnJvbSB0aGlzIGZvcm1cbiAgICAgIGlmICh0aGlzLmRlZmF1bHRUZW1wbGF0ZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZVRlbXBsYXRlUmVsYXRlZEZpZWxkcyh0aGlzLmRlZmF1bHRUZW1wbGF0ZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIHNldCB0YXggZXhjbHVzaXZlIGJ5IGRlZmF1bHQgaWYgdXNlciBpcyByZWdpc3RlcmVkIGZvciBnc3RcbiAgICAgIGlmICh0aGlzLnNvbGVEZXRhaWxzR1NUKSB7XG4gICAgICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ3RheFR5cGUnKS5zZXRWYWx1ZShTb2xlSW52b2ljZVRheFR5cGVFbnVtLlRBWF9FWENMVVNJVkUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGludm9pY2UudGF4VHlwZSBpcyBhbHdheXMgTk9ORSAoJ05vIFRheCcpIHdoZW4gc29sZURldGFpbHMuaXNHU1QgPT09IGZhbHNlXG4gICAgaWYgKCF0aGlzLnNvbGVEZXRhaWxzR1NUKSB7XG4gICAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCd0YXhUeXBlJykuc2V0VmFsdWUoU29sZUludm9pY2VUYXhUeXBlRW51bS5OT19UQVgpO1xuICAgICAgdGhpcy5jb21tb25EYXRhLmdldCgndGF4VHlwZScpLmRpc2FibGUoKTtcblxuICAgICAgLy8gSXRlbXMgaXNHU1QgaXMgbm90IGF2YWlsYWJsZSB3aGVuIGludm9pY2UudGF4VHlwZSA9PT0gTk9ORSAoJ05vIFRheCcpXG4gICAgICB0aGlzLml0ZW1zLmNvbnRyb2xzLmZvckVhY2goKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKSA9PiB7XG4gICAgICAgIHRoaXMuZGlzYWJsZUl0ZW1HU1QoaXRlbUZvcm0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIGdldCBpdGVtcygpOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoJ2l0ZW1zJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICAvLyBubyBuZWVkIHRvIGxpc3RlbiB0YXggdHlwZSBhbmQgaXRlbXMgY2hhcnQgYWNjb3VudHMgY2hhbmdlcyB3aGVuIHNvbGVEZXRhaWxzLmlzR1NUID09PSBmYWxzZVxuICAgIC8vIGJlY2F1c2UgaW52b2ljZSB0YXggdHlwZSBhbHdheXMgJ05vIFRheCcgaW4gdGhpcyBjYXNlIGFuZCBub3QgYXZhaWxhYmxlIGZvciBjaGFuZ2luZ1xuICAgIGlmICh0aGlzLnNvbGVEZXRhaWxzR1NUKSB7XG4gICAgICB0aGlzLmxpc3RlblRheFR5cGVDaGFuZ2VzKCk7XG5cbiAgICAgIHRoaXMuaXRlbXMuY29udHJvbHMuZm9yRWFjaCgoaXRlbUZvcm06IFNvbGVJbnZvaWNlSXRlbUZvcm0pID0+IHtcbiAgICAgICAgdGhpcy5saXN0ZW5JdGVtQ2hhcnRBY2NvdW50c0NoYW5nZXMoaXRlbUZvcm0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gbm90aGluZyB0byBsaXN0ZW4gaWYgdGVtcGxhdGUgZmllbGQgaXMgbm90IGV4aXN0IChlZGl0IGludm9pY2UgY2FzZSlcbiAgICBpZiAoKHRoaXMuY29tbW9uRGF0YSkuY29udGFpbnMoJ3RlbXBsYXRlJykpIHtcbiAgICAgIHRoaXMubGlzdGVuVGVtcGxhdGVDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkSXRlbShpc0luY29tZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtID0gbmV3IFNvbGVJbnZvaWNlSXRlbUZvcm0ocGxhaW5Ub0NsYXNzKFNvbGVJbnZvaWNlSXRlbSwge30pLCBpc0luY29tZSk7XG4gICAgLy8gbm8gbmVlZCB0byBsaXN0ZW4gaXRlbXMgY2hhcnQgYWNjb3VudHMgY2hhbmdlcyB3aGVuIHNvbGVEZXRhaWxzLmlzR1NUID09PSBmYWxzZVxuICAgIC8vIGJlY2F1c2UgaW52b2ljZSB0YXggdHlwZSBhbHdheXMgJ05vIFRheCcgaW4gdGhpcyBjYXNlIGFuZCBub3QgYXZhaWxhYmxlIGZvciBjaGFuZ2luZ1xuICAgIGlmICh0aGlzLnNvbGVEZXRhaWxzR1NUKSB7XG4gICAgICB0aGlzLmxpc3Rlbkl0ZW1DaGFydEFjY291bnRzQ2hhbmdlcyhpdGVtRm9ybSk7XG4gICAgfVxuXG4gICAgdGhpcy5pdGVtcy5wdXNoKGl0ZW1Gb3JtKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaXRlbXMucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgc3VibWl0KGRhdGE6IG9iamVjdCA9IHt9KTogU29sZUludm9pY2Uge1xuICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICB0aGlzLm1hcmtBbGxBc1RvdWNoZWQoKTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy52YWxpZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgaW52b2ljZUluc3RhbmNlOiBTb2xlSW52b2ljZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuXG4gICAgdGhpcy5vblN1Ym1pdC5lbWl0KGludm9pY2VJbnN0YW5jZSk7XG4gICAgcmV0dXJuIGludm9pY2VJbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZGVmYXVsdCB2YWx1ZXMgZnJvbSBzZWxlY3RlZCBpbnZvaWNlIHRlbXBsYXRlXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRlbXBsYXRlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCd0ZW1wbGF0ZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHRlbXBsYXRlOiBTb2xlSW52b2ljZVRlbXBsYXRlKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRlbXBsYXRlUmVsYXRlZEZpZWxkcyh0ZW1wbGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR1NUIGlzIG5vdCBhdmFpbGFibGUgZm9yIGl0ZW1zIHdoZW4gaW52b2ljZS50YXhUeXBlID09PSBOT05FXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRheFR5cGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY29tbW9uRGF0YS5nZXQoJ3RheFR5cGUnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlOiBTb2xlSW52b2ljZVRheFR5cGVFbnVtKSA9PiB7XG4gICAgICB0aGlzLml0ZW1zLmNvbnRyb2xzLmZvckVhY2goKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMgPSBpdGVtRm9ybS5nZXQoJ2NoYXJ0QWNjb3VudHMnKS52YWx1ZTtcblxuICAgICAgICAvLyBJdGVtIEdTVCBpcyBhdmFpbGFibGUgd2hlbiBpbnZvaWNlLnRheFR5cGUgIT09IE5PTkUgKCdObyBUYXgnKVxuICAgICAgICBpZiAodHlwZSAhPT0gU29sZUludm9pY2VUYXhUeXBlRW51bS5OT19UQVggJiYgY2hhcnRBY2NvdW50cz8uaXNHU1QgKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVJdGVtR1NUKGl0ZW1Gb3JtKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc2FibGVJdGVtR1NUKGl0ZW1Gb3JtKTtcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGVtcGxhdGVSZWxhdGVkRmllbGRzKHRlbXBsYXRlOiBTb2xlSW52b2ljZVRlbXBsYXRlKTogdm9pZCB7XG4gICAgdGhpcy5jb21tb25EYXRhLmdldCgnYmFua0FjY291bnQnKS5zZXRWYWx1ZSh0ZW1wbGF0ZS5iYW5rQWNjb3VudCk7XG5cbiAgICBjb25zdCBkYXRlRnJvbTogRGF0ZSA9IHRoaXMuY29tbW9uRGF0YS5nZXQoJ2RhdGVGcm9tJykudmFsdWU7XG4gICAgaWYgKGRhdGVGcm9tKSB7XG4gICAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCdkYXRlVG8nKS5zZXRWYWx1ZShuZXcgRGF0ZShkYXRlRnJvbS5nZXRUaW1lKCkgKyB0ZW1wbGF0ZS50ZXJtVGltZSkpO1xuICAgIH1cblxuICAgIC8vIGludm9pY2UudGF4VHlwZSBpcyBhbHdheXMgJ05vIFRheCcgd2hlbiBzb2xlRGV0YWlscy5pc0dTVCA9IGZhbHNlIGFuZCBub3QgYXZhaWxhYmxlIGZvciBjaGFuZ2luZ1xuICAgIGlmICh0aGlzLnNvbGVEZXRhaWxzR1NUKSB7XG4gICAgICB0aGlzLmNvbW1vbkRhdGEuZ2V0KCd0YXhUeXBlJykuc2V0VmFsdWUodGVtcGxhdGUudGF4VHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdTVCBhdmFpbGFiaWxpdHkgZGVwZW5kcyBvbiBjaGFydCBhY2NvdW50cyBpc0dTVCBmbGFnXG4gICAqL1xuICBwcml2YXRlIGxpc3Rlbkl0ZW1DaGFydEFjY291bnRzQ2hhbmdlcyhpdGVtRm9ybTogU29sZUludm9pY2VJdGVtRm9ybSk6IHZvaWQge1xuICAgIGl0ZW1Gb3JtLmdldCgnY2hhcnRBY2NvdW50cycpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpID0+IHtcbiAgICAgIC8vIGl0ZW0uaXNHU1QgaXMgYXZhaWxhYmxlIG9ubHkgd2hlbiBpdGVtLmNoYXJ0QWNjb3VudHMuaXNHU1QgPT09IHRydWUsIHNvbGVEZXRhaWxzLmlzR1NUID09PSB0cnVlIGFuZCBpbnZvaWNlLnRheFR5cGUgIT09IE5PTkUgKCdObyBUYXgnKVxuICAgICAgaWYgKHRoaXMuc29sZURldGFpbHNHU1QgJiYgY2hhcnRBY2NvdW50cy5pc0dTVCAmJiAhdGhpcy5jdXJyZW50VmFsdWUuaXNOb1RheCgpKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlSXRlbUdTVChpdGVtRm9ybSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kaXNhYmxlSXRlbUdTVChpdGVtRm9ybSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGVJdGVtR1NUKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKTogdm9pZCB7XG4gICAgaXRlbUZvcm0uZ2V0KCdpc0dTVCcpLnNldFZhbHVlKGZhbHNlKTtcbiAgICBpdGVtRm9ybS5nZXQoJ2lzR1NUJykuZGlzYWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBHU1QgZmllbGQgZm9yIHBhc3NlZCBpdGVtIGZvcm0uIFZhbHVlIGlzIGFsd2F5cyB0cnVlIGJ5IGRlZmF1bHQgYmVjYXVzZSBvbmx5IGNhc2Ugd2hlbiB0aGlzIGZpZWxkIGlzIGVuYWJsZWQgaXNcbiAgICogd2hlbiBDaGFydEFjY291bnRzLmlzR1NUID09PSB0cnVlLCBzbyB3ZSBqdXN0IHVzZSBkZWZhdWx0IHZhbHVlIGZyb20gY2hhcnRBY2NvdW50cy5pc0dTVFxuICAgKi9cbiAgcHJpdmF0ZSBlbmFibGVJdGVtR1NUKGl0ZW1Gb3JtOiBTb2xlSW52b2ljZUl0ZW1Gb3JtKTogdm9pZCB7XG4gICAgaXRlbUZvcm0uZ2V0KCdpc0dTVCcpLnNldFZhbHVlKHRydWUpO1xuICAgIGl0ZW1Gb3JtLmdldCgnaXNHU1QnKS5lbmFibGUoKTtcbiAgfVxuXG4gIGdldCBjb21tb25EYXRhKCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmdldCgnY29tbW9uRGF0YScpIGFzIFVudHlwZWRGb3JtR3JvdXA7XG4gIH1cblxuICAvKipcbiAgICogUmV3cml0ZSBhYnN0cmFjdCBmb3JtIGdldHRlciB0byBmbGF0IFwiY29tbW9uRGF0YVwiIGZpZWxkLCB3aGljaCBpcyBub3QgaW4gdGhlIGNsYXNzXG4gICAqL1xuICBnZXQgY3VycmVudFZhbHVlKCk6IFNvbGVJbnZvaWNlIHtcbiAgICBjb25zdCBmb3JtUmF3VmFsdWU6IGFueSA9IHRoaXMuZ2V0UmF3VmFsdWUoKTtcblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UoT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgdGhpcy5tb2RlbCxcbiAgICAgIHsuLi5mb3JtUmF3VmFsdWUuY29tbW9uRGF0YSwgaXRlbXM6IGZvcm1SYXdWYWx1ZS5pdGVtc31cbiAgICApKTtcbiAgfVxufVxuIl19
@@ -23,9 +23,9 @@ export class BasiqClientIdInterceptor {
23
23
  });
24
24
  }
25
25
  }
26
- BasiqClientIdInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqClientIdInterceptor, deps: [{ token: i1.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
27
- BasiqClientIdInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqClientIdInterceptor });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqClientIdInterceptor, decorators: [{
26
+ BasiqClientIdInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqClientIdInterceptor, deps: [{ token: i1.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ BasiqClientIdInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqClientIdInterceptor });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqClientIdInterceptor, decorators: [{
29
29
  type: Injectable
30
30
  }], ctorParameters: function () { return [{ type: i1.UserService }]; } });
31
31
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEtY2xpZW50LWlkLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9iYXNpcS1jbGllbnQtaWQuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7QUFHekU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQ1UsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFFbEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3hELCtEQUErRDtRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxhQUFhLENBQUMsRUFBRTtZQUNyRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDNUI7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUN4QyxRQUFRLENBQUMsQ0FBQyxhQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FDckYsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsT0FBNkIsRUFBRSxhQUFxQjtRQUNoRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDbkIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBckJVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNpcVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9odHRwL2JhbmsvYmFzaXEvYmFzaXEuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2h0dHAvdXNlci91c2VyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIHdoaWNoIGNoZWNrIGlmIGNsaWVudCdzIGJhc2lxIGlkIGV4aXN0IGFuZCByZXF1ZXN0IGl0IGlmIG5vdFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQmFzaXFDbGllbnRJZEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICAvLyBDaGVjayBpZiAnY2xpZW50IGlkJyBVUkwgc2VnbWVudCBjb250YWlucyBudWxsIGluc3RlYWQgb2YgaWRcbiAgICBpZiAoIXJlcXVlc3QudXJsLnN0YXJ0c1dpdGgoYCR7QmFzaXFTZXJ2aWNlLmJhc2lxQXBpVXJsfS91c2Vycy9udWxsYCkpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmNyZWF0ZUJhc2lxKCkucGlwZShcbiAgICAgIG1lcmdlTWFwKChiYXNpcUNsaWVudElkOiBzdHJpbmcpID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkSWQocmVxdWVzdCwgYmFzaXFDbGllbnRJZCkpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZElkKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBiYXNpcUNsaWVudElkOiBzdHJpbmcpOiBIdHRwUmVxdWVzdDx1bmtub3duPiB7XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgdXJsOiByZXF1ZXN0LnVybC5yZXBsYWNlKCdudWxsJywgYmFzaXFDbGllbnRJZClcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -25,9 +25,9 @@ export class BasiqTokenInterceptor {
25
25
  });
26
26
  }
27
27
  }
28
- BasiqTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenInterceptor, deps: [{ token: i1.BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
29
- BasiqTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenInterceptor });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: BasiqTokenInterceptor, decorators: [{
28
+ BasiqTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenInterceptor, deps: [{ token: i1.BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ BasiqTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenInterceptor });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BasiqTokenInterceptor, decorators: [{
31
31
  type: Injectable
32
32
  }], ctorParameters: function () { return [{ type: i1.BasiqTokenService }]; } });
33
33
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEtdG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvaW50ZXJjZXB0b3JzL2Jhc2lxLXRva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBRXpFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUNVLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRTlDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBNkIsRUFBRSxJQUFpQjtRQUN4RCwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7UUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQzVDLFFBQVEsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUM1RSxDQUFDO0lBQ0osQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUE2QixFQUFFLEtBQWlCO1FBQy9ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsYUFBYSxFQUFFLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSzthQUN2QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQXhCVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzaXFUb2tlbiB9IGZyb20gJy4uL21vZGVscy9iYW5rL2Jhc2lxL2Jhc2lxLXRva2VuJztcbmltcG9ydCB7IEJhc2lxVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaHR0cC9iYW5rL2Jhc2lxL2Jhc2lxLXRva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaXFTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaHR0cC9iYW5rL2Jhc2lxL2Jhc2lxLnNlcnZpY2UnO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIHdoaWNoIGFkZHMgdXNlcidzIGJhc2lxIHRva2VuIHRvIGFueSBodHRwIHJlcXVlc3QgdG8gYmFzaXEgYXBpXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNpcVRva2VuSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYmFzaXFUb2tlblNlcnZpY2U6IEJhc2lxVG9rZW5TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgLy8gc2tpcCBub24tYmFzaXEgcmVxdWVzdHNcbiAgICBpZiAoIXJlcXVlc3QudXJsLmluY2x1ZGVzKEJhc2lxU2VydmljZS5iYXNpcUFwaVVybCkpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNpcVRva2VuU2VydmljZS5nZXRTaW5nbGUoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHRva2VuOiBCYXNpcVRva2VuKSA9PiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcXVlc3QsIHRva2VuKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVG9rZW4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIHRva2VuOiBCYXNpcVRva2VuKTogSHR0cFJlcXVlc3Q8dW5rbm93bj4ge1xuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcbiAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgdG9rZW4udmFsdWVcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -30,9 +30,9 @@ export class CorelogicInterceptor {
30
30
  });
31
31
  }
32
32
  }
33
- CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: i1.CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
34
- CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: CorelogicInterceptor });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: CorelogicInterceptor, decorators: [{
33
+ CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: i1.CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicInterceptor });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: CorelogicInterceptor, decorators: [{
36
36
  type: Injectable
37
37
  }], ctorParameters: function () { return [{ type: i1.CorelogicService }, { type: undefined, decorators: [{
38
38
  type: Inject,
@@ -31,9 +31,9 @@ export class FinancialYearInterceptor {
31
31
  return next.handle(clonedReq);
32
32
  }
33
33
  }
34
- FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
35
- FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearInterceptor });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
34
+ FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FinancialYearInterceptor });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
37
37
  type: Injectable
38
38
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
39
39
  type: Inject,
@@ -10,9 +10,9 @@ import { BasiqClientIdInterceptor } from './basiq-client-id.interceptor';
10
10
  import * as i0 from "@angular/core";
11
11
  export class InterceptorsModule {
12
12
  }
13
- InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: InterceptorsModule });
15
- InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InterceptorsModule, providers: [
13
+ InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.5", ngImport: i0, type: InterceptorsModule });
15
+ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: InterceptorsModule, providers: [
16
16
  {
17
17
  provide: HTTP_INTERCEPTORS,
18
18
  useClass: CorelogicInterceptor,
@@ -50,7 +50,7 @@ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
50
50
  multi: true
51
51
  }
52
52
  ] });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InterceptorsModule, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: InterceptorsModule, decorators: [{
54
54
  type: NgModule,
55
55
  args: [{
56
56
  providers: [
@@ -128,9 +128,9 @@ export class JwtInterceptor {
128
128
  });
129
129
  }
130
130
  }
131
- JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtInterceptor, deps: [{ token: i1.JwtService }, { token: i2.AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
132
- JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtInterceptor });
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtInterceptor, decorators: [{
131
+ JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtInterceptor, deps: [{ token: i1.JwtService }, { token: i2.AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
132
+ JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtInterceptor });
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtInterceptor, decorators: [{
134
134
  type: Injectable
135
135
  }], ctorParameters: function () { return [{ type: i1.JwtService }, { type: i2.AuthService }, { type: undefined, decorators: [{
136
136
  type: Inject,
@@ -24,9 +24,9 @@ export class PreloaderInterceptor {
24
24
  return Object.values(ENDPOINTS).find((endpoint) => endpoint.test(requestPath));
25
25
  }
26
26
  }
27
- PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: i1.PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
28
- PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PreloaderInterceptor });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PreloaderInterceptor, decorators: [{
27
+ PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: i1.PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderInterceptor });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: PreloaderInterceptor, decorators: [{
30
30
  type: Injectable
31
31
  }], ctorParameters: function () { return [{ type: i1.PreloaderService }]; } });
32
32
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9wcmVsb2FkZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFFL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDekMsQ0FBQztJQUVKLFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3hELE1BQU0sUUFBUSxHQUFhLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVwQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QixRQUFRLENBQUMsR0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sWUFBWSxDQUFDLFdBQW1CO1FBQ3RDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFrQixFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQzs7aUhBdkJVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUHJlbG9hZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ByZWxvYWRlci9wcmVsb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJy4uL21vZGVscy9lbmRwb2ludC9lbmRwb2ludCc7XG5pbXBvcnQgeyBFTkRQT0lOVFMgfSBmcm9tICcuLi9tb2RlbHMvZW5kcG9pbnQvZW5kcG9pbnRzLmNvbnN0JztcblxuLyoqXG4gKiBpbnRlcmNlcHRvciBmb3IgcHJlbG9hZGVyIGhhbmRsaW5nXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcmVsb2FkZXJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcmVsb2FkZXJTZXJ2aWNlOiBQcmVsb2FkZXJTZXJ2aWNlXG4gICkge31cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBjb25zdCBlbmRwb2ludDogRW5kcG9pbnQgPSB0aGlzLmZpbmRFbmRwb2ludChgJHtyZXF1ZXN0Lm1ldGhvZH0gJHtyZXF1ZXN0LnVybH1gKTtcbiAgICBpZiAoZW5kcG9pbnQpIHtcbiAgICAgIHRoaXMucHJlbG9hZGVyU2VydmljZS5hZGQoZW5kcG9pbnQpO1xuXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcbiAgICAgICAgZmluYWxpemUoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMucHJlbG9hZGVyU2VydmljZS5kZWxldGUoZW5kcG9pbnQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRFbmRwb2ludChyZXF1ZXN0UGF0aDogc3RyaW5nKTogRW5kcG9pbnQge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEVORFBPSU5UUykuZmluZCgoZW5kcG9pbnQ6IEVuZHBvaW50KTogYm9vbGVhbiA9PiBlbmRwb2ludC50ZXN0KHJlcXVlc3RQYXRoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -41,9 +41,9 @@ export class UserSwitcherInterceptor {
41
41
  return next.handle(this.switch(request, this.userSwitcherService.get()));
42
42
  }
43
43
  }
44
- UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: i1.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
45
- UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: UserSwitcherInterceptor });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
44
+ UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: i1.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherInterceptor });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
47
47
  type: Injectable
48
48
  }], ctorParameters: function () { return [{ type: i1.UserSwitcherService }, { type: undefined, decorators: [{
49
49
  type: Inject,
@@ -0,0 +1,22 @@
1
+ import { __decorate } from "tslib";
2
+ import { Transaction } from '../transaction';
3
+ import { Holding } from './holding';
4
+ import { AbstractModel } from '../../db/Models';
5
+ import { Type } from 'class-transformer';
6
+ import { HoldingType } from './holding-type';
7
+ /**
8
+ * Helper class for holding reinvest functionality.
9
+ * Reinvest - get dividends and directly buy holdings
10
+ */
11
+ export class HoldingReinvest extends AbstractModel {
12
+ }
13
+ __decorate([
14
+ Type(() => Transaction)
15
+ ], HoldingReinvest.prototype, "transaction", void 0);
16
+ __decorate([
17
+ Type(() => Holding)
18
+ ], HoldingReinvest.prototype, "holding", void 0);
19
+ __decorate([
20
+ Type(() => HoldingType)
21
+ ], HoldingReinvest.prototype, "holdingType", void 0);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy1yZWludmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLXJlaW52ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0NBU2pEO0FBUEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO29EQUNDO0FBR3pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztnREFDSDtBQUdqQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7b0RBQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEhvbGRpbmcgfSBmcm9tICcuL2hvbGRpbmcnO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSG9sZGluZ1R5cGUgfSBmcm9tICcuL2hvbGRpbmctdHlwZSc7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBob2xkaW5nIHJlaW52ZXN0IGZ1bmN0aW9uYWxpdHkuXG4gKiBSZWludmVzdCAtIGdldCBkaXZpZGVuZHMgYW5kIGRpcmVjdGx5IGJ1eSBob2xkaW5nc1xuICovXG5leHBvcnQgY2xhc3MgSG9sZGluZ1JlaW52ZXN0IGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gSG9sZGluZylcbiAgaG9sZGluZzogSG9sZGluZztcblxuICBAVHlwZSgoKSA9PiBIb2xkaW5nVHlwZSlcbiAgaG9sZGluZ1R5cGU6IEhvbGRpbmdUeXBlO1xufVxuIl19
@@ -2,4 +2,5 @@ export * from './holding';
2
2
  export * from './holding-type';
3
3
  export * from './holding-sale';
4
4
  export * from './holding-type-exchange';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2hvbGRpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hvbGRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nLXNhbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nLXR5cGUtZXhjaGFuZ2UnO1xuIl19
5
+ export * from './holding-reinvest';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2hvbGRpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaG9sZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmctdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmctc2FsZSc7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmctdHlwZS1leGNoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2hvbGRpbmctcmVpbnZlc3QnO1xuIl19
@@ -52,4 +52,4 @@ __decorate([
52
52
  __decorate([
53
53
  Type(() => PropertySaleTaxExemptionMetaField)
54
54
  ], PropertySale.prototype, "taxExemptionMetaFields", void 0);
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFDLGlDQUFpQyxFQUF1QyxNQUFNLG9CQUFvQixDQUFDO0FBQzNHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUFTO0lBc0N6QyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzNELENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBL0NDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztrREFDRTtBQUdyQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0RBQ2U7QUFHbEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJEQUNXO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDTDtBQUdkO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztnREFDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0NBQ0Q7QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOytDQUNEO0FBR2xCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztvREFDSTtBQUdyQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7a0RBQ0U7QUFHM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUNBQWlDLENBQUM7NERBQ2MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7UHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkLCBQcm9wZXJ0eVNoYXJlLCBUYXhFeGVtcHRpb25NZXRhRmllbGR9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQge1RheEV4ZW1wdGlvbkVudW19IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7VGF4RXhlbXB0aW9ufSBmcm9tICcuL3RheC1leGVtcHRpb24nO1xuaW1wb3J0IHtBc3NldFNhbGV9IGZyb20gJy4uLy4uL2Fzc2V0LXNhbGUnO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlTYWxlIGV4dGVuZHMgQXNzZXRTYWxlIHtcbiAgY3JlYXRlZEF0OiBEYXRlO1xuICB1cGRhdGVkQXQ6IERhdGU7XG4gIHNoYXJlOiBQcm9wZXJ0eVNoYXJlO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgaG9sZGluZ0Nvc3RzOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBzdHJ1Y3R1cmFsSW1wcm92ZW1lbnRzV0RWOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBidWlsZGluZ0F0Q29zdENsYWltZWQ6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHByaWNlOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBjb21taXNzaW9uOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBsZWdhbEZlZXM6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIG90aGVyQ29zdDogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHNldHRsZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gVGF4RXhlbXB0aW9uKVxuICB0YXhFeGVtcHRpb246IFRheEV4ZW1wdGlvbjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGQpXG4gIHRheEV4ZW1wdGlvbk1ldGFGaWVsZHM6IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZFtdO1xuXG4gIGdldCBzYWxlQ29zdHNUb3RhbEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvbW1pc3Npb24gKyB0aGlzLmxlZ2FsRmVlcyArIHRoaXMub3RoZXJDb3N0O1xuICB9XG5cbiAgLyoqXG4gICAqIENHVCBpcyBub3QgYXBwbGljYWJsZSBmb3Igc2FsZXMgd2l0aCBcIlByaW5jaXBsZSBwbGFjZSBvZiByZXNpZGVuY2VcIiBleGVtcHRpb24gdHlwZS5cbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80NjQ0MTEwNDY2L1RheCtSZXR1cm4rTXlUYXgrLStPbmxpbmUrRm9ybSAoXCJDYXBpdGFsIGdhaW5zIG9yIGxvc3Nlc1wiIHNlY3Rpb24pXG4gICAqL1xuICBpc0NHVEFwcGxpY2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGF4RXhlbXB0aW9uPy5pZCAhPT0gVGF4RXhlbXB0aW9uRW51bS5QUFI7XG4gIH1cblxuICBnZXQgbmV0UHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wcmljZSAtIHRoaXMuc2FsZUNvc3RzVG90YWxBbW91bnQ7XG4gIH1cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2FsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLGlDQUFpQyxFQUF3QyxNQUFNLG9CQUFvQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUFTO0lBc0N6QyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzNELENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBL0NDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztrREFDRTtBQUdyQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0RBQ2U7QUFHbEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJEQUNXO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDTDtBQUdkO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztnREFDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0NBQ0Q7QUFHbEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOytDQUNEO0FBR2xCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztvREFDSTtBQUdyQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7a0RBQ0U7QUFHM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUNBQWlDLENBQUM7NERBQ2MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkLCBQcm9wZXJ0eVNoYXJlLCBUYXhFeGVtcHRpb25NZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMnO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7IFRheEV4ZW1wdGlvbiB9IGZyb20gJy4vdGF4LWV4ZW1wdGlvbic7XG5pbXBvcnQgeyBBc3NldFNhbGUgfSBmcm9tICcuLi8uLi9hc3NldC1zYWxlJztcblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2FsZSBleHRlbmRzIEFzc2V0U2FsZSB7XG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgdXBkYXRlZEF0OiBEYXRlO1xuICBzaGFyZTogUHJvcGVydHlTaGFyZTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGhvbGRpbmdDb3N0czogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgc3RydWN0dXJhbEltcHJvdmVtZW50c1dEVjogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgYnVpbGRpbmdBdENvc3RDbGFpbWVkOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBwcmljZTogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgY29tbWlzc2lvbjogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgbGVnYWxGZWVzOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBvdGhlckNvc3Q6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBzZXR0bGVtZW50RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFRheEV4ZW1wdGlvbilcbiAgdGF4RXhlbXB0aW9uOiBUYXhFeGVtcHRpb247XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkKVxuICB0YXhFeGVtcHRpb25NZXRhRmllbGRzOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRbXTtcblxuICBnZXQgc2FsZUNvc3RzVG90YWxBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb21taXNzaW9uICsgdGhpcy5sZWdhbEZlZXMgKyB0aGlzLm90aGVyQ29zdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDR1QgaXMgbm90IGFwcGxpY2FibGUgZm9yIHNhbGVzIHdpdGggXCJQcmluY2lwbGUgcGxhY2Ugb2YgcmVzaWRlbmNlXCIgZXhlbXB0aW9uIHR5cGUuXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgaXNDR1RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRheEV4ZW1wdGlvbj8uaWQgIT09IFRheEV4ZW1wdGlvbkVudW0uUFBSO1xuICB9XG5cbiAgZ2V0IG5ldFByaWNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucHJpY2UgLSB0aGlzLnNhbGVDb3N0c1RvdGFsQW1vdW50O1xuICB9XG59XG4iXX0=
@@ -157,9 +157,9 @@ export class AccountSetupService {
157
157
  return this.create(AccountSetupItemsEnum.BANK_FEEDS, this.bankAccountsService.getArray());
158
158
  }
159
159
  }
160
- AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }, { token: i8.HoldingService }, { token: i8.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
161
- AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AccountSetupService, decorators: [{
160
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }, { token: i8.HoldingService }, { token: i8.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
161
+ AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AccountSetupService, decorators: [{
163
163
  type: Injectable,
164
164
  args: [{
165
165
  providedIn: 'root'
@@ -20,9 +20,9 @@ export class RewardfulService {
20
20
  });
21
21
  }
22
22
  }
23
- RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
24
- RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RewardfulService, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RewardfulService, decorators: [{
23
+ RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, providedIn: 'root' });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: RewardfulService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{
28
28
  providedIn: 'root'
@@ -37,9 +37,9 @@ export class AssetsService {
37
37
  return this.http.delete(`${this.environment.apiV2}/${asset.entityType}/${entityId}/${asset.type}/${asset.id}`);
38
38
  }
39
39
  }
40
- AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: i2.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
41
- AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AssetsService, providedIn: 'root' });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AssetsService, decorators: [{
40
+ AssetsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, deps: [{ token: i1.HttpClient }, { token: i2.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ AssetsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, providedIn: 'root' });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AssetsService, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{
45
45
  providedIn: 'root'
@@ -48,9 +48,9 @@ export class AuthService {
48
48
  location.replace(url);
49
49
  }
50
50
  }
51
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: i3.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
52
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, providedIn: 'root' });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, decorators: [{
51
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.JwtService }, { token: i3.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: AuthService, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{
56
56
  providedIn: 'root'
@@ -31,9 +31,9 @@ export class JwtService extends JwtHelperService {
31
31
  return this.getUser().id === userId;
32
32
  }
33
33
  }
34
- JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
35
- JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtService, providedIn: 'root' });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: JwtService, decorators: [{
34
+ JwtService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
35
+ JwtService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: JwtService, decorators: [{
37
37
  type: Injectable,
38
38
  args: [{
39
39
  providedIn: 'root'