taxtank-core 0.28.118 → 0.29.1

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 (253) hide show
  1. package/bundles/taxtank-core.umd.js +8560 -8748
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/bank-account.collection.js +5 -1
  4. package/esm2015/lib/collections/chart-accounts.collection.js +13 -2
  5. package/esm2015/lib/collections/chat/chat.collection.js +26 -0
  6. package/esm2015/lib/collections/chat/index.js +4 -0
  7. package/esm2015/lib/collections/chat/message-document.collection.js +13 -0
  8. package/esm2015/lib/collections/chat/message.collection.js +33 -0
  9. package/esm2015/lib/collections/collection.js +5 -1
  10. package/esm2015/lib/collections/index.js +25 -3
  11. package/esm2015/lib/collections/loan/index.js +3 -0
  12. package/esm2015/lib/collections/loan/loan.collection.js +7 -1
  13. package/esm2015/lib/collections/property/index.js +2 -1
  14. package/esm2015/lib/collections/property/property-share.collection.js +23 -0
  15. package/esm2015/lib/collections/report/index.js +7 -0
  16. package/esm2015/lib/collections/sole/index.js +2 -1
  17. package/esm2015/lib/collections/subscription/index.js +2 -0
  18. package/esm2015/lib/collections/tax-summary/index.js +3 -0
  19. package/esm2015/lib/collections/user-event-type-collection.js +7 -0
  20. package/esm2015/lib/db/Models/bank/bank-account.js +3 -3
  21. package/esm2015/lib/db/Models/bank/bank-connection.js +3 -3
  22. package/esm2015/lib/db/Models/bank/bank-transaction-rule.js +4 -0
  23. package/esm2015/lib/db/Models/bank/bank-transaction.js +3 -3
  24. package/esm2015/lib/db/Models/document/document-base.js +4 -0
  25. package/esm2015/lib/db/Models/firm/firm-invite.js +4 -0
  26. package/esm2015/lib/db/Models/firm/message.js +3 -3
  27. package/esm2015/lib/db/Models/index.js +102 -0
  28. package/esm2015/lib/db/Models/loan/loan-payout.js +3 -3
  29. package/esm2015/lib/db/Models/loan/loan.js +3 -3
  30. package/esm2015/lib/db/Models/property/property-category-movement.js +3 -3
  31. package/esm2015/lib/db/Models/property/property-category.js +3 -3
  32. package/esm2015/lib/db/Models/property/property-sale/property-sale.js +3 -3
  33. package/esm2015/lib/db/Models/property/property-share.js +3 -3
  34. package/esm2015/lib/db/Models/spare/spare-document-category.js +4 -0
  35. package/esm2015/lib/db/Models/spare/spare-document.js +4 -0
  36. package/esm2015/lib/db/Models/tax-calculation.js +4 -0
  37. package/esm2015/lib/db/Models/transaction/transaction-base.js +3 -3
  38. package/esm2015/lib/interceptors/basiq-client-id.interceptor.js +3 -3
  39. package/esm2015/lib/interceptors/basiq-token.interceptor.js +5 -5
  40. package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
  41. package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
  42. package/esm2015/lib/interceptors/interceptors.module.js +4 -4
  43. package/esm2015/lib/interceptors/jwt-interceptor.js +3 -3
  44. package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
  45. package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
  46. package/esm2015/lib/interfaces/index.js +18 -0
  47. package/esm2015/lib/models/bank/basiq/basiq-token.js +4 -2
  48. package/esm2015/lib/models/borrowing-expense/index.js +3 -0
  49. package/esm2015/lib/models/chart-accounts/index.js +2 -2
  50. package/esm2015/lib/models/chat/index.js +5 -0
  51. package/esm2015/lib/models/depreciation/depreciation-lvp-rate.enum.js +9 -0
  52. package/esm2015/lib/models/depreciation/index.js +10 -0
  53. package/esm2015/lib/models/dictionary/index.js +2 -0
  54. package/esm2015/lib/models/event/app-event-type.enum.js +68 -70
  55. package/esm2015/lib/models/event/index.js +3 -0
  56. package/esm2015/lib/models/financial-year/index.js +5 -0
  57. package/esm2015/lib/models/index.js +12 -2
  58. package/esm2015/lib/models/loan/index.js +5 -0
  59. package/esm2015/lib/models/notification/index.js +2 -0
  60. package/esm2015/lib/models/property/index.js +18 -0
  61. package/esm2015/lib/models/property/property.js +1 -3
  62. package/esm2015/lib/models/user/index.js +10 -0
  63. package/esm2015/lib/services/account-setup/account-setup.service.js +6 -7
  64. package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +3 -3
  65. package/esm2015/lib/services/asset/assets.service.js +3 -3
  66. package/esm2015/lib/services/auth/auth.service.js +3 -3
  67. package/esm2015/lib/services/auth/jwt.service.js +3 -3
  68. package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
  69. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
  70. package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
  71. package/esm2015/lib/services/event/sse.service.js +3 -3
  72. package/esm2015/lib/services/export/export-formatter.service.js +3 -3
  73. package/esm2015/lib/services/header-title/header-title.service.js +3 -3
  74. package/esm2015/lib/services/http/address/address.service.js +3 -3
  75. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +16 -71
  76. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +42 -42
  77. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +17 -33
  78. package/esm2015/lib/services/http/bank/bank.service.js +15 -10
  79. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +18 -20
  80. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +15 -27
  81. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +10 -21
  82. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +20 -64
  83. package/esm2015/lib/services/http/chat/chat.service.js +24 -30
  84. package/esm2015/lib/services/http/chat/index.js +3 -3
  85. package/esm2015/lib/services/http/chat/message-document.service.js +78 -0
  86. package/esm2015/lib/services/http/chat/message.service.js +68 -0
  87. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
  88. package/esm2015/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.js +3 -3
  89. package/esm2015/lib/services/http/depreciation/depreciation.service.js +29 -57
  90. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
  91. package/esm2015/lib/services/http/document/document.service.js +3 -3
  92. package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
  93. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
  94. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
  95. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
  96. package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
  97. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
  98. package/esm2015/lib/services/http/firm/firm.service.js +3 -3
  99. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
  100. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
  101. package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
  102. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
  103. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
  104. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +7 -4
  105. package/esm2015/lib/services/http/loan/index.js +1 -1
  106. package/esm2015/lib/services/http/loan/loan.service.js +21 -69
  107. package/esm2015/lib/services/http/property/property-category/property-category.service.js +10 -7
  108. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +10 -34
  109. package/esm2015/lib/services/http/property/property-document/property-document.service.js +11 -21
  110. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +10 -27
  111. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +11 -8
  112. package/esm2015/lib/services/http/property/property-share/property-share.service.js +15 -89
  113. package/esm2015/lib/services/http/property/property.service.js +16 -34
  114. package/esm2015/lib/services/http/receipt/receipt.service.js +3 -3
  115. package/esm2015/lib/services/http/rest/rest-old.service.js +3 -3
  116. package/esm2015/lib/services/http/rest/rest.service.js +17 -10
  117. package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
  118. package/esm2015/lib/services/http/sole/bas-report/bas-report.service.js +3 -3
  119. package/esm2015/lib/services/http/sole/sole-business/sole-business.service.js +3 -3
  120. package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +3 -3
  121. package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.js +3 -3
  122. package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss.service.js +3 -3
  123. package/esm2015/lib/services/http/sole/sole-contact/sole-contact.service.js +3 -3
  124. package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +3 -3
  125. package/esm2015/lib/services/http/sole/sole-details/sole-details.service.js +3 -3
  126. package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +3 -3
  127. package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +3 -3
  128. package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
  129. package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
  130. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
  131. package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
  132. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
  133. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +6 -7
  134. package/esm2015/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.js +3 -3
  135. package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
  136. package/esm2015/lib/services/http/tutorial-video/tutorial-video.service.js +3 -3
  137. package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
  138. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
  139. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
  140. package/esm2015/lib/services/http/user/user.service.js +3 -3
  141. package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +3 -3
  142. package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +3 -3
  143. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
  144. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
  145. package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
  146. package/esm2015/lib/services/intercom/intercom.service.js +3 -3
  147. package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
  148. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
  149. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
  150. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
  151. package/esm2015/lib/services/preloader/preloader.service.js +3 -3
  152. package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
  153. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
  154. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
  155. package/esm2015/lib/services/report/property/property-transaction-report.service.js +7 -9
  156. package/esm2015/lib/services/toast/toast.service.js +3 -3
  157. package/esm2015/lib/services/transaction/transaction-calculation.service.js +3 -3
  158. package/esm2015/lib/services/user/user-switcher.service.js +3 -3
  159. package/esm2015/lib/services/vehicle/logbook-best-period.service.js +3 -3
  160. package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
  161. package/esm2015/lib/tt-core.module.js +4 -4
  162. package/esm2015/public-api.js +1 -85
  163. package/fesm2015/taxtank-core.js +7002 -7248
  164. package/fesm2015/taxtank-core.js.map +1 -1
  165. package/lib/collections/bank-account.collection.d.ts +1 -0
  166. package/lib/collections/chart-accounts.collection.d.ts +1 -0
  167. package/lib/collections/{chat.collection.d.ts → chat/chat.collection.d.ts} +2 -3
  168. package/lib/collections/chat/index.d.ts +3 -0
  169. package/lib/collections/{message-document.collection.d.ts → chat/message-document.collection.d.ts} +2 -2
  170. package/lib/collections/{message.collection.d.ts → chat/message.collection.d.ts} +2 -3
  171. package/lib/collections/collection.d.ts +1 -0
  172. package/lib/collections/index.d.ts +23 -2
  173. package/lib/collections/loan/index.d.ts +2 -0
  174. package/lib/collections/loan/loan.collection.d.ts +4 -0
  175. package/lib/collections/property/index.d.ts +1 -0
  176. package/lib/collections/property/property-share.collection.d.ts +16 -0
  177. package/lib/collections/report/index.d.ts +6 -0
  178. package/lib/collections/sole/index.d.ts +1 -0
  179. package/lib/collections/subscription/index.d.ts +1 -0
  180. package/lib/collections/tax-summary/index.d.ts +2 -0
  181. package/lib/collections/user-event-type-collection.d.ts +7 -0
  182. package/lib/db/Models/bank/bank-account.d.ts +2 -2
  183. package/lib/db/Models/bank/bank-connection.d.ts +2 -2
  184. package/lib/db/Models/bank/bank-transaction-rule.d.ts +26 -0
  185. package/lib/db/Models/bank/bank-transaction.d.ts +2 -2
  186. package/lib/db/Models/document/document-base.d.ts +11 -0
  187. package/lib/db/Models/firm/firm-invite.d.ts +15 -0
  188. package/lib/db/Models/firm/message.d.ts +2 -2
  189. package/lib/db/Models/index.d.ts +101 -0
  190. package/lib/db/Models/loan/loan-payout.d.ts +2 -2
  191. package/lib/db/Models/loan/loan.d.ts +2 -2
  192. package/lib/db/Models/property/property-category-movement.d.ts +2 -2
  193. package/lib/db/Models/property/property-category.d.ts +2 -2
  194. package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -2
  195. package/lib/db/Models/property/property-share.d.ts +2 -2
  196. package/lib/db/Models/spare/spare-document-category.d.ts +7 -0
  197. package/lib/db/Models/spare/spare-document.d.ts +16 -0
  198. package/lib/db/Models/tax-calculation.d.ts +19 -0
  199. package/lib/db/Models/transaction/transaction-base.d.ts +2 -2
  200. package/lib/interfaces/index.d.ts +17 -0
  201. package/lib/models/bank/basiq/basiq-token.d.ts +2 -1
  202. package/lib/models/borrowing-expense/index.d.ts +2 -0
  203. package/lib/models/chart-accounts/index.d.ts +1 -1
  204. package/lib/models/chat/index.d.ts +4 -0
  205. package/lib/models/depreciation/depreciation-lvp-rate.enum.d.ts +7 -0
  206. package/lib/models/depreciation/index.d.ts +9 -0
  207. package/lib/models/dictionary/index.d.ts +1 -0
  208. package/lib/models/event/app-event-type.enum.d.ts +67 -69
  209. package/lib/models/event/index.d.ts +2 -0
  210. package/lib/models/financial-year/index.d.ts +4 -0
  211. package/lib/models/index.d.ts +11 -1
  212. package/lib/models/loan/index.d.ts +4 -0
  213. package/lib/models/notification/index.d.ts +1 -0
  214. package/lib/models/property/index.d.ts +17 -0
  215. package/lib/models/property/property.d.ts +0 -2
  216. package/lib/models/user/index.d.ts +9 -0
  217. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +10 -25
  218. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +21 -8
  219. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +10 -13
  220. package/lib/services/http/bank/bank.service.d.ts +10 -7
  221. package/lib/services/http/bank/basiq/basiq-token.service.d.ts +10 -9
  222. package/lib/services/http/bank/basiq/basiq.service.d.ts +12 -15
  223. package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +8 -10
  224. package/lib/services/http/chart-accounts/chart-accounts.service.d.ts +11 -24
  225. package/lib/services/http/chat/chat.service.d.ts +12 -11
  226. package/lib/services/http/chat/index.d.ts +2 -2
  227. package/lib/services/http/chat/message-document.service.d.ts +35 -0
  228. package/lib/services/http/chat/message.service.d.ts +38 -0
  229. package/lib/services/http/depreciation/depreciation.service.d.ts +12 -23
  230. package/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts +3 -0
  231. package/lib/services/http/loan/loan.service.d.ts +16 -29
  232. package/lib/services/http/property/property-category/property-category.service.d.ts +8 -5
  233. package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +8 -10
  234. package/lib/services/http/property/property-document/property-document.service.d.ts +9 -11
  235. package/lib/services/http/property/property-sale/property-sale.service.d.ts +8 -14
  236. package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts +9 -6
  237. package/lib/services/http/property/property-share/property-share.service.d.ts +10 -22
  238. package/lib/services/http/property/property.service.d.ts +9 -9
  239. package/lib/services/http/rest/rest.service.d.ts +7 -4
  240. package/lib/services/report/property/property-transaction-report.service.d.ts +2 -3
  241. package/package.json +1 -1
  242. package/public-api.d.ts +0 -84
  243. package/esm2015/lib/collections/chat.collection.js +0 -26
  244. package/esm2015/lib/collections/message-document.collection.js +0 -13
  245. package/esm2015/lib/collections/message.collection.js +0 -33
  246. package/esm2015/lib/services/http/chat/message/index.js +0 -2
  247. package/esm2015/lib/services/http/chat/message/message.service.js +0 -61
  248. package/esm2015/lib/services/http/chat/message-document/index.js +0 -2
  249. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +0 -118
  250. package/lib/services/http/chat/message/index.d.ts +0 -1
  251. package/lib/services/http/chat/message/message.service.d.ts +0 -28
  252. package/lib/services/http/chat/message-document/index.d.ts +0 -1
  253. package/lib/services/http/chat/message-document/message-document.service.d.ts +0 -50
@@ -1,4 +1,4 @@
1
- export * from './message';
2
- export * from './message-document';
3
1
  export * from './chat.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9jaGF0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2UtZG9jdW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xuIl19
2
+ export * from './message.service';
3
+ export * from './message-document.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9jaGF0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlLWRvY3VtZW50LnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,78 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { combineLatest } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import { plainToClass } from 'class-transformer';
5
+ import { MessageDocument, Message } from '../../../models';
6
+ import { RestService } from '../rest';
7
+ import { MessageDocumentCollection } from '../../../collections';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * Service for work with Message Documents
11
+ */
12
+ export class MessageDocumentService extends RestService {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.modelClass = MessageDocument;
16
+ this.collectionClass = MessageDocumentCollection;
17
+ this.endpointUri = 'message-documents';
18
+ this.disabledMethods = ['postBatch', 'post', 'deleteBatch', 'put', 'putBatch'];
19
+ this.isApiPlatform = true;
20
+ }
21
+ /**
22
+ * SSE and Event Dispatcher Services listeners
23
+ */
24
+ listenEvents() {
25
+ this.listenMessages();
26
+ }
27
+ /**
28
+ * listen new messages event to update documents cache
29
+ */
30
+ listenMessages() {
31
+ this.listenCSE(Message, ['post'], (messages) => {
32
+ const message = messages[0];
33
+ if (message.documents.length) {
34
+ const array = this.cache.toArray();
35
+ const documentsIds = this.cache.getIds();
36
+ message.documents.forEach((document) => {
37
+ document.chat = message.chat;
38
+ if (!documentsIds.includes(document.id)) {
39
+ array.push(document);
40
+ }
41
+ });
42
+ this.cache = new MessageDocumentCollection(array);
43
+ this.cacheSubject.next(this.cache);
44
+ }
45
+ });
46
+ }
47
+ /**
48
+ * Upload file to chat
49
+ */
50
+ add(chatId, file) {
51
+ const formData = new FormData();
52
+ formData.append('file', file);
53
+ formData.append('chat', chatId.toString());
54
+ return this.http.post(`${this.apiUrl}`, formData)
55
+ .pipe(map((documentBase) => {
56
+ const document = plainToClass(MessageDocument, documentBase);
57
+ this.handleResponse([document], 'post');
58
+ return document;
59
+ }));
60
+ }
61
+ /**
62
+ * Upload multiple files to chat
63
+ */
64
+ addBatch(chatId, files) {
65
+ return combineLatest(files.map((file) => this.add(chatId, file))).pipe(map((docsBase) => {
66
+ return docsBase.map((docBase) => plainToClass(MessageDocument, docBase));
67
+ }));
68
+ }
69
+ }
70
+ MessageDocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
71
+ MessageDocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, providedIn: 'root' });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageDocumentService, decorators: [{
73
+ type: Injectable,
74
+ args: [{
75
+ providedIn: 'root'
76
+ }]
77
+ }] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1kb2N1bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlLWRvY3VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVqRTs7R0FFRztBQUlILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxXQUE0RTtJQUh4SDs7UUFJRSxlQUFVLEdBQTJCLGVBQWUsQ0FBQztRQUNyRCxvQkFBZSxHQUFxQyx5QkFBeUIsQ0FBQztRQUM5RSxnQkFBVyxHQUFXLG1CQUFtQixDQUFDO1FBQzFDLG9CQUFlLEdBQWlCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hGLGtCQUFhLEdBQVksSUFBSSxDQUFDO0tBaUUvQjtJQS9EQzs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFtQixFQUFFLEVBQUU7WUFDeEQsTUFBTSxPQUFPLEdBQVksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXJDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzVCLE1BQU0sS0FBSyxHQUFzQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN0RCxNQUFNLFlBQVksR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUVuRCxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQXlCLEVBQVEsRUFBRTtvQkFDNUQsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUU3QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7d0JBQ3ZDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7cUJBQ3RCO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsTUFBYyxFQUFFLElBQVU7UUFDNUIsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QixRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsQ0FBQzthQUM5QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBaUMsRUFBbUIsRUFBRTtZQUN6RCxNQUFNLFFBQVEsR0FBb0IsWUFBWSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFeEMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVEsQ0FBQyxNQUFjLEVBQUUsS0FBYTtRQUNwQyxPQUFPLGFBQWEsQ0FDbEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVUsRUFBK0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQy9FLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLFFBQStCLEVBQXFCLEVBQUU7WUFDekQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBNEIsRUFBbUIsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7b0hBckVVLHNCQUFzQjt3SEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VEb2N1bWVudCBhcyBNZXNzYWdlRG9jdW1lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBNZXNzYWdlRG9jdW1lbnQsIE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzdE1ldGhvZCwgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0JztcbmltcG9ydCB7IE1lc3NhZ2VEb2N1bWVudENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5cbi8qKlxuICogU2VydmljZSBmb3Igd29yayB3aXRoIE1lc3NhZ2UgRG9jdW1lbnRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VEb2N1bWVudFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxNZXNzYWdlRG9jdW1lbnRCYXNlLCBNZXNzYWdlRG9jdW1lbnQsIE1lc3NhZ2VEb2N1bWVudENvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgTWVzc2FnZURvY3VtZW50ID0gTWVzc2FnZURvY3VtZW50O1xuICBjb2xsZWN0aW9uQ2xhc3M6IHR5cGVvZiBNZXNzYWdlRG9jdW1lbnRDb2xsZWN0aW9uID0gTWVzc2FnZURvY3VtZW50Q29sbGVjdGlvbjtcbiAgZW5kcG9pbnRVcmk6IHN0cmluZyA9ICdtZXNzYWdlLWRvY3VtZW50cyc7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0QmF0Y2gnLCAncG9zdCcsICdkZWxldGVCYXRjaCcsICdwdXQnLCAncHV0QmF0Y2gnXTtcbiAgaXNBcGlQbGF0Zm9ybTogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNTRSBhbmQgRXZlbnQgRGlzcGF0Y2hlciBTZXJ2aWNlcyBsaXN0ZW5lcnNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3Rlbk1lc3NhZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogbGlzdGVuIG5ldyBtZXNzYWdlcyBldmVudCB0byB1cGRhdGUgZG9jdW1lbnRzIGNhY2hlXG4gICAqL1xuICBsaXN0ZW5NZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNTRShNZXNzYWdlLCBbJ3Bvc3QnXSwgKG1lc3NhZ2VzOiBNZXNzYWdlW10pID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSBtZXNzYWdlc1swXTtcblxuICAgICAgaWYgKG1lc3NhZ2UuZG9jdW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBhcnJheTogTWVzc2FnZURvY3VtZW50W10gPSB0aGlzLmNhY2hlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRzSWRzOiBudW1iZXJbXSA9IHRoaXMuY2FjaGUuZ2V0SWRzKCk7XG5cbiAgICAgICAgbWVzc2FnZS5kb2N1bWVudHMuZm9yRWFjaCgoZG9jdW1lbnQ6IE1lc3NhZ2VEb2N1bWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgIGRvY3VtZW50LmNoYXQgPSBtZXNzYWdlLmNoYXQ7XG5cbiAgICAgICAgICBpZiAoIWRvY3VtZW50c0lkcy5pbmNsdWRlcyhkb2N1bWVudC5pZCkpIHtcbiAgICAgICAgICAgIGFycmF5LnB1c2goZG9jdW1lbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IG5ldyBNZXNzYWdlRG9jdW1lbnRDb2xsZWN0aW9uKGFycmF5KTtcbiAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgZmlsZSB0byBjaGF0XG4gICAqL1xuICBhZGQoY2hhdElkOiBudW1iZXIsIGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPE1lc3NhZ2VEb2N1bWVudD4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY2hhdCcsIGNoYXRJZC50b1N0cmluZygpKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFwaVVybH1gLCBmb3JtRGF0YSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGRvY3VtZW50QmFzZTogTWVzc2FnZURvY3VtZW50QmFzZSk6IE1lc3NhZ2VEb2N1bWVudCA9PiB7XG4gICAgICAgICAgY29uc3QgZG9jdW1lbnQ6IE1lc3NhZ2VEb2N1bWVudCA9IHBsYWluVG9DbGFzcyhNZXNzYWdlRG9jdW1lbnQsIGRvY3VtZW50QmFzZSk7XG4gICAgICAgICAgdGhpcy5oYW5kbGVSZXNwb25zZShbZG9jdW1lbnRdLCAncG9zdCcpO1xuXG4gICAgICAgICAgcmV0dXJuIGRvY3VtZW50O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgbXVsdGlwbGUgZmlsZXMgdG8gY2hhdFxuICAgKi9cbiAgYWRkQmF0Y2goY2hhdElkOiBudW1iZXIsIGZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPE1lc3NhZ2VEb2N1bWVudFtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgICBmaWxlcy5tYXAoKGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPE1lc3NhZ2VEb2N1bWVudD4gPT4gdGhpcy5hZGQoY2hhdElkLCBmaWxlKSlcbiAgICApLnBpcGUoXG4gICAgICBtYXAoKGRvY3NCYXNlOiBNZXNzYWdlRG9jdW1lbnRCYXNlW10pOiBNZXNzYWdlRG9jdW1lbnRbXSA9PiB7XG4gICAgICAgIHJldHVybiBkb2NzQmFzZS5tYXAoKGRvY0Jhc2U6IE1lc3NhZ2VEb2N1bWVudEJhc2UpOiBNZXNzYWdlRG9jdW1lbnQgPT4gcGxhaW5Ub0NsYXNzKE1lc3NhZ2VEb2N1bWVudCwgZG9jQmFzZSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { plainToClass } from 'class-transformer';
3
+ import { Message } from '../../../models';
4
+ import { RestService } from '../rest';
5
+ import { MessageCollection } from '../../../collections';
6
+ import { map } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common/http";
9
+ import * as i2 from "../../event";
10
+ /**
11
+ * Service for work with messages
12
+ */
13
+ export class MessageService extends RestService {
14
+ constructor(http, eventDispatcherService, environment, sseService) {
15
+ super(http, eventDispatcherService, environment);
16
+ this.http = http;
17
+ this.eventDispatcherService = eventDispatcherService;
18
+ this.environment = environment;
19
+ this.sseService = sseService;
20
+ this.modelClass = Message;
21
+ this.collectionClass = MessageCollection;
22
+ this.endpointUri = 'messages';
23
+ this.isApiPlatform = true;
24
+ this.disabledMethods = ['postBatch', 'putBatch'];
25
+ this.listenMessages();
26
+ }
27
+ /**
28
+ * Overwrite default methods because we need to handle messages via SSE events only
29
+ */
30
+ post(message) {
31
+ return this.http.post(this.apiUrl, message)
32
+ .pipe(map((response) => plainToClass(Message, response)));
33
+ }
34
+ /**
35
+ * Overwrite default methods because we need to handle messages via SSE events only
36
+ */
37
+ put(message) {
38
+ return this.http.put(`${this.apiUrl}/${message.id}`, message)
39
+ .pipe(map((response) => plainToClass(Message, response)));
40
+ }
41
+ /**
42
+ * subscribe to new chat messages
43
+ */
44
+ listenMessages() {
45
+ this.sseService.on(`messages`).subscribe((messageBase) => {
46
+ const message = plainToClass(Message, messageBase);
47
+ // update existing message if read and add new message if not read
48
+ if (this.cache.findBy('id', message.id)) {
49
+ this.handleResponse([message], 'put');
50
+ }
51
+ else {
52
+ this.handleResponse([message], 'post');
53
+ }
54
+ });
55
+ }
56
+ }
57
+ MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i2.SseService }], target: i0.ɵɵFactoryTarget.Injectable });
58
+ MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, providedIn: 'root' });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MessageService, decorators: [{
60
+ type: Injectable,
61
+ args: [{
62
+ providedIn: 'root'
63
+ }]
64
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
65
+ type: Inject,
66
+ args: ['environment']
67
+ }] }, { type: i2.SseService }]; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvY2hhdC9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVyQzs7R0FFRztBQUlILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBb0Q7SUFPdEYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0IsRUFDekMsVUFBc0I7UUFFOUIsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUx2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVZoQyxlQUFVLEdBQW1CLE9BQU8sQ0FBQztRQUNyQyxvQkFBZSxHQUE2QixpQkFBaUIsQ0FBQztRQUM5RCxnQkFBVyxHQUFXLFVBQVUsQ0FBQztRQUNqQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUM5QixvQkFBZSxHQUFpQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQVN4RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE9BQWdCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7YUFDeEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQXFCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxPQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDO2FBQzFELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFxQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQ2hFLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQVEsRUFBRTtZQUMxRSxNQUFNLE9BQU8sR0FBWSxZQUFZLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzVELGtFQUFrRTtZQUNsRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN2QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDeEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRHQWxEVSxjQUFjLGtGQVVmLGFBQWE7Z0hBVlosY0FBYyxjQUZiLE1BQU07NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVdJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZSBhcyBNZXNzYWdlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSwgU3NlU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50JztcbmltcG9ydCB7IE1lc3NhZ2VDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB3b3JrIHdpdGggbWVzc2FnZXNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxNZXNzYWdlQmFzZSwgTWVzc2FnZSwgTWVzc2FnZUNvbGxlY3Rpb24+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgTWVzc2FnZSA9IE1lc3NhZ2U7XG4gIGNvbGxlY3Rpb25DbGFzczogdHlwZW9mIE1lc3NhZ2VDb2xsZWN0aW9uID0gTWVzc2FnZUNvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpOiBzdHJpbmcgPSAnbWVzc2FnZXMnO1xuICBpc0FwaVBsYXRmb3JtOiBib29sZWFuID0gdHJ1ZTtcbiAgZGlzYWJsZWRNZXRob2RzOiBSZXN0TWV0aG9kW10gPSBbJ3Bvc3RCYXRjaCcsICdwdXRCYXRjaCddO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJpdmF0ZSBzc2VTZXJ2aWNlOiBTc2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3Rlbk1lc3NhZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcndyaXRlIGRlZmF1bHQgbWV0aG9kcyBiZWNhdXNlIHdlIG5lZWQgdG8gaGFuZGxlIG1lc3NhZ2VzIHZpYSBTU0UgZXZlbnRzIG9ubHlcbiAgICovXG4gIHBvc3QobWVzc2FnZTogTWVzc2FnZSk6IE9ic2VydmFibGU8TWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaVVybCwgbWVzc2FnZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBNZXNzYWdlQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKE1lc3NhZ2UsIHJlc3BvbnNlKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcndyaXRlIGRlZmF1bHQgbWV0aG9kcyBiZWNhdXNlIHdlIG5lZWQgdG8gaGFuZGxlIG1lc3NhZ2VzIHZpYSBTU0UgZXZlbnRzIG9ubHlcbiAgICovXG4gIHB1dChtZXNzYWdlOiBNZXNzYWdlKTogT2JzZXJ2YWJsZTxNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5hcGlVcmx9LyR7bWVzc2FnZS5pZH1gLCBtZXNzYWdlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IE1lc3NhZ2VCYXNlKSA9PiBwbGFpblRvQ2xhc3MoTWVzc2FnZSwgcmVzcG9uc2UpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzdWJzY3JpYmUgdG8gbmV3IGNoYXQgbWVzc2FnZXNcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTWVzc2FnZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBtZXNzYWdlc2ApLnN1YnNjcmliZSgobWVzc2FnZUJhc2U6IE1lc3NhZ2VCYXNlKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlOiBNZXNzYWdlID0gcGxhaW5Ub0NsYXNzKE1lc3NhZ2UsIG1lc3NhZ2VCYXNlKTtcbiAgICAgIC8vIHVwZGF0ZSBleGlzdGluZyBtZXNzYWdlIGlmIHJlYWQgYW5kIGFkZCBuZXcgbWVzc2FnZSBpZiBub3QgcmVhZFxuICAgICAgaWYgKHRoaXMuY2FjaGUuZmluZEJ5KCdpZCcsIG1lc3NhZ2UuaWQpKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2UoW21lc3NhZ2VdLCAncHV0Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNlKFttZXNzYWdlXSwgJ3Bvc3QnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -48,9 +48,9 @@ export class DepreciationCapitalProjectService {
48
48
  }));
49
49
  }
50
50
  }
51
- DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
52
- DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
51
+ DepreciationCapitalProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ DepreciationCapitalProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationCapitalProjectService, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{
56
56
  providedIn: 'root'
@@ -26,9 +26,9 @@ export class DepreciationReceiptService extends ReceiptService {
26
26
  this.listenEvents();
27
27
  }
28
28
  }
29
- DepreciationReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationReceiptService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
30
- DepreciationReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationReceiptService, providedIn: 'root' });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationReceiptService, decorators: [{
29
+ DepreciationReceiptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationReceiptService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ DepreciationReceiptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationReceiptService, providedIn: 'root' });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationReceiptService, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root'
@@ -1,44 +1,24 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { map } from 'rxjs/operators';
3
- import { replace } from '../../../functions/array';
4
- import { RestService } from '../rest/rest-old.service';
5
- import { Depreciation } from '../../../models/depreciation/depreciation';
6
- import { AppEvent } from '../../../models/event/app-event';
7
- import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
8
- import { FinancialYear } from '../../../models/financial-year/financial-year';
3
+ import { RestService } from '../rest';
4
+ import { AppEvent, AppEventTypeEnum, BankAccount, Depreciation, FinancialYear, Loan } from '../../../models';
5
+ import { DepreciationCollection } from '../../../collections';
9
6
  import * as i0 from "@angular/core";
10
7
  import * as i1 from "@angular/common/http";
11
- import * as i2 from "../../event/event-dispatcher.service";
12
- import * as i3 from "../../toast/toast.service";
13
- import * as i4 from "./depreciation-receipt/depreciation-receipt.service";
8
+ import * as i2 from "../../event";
14
9
  export class DepreciationService extends RestService {
15
- constructor(http, eventDispatcherService, environment, toastService, depreciationReceiptService) {
16
- super(http, eventDispatcherService, environment, toastService);
10
+ constructor(http, eventDispatcherService, environment) {
11
+ super(http, eventDispatcherService, environment);
17
12
  this.http = http;
18
13
  this.eventDispatcherService = eventDispatcherService;
19
14
  this.environment = environment;
20
- this.toastService = toastService;
21
- this.depreciationReceiptService = depreciationReceiptService;
22
15
  this.modelClass = Depreciation;
23
- this.url = 'depreciations';
16
+ this.collectionClass = DepreciationCollection;
17
+ this.endpointUri = 'depreciations';
18
+ this.disabledMethods = ['post', 'putBatch', 'deleteBatch'];
24
19
  }
25
- /**
26
- * Add a single depreciation
27
- * @TODO add auto-generation for events
28
- */
29
- add(depreciation) {
30
- return this.addBatch([depreciation])
31
- .pipe(map((newDepreciations) => {
32
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.DEPRECIATIONS_CREATED, newDepreciations[0]));
33
- return newDepreciations[0];
34
- }));
35
- }
36
- /**
37
- * Add multiple depreciations
38
- * @TODO add auto-generation for events
39
- */
40
- addBatch(depreciations) {
41
- return super.addBatch(depreciations).pipe(map((newDepreciations) => {
20
+ postBatch(depreciations) {
21
+ return super.postBatch(depreciations).pipe(map((newDepreciations) => {
42
22
  depreciations.forEach((depreciation, index) => {
43
23
  // @TODO backend: need to upload file in the same backend endpoint with depreciation add/update
44
24
  // check if passed receipt and upload file
@@ -48,14 +28,12 @@ export class DepreciationService extends RestService {
48
28
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.DEPRECIATION_UPDATED_WITH_RECEIPT, newDepreciations[index]));
49
29
  }
50
30
  });
51
- this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.DEPRECIATIONS_CREATED, newDepreciations));
52
- return newDepreciations;
31
+ return depreciations;
53
32
  }));
54
33
  }
55
- update(depreciation) {
56
- return super.update(depreciation).pipe(map((updatedDepreciation) => {
57
- // @TODO need to upload file in the same backend endpoint with depreciation add/update
58
- // check if passed new receipt and upload file
34
+ put(depreciation) {
35
+ return super.put(depreciation)
36
+ .pipe(map((updatedDepreciation) => {
59
37
  if (depreciation.file && (depreciation.file instanceof File)) {
60
38
  updatedDepreciation.file = depreciation.file;
61
39
  this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.DEPRECIATION_UPDATED_WITH_RECEIPT, updatedDepreciation));
@@ -80,42 +58,40 @@ export class DepreciationService extends RestService {
80
58
  this.listenPropertyDepreciationCalculationChanges();
81
59
  }
82
60
  getOpenBalance(depreciation) {
83
- return this.http.post(`${this.environment.apiV2}/${this.url}/opening-balance?financialYear=${new FinancialYear().year}`, depreciation)
61
+ return this.http.post(`${this.apiUrl}/opening-balance?financialYear=${new FinancialYear().year}`, depreciation)
84
62
  .pipe(map((response) => {
85
63
  return response || 0;
86
64
  }));
87
65
  }
88
66
  listenReceiptAdded() {
89
67
  this.eventDispatcherService.on(AppEventTypeEnum.DEPRECIATION_RECEIPT_CREATED).subscribe((receipt) => {
90
- const depreciationToUpdate = this.find(receipt.depreciation.id);
68
+ const depreciationToUpdate = this.cache.findBy('id', receipt.depreciation.id);
91
69
  // we don't need to keep file after save
92
70
  depreciationToUpdate.file = null;
93
71
  depreciationToUpdate.receipt = receipt;
94
- this.replaceInCache(depreciationToUpdate);
72
+ this.updateCache([depreciationToUpdate], 'put');
95
73
  });
96
74
  }
97
75
  listenReceiptDeleted() {
98
76
  this.eventDispatcherService.on(AppEventTypeEnum.DEPRECIATION_RECEIPT_DELETED).subscribe((depreciation) => {
99
- const depreciationToUpdate = this.find(depreciation.id);
77
+ const depreciationToUpdate = this.cache.findBy('id', depreciation.id);
100
78
  depreciationToUpdate.receipt = null;
101
- this.replaceInCache(depreciationToUpdate);
79
+ this.updateCache([depreciationToUpdate], 'put');
102
80
  });
103
81
  }
104
82
  /**
105
83
  * Listen to EventDispatcherService event related to updated bank loan
106
84
  */
107
85
  listenToUpdatedLoan() {
108
- this.eventDispatcherService.on([AppEventTypeEnum.LOAN_UPDATED, AppEventTypeEnum.PROPERTY_SHARE_UPDATED]).subscribe(() => {
109
- this.fetch().subscribe();
110
- });
86
+ this.listenCSE(Loan, ['put'], this.resetCache);
111
87
  }
112
88
  /**
113
89
  * Listen to EventDispatcherService event related to updated bank account
114
90
  */
115
91
  listenToUpdatedBankAccount() {
116
- this.eventDispatcherService.on([AppEventTypeEnum.BANK_ACCOUNT_UPDATED]).subscribe((bankAccount) => {
117
- if (bankAccount.isPropertyTank()) {
118
- this.fetch().subscribe();
92
+ this.listenCSE(BankAccount, ['put'], (bankAccounts) => {
93
+ if (bankAccounts.find(ba => ba.isPropertyTank())) {
94
+ this.resetCache();
119
95
  }
120
96
  });
121
97
  }
@@ -131,10 +107,6 @@ export class DepreciationService extends RestService {
131
107
  this.resetCache();
132
108
  });
133
109
  }
134
- replaceInCache(depreciationToReplace) {
135
- replace(this.cache, depreciationToReplace);
136
- this.updateCache();
137
- }
138
110
  /**
139
111
  * @TODO Alex: create common method resetCacheOn(events: AppEventType[])
140
112
  */
@@ -152,9 +124,9 @@ export class DepreciationService extends RestService {
152
124
  });
153
125
  }
154
126
  }
155
- DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.DepreciationReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
156
- DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, providedIn: 'root' });
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, decorators: [{
127
+ DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
128
+ DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, providedIn: 'root' });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DepreciationService, decorators: [{
158
130
  type: Injectable,
159
131
  args: [{
160
132
  providedIn: 'root'
@@ -162,5 +134,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
162
134
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
163
135
  type: Inject,
164
136
  args: ['environment']
165
- }] }, { type: i3.ToastService }, { type: i4.DepreciationReceiptService }]; } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7OztBQVc5RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFJbEYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0IsRUFDdkMsWUFBMEIsRUFDNUIsMEJBQXNEO1FBRTlELEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTnJELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBUmhFLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLFFBQUcs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QixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLG1DQUFtQztRQUN6QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyw0Q0FBNEM7UUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7aUhBdktVLG1CQUFtQixrRkFPcEIsYUFBYTtxSEFQWixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiBhcyBEZXByZWNpYXRpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC1vbGQuc2VydmljZSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uUmVjZWlwdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLXJlY2VpcHQnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25SZWNlaXB0U2VydmljZSB9IGZyb20gJy4vZGVwcmVjaWF0aW9uLXJlY2VpcHQvZGVwcmVjaWF0aW9uLXJlY2VpcHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERlcHJlY2lhdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxEZXByZWNpYXRpb25CYXNlLCBEZXByZWNpYXRpb24+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIERlcHJlY2lhdGlvbiA9IERlcHJlY2lhdGlvbjtcbiAgdXJsOiBzdHJpbmcgPSAnZGVwcmVjaWF0aW9ucyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXByZWNpYXRpb25SZWNlaXB0U2VydmljZTogRGVwcmVjaWF0aW9uUmVjZWlwdFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQsIHRvYXN0U2VydmljZSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgc2luZ2xlIGRlcHJlY2lhdGlvblxuICAgKiBAVE9ETyBhZGQgYXV0by1nZW5lcmF0aW9uIGZvciBldmVudHNcbiAgICovXG4gIGFkZChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQmF0Y2goW2RlcHJlY2lhdGlvbl0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdEZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSk6IERlcHJlY2lhdGlvbiA9PiB7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTlNfQ1JFQVRFRCwgbmV3RGVwcmVjaWF0aW9uc1swXSkpO1xuICAgICAgICAgIHJldHVybiBuZXdEZXByZWNpYXRpb25zWzBdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgbXVsdGlwbGUgZGVwcmVjaWF0aW9uc1xuICAgKiBAVE9ETyBhZGQgYXV0by1nZW5lcmF0aW9uIGZvciBldmVudHNcbiAgICovXG4gIGFkZEJhdGNoKGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdKTogT2JzZXJ2YWJsZTxEZXByZWNpYXRpb25bXT4ge1xuICAgIHJldHVybiBzdXBlci5hZGRCYXRjaChkZXByZWNpYXRpb25zKS5waXBlKFxuICAgICAgbWFwKChuZXdEZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSk6IERlcHJlY2lhdGlvbltdID0+IHtcblxuICAgICAgICBkZXByZWNpYXRpb25zLmZvckVhY2goKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gYmFja2VuZDogbmVlZCB0byB1cGxvYWQgZmlsZSBpbiB0aGUgc2FtZSBiYWNrZW5kIGVuZHBvaW50IHdpdGggZGVwcmVjaWF0aW9uIGFkZC91cGRhdGVcbiAgICAgICAgICAvLyBjaGVjayBpZiBwYXNzZWQgcmVjZWlwdCBhbmQgdXBsb2FkIGZpbGVcbiAgICAgICAgICBpZiAoZGVwcmVjaWF0aW9uLmZpbGUgJiYgKGRlcHJlY2lhdGlvbi5maWxlIGluc3RhbmNlb2YgRmlsZSkpIHtcbiAgICAgICAgICAgIGRlcHJlY2lhdGlvbi5pZCA9IG5ld0RlcHJlY2lhdGlvbnNbaW5kZXhdLmlkO1xuICAgICAgICAgICAgbmV3RGVwcmVjaWF0aW9uc1tpbmRleF0uZmlsZSA9IGRlcHJlY2lhdGlvbi5maWxlO1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTl9VUERBVEVEX1dJVEhfUkVDRUlQVCwgbmV3RGVwcmVjaWF0aW9uc1tpbmRleF0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTlNfQ1JFQVRFRCwgbmV3RGVwcmVjaWF0aW9ucykpO1xuICAgICAgICByZXR1cm4gbmV3RGVwcmVjaWF0aW9ucztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZShkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uPiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShkZXByZWNpYXRpb24pLnBpcGUoXG4gICAgICBtYXAoKHVwZGF0ZWREZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IERlcHJlY2lhdGlvbiA9PiB7XG4gICAgICAgIC8vIEBUT0RPIG5lZWQgdG8gdXBsb2FkIGZpbGUgaW4gdGhlIHNhbWUgYmFja2VuZCBlbmRwb2ludCB3aXRoIGRlcHJlY2lhdGlvbiBhZGQvdXBkYXRlXG4gICAgICAgIC8vIGNoZWNrIGlmIHBhc3NlZCBuZXcgcmVjZWlwdCBhbmQgdXBsb2FkIGZpbGVcbiAgICAgICAgaWYgKGRlcHJlY2lhdGlvbi5maWxlICYmIChkZXByZWNpYXRpb24uZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgdXBkYXRlZERlcHJlY2lhdGlvbi5maWxlID0gZGVwcmVjaWF0aW9uLmZpbGU7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTl9VUERBVEVEX1dJVEhfUkVDRUlQVCwgdXBkYXRlZERlcHJlY2lhdGlvbikpO1xuICAgICAgICAgIC8vIHJlY2VpcHQgZmlsZSB3YXMgcmVtb3ZlZCBmcm9tIGZvcm0gLSB3ZSBzaG91bGQgZGVsZXRlIHJlY2VpcHQgZnJvbSB0cmFuc2FjdGlvblxuICAgICAgICB9IGVsc2UgaWYgKCFkZXByZWNpYXRpb24uZmlsZSAmJiBkZXByZWNpYXRpb24ucmVjZWlwdCkge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05fVVBEQVRFRF9XSVRIX0RFTEVURURfUkVDRUlQVCwgdXBkYXRlZERlcHJlY2lhdGlvbikpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZWREZXByZWNpYXRpb247XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRGVwcmVjaWF0aW9ucyBldmVudHNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZExvYW4oKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHRBZGRlZCgpO1xuICAgIHRoaXMubGlzdGVuUmVjZWlwdERlbGV0ZWQoKTtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZEJhbmtBY2NvdW50KCk7XG4gICAgdGhpcy5saXN0ZW5Tb2xlRGVwcmVjaWF0aW9uTWV0aG9kQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlEZXByZWNpYXRpb25DYWxjdWxhdGlvbkNoYW5nZXMoKTtcbiAgfVxuXG4gIGdldE9wZW5CYWxhbmNlKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vb3BlbmluZy1iYWxhbmNlP2ZpbmFuY2lhbFllYXI9JHtuZXcgRmluYW5jaWFsWWVhcigpLnllYXJ9YCwgZGVwcmVjaWF0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG51bWJlcikgPT4ge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZSB8fCAwO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUmVjZWlwdEFkZGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTl9SRUNFSVBUX0NSRUFURUQpLnN1YnNjcmliZSgocmVjZWlwdDogRGVwcmVjaWF0aW9uUmVjZWlwdCkgPT4ge1xuICAgICAgY29uc3QgZGVwcmVjaWF0aW9uVG9VcGRhdGU6IERlcHJlY2lhdGlvbiA9IHRoaXMuZmluZChyZWNlaXB0LmRlcHJlY2lhdGlvbi5pZCk7XG5cbiAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8ga2VlcCBmaWxlIGFmdGVyIHNhdmVcbiAgICAgIGRlcHJlY2lhdGlvblRvVXBkYXRlLmZpbGUgPSBudWxsO1xuICAgICAgZGVwcmVjaWF0aW9uVG9VcGRhdGUucmVjZWlwdCA9IHJlY2VpcHQ7XG4gICAgICB0aGlzLnJlcGxhY2VJbkNhY2hlKGRlcHJlY2lhdGlvblRvVXBkYXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUmVjZWlwdERlbGV0ZWQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1JFQ0VJUFRfREVMRVRFRCkuc3Vic2NyaWJlKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4ge1xuICAgICAgY29uc3QgZGVwcmVjaWF0aW9uVG9VcGRhdGU6IERlcHJlY2lhdGlvbiA9IHRoaXMuZmluZChkZXByZWNpYXRpb24uaWQpO1xuXG4gICAgICBkZXByZWNpYXRpb25Ub1VwZGF0ZS5yZWNlaXB0ID0gbnVsbDtcbiAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUoZGVwcmVjaWF0aW9uVG9VcGRhdGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBiYW5rIGxvYW5cbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9VcGRhdGVkTG9hbigpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uTE9BTl9VUERBVEVELCBBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NIQVJFX1VQREFURURdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBiYW5rIGFjY291bnRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9VUERBVEVEXSkuc3Vic2NyaWJlKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IHtcbiAgICAgIGlmIChiYW5rQWNjb3VudC5pc1Byb3BlcnR5VGFuaygpKSB7XG4gICAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIHVwZGF0ZWQgdmVoaWNsZSBjbGFpbVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5WZWhpY2xlQ2xhaW1DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fQ1JFQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9VUERBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSByZXBsYWNlSW5DYWNoZShkZXByZWNpYXRpb25Ub1JlcGxhY2U6IERlcHJlY2lhdGlvbik6IHZvaWQge1xuICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgZGVwcmVjaWF0aW9uVG9SZXBsYWNlKTtcbiAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleDogY3JlYXRlIGNvbW1vbiBtZXRob2QgcmVzZXRDYWNoZU9uKGV2ZW50czogQXBwRXZlbnRUeXBlW10pXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNvbGVEZXByZWNpYXRpb25NZXRob2RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlNPTEVfREVQUkVDSUFUSU9OX01FVEhPRF9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiBjcmVhdGUgY29tbW9uIG1ldGhvZCByZXNldENhY2hlT24oZXZlbnRzOiBBcHBFdmVudFR5cGVbXSlcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlEZXByZWNpYXRpb25DYWxjdWxhdGlvbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfREVQUkVDSUFUSU9OX0NBTENVTEFUSU9OX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
137
+ }] }]; } });
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEQsT0FBTyxFQUNMLFFBQVEsRUFBRSxnQkFBZ0IsRUFDMUIsV0FBVyxFQUNYLFlBQVksRUFDWixhQUFhLEVBQ2IsSUFBSSxFQUNKLE1BQU0saUJBQWlCLENBQUM7QUFDMUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFPOUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQW1FO0lBTTFHLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCO1FBRWpELEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFKdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBUm5ELGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLG9CQUFlLEdBQWtDLHNCQUFzQixDQUFDO1FBQ3hFLGdCQUFXLEdBQVcsZUFBZSxDQUFDO1FBQ3RDLG9CQUFlLEdBQWlCLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQVFwRSxDQUFDO0lBRUQsU0FBUyxDQUFDLGFBQTZCO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENB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O0lBRUQ7O09BRUc7SUFDSyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyxxQkFBcUI7WUFDdEMsZ0JBQWdCLENBQUMscUJBQXFCO1lBQ3RDLGdCQUFnQixDQUFDLDZCQUE2QjtTQUMvQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQ0FBbUM7UUFDekMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssNENBQTRDO1FBQ2xELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMseUNBQXlDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7O2lIQTVJVSxtQkFBbUIsa0ZBU3BCLGFBQWE7cUhBVFosbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gYXMgRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZXN0TWV0aG9kLCBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0IHtcbiAgQXBwRXZlbnQsIEFwcEV2ZW50VHlwZUVudW0sXG4gIEJhbmtBY2NvdW50LFxuICBEZXByZWNpYXRpb24sIERlcHJlY2lhdGlvblJlY2VpcHQsXG4gIEZpbmFuY2lhbFllYXIsXG4gIExvYW5cbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERlcHJlY2lhdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxEZXByZWNpYXRpb25CYXNlLCBEZXByZWNpYXRpb24sIERlcHJlY2lhdGlvbkNvbGxlY3Rpb24+IHtcbiAgbW9kZWxDbGFzczogdHlwZW9mIERlcHJlY2lhdGlvbiA9IERlcHJlY2lhdGlvbjtcbiAgY29sbGVjdGlvbkNsYXNzOiB0eXBlb2YgRGVwcmVjaWF0aW9uQ29sbGVjdGlvbiA9IERlcHJlY2lhdGlvbkNvbGxlY3Rpb247XG4gIGVuZHBvaW50VXJpOiBzdHJpbmcgPSAnZGVwcmVjaWF0aW9ucyc7XG4gIGRpc2FibGVkTWV0aG9kczogUmVzdE1ldGhvZFtdID0gWydwb3N0JywgJ3B1dEJhdGNoJywgJ2RlbGV0ZUJhdGNoJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gIH1cblxuICBwb3N0QmF0Y2goZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBPYnNlcnZhYmxlPERlcHJlY2lhdGlvbltdPiB7XG4gICAgcmV0dXJuIHN1cGVyLnBvc3RCYXRjaChkZXByZWNpYXRpb25zKS5waXBlKFxuICAgICAgbWFwKChuZXdEZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSkgPT4ge1xuXG4gICAgICAgIGRlcHJlY2lhdGlvbnMuZm9yRWFjaCgoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAvLyBAVE9ETyBiYWNrZW5kOiBuZWVkIHRvIHVwbG9hZCBmaWxlIGluIHRoZSBzYW1lIGJhY2tlbmQgZW5kcG9pbnQgd2l0aCBkZXByZWNpYXRpb24gYWRkL3VwZGF0ZVxuICAgICAgICAgIC8vIGNoZWNrIGlmIHBhc3NlZCByZWNlaXB0IGFuZCB1cGxvYWQgZmlsZVxuICAgICAgICAgIGlmIChkZXByZWNpYXRpb24uZmlsZSAmJiAoZGVwcmVjaWF0aW9uLmZpbGUgaW5zdGFuY2VvZiBGaWxlKSkge1xuICAgICAgICAgICAgZGVwcmVjaWF0aW9uLmlkID0gbmV3RGVwcmVjaWF0aW9uc1tpbmRleF0uaWQ7XG4gICAgICAgICAgICBuZXdEZXByZWNpYXRpb25zW2luZGV4XS5maWxlID0gZGVwcmVjaWF0aW9uLmZpbGU7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1VQREFURURfV0lUSF9SRUNFSVBULCBuZXdEZXByZWNpYXRpb25zW2luZGV4XSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGRlcHJlY2lhdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdXQoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBPYnNlcnZhYmxlPERlcHJlY2lhdGlvbj4ge1xuICAgIHJldHVybiBzdXBlci5wdXQoZGVwcmVjaWF0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZERlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKGRlcHJlY2lhdGlvbi5maWxlICYmIChkZXByZWNpYXRpb24uZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgICB1cGRhdGVkRGVwcmVjaWF0aW9uLmZpbGUgPSBkZXByZWNpYXRpb24uZmlsZTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05fVVBEQVRFRF9XSVRIX1JFQ0VJUFQsIHVwZGF0ZWREZXByZWNpYXRpb24pKTtcbiAgICAgICAgICAgIC8vIHJlY2VpcHQgZmlsZSB3YXMgcmVtb3ZlZCBmcm9tIGZvcm0gLSB3ZSBzaG91bGQgZGVsZXRlIHJlY2VpcHQgZnJvbSB0cmFuc2FjdGlvblxuICAgICAgICAgIH0gZWxzZSBpZiAoIWRlcHJlY2lhdGlvbi5maWxlICYmIGRlcHJlY2lhdGlvbi5yZWNlaXB0KSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1VQREFURURfV0lUSF9ERUxFVEVEX1JFQ0VJUFQsIHVwZGF0ZWREZXByZWNpYXRpb24pKTtcbiAgICAgICAgICB9XG5cblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkRGVwcmVjaWF0aW9uO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRGVwcmVjaWF0aW9ucyBldmVudHNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZExvYW4oKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHRBZGRlZCgpO1xuICAgIHRoaXMubGlzdGVuUmVjZWlwdERlbGV0ZWQoKTtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZEJhbmtBY2NvdW50KCk7XG4gICAgdGhpcy5saXN0ZW5Tb2xlRGVwcmVjaWF0aW9uTWV0aG9kQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuUHJvcGVydHlEZXByZWNpYXRpb25DYWxjdWxhdGlvbkNoYW5nZXMoKTtcbiAgfVxuXG4gIGdldE9wZW5CYWxhbmNlKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hcGlVcmx9L29wZW5pbmctYmFsYW5jZT9maW5hbmNpYWxZZWFyPSR7bmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyfWAsIGRlcHJlY2lhdGlvbilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBudW1iZXIpID0+IHtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UgfHwgMDtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblJlY2VpcHRBZGRlZCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05fUkVDRUlQVF9DUkVBVEVEKS5zdWJzY3JpYmUoKHJlY2VpcHQ6IERlcHJlY2lhdGlvblJlY2VpcHQpID0+IHtcbiAgICAgIGNvbnN0IGRlcHJlY2lhdGlvblRvVXBkYXRlOiBEZXByZWNpYXRpb24gPSB0aGlzLmNhY2hlLmZpbmRCeSgnaWQnLCByZWNlaXB0LmRlcHJlY2lhdGlvbi5pZCk7XG5cbiAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8ga2VlcCBmaWxlIGFmdGVyIHNhdmVcbiAgICAgIGRlcHJlY2lhdGlvblRvVXBkYXRlLmZpbGUgPSBudWxsO1xuICAgICAgZGVwcmVjaWF0aW9uVG9VcGRhdGUucmVjZWlwdCA9IHJlY2VpcHQ7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKFtkZXByZWNpYXRpb25Ub1VwZGF0ZV0sICdwdXQnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUmVjZWlwdERlbGV0ZWQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1JFQ0VJUFRfREVMRVRFRCkuc3Vic2NyaWJlKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4ge1xuICAgICAgY29uc3QgZGVwcmVjaWF0aW9uVG9VcGRhdGU6IERlcHJlY2lhdGlvbiA9IHRoaXMuY2FjaGUuZmluZEJ5KCdpZCcsIGRlcHJlY2lhdGlvbi5pZCk7XG5cbiAgICAgIGRlcHJlY2lhdGlvblRvVXBkYXRlLnJlY2VpcHQgPSBudWxsO1xuICAgICAgdGhpcy51cGRhdGVDYWNoZShbZGVwcmVjaWF0aW9uVG9VcGRhdGVdLCAncHV0Jyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIGJhbmsgbG9hblxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRMb2FuKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQ1NFKExvYW4sIFsncHV0J10sIHRoaXMucmVzZXRDYWNoZSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIGJhbmsgYWNjb3VudFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRCYW5rQWNjb3VudCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkNTRShCYW5rQWNjb3VudCwgWydwdXQnXSwgKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgaWYgKGJhbmtBY2NvdW50cy5maW5kKGJhID0+IGJhLmlzUHJvcGVydHlUYW5rKCkpKSB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCB2ZWhpY2xlIGNsYWltXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVEXG4gICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleDogY3JlYXRlIGNvbW1vbiBtZXRob2QgcmVzZXRDYWNoZU9uKGV2ZW50czogQXBwRXZlbnRUeXBlW10pXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblNvbGVEZXByZWNpYXRpb25NZXRob2RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlNPTEVfREVQUkVDSUFUSU9OX01FVEhPRF9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiBjcmVhdGUgY29tbW9uIG1ldGhvZCByZXNldENhY2hlT24oZXZlbnRzOiBBcHBFdmVudFR5cGVbXSlcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlEZXByZWNpYXRpb25DYWxjdWxhdGlvbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfREVQUkVDSUFUSU9OX0NBTENVTEFUSU9OX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -65,9 +65,9 @@ export class DocumentFolderService extends RestService {
65
65
  }));
66
66
  }
67
67
  }
68
- DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
- DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentFolderService, decorators: [{
68
+ DocumentFolderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
69
+ DocumentFolderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentFolderService, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{
73
73
  providedIn: 'root'
@@ -9,9 +9,9 @@ export class DocumentService extends RestService {
9
9
  this.modelClass = Document;
10
10
  }
11
11
  }
12
- DocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13
- DocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentService, providedIn: 'root' });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DocumentService, decorators: [{
12
+ DocumentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13
+ DocumentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentService, providedIn: 'root' });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DocumentService, decorators: [{
15
15
  type: Injectable,
16
16
  args: [{
17
17
  providedIn: 'root'
@@ -76,9 +76,9 @@ FacebookService.authOptions = {
76
76
  auth_type: 'rerequest',
77
77
  return_scopes: true
78
78
  };
79
- FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: i2.ToastService }, { token: i3.JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
80
- FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, providedIn: 'root' });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FacebookService, decorators: [{
79
+ FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: i2.ToastService }, { token: i3.JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
80
+ FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FacebookService, providedIn: 'root' });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FacebookService, decorators: [{
82
82
  type: Injectable,
83
83
  args: [{
84
84
  providedIn: 'root'
@@ -38,9 +38,9 @@ export class ClientIncomeTypesService {
38
38
  }));
39
39
  }
40
40
  }
41
- ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
42
- ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
41
+ ClientIncomeTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
42
+ ClientIncomeTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientIncomeTypesService, decorators: [{
44
44
  type: Injectable,
45
45
  args: [{
46
46
  providedIn: 'root'
@@ -117,9 +117,9 @@ export class ClientInviteService extends RestService {
117
117
  });
118
118
  }
119
119
  }
120
- ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
121
- ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientInviteService, decorators: [{
120
+ ClientInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
121
+ ClientInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, providedIn: 'root' });
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientInviteService, decorators: [{
123
123
  type: Injectable,
124
124
  args: [{
125
125
  providedIn: 'root'
@@ -81,9 +81,9 @@ export class ClientMovementService extends RestService {
81
81
  });
82
82
  }
83
83
  }
84
- ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
85
- ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientMovementService, decorators: [{
84
+ ClientMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
85
+ ClientMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, providedIn: 'root' });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientMovementService, decorators: [{
87
87
  type: Injectable,
88
88
  args: [{
89
89
  providedIn: 'root'
@@ -28,9 +28,9 @@ export class EmployeeService extends RestService {
28
28
  }));
29
29
  }
30
30
  }
31
- EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
- EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeService, decorators: [{
31
+ EmployeeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
32
+ EmployeeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeService, decorators: [{
34
34
  type: Injectable,
35
35
  args: [{
36
36
  providedIn: 'root'
@@ -42,9 +42,9 @@ export class EmployeeInviteService extends RestService {
42
42
  }));
43
43
  }
44
44
  }
45
- EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
46
- EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EmployeeInviteService, decorators: [{
45
+ EmployeeInviteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
46
+ EmployeeInviteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, providedIn: 'root' });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EmployeeInviteService, decorators: [{
48
48
  type: Injectable,
49
49
  args: [{
50
50
  providedIn: 'root'
@@ -65,9 +65,9 @@ export class FirmService {
65
65
  }));
66
66
  }
67
67
  }
68
- FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
69
- FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, providedIn: 'root' });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FirmService, decorators: [{
68
+ FirmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ FirmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FirmService, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{
73
73
  providedIn: 'root'
@@ -23,9 +23,9 @@ export class ClientPortfolioReportService {
23
23
  }));
24
24
  }
25
25
  }
26
- ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
27
- ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
26
+ ClientPortfolioReportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ ClientPortfolioReportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, providedIn: 'root' });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ClientPortfolioReportService, decorators: [{
29
29
  type: Injectable,
30
30
  args: [{
31
31
  providedIn: 'root'
@@ -70,9 +70,9 @@ export class IncomeSourceForecastService extends RestService {
70
70
  }).flat();
71
71
  }
72
72
  }
73
- IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
74
- IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
73
+ IncomeSourceForecastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
74
+ IncomeSourceForecastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, providedIn: 'root' });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: IncomeSourceForecastService, decorators: [{
76
76
  type: Injectable,
77
77
  args: [{
78
78
  providedIn: 'root'