taxtank-core 0.32.16 → 0.32.18

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 (176) hide show
  1. package/esm2022/lib/collections/collection.mjs +9 -3
  2. package/esm2022/lib/collections/property/index.mjs +2 -1
  3. package/esm2022/lib/collections/property/property-category-movement.collection.mjs +12 -4
  4. package/esm2022/lib/collections/property/property-valuation.collection.mjs +4 -0
  5. package/esm2022/lib/collections/property/property.collection.mjs +31 -33
  6. package/esm2022/lib/db/Models/firm/client-movement.mjs +3 -3
  7. package/esm2022/lib/db/Models/property/property.mjs +1 -1
  8. package/esm2022/lib/db/Models/user/registration-invite.mjs +1 -1
  9. package/esm2022/lib/forms/property/index.mjs +5 -1
  10. package/esm2022/lib/forms/property/property-add.form.mjs +69 -0
  11. package/esm2022/lib/forms/property/property-category-movement-form.mjs +22 -0
  12. package/esm2022/lib/forms/property/property-forecast.form.mjs +29 -0
  13. package/esm2022/lib/forms/property/property-share.form.mjs +16 -0
  14. package/esm2022/lib/forms/property/property-valuation.form.mjs +5 -3
  15. package/esm2022/lib/models/client/client-movement.mjs +3 -3
  16. package/esm2022/lib/models/depreciation/depreciation.mjs +1 -1
  17. package/esm2022/lib/models/endpoint/endpoints.const.mjs +10 -12
  18. package/esm2022/lib/models/event/app-event-type.enum.mjs +55 -57
  19. package/esm2022/lib/models/property/index.mjs +1 -2
  20. package/esm2022/lib/models/property/property-category-movement.mjs +5 -1
  21. package/esm2022/lib/models/property/property-valuation.mjs +1 -4
  22. package/esm2022/lib/models/property/property.mjs +15 -26
  23. package/esm2022/lib/services/data.service.mjs +2 -3
  24. package/esm2022/lib/services/event/sse.service.mjs +2 -2
  25. package/esm2022/lib/services/http/address/address.service.mjs +2 -2
  26. package/esm2022/lib/services/http/bank/bank-account/bank-account.service.mjs +8 -7
  27. package/esm2022/lib/services/http/bank/bank-connection/bank-connection.service.mjs +11 -20
  28. package/esm2022/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +11 -6
  29. package/esm2022/lib/services/http/bank/bank.service.mjs +1 -2
  30. package/esm2022/lib/services/http/bank/basiq/basiq.service.mjs +7 -7
  31. package/esm2022/lib/services/http/budget/budget.service.mjs +1 -2
  32. package/esm2022/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +1 -2
  33. package/esm2022/lib/services/http/chat/chat.service.mjs +11 -13
  34. package/esm2022/lib/services/http/chat/message-document.service.mjs +13 -9
  35. package/esm2022/lib/services/http/chat/message.service.mjs +9 -41
  36. package/esm2022/lib/services/http/client/capital-gain/annual-client-details.service.mjs +1 -2
  37. package/esm2022/lib/services/http/depreciation/depreciation.service.mjs +6 -5
  38. package/esm2022/lib/services/http/document/document.service.mjs +1 -2
  39. package/esm2022/lib/services/http/file/file.service.mjs +1 -2
  40. package/esm2022/lib/services/http/firm/client-income/client-income-types.service.mjs +1 -2
  41. package/esm2022/lib/services/http/firm/client-invite/client-invite.service.mjs +17 -31
  42. package/esm2022/lib/services/http/firm/client-movement/client-movement.service.mjs +21 -25
  43. package/esm2022/lib/services/http/firm/firm.service.mjs +2 -2
  44. package/esm2022/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +1 -1
  45. package/esm2022/lib/services/http/holding/holding-sale.service.mjs +1 -2
  46. package/esm2022/lib/services/http/holding/holding-type.service.mjs +1 -2
  47. package/esm2022/lib/services/http/holding/holding.service.mjs +12 -8
  48. package/esm2022/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +12 -7
  49. package/esm2022/lib/services/http/income-source/income-source.service.mjs +12 -7
  50. package/esm2022/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +12 -10
  51. package/esm2022/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +12 -10
  52. package/esm2022/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +1 -1
  53. package/esm2022/lib/services/http/loan/loan.service.mjs +14 -9
  54. package/esm2022/lib/services/http/property/borrowing-report/borrowing-report.service.mjs +1 -2
  55. package/esm2022/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +6 -4
  56. package/esm2022/lib/services/http/property/property-document/property-document.service.mjs +2 -28
  57. package/esm2022/lib/services/http/property/property-share/property-share.service.mjs +12 -7
  58. package/esm2022/lib/services/http/property/property-valuation/property-valuation.service.mjs +5 -16
  59. package/esm2022/lib/services/http/property/property.service.mjs +26 -50
  60. package/esm2022/lib/services/http/rest/rest-old.service.mjs +13 -19
  61. package/esm2022/lib/services/http/rest/rest.service.mjs +53 -34
  62. package/esm2022/lib/services/http/service-notification/service-notification.service.mjs +16 -18
  63. package/esm2022/lib/services/http/setup-item/setup-item.service.mjs +1 -2
  64. package/esm2022/lib/services/http/sole/bas-report/bas-report.service.mjs +1 -2
  65. package/esm2022/lib/services/http/sole/sole-business/sole-business.service.mjs +2 -4
  66. package/esm2022/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +1 -2
  67. package/esm2022/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +1 -2
  68. package/esm2022/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +12 -8
  69. package/esm2022/lib/services/http/sole/sole-contact/sole-contact.service.mjs +1 -2
  70. package/esm2022/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +7 -7
  71. package/esm2022/lib/services/http/sole/sole-details/sole-details.service.mjs +2 -2
  72. package/esm2022/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +12 -9
  73. package/esm2022/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +1 -2
  74. package/esm2022/lib/services/http/subscription/service-payment/service-payment.service.mjs +1 -2
  75. package/esm2022/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +10 -27
  76. package/esm2022/lib/services/http/subscription/service-price/service-price.service.mjs +1 -2
  77. package/esm2022/lib/services/http/subscription/service-product/service-product.service.mjs +1 -2
  78. package/esm2022/lib/services/http/subscription/service-subscription/subscription.service.mjs +11 -28
  79. package/esm2022/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +12 -7
  80. package/esm2022/lib/services/http/tax-review/tax-review.service.mjs +11 -6
  81. package/esm2022/lib/services/http/tax-summary/tax-summary.service.mjs +3 -3
  82. package/esm2022/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +1 -2
  83. package/esm2022/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +11 -6
  84. package/esm2022/lib/services/http/transaction/transaction.service.mjs +6 -7
  85. package/esm2022/lib/services/http/tutorial-video/tutorial-video.service.mjs +1 -1
  86. package/esm2022/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +1 -2
  87. package/esm2022/lib/services/http/user/user-event-type/user-event-type.service.mjs +1 -2
  88. package/esm2022/lib/services/http/user/user.service.mjs +20 -17
  89. package/esm2022/lib/services/http/vehicle/vehicle-claim-details.service.mjs +5 -6
  90. package/esm2022/lib/services/http/vehicle/vehicle-claim.service.mjs +1 -1
  91. package/esm2022/lib/services/property/property-calculation/property-calculation.service.mjs +2 -3
  92. package/fesm2022/taxtank-core.mjs +747 -720
  93. package/fesm2022/taxtank-core.mjs.map +1 -1
  94. package/lib/collections/collection.d.ts +2 -1
  95. package/lib/collections/property/index.d.ts +1 -0
  96. package/lib/collections/property/property-category-movement.collection.d.ts +5 -1
  97. package/lib/collections/property/property-valuation.collection.d.ts +4 -0
  98. package/lib/collections/property/property.collection.d.ts +12 -16
  99. package/lib/db/Models/firm/client-movement.d.ts +2 -2
  100. package/lib/db/Models/property/property.d.ts +1 -0
  101. package/lib/db/Models/user/registration-invite.d.ts +1 -0
  102. package/lib/forms/property/index.d.ts +4 -0
  103. package/lib/forms/property/property-add.form.d.ts +16 -0
  104. package/lib/forms/property/property-category-movement-form.d.ts +6 -0
  105. package/lib/forms/property/property-forecast.form.d.ts +13 -0
  106. package/lib/forms/property/property-share.form.d.ts +8 -0
  107. package/lib/forms/property/property-valuation.form.d.ts +1 -1
  108. package/lib/models/client/client-movement.d.ts +2 -2
  109. package/lib/models/event/app-event-type.enum.d.ts +54 -56
  110. package/lib/models/property/index.d.ts +0 -1
  111. package/lib/models/property/property-category-movement.d.ts +1 -0
  112. package/lib/models/property/property-valuation.d.ts +0 -1
  113. package/lib/models/property/property.d.ts +5 -7
  114. package/lib/services/data.service.d.ts +1 -1
  115. package/lib/services/event/sse.service.d.ts +1 -1
  116. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +1 -1
  117. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +3 -11
  118. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +2 -0
  119. package/lib/services/http/bank/bank.service.d.ts +0 -1
  120. package/lib/services/http/budget/budget.service.d.ts +0 -1
  121. package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +0 -1
  122. package/lib/services/http/chat/chat.service.d.ts +3 -7
  123. package/lib/services/http/chat/message-document.service.d.ts +2 -1
  124. package/lib/services/http/chat/message.service.d.ts +3 -19
  125. package/lib/services/http/client/capital-gain/annual-client-details.service.d.ts +0 -1
  126. package/lib/services/http/depreciation/depreciation.service.d.ts +2 -1
  127. package/lib/services/http/document/document.service.d.ts +0 -1
  128. package/lib/services/http/file/file.service.d.ts +0 -1
  129. package/lib/services/http/firm/client-income/client-income-types.service.d.ts +0 -1
  130. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +5 -6
  131. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +7 -10
  132. package/lib/services/http/holding/holding-sale.service.d.ts +0 -1
  133. package/lib/services/http/holding/holding-type.service.d.ts +0 -1
  134. package/lib/services/http/holding/holding.service.d.ts +2 -1
  135. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +2 -0
  136. package/lib/services/http/income-source/income-source.service.d.ts +4 -2
  137. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +4 -2
  138. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +4 -2
  139. package/lib/services/http/loan/loan.service.d.ts +2 -0
  140. package/lib/services/http/property/borrowing-report/borrowing-report.service.d.ts +0 -1
  141. package/lib/services/http/property/property-document/property-document.service.d.ts +1 -10
  142. package/lib/services/http/property/property-share/property-share.service.d.ts +2 -0
  143. package/lib/services/http/property/property-valuation/property-valuation.service.d.ts +2 -7
  144. package/lib/services/http/property/property.service.d.ts +8 -17
  145. package/lib/services/http/rest/rest-old.service.d.ts +4 -10
  146. package/lib/services/http/rest/rest.service.d.ts +7 -20
  147. package/lib/services/http/service-notification/service-notification.service.d.ts +9 -10
  148. package/lib/services/http/setup-item/setup-item.service.d.ts +1 -2
  149. package/lib/services/http/sole/bas-report/bas-report.service.d.ts +0 -1
  150. package/lib/services/http/sole/sole-business/sole-business.service.d.ts +0 -1
  151. package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts +0 -1
  152. package/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.d.ts +0 -1
  153. package/lib/services/http/sole/sole-business-loss/sole-business-loss.service.d.ts +3 -2
  154. package/lib/services/http/sole/sole-contact/sole-contact.service.d.ts +0 -1
  155. package/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.d.ts +3 -3
  156. package/lib/services/http/sole/sole-invoice/sole-invoice.service.d.ts +3 -2
  157. package/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.d.ts +0 -1
  158. package/lib/services/http/subscription/service-payment/service-payment.service.d.ts +0 -1
  159. package/lib/services/http/subscription/service-payment-method/service-payment-method.service.d.ts +4 -8
  160. package/lib/services/http/subscription/service-price/service-price.service.d.ts +0 -1
  161. package/lib/services/http/subscription/service-product/service-product.service.d.ts +0 -1
  162. package/lib/services/http/subscription/service-subscription/subscription.service.d.ts +5 -6
  163. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +3 -1
  164. package/lib/services/http/tax-review/tax-review.service.d.ts +2 -0
  165. package/lib/services/http/tax-summary/tax-summary.service.d.ts +2 -2
  166. package/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.d.ts +0 -1
  167. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +2 -0
  168. package/lib/services/http/transaction/transaction.service.d.ts +1 -3
  169. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +0 -1
  170. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +0 -1
  171. package/lib/services/http/user/user.service.d.ts +4 -6
  172. package/lib/services/http/vehicle/vehicle-claim-details.service.d.ts +1 -1
  173. package/lib/services/property/property-calculation/property-calculation.service.d.ts +6 -6
  174. package/package.json +1 -1
  175. package/esm2022/lib/models/property/share-filter-options.enum.mjs +0 -11
  176. package/lib/models/property/share-filter-options.enum.d.ts +0 -9
@@ -37,6 +37,9 @@ export class Collection {
37
37
  get last() {
38
38
  return last(this.items);
39
39
  }
40
+ get previous() {
41
+ return this.items[this.items.length - 2];
42
+ }
40
43
  reset() {
41
44
  this.index = 0;
42
45
  return this.items[this.index];
@@ -93,8 +96,11 @@ export class Collection {
93
96
  filterByRange(path, from, to) {
94
97
  return this.filter((item) => get(item, path) >= from && get(item, path) <= to);
95
98
  }
96
- filterByFinancialYear(path, financialYear = new FinancialYear()) {
97
- return this.filterByRange(path, financialYear.startDate, financialYear.endDate);
99
+ filterByFinancialYear(pathFrom, pathTo, financialYear = new FinancialYear()) {
100
+ if (pathTo) {
101
+ return this.filter(model => get(model, pathFrom) <= financialYear.endDate && !get(model, pathTo) || get(model, pathTo) >= financialYear.startDate);
102
+ }
103
+ return this.filterByRange(pathFrom, financialYear.startDate, financialYear.endDate);
98
104
  }
99
105
  find(callback) {
100
106
  return this.items.find(callback);
@@ -152,4 +158,4 @@ export class Collection {
152
158
  return this;
153
159
  }
154
160
  }
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFTckIsWUFBWSxRQUFpQixFQUFFO1FBTC9COztXQUVHO1FBQ0gsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHVFQUF1RTtJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxD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QUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxRQUE4QyxFQUFFLElBQUksR0FBRyxDQUFDO1FBQzdELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWSxFQUFFLEVBQVU7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XHJcbmltcG9ydCBmaXJzdCBmcm9tICdsb2Rhc2gvZmlyc3QnO1xyXG5pbXBvcnQgbGFzdCBmcm9tICdsb2Rhc2gvbGFzdCc7XHJcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XHJcbmltcG9ydCB7IEFic3RyYWN0TW9kZWwgfSBmcm9tICcuLi9kYi9Nb2RlbHMnO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IG9yZGVyQnkgZnJvbSAnbG9kYXNoL29yZGVyQnknO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY29sbGVjdGlvbiBjbGFzcy4gQ29udGFpbnMgY29tbW9uIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgZm9yIGFsbCBjb2xsZWN0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsPiBpbXBsZW1lbnRzIEl0ZXJhYmxlPE1vZGVsPiB7XHJcbiAgLy8gbGlzdCBvZiBjb2xsZWN0aW9uJ3MgaXRlbXNcclxuICBpdGVtczogTW9kZWxbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogaW5kZXggb2YgY3VycmVudCBpdGVtLCB1c2VkIHRvIGl0ZXJhdGUgb3ZlciB0aGUgY29sbGVjdGlvblxyXG4gICAqL1xyXG4gIGluZGV4ID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoaXRlbXM6IE1vZGVsW10gPSBbXSkge1xyXG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xyXG4gICAgLy8gQFRPRE8gQWxleDogVGhpbmsgYW5kIGltcGxlbWVudCBzb21lIHNtYXJ0IHNvbHV0aW9uIGZvciBkZWZhdWx0IHNvcnRcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEl0ZXJhdG9yIHRoYXQgYWxsb3cgdG8gaXRlcmF0ZSBjb2xsZWN0aW9uIGl0ZW1zXHJcbiAgICovXHJcbiAgW1N5bWJvbC5pdGVyYXRvcl0oKTogSXRlcmF0b3I8TW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKGl0ZW1zOiBNb2RlbFtdID0gW10pOiB0aGlzIHtcclxuICAgIHJldHVybiBuZXcgKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KShpdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICB0b0FycmF5KCk6IE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLml0ZW1zXTtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gZmlyc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gbGFzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IE1vZGVsIHtcclxuICAgIHRoaXMuaW5kZXggPSAwO1xyXG5cclxuICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgbmV4dCgpOiBNb2RlbCB7XHJcbiAgICBpZiAodGhpcy5pbmRleCA8IHRoaXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgrKztcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpOiBNb2RlbCB7XHJcbiAgICBpZiAodGhpcy5pbmRleCA+IDApIHtcclxuICAgICAgdGhpcy5pbmRleC0tO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5pbmRleF07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRJZHMoKTogbnVtYmVyW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtOiBNb2RlbCk6IG51bWJlciA9PiBpdGVtWydpZCddKTtcclxuICB9XHJcblxyXG4gIG1hcChjYWxsYmFjazogKGl0ZW06IE1vZGVsKSA9PiBhbnkpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgbWFwQnkocGF0aDogc3RyaW5nKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpdGVtOiBNb2RlbCk6IGFueSA9PiBnZXQoaXRlbSwgcGF0aCkpXHJcbiAgfVxyXG5cclxuICBzb3J0QnkocGF0aHM6IHN0cmluZyB8IHN0cmluZ1tdID0gWydpZCddLCBvcmRlcjogc3RyaW5nIHwgc3RyaW5nW10gPSBbJ2Rlc2MnXSk6IHRoaXMge1xyXG4gICAgdGhpcy5pdGVtcyA9IG9yZGVyQnkodGhpcy5pdGVtcywgcGF0aHMgaW5zdGFuY2VvZiBBcnJheSA/IHBhdGhzIDogW3BhdGhzXSwgb3JkZXIgaW5zdGFuY2VvZiBBcnJheSA/IG9yZGVyIDogW29yZGVyXSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzb3J0KGNhbGxiYWNrOiAoYTogTW9kZWwsIGI6IE1vZGVsKSA9PiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMuc29ydChjYWxsYmFjayk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdG90YWwgc3VtIG9mIGl0ZW1zIGJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc3VtQnkocGF0aDogc3RyaW5nLCBhYnMgPSBmYWxzZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2UoXHJcbiAgICAgIChzdW06IG51bWJlciwgaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gc3VtICsgKGFicyA/IE1hdGguYWJzKE51bWJlcihnZXQoaXRlbSwgcGF0aCkpKSA6IE51bWJlcihnZXQoaXRlbSwgcGF0aCkpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdyb3VwQnkocGF0aCA9ICdpZCcpOiBDb2xsZWN0aW9uRGljdGlvbmFyeTx0aGlzPiB7XHJcbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KHRoaXMsIHBhdGgpO1xyXG4gIH1cclxuXHJcbiAgaW5kZXhCeShwYXRoID0gJ2lkJyk6IERpY3Rpb25hcnk8TW9kZWw+IHtcclxuICAgIHJldHVybiBuZXcgRGljdGlvbmFyeSh0aGlzLml0ZW1zLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGZpbHRlcihjYWxsYmFjazogKGl0ZW06IE1vZGVsKSA9PiBib29sZWFuKTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5pdGVtcy5maWx0ZXIoY2FsbGJhY2spKTtcclxuICB9XHJcblxyXG4gIGZpbHRlckJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpID0+IChBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXSkuaW5jbHVkZXMoZ2V0KGl0ZW0sIHBhdGgpKSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeVJhbmdlKHBhdGg6IHN0cmluZywgZnJvbTogYW55LCB0bzogYW55KTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGl0ZW06IE1vZGVsKTogYm9vbGVhbiA9PiBnZXQoaXRlbSwgcGF0aCkgPj0gZnJvbSAmJiBnZXQoaXRlbSwgcGF0aCkgPD0gdG8pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnlGaW5hbmNpYWxZZWFyKHBhdGg6IHN0cmluZywgZmluYW5jaWFsWWVhcjogRmluYW5jaWFsWWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKCkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5UmFuZ2UocGF0aCwgZmluYW5jaWFsWWVhci5zdGFydERhdGUsIGZpbmFuY2lhbFllYXIuZW5kRGF0ZSk7XHJcbiAgfVxyXG5cclxuICBmaW5kKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZChjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICBmaW5kQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogTW9kZWwgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKG1vZGVsOiBNb2RlbCkgPT4gdmFsdWUgPT09IGdldChtb2RlbCwgcGF0aCkpO1xyXG4gIH1cclxuXHJcbiAgZmluZEluZGV4QnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmRJbmRleCgoaXRlbTogTW9kZWwpID0+IGdldChpdGVtLCBwYXRoKSA9PT0gdmFsdWUpID8/IG51bGw7XHJcbiAgfVxyXG5cclxuICBwdXNoKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnB1c2goLi4uaXRlbXMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZSguLi5pdGVtczogTW9kZWxbXSk6IHRoaXMge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gdGhpcy5maW5kSW5kZXhCeSgnaWQnLCBpdGVtLmlkKTtcclxuICAgICAgaWYgKGluZGV4IDwgMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAVE9ETyBpdCdzIGZpbHRlciwgbm90IHJlbW92ZVxyXG4gICAqL1xyXG4gIHJlbW92ZUJ5KHBhdGg6IHN0cmluZywgdmFsdWVzOiBhbnkpOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigoaXRlbTogTW9kZWwpID0+ICEoQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc10pLmluY2x1ZGVzKGdldChpdGVtLCBwYXRoKSkpO1xyXG4gIH1cclxuXHJcbiAgcmVwbGFjZUJ5KHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSwgaXRlbTogTW9kZWwpOiB0aGlzIHtcclxuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KHBhdGgsIHZhbHVlKTtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGluZGV4LCAxLCBpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICBkaWZmKGl0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKG1vZGVsOiBNb2RlbCkgPT4gIWl0ZW1zLm1hcCgoaXRlbTogTW9kZWwpID0+IGl0ZW0uaWQpLmluY2x1ZGVzKG1vZGVsLmlkKSk7XHJcbiAgfVxyXG5cclxuICBtaW5CeShwYXRoOiBzdHJpbmcpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHByZXY6IE1vZGVsLCBjdXJyZW50OiBNb2RlbCkgPT4gKGdldChwcmV2LCBwYXRoKSA8IGdldChjdXJyZW50LCBwYXRoKSA/IHByZXYgOiBjdXJyZW50KSk7XHJcbiAgfVxyXG5cclxuICBtYXhCeShwYXRoOiBzdHJpbmcpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHByZXY6IE1vZGVsLCBjdXJyZW50OiBNb2RlbCkgPT4gKGdldChwcmV2LCBwYXRoKSA+IGdldChjdXJyZW50LCBwYXRoKSA/IHByZXYgOiBjdXJyZW50KSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBmbG9hdCBtYXRoIGlzc3VlcyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMjUxMTA1Ny9mbG9hdC1zdW0td2l0aC1qYXZhc2NyaXB0XHJcbiAgICovXHJcbiAgcmVkdWNlKGNhbGxiYWNrOiAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKSA9PiBudW1iZXIsIGluaXQgPSAwKTogbnVtYmVyIHtcclxuICAgIHJldHVybiArdGhpcy5pdGVtcy5yZWR1Y2UoY2FsbGJhY2ssIGluaXQpLnRvRml4ZWQoMTApO1xyXG4gIH1cclxuXHJcbiAgc2xpY2UoZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNsaWNlKGZyb20sIHRvKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcbn1cclxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFTckIsWUFBWSxRQUFpQixFQUFFO1FBTC9COztXQUVHO1FBQ0gsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHVFQUF1RTtJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxD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LENBQUMsTUFBTSxDQUFDLENBQUMsSUFBVyxFQUFFLE9BQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVcsRUFBRSxPQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQThDLEVBQUUsSUFBSSxHQUFHLENBQUM7UUFDN0QsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZLEVBQUUsRUFBVTtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcclxuaW1wb3J0IGZpcnN0IGZyb20gJ2xvZGFzaC9maXJzdCc7XHJcbmltcG9ydCBsYXN0IGZyb20gJ2xvZGFzaC9sYXN0JztcclxuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcclxuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uL2RiL01vZGVscyc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnksIEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgb3JkZXJCeSBmcm9tICdsb2Rhc2gvb3JkZXJCeSc7XHJcblxyXG4vKipcclxuICogQmFzZSBjb2xsZWN0aW9uIGNsYXNzLiBDb250YWlucyBjb21tb24gcHJvcGVydGllcyBhbmQgbWV0aG9kcyBmb3IgYWxsIGNvbGxlY3Rpb25zXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbjxNb2RlbCBleHRlbmRzIEFic3RyYWN0TW9kZWw+IGltcGxlbWVudHMgSXRlcmFibGU8TW9kZWw+IHtcclxuICAvLyBsaXN0IG9mIGNvbGxlY3Rpb24ncyBpdGVtc1xyXG4gIGl0ZW1zOiBNb2RlbFtdO1xyXG5cclxuICAvKipcclxuICAgKiBpbmRleCBvZiBjdXJyZW50IGl0ZW0sIHVzZWQgdG8gaXRlcmF0ZSBvdmVyIHRoZSBjb2xsZWN0aW9uXHJcbiAgICovXHJcbiAgaW5kZXggPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihpdGVtczogTW9kZWxbXSA9IFtdKSB7XHJcbiAgICB0aGlzLml0ZW1zID0gaXRlbXM7XHJcbiAgICAvLyBAVE9ETyBBbGV4OiBUaGluayBhbmQgaW1wbGVtZW50IHNvbWUgc21hcnQgc29sdXRpb24gZm9yIGRlZmF1bHQgc29ydFxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSXRlcmF0b3IgdGhhdCBhbGxvdyB0byBpdGVyYXRlIGNvbGxlY3Rpb24gaXRlbXNcclxuICAgKi9cclxuICBbU3ltYm9sLml0ZXJhdG9yXSgpOiBJdGVyYXRvcjxNb2RlbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMudmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGUoaXRlbXM6IE1vZGVsW10gPSBbXSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIG5ldyAodGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkpKGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHRvQXJyYXkoKTogTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gWy4uLnRoaXMuaXRlbXNdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpcnN0KCk6IE1vZGVsIHtcclxuICAgIHJldHVybiBmaXJzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIGdldCBsYXN0KCk6IE1vZGVsIHtcclxuICAgIHJldHVybiBsYXN0KHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHByZXZpb3VzKCk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaXRlbXMubGVuZ3RoIC0gMl07XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiBNb2RlbCB7XHJcbiAgICB0aGlzLmluZGV4ID0gMDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICB9XHJcblxyXG4gIG5leHQoKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPCB0aGlzLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluZGV4Kys7XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLmluZGV4XTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGJhY2soKTogTW9kZWwge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMuaW5kZXgtLTtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gaXRlbVsnaWQnXSk7XHJcbiAgfVxyXG5cclxuICBtYXAoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIG1hcEJ5KHBhdGg6IHN0cmluZyk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBhbnkgPT4gZ2V0KGl0ZW0sIHBhdGgpKVxyXG4gIH1cclxuXHJcbiAgc29ydEJ5KHBhdGhzOiBzdHJpbmcgfCBzdHJpbmdbXSA9IFsnaWQnXSwgb3JkZXI6IHN0cmluZyB8IHN0cmluZ1tdID0gWydkZXNjJ10pOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMgPSBvcmRlckJ5KHRoaXMuaXRlbXMsIHBhdGhzIGluc3RhbmNlb2YgQXJyYXkgPyBwYXRocyA6IFtwYXRoc10sIG9yZGVyIGluc3RhbmNlb2YgQXJyYXkgPyBvcmRlciA6IFtvcmRlcl0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc29ydChjYWxsYmFjazogKGE6IE1vZGVsLCBiOiBNb2RlbCkgPT4gbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLml0ZW1zLnNvcnQoY2FsbGJhY2spO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRvdGFsIHN1bSBvZiBpdGVtcyBieSBmaWVsZFxyXG4gICAqL1xyXG4gIHN1bUJ5KHBhdGg6IHN0cmluZywgYWJzID0gZmFsc2UpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMucmVkdWNlKFxyXG4gICAgICAoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKTogbnVtYmVyID0+IHN1bSArIChhYnMgPyBNYXRoLmFicyhOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSkgOiBOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBncm91cEJ5KHBhdGggPSAnaWQnKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8dGhpcz4ge1xyXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeSh0aGlzLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGluZGV4QnkocGF0aCA9ICdpZCcpOiBEaWN0aW9uYXJ5PE1vZGVsPiB7XHJcbiAgICByZXR1cm4gbmV3IERpY3Rpb25hcnkodGhpcy5pdGVtcywgcGF0aCk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXIoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMuZmlsdGVyKGNhbGxiYWNrKSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJCeShwYXRoOiBzdHJpbmcsIHZhbHVlczogYW55KTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpID8gdmFsdWVzIDogW3ZhbHVlc10pLmluY2x1ZGVzKGdldChpdGVtLCBwYXRoKSkpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyQnlSYW5nZShwYXRoOiBzdHJpbmcsIGZyb206IGFueSwgdG86IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCk6IGJvb2xlYW4gPT4gZ2V0KGl0ZW0sIHBhdGgpID49IGZyb20gJiYgZ2V0KGl0ZW0sIHBhdGgpIDw9IHRvKTtcclxuICB9XHJcblxyXG4gIGZpbHRlckJ5RmluYW5jaWFsWWVhcihwYXRoRnJvbTogc3RyaW5nLCBwYXRoVG8/OiBzdHJpbmcsIGZpbmFuY2lhbFllYXI6IEZpbmFuY2lhbFllYXIgPSBuZXcgRmluYW5jaWFsWWVhcigpKTogdGhpcyB7XHJcbiAgICBpZiAocGF0aFRvKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcihcclxuICAgICAgICBtb2RlbCA9PiBnZXQobW9kZWwsIHBhdGhGcm9tKSA8PSBmaW5hbmNpYWxZZWFyLmVuZERhdGUgJiYgIWdldChtb2RlbCwgcGF0aFRvKSB8fCBnZXQobW9kZWwsIHBhdGhUbykgPj0gZmluYW5jaWFsWWVhci5zdGFydERhdGVcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeVJhbmdlKHBhdGhGcm9tLCBmaW5hbmNpYWxZZWFyLnN0YXJ0RGF0ZSwgZmluYW5jaWFsWWVhci5lbmREYXRlKTtcclxuICB9XHJcblxyXG4gIGZpbmQoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IE1vZGVsIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIGZpbmRCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBNb2RlbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgobW9kZWw6IE1vZGVsKSA9PiB2YWx1ZSA9PT0gZ2V0KG1vZGVsLCBwYXRoKSk7XHJcbiAgfVxyXG5cclxuICBmaW5kSW5kZXhCeShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZEluZGV4KChpdGVtOiBNb2RlbCkgPT4gZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSkgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1c2goLi4uaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMucHVzaCguLi5pdGVtcyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKC4uLml0ZW1zOiBNb2RlbFtdKTogdGhpcyB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZpbmRJbmRleEJ5KCdpZCcsIGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBUT0RPIGl0J3MgZmlsdGVyLCBub3QgcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlQnkocGF0aDogc3RyaW5nLCB2YWx1ZXM6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gIShBcnJheS5pc0FycmF5KHZhbHVlcykgPyB2YWx1ZXMgOiBbdmFsdWVzXSkuaW5jbHVkZXMoZ2V0KGl0ZW0sIHBhdGgpKSk7XHJcbiAgfVxyXG5cclxuICByZXBsYWNlQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCBpdGVtOiBNb2RlbCk6IHRoaXMge1xyXG4gICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZmluZEluZGV4QnkocGF0aCwgdmFsdWUpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEsIGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIGRpZmYoaXRlbXM6IE1vZGVsW10pOiB0aGlzIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcigobW9kZWw6IE1vZGVsKSA9PiAhaXRlbXMubWFwKChpdGVtOiBNb2RlbCkgPT4gaXRlbS5pZCkuaW5jbHVkZXMobW9kZWwuaWQpKTtcclxuICB9XHJcblxyXG4gIG1pbkJ5KHBhdGg6IHN0cmluZyk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldjogTW9kZWwsIGN1cnJlbnQ6IE1vZGVsKSA9PiAoZ2V0KHByZXYsIHBhdGgpIDwgZ2V0KGN1cnJlbnQsIHBhdGgpID8gcHJldiA6IGN1cnJlbnQpKTtcclxuICB9XHJcblxyXG4gIG1heEJ5KHBhdGg6IHN0cmluZyk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgocHJldjogTW9kZWwsIGN1cnJlbnQ6IE1vZGVsKSA9PiAoZ2V0KHByZXYsIHBhdGgpID4gZ2V0KGN1cnJlbnQsIHBhdGgpID8gcHJldiA6IGN1cnJlbnQpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGZsb2F0IG1hdGggaXNzdWVzIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEyNTExMDU3L2Zsb2F0LXN1bS13aXRoLWphdmFzY3JpcHRcclxuICAgKi9cclxuICByZWR1Y2UoY2FsbGJhY2s6IChzdW06IG51bWJlciwgaXRlbTogTW9kZWwpID0+IG51bWJlciwgaW5pdCA9IDApOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZShjYWxsYmFjaywgaW5pdCkudG9GaXhlZCgxMCk7XHJcbiAgfVxyXG5cclxuICBzbGljZShmcm9tOiBudW1iZXIsIHRvOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuaXRlbXMuc2xpY2UoZnJvbSwgdG8pO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -2,4 +2,5 @@ export * from './property-sale';
2
2
  export * from './property.collection';
3
3
  export * from './property-category-movement.collection';
4
4
  export * from './property-share.collection';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvcHJvcGVydHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktc2FsZSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktc2hhcmUuY29sbGVjdGlvbic7XG4iXX0=
5
+ export * from './property-valuation.collection';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvcHJvcGVydHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eS1zYWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHkuY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50LmNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eS1zaGFyZS5jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uLmNvbGxlY3Rpb24nO1xuIl19
@@ -4,12 +4,20 @@ export class PropertyCategoryMovementCollection extends Collection {
4
4
  /**
5
5
  * @TODO TT-2355 Alex refactor propertyForecast, use separated api (then I can remove property from param)
6
6
  */
7
- getByForecast(property, forecast) {
8
- const financialYear = new FinancialYear(forecast.financialYear);
9
- return this.filterBy('property.id', property.id).filter((movement) => movement.fromDate <= financialYear.endDate && !movement.toDate || movement.toDate >= financialYear.startDate);
7
+ filterByForecast(property, forecast) {
8
+ return this.filterBy('property.id', property.id)
9
+ .filterByFinancialYear('fromDate', 'toDate', new FinancialYear(forecast.financialYear));
10
10
  }
11
11
  hasCategory(categoryId) {
12
12
  return !!this.findBy('propertyCategory.id', categoryId);
13
13
  }
14
+ /**
15
+ * active movement by property based on selected year
16
+ */
17
+ getCurrent() {
18
+ return this.create(this.filterByFinancialYear('fromDate', 'toDate')
19
+ .indexBy('property.id')
20
+ .toArray());
21
+ }
14
22
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBd0QsTUFBTSxjQUFjLENBQUM7QUFFbkcsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLFVBQW9DO0lBQzFGOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFFBQWtCLEVBQUUsUUFBMEI7UUFDMUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWhFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaE4sQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUFrQjtRQUM1QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIsIFByb3BlcnR5LCBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQsIFByb3BlcnR5Rm9yZWNhc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50Q29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248UHJvcGVydHlDYXRlZ29yeU1vdmVtZW50PiB7XG4gIC8qKlxuICAgKiBAVE9ETyBUVC0yMzU1IEFsZXggcmVmYWN0b3IgcHJvcGVydHlGb3JlY2FzdCwgdXNlIHNlcGFyYXRlZCBhcGkgKHRoZW4gSSBjYW4gcmVtb3ZlIHByb3BlcnR5IGZyb20gcGFyYW0pXG4gICAqL1xuICBnZXRCeUZvcmVjYXN0KHByb3BlcnR5OiBQcm9wZXJ0eSwgZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiB0aGlzIHtcbiAgICBjb25zdCBmaW5hbmNpYWxZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoZm9yZWNhc3QuZmluYW5jaWFsWWVhcik7XG5cbiAgICByZXR1cm4gdGhpcy5maWx0ZXJCeSgncHJvcGVydHkuaWQnLCBwcm9wZXJ0eS5pZCkuZmlsdGVyKChtb3ZlbWVudDogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KSA9PiBtb3ZlbWVudC5mcm9tRGF0ZSA8PSBmaW5hbmNpYWxZZWFyLmVuZERhdGUgJiYgIW1vdmVtZW50LnRvRGF0ZSB8fCBtb3ZlbWVudC50b0RhdGUgPj0gZmluYW5jaWFsWWVhci5zdGFydERhdGUpO1xuICB9XG5cbiAgaGFzQ2F0ZWdvcnkoY2F0ZWdvcnlJZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5maW5kQnkoJ3Byb3BlcnR5Q2F0ZWdvcnkuaWQnLCBjYXRlZ29yeUlkKTtcbiAgfVxufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBd0QsTUFBTSxjQUFjLENBQUM7QUFFbkcsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLFVBQW9DO0lBQzFGOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsUUFBa0IsRUFBRSxRQUEwQjtRQUM3RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7YUFDN0MscUJBQXFCLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWtCO1FBQzVCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7YUFDN0MsT0FBTyxDQUFDLGFBQWEsQ0FBQzthQUN0QixPQUFPLEVBQUUsQ0FDYixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciwgUHJvcGVydHksIFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCwgUHJvcGVydHlGb3JlY2FzdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQ+IHtcbiAgLyoqXG4gICAqIEBUT0RPIFRULTIzNTUgQWxleCByZWZhY3RvciBwcm9wZXJ0eUZvcmVjYXN0LCB1c2Ugc2VwYXJhdGVkIGFwaSAodGhlbiBJIGNhbiByZW1vdmUgcHJvcGVydHkgZnJvbSBwYXJhbSlcbiAgICovXG4gIGZpbHRlckJ5Rm9yZWNhc3QocHJvcGVydHk6IFByb3BlcnR5LCBmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckJ5KCdwcm9wZXJ0eS5pZCcsIHByb3BlcnR5LmlkKVxuICAgICAgLmZpbHRlckJ5RmluYW5jaWFsWWVhcignZnJvbURhdGUnLCAndG9EYXRlJywgbmV3IEZpbmFuY2lhbFllYXIoZm9yZWNhc3QuZmluYW5jaWFsWWVhcikpO1xuICB9XG5cbiAgaGFzQ2F0ZWdvcnkoY2F0ZWdvcnlJZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5maW5kQnkoJ3Byb3BlcnR5Q2F0ZWdvcnkuaWQnLCBjYXRlZ29yeUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhY3RpdmUgbW92ZW1lbnQgYnkgcHJvcGVydHkgYmFzZWQgb24gc2VsZWN0ZWQgeWVhclxuICAgKi9cbiAgZ2V0Q3VycmVudCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLmZpbHRlckJ5RmluYW5jaWFsWWVhcignZnJvbURhdGUnLCAndG9EYXRlJylcbiAgICAgICAgLmluZGV4QnkoJ3Byb3BlcnR5LmlkJylcbiAgICAgICAgLnRvQXJyYXkoKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ import { Collection } from '../collection';
2
+ export class PropertyValuationCollection extends Collection {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdmFsdWF0aW9uLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvcHJvcGVydHkvcHJvcGVydHktdmFsdWF0aW9uLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsVUFBNkI7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5VmFsdWF0aW9uQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248UHJvcGVydHlWYWx1YXRpb24+IHt9XG4iXX0=
@@ -1,14 +1,6 @@
1
1
  import { Collection } from '../collection';
2
- import { FinancialYear } from '../../models';
3
2
  import uniqBy from 'lodash/uniqBy';
4
3
  export class PropertyCollection extends Collection {
5
- /**
6
- * Get new property collection filtered by category id
7
- * @param id id of category for filter
8
- */
9
- getByCategoryId(id) {
10
- return new PropertyCollection(this.items.filter((property) => property.category.id === id));
11
- }
12
4
  /**
13
5
  * Get new property collection filtered by active status
14
6
  */
@@ -24,12 +16,6 @@ export class PropertyCollection extends Collection {
24
16
  getSharedProperties() {
25
17
  return new PropertyCollection(this.items.filter((property) => !property.isOwn()));
26
18
  }
27
- /**
28
- * Properties that are taxed and will be included in reports (Tax summary, My tax report, e.t.c.)
29
- */
30
- getTaxInclusive() {
31
- return this.create(this.items.filter((property) => property.category.isTaxInclusive));
32
- }
33
19
  getUnsold() {
34
20
  return this.create(this.items.filter((property) => !property.isSold()));
35
21
  }
@@ -45,33 +31,21 @@ export class PropertyCollection extends Collection {
45
31
  get marketValue() {
46
32
  return this.sumBy('marketValue');
47
33
  }
48
- get firstForecastYear() {
49
- return this.items.reduce((min, property) => {
50
- const current = property.firstForecastYear;
51
- return min > current ? current : min;
52
- }, new FinancialYear().year);
53
- }
54
34
  get marketValueGrowth() {
55
35
  return (this.marketValue - this.purchasePrice) / this.purchasePrice;
56
36
  }
57
- /**
58
- * list of properties
59
- */
60
- getCGTApplicable() {
61
- return this.create(this.items.filter((property) => property.isCGTApplicable()));
62
- }
63
- getOwnerOccupiedProperties() {
64
- return new PropertyCollection(this.items.filter((property) => property.category.isOwnerOccupied()));
65
- }
66
- get earliestContractDate() {
67
- return this.items.reduce((min, property) => min < property.contractDate ? min : property.contractDate, new FinancialYear(new Date()).startDate);
68
- }
69
37
  /**
70
38
  * Get list of unique property categories from collection
71
39
  */
72
40
  getCategories() {
73
41
  return uniqBy(this.items.map((property) => property.category), 'id');
74
42
  }
43
+ /**
44
+ * list of properties
45
+ */
46
+ getCGTApplicable() {
47
+ return this.create(this.items.filter((property) => property.isCGTApplicable()));
48
+ }
75
49
  /**
76
50
  * Get property with the highest growth percent
77
51
  */
@@ -91,6 +65,7 @@ export class PropertyCollection extends Collection {
91
65
  }, this.first);
92
66
  }
93
67
  /**
68
+ * @TODO Nicole not needed anymore?
94
69
  * Show best performance properties first
95
70
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/217677997/Property+Tank+Dashboard
96
71
  */
@@ -111,5 +86,28 @@ export class PropertyCollection extends Collection {
111
86
  get netMonthlyIncome() {
112
87
  return this.sumBy('monthlyIncome') + this.sumBy('monthlyExpense');
113
88
  }
89
+ getOwnerOccupiedProperties() {
90
+ return new PropertyCollection(this.items.filter((property) => property.category.isOwnerOccupied()));
91
+ }
92
+ /**
93
+ * Properties that are taxed and will be included in reports (Tax summary, My tax report, e.t.c.)
94
+ */
95
+ getTaxInclusive() {
96
+ return this.create(this.items.filter((property) => property.category.isTaxInclusive));
97
+ }
98
+ groupByCategory(categories, movements, allowEmpty = false) {
99
+ const categoryById = categories.indexBy('id');
100
+ const movementsByCategory = movements.getCurrent().groupBy('propertyCategory.id');
101
+ const propertiesByCategory = new Map;
102
+ movementsByCategory.keys.forEach(key => {
103
+ propertiesByCategory.set(categoryById.get(key), this.filterBy('id', movementsByCategory.get(key).map(movement => movement.property.id)));
104
+ });
105
+ if (allowEmpty) {
106
+ categories.remove(...propertiesByCategory.keys()).toArray().forEach(category => {
107
+ propertiesByCategory.set(category, new PropertyCollection());
108
+ });
109
+ }
110
+ return propertiesByCategory;
111
+ }
114
112
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBS25DLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUFvQjtJQUMxRDs7O09BR0c7SUFDSCxlQUFlLENBQUMsRUFBVTtRQUN4QixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQ2hGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUNyRSxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFX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RCxNQUFNLGNBQWMsR0FBZSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNwRCxnQkFBZ0IsQ0FBQyxnQ0FBZ0MsRUFBRTtZQUNuRCxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO1NBQzVFLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwQixNQUFNLFFBQVEsR0FBZSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pFLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgUHJvcGVydHksIFByb3BlcnR5Q2F0ZWdvcnksIEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHVuaXFCeSBmcm9tICdsb2Rhc2gvdW5pcUJ5JztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi9kZXByZWNpYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4uL2NvbGxlY3Rpb24tZGljdGlvbmFyeSc7XG5cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFByb3BlcnR5PiB7XG4gIC8qKlxuICAgKiBHZXQgbmV3IHByb3BlcnR5IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgY2F0ZWdvcnkgaWRcbiAgICogQHBhcmFtIGlkIGlkIG9mIGNhdGVnb3J5IGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5Q2F0ZWdvcnlJZChpZDogbnVtYmVyKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmNhdGVnb3J5LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgcHJvcGVydHkgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBhY3RpdmUgc3RhdHVzXG4gICAqL1xuICBnZXRBY3RpdmVQcm9wZXJ0aWVzKCk6IFByb3BlcnR5Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBQcm9wZXJ0eUNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS5pc0FjdGl2ZSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q3JlYXRlZFByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmlzT3duKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IHByb3BlcnR5IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgc2hhcmVkXG4gICAqL1xuICBnZXRTaGFyZWRQcm9wZXJ0aWVzKCk6IFByb3BlcnR5Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBQcm9wZXJ0eUNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiAhcHJvcGVydHkuaXNPd24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdGhhdCBhcmUgdGF4ZWQgYW5kIHdpbGwgYmUgaW5jbHVkZWQgaW4gcmVwb3J0cyAoVGF4IHN1bW1hcnksIE15IHRheCByZXBvcnQsIGUudC5jLilcbiAgICovXG4gIGdldFRheEluY2x1c2l2ZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5jYXRlZ29yeS5pc1RheEluY2x1c2l2ZSlcbiAgICApO1xuICB9XG5cbiAgZ2V0VW5zb2xkKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpID0+ICFwcm9wZXJ0eS5pc1NvbGQoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0b3RhbCBwdXJjaGFzZSBwcmljZSBmb3IgYWxsIHByb3BlcnRpZXMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBwdXJjaGFzZVByaWNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ3B1cmNoYXNlUHJpY2UnKTtcbiAgfVxuXG4gIGdldCBncm93dGhQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2dyb3d0aFBlcmNlbnQnKTtcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdtYXJrZXRWYWx1ZScpO1xuICB9XG5cbiAgZ2V0IGZpcnN0Rm9yZWNhc3RZZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChtaW46IG51bWJlciwgcHJvcGVydHk6IFByb3BlcnR5KTogbnVtYmVyID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IHByb3BlcnR5LmZpcnN0Rm9yZWNhc3RZZWFyO1xuICAgICAgcmV0dXJuIG1pbiA+IGN1cnJlbnQgPyBjdXJyZW50IDogbWluO1xuICAgIH0sIG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWVHcm93dGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMubWFya2V0VmFsdWUgLSB0aGlzLnB1cmNoYXNlUHJpY2UpIC8gdGhpcy5wdXJjaGFzZVByaWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3Qgb2YgcHJvcGVydGllc1xuICAgKi9cbiAgZ2V0Q0dUQXBwbGljYWJsZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5pc0NHVEFwcGxpY2FibGUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0T3duZXJPY2N1cGllZFByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmNhdGVnb3J5LmlzT3duZXJPY2N1cGllZCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgZWFybGllc3RDb250cmFjdERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChtaW46IERhdGUsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IERhdGUgPT4gbWluIDwgcHJvcGVydHkuY29udHJhY3REYXRlID8gbWluIDogcHJvcGVydHkuY29udHJhY3REYXRlLCBuZXcgRmluYW5jaWFsWWVhcihuZXcgRGF0ZSgpKS5zdGFydERhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHVuaXF1ZSBwcm9wZXJ0eSBjYXRlZ29yaWVzIGZyb20gY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0Q2F0ZWdvcmllcygpOiBQcm9wZXJ0eUNhdGVnb3J5W10ge1xuICAgIHJldHVybiB1bmlxQnkodGhpcy5pdGVtcy5tYXAoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5Q2F0ZWdvcnkgPT4gcHJvcGVydHkuY2F0ZWdvcnkpLCAnaWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcHJvcGVydHkgd2l0aCB0aGUgaGlnaGVzdCBncm93dGggcGVyY2VudFxuICAgKi9cbiAgZ2V0QmVzdFBlcmZvcm1hbmNlR3Jvd3RoUHJvcGVydHkoKTogUHJvcGVydHkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgobWF4OiBQcm9wZXJ0eSwgY3VycmVudDogUHJvcGVydHkpOiBQcm9wZXJ0eSA9PiBtYXguZ3Jvd3RoUGVyY2VudCA8IGN1cnJlbnQuZ3Jvd3RoUGVyY2VudCA/IGN1cnJlbnQgOiBtYXgsIHRoaXMuZmlyc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9wZXJ0eSB3aXRoIHRoZSBsb3dlc3QgdGF4IHBvc2l0aW9uXG4gICAqL1xuICBnZXRCZXN0UGVyZm9ybWFuY2VUYXhQcm9wZXJ0eSh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbik6IFByb3BlcnR5IHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnNCeVByb3BlcnR5OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+ID0gdHJhbnNhY3Rpb25zLmdyb3VwQnkoJ3Byb3BlcnR5LmlkJyk7XG4gICAgY29uc3QgZGVwcmVjaWF0aW9uc0J5UHJvcGVydHk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PERlcHJlY2lhdGlvbkNvbGxlY3Rpb24+ID0gZGVwcmVjaWF0aW9ucy5ncm91cEJ5KCdwcm9wZXJ0eS5pZCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChtaW46IFByb3BlcnR5LCBjdXJyZW50OiBQcm9wZXJ0eSk6IFByb3BlcnR5ID0+IHtcbiAgICAgIGNvbnN0IG1pblRheFBvc2l0aW9uOiBudW1iZXIgPSBtaW4uZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zQnlQcm9wZXJ0eS5nZXQobWluLmlkKSwgZGVwcmVjaWF0aW9uc0J5UHJvcGVydHkuZ2V0KG1pbi5pZCkpO1xuICAgICAgY29uc3QgY3VycmVudFRheFBvc2l0aW9uOiBudW1iZXIgPSBjdXJyZW50LmdldFRheFBvc2l0aW9uKHRyYW5zYWN0aW9uc0J5UHJvcGVydHkuZ2V0KGN1cnJlbnQuaWQpLCBkZXByZWNpYXRpb25zQnlQcm9wZXJ0eS5nZXQoY3VycmVudC5pZCkpO1xuXG4gICAgICByZXR1cm4gbWluVGF4UG9zaXRpb24gPiBjdXJyZW50VGF4UG9zaXRpb24gPyBjdXJyZW50IDogbWluO1xuICAgIH0sIHRoaXMuZmlyc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgYmVzdCBwZXJmb3JtYW5jZSBwcm9wZXJ0aWVzIGZpcnN0XG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTk3L1Byb3BlcnR5K1RhbmsrRGFzaGJvYXJkXG4gICAqL1xuICBzb3J0QnlCZXN0UGVyZm9ybWFuY2UodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiB0aGlzIHtcbiAgICBjb25zdCBhY3RpdmVQcm9wZXJ0aWVzOiBQcm9wZXJ0eUNvbGxlY3Rpb24gPSB0aGlzLmdldEFjdGl2ZVByb3BlcnRpZXMoKTtcblxuICAgIC8vIG5vdGhpbmcgdG8gc29ydCB3aGVuIG5vIGFjdGl2ZSBwcm9wZXJ0aWVzXG4gICAgaWYgKCFhY3RpdmVQcm9wZXJ0aWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgY29uc3QgYmVzdFByb3BlcnRpZXM6IFByb3BlcnR5W10gPSB1bmlxQnkodGhpcy5jcmVhdGUoW1xuICAgICAgYWN0aXZlUHJvcGVydGllcy5nZXRCZXN0UGVyZm9ybWFuY2VHcm93dGhQcm9wZXJ0eSgpLFxuICAgICAgYWN0aXZlUHJvcGVydGllcy5nZXRCZXN0UGVyZm9ybWFuY2VUYXhQcm9wZXJ0eSh0cmFuc2FjdGlvbnMsIGRlcHJlY2lhdGlvbnMpXG4gICAgXSkudG9BcnJheSgpLCAnaWQnKTtcblxuICAgIGNvbnN0IG5ld0l0ZW1zOiBQcm9wZXJ0eVtdID0gdGhpcy5kaWZmKGJlc3RQcm9wZXJ0aWVzKS50b0FycmF5KCk7XG4gICAgbmV3SXRlbXMudW5zaGlmdCguLi5iZXN0UHJvcGVydGllcyk7XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGUobmV3SXRlbXMpO1xuICB9XG5cbiAgZ2V0IG5ldE1vbnRobHlJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnbW9udGhseUluY29tZScpICsgdGhpcy5zdW1CeSgnbW9udGhseUV4cGVuc2UnKTtcbiAgfVxufVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS9wcm9wZXJ0eS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBTW5DLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUFvQjtJQUMxRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQ3JFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUM5RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVH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QUFDLEVBQUU7WUFDckMsb0JBQW9CLENBQUMsR0FBRyxDQUN0QixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN4RixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsRUFBRTtZQUNkLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDN0Usb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eSwgUHJvcGVydHlDYXRlZ29yeSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uL2RlcHJlY2lhdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudENvbGxlY3Rpb24gfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50LmNvbGxlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxQcm9wZXJ0eT4ge1xuICAvKipcbiAgICogR2V0IG5ldyBwcm9wZXJ0eSBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IGFjdGl2ZSBzdGF0dXNcbiAgICovXG4gIGdldEFjdGl2ZVByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmlzQWN0aXZlKVxuICAgICk7XG4gIH1cblxuICBnZXRDcmVhdGVkUHJvcGVydGllcygpOiBQcm9wZXJ0eUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuaXNPd24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgcHJvcGVydHkgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBzaGFyZWRcbiAgICovXG4gIGdldFNoYXJlZFByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+ICFwcm9wZXJ0eS5pc093bigpKVxuICAgICk7XG4gIH1cblxuICBnZXRVbnNvbGQoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSkgPT4gIXByb3BlcnR5LmlzU29sZCgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRvdGFsIHB1cmNoYXNlIHByaWNlIGZvciBhbGwgcHJvcGVydGllcyBpbiB0aGUgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IHB1cmNoYXNlUHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgncHVyY2hhc2VQcmljZScpO1xuICB9XG5cbiAgZ2V0IGdyb3d0aFBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnZ3Jvd3RoUGVyY2VudCcpO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ21hcmtldFZhbHVlJyk7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWVHcm93dGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMubWFya2V0VmFsdWUgLSB0aGlzLnB1cmNoYXNlUHJpY2UpIC8gdGhpcy5wdXJjaGFzZVByaWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHVuaXF1ZSBwcm9wZXJ0eSBjYXRlZ29yaWVzIGZyb20gY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0Q2F0ZWdvcmllcygpOiBQcm9wZXJ0eUNhdGVnb3J5W10ge1xuICAgIHJldHVybiB1bmlxQnkodGhpcy5pdGVtcy5tYXAoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5Q2F0ZWdvcnkgPT4gcHJvcGVydHkuY2F0ZWdvcnkpLCAnaWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsaXN0IG9mIHByb3BlcnRpZXNcbiAgICovXG4gIGdldENHVEFwcGxpY2FibGUoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSkgPT4gcHJvcGVydHkuaXNDR1RBcHBsaWNhYmxlKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcHJvcGVydHkgd2l0aCB0aGUgaGlnaGVzdCBncm93dGggcGVyY2VudFxuICAgKi9cbiAgZ2V0QmVzdFBlcmZvcm1hbmNlR3Jvd3RoUHJvcGVydHkoKTogUHJvcGVydHkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgobWF4OiBQcm9wZXJ0eSwgY3VycmVudDogUHJvcGVydHkpOiBQcm9wZXJ0eSA9PiBtYXguZ3Jvd3RoUGVyY2VudCA8IGN1cnJlbnQuZ3Jvd3RoUGVyY2VudCA/IGN1cnJlbnQgOiBtYXgsIHRoaXMuZmlyc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9wZXJ0eSB3aXRoIHRoZSBsb3dlc3QgdGF4IHBvc2l0aW9uXG4gICAqL1xuICBnZXRCZXN0UGVyZm9ybWFuY2VUYXhQcm9wZXJ0eSh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiwgZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbik6IFByb3BlcnR5IHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbnNCeVByb3BlcnR5OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkNvbGxlY3Rpb24+ID0gdHJhbnNhY3Rpb25zLmdyb3VwQnkoJ3Byb3BlcnR5LmlkJyk7XG4gICAgY29uc3QgZGVwcmVjaWF0aW9uc0J5UHJvcGVydHk6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PERlcHJlY2lhdGlvbkNvbGxlY3Rpb24+ID0gZGVwcmVjaWF0aW9ucy5ncm91cEJ5KCdwcm9wZXJ0eS5pZCcpO1xuXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChtaW46IFByb3BlcnR5LCBjdXJyZW50OiBQcm9wZXJ0eSk6IFByb3BlcnR5ID0+IHtcbiAgICAgIGNvbnN0IG1pblRheFBvc2l0aW9uOiBudW1iZXIgPSBtaW4uZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zQnlQcm9wZXJ0eS5nZXQobWluLmlkKSwgZGVwcmVjaWF0aW9uc0J5UHJvcGVydHkuZ2V0KG1pbi5pZCkpO1xuICAgICAgY29uc3QgY3VycmVudFRheFBvc2l0aW9uOiBudW1iZXIgPSBjdXJyZW50LmdldFRheFBvc2l0aW9uKHRyYW5zYWN0aW9uc0J5UHJvcGVydHkuZ2V0KGN1cnJlbnQuaWQpLCBkZXByZWNpYXRpb25zQnlQcm9wZXJ0eS5nZXQoY3VycmVudC5pZCkpO1xuXG4gICAgICByZXR1cm4gbWluVGF4UG9zaXRpb24gPiBjdXJyZW50VGF4UG9zaXRpb24gPyBjdXJyZW50IDogbWluO1xuICAgIH0sIHRoaXMuZmlyc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIE5pY29sZSBub3QgbmVlZGVkIGFueW1vcmU/XG4gICAqIFNob3cgYmVzdCBwZXJmb3JtYW5jZSBwcm9wZXJ0aWVzIGZpcnN0XG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTk3L1Byb3BlcnR5K1RhbmsrRGFzaGJvYXJkXG4gICAqL1xuICBzb3J0QnlCZXN0UGVyZm9ybWFuY2UodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiB0aGlzIHtcbiAgICBjb25zdCBhY3RpdmVQcm9wZXJ0aWVzOiBQcm9wZXJ0eUNvbGxlY3Rpb24gPSB0aGlzLmdldEFjdGl2ZVByb3BlcnRpZXMoKTtcblxuICAgIC8vIG5vdGhpbmcgdG8gc29ydCB3aGVuIG5vIGFjdGl2ZSBwcm9wZXJ0aWVzXG4gICAgaWYgKCFhY3RpdmVQcm9wZXJ0aWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgY29uc3QgYmVzdFByb3BlcnRpZXM6IFByb3BlcnR5W10gPSB1bmlxQnkodGhpcy5jcmVhdGUoW1xuICAgICAgYWN0aXZlUHJvcGVydGllcy5nZXRCZXN0UGVyZm9ybWFuY2VHcm93dGhQcm9wZXJ0eSgpLFxuICAgICAgYWN0aXZlUHJvcGVydGllcy5nZXRCZXN0UGVyZm9ybWFuY2VUYXhQcm9wZXJ0eSh0cmFuc2FjdGlvbnMsIGRlcHJlY2lhdGlvbnMpXG4gICAgXSkudG9BcnJheSgpLCAnaWQnKTtcblxuICAgIGNvbnN0IG5ld0l0ZW1zOiBQcm9wZXJ0eVtdID0gdGhpcy5kaWZmKGJlc3RQcm9wZXJ0aWVzKS50b0FycmF5KCk7XG4gICAgbmV3SXRlbXMudW5zaGlmdCguLi5iZXN0UHJvcGVydGllcyk7XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGUobmV3SXRlbXMpO1xuICB9XG5cbiAgZ2V0IG5ldE1vbnRobHlJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnbW9udGhseUluY29tZScpICsgdGhpcy5zdW1CeSgnbW9udGhseUV4cGVuc2UnKTtcbiAgfVxuXG4gIGdldE93bmVyT2NjdXBpZWRQcm9wZXJ0aWVzKCk6IFByb3BlcnR5Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBQcm9wZXJ0eUNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS5jYXRlZ29yeS5pc093bmVyT2NjdXBpZWQoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdGhhdCBhcmUgdGF4ZWQgYW5kIHdpbGwgYmUgaW5jbHVkZWQgaW4gcmVwb3J0cyAoVGF4IHN1bW1hcnksIE15IHRheCByZXBvcnQsIGUudC5jLilcbiAgICovXG4gIGdldFRheEluY2x1c2l2ZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5jYXRlZ29yeS5pc1RheEluY2x1c2l2ZSlcbiAgICApO1xuICB9XG5cbiAgZ3JvdXBCeUNhdGVnb3J5KGNhdGVnb3JpZXM6IENvbGxlY3Rpb248UHJvcGVydHlDYXRlZ29yeT4sIG1vdmVtZW50czogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50Q29sbGVjdGlvbiwgYWxsb3dFbXB0eSA9IGZhbHNlKTogTWFwPFByb3BlcnR5Q2F0ZWdvcnksIFByb3BlcnR5Q29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGNhdGVnb3J5QnlJZCA9IGNhdGVnb3JpZXMuaW5kZXhCeSgnaWQnKTtcbiAgICBjb25zdCBtb3ZlbWVudHNCeUNhdGVnb3J5ID0gbW92ZW1lbnRzLmdldEN1cnJlbnQoKS5ncm91cEJ5KCdwcm9wZXJ0eUNhdGVnb3J5LmlkJyk7XG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzQnlDYXRlZ29yeSA9IG5ldyBNYXA8UHJvcGVydHlDYXRlZ29yeSwgUHJvcGVydHlDb2xsZWN0aW9uPjtcbiAgICBtb3ZlbWVudHNCeUNhdGVnb3J5LmtleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgcHJvcGVydGllc0J5Q2F0ZWdvcnkuc2V0KFxuICAgICAgICBjYXRlZ29yeUJ5SWQuZ2V0KGtleSksXG4gICAgICAgIHRoaXMuZmlsdGVyQnkoJ2lkJywgbW92ZW1lbnRzQnlDYXRlZ29yeS5nZXQoa2V5KS5tYXAobW92ZW1lbnQgPT4gbW92ZW1lbnQucHJvcGVydHkuaWQpKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGlmIChhbGxvd0VtcHR5KSB7XG4gICAgICBjYXRlZ29yaWVzLnJlbW92ZSguLi5wcm9wZXJ0aWVzQnlDYXRlZ29yeS5rZXlzKCkpLnRvQXJyYXkoKS5mb3JFYWNoKGNhdGVnb3J5ID0+IHtcbiAgICAgICAgcHJvcGVydGllc0J5Q2F0ZWdvcnkuc2V0KGNhdGVnb3J5LCBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKCkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnRpZXNCeUNhdGVnb3J5O1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { AbstractModel } from '../abstract-model';
2
- export class ClientMovement extends AbstractModel {
1
+ import { ObservableModel } from '../observable-model';
2
+ export class ClientMovement extends ObservableModel {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL01vZGVscy9maXJtL2NsaWVudC1tb3ZlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0NBT2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGaXJtfSBmcm9tICcuL2Zpcm0nO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHtTZXJ2aWNlU3Vic2NyaXB0aW9ufSBmcm9tICcuLi9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi9hYnN0cmFjdC1tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnRNb3ZlbWVudCBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICBkYXRlRnJvbT86IERhdGU7XG4gIGRhdGVUbz86IERhdGU7XG4gIGZpcm0/OiBGaXJtO1xuICBjbGllbnQ/OiBVc2VyO1xuICBlbXBsb3llZT86IFVzZXI7XG4gIHN1YnNjcmlwdGlvbj86IFNlcnZpY2VTdWJzY3JpcHRpb247XG59XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL01vZGVscy9maXJtL2NsaWVudC1tb3ZlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0NBT2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlybSB9IGZyb20gJy4vZmlybSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlci91c2VyJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9zdWJzY3JpcHRpb24vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZU1vZGVsIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS1tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnRNb3ZlbWVudCBleHRlbmRzIE9ic2VydmFibGVNb2RlbCB7XG4gIGRhdGVGcm9tPzogRGF0ZTtcbiAgZGF0ZVRvPzogRGF0ZTtcbiAgZmlybT86IEZpcm07XG4gIGNsaWVudD86IFVzZXI7XG4gIGVtcGxveWVlPzogVXNlcjtcbiAgc3Vic2NyaXB0aW9uPzogU2VydmljZVN1YnNjcmlwdGlvbjtcbn1cbiJdfQ==
@@ -18,4 +18,4 @@ __decorate([
18
18
  __decorate([
19
19
  Type(() => Number)
20
20
  ], Property.prototype, "otherCapitalCosts", void 0);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFZQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3pDLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtDQXlDNUM7QUFyQ0M7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOytDQUNJO0FBUXZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrQ0FDSTtBQWV2QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkNBQ0E7QUFHbkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJDQUNBO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzttREFDUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5RGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vRW51bXMvcHJvcGVydHkvcHJvcGVydHktZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5IH0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUZvcmVjYXN0IH0gZnJvbSAnLi9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlIH0gZnJvbSAnLi9wcm9wZXJ0eS1zaGFyZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVZhbHVhdGlvbiB9IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHsgQmFua0FjY291bnRQcm9wZXJ0eSB9IGZyb20gJy4uL2JhbmsvYmFuay1hY2NvdW50LXByb3BlcnR5JztcbmltcG9ydCB7IFByb3BlcnR5RG9jdW1lbnQgfSBmcm9tICcuLi9kb2N1bWVudC9wcm9wZXJ0eS1kb2N1bWVudCc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IFByb3BlcnR5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZU1vZGVsIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS1tb2RlbCc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgZXh0ZW5kcyBPYnNlcnZhYmxlTW9kZWwge1xuICBwaG90bz86IHN0cmluZztcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHB1cmNoYXNlUHJpY2U/OiBudW1iZXI7XG5cbiAgY29udHJhY3REYXRlPzogRGF0ZTtcbiAgc2V0dGxlbWVudERhdGU/OiBEYXRlO1xuICBkZXByZWNpYXRpb25DYWxjdWxhdGlvbj86IFByb3BlcnR5RGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtO1xuICBzaGFyZVdpdGg/OiBzdHJpbmc7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBncm93dGhQZXJjZW50PzogbnVtYmVyO1xuXG4gIHN1YnNjcmlwdGlvbnM/OiBQcm9wZXJ0eVN1YnNjcmlwdGlvbltdO1xuICBkZWxldGVkQXQ/OiBEYXRlO1xuICBjcmVhdGVkQXQ/OiBEYXRlO1xuICB1cGRhdGVkQXQ/OiBEYXRlO1xuICB1c2VyPzogVXNlcjtcbiAgYWRkcmVzcz86IEFkZHJlc3M7XG4gIGNhdGVnb3J5PzogUHJvcGVydHlDYXRlZ29yeTtcbiAgZm9yZWNhc3RzPzogUHJvcGVydHlGb3JlY2FzdFtdO1xuICBzaGFyZXM/OiBQcm9wZXJ0eVNoYXJlW107XG4gIHZhbHVhdGlvbnM/OiBQcm9wZXJ0eVZhbHVhdGlvbltdO1xuICBjYXRlZ29yeU1vdmVtZW50cz86IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgc3RhbXBEdXR5PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgbGVnYWxGZWVzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgb3RoZXJDYXBpdGFsQ29zdHM/OiBudW1iZXI7XG5cbiAgcHJvcGVydHlCYW5rQWNjb3VudHM/OiBCYW5rQWNjb3VudFByb3BlcnR5W107XG4gIGNyZWF0ZWRCeT86IFVzZXI7XG4gIHVwZGF0ZWRCeT86IFVzZXI7XG4gIGRvY3VtZW50cz86IFByb3BlcnR5RG9jdW1lbnRbXTtcbiAgZGVwcmVjaWF0aW9ucz86IERlcHJlY2lhdGlvbltdO1xuICBmaWxlOiBGaWxlO1xufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFZQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3pDLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtDQTBDNUM7QUF0Q0M7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOytDQUNJO0FBUXZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrQ0FDSTtBQWdCdkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDOzJDQUNBO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eURlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWRlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHsgQWRkcmVzcyB9IGZyb20gJy4uL2FkZHJlc3MnO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeSB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnknO1xuaW1wb3J0IHsgUHJvcGVydHlGb3JlY2FzdCB9IGZyb20gJy4vcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4vcHJvcGVydHktc2hhcmUnO1xuaW1wb3J0IHsgUHJvcGVydHlWYWx1YXRpb24gfSBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50JztcbmltcG9ydCB7IEJhbmtBY2NvdW50UHJvcGVydHkgfSBmcm9tICcuLi9iYW5rL2JhbmstYWNjb3VudC1wcm9wZXJ0eSc7XG5pbXBvcnQgeyBQcm9wZXJ0eURvY3VtZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQvcHJvcGVydHktZG9jdW1lbnQnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB9IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVNb2RlbCB9IGZyb20gJy4uL29ic2VydmFibGUtbW9kZWwnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEZpbGUgfSBmcm9tICcuLi9maWxlJztcblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5IGV4dGVuZHMgT2JzZXJ2YWJsZU1vZGVsIHtcbiAgcGhvdG8/OiBzdHJpbmc7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBwdXJjaGFzZVByaWNlPzogbnVtYmVyO1xuXG4gIGNvbnRyYWN0RGF0ZT86IERhdGU7XG4gIHNldHRsZW1lbnREYXRlPzogRGF0ZTtcbiAgZGVwcmVjaWF0aW9uQ2FsY3VsYXRpb24/OiBQcm9wZXJ0eURlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bTtcbiAgc2hhcmVXaXRoPzogc3RyaW5nO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgZ3Jvd3RoUGVyY2VudD86IG51bWJlcjtcblxuICBzdWJzY3JpcHRpb25zPzogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcbiAgZGVsZXRlZEF0PzogRGF0ZTtcbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgdXNlcj86IFVzZXI7XG4gIGFkZHJlc3M/OiBBZGRyZXNzO1xuICBjYXRlZ29yeT86IFByb3BlcnR5Q2F0ZWdvcnk7XG4gIHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb247XG4gIGZvcmVjYXN0cz86IFByb3BlcnR5Rm9yZWNhc3RbXTtcbiAgc2hhcmVzPzogUHJvcGVydHlTaGFyZVtdO1xuICB2YWx1YXRpb25zPzogUHJvcGVydHlWYWx1YXRpb25bXTtcbiAgY2F0ZWdvcnlNb3ZlbWVudHM/OiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRbXTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHN0YW1wRHV0eT86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGxlZ2FsRmVlcz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIG90aGVyQ2FwaXRhbENvc3RzPzogbnVtYmVyO1xuXG4gIHByb3BlcnR5QmFua0FjY291bnRzPzogQmFua0FjY291bnRQcm9wZXJ0eVtdO1xuICBjcmVhdGVkQnk/OiBVc2VyO1xuICB1cGRhdGVkQnk/OiBVc2VyO1xuICBkb2N1bWVudHM/OiBQcm9wZXJ0eURvY3VtZW50W107XG4gIGRlcHJlY2lhdGlvbnM/OiBEZXByZWNpYXRpb25bXTtcbiAgZmlsZTogRmlsZTtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  import { AbstractModel } from '../abstract-model';
2
2
  export class RegistrationInvite extends AbstractModel {
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cmF0aW9uLWludml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdXNlci9yZWdpc3RyYXRpb24taW52aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtDQVFwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZ2lzdHJhdGlvbkludml0ZVN0YXR1c0VudW0gfSBmcm9tICcuLi8uLi9FbnVtcy9yZWdpc3RyYXRpb24taW52aXRlLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXInO1xuaW1wb3J0IHtBYnN0cmFjdE1vZGVsfSBmcm9tICcuLi9hYnN0cmFjdC1tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBSZWdpc3RyYXRpb25JbnZpdGUgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsIHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGZpcnN0TmFtZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgc3RhdHVzPzogUmVnaXN0cmF0aW9uSW52aXRlU3RhdHVzRW51bTtcbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgdXNlcj86IFVzZXI7XG59XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cmF0aW9uLWludml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9Nb2RlbHMvdXNlci9yZWdpc3RyYXRpb24taW52aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsYUFBYTtDQVNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZ2lzdHJhdGlvbkludml0ZVN0YXR1c0VudW0gfSBmcm9tICcuLi8uLi9FbnVtcy9yZWdpc3RyYXRpb24taW52aXRlLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LW1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFJlZ2lzdHJhdGlvbkludml0ZSBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICBlbWFpbD86IHN0cmluZztcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICBsYXN0TmFtZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgc3RhdHVzPzogUmVnaXN0cmF0aW9uSW52aXRlU3RhdHVzRW51bTtcbiAgY3JlYXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgdXNlcj86IFVzZXI7XG59XG4iXX0=
@@ -2,5 +2,9 @@ export * from './borrowing-report.form';
2
2
  export * from './property-sale';
3
3
  export * from './property-edit.form';
4
4
  export * from './property-document.form';
5
+ export * from './property-category-movement-form';
5
6
  export * from './property-valuation.form';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvcHJvcGVydHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ib3Jyb3dpbmctcmVwb3J0LmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eS1zYWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktZWRpdC5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktZG9jdW1lbnQuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbi5mb3JtJztcbiJdfQ==
7
+ export * from './property-share.form';
8
+ export * from './property-forecast.form';
9
+ export * from './property-add.form';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvcHJvcGVydHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JvcnJvd2luZy1yZXBvcnQuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5LXNhbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eS1lZGl0LmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eS1kb2N1bWVudC5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQtZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbi5mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktc2hhcmUuZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5LWZvcmVjYXN0LmZvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eS1hZGQuZm9ybSc7XG5cbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { UntypedFormArray, UntypedFormControl, Validators } from '@angular/forms';
2
+ import { Property } from '../../models';
3
+ import { AbstractForm } from '../abstract.form';
4
+ import { plainToClass } from 'class-transformer';
5
+ import { PropertyShareForm } from './property-share.form';
6
+ import { PropertyForecastForm } from './property-forecast.form';
7
+ import { PropertyCategoryMovementForm } from './property-category-movement-form';
8
+ /**
9
+ * Form class for the single new property
10
+ */
11
+ export class PropertyAddForm extends AbstractForm {
12
+ constructor() {
13
+ super({
14
+ address: new UntypedFormControl(null, Validators.required),
15
+ purchasePrice: new UntypedFormControl(null, Validators.required),
16
+ contractDate: new UntypedFormControl(null, Validators.required),
17
+ settlementDate: new UntypedFormControl(null, Validators.required),
18
+ forecasts: new UntypedFormArray([
19
+ new PropertyForecastForm()
20
+ ]),
21
+ shares: new UntypedFormArray([
22
+ new PropertyShareForm()
23
+ ]),
24
+ categoryMovements: new UntypedFormArray([
25
+ new PropertyCategoryMovementForm()
26
+ ])
27
+ }, plainToClass(Property, {}));
28
+ // @TODO move to submit, no need to watch
29
+ // we should put the same market value to both, forecast and valuation.
30
+ this.valuationForm.get('marketValue').valueChanges.subscribe((marketValue) => {
31
+ this.forecastForm.get('marketValue').setValue(marketValue);
32
+ });
33
+ this.get('contractDate').valueChanges.subscribe((contractDate) => {
34
+ this.categoryMovementForm.get('fromDate').setValue(contractDate);
35
+ });
36
+ this.categoryMovementForm.get('propertyCategory').valueChanges.subscribe((category) => {
37
+ if (category.isShared()) {
38
+ this.forecastForm.get('claimPercent').enable();
39
+ }
40
+ else {
41
+ this.forecastForm.get('claimPercent').disable();
42
+ }
43
+ if (category.isOwnerOccupied() || category.isVacantLand()) {
44
+ this.forecastForm.get('income').disable();
45
+ this.forecastForm.get('depreciation').disable();
46
+ }
47
+ else {
48
+ this.forecastForm.get('income').enable();
49
+ this.forecastForm.get('depreciation').enable();
50
+ }
51
+ });
52
+ }
53
+ get valuationForm() {
54
+ return this.categoryMovementForm.get('valuation');
55
+ }
56
+ get forecastForm() {
57
+ // [0] because for property add form we have always 1 forecast form inside
58
+ return this.get('forecasts').controls[0];
59
+ }
60
+ get shareForm() {
61
+ // [0] because for property add form we have always 1 forecast form inside
62
+ return this.get('shares').controls[0];
63
+ }
64
+ get categoryMovementForm() {
65
+ // [0] because for property add form we always have 1 category movement form inside
66
+ return this.get('categoryMovements').controls[0];
67
+ }
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktYWRkLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvcHJvcGVydHkvcHJvcGVydHktYWRkLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxRQUFRLEVBQW9CLE1BQU0sY0FBYyxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFzQjtJQUN6RDtRQUNFLEtBQUssQ0FBQztZQUNKLE9BQU8sRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzFELGFBQWEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2hFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9ELGNBQWMsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2pFLFNBQVMsRUFBRSxJQUFJLGdCQUFnQixDQUFDO2dCQUM5QixJQUFJLG9CQUFvQixFQUFFO2FBQzNCLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQztnQkFDM0IsSUFBSSxpQkFBaUIsRUFBRTthQUN4QixDQUFDO1lBQ0YsaUJBQWlCLEVBQUUsSUFBSSxnQkFBZ0IsQ0FBQztnQkFDdEMsSUFBSSw0QkFBNEIsRUFBRTthQUNuQyxDQUFDO1NBQ0gsRUFBRSxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IseUNBQXlDO1FBRXpDLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBbUIsRUFBRSxFQUFFO1lBQ25GLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQWtCLEVBQUUsRUFBRTtZQUNyRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBMEIsRUFBRSxFQUFFO1lBQ3RHLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNoRDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNqRDtZQUVELElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2pEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNoRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQTBCLENBQUM7SUFDN0UsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLDBFQUEwRTtRQUMxRSxPQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQXlCLENBQUM7SUFDekYsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLDBFQUEwRTtRQUMxRSxPQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQXNCLENBQUM7SUFDbkYsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLG1GQUFtRjtRQUNuRixPQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBaUMsQ0FBQztJQUN6RyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eSwgUHJvcGVydHlDYXRlZ29yeSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZvcm0gfSBmcm9tICcuLi9hYnN0cmFjdC5mb3JtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWF0aW9uRm9ybSB9IGZyb20gJy4vcHJvcGVydHktdmFsdWF0aW9uLmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZUZvcm0gfSBmcm9tICcuL3Byb3BlcnR5LXNoYXJlLmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlGb3JlY2FzdEZvcm0gfSBmcm9tICcuL3Byb3BlcnR5LWZvcmVjYXN0LmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50Rm9ybSB9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQtZm9ybSc7XG5cbi8qKlxuICogRm9ybSBjbGFzcyBmb3IgdGhlIHNpbmdsZSBuZXcgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5QWRkRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxQcm9wZXJ0eT4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICBhZGRyZXNzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgcHVyY2hhc2VQcmljZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNvbnRyYWN0RGF0ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHNldHRsZW1lbnREYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZm9yZWNhc3RzOiBuZXcgVW50eXBlZEZvcm1BcnJheShbXG4gICAgICAgIG5ldyBQcm9wZXJ0eUZvcmVjYXN0Rm9ybSgpXG4gICAgICBdKSxcbiAgICAgIHNoYXJlczogbmV3IFVudHlwZWRGb3JtQXJyYXkoW1xuICAgICAgICBuZXcgUHJvcGVydHlTaGFyZUZvcm0oKVxuICAgICAgXSksXG4gICAgICBjYXRlZ29yeU1vdmVtZW50czogbmV3IFVudHlwZWRGb3JtQXJyYXkoW1xuICAgICAgICBuZXcgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50Rm9ybSgpXG4gICAgICBdKVxuICAgIH0sIHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwge30pKTtcbiAgICAvLyBAVE9ETyBtb3ZlIHRvIHN1Ym1pdCwgbm8gbmVlZCB0byB3YXRjaFxuXG4gICAgLy8gd2Ugc2hvdWxkIHB1dCB0aGUgc2FtZSBtYXJrZXQgdmFsdWUgdG8gYm90aCwgZm9yZWNhc3QgYW5kIHZhbHVhdGlvbi5cbiAgICB0aGlzLnZhbHVhdGlvbkZvcm0uZ2V0KCdtYXJrZXRWYWx1ZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKG1hcmtldFZhbHVlOiBudW1iZXIpID0+IHtcbiAgICAgIHRoaXMuZm9yZWNhc3RGb3JtLmdldCgnbWFya2V0VmFsdWUnKS5zZXRWYWx1ZShtYXJrZXRWYWx1ZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmdldCgnY29udHJhY3REYXRlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY29udHJhY3REYXRlOiBEYXRlKSA9PiB7XG4gICAgICB0aGlzLmNhdGVnb3J5TW92ZW1lbnRGb3JtLmdldCgnZnJvbURhdGUnKS5zZXRWYWx1ZShjb250cmFjdERhdGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYXRlZ29yeU1vdmVtZW50Rm9ybS5nZXQoJ3Byb3BlcnR5Q2F0ZWdvcnknKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjYXRlZ29yeTogUHJvcGVydHlDYXRlZ29yeSkgPT4ge1xuICAgICAgaWYgKGNhdGVnb3J5LmlzU2hhcmVkKCkpIHtcbiAgICAgICAgdGhpcy5mb3JlY2FzdEZvcm0uZ2V0KCdjbGFpbVBlcmNlbnQnKS5lbmFibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZm9yZWNhc3RGb3JtLmdldCgnY2xhaW1QZXJjZW50JykuZGlzYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2F0ZWdvcnkuaXNPd25lck9jY3VwaWVkKCkgfHwgY2F0ZWdvcnkuaXNWYWNhbnRMYW5kKCkpIHtcbiAgICAgICAgdGhpcy5mb3JlY2FzdEZvcm0uZ2V0KCdpbmNvbWUnKS5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMuZm9yZWNhc3RGb3JtLmdldCgnZGVwcmVjaWF0aW9uJykuZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mb3JlY2FzdEZvcm0uZ2V0KCdpbmNvbWUnKS5lbmFibGUoKTtcbiAgICAgICAgdGhpcy5mb3JlY2FzdEZvcm0uZ2V0KCdkZXByZWNpYXRpb24nKS5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldCB2YWx1YXRpb25Gb3JtKCk6IFByb3BlcnR5VmFsdWF0aW9uRm9ybSB7XG4gICAgcmV0dXJuIHRoaXMuY2F0ZWdvcnlNb3ZlbWVudEZvcm0uZ2V0KCd2YWx1YXRpb24nKSBhcyBQcm9wZXJ0eVZhbHVhdGlvbkZvcm07XG4gIH1cblxuICBnZXQgZm9yZWNhc3RGb3JtKCk6IFByb3BlcnR5Rm9yZWNhc3RGb3JtIHtcbiAgICAvLyBbMF0gYmVjYXVzZSBmb3IgcHJvcGVydHkgYWRkIGZvcm0gd2UgaGF2ZSBhbHdheXMgMSBmb3JlY2FzdCBmb3JtIGluc2lkZVxuICAgIHJldHVybiAodGhpcy5nZXQoJ2ZvcmVjYXN0cycpIGFzIFVudHlwZWRGb3JtQXJyYXkpLmNvbnRyb2xzWzBdIGFzIFByb3BlcnR5Rm9yZWNhc3RGb3JtO1xuICB9XG5cbiAgZ2V0IHNoYXJlRm9ybSgpOiBQcm9wZXJ0eVNoYXJlRm9ybSB7XG4gICAgLy8gWzBdIGJlY2F1c2UgZm9yIHByb3BlcnR5IGFkZCBmb3JtIHdlIGhhdmUgYWx3YXlzIDEgZm9yZWNhc3QgZm9ybSBpbnNpZGVcbiAgICByZXR1cm4gKHRoaXMuZ2V0KCdzaGFyZXMnKSBhcyBVbnR5cGVkRm9ybUFycmF5KS5jb250cm9sc1swXSBhcyBQcm9wZXJ0eVNoYXJlRm9ybTtcbiAgfVxuXG4gIGdldCBjYXRlZ29yeU1vdmVtZW50Rm9ybSgpOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRGb3JtIHtcbiAgICAvLyBbMF0gYmVjYXVzZSBmb3IgcHJvcGVydHkgYWRkIGZvcm0gd2UgYWx3YXlzIGhhdmUgMSBjYXRlZ29yeSBtb3ZlbWVudCBmb3JtIGluc2lkZVxuICAgIHJldHVybiAodGhpcy5nZXQoJ2NhdGVnb3J5TW92ZW1lbnRzJykgYXMgVW50eXBlZEZvcm1BcnJheSkuY29udHJvbHNbMF0gYXMgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50Rm9ybTtcbiAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { UntypedFormControl, Validators } from '@angular/forms';
2
+ import { plainToClass } from 'class-transformer';
3
+ import { AbstractForm } from '../abstract.form';
4
+ import { PropertyValuationForm } from './property-valuation.form';
5
+ import { PropertyCategoryMovement } from '../../models';
6
+ export class PropertyCategoryMovementForm extends AbstractForm {
7
+ constructor(movement = plainToClass(PropertyCategoryMovement, {})) {
8
+ super({
9
+ fromDate: new UntypedFormControl(movement.valuation?.date || new Date()),
10
+ propertyCategory: new UntypedFormControl(movement.propertyCategory, Validators.required),
11
+ valuation: new PropertyValuationForm(movement.valuation),
12
+ }, movement);
13
+ this.get('valuation').get('date').valueChanges.subscribe((value) => {
14
+ this.get('fromDate').setValue(value);
15
+ console.log(this.get('fromDate').value);
16
+ });
17
+ }
18
+ submit() {
19
+ return super.submit({ valuation: this.get('valuation').submit() });
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1tb3ZlbWVudC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV4RCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsWUFBc0M7SUFDdEYsWUFBWSxXQUFxQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDO1FBQ3pGLEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDeEUsZ0JBQWdCLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN4RixTQUFTLEVBQUUsSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1NBQ3pELEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFYixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVyxFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQTJCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlWYWx1YXRpb25Gb3JtIH0gZnJvbSAnLi9wcm9wZXJ0eS12YWx1YXRpb24uZm9ybSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50Rm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQ+IHtcbiAgY29uc3RydWN0b3IobW92ZW1lbnQ6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudCA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQsIHt9KSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZyb21EYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKG1vdmVtZW50LnZhbHVhdGlvbj8uZGF0ZSB8fCBuZXcgRGF0ZSgpKSxcbiAgICAgIHByb3BlcnR5Q2F0ZWdvcnk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobW92ZW1lbnQucHJvcGVydHlDYXRlZ29yeSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB2YWx1YXRpb246IG5ldyBQcm9wZXJ0eVZhbHVhdGlvbkZvcm0obW92ZW1lbnQudmFsdWF0aW9uKSxcbiAgICB9LCBtb3ZlbWVudCk7XG5cbiAgICB0aGlzLmdldCgndmFsdWF0aW9uJykuZ2V0KCdkYXRlJykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IERhdGUpID0+IHtcbiAgICAgIHRoaXMuZ2V0KCdmcm9tRGF0ZScpLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuZ2V0KCdmcm9tRGF0ZScpLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQge1xuICAgIHJldHVybiBzdXBlci5zdWJtaXQoeyB2YWx1YXRpb246ICh0aGlzLmdldCgndmFsdWF0aW9uJykgYXMgUHJvcGVydHlWYWx1YXRpb25Gb3JtKS5zdWJtaXQoKSB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,29 @@
1
+ import { UntypedFormControl, Validators } from '@angular/forms';
2
+ import { plainToClass } from 'class-transformer';
3
+ import { AbstractForm } from '../abstract.form';
4
+ import { PropertyForecast } from '../../models';
5
+ import { PropertyCategoryMovementCollection } from '../../collections';
6
+ import { PropertyCategoryListEnum } from '../../db/Enums/property/property-category-list.enum';
7
+ /**
8
+ * Class describes property forecast form fields and form logic
9
+ */
10
+ export class PropertyForecastForm extends AbstractForm {
11
+ /**
12
+ * @param forecast
13
+ * @param movements property could have multiple categories within forecast year, based on categories we hide/show some fields
14
+ */
15
+ constructor(forecast = plainToClass(PropertyForecast, {}), movements = new PropertyCategoryMovementCollection()) {
16
+ const noIncomeCategories = [PropertyCategoryListEnum.VACANT_LAND, PropertyCategoryListEnum.OWNER_OCCUPIED];
17
+ const noIncome = movements.filterBy('propertyCategory.id', noIncomeCategories).length === movements.length;
18
+ super({
19
+ financialYear: new UntypedFormControl({ value: forecast.financialYear, disabled: true }),
20
+ marketValue: new UntypedFormControl(forecast.marketValue, Validators.required),
21
+ income: new UntypedFormControl({ value: forecast.income, disabled: noIncome }, Validators.required),
22
+ expense: new UntypedFormControl(forecast.expense, Validators.required),
23
+ interest: new UntypedFormControl(forecast.interest, Validators.required),
24
+ depreciation: new UntypedFormControl({ value: forecast.depreciation, disabled: noIncome }, Validators.required),
25
+ claimPercent: new UntypedFormControl({ value: forecast.claimPercent, disabled: !movements.hasCategory(PropertyCategoryListEnum.SHARED) }, [Validators.min(0), Validators.max(100), Validators.required])
26
+ }, forecast);
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZm9yZWNhc3QuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1mb3JlY2FzdC5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUvRjs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxZQUE4QjtJQUN0RTs7O09BR0c7SUFDSCxZQUNFLFdBQTZCLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsRUFDL0QsWUFBZ0QsSUFBSSxrQ0FBa0MsRUFBRTtRQUV4RixNQUFNLGtCQUFrQixHQUFHLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNHLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUUzRyxLQUFLLENBQUM7WUFDSixhQUFhLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN4RixXQUFXLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDOUUsTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRyxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDdEUsUUFBUSxFQUFFLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3hFLFlBQVksRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0csWUFBWSxFQUFFLElBQUksa0JBQWtCLENBQ2xDLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUNuRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQzlEO1NBQ0YsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlGb3JlY2FzdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcblxuLyoqXG4gKiBDbGFzcyBkZXNjcmliZXMgcHJvcGVydHkgZm9yZWNhc3QgZm9ybSBmaWVsZHMgYW5kIGZvcm0gbG9naWNcbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5Rm9yZWNhc3RGb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPFByb3BlcnR5Rm9yZWNhc3Q+IHtcbiAgLyoqXG4gICAqIEBwYXJhbSBmb3JlY2FzdFxuICAgKiBAcGFyYW0gbW92ZW1lbnRzIHByb3BlcnR5IGNvdWxkIGhhdmUgbXVsdGlwbGUgY2F0ZWdvcmllcyB3aXRoaW4gZm9yZWNhc3QgeWVhciwgYmFzZWQgb24gY2F0ZWdvcmllcyB3ZSBoaWRlL3Nob3cgc29tZSBmaWVsZHNcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0ID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5Rm9yZWNhc3QsIHt9KSxcbiAgICBtb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudENvbGxlY3Rpb24gPSBuZXcgUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50Q29sbGVjdGlvbigpXG4gICkge1xuICAgIGNvbnN0IG5vSW5jb21lQ2F0ZWdvcmllcyA9IFtQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uVkFDQU5UX0xBTkQsIFByb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5PV05FUl9PQ0NVUElFRF07XG4gICAgY29uc3Qgbm9JbmNvbWUgPSBtb3ZlbWVudHMuZmlsdGVyQnkoJ3Byb3BlcnR5Q2F0ZWdvcnkuaWQnLCBub0luY29tZUNhdGVnb3JpZXMpLmxlbmd0aCA9PT0gbW92ZW1lbnRzLmxlbmd0aDtcblxuICAgIHN1cGVyKHtcbiAgICAgIGZpbmFuY2lhbFllYXI6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogZm9yZWNhc3QuZmluYW5jaWFsWWVhciwgZGlzYWJsZWQ6IHRydWUgfSksXG4gICAgICBtYXJrZXRWYWx1ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChmb3JlY2FzdC5tYXJrZXRWYWx1ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBpbmNvbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogZm9yZWNhc3QuaW5jb21lLCBkaXNhYmxlZDogbm9JbmNvbWUgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBleHBlbnNlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGZvcmVjYXN0LmV4cGVuc2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgaW50ZXJlc3Q6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woZm9yZWNhc3QuaW50ZXJlc3QsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZGVwcmVjaWF0aW9uOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6IGZvcmVjYXN0LmRlcHJlY2lhdGlvbiwgZGlzYWJsZWQ6IG5vSW5jb21lIH0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY2xhaW1QZXJjZW50OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKFxuICAgICAgICB7IHZhbHVlOiBmb3JlY2FzdC5jbGFpbVBlcmNlbnQsIGRpc2FibGVkOiAhbW92ZW1lbnRzLmhhc0NhdGVnb3J5KFByb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5TSEFSRUQpIH0sXG4gICAgICAgIFtWYWxpZGF0b3JzLm1pbigwKSwgVmFsaWRhdG9ycy5tYXgoMTAwKSwgVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICB9LCBmb3JlY2FzdCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { AbstractForm } from '../abstract.form';
2
+ import { PropertyShare } from '../../models';
3
+ import { plainToClass } from 'class-transformer';
4
+ import { UntypedFormControl, Validators } from '@angular/forms';
5
+ /**
6
+ * Class describes property share form fields and form logic
7
+ */
8
+ export class PropertyShareForm extends AbstractForm {
9
+ constructor(share = plainToClass(PropertyShare, {})) {
10
+ super({
11
+ fromDate: new UntypedFormControl(share.fromDate || new Date()),
12
+ percent: new UntypedFormControl(share.percent, [Validators.required, Validators.min(0), Validators.max(100)])
13
+ }, share);
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2hhcmUuZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9mb3Jtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBMkI7SUFDaEUsWUFBWSxRQUF1QixZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztRQUNoRSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUQsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDOUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgUHJvcGVydHlTaGFyZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogQ2xhc3MgZGVzY3JpYmVzIHByb3BlcnR5IHNoYXJlIGZvcm0gZmllbGRzIGFuZCBmb3JtIGxvZ2ljXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNoYXJlRm9ybSBleHRlbmRzIEFic3RyYWN0Rm9ybTxQcm9wZXJ0eVNoYXJlPiB7XG4gIGNvbnN0cnVjdG9yKHNoYXJlOiBQcm9wZXJ0eVNoYXJlID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U2hhcmUsIHt9KSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGZyb21EYXRlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHNoYXJlLmZyb21EYXRlIHx8IG5ldyBEYXRlKCkpLFxuICAgICAgcGVyY2VudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChzaGFyZS5wZXJjZW50LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDEwMCldKVxuICAgIH0sIHNoYXJlKTtcbiAgfVxufVxuIl19
@@ -1,17 +1,19 @@
1
1
  import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
2
+ import { PropertyValuation } from '../../models';
2
3
  import { AbstractForm } from '../abstract.form';
4
+ import { plainToClass } from 'class-transformer';
3
5
  export class PropertyValuationForm extends AbstractForm {
4
- constructor(valuation) {
6
+ constructor(valuation = plainToClass(PropertyValuation, {})) {
5
7
  super({
6
8
  date: new UntypedFormControl(valuation.date || new Date(), Validators.required),
7
9
  marketValue: new UntypedFormControl(valuation.marketValue, Validators.required),
8
10
  document: new UntypedFormGroup({
9
11
  file: new UntypedFormControl(valuation.document?.file)
10
- })
12
+ }),
11
13
  }, valuation);
12
14
  }
13
15
  submit() {
14
16
  return super.submit({ document: this.value.document.file ? this.value.document : null });
15
17
  }
16
18
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdmFsdWF0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvcHJvcGVydHkvcHJvcGVydHktdmFsdWF0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBK0I7SUFDeEUsWUFBWSxTQUE0QjtRQUN0QyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMvRSxXQUFXLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0UsUUFBUSxFQUFFLElBQUksZ0JBQWdCLENBQUM7Z0JBQzdCLElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO2FBQ3ZELENBQUM7U0FDSCxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHJvcGVydHlWYWx1YXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtIH0gZnJvbSAnLi4vYWJzdHJhY3QuZm9ybSc7XG5cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVZhbHVhdGlvbkZvcm0gZXh0ZW5kcyBBYnN0cmFjdEZvcm08UHJvcGVydHlWYWx1YXRpb24+IHtcbiAgY29uc3RydWN0b3IodmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbikge1xuICAgIHN1cGVyKHtcbiAgICAgIGRhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodmFsdWF0aW9uLmRhdGUgfHwgbmV3IERhdGUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBtYXJrZXRWYWx1ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh2YWx1YXRpb24ubWFya2V0VmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZG9jdW1lbnQ6IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgZmlsZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh2YWx1YXRpb24uZG9jdW1lbnQ/LmZpbGUpXG4gICAgICB9KVxuICAgIH0sIHZhbHVhdGlvbik7XG4gIH1cblxuICBzdWJtaXQoKTogUHJvcGVydHlWYWx1YXRpb24ge1xuICAgIHJldHVybiBzdXBlci5zdWJtaXQoeyBkb2N1bWVudDogdGhpcy52YWx1ZS5kb2N1bWVudC5maWxlID8gdGhpcy52YWx1ZS5kb2N1bWVudCA6IG51bGwgfSk7XG4gIH1cbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktdmFsdWF0aW9uLmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZm9ybXMvcHJvcGVydHkvcHJvcGVydHktdmFsdWF0aW9uLmZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUErQjtJQUN4RSxZQUFZLFlBQStCLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7UUFDNUUsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0UsV0FBVyxFQUFFLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9FLFFBQVEsRUFBRSxJQUFJLGdCQUFnQixDQUFDO2dCQUM3QixJQUFJLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQzthQUN2RCxDQUFDO1NBQ0gsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybSB9IGZyb20gJy4uL2Fic3RyYWN0LmZvcm0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlWYWx1YXRpb25Gb3JtIGV4dGVuZHMgQWJzdHJhY3RGb3JtPFByb3BlcnR5VmFsdWF0aW9uPiB7XG4gIGNvbnN0cnVjdG9yKHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24gPSBwbGFpblRvQ2xhc3MoUHJvcGVydHlWYWx1YXRpb24sIHt9KSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGRhdGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodmFsdWF0aW9uLmRhdGUgfHwgbmV3IERhdGUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBtYXJrZXRWYWx1ZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh2YWx1YXRpb24ubWFya2V0VmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZG9jdW1lbnQ6IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgICAgZmlsZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh2YWx1YXRpb24uZG9jdW1lbnQ/LmZpbGUpXG4gICAgICB9KSxcbiAgICB9LCB2YWx1YXRpb24pO1xuICB9XG5cbiAgc3VibWl0KCk6IFByb3BlcnR5VmFsdWF0aW9uIHtcbiAgICByZXR1cm4gc3VwZXIuc3VibWl0KHsgZG9jdW1lbnQ6IHRoaXMudmFsdWUuZG9jdW1lbnQuZmlsZSA/IHRoaXMudmFsdWUuZG9jdW1lbnQgOiBudWxsIH0pO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ClientMovement as ClientMovementBase } from '../../db/Models/firm/client-movement';
3
- import { ServiceSubscription } from '../service-subscription/service-subscription';
3
+ import { ServiceSubscription } from '../service-subscription';
4
4
  import { Firm } from '../firm/firm';
5
- import { User } from '../user/user';
5
+ import { User } from '../user';
6
6
  import { Type } from 'class-transformer';
7
7
  export class ClientMovement extends ClientMovementBase {
8
8
  }
@@ -24,4 +24,4 @@ __decorate([
24
24
  __decorate([
25
25
  Type(() => Date)
26
26
  ], ClientMovement.prototype, "dateTo", void 0);
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9jbGllbnQvY2xpZW50LW1vdmVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsY0FBYyxJQUFJLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV6QyxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtDQWtCckQ7QUFoQkc7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNKO0FBR1g7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNGO0FBR2I7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO2dEQUNBO0FBR2Y7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0RBQ0k7QUFHbEM7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO2dEQUNBO0FBR2Y7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50TW92ZW1lbnQgYXMgQ2xpZW50TW92ZW1lbnRCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2Zpcm0vY2xpZW50LW1vdmVtZW50JztcclxuaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcclxuaW1wb3J0IHsgRmlybSB9IGZyb20gJy4uL2Zpcm0vZmlybSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyL3VzZXInO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIENsaWVudE1vdmVtZW50IGV4dGVuZHMgQ2xpZW50TW92ZW1lbnRCYXNlIHtcclxuICBAVHlwZSgoKSA9PiBGaXJtKVxyXG4gICAgZmlybTogRmlybTtcclxuXHJcbiAgQFR5cGUoKCkgPT4gVXNlcilcclxuICAgIGNsaWVudDogVXNlcjtcclxuXHJcbiAgQFR5cGUoKCkgPT4gVXNlcilcclxuICAgIGVtcGxveWVlOiBVc2VyO1xyXG5cclxuICBAVHlwZSgoKSA9PiBTZXJ2aWNlU3Vic2NyaXB0aW9uKVxyXG4gICAgc3Vic2NyaXB0aW9uOiBTZXJ2aWNlU3Vic2NyaXB0aW9uO1xyXG5cclxuICBAVHlwZSgoKSA9PiBEYXRlKVxyXG4gICAgZGF0ZUZyb206IERhdGU7XHJcblxyXG4gIEBUeXBlKCgpID0+IERhdGUpXHJcbiAgICBkYXRlVG86IERhdGU7XHJcbn1cclxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9jbGllbnQvY2xpZW50LW1vdmVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsY0FBYyxJQUFJLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV6QyxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtDQWtCckQ7QUFoQkM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNKO0FBR2I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO2dEQUNGO0FBR2Y7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0RBQ0U7QUFHbEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO2dEQUNGO0FBR2Y7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50TW92ZW1lbnQgYXMgQ2xpZW50TW92ZW1lbnRCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2Zpcm0vY2xpZW50LW1vdmVtZW50JztcclxuaW1wb3J0IHsgU2VydmljZVN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcclxuaW1wb3J0IHsgRmlybSB9IGZyb20gJy4uL2Zpcm0vZmlybSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcclxuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDbGllbnRNb3ZlbWVudCBleHRlbmRzIENsaWVudE1vdmVtZW50QmFzZSB7XHJcbiAgQFR5cGUoKCkgPT4gRmlybSlcclxuICBmaXJtOiBGaXJtO1xyXG5cclxuICBAVHlwZSgoKSA9PiBVc2VyKVxyXG4gIGNsaWVudDogVXNlcjtcclxuXHJcbiAgQFR5cGUoKCkgPT4gVXNlcilcclxuICBlbXBsb3llZTogVXNlcjtcclxuXHJcbiAgQFR5cGUoKCkgPT4gU2VydmljZVN1YnNjcmlwdGlvbilcclxuICBzdWJzY3JpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb247XHJcblxyXG4gIEBUeXBlKCgpID0+IERhdGUpXHJcbiAgZGF0ZUZyb206IERhdGU7XHJcblxyXG4gIEBUeXBlKCgpID0+IERhdGUpXHJcbiAgZGF0ZVRvOiBEYXRlO1xyXG59XHJcbiJdfQ==