taxtank-core 0.10.6 → 0.12.0

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 (162) hide show
  1. package/bundles/taxtank-core.umd.js +1723 -1351
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/account-setup-item.collection.js +11 -0
  4. package/esm2015/lib/collections/bank-transaction.collection.js +2 -2
  5. package/esm2015/lib/collections/collection-dictionary.js +4 -4
  6. package/esm2015/lib/collections/collection.js +4 -1
  7. package/esm2015/lib/collections/depreciation.collection.js +24 -10
  8. package/esm2015/lib/collections/transaction-allocation.collection.js +2 -2
  9. package/esm2015/lib/collections/transaction.collection.js +28 -1
  10. package/esm2015/lib/collections/vehicle-logbook.collection.js +88 -0
  11. package/esm2015/lib/collections/vehicle.collection.js +9 -0
  12. package/esm2015/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.js +3 -1
  13. package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +4 -3
  14. package/esm2015/lib/db/Enums/property/property-category-list.enum.js +2 -1
  15. package/esm2015/lib/db/Enums/user-status.enum.js +1 -2
  16. package/esm2015/lib/db/Models/client-details.js +1 -1
  17. package/esm2015/lib/db/Models/client-income-types.js +3 -0
  18. package/esm2015/lib/db/Models/vehicle-claim.js +1 -1
  19. package/esm2015/lib/db/Models/vehicle.js +1 -1
  20. package/esm2015/lib/forms/client/client-income-types.form.js +22 -0
  21. package/esm2015/lib/forms/index.js +4 -1
  22. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +114 -0
  23. package/esm2015/lib/forms/vehicle/vehicle.form.js +20 -0
  24. package/esm2015/lib/interfaces/event-listener.interface.js +1 -1
  25. package/esm2015/lib/interfaces/expense.interface.js +2 -0
  26. package/esm2015/lib/interfaces/tank.interface.js +1 -1
  27. package/esm2015/lib/models/account-setup/account-setup-item.js +6 -0
  28. package/esm2015/lib/models/account-setup/account-setup-items.const.js +44 -0
  29. package/esm2015/lib/models/account-setup/account-setup-items.enum.js +14 -0
  30. package/esm2015/lib/models/chart-accounts/chart-accounts-value.js +4 -0
  31. package/esm2015/lib/models/chart-accounts/chart-accounts.js +34 -1
  32. package/esm2015/lib/models/client/client-income-types.js +10 -0
  33. package/esm2015/lib/models/depreciation/depreciation.js +5 -1
  34. package/esm2015/lib/models/event/app-event-type.enum.js +4 -1
  35. package/esm2015/lib/models/export/export-data-table.js +6 -0
  36. package/esm2015/lib/models/logbook/logbook-period.js +8 -1
  37. package/esm2015/lib/models/logbook/vehicle-claim.js +63 -4
  38. package/esm2015/lib/models/logbook/vehicle-logbook.js +9 -3
  39. package/esm2015/lib/models/logbook/vehicle.js +7 -29
  40. package/esm2015/lib/models/pdf/pdf-config.js +2 -2
  41. package/esm2015/lib/models/pdf/pdf-orientation.enum.js +6 -0
  42. package/esm2015/lib/models/transaction/transaction.js +1 -1
  43. package/esm2015/lib/services/account-setup/account-setup.service.js +109 -0
  44. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +6 -15
  45. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +6 -15
  46. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +6 -15
  47. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +6 -15
  48. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +1 -1
  49. package/esm2015/lib/services/http/chat/chat.service.js +8 -12
  50. package/esm2015/lib/services/http/chat/message/message.service.js +8 -12
  51. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +1 -1
  52. package/esm2015/lib/services/http/depreciation/depreciation.service.js +6 -23
  53. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +6 -14
  54. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +50 -0
  55. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +6 -15
  56. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +6 -15
  57. package/esm2015/lib/services/http/income-source/income-source.service.js +6 -14
  58. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +6 -15
  59. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +6 -15
  60. package/esm2015/lib/services/http/loan/loan.service.js +6 -15
  61. package/esm2015/lib/services/http/property/property-document/property-document.service.js +6 -15
  62. package/esm2015/lib/services/http/property/property-share/property-share.service.js +6 -15
  63. package/esm2015/lib/services/http/property/property.service.js +6 -15
  64. package/esm2015/lib/services/http/rest/rest.service.js +31 -4
  65. package/esm2015/lib/services/http/service-notification/service-notification.service.js +8 -12
  66. package/esm2015/lib/services/http/subscription/subscription.service.js +1 -4
  67. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +15 -16
  68. package/esm2015/lib/services/http/tax-review/tax-review.service.js +6 -15
  69. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +1 -1
  70. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +6 -15
  71. package/esm2015/lib/services/http/transaction/transaction.service.js +16 -25
  72. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +6 -14
  73. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +6 -14
  74. package/esm2015/lib/services/http/vehicle/messages.enum.js +13 -0
  75. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +24 -0
  76. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +59 -0
  77. package/esm2015/lib/services/http/vehicle/vehicle.service.js +49 -213
  78. package/esm2015/lib/services/pdf/pdf.service.js +51 -26
  79. package/esm2015/lib/services/property/property-holding-costs/property-holding-costs.service.js +53 -0
  80. package/esm2015/lib/validators/at-least-one.validator.js +11 -0
  81. package/esm2015/lib/validators/index.js +2 -0
  82. package/esm2015/public-api.js +16 -2
  83. package/fesm2015/taxtank-core.js +1536 -1155
  84. package/fesm2015/taxtank-core.js.map +1 -1
  85. package/lib/collections/account-setup-item.collection.d.ts +6 -0
  86. package/lib/collections/collection.d.ts +1 -0
  87. package/lib/collections/depreciation.collection.d.ts +5 -4
  88. package/lib/collections/transaction.collection.d.ts +9 -0
  89. package/lib/collections/vehicle-logbook.collection.d.ts +30 -0
  90. package/lib/collections/vehicle.collection.d.ts +6 -0
  91. package/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.d.ts +3 -1
  92. package/lib/db/Enums/chart-accounts-list.enum.d.ts +4 -3
  93. package/lib/db/Enums/property/property-category-list.enum.d.ts +2 -1
  94. package/lib/db/Enums/user-status.enum.d.ts +1 -2
  95. package/lib/db/Models/client-details.d.ts +5 -1
  96. package/lib/db/Models/client-income-types.d.ts +11 -0
  97. package/lib/db/Models/vehicle-claim.d.ts +2 -0
  98. package/lib/db/Models/vehicle.d.ts +2 -0
  99. package/lib/forms/client/client-income-types.form.d.ts +7 -0
  100. package/lib/forms/index.d.ts +3 -0
  101. package/lib/forms/vehicle/vehicle-claim.form.d.ts +43 -0
  102. package/lib/forms/vehicle/vehicle.form.d.ts +11 -0
  103. package/lib/interfaces/event-listener.interface.d.ts +1 -0
  104. package/lib/interfaces/expense.interface.d.ts +12 -0
  105. package/lib/interfaces/tank.interface.d.ts +2 -0
  106. package/lib/models/account-setup/account-setup-item.d.ts +9 -0
  107. package/lib/models/account-setup/account-setup-items.const.d.ts +7 -0
  108. package/lib/models/account-setup/account-setup-items.enum.d.ts +12 -0
  109. package/lib/models/chart-accounts/chart-accounts-value.d.ts +3 -0
  110. package/lib/models/chart-accounts/chart-accounts.d.ts +18 -0
  111. package/lib/models/client/client-income-types.d.ts +7 -0
  112. package/lib/models/depreciation/depreciation.d.ts +6 -2
  113. package/lib/models/event/app-event-type.enum.d.ts +4 -1
  114. package/lib/models/export/export-data-table.d.ts +9 -0
  115. package/lib/models/logbook/logbook-period.d.ts +4 -0
  116. package/lib/models/logbook/vehicle-claim.d.ts +20 -3
  117. package/lib/models/logbook/vehicle-logbook.d.ts +8 -2
  118. package/lib/models/logbook/vehicle.d.ts +5 -7
  119. package/lib/models/pdf/pdf-orientation.enum.d.ts +4 -0
  120. package/lib/models/transaction/transaction.d.ts +2 -2
  121. package/lib/services/account-setup/account-setup.service.d.ts +43 -0
  122. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +2 -7
  123. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +2 -7
  124. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +3 -8
  125. package/lib/services/http/bank/basiq/basiq.service.d.ts +2 -7
  126. package/lib/services/http/chat/chat.service.d.ts +4 -7
  127. package/lib/services/http/chat/message/message.service.d.ts +4 -7
  128. package/lib/services/http/chat/message-document/message-document.service.d.ts +3 -3
  129. package/lib/services/http/depreciation/depreciation.service.d.ts +2 -11
  130. package/lib/services/http/document/document-folder/document-folder.service.d.ts +0 -6
  131. package/lib/services/http/firm/client-income/client-income-types.service.d.ts +18 -0
  132. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +2 -7
  133. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +2 -7
  134. package/lib/services/http/income-source/income-source.service.d.ts +0 -6
  135. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +1 -7
  136. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +2 -7
  137. package/lib/services/http/loan/loan.service.d.ts +2 -7
  138. package/lib/services/http/property/property-document/property-document.service.d.ts +3 -8
  139. package/lib/services/http/property/property-share/property-share.service.d.ts +2 -7
  140. package/lib/services/http/property/property.service.d.ts +2 -7
  141. package/lib/services/http/rest/rest.service.d.ts +17 -2
  142. package/lib/services/http/service-notification/service-notification.service.d.ts +4 -7
  143. package/lib/services/http/subscription/subscription.service.d.ts +0 -1
  144. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +7 -7
  145. package/lib/services/http/tax-review/tax-review.service.d.ts +1 -7
  146. package/lib/services/http/tax-summary/tax-summary.service.d.ts +2 -1
  147. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +3 -8
  148. package/lib/services/http/transaction/transaction.service.d.ts +4 -12
  149. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +0 -6
  150. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +0 -6
  151. package/lib/services/http/vehicle/messages.enum.d.ts +11 -0
  152. package/lib/services/http/vehicle/vehicle-claim.service.d.ts +13 -0
  153. package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +22 -0
  154. package/lib/services/http/vehicle/vehicle.service.d.ts +17 -80
  155. package/lib/services/pdf/pdf.service.d.ts +16 -2
  156. package/lib/services/property/property-holding-costs/property-holding-costs.service.d.ts +24 -0
  157. package/lib/validators/at-least-one.validator.d.ts +6 -0
  158. package/lib/validators/index.d.ts +1 -0
  159. package/package.json +1 -1
  160. package/public-api.d.ts +15 -1
  161. package/esm2015/lib/collections/logbook.collection.js +0 -97
  162. package/lib/collections/logbook.collection.d.ts +0 -19
@@ -0,0 +1,11 @@
1
+ import { Collection } from './collection';
2
+ export class AccountSetupItemCollection extends Collection {
3
+ constructor(items) {
4
+ super(items);
5
+ this.sortBy('isCompleted', false);
6
+ }
7
+ isCompleted() {
8
+ return this.getBy('isCompleted', true).length === this.length;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsVUFBNEI7SUFDMUUsWUFBWSxLQUF5QjtRQUNuQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDaEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbSB9IGZyb20gJy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxBY2NvdW50U2V0dXBJdGVtPiB7XG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pIHtcbiAgICBzdXBlcihpdGVtcyk7XG4gICAgdGhpcy5zb3J0QnkoJ2lzQ29tcGxldGVkJywgZmFsc2UpXG4gIH1cblxuICBpc0NvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeSgnaXNDb21wbGV0ZWQnLCB0cnVlKS5sZW5ndGggPT09IHRoaXMubGVuZ3RoO1xuICB9XG59XG4iXX0=
@@ -82,7 +82,7 @@ export class BankTransactionCollection extends Collection {
82
82
  */
83
83
  groupByTransaction(allocations) {
84
84
  // Group allocations by transaction id
85
- const allocationsByTransactions = new CollectionDictionary(allocations, 'transaction');
85
+ const allocationsByTransactions = new CollectionDictionary(allocations, 'transaction.id');
86
86
  // Init an empty dictionary we will fill below
87
87
  const bankTransactionsByTransactions = new CollectionDictionary(new BankTransactionCollection([]));
88
88
  // Fill dictionary with the same keys as at allocationsByTransactions
@@ -116,4 +116,4 @@ export class BankTransactionCollection extends Collection {
116
116
  return new BankTransactionCollection(this.items.filter((bankTransaction) => !bankTransaction.isAllocated(allocations)));
117
117
  }
118
118
  }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUtsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9EOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBVyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUU1RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxVQUEyQjtJQUN4RSxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxrQkFBa0I7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Tyw4QkFBOEIsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxXQUE0QztRQUMzRCxPQUFPLElBQUkseUJBQXlCLENBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZ0MsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQ2xILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQ0FBbUMsQ0FBQyxtQkFBbUM7UUFDckUsd0dBQXdHO1FBQ3hHLE1BQU0sYUFBYSxHQUFhLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQVUsRUFBRSxXQUFDLE9BQUEsQ0FBQSxNQUFBLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUEsRUFBQSxDQUFDLENBQUM7UUFFOUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFnQyxFQUFRLEVBQUU7WUFDNUQsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbEQsZUFBZSxDQUFDLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLENBQUM7YUFDL0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILDhCQUE4QixDQUFDLFdBQTRDO1FBQ3pFLE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFXLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FDNUcsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSB9IGZyb20gJy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLW9wZXJhdGlvbi5lbnVtJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiB9IGZyb20gJy4uL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgTW9udGhOdW1iZXJFbnVtIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW51bWJlci5lbnVtJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5cbi8qKlxuICogTWF4aW1hbCBkZWxheSBiZXR3ZWVuIHRyYW5zZmVyIHRyYW5zYWN0aW9uc1xuICovXG5jb25zdCBUUkFOU0FDVElPTl9UUkFOU0ZFUl9ERUxBWTogbnVtYmVyID0gOTYgKiAzNjAwICogMTAwMDtcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGJhbmsgdHJhbnNhY3Rpb25zLlxuICogSU1QT1JUQU5UOiBDcmVhdGUgdGhpcyBjb2xsZWN0aW9uIGJhc2VkIG9uIGJhbmsgdHJhbnNhY3Rpb25zIGZyb20gVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZVxuICogQFRPRE8gZmluZCB3YXkgdG8gYWNjZXB0IGludGVyZmFjZSB3aXRoIGFsbG9jYXRpb24gaW5zdGVhZCBvZiBiYW5rVHJhbnNhY3Rpb24gdG8gcHJldmVudCB3cm9uZyB1c2FnZVxuICogYmVjYXVzZSBhbGwgYW1vdW50cyBjYWxjdWxhdGVzIHdpdGggYWxsb2NhdGVkIGFtb3VudHMgYnV0IG5vdCBmcm9tIGJhbmsgdHJhbnNhY3Rpb25zIGFtb3VudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxCYW5rVHJhbnNhY3Rpb24+IHtcbiAgZ2V0QW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpZmZlcmVuY2UgYmV0d2VlbiB0b3RhbCBiYW5rIHRyYW5zYWN0aW9ucyBhbW91bnQgYW5kIHN1bSBvZiBhbGxvY2F0aW9ucyBmb3IgcGFzc2VkIGJhbmsgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbikge1xuICAgIHJldHVybiArKHRoaXMuZ2V0QW1vdW50KCkgLSBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHModGhpcy5nZXRJZHMoKSkuYW1vdW50KS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGJhbmtUcmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGNyZWRpdCB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldCBjcmVkaXRUcmFuc2FjdGlvbnMoKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGRlYml0IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0IGRlYml0VHJhbnNhY3Rpb25zKCk6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmlzRGViaXQoKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkaWZmZXJlbmNlIGJldHdlZW4gZGViaXQgYW5kIGNyZWRpdCB0cmFuc2FjdGlvbnMgYW1vdW50c1xuICAgKi9cbiAgZ2V0IGJhbGFuY2VBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gc3VtICsgYmFua1RyYW5zYWN0aW9uLmJhbGFuY2VBbW91bnQsIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmb3IgcGFzc2VkIG1vbnRoXG4gICAqIEBwYXJhbSBtb250aEluZGV4IE1vbnRoIG51bWJlciBmcm9tIDAgdG8gMTFcbiAgICovXG4gIGdldFRyYW5zYWN0aW9uc0J5TW9udGgobW9udGhJbmRleDogTW9udGhOdW1iZXJFbnVtKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGJ5IHByb3ZpZGVkIGJhbmsgYWNjb3VudHNcbiAgICogQHBhcmFtIGJhbmtBY2NvdW50cyBieSB3aGljaCB0cmFuc2FjdGlvbnMgc2hvdWxkIGJlIHJldHVybmVkXG4gICAqL1xuICBnZXRCeUJhbmtBY2NvdW50cyhiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50W10pOiBCYW5rVHJhbnNhY3Rpb25bXSB7XG4gICAgY29uc3QgYmFua0FjY291bnRJZHM6IG51bWJlcltdID0gYmFua0FjY291bnRzLm1hcCgoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KSA9PiBiYW5rQWNjb3VudC5pZCk7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua0FjY291bnRJZHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LmlkKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGJ5IHByb3ZpZGVkIGlkcyBvZiBiYW5rIGFjY291bnRzXG4gICAqIEBwYXJhbSBpZHMgb2YgYmFuayBhY2NvdW50c1xuICAgKi9cbiAgZ2V0QnlCYW5rQWNjb3VudHNJZHMoaWRzOiBudW1iZXJbXSk6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gaWRzLmluY2x1ZGVzKGJhbmtUcmFuc2FjdGlvbi5iYW5rQWNjb3VudC5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIEJhbmsgVHJhbnNhY3Rpb24gYXZhaWxhYmxlIGZvciB0cmFuc2ZlclxuICAgKi9cbiAgZmluZFRyYW5zZmVyKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogQmFua1RyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiBpdGVtLmFtb3VudCArIGJhbmtUcmFuc2FjdGlvbi5hbW91bnQgPT09IDAgJiZcbiAgICAgICAgTWF0aC5hYnMoYmFua1RyYW5zYWN0aW9uLmRhdGUuZ2V0VGltZSgpIC0gaXRlbS5kYXRlLmdldFRpbWUoKSkgPCBUUkFOU0FDVElPTl9UUkFOU0ZFUl9ERUxBWTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcm91cCBiYW5rIHRyYW5zYWN0aW9ucyBieSB0cmFuc2FjdGlvbiBpZC5cbiAgICogRWFjaCBncm91cCBpcyBiYW5rIHRyYW5zYWN0aW9uIGNvbGxlY3Rpb24gYW5kIGNvbnRhaW5zIGJhbmsgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gdHJhbnNhY3Rpb25zIHZpYSBhbGxvY2F0aW9uc1xuICAgKi9cbiAgZ3JvdXBCeVRyYW5zYWN0aW9uKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4ge1xuICAgIC8vIEdyb3VwIGFsbG9jYXRpb25zIGJ5IHRyYW5zYWN0aW9uIGlkXG4gICAgY29uc3QgYWxsb2NhdGlvbnNCeVRyYW5zYWN0aW9ucyA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShhbGxvY2F0aW9ucywgJ3RyYW5zYWN0aW9uJyk7XG4gICAgLy8gSW5pdCBhbiBlbXB0eSBkaWN0aW9uYXJ5IHdlIHdpbGwgZmlsbCBiZWxvd1xuICAgIGNvbnN0IGJhbmtUcmFuc2FjdGlvbnNCeVRyYW5zYWN0aW9uczogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkobmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oW10pKTtcblxuICAgIC8vIEZpbGwgZGljdGlvbmFyeSB3aXRoIHRoZSBzYW1lIGtleXMgYXMgYXQgYWxsb2NhdGlvbnNCeVRyYW5zYWN0aW9uc1xuICAgIGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbnMua2V5cy5mb3JFYWNoKChrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgYmFua1RyYW5zYWN0aW9uc0J5VHJhbnNhY3Rpb25zLmFkZChrZXksIHRoaXMuZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25zLmdldChrZXkpKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYmFua1RyYW5zYWN0aW9uc0J5VHJhbnNhY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIGJhbmsgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgd2l0aCBwYXNzZWQgYWxsb2NhdGlvbnNcbiAgICovXG4gIGdldEJ5QWxsb2NhdGlvbnMoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb25zLmhhc0JhbmtUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb24pKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGFsbG9jYXRlIG9wZXJhdGlvbiBmb3IgYmFuayB0cmFuc2FjdGlvbnMgd2l0aCBhbW91bnRzIGVxdWFsIHRvIHNhbGFyeVxuICAgKi9cbiAgcHJlc2VsZWN0QWxsb2NhdGVPcGVyYXRpb25Gb3JTYWxhcnkoc2FsYXJ5SW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pOiB2b2lkIHtcbiAgICAvLyBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzWzBdIGJlY2F1c2UgZWFjaCBpbmNvbWUgc291cmNlIGhhcyBvbmx5IG9uZSBmb3JlY2FzdCBmb3IgY3VycmVudCBmaW4geWVhclxuICAgIGNvbnN0IHNhbGFyeUFtb3VudHM6IG51bWJlcltdID0gc2FsYXJ5SW5jb21lU291cmNlcy5tYXAoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKTogbnVtYmVyID0+IGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHNbMF0/Lm5ldFBheSB8fCAwKTtcblxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgIGlmIChzYWxhcnlBbW91bnRzLmluY2x1ZGVzKGJhbmtUcmFuc2FjdGlvbi5hbW91bnQpKSB7XG4gICAgICAgIGJhbmtUcmFuc2FjdGlvbi5vcGVyYXRpb24gPSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uQUxMT0NBVEU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgdW5hbGxvY2F0ZWQgYmFua1RyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0VW5hbGxvY2F0ZWRCYW5rVHJhbnNhY3Rpb25zKGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiAhYmFua1RyYW5zYWN0aW9uLmlzQWxsb2NhdGVkKGFsbG9jYXRpb25zKSlcbiAgICApO1xuICB9XG59XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUtsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9EOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBVyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUU1RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxVQUEyQjtJQUN4RSxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxrQkFBa0I7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QUFPLDhCQUE4QixDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFdBQTRDO1FBQzNELE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFnQyxFQUFXLEVBQUUsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FDbEgsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILG1DQUFtQyxDQUFDLG1CQUFtQztRQUNyRSx3R0FBd0c7UUFDeEcsTUFBTSxhQUFhLEdBQWEsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBVSxFQUFFLFdBQUMsT0FBQSxDQUFBLE1BQUEsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQSxFQUFBLENBQUMsQ0FBQztRQUU5SSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWdDLEVBQVEsRUFBRTtZQUM1RCxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNsRCxlQUFlLENBQUMsU0FBUyxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQzthQUMvRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsOEJBQThCLENBQUMsV0FBNEM7UUFDekUsT0FBTyxJQUFJLHlCQUF5QixDQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWdDLEVBQVcsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUM1RyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBNb250aE51bWJlckVudW0gfSBmcm9tICcuLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvbW9udGgtbnVtYmVyLmVudW0nO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBNYXhpbWFsIGRlbGF5IGJldHdlZW4gdHJhbnNmZXIgdHJhbnNhY3Rpb25zXG4gKi9cbmNvbnN0IFRSQU5TQUNUSU9OX1RSQU5TRkVSX0RFTEFZOiBudW1iZXIgPSA5NiAqIDM2MDAgKiAxMDAwO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgYmFuayB0cmFuc2FjdGlvbnMuXG4gKiBJTVBPUlRBTlQ6IENyZWF0ZSB0aGlzIGNvbGxlY3Rpb24gYmFzZWQgb24gYmFuayB0cmFuc2FjdGlvbnMgZnJvbSBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlXG4gKiBAVE9ETyBmaW5kIHdheSB0byBhY2NlcHQgaW50ZXJmYWNlIHdpdGggYWxsb2NhdGlvbiBpbnN0ZWFkIG9mIGJhbmtUcmFuc2FjdGlvbiB0byBwcmV2ZW50IHdyb25nIHVzYWdlXG4gKiBiZWNhdXNlIGFsbCBhbW91bnRzIGNhbGN1bGF0ZXMgd2l0aCBhbGxvY2F0ZWQgYW1vdW50cyBidXQgbm90IGZyb20gYmFuayB0cmFuc2FjdGlvbnMgYW1vdW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPEJhbmtUcmFuc2FjdGlvbj4ge1xuICBnZXRBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnYW1vdW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogRGlmZmVyZW5jZSBiZXR3ZWVuIHRvdGFsIGJhbmsgdHJhbnNhY3Rpb25zIGFtb3VudCBhbmQgc3VtIG9mIGFsbG9jYXRpb25zIGZvciBwYXNzZWQgYmFuayB0cmFuc2FjdGlvbnNcbiAgICovXG4gIGdldFVuYWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKSB7XG4gICAgcmV0dXJuICsodGhpcy5nZXRBbW91bnQoKSAtIGFsbG9jYXRpb25zLmdldEJ5QmFua1RyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGRhdGUgb2YgdGhlIGxhc3QgdHJhbnNhY3Rpb25cbiAgICovXG4gIGdldExhc3RUcmFuc2FjdGlvbkRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKE1hdGgubWF4LmFwcGx5KE1hdGgsIHRoaXMuaXRlbXMubWFwKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbikgPT4gYmFua1RyYW5zYWN0aW9uLmRhdGUpKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgY3JlZGl0IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0IGNyZWRpdFRyYW5zYWN0aW9ucygpOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGJhbmtUcmFuc2FjdGlvbi5pc0NyZWRpdCgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgZGViaXQgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXQgZGViaXRUcmFuc2FjdGlvbnMoKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rVHJhbnNhY3Rpb24uaXNEZWJpdCgpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGRpZmZlcmVuY2UgYmV0d2VlbiBkZWJpdCBhbmQgY3JlZGl0IHRyYW5zYWN0aW9ucyBhbW91bnRzXG4gICAqL1xuICBnZXQgYmFsYW5jZUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBzdW0gKyBiYW5rVHJhbnNhY3Rpb24uYmFsYW5jZUFtb3VudCwgMCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZvciBwYXNzZWQgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggTW9udGggbnVtYmVyIGZyb20gMCB0byAxMVxuICAgKi9cbiAgZ2V0VHJhbnNhY3Rpb25zQnlNb250aChtb250aEluZGV4OiBNb250aE51bWJlckVudW0pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pID0+IGJhbmtUcmFuc2FjdGlvbi5kYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoSW5kZXgpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgYnkgcHJvdmlkZWQgYmFuayBhY2NvdW50c1xuICAgKiBAcGFyYW0gYmFua0FjY291bnRzIGJ5IHdoaWNoIHRyYW5zYWN0aW9ucyBzaG91bGQgYmUgcmV0dXJuZWRcbiAgICovXG4gIGdldEJ5QmFua0FjY291bnRzKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSk6IEJhbmtUcmFuc2FjdGlvbltdIHtcbiAgICBjb25zdCBiYW5rQWNjb3VudElkczogbnVtYmVyW10gPSBiYW5rQWNjb3VudHMubWFwKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IGJhbmtBY2NvdW50LmlkKTtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBiYW5rQWNjb3VudElkcy5pbmNsdWRlcyhiYW5rVHJhbnNhY3Rpb24uYmFua0FjY291bnQuaWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgYnkgcHJvdmlkZWQgaWRzIG9mIGJhbmsgYWNjb3VudHNcbiAgICogQHBhcmFtIGlkcyBvZiBiYW5rIGFjY291bnRzXG4gICAqL1xuICBnZXRCeUJhbmtBY2NvdW50c0lkcyhpZHM6IG51bWJlcltdKTogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKSA9PiBpZHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmJhbmtBY2NvdW50LmlkKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgQmFuayBUcmFuc2FjdGlvbiBhdmFpbGFibGUgZm9yIHRyYW5zZmVyXG4gICAqL1xuICBmaW5kVHJhbnNmZXIoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBCYW5rVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgcmV0dXJuIGl0ZW0uYW1vdW50ICsgYmFua1RyYW5zYWN0aW9uLmFtb3VudCA9PT0gMCAmJlxuICAgICAgICBNYXRoLmFicyhiYW5rVHJhbnNhY3Rpb24uZGF0ZS5nZXRUaW1lKCkgLSBpdGVtLmRhdGUuZ2V0VGltZSgpKSA8IFRSQU5TQUNUSU9OX1RSQU5TRkVSX0RFTEFZO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwIGJhbmsgdHJhbnNhY3Rpb25zIGJ5IHRyYW5zYWN0aW9uIGlkLlxuICAgKiBFYWNoIGdyb3VwIGlzIGJhbmsgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBhbmQgY29udGFpbnMgYmFuayB0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byB0cmFuc2FjdGlvbnMgdmlhIGFsbG9jYXRpb25zXG4gICAqL1xuICBncm91cEJ5VHJhbnNhY3Rpb24oYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uPiB7XG4gICAgLy8gR3JvdXAgYWxsb2NhdGlvbnMgYnkgdHJhbnNhY3Rpb24gaWRcbiAgICBjb25zdCBhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25zID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KGFsbG9jYXRpb25zLCAndHJhbnNhY3Rpb24uaWQnKTtcbiAgICAvLyBJbml0IGFuIGVtcHR5IGRpY3Rpb25hcnkgd2Ugd2lsbCBmaWxsIGJlbG93XG4gICAgY29uc3QgYmFua1RyYW5zYWN0aW9uc0J5VHJhbnNhY3Rpb25zOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihbXSkpO1xuXG4gICAgLy8gRmlsbCBkaWN0aW9uYXJ5IHdpdGggdGhlIHNhbWUga2V5cyBhcyBhdCBhbGxvY2F0aW9uc0J5VHJhbnNhY3Rpb25zXG4gICAgYWxsb2NhdGlvbnNCeVRyYW5zYWN0aW9ucy5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnMuYWRkKGtleSwgdGhpcy5nZXRCeUFsbG9jYXRpb25zKGFsbG9jYXRpb25zQnlUcmFuc2FjdGlvbnMuZ2V0KGtleSkpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBiYW5rVHJhbnNhY3Rpb25zQnlUcmFuc2FjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gb2YgYmFuayB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHBhc3NlZCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbnMuaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYWxsb2NhdGUgb3BlcmF0aW9uIGZvciBiYW5rIHRyYW5zYWN0aW9ucyB3aXRoIGFtb3VudHMgZXF1YWwgdG8gc2FsYXJ5XG4gICAqL1xuICBwcmVzZWxlY3RBbGxvY2F0ZU9wZXJhdGlvbkZvclNhbGFyeShzYWxhcnlJbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IHZvaWQge1xuICAgIC8vIGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHNbMF0gYmVjYXVzZSBlYWNoIGluY29tZSBzb3VyY2UgaGFzIG9ubHkgb25lIGZvcmVjYXN0IGZvciBjdXJyZW50IGZpbiB5ZWFyXG4gICAgY29uc3Qgc2FsYXJ5QW1vdW50czogbnVtYmVyW10gPSBzYWxhcnlJbmNvbWVTb3VyY2VzLm1hcCgoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpOiBudW1iZXIgPT4gaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1swXT8ubmV0UGF5IHx8IDApO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgaWYgKHNhbGFyeUFtb3VudHMuaW5jbHVkZXMoYmFua1RyYW5zYWN0aW9uLmFtb3VudCkpIHtcbiAgICAgICAgYmFua1RyYW5zYWN0aW9uLm9wZXJhdGlvbiA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5BTExPQ0FURTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY29sbGVjdGlvbiBvZiB1bmFsbG9jYXRlZCBiYW5rVHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEJhbmtUcmFuc2FjdGlvbnMoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBCYW5rVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYmFua1RyYW5zYWN0aW9uOiBCYW5rVHJhbnNhY3Rpb24pOiBib29sZWFuID0+ICFiYW5rVHJhbnNhY3Rpb24uaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnMpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import has from 'lodash/has';
2
1
  import get from 'lodash/get';
3
2
  import flatten from 'lodash/flatten';
3
+ import hasIn from 'lodash/hasIn';
4
4
  /**
5
5
  * List of collections grouped by passed property
6
6
  */
@@ -20,8 +20,8 @@ export class CollectionDictionary {
20
20
  if (!collection.length) {
21
21
  return;
22
22
  }
23
- // Check if the first collection item has property by path
24
- if (!has(collection.items[0], path)) {
23
+ // Do nothing if provided path was not found in the 1st collection's item
24
+ if (!hasIn(collection.items[0], path.split('.')[0])) {
25
25
  return;
26
26
  }
27
27
  this.groupItems(collection, path);
@@ -83,4 +83,4 @@ export class CollectionDictionary {
83
83
  });
84
84
  }
85
85
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBR3JDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjs7OztPQUlHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixPQUFlLElBQUk7UUFqQnJCOztXQUVHO1FBQ0gsVUFBSyxHQUFrQyxFQUFFLENBQUM7UUFnQnhDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsV0FBa0QsQ0FBQztRQUUzRiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBRUQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNuQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxHQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsR0FBb0IsRUFBRSxLQUFpQjtRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBYztRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FDMUIsT0FBTyxDQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFVLEVBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2xFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFFBQWtCLEVBQUU7UUFDbkMsT0FBTyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVSxDQUFDLFVBQXNCLEVBQUUsSUFBWTtRQUNyRCx5Q0FBeUM7UUFDekMsTUFBTSxHQUFHLEdBQXFDLEVBQUUsQ0FBQztRQUVqRCx5QkFBeUI7UUFDekIsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFZLEVBQVEsRUFBRTtZQUM5QyxJQUFJLEdBQUcsR0FBVyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRWxDLDhFQUE4RTtZQUM5RSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7Z0JBQ3JCLEdBQUcsR0FBRyxPQUFPLENBQUM7YUFDZjtZQUVELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNmO1lBRUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILGlDQUFpQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBUSxFQUFFO1lBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGhhcyBmcm9tICdsb2Rhc2gvaGFzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIGFzIEJhc2VDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcblxuLyoqXG4gKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGdyb3VwZWQgYnkgcGFzc2VkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uIGV4dGVuZHMgQmFzZUNvbGxlY3Rpb248b2JqZWN0Pj4ge1xuICAvKipcbiAgICogTGlzdCBvZiBncm91cGVkIGNvbGxlY3Rpb25zXG4gICAqL1xuICBpdGVtczogeyBba2V5OiBzdHJpbmddOiBDb2xsZWN0aW9uIH0gPSB7fTtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3IgZnVuY3Rpb24gb2YgcGFzc2VkIGNvbGxlY3Rpb24gZm9yIGNyZWF0aW5nIG5ldyBpbnN0YW5jZXNcbiAgICovXG4gIHByaXZhdGUgY29sbGVjdGlvbkNvbnN0cnVjdG9yOiBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcblxuICAvKipcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gVGhlIENvbGxlY3Rpb24gaW5zdGFuY2UgdG8gYmUgZ3JvdXBlZFxuICAgKiBAcGFyYW0gcGF0aCBQYXRoIHRvIHRoZSBwcm9wZXJ0eSB0byBiZSBncm91cGVkIChFeGFtcGxlczogJ3RyYW5zYWN0aW9uJywgJ3Byb3BlcnR5LmNhdGVnb3J5JylcbiAgICogQHBhcmFtIHByb3AgT3B0aW9uYWw6IEZpZWxkIHRvIGdyb3VwIGJ5IChEZWZhdWx0ICdpZCcsIEV4YW1wbGVzOiAnaWQnLCAnYW1vdW50JywgJ2RhdGUnKVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgY29sbGVjdGlvbjogQ29sbGVjdGlvbixcbiAgICBwYXRoOiBzdHJpbmcgPSAnaWQnXG4gICkge1xuICAgIHRoaXMuY29sbGVjdGlvbkNvbnN0cnVjdG9yID0gY29sbGVjdGlvbi5jb25zdHJ1Y3RvciBhcyBuZXcgKGl0ZW1zOiBvYmplY3RbXSkgPT4gQ29sbGVjdGlvbjtcblxuICAgIC8vIE5vdGhpbmcgdG8gZ3JvdXAgd2hlbiBjb2xsZWN0aW9uIGlzIGVtcHR5XG4gICAgaWYgKCFjb2xsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIHRoZSBmaXJzdCBjb2xsZWN0aW9uIGl0ZW0gaGFzIHByb3BlcnR5IGJ5IHBhdGhcbiAgICBpZiAoIWhhcyhjb2xsZWN0aW9uLml0ZW1zWzBdLCBwYXRoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ3JvdXBJdGVtcyhjb2xsZWN0aW9uLCBwYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGtleXNcbiAgICovXG4gIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pdGVtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gYnkga2V5IG9yIHJldHVybiBlbXB0eSBjb2xsZWN0aW9uIGlmIGtleSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nIHwgbnVtYmVyKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNba2V5XSA/IHRoaXMuaXRlbXNba2V5XSA6IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBpdGVtIGJ5IGtleVxuICAgKi9cbiAgYWRkKGtleTogc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZTogQ29sbGVjdGlvbikge1xuICAgIHRoaXMuaXRlbXNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEpvaW4gc2V2ZXJhbCBjb2xsZWN0aW9ucyBieSBpZHNcbiAgICovXG4gIG1lcmdlKGtleXM6IG51bWJlcltdKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihcbiAgICAgIGZsYXR0ZW4oXG4gICAgICAgIGtleXMubWFwKChpZDogbnVtYmVyKTogb2JqZWN0W10gPT4gdGhpcy5nZXQoaWQudG9TdHJpbmcoKSkuaXRlbXMpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgaW5zdGFuY2Ugb2YgY29sbGVjdGlvblxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvbihpdGVtczogb2JqZWN0W10gPSBbXSk6IENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgdGhpcy5jb2xsZWN0aW9uQ29uc3RydWN0b3IoaXRlbXMpO1xuICB9XG5cbiAgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMua2V5cy5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgY29sbGVjdGlvbiBpdGVtcyBieSBwYXNzZWQgcGF0aCBpbnRvIGl0ZW1zIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBncm91cEl0ZW1zKGNvbGxlY3Rpb246IENvbGxlY3Rpb24sIHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXG4gICAgY29uc3Qgb2JqOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PG9iamVjdD4gfSA9IHt9O1xuXG4gICAgLy8gR3JvdXAgY29sbGVjdGlvbiBpdGVtc1xuICAgIGNvbGxlY3Rpb24uaXRlbXMuZm9yRWFjaCgoaXRlbTogb2JqZWN0KTogdm9pZCA9PiB7XG4gICAgICBsZXQga2V5OiBzdHJpbmcgPSBnZXQoaXRlbSwgcGF0aCk7XG5cbiAgICAgIC8vIGlmIG9iamVjdCBkb2VzIG5vdCBoYXZlIHByb3BlcnR5IGZvciBncm91cGluZyBpdCB3aWxsIGJlIGdyb3VwZWQgYXMgJ290aGVyJ1xuICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGtleSA9ICdvdGhlcic7XG4gICAgICB9XG5cbiAgICAgIGlmICghb2JqW2tleV0pIHtcbiAgICAgICAgb2JqW2tleV0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgb2JqW2tleV0ucHVzaChpdGVtKTtcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBjb2xsZWN0aW9ucyBmcm9tIGdyb3Vwc1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuaXRlbXNba2V5XSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihvYmpba2V5XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kaWN0aW9uYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24tZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUM7QUFDN0IsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxLQUFLLE1BQU0sY0FBYyxDQUFDO0FBR2pDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjs7OztPQUlHO0lBQ0gsWUFDRSxVQUFzQixFQUN0QixPQUFlLElBQUk7UUFqQnJCOztXQUVHO1FBQ0gsVUFBSyxHQUFrQyxFQUFFLENBQUM7UUFnQnhDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLENBQUMsV0FBa0QsQ0FBQztRQUUzRiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsT0FBTztTQUNSO1FBRUQseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsR0FBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLEdBQW9CLEVBQUUsS0FBaUI7UUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQzFCLE9BQU8sQ0FDTCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBVSxFQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNsRSxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxRQUFrQixFQUFFO1FBQ25DLE9BQU8sSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNLLFVBQVUsQ0FBQyxVQUFzQixFQUFFLElBQVk7UUFDckQseUNBQXlDO1FBQ3pDLE1BQU0sR0FBRyxHQUFxQyxFQUFFLENBQUM7UUFFakQseUJBQXlCO1FBQ3pCLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFRLEVBQUU7WUFDOUMsSUFBSSxHQUFHLEdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVsQyw4RUFBOEU7WUFDOUUsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUNyQixHQUFHLEdBQUcsT0FBTyxDQUFDO2FBQ2Y7WUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDZjtZQUVELEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxpQ0FBaUM7UUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQVEsRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQgaGFzSW4gZnJvbSAnbG9kYXNoL2hhc0luJztcbmltcG9ydCB7IENvbGxlY3Rpb24gYXMgQmFzZUNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuXG4vKipcbiAqIExpc3Qgb2YgY29sbGVjdGlvbnMgZ3JvdXBlZCBieSBwYXNzZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25EaWN0aW9uYXJ5PENvbGxlY3Rpb24gZXh0ZW5kcyBCYXNlQ29sbGVjdGlvbjxvYmplY3Q+PiB7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGdyb3VwZWQgY29sbGVjdGlvbnNcbiAgICovXG4gIGl0ZW1zOiB7IFtrZXk6IHN0cmluZ106IENvbGxlY3Rpb24gfSA9IHt9O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmdW5jdGlvbiBvZiBwYXNzZWQgY29sbGVjdGlvbiBmb3IgY3JlYXRpbmcgbmV3IGluc3RhbmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBjb2xsZWN0aW9uQ29uc3RydWN0b3I6IG5ldyAoaXRlbXM6IG9iamVjdFtdKSA9PiBDb2xsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gY29sbGVjdGlvbiBUaGUgQ29sbGVjdGlvbiBpbnN0YW5jZSB0byBiZSBncm91cGVkXG4gICAqIEBwYXJhbSBwYXRoIFBhdGggdG8gdGhlIHByb3BlcnR5IHRvIGJlIGdyb3VwZWQgKEV4YW1wbGVzOiAndHJhbnNhY3Rpb24nLCAncHJvcGVydHkuY2F0ZWdvcnknKVxuICAgKiBAcGFyYW0gcHJvcCBPcHRpb25hbDogRmllbGQgdG8gZ3JvdXAgYnkgKERlZmF1bHQgJ2lkJywgRXhhbXBsZXM6ICdpZCcsICdhbW91bnQnLCAnZGF0ZScpXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLFxuICAgIHBhdGg6IHN0cmluZyA9ICdpZCdcbiAgKSB7XG4gICAgdGhpcy5jb2xsZWN0aW9uQ29uc3RydWN0b3IgPSBjb2xsZWN0aW9uLmNvbnN0cnVjdG9yIGFzIG5ldyAoaXRlbXM6IG9iamVjdFtdKSA9PiBDb2xsZWN0aW9uO1xuXG4gICAgLy8gTm90aGluZyB0byBncm91cCB3aGVuIGNvbGxlY3Rpb24gaXMgZW1wdHlcbiAgICBpZiAoIWNvbGxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRG8gbm90aGluZyBpZiBwcm92aWRlZCBwYXRoIHdhcyBub3QgZm91bmQgaW4gdGhlIDFzdCBjb2xsZWN0aW9uJ3MgaXRlbVxuICAgIGlmICghaGFzSW4oY29sbGVjdGlvbi5pdGVtc1swXSwgcGF0aC5zcGxpdCgnLicpWzBdKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZ3JvdXBJdGVtcyhjb2xsZWN0aW9uLCBwYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbGxlY3Rpb25zIGtleXNcbiAgICovXG4gIGdldCBrZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5pdGVtcyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNvbGxlY3Rpb24gYnkga2V5IG9yIHJldHVybiBlbXB0eSBjb2xsZWN0aW9uIGlmIGtleSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nIHwgbnVtYmVyKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNba2V5XSA/IHRoaXMuaXRlbXNba2V5XSA6IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihbXSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBpdGVtIGJ5IGtleVxuICAgKi9cbiAgYWRkKGtleTogc3RyaW5nIHwgbnVtYmVyLCB2YWx1ZTogQ29sbGVjdGlvbikge1xuICAgIHRoaXMuaXRlbXNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEpvaW4gc2V2ZXJhbCBjb2xsZWN0aW9ucyBieSBpZHNcbiAgICovXG4gIG1lcmdlKGtleXM6IG51bWJlcltdKTogQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29sbGVjdGlvbihcbiAgICAgIGZsYXR0ZW4oXG4gICAgICAgIGtleXMubWFwKChpZDogbnVtYmVyKTogb2JqZWN0W10gPT4gdGhpcy5nZXQoaWQudG9TdHJpbmcoKSkuaXRlbXMpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgaW5zdGFuY2Ugb2YgY29sbGVjdGlvblxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvbihpdGVtczogb2JqZWN0W10gPSBbXSk6IENvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgdGhpcy5jb2xsZWN0aW9uQ29uc3RydWN0b3IoaXRlbXMpO1xuICB9XG5cbiAgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMua2V5cy5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgY29sbGVjdGlvbiBpdGVtcyBieSBwYXNzZWQgcGF0aCBpbnRvIGl0ZW1zIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBncm91cEl0ZW1zKGNvbGxlY3Rpb246IENvbGxlY3Rpb24sIHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXG4gICAgY29uc3Qgb2JqOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PG9iamVjdD4gfSA9IHt9O1xuXG4gICAgLy8gR3JvdXAgY29sbGVjdGlvbiBpdGVtc1xuICAgIGNvbGxlY3Rpb24uaXRlbXMuZm9yRWFjaCgoaXRlbTogb2JqZWN0KTogdm9pZCA9PiB7XG4gICAgICBsZXQga2V5OiBzdHJpbmcgPSBnZXQoaXRlbSwgcGF0aCk7XG5cbiAgICAgIC8vIGlmIG9iamVjdCBkb2VzIG5vdCBoYXZlIHByb3BlcnR5IGZvciBncm91cGluZyBpdCB3aWxsIGJlIGdyb3VwZWQgYXMgJ290aGVyJ1xuICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGtleSA9ICdvdGhlcic7XG4gICAgICB9XG5cbiAgICAgIGlmICghb2JqW2tleV0pIHtcbiAgICAgICAgb2JqW2tleV0gPSBbXTtcbiAgICAgIH1cblxuICAgICAgb2JqW2tleV0ucHVzaChpdGVtKTtcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBjb2xsZWN0aW9ucyBmcm9tIGdyb3Vwc1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuaXRlbXNba2V5XSA9IHRoaXMuY3JlYXRlQ29sbGVjdGlvbihvYmpba2V5XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -86,5 +86,8 @@ export class Collection {
86
86
  get last() {
87
87
  return last(this.items);
88
88
  }
89
+ getByDateRange(from, to, dateField = 'date') {
90
+ return this.create(this.items.filter((item) => item[dateField] >= from && item[dateField] <= to));
91
+ }
89
92
  }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUlyQixZQUFZLFFBQWlCLEVBQUU7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRTtRQUN2QixPQUFPLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQix5Q0FBeUM7UUFDekMsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2YsZ0RBQWdEO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBVyxFQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsRUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBVyxFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFXLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBWTtRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsSUFBVyxFQUFVLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQWtDO1FBQ3ZDLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBZ0IsSUFBSSxFQUFFLFNBQWtCLElBQUk7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcclxuaW1wb3J0IGZpcnN0IGZyb20gJ2xvZGFzaC9maXJzdCc7XHJcbmltcG9ydCBsYXN0IGZyb20gJ2xvZGFzaC9sYXN0JztcclxuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcclxuaW1wb3J0IHsgc29ydCB9IGZyb20gJy4uL2Z1bmN0aW9ucy9hcnJheSc7XHJcblxyXG5jb25zdCBERUZBVUxUX0lOREVYID0gJ290aGVyJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNvbGxlY3Rpb24gY2xhc3MuIENvbnRhaW5zIGNvbW1vbiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIGZvciBhbGwgY29sbGVjdGlvbnNcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPE1vZGVsIGV4dGVuZHMgb2JqZWN0PiBpbXBsZW1lbnRzIEl0ZXJhYmxlPE1vZGVsPiB7XHJcbiAgLy8gbGlzdCBvZiBjb2xsZWN0aW9uJ3MgaXRlbXNcclxuICBpdGVtczogTW9kZWxbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoaXRlbXM6IE1vZGVsW10gPSBbXSkge1xyXG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlKGl0ZW1zOiBNb2RlbFtdID0gW10pOiB0aGlzIHtcclxuICAgIHJldHVybiBuZXcgKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KShpdGVtcyk7XHJcbiAgfVxyXG5cclxuICBncm91cEJ5KHBhdGg6IHN0cmluZyA9ICcnKTogQ29sbGVjdGlvbkRpY3Rpb25hcnk8Q29sbGVjdGlvbjxNb2RlbD4+IHtcclxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkodGhpcywgcGF0aCk7XHJcbiAgfVxyXG5cclxuICBpbmRleEJ5KHBhdGg6IHN0cmluZyk6IG9iamVjdCB7XHJcbiAgICAvLyBDcmVhdGUgZW1wdHkgaW5pdGlhbCBvYmplY3QgZm9yIGdyb3Vwc1xyXG4gICAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IE1vZGVsIH0gPSB7fTtcclxuXHJcbiAgICB0aGlzLnRvQXJyYXkoKS5mb3JFYWNoKChtb2RlbDogTW9kZWwpID0+IHtcclxuICAgICAgcmVzdWx0W2dldChtb2RlbCwgcGF0aCwgREVGQVVMVF9JTkRFWCldID0gbW9kZWw7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSXRlcmF0b3IgdGhhdCBhbGxvdyB0byBpdGVyYXRlIGNvbGxlY3Rpb24gaXRlbXNcclxuICAgKi9cclxuICBbU3ltYm9sLml0ZXJhdG9yXSgpOiBJdGVyYXRvcjxNb2RlbD4ge1xyXG4gICAgLy8gLnZhbHVlcygpIHJldHVybnMgSXRlcmF0b3IgaW5zdGFuY2UgZm9yIGFycmF5XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy52YWx1ZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGdldCBjb2xsZWN0aW9uIGxlbmd0aFxyXG4gICAqL1xyXG4gIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBsaXN0IG9mIGl0ZW1zIGlkc1xyXG4gICAqL1xyXG4gIGdldElkcygpOiBudW1iZXJbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5tYXAoKGl0ZW06IE1vZGVsKTogbnVtYmVyID0+IGl0ZW1bJ2lkJ10pO1xyXG4gIH1cclxuXHJcbiAgZmluZEJ5KHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSk6IE1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbmQoKGl0ZW06IE1vZGVsKSA9PiBnZXQoaXRlbSwgcGF0aCkgPT09IHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldEJ5KHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gZ2V0KGl0ZW0sIHBhdGgpID09PSB2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHNpbmdsZSBpdGVtIGJ5IGlkXHJcbiAgICovXHJcbiAgZ2V0QnlJZChpZDogbnVtYmVyKTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogTW9kZWwpOiBib29sZWFuID0+IGl0ZW1bJ2lkJ10gPT09IGlkKTtcclxuICB9XHJcblxyXG4gIGdldEJ5SWRzKGlkczogbnVtYmVyW10pOiBNb2RlbFtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbTogTW9kZWwpOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyhpdGVtWydpZCddKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdG90YWwgc3VtIG9mIGl0ZW1zIGJ5IGZpZWxkXHJcbiAgICovXHJcbiAgc3VtQnkocGF0aDogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHJldHVybiArdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBpdGVtOiBNb2RlbCk6IG51bWJlciA9PiBzdW0gKyBOdW1iZXIoZ2V0KGl0ZW0sIHBhdGgpKSwgMCkudG9GaXhlZCgyKTtcclxuICB9XHJcblxyXG4gIHRvQXJyYXkoKTogTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gWy4uLnRoaXMuaXRlbXNdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdGVyIGl0ZW1zIGJ5IHNwZWNpZmljIHByb3ZpZGVkIGNhbGxiYWNrXHJcbiAgICovXHJcbiAgZmlsdGVyKGNhbGxiYWNrOiAoaXRlbTogTW9kZWwpID0+IGJvb2xlYW4pOiBDb2xsZWN0aW9uPE1vZGVsPiB7XHJcbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhpcy5pdGVtcy5maWx0ZXIoY2FsbGJhY2spKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgY29sbGVjdGlvbiBpdGVtcyBieSBwcm92aWRlZCBmaWVsZFxyXG4gICAqL1xyXG4gIHNvcnRCeShmaWxlZDogc3RyaW5nID0gJ2lkJywgaXNEZXNjOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgc29ydCh0aGlzLml0ZW1zLCBmaWxlZCwgaXNEZXNjKTtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gZmlyc3QodGhpcy5pdGVtcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdCgpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gbGFzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcbn1cclxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUlyQixZQUFZLFFBQWlCLEVBQUU7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFpQixFQUFFO1FBQ3hCLE9BQU8sSUFBSyxJQUFJLENBQUMsV0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRTtRQUN2QixPQUFPLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQix5Q0FBeUM7UUFDekMsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJ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Q0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDOUYsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xyXG5pbXBvcnQgZmlyc3QgZnJvbSAnbG9kYXNoL2ZpcnN0JztcclxuaW1wb3J0IGxhc3QgZnJvbSAnbG9kYXNoL2xhc3QnO1xyXG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xyXG5pbXBvcnQgeyBzb3J0IH0gZnJvbSAnLi4vZnVuY3Rpb25zL2FycmF5JztcclxuXHJcbmNvbnN0IERFRkFVTFRfSU5ERVggPSAnb3RoZXInO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY29sbGVjdGlvbiBjbGFzcy4gQ29udGFpbnMgY29tbW9uIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgZm9yIGFsbCBjb2xsZWN0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb248TW9kZWwgZXh0ZW5kcyBvYmplY3Q+IGltcGxlbWVudHMgSXRlcmFibGU8TW9kZWw+IHtcclxuICAvLyBsaXN0IG9mIGNvbGxlY3Rpb24ncyBpdGVtc1xyXG4gIGl0ZW1zOiBNb2RlbFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihpdGVtczogTW9kZWxbXSA9IFtdKSB7XHJcbiAgICB0aGlzLml0ZW1zID0gaXRlbXM7XHJcbiAgfVxyXG5cclxuICBjcmVhdGUoaXRlbXM6IE1vZGVsW10gPSBbXSk6IHRoaXMge1xyXG4gICAgcmV0dXJuIG5ldyAodGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkpKGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIGdyb3VwQnkocGF0aDogc3RyaW5nID0gJycpOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxDb2xsZWN0aW9uPE1vZGVsPj4ge1xyXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeSh0aGlzLCBwYXRoKTtcclxuICB9XHJcblxyXG4gIGluZGV4QnkocGF0aDogc3RyaW5nKTogb2JqZWN0IHtcclxuICAgIC8vIENyZWF0ZSBlbXB0eSBpbml0aWFsIG9iamVjdCBmb3IgZ3JvdXBzXHJcbiAgICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogTW9kZWwgfSA9IHt9O1xyXG5cclxuICAgIHRoaXMudG9BcnJheSgpLmZvckVhY2goKG1vZGVsOiBNb2RlbCkgPT4ge1xyXG4gICAgICByZXN1bHRbZ2V0KG1vZGVsLCBwYXRoLCBERUZBVUxUX0lOREVYKV0gPSBtb2RlbDtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJdGVyYXRvciB0aGF0IGFsbG93IHRvIGl0ZXJhdGUgY29sbGVjdGlvbiBpdGVtc1xyXG4gICAqL1xyXG4gIFtTeW1ib2wuaXRlcmF0b3JdKCk6IEl0ZXJhdG9yPE1vZGVsPiB7XHJcbiAgICAvLyAudmFsdWVzKCkgcmV0dXJucyBJdGVyYXRvciBpbnN0YW5jZSBmb3IgYXJyYXlcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogZ2V0IGNvbGxlY3Rpb24gbGVuZ3RoXHJcbiAgICovXHJcbiAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGxpc3Qgb2YgaXRlbXMgaWRzXHJcbiAgICovXHJcbiAgZ2V0SWRzKCk6IG51bWJlcltdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaXRlbTogTW9kZWwpOiBudW1iZXIgPT4gaXRlbVsnaWQnXSk7XHJcbiAgfVxyXG5cclxuICBmaW5kQnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmluZCgoaXRlbTogTW9kZWwpID0+IGdldChpdGVtLCBwYXRoKSA9PT0gdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnkocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiBnZXQoaXRlbSwgcGF0aCkgPT09IHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgc2luZ2xlIGl0ZW0gYnkgaWRcclxuICAgKi9cclxuICBnZXRCeUlkKGlkOiBudW1iZXIpOiBNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kKChpdGVtOiBNb2RlbCk6IGJvb2xlYW4gPT4gaXRlbVsnaWQnXSA9PT0gaWQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnlJZHMoaWRzOiBudW1iZXJbXSk6IE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtOiBNb2RlbCk6IGJvb2xlYW4gPT4gaWRzLmluY2x1ZGVzKGl0ZW1bJ2lkJ10pKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0b3RhbCBzdW0gb2YgaXRlbXMgYnkgZmllbGRcclxuICAgKi9cclxuICBzdW1CeShwYXRoOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGl0ZW06IE1vZGVsKTogbnVtYmVyID0+IHN1bSArIE51bWJlcihnZXQoaXRlbSwgcGF0aCkpLCAwKS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuXHJcbiAgdG9BcnJheSgpOiBNb2RlbFtdIHtcclxuICAgIHJldHVybiBbLi4udGhpcy5pdGVtc107XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaWx0ZXIgaXRlbXMgYnkgc3BlY2lmaWMgcHJvdmlkZWQgY2FsbGJhY2tcclxuICAgKi9cclxuICBmaWx0ZXIoY2FsbGJhY2s6IChpdGVtOiBNb2RlbCkgPT4gYm9vbGVhbik6IENvbGxlY3Rpb248TW9kZWw+IHtcclxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcihjYWxsYmFjaykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29ydCBjb2xsZWN0aW9uIGl0ZW1zIGJ5IHByb3ZpZGVkIGZpZWxkXHJcbiAgICovXHJcbiAgc29ydEJ5KGZpbGVkOiBzdHJpbmcgPSAnaWQnLCBpc0Rlc2M6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICBzb3J0KHRoaXMuaXRlbXMsIGZpbGVkLCBpc0Rlc2MpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpcnN0KCk6IE1vZGVsIHtcclxuICAgIHJldHVybiBmaXJzdCh0aGlzLml0ZW1zKTtcclxuICB9XHJcblxyXG4gIGdldCBsYXN0KCk6IE1vZGVsIHtcclxuICAgIHJldHVybiBsYXN0KHRoaXMuaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnlEYXRlUmFuZ2UoZnJvbTogRGF0ZSwgdG86IERhdGUsIGRhdGVGaWVsZDogc3RyaW5nID0gJ2RhdGUnKTogdGhpcyB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXHJcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtOiBNb2RlbCk6IGJvb2xlYW4gPT4gaXRlbVtkYXRlRmllbGRdID49IGZyb20gJiYgaXRlbVtkYXRlRmllbGRdIDw9IHRvKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -33,15 +33,6 @@ export class DepreciationCollection extends Collection {
33
33
  get closeBalance() {
34
34
  return this.sumBy('currentYearForecast.closeBalance');
35
35
  }
36
- /**
37
- * Get new depreciations collections filtered by tank type
38
- */
39
- getByTankType(tankType) {
40
- if (tankType === TankTypeEnum.PROPERTY) {
41
- return new DepreciationCollection(this.items.filter((depreciation) => depreciation.isPropertyTank()));
42
- }
43
- return new DepreciationCollection(this.items.filter((depreciation) => depreciation.isWorkTank()));
44
- }
45
36
  getByPropertiesIds(ids) {
46
37
  return new DepreciationCollection(this.items.filter((depreciation) => { var _a; return ids.includes((_a = depreciation.property) === null || _a === void 0 ? void 0 : _a.id); }));
47
38
  }
@@ -77,6 +68,29 @@ export class DepreciationCollection extends Collection {
77
68
  return depreciation.depreciationCapitalProject;
78
69
  })), 'id');
79
70
  }
71
+ /**
72
+ * Get a new collection of depreciations related to vehicles
73
+ */
74
+ getVehicleDepreciations() {
75
+ return this.create(this.items.filter((depreciation) => {
76
+ return depreciation.isVehicleDepreciation();
77
+ }));
78
+ }
79
+ getByTankType(tankType) {
80
+ return this.create(this.items.filter((depreciation) => {
81
+ switch (tankType) {
82
+ case TankTypeEnum.PROPERTY:
83
+ return depreciation.isPropertyTank();
84
+ case TankTypeEnum.WORK:
85
+ return depreciation.isWorkTank();
86
+ case TankTypeEnum.SOLE:
87
+ return depreciation.isSoleTank();
88
+ // case for other tank or some extra
89
+ default:
90
+ return false;
91
+ }
92
+ }));
93
+ }
80
94
  /**
81
95
  * Create TransactionCollection from depreciation items
82
96
  */
@@ -84,4 +98,4 @@ export class DepreciationCollection extends Collection {
84
98
  return new TransactionCollection(this.items.map((item) => item.toTransaction()));
85
99
  }
86
100
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxVQUF3QjtJQUVsRTs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsWUFBMEIsRUFBVSxFQUFFLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsWUFBMEIsRUFBRSxFQUFFO1lBQ25FLE9BQU8sR0FBRyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7UUFDNUQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsWUFBMEIsRUFBVSxFQUFFO1lBQ3pG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QUFDLEdBQUcsQ0FBQyxDQUFDLElBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgdW5pcUJ5IGZyb20gJ2xvZGFzaC91bmlxQnknO1xuaW1wb3J0IGNvbXBhY3QgZnJvbSAnbG9kYXNoL2NvbXBhY3QnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3QgfSBmcm9tICcuLi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1jYXBpdGFsLXByb2plY3QnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0gfSBmcm9tICcuLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1jYXRlZ29yeS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIERlcHJlY2lhdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPERlcHJlY2lhdGlvbj4ge1xuXG4gIC8qKlxuICAgKiBHZXQgdG90YWwgYW1vdW50IG9mIGFsbCBkZXByZWNpYXRpb25zIGluIHRoZSBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBudW1iZXIgPT4gc3VtICsgZGVwcmVjaWF0aW9uLmFtb3VudCwgMCk7XG4gIH1cblxuICBnZXQgY2xhaW1BbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIHN1bSArIGRlcHJlY2lhdGlvbi5jdXJyZW50WWVhckZvcmVjYXN0LmNsYWltQW1vdW50O1xuICAgIH0sIDApO1xuICB9XG5cbiAgZ2V0Q2xhaW1BbW91bnRCeVllYXIoeWVhcjogbnVtYmVyID0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdmaW5hbmNpYWxZZWFyJykpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFtb3VudCAtIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBudW1iZXIgPT4ge1xuICAgICAgcmV0dXJuIHN1bSArIGRlcHJlY2lhdGlvbi5nZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhcik7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhcjogbnVtYmVyID0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCdmaW5hbmNpYWxZZWFyJykpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogbnVtYmVyID0+IHtcbiAgICAgIHJldHVybiBzdW0gKyBkZXByZWNpYXRpb24uZ2V0Q2xvc2VCYWxhbmNlQnlZZWFyKHllYXIpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgZ2V0Q3VycmVudFllYXJGb3JlY2FzdEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogbnVtYmVyID0+IHtcbiAgICAgIHJldHVybiBzdW0gKyBkZXByZWNpYXRpb24uY3VycmVudFllYXJGb3JlY2FzdC5hbW91bnQ7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXQgY2xvc2VCYWxhbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2N1cnJlbnRZZWFyRm9yZWNhc3QuY2xvc2VCYWxhbmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBkZXByZWNpYXRpb25zIGNvbGxlY3Rpb25zIGZpbHRlcmVkIGJ5IHRhbmsgdHlwZVxuICAgKi9cbiAgZ2V0QnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgaWYgKHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uUFJPUEVSVFkpIHtcbiAgICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiBkZXByZWNpYXRpb24uaXNQcm9wZXJ0eVRhbmsoKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiBkZXByZWNpYXRpb24uaXNXb3JrVGFuaygpKVxuICAgICk7XG4gIH1cblxuICBnZXRCeVByb3BlcnRpZXNJZHMoaWRzOiBudW1iZXJbXSk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gaWRzLmluY2x1ZGVzKGRlcHJlY2lhdGlvbi5wcm9wZXJ0eT8uaWQpKVxuICAgICk7XG4gIH1cblxuICBnZXRXaXRoQ2FwaXRhbFByb2plY3QoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiAhIWRlcHJlY2lhdGlvbi5kZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdClcbiAgICApO1xuICB9XG5cbiAgZ2V0V2l0aG91dENhcGl0YWxQcm9qZWN0KCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gIWRlcHJlY2lhdGlvbi5kZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdClcbiAgICApO1xuICB9XG5cbiAgZ2V0V2l0aG91dEJvcnJvd2luZ0V4cGVuc2VzKCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gIWRlcHJlY2lhdGlvbi5pc0JvcnJvd2luZ0V4cGVuc2UoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+IGNhdGVnb3JpZXMuaW5jbHVkZXMoZGVwcmVjaWF0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpKVxuICAgICk7XG4gIH1cblxuICBnZXRQbGFudEVxdWlwbWVudCgpOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+IGRlcHJlY2lhdGlvbi5pc1BsYW50RXF1aXBtZW50KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENhcGl0YWxEZXByZWNpYXRpb25zKCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gZGVwcmVjaWF0aW9uLmlzQ2FwaXRhbCgpKVxuICAgICk7XG4gIH1cblxuICBnZXRCb3Jyb3dpbmdFeHBlbnNlRGVwcmVjaWF0aW9ucygpOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+IGRlcHJlY2lhdGlvbi5pc0JvcnJvd2luZ0V4cGVuc2UoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0V3JpdHRlbk9mZkRlcHJlY2lhdGlvbnMoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiBkZXByZWNpYXRpb24uaXNXcml0dGVuT2ZmKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldExvd1ZhbHVlUG9vbERlcHJlY2lhdGlvbnMoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiBkZXByZWNpYXRpb24uaXNMb3dWYWx1ZVBvb2woKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q2FwaXRhbFByb2plY3RzKCk6IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0W10ge1xuICAgIHJldHVybiB1bmlxQnkoXG4gICAgICBjb21wYWN0KFxuICAgICAgICB0aGlzLml0ZW1zLm1hcCgoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCA9PiB7XG4gICAgICAgICAgcmV0dXJuIGRlcHJlY2lhdGlvbi5kZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdDtcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICAnaWQnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIGZyb20gZGVwcmVjaWF0aW9uIGl0ZW1zXG4gICAqL1xuICB0b1RyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5tYXAoKGl0ZW06IERlcHJlY2lhdGlvbikgPT4gaXRlbS50b1RyYW5zYWN0aW9uKCkpXG4gICAgKTtcbiAgfVxufVxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxVQUF3QjtJQUVsRTs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsWUFBMEIsRUFBVSxFQUFFLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsWUFBMEIsRUFBRSxFQUFFO1lBQ25FLE9BQU8sR0FBRyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7UUFDNUQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsWUFBMEIsRUFBVSxFQUFFO1lBQ3pG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STtvQkFDcEIsT0FBTyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25DLEtBQUssWUFBWSxDQUFDLElBQUk7b0JBQ3BCLE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNuQyxvQ0FBb0M7Z0JBQ3BDO29CQUNFLE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixPQUFPLElBQUkscUJBQXFCLENBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQzdELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiB9IGZyb20gJy4uL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB1bmlxQnkgZnJvbSAnbG9kYXNoL3VuaXFCeSc7XG5pbXBvcnQgY29tcGFjdCBmcm9tICdsb2Rhc2gvY29tcGFjdCc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25DYXBpdGFsUHJvamVjdCB9IGZyb20gJy4uL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLWNhcGl0YWwtcHJvamVjdCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmVudW0nO1xuXG5leHBvcnQgY2xhc3MgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248RGVwcmVjaWF0aW9uPiB7XG5cbiAgLyoqXG4gICAqIEdldCB0b3RhbCBhbW91bnQgb2YgYWxsIGRlcHJlY2lhdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IG51bWJlciA9PiBzdW0gKyBkZXByZWNpYXRpb24uYW1vdW50LCAwKTtcbiAgfVxuXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gc3VtICsgZGVwcmVjaWF0aW9uLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1BbW91bnQ7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXRDbGFpbUFtb3VudEJ5WWVhcih5ZWFyOiBudW1iZXIgPSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2ZpbmFuY2lhbFllYXInKSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYW1vdW50IC0gdGhpcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IG51bWJlciA9PiB7XG4gICAgICByZXR1cm4gc3VtICsgZGVwcmVjaWF0aW9uLmdldENsb3NlQmFsYW5jZUJ5WWVhcih5ZWFyKTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIGdldENsb3NlQmFsYW5jZUJ5WWVhcih5ZWFyOiBudW1iZXIgPSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2ZpbmFuY2lhbFllYXInKSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBudW1iZXIgPT4ge1xuICAgICAgcmV0dXJuIHN1bSArIGRlcHJlY2lhdGlvbi5nZXRDbG9zZUJhbGFuY2VCeVllYXIoeWVhcik7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXRDdXJyZW50WWVhckZvcmVjYXN0QW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBudW1iZXIgPT4ge1xuICAgICAgcmV0dXJuIHN1bSArIGRlcHJlY2lhdGlvbi5jdXJyZW50WWVhckZvcmVjYXN0LmFtb3VudDtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIGdldCBjbG9zZUJhbGFuY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnY3VycmVudFllYXJGb3JlY2FzdC5jbG9zZUJhbGFuY2UnKTtcbiAgfVxuXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXMoZGVwcmVjaWF0aW9uLnByb3BlcnR5Py5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldFdpdGhDYXBpdGFsUHJvamVjdCgpOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+ICEhZGVwcmVjaWF0aW9uLmRlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0KVxuICAgICk7XG4gIH1cblxuICBnZXRXaXRob3V0Q2FwaXRhbFByb2plY3QoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiAhZGVwcmVjaWF0aW9uLmRlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0KVxuICAgICk7XG4gIH1cblxuICBnZXRXaXRob3V0Qm9ycm93aW5nRXhwZW5zZXMoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiAhZGVwcmVjaWF0aW9uLmlzQm9ycm93aW5nRXhwZW5zZSgpKVxuICAgICk7XG4gIH1cblxuICBnZXRCeUNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyhkZXByZWNpYXRpb24uY2hhcnRBY2NvdW50cy5jYXRlZ29yeSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldFBsYW50RXF1aXBtZW50KCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gZGVwcmVjaWF0aW9uLmlzUGxhbnRFcXVpcG1lbnQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q2FwaXRhbERlcHJlY2lhdGlvbnMoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBEZXByZWNpYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiBkZXByZWNpYXRpb24uaXNDYXBpdGFsKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJvcnJvd2luZ0V4cGVuc2VEZXByZWNpYXRpb25zKCk6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IGJvb2xlYW4gPT4gZGVwcmVjaWF0aW9uLmlzQm9ycm93aW5nRXhwZW5zZSgpKVxuICAgICk7XG4gIH1cblxuICBnZXRXcml0dGVuT2ZmRGVwcmVjaWF0aW9ucygpOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+IGRlcHJlY2lhdGlvbi5pc1dyaXR0ZW5PZmYoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0TG93VmFsdWVQb29sRGVwcmVjaWF0aW9ucygpOiBEZXByZWNpYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+IGRlcHJlY2lhdGlvbi5pc0xvd1ZhbHVlUG9vbCgpKVxuICAgICk7XG4gIH1cblxuICBnZXRDYXBpdGFsUHJvamVjdHMoKTogRGVwcmVjaWF0aW9uQ2FwaXRhbFByb2plY3RbXSB7XG4gICAgcmV0dXJuIHVuaXFCeShcbiAgICAgIGNvbXBhY3QoXG4gICAgICAgIHRoaXMuaXRlbXMubWFwKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IERlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0ID0+IHtcbiAgICAgICAgICByZXR1cm4gZGVwcmVjaWF0aW9uLmRlcHJlY2lhdGlvbkNhcGl0YWxQcm9qZWN0O1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgICdpZCdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIG5ldyBjb2xsZWN0aW9uIG9mIGRlcHJlY2lhdGlvbnMgcmVsYXRlZCB0byB2ZWhpY2xlc1xuICAgKi9cbiAgZ2V0VmVoaWNsZURlcHJlY2lhdGlvbnMoKTogRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiBkZXByZWNpYXRpb24uaXNWZWhpY2xlRGVwcmVjaWF0aW9uKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRCeVRhbmtUeXBlKHRhbmtUeXBlOiBUYW5rVHlwZUVudW0pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgc3dpdGNoICh0YW5rVHlwZSkge1xuICAgICAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlBST1BFUlRZOlxuICAgICAgICAgICAgcmV0dXJuIGRlcHJlY2lhdGlvbi5pc1Byb3BlcnR5VGFuaygpO1xuICAgICAgICAgIGNhc2UgVGFua1R5cGVFbnVtLldPUks6XG4gICAgICAgICAgICByZXR1cm4gZGVwcmVjaWF0aW9uLmlzV29ya1RhbmsoKTtcbiAgICAgICAgICBjYXNlIFRhbmtUeXBlRW51bS5TT0xFOlxuICAgICAgICAgICAgcmV0dXJuIGRlcHJlY2lhdGlvbi5pc1NvbGVUYW5rKCk7XG4gICAgICAgICAgLy8gY2FzZSBmb3Igb3RoZXIgdGFuayBvciBzb21lIGV4dHJhXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZnJvbSBkZXByZWNpYXRpb24gaXRlbXNcbiAgICovXG4gIHRvVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLm1hcCgoaXRlbTogRGVwcmVjaWF0aW9uKSA9PiBpdGVtLnRvVHJhbnNhY3Rpb24oKSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -15,7 +15,7 @@ export class TransactionAllocationCollection extends Collection {
15
15
  */
16
16
  groupByBankAccount(bankTransactions) {
17
17
  // Group bank transactions by bank account id
18
- const bankTransactionsByBankAccount = new CollectionDictionary(bankTransactions, 'bankAccount');
18
+ const bankTransactionsByBankAccount = new CollectionDictionary(bankTransactions, 'bankAccount.id');
19
19
  // Create empty dictionary of transaction allocations
20
20
  const allocationsByBankAccount = new CollectionDictionary(new TransactionAllocationCollection([]));
21
21
  // Fill allocations dictionary with bank transactions dictionary keys and allocations related with each bank transaction collection
@@ -37,4 +37,4 @@ export class TransactionAllocationCollection extends Collection {
37
37
  return !!this.items.find((allocation) => allocation.bankTransaction.id === bankTransaction.id);
38
38
  }
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSy9ELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxVQUFpQztJQUNwRixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQWE7UUFDaEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMzRyxDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLEdBQWE7UUFDcEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsZ0JBQTJDO1FBQzVELDZDQUE2QztRQUM3QyxNQUFNLDZCQUE2QixHQUFvRCxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2pKLHFEQUFxRDtRQUNyRCxNQUFNLHdCQUF3QixHQUEwRCxJQUFJLG9CQUFvQixDQUFDLElBQUksK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxSixtSUFBbUk7UUFDbkksNkJBQTZCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBUSxFQUFFO1lBQy9ELHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEgsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxXQUF3QjtRQUNyQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FBQyxlQUFnQztRQUNqRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqSSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL2JhbmstdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRGljdGlvbmFyeSB9IGZyb20gJy4vY29sbGVjdGlvbi1kaWN0aW9uYXJ5JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbiB9IGZyb20gJy4uL21vZGVscy9iYW5rL2JhbmstdHJhbnNhY3Rpb24nO1xuXG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxUcmFuc2FjdGlvbkFsbG9jYXRpb24+IHtcbiAgZ2V0IGFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldEJ5VHJhbnNhY3Rpb25zSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi50cmFuc2FjdGlvbi5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5QmFua1RyYW5zYWN0aW9uc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKGFsbG9jYXRpb246IFRyYW5zYWN0aW9uQWxsb2NhdGlvbik6IGJvb2xlYW4gPT4gaWRzLmluY2x1ZGVzKGFsbG9jYXRpb24uYmFua1RyYW5zYWN0aW9uLmlkKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyb3VwIGFsbG9jYXRpb25zIGJ5IGJhbmsgYWNjb3VudCB2aWEgYmFuayB0cmFuc2FjdGlvbnMgY29sbGVjdGlvblxuICAgKi9cbiAgZ3JvdXBCeUJhbmtBY2NvdW50KGJhbmtUcmFuc2FjdGlvbnM6IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24pOiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uPiB7XG4gICAgLy8gR3JvdXAgYmFuayB0cmFuc2FjdGlvbnMgYnkgYmFuayBhY2NvdW50IGlkXG4gICAgY29uc3QgYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQ6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KGJhbmtUcmFuc2FjdGlvbnMsICdiYW5rQWNjb3VudCcpO1xuICAgIC8vIENyZWF0ZSBlbXB0eSBkaWN0aW9uYXJ5IG9mIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25zXG4gICAgY29uc3QgYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50OiBDb2xsZWN0aW9uRGljdGlvbmFyeTxUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uPiA9IG5ldyBDb2xsZWN0aW9uRGljdGlvbmFyeShuZXcgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbihbXSkpO1xuICAgIC8vIEZpbGwgYWxsb2NhdGlvbnMgZGljdGlvbmFyeSB3aXRoIGJhbmsgdHJhbnNhY3Rpb25zIGRpY3Rpb25hcnkga2V5cyBhbmQgYWxsb2NhdGlvbnMgcmVsYXRlZCB3aXRoIGVhY2ggYmFuayB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uXG4gICAgYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQua2V5cy5mb3JFYWNoKChrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50LmFkZChrZXksIHRoaXMuZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKGJhbmtUcmFuc2FjdGlvbnNCeUJhbmtBY2NvdW50LmdldChrZXkpLmdldElkcygpKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zQnlCYW5rQWNjb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBpZiBjb2xsZWN0aW9uIGluY2x1ZGVzIGFsbG9jYXRpb24gb2YgcGFzc2VkIHRyYW5zYWN0aW9uXG4gICAqL1xuICBoYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLml0ZW1zLmZpbmQoKGFsbG9jYXRpb246IFRyYW5zYWN0aW9uQWxsb2NhdGlvbik6IGJvb2xlYW4gPT4gYWxsb2NhdGlvbi50cmFuc2FjdGlvbi5pZCA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGJhbmsgdHJhbnNhY3Rpb24gaXMgcmVsYXRlZCB3aXRoIGN1cnJlbnQgYWxsb2NhdGlvbnNcbiAgICovXG4gIGhhc0JhbmtUcmFuc2FjdGlvbihiYW5rVHJhbnNhY3Rpb246IEJhbmtUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9uLmJhbmtUcmFuc2FjdGlvbi5pZCA9PT0gYmFua1RyYW5zYWN0aW9uLmlkKTtcbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSy9ELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxVQUFpQztJQUNwRixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQWE7UUFDaEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMzRyxDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLEdBQWE7UUFDcEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsZ0JBQTJDO1FBQzVELDZDQUE2QztRQUM3QyxNQUFNLDZCQUE2QixHQUFvRCxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDcEoscURBQXFEO1FBQ3JELE1BQU0sd0JBQXdCLEdBQTBELElBQUksb0JBQW9CLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFKLG1JQUFtSTtRQUNuSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDL0Qsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sd0JBQXdCLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFdBQXdCO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGVBQWdDO1FBQ2pELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4vYmFuay10cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25EaWN0aW9uYXJ5IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uQWxsb2NhdGlvbj4ge1xuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0QnlUcmFuc2FjdGlvbnNJZHMoaWRzOiBudW1iZXJbXSk6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyhhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi5iYW5rVHJhbnNhY3Rpb24uaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgYWxsb2NhdGlvbnMgYnkgYmFuayBhY2NvdW50IHZpYSBiYW5rIHRyYW5zYWN0aW9ucyBjb2xsZWN0aW9uXG4gICAqL1xuICBncm91cEJ5QmFua0FjY291bnQoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbik6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+IHtcbiAgICAvLyBHcm91cCBiYW5rIHRyYW5zYWN0aW9ucyBieSBiYW5rIGFjY291bnQgaWRcbiAgICBjb25zdCBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudDogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoYmFua1RyYW5zYWN0aW9ucywgJ2JhbmtBY2NvdW50LmlkJyk7XG4gICAgLy8gQ3JlYXRlIGVtcHR5IGRpY3Rpb25hcnkgb2YgdHJhbnNhY3Rpb24gYWxsb2NhdGlvbnNcbiAgICBjb25zdCBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQ6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFtdKSk7XG4gICAgLy8gRmlsbCBhbGxvY2F0aW9ucyBkaWN0aW9uYXJ5IHdpdGggYmFuayB0cmFuc2FjdGlvbnMgZGljdGlvbmFyeSBrZXlzIGFuZCBhbGxvY2F0aW9ucyByZWxhdGVkIHdpdGggZWFjaCBiYW5rIHRyYW5zYWN0aW9uIGNvbGxlY3Rpb25cbiAgICBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudC5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQuYWRkKGtleSwgdGhpcy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQuZ2V0KGtleSkuZ2V0SWRzKCkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGNvbGxlY3Rpb24gaW5jbHVkZXMgYWxsb2NhdGlvbiBvZiBwYXNzZWQgdHJhbnNhY3Rpb25cbiAgICovXG4gIGhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyByZWxhdGVkIHdpdGggY3VycmVudCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pdGVtcy5maW5kKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb24uYmFua1RyYW5zYWN0aW9uLmlkID09PSBiYW5rVHJhbnNhY3Rpb24uaWQpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { Collection } from './collection';
2
+ import { TankTypeEnum } from '../db/Enums/tank-type.enum';
2
3
  /**
3
4
  * Collection of transactions
4
5
  */
@@ -112,5 +113,31 @@ export class TransactionCollection extends Collection {
112
113
  getByAllocations(allocations) {
113
114
  return new TransactionCollection(this.items.filter((transaction) => allocations.hasTransaction(transaction)));
114
115
  }
116
+ /**
117
+ * Get transactions related to Vehicle category
118
+ */
119
+ getVehicleTransactions() {
120
+ return this.create(this.items.filter((transaction) => {
121
+ return transaction.isVehicleTransaction();
122
+ }));
123
+ }
124
+ /**
125
+ * Get new transaction collection filtered by tank type
126
+ */
127
+ getByTankType(tankType) {
128
+ return this.create(this.items.filter((transaction) => {
129
+ switch (tankType) {
130
+ case TankTypeEnum.PROPERTY:
131
+ return transaction.isPropertyTank();
132
+ case TankTypeEnum.WORK:
133
+ return transaction.isWorkTank();
134
+ case TankTypeEnum.SOLE:
135
+ return transaction.isSoleTank();
136
+ // Transaction may be not related to any tank type (personal)
137
+ default:
138
+ return false;
139
+ }
140
+ }));
141
+ }
115
142
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsVUFBdUI7SUFDaEU7O09BRUc7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsV0FBd0IsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsV0FBNEM7UUFDL0QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILHNCQUFzQjtRQUNwQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVE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QUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQ2xHLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzVHlwZUVudW0gfSBmcm9tICcuLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy10eXBlLmVudW0nO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uPiB7XG4gIC8qKlxuICAgKiBHZXQgdG90YWwgYW1vdW50IG9mIGFsbCB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5nZXROZXRBbW91bnQoKSwgMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaWZmZXJlbmNlIGJldHdlZW4gYWxsb2NhdGVkIGFtb3VudCBhbmQgdG90YWwgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuICsodGhpcy5hbW91bnQgLSBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNhc2ggcG9zaXRpb25cbiAgICogQ2FzaCBQb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzXG4gICAqIENhc2ggcG9zaXRpb24gaXMgZXF1YWwgdG8gVG90YWwgQW1vdW50IGJlY2F1c2UgaW5jb21lIGlzIHBvc2l0aXZlIGFuZCBleHBlbnNlIGlzIG5lZ2F0aXZlLFxuICAgKi9cbiAgZ2V0IGNhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdW1tYXJ5IG9mIGNsYWltIGFtb3VudHNcbiAgICovXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uYW1vdW50LCAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IGNoYXJ0IGFjY291bnRzIGlkXG4gICAqIEBwYXJhbSBjaGFydEFjY291bnRzSWQgY2hhcnQgYWNjb3VudHMgaWQgZm9yIGZpbHRlcmluZ1xuICAgKi9cbiAgZ2V0QnlDaGFydEFjY291bnRzSWQoY2hhcnRBY2NvdW50c0lkOiBudW1iZXIpOiBUcmFuc2FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkKTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1FeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW50ZXJlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBhbmQgcHJvcGVydGllcyBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKiBAcGFyYW0gaWRzIElkcyBvZiBwcm9wZXJ0aWVzIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldERlYml0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWRpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9ucy5oYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFJMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFVBQXVCO0lBQ2hFOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLFdBQXdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLFdBQTRDO1FBQy9ELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENB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TUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBVyxFQUFFLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUNsRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUU7WUFDdEQsT0FBTyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFFBQXNCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFXLEVBQUU7WUFDdEQsUUFBUSxRQUFRLEVBQUU7Z0JBQ2hCLEtBQUssWUFBWSxDQUFDLFFBQVE7b0JBQ3hCLE9BQU8sV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLFlBQVksQ0FBQyxJQUFJO29CQUNwQixPQUFPLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEMsS0FBSyxZQUFZLENBQUMsSUFBSTtvQkFDcEIsT0FBTyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xDLDZEQUE2RDtnQkFDN0Q7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSB9IGZyb20gJy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWNhdGVnb3J5LmVudW0nO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uPiB7XG4gIC8qKlxuICAgKiBHZXQgdG90YWwgYW1vdW50IG9mIGFsbCB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5nZXROZXRBbW91bnQoKSwgMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaWZmZXJlbmNlIGJldHdlZW4gYWxsb2NhdGVkIGFtb3VudCBhbmQgdG90YWwgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuICsodGhpcy5hbW91bnQgLSBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNhc2ggcG9zaXRpb25cbiAgICogQ2FzaCBQb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzXG4gICAqIENhc2ggcG9zaXRpb24gaXMgZXF1YWwgdG8gVG90YWwgQW1vdW50IGJlY2F1c2UgaW5jb21lIGlzIHBvc2l0aXZlIGFuZCBleHBlbnNlIGlzIG5lZ2F0aXZlLFxuICAgKi9cbiAgZ2V0IGNhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdW1tYXJ5IG9mIGNsYWltIGFtb3VudHNcbiAgICovXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uYW1vdW50LCAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IGNoYXJ0IGFjY291bnRzIGlkXG4gICAqIEBwYXJhbSBjaGFydEFjY291bnRzSWQgY2hhcnQgYWNjb3VudHMgaWQgZm9yIGZpbHRlcmluZ1xuICAgKi9cbiAgZ2V0QnlDaGFydEFjY291bnRzSWQoY2hhcnRBY2NvdW50c0lkOiBudW1iZXIpOiBUcmFuc2FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkKTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1FeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW50ZXJlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBhbmQgcHJvcGVydGllcyBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKiBAcGFyYW0gaWRzIElkcyBvZiBwcm9wZXJ0aWVzIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldERlYml0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWRpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9ucy5oYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gVmVoaWNsZSBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1ZlaGljbGVUcmFuc2FjdGlvbigpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBmaWx0ZXJlZCBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgc3dpdGNoICh0YW5rVHlwZSkge1xuICAgICAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlBST1BFUlRZOlxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCk7XG4gICAgICAgICAgLy8gVHJhbnNhY3Rpb24gbWF5IGJlIG5vdCByZWxhdGVkIHRvIGFueSB0YW5rIHR5cGUgKHBlcnNvbmFsKVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,88 @@
1
+ import { FinancialYear } from '../models/financial-year/financial-year';
2
+ import { LogbookPeriod } from '../models/logbook/logbook-period';
3
+ import { plainToClass } from 'class-transformer';
4
+ import { Collection } from './collection';
5
+ /**
6
+ * 12 weeks in milliseconds
7
+ * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
8
+ * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
9
+ */
10
+ const LOGBOOK_PERIOD_DURATION = 12 * 7 * 24 * 3600 * 1000;
11
+ export class VehicleLogbookCollection extends Collection {
12
+ /**
13
+ * Check if we can calculate the best period
14
+ */
15
+ isBestPeriodExist() {
16
+ if (this.items.length < 2) {
17
+ return false;
18
+ }
19
+ return LOGBOOK_PERIOD_DURATION < (this.last.date.getTime() - this.first.date.getTime());
20
+ }
21
+ /**
22
+ * Get collection of non-personal logbooks (work-related, sole-related).
23
+ */
24
+ getBusinessLogbooks() {
25
+ return this.create(this.items.filter((logbook) => logbook.isBusiness()));
26
+ }
27
+ /**
28
+ * Logbook Period is the best when it has the biggest amount of work kilometers
29
+ * Best period duration is defined as LOGBOOK_PERIOD_DURATION (12 weeks) by the ATO
30
+ */
31
+ getBestPeriod() {
32
+ if (!this.isBestPeriodExist()) {
33
+ return null;
34
+ }
35
+ let bestPeriod;
36
+ const businessLogbooks = this.getBusinessLogbooks().toArray();
37
+ for (let i = 0; i < businessLogbooks.length; i++) {
38
+ const logbook = businessLogbooks[i];
39
+ // no sense to check next logbooks because we already get the end of the year
40
+ if (bestPeriod && bestPeriod.isEndOfYear()) {
41
+ break;
42
+ }
43
+ const dateRange = this.getPeriodRange(logbook.date);
44
+ // get logbooks included in current logbook period
45
+ const logbooksInRange = this.getByDateRange(logbook.date, new Date(logbook.date.getTime() + LOGBOOK_PERIOD_DURATION));
46
+ const workUsage = logbooksInRange.getWorkUsage();
47
+ // compare with previous best period and overwrite if needs
48
+ if (!bestPeriod || workUsage > bestPeriod.workUsage) {
49
+ bestPeriod = plainToClass(LogbookPeriod, {
50
+ from: dateRange.from,
51
+ to: dateRange.to,
52
+ kilometers: logbooksInRange.getBusinessLogbooks().getKlms(),
53
+ workUsage: workUsage
54
+ });
55
+ }
56
+ }
57
+ return bestPeriod;
58
+ }
59
+ /**
60
+ * Calculate total kilometers traveled
61
+ */
62
+ getKlms() {
63
+ return this.items.reduce((sum, logbook) => sum + logbook.getKlms(), 0);
64
+ }
65
+ /**
66
+ * Calculate work usage (percent of business-related kilometers from total kilometers)
67
+ */
68
+ getWorkUsage() {
69
+ const totalKilometers = this.getKlms();
70
+ const workKilometers = this.getBusinessLogbooks().getKlms();
71
+ return Math.round(workKilometers / totalKilometers * 100);
72
+ }
73
+ /**
74
+ * Get LOGBOOK_PERIOD_DURATION date range from passed start date
75
+ */
76
+ getPeriodRange(from) {
77
+ // set end date after LOGBOOK_PERIOD_DURATION after start date
78
+ let to = new Date(from.getTime() + LOGBOOK_PERIOD_DURATION);
79
+ const financialYear = new FinancialYear();
80
+ // set as period last LOGBOOK_PERIOD_DURATION of current year if period end date after end of current year
81
+ if (to > financialYear.endDate) {
82
+ to = financialYear.endDate;
83
+ from = new Date(to.getTime() - LOGBOOK_PERIOD_DURATION);
84
+ }
85
+ return { from, to };
86
+ }
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvdmVoaWNsZS1sb2dib29rLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQzs7OztHQUlHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBRTFELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxVQUEwQjtJQUN0RTs7T0FFRztJQUNILGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLHVCQUF1QixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQXVCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUNyRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksVUFBeUIsQ0FBQztRQUU5QixNQUFNLGdCQUFnQixHQUFxQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVoRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRyxFQUFFO1lBQ2pELE1BQU0sT0FBTyxHQUFtQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwRCw2RUFBNkU7WUFDN0UsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUMxQyxNQUFNO2FBQ1A7WUFFRCxNQUFNLFNBQVMsR0FBMkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFNUUsa0RBQWtEO1lBQ2xELE1BQU0sZUFBZSxHQUE2QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7WUFFaEosTUFBTSxTQUFTLEdBQVcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXpELDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsVUFBVSxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUNuRCxVQUFVLEdBQUcsWUFBWSxDQUFDLGFBQWEsRUFBRTtvQkFDdkMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO29CQUNwQixFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUU7b0JBQ2hCLFVBQVUsRUFBRSxlQUFlLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLEVBQUU7b0JBQzNELFNBQVMsRUFBRSxTQUFTO2lCQUNyQixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsT0FBdUIsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsTUFBTSxlQUFlLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFXLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsZUFBZSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxJQUFVO1FBQy9CLDhEQUE4RDtRQUM5RCxJQUFJLEVBQUUsR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztRQUVsRSxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBRTFDLDBHQUEwRztRQUMxRyxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFO1lBQzlCLEVBQUUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDO1lBQzNCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztTQUN6RDtRQUVELE9BQU8sRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVoaWNsZUxvZ2Jvb2sgfSBmcm9tICcuLi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWxvZ2Jvb2snO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kIH0gZnJvbSAnLi4vbW9kZWxzL2xvZ2Jvb2svbG9nYm9vay1wZXJpb2QnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5cbi8qKlxuICogMTIgd2Vla3MgaW4gbWlsbGlzZWNvbmRzXG4gKiBcIlRvIHdvcmsgb3V0IHlvdXIgYnVzaW5lc3MtdXNlIHBlcmNlbnRhZ2UsIHlvdSBuZWVkIHRvIGtlZXAgYSBsb2dib29rIGFuZCB0aGUgb2RvbWV0ZXIgcmVhZGluZ3MgZm9yIHRoZSBsb2dib29rIHBlcmlvZC5cbiAqIFRoZSBsb2dib29rIHBlcmlvZCBpcyBhIG1pbmltdW0gY29udGludW91cyBwZXJpb2Qgb2YgMTIgd2Vla3MuXCIgwqkgTmljb2xlIEtlbGx5XG4gKi9cbmNvbnN0IExPR0JPT0tfUEVSSU9EX0RVUkFUSU9OID0gMTIgKiA3ICogMjQgKiAzNjAwICogMTAwMDtcblxuZXhwb3J0IGNsYXNzIFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiBleHRlbmRzIENvbGxlY3Rpb248VmVoaWNsZUxvZ2Jvb2s+IHtcbiAgLyoqXG4gICAqIENoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGJlc3QgcGVyaW9kXG4gICAqL1xuICBpc0Jlc3RQZXJpb2RFeGlzdCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGggPCAyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIExPR0JPT0tfUEVSSU9EX0RVUkFUSU9OIDwgKHRoaXMubGFzdC5kYXRlLmdldFRpbWUoKSAtIHRoaXMuZmlyc3QuZGF0ZS5nZXRUaW1lKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIG5vbi1wZXJzb25hbCBsb2dib29rcyAod29yay1yZWxhdGVkLCBzb2xlLXJlbGF0ZWQpLlxuICAgKi9cbiAgZ2V0QnVzaW5lc3NMb2dib29rcygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigobG9nYm9vazogVmVoaWNsZUxvZ2Jvb2spID0+IGxvZ2Jvb2suaXNCdXNpbmVzcygpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTG9nYm9vayBQZXJpb2QgaXMgdGhlIGJlc3Qgd2hlbiBpdCBoYXMgdGhlIGJpZ2dlc3QgYW1vdW50IG9mIHdvcmsga2lsb21ldGVyc1xuICAgKiBCZXN0IHBlcmlvZCBkdXJhdGlvbiBpcyBkZWZpbmVkIGFzIExPR0JPT0tfUEVSSU9EX0RVUkFUSU9OICgxMiB3ZWVrcykgYnkgdGhlIEFUT1xuICAgKi9cbiAgZ2V0QmVzdFBlcmlvZCgpOiBMb2dib29rUGVyaW9kIHtcbiAgICBpZiAoIXRoaXMuaXNCZXN0UGVyaW9kRXhpc3QoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2Q7XG5cbiAgICBjb25zdCBidXNpbmVzc0xvZ2Jvb2tzOiBWZWhpY2xlTG9nYm9va1tdID0gdGhpcy5nZXRCdXNpbmVzc0xvZ2Jvb2tzKCkudG9BcnJheSgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBidXNpbmVzc0xvZ2Jvb2tzLmxlbmd0aDsgaSArKykge1xuICAgICAgY29uc3QgbG9nYm9vazogVmVoaWNsZUxvZ2Jvb2sgPSBidXNpbmVzc0xvZ2Jvb2tzW2ldO1xuXG4gICAgICAvLyBubyBzZW5zZSB0byBjaGVjayBuZXh0IGxvZ2Jvb2tzIGJlY2F1c2Ugd2UgYWxyZWFkeSBnZXQgdGhlIGVuZCBvZiB0aGUgeWVhclxuICAgICAgaWYgKGJlc3RQZXJpb2QgJiYgYmVzdFBlcmlvZC5pc0VuZE9mWWVhcigpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkYXRlUmFuZ2U6IHtmcm9tOiBEYXRlLCB0bzogRGF0ZX0gPSB0aGlzLmdldFBlcmlvZFJhbmdlKGxvZ2Jvb2suZGF0ZSk7XG5cbiAgICAgIC8vIGdldCBsb2dib29rcyBpbmNsdWRlZCBpbiBjdXJyZW50IGxvZ2Jvb2sgcGVyaW9kXG4gICAgICBjb25zdCBsb2dib29rc0luUmFuZ2U6IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbiA9IHRoaXMuZ2V0QnlEYXRlUmFuZ2UobG9nYm9vay5kYXRlLCBuZXcgRGF0ZShsb2dib29rLmRhdGUuZ2V0VGltZSgpICsgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04pKTtcblxuICAgICAgY29uc3Qgd29ya1VzYWdlOiBudW1iZXIgPSBsb2dib29rc0luUmFuZ2UuZ2V0V29ya1VzYWdlKCk7XG5cbiAgICAgIC8vIGNvbXBhcmUgd2l0aCBwcmV2aW91cyBiZXN0IHBlcmlvZCBhbmQgb3ZlcndyaXRlIGlmIG5lZWRzXG4gICAgICBpZiAoIWJlc3RQZXJpb2QgfHwgd29ya1VzYWdlID4gYmVzdFBlcmlvZC53b3JrVXNhZ2UpIHtcbiAgICAgICAgYmVzdFBlcmlvZCA9IHBsYWluVG9DbGFzcyhMb2dib29rUGVyaW9kLCB7XG4gICAgICAgICAgZnJvbTogZGF0ZVJhbmdlLmZyb20sXG4gICAgICAgICAgdG86IGRhdGVSYW5nZS50byxcbiAgICAgICAgICBraWxvbWV0ZXJzOiBsb2dib29rc0luUmFuZ2UuZ2V0QnVzaW5lc3NMb2dib29rcygpLmdldEtsbXMoKSxcbiAgICAgICAgICB3b3JrVXNhZ2U6IHdvcmtVc2FnZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYmVzdFBlcmlvZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdG90YWwga2lsb21ldGVycyB0cmF2ZWxlZFxuICAgKi9cbiAgZ2V0S2xtcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rKSA9PiBzdW0gKyBsb2dib29rLmdldEtsbXMoKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHdvcmsgdXNhZ2UgKHBlcmNlbnQgb2YgYnVzaW5lc3MtcmVsYXRlZCBraWxvbWV0ZXJzIGZyb20gdG90YWwga2lsb21ldGVycylcbiAgICovXG4gIGdldFdvcmtVc2FnZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRvdGFsS2lsb21ldGVyczogbnVtYmVyID0gdGhpcy5nZXRLbG1zKCk7XG4gICAgY29uc3Qgd29ya0tpbG9tZXRlcnM6IG51bWJlciA9IHRoaXMuZ2V0QnVzaW5lc3NMb2dib29rcygpLmdldEtsbXMoKTtcblxuICAgIHJldHVybiBNYXRoLnJvdW5kKHdvcmtLaWxvbWV0ZXJzIC8gdG90YWxLaWxvbWV0ZXJzICogMTAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04gZGF0ZSByYW5nZSBmcm9tIHBhc3NlZCBzdGFydCBkYXRlXG4gICAqL1xuICBwcml2YXRlIGdldFBlcmlvZFJhbmdlKGZyb206IERhdGUpOiB7ZnJvbTogRGF0ZSwgdG86IERhdGV9IHtcbiAgICAvLyBzZXQgZW5kIGRhdGUgYWZ0ZXIgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04gYWZ0ZXIgc3RhcnQgZGF0ZVxuICAgIGxldCB0bzogRGF0ZSA9IG5ldyBEYXRlKGZyb20uZ2V0VGltZSgpICsgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04pO1xuXG4gICAgY29uc3QgZmluYW5jaWFsWWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKCk7XG5cbiAgICAvLyBzZXQgYXMgcGVyaW9kIGxhc3QgTE9HQk9PS19QRVJJT0RfRFVSQVRJT04gb2YgY3VycmVudCB5ZWFyIGlmIHBlcmlvZCBlbmQgZGF0ZSBhZnRlciBlbmQgb2YgY3VycmVudCB5ZWFyXG4gICAgaWYgKHRvID4gZmluYW5jaWFsWWVhci5lbmREYXRlKSB7XG4gICAgICB0byA9IGZpbmFuY2lhbFllYXIuZW5kRGF0ZTtcbiAgICAgIGZyb20gPSBuZXcgRGF0ZSh0by5nZXRUaW1lKCkgLSBMT0dCT09LX1BFUklPRF9EVVJBVElPTik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtmcm9tLCB0b307XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { Collection } from './collection';
2
+ import { VehicleLogbookCollection } from './vehicle-logbook.collection';
3
+ import flatten from 'lodash/flatten';
4
+ export class VehicleCollection extends Collection {
5
+ getLogbooks() {
6
+ return new VehicleLogbookCollection(flatten(this.items.map((vehicle) => vehicle.logbook)));
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3ZlaGljbGUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFtQjtJQUN4RCxXQUFXO1FBQ1QsT0FBTyxJQUFJLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vY29sbGVjdGlvbic7XG5pbXBvcnQgeyBWZWhpY2xlIH0gZnJvbSAnLi4vbW9kZWxzL2xvZ2Jvb2svdmVoaWNsZSc7XG5pbXBvcnQgeyBWZWhpY2xlTG9nYm9va0NvbGxlY3Rpb24gfSBmcm9tICcuL3ZlaGljbGUtbG9nYm9vay5jb2xsZWN0aW9uJztcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2xvZGFzaC9mbGF0dGVuJztcblxuZXhwb3J0IGNsYXNzIFZlaGljbGVDb2xsZWN0aW9uIGV4dGVuZHMgQ29sbGVjdGlvbjxWZWhpY2xlPntcbiAgZ2V0TG9nYm9va3MoKTogVmVoaWNsZUxvZ2Jvb2tDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFZlaGljbGVMb2dib29rQ29sbGVjdGlvbihmbGF0dGVuKHRoaXMuaXRlbXMubWFwKCh2ZWhpY2xlOiBWZWhpY2xlKSA9PiB2ZWhpY2xlLmxvZ2Jvb2spKSk7XG4gIH1cbn1cbiJdfQ==
@@ -2,5 +2,7 @@ export var ChartAccountsHeadingVehicleListEnum;
2
2
  (function (ChartAccountsHeadingVehicleListEnum) {
3
3
  ChartAccountsHeadingVehicleListEnum[ChartAccountsHeadingVehicleListEnum["WORK_RELATED_CAR_EXPENSES"] = 8] = "WORK_RELATED_CAR_EXPENSES";
4
4
  ChartAccountsHeadingVehicleListEnum[ChartAccountsHeadingVehicleListEnum["DEPRECIATION_VEHICLES"] = 9] = "DEPRECIATION_VEHICLES";
5
+ ChartAccountsHeadingVehicleListEnum[ChartAccountsHeadingVehicleListEnum["KLMS"] = 60] = "KLMS";
6
+ ChartAccountsHeadingVehicleListEnum[ChartAccountsHeadingVehicleListEnum["FUEL_OIL"] = 61] = "FUEL_OIL";
5
7
  })(ChartAccountsHeadingVehicleListEnum || (ChartAccountsHeadingVehicleListEnum = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtaGVhZGluZy12ZWhpY2xlLWxpc3QuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXZlaGljbGUtbGlzdC5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG1DQUdYO0FBSEQsV0FBWSxtQ0FBbUM7SUFDOUMsdUlBQTZCLENBQUE7SUFDN0IsK0hBQXlCLENBQUE7QUFDMUIsQ0FBQyxFQUhXLG1DQUFtQyxLQUFuQyxtQ0FBbUMsUUFHOUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGFydEFjY291bnRzSGVhZGluZ1ZlaGljbGVMaXN0RW51bSB7XG5cdFdPUktfUkVMQVRFRF9DQVJfRVhQRU5TRVMgPSA4LFxuXHRERVBSRUNJQVRJT05fVkVISUNMRVMgPSA5LFxufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtaGVhZGluZy12ZWhpY2xlLWxpc3QuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXZlaGljbGUtbGlzdC5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG1DQUtYO0FBTEQsV0FBWSxtQ0FBbUM7SUFDN0MsdUlBQTZCLENBQUE7SUFDN0IsK0hBQXlCLENBQUE7SUFDekIsOEZBQVMsQ0FBQTtJQUNULHNHQUFhLENBQUE7QUFDZixDQUFDLEVBTFcsbUNBQW1DLEtBQW5DLG1DQUFtQyxRQUs5QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENoYXJ0QWNjb3VudHNIZWFkaW5nVmVoaWNsZUxpc3RFbnVtIHtcbiAgV09SS19SRUxBVEVEX0NBUl9FWFBFTlNFUyA9IDgsXG4gIERFUFJFQ0lBVElPTl9WRUhJQ0xFUyA9IDksXG4gIEtMTVMgPSA2MCxcbiAgRlVFTF9PSUwgPSA2MSxcbn1cbiJdfQ==
@@ -7,15 +7,16 @@ export var ChartAccountsListEnum;
7
7
  ChartAccountsListEnum[ChartAccountsListEnum["BUILDING_AT_COST"] = 304] = "BUILDING_AT_COST";
8
8
  ChartAccountsListEnum[ChartAccountsListEnum["MANAGEMENT_FEES_PLATFORM_FEES"] = 656] = "MANAGEMENT_FEES_PLATFORM_FEES";
9
9
  ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED_FOR_WORK"] = 24] = "KLMS_TRAVELLED_FOR_WORK";
10
+ ChartAccountsListEnum[ChartAccountsListEnum["KLMS_TRAVELLED"] = 683] = "KLMS_TRAVELLED";
10
11
  ChartAccountsListEnum[ChartAccountsListEnum["DIRECTOR_FEES"] = 6] = "DIRECTOR_FEES";
11
12
  ChartAccountsListEnum[ChartAccountsListEnum["SALARY_OR_WAGES"] = 2] = "SALARY_OR_WAGES";
12
13
  ChartAccountsListEnum[ChartAccountsListEnum["VEHICLES"] = 25] = "VEHICLES";
13
14
  ChartAccountsListEnum[ChartAccountsListEnum["COMMERCIAL_VEHICLES"] = 26] = "COMMERCIAL_VEHICLES";
15
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_INTEREST"] = 37] = "VEHICLE_LOAN_INTEREST";
16
+ ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
14
17
  ChartAccountsListEnum[ChartAccountsListEnum["TAX_INSTALMENTS"] = 662] = "TAX_INSTALMENTS";
15
18
  ChartAccountsListEnum[ChartAccountsListEnum["INTEREST_EARNED"] = 22] = "INTEREST_EARNED";
16
19
  ChartAccountsListEnum[ChartAccountsListEnum["TRUST_INCOME"] = 567] = "TRUST_INCOME";
17
20
  ChartAccountsListEnum[ChartAccountsListEnum["TAX_OFFSETS_N_R_A_S"] = 571] = "TAX_OFFSETS_N_R_A_S";
18
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_INTEREST"] = 37] = "VEHICLE_LOAN_INTEREST";
19
- ChartAccountsListEnum[ChartAccountsListEnum["VEHICLE_LOAN_PRINCIPAL"] = 38] = "VEHICLE_LOAN_PRINCIPAL";
20
21
  })(ChartAccountsListEnum || (ChartAccountsListEnum = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtbGlzdC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWxpc3QuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxxQkFrQlg7QUFsQkQsV0FBWSxxQkFBcUI7SUFDaEMsMkZBQXNCLENBQUE7SUFDdEIsK0ZBQXdCLENBQUE7SUFDeEIsNkVBQWUsQ0FBQTtJQUNmLDJFQUFjLENBQUE7SUFDZCwyRkFBc0IsQ0FBQTtJQUN0QixxSEFBbUMsQ0FBQTtJQUNuQyx3R0FBNEIsQ0FBQTtJQUM1QixtRkFBaUIsQ0FBQTtJQUNqQix1RkFBbUIsQ0FBQTtJQUNuQiwwRUFBYSxDQUFBO0lBQ2IsZ0dBQXdCLENBQUE7SUFDeEIseUZBQXFCLENBQUE7SUFDckIsd0ZBQW9CLENBQUE7SUFDcEIsbUZBQWtCLENBQUE7SUFDbEIsaUdBQXlCLENBQUE7SUFDeEIsb0dBQTBCLENBQUE7SUFDMUIsc0dBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQWxCVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBa0JoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENoYXJ0QWNjb3VudHNMaXN0RW51bSB7XG5cdElOVEVSRVNUX09OX0xPQU4gPSAzMDIsXG5cdEJPUlJPV0lOR19FWFBFTlNFUyA9IDMxNSxcblx0RElWSURFTkRTID0gNTQyLFxuXHRUUkFOU0ZFUiA9IDYxNSxcblx0QlVJTERJTkdfQVRfQ09TVCA9IDMwNCxcblx0TUFOQUdFTUVOVF9GRUVTX1BMQVRGT1JNX0ZFRVMgPSA2NTYsXG5cdEtMTVNfVFJBVkVMTEVEX0ZPUl9XT1JLID0gMjQsXG5cdERJUkVDVE9SX0ZFRVMgPSA2LFxuXHRTQUxBUllfT1JfV0FHRVMgPSAyLFxuXHRWRUhJQ0xFUyA9IDI1LFxuXHRDT01NRVJDSUFMX1ZFSElDTEVTID0gMjYsXG5cdFRBWF9JTlNUQUxNRU5UUyA9IDY2Mixcblx0SU5URVJFU1RfRUFSTkVEID0gMjIsXG5cdFRSVVNUX0lOQ09NRSA9IDU2Nyxcblx0VEFYX09GRlNFVFNfTl9SX0FfUyA9IDU3MSxcbiAgVkVISUNMRV9MT0FOX0lOVEVSRVNUID0gMzcsXG4gIFZFSElDTEVfTE9BTl9QUklOQ0lQQUwgPSAzOCxcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWNjb3VudHMtbGlzdC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWxpc3QuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxxQkFtQlg7QUFuQkQsV0FBWSxxQkFBcUI7SUFDL0IsMkZBQXNCLENBQUE7SUFDdEIsK0ZBQXdCLENBQUE7SUFDeEIsNkVBQWUsQ0FBQTtJQUNmLDJFQUFjLENBQUE7SUFDZCwyRkFBc0IsQ0FBQTtJQUN0QixxSEFBbUMsQ0FBQTtJQUNuQyx3R0FBNEIsQ0FBQTtJQUM1Qix1RkFBb0IsQ0FBQTtJQUNwQixtRkFBaUIsQ0FBQTtJQUNqQix1RkFBbUIsQ0FBQTtJQUNuQiwwRUFBYSxDQUFBO0lBQ2IsZ0dBQXdCLENBQUE7SUFDeEIsb0dBQTBCLENBQUE7SUFDMUIsc0dBQTJCLENBQUE7SUFDM0IseUZBQXFCLENBQUE7SUFDckIsd0ZBQW9CLENBQUE7SUFDcEIsbUZBQWtCLENBQUE7SUFDbEIsaUdBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQW5CVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBbUJoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENoYXJ0QWNjb3VudHNMaXN0RW51bSB7XG4gIElOVEVSRVNUX09OX0xPQU4gPSAzMDIsXG4gIEJPUlJPV0lOR19FWFBFTlNFUyA9IDMxNSxcbiAgRElWSURFTkRTID0gNTQyLFxuICBUUkFOU0ZFUiA9IDYxNSxcbiAgQlVJTERJTkdfQVRfQ09TVCA9IDMwNCxcbiAgTUFOQUdFTUVOVF9GRUVTX1BMQVRGT1JNX0ZFRVMgPSA2NTYsXG4gIEtMTVNfVFJBVkVMTEVEX0ZPUl9XT1JLID0gMjQsXG4gIEtMTVNfVFJBVkVMTEVEID0gNjgzLFxuICBESVJFQ1RPUl9GRUVTID0gNixcbiAgU0FMQVJZX09SX1dBR0VTID0gMixcbiAgVkVISUNMRVMgPSAyNSxcbiAgQ09NTUVSQ0lBTF9WRUhJQ0xFUyA9IDI2LFxuICBWRUhJQ0xFX0xPQU5fSU5URVJFU1QgPSAzNyxcbiAgVkVISUNMRV9MT0FOX1BSSU5DSVBBTCA9IDM4LFxuICBUQVhfSU5TVEFMTUVOVFMgPSA2NjIsXG4gIElOVEVSRVNUX0VBUk5FRCA9IDIyLFxuICBUUlVTVF9JTkNPTUUgPSA1NjcsXG4gIFRBWF9PRkZTRVRTX05fUl9BX1MgPSA1NzEsXG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export var PropertyCategoryListEnum;
2
2
  (function (PropertyCategoryListEnum) {
3
3
  PropertyCategoryListEnum[PropertyCategoryListEnum["OWNER_OCCUPIED"] = 3] = "OWNER_OCCUPIED";
4
+ PropertyCategoryListEnum[PropertyCategoryListEnum["VACANT_LAND"] = 5] = "VACANT_LAND";
4
5
  })(PropertyCategoryListEnum || (PropertyCategoryListEnum = {}));
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LWxpc3QuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSx3QkFFWDtBQUZELFdBQVksd0JBQXdCO0lBQ2xDLDJGQUFrQixDQUFBO0FBQ3BCLENBQUMsRUFGVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBRW5DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIHtcbiAgT1dORVJfT0NDVVBJRUQgPSAzXG59XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LWxpc3QuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSx3QkFHWDtBQUhELFdBQVksd0JBQXdCO0lBQ25DLDJGQUFrQixDQUFBO0lBQ2xCLHFGQUFlLENBQUE7QUFDaEIsQ0FBQyxFQUhXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFHbkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0ge1xuXHRPV05FUl9PQ0NVUElFRCA9IDMsXG5cdFZBQ0FOVF9MQU5EID0gNSxcbn0iXX0=