@hitsoft/kadooglu-keops 0.0.2 → 0.0.4

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 (306) hide show
  1. package/config/enums/route-names.d.ts +16 -1
  2. package/esm2020/config/enums/route-names.mjs +1 -1
  3. package/esm2020/config/providers/route.provider.mjs +141 -4
  4. package/esm2020/lib/features/bl-tracking/components/bl-tracking-form.component.mjs +82 -0
  5. package/esm2020/lib/features/bl-tracking/components/bl-tracking.component.mjs +65 -0
  6. package/esm2020/lib/features/bl-tracking/hit-bl-tracking-routing.module.mjs +29 -0
  7. package/esm2020/lib/features/bl-tracking/hit-bl-tracking.module.mjs +58 -0
  8. package/esm2020/lib/features/carriers/components/carrier-form.component.mjs +78 -0
  9. package/esm2020/lib/features/carriers/components/carriers.component.mjs +66 -0
  10. package/esm2020/lib/features/carriers/hit-carriers-routing.module.mjs +29 -0
  11. package/esm2020/lib/features/carriers/hit-carriers.module.mjs +58 -0
  12. package/esm2020/lib/features/container-loading-counts/components/container-loading-counts.component.mjs +2 -2
  13. package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.mjs +6 -5
  14. package/esm2020/lib/features/cost-calculation/components/cost-calculation-inputs.component.mjs +16 -12
  15. package/esm2020/lib/features/cost-calculation/components/cost-calculation-results.component.mjs +3 -3
  16. package/esm2020/lib/features/cost-calculation/components/cost-calculation.component.mjs +90 -39
  17. package/esm2020/lib/features/cost-calculation/engine/currency.utils.mjs +10 -10
  18. package/esm2020/lib/features/cost-calculation/engine/formulas.mjs +10 -10
  19. package/esm2020/lib/features/cost-calculation/engine/item-resolver.mjs +16 -16
  20. package/esm2020/lib/features/cost-calculation/engine/stage-builder.mjs +11 -10
  21. package/esm2020/lib/features/cost-calculation/hit-cost-calculation.module.mjs +7 -3
  22. package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.mjs +3 -7
  23. package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.mjs +4 -14
  24. package/esm2020/lib/features/cost-parameters/components/cost-parameter-form.component.mjs +22 -39
  25. package/esm2020/lib/features/cost-parameters/components/cost-parameters.component.mjs +19 -15
  26. package/esm2020/lib/features/destination-ports/components/destination-port-form.component.mjs +86 -0
  27. package/esm2020/lib/features/destination-ports/components/destination-ports.component.mjs +74 -0
  28. package/esm2020/lib/features/destination-ports/hit-destination-ports-routing.module.mjs +29 -0
  29. package/esm2020/lib/features/destination-ports/hit-destination-ports.module.mjs +58 -0
  30. package/esm2020/lib/features/fob-inland-definitions/components/fob-inland-definition-form.component.mjs +80 -0
  31. package/esm2020/lib/features/fob-inland-definitions/components/fob-inland-definitions.component.mjs +65 -0
  32. package/esm2020/lib/features/fob-inland-definitions/hit-fob-inland-definitions-routing.module.mjs +29 -0
  33. package/esm2020/lib/features/fob-inland-definitions/hit-fob-inland-definitions.module.mjs +58 -0
  34. package/esm2020/lib/features/freight-offers/components/freight-offer-copy.component.mjs +67 -0
  35. package/esm2020/lib/features/freight-offers/components/freight-offer-form.component.mjs +181 -0
  36. package/esm2020/lib/features/freight-offers/components/freight-offers.component.mjs +159 -0
  37. package/esm2020/lib/features/freight-offers/hit-freight-offers-routing.module.mjs +29 -0
  38. package/esm2020/lib/features/freight-offers/hit-freight-offers.module.mjs +62 -0
  39. package/esm2020/lib/features/incoterms/components/incoterm-form.component.mjs +81 -0
  40. package/esm2020/lib/features/incoterms/components/incoterms.component.mjs +65 -0
  41. package/esm2020/lib/features/incoterms/hit-incoterms-routing.module.mjs +29 -0
  42. package/esm2020/lib/features/incoterms/hit-incoterms.module.mjs +58 -0
  43. package/esm2020/lib/features/index.mjs +29 -1
  44. package/esm2020/lib/features/item-classifications/components/item-classifications.component.mjs +199 -0
  45. package/esm2020/lib/features/item-classifications/hit-item-classifications-routing.module.mjs +29 -0
  46. package/esm2020/lib/features/item-classifications/hit-item-classifications.module.mjs +60 -0
  47. package/esm2020/lib/features/item-package-groups/components/item-package-group-form.component.mjs +78 -0
  48. package/esm2020/lib/features/item-package-groups/components/item-package-groups.component.mjs +69 -0
  49. package/esm2020/lib/features/item-package-groups/hit-item-package-groups-routing.module.mjs +29 -0
  50. package/esm2020/lib/features/item-package-groups/hit-item-package-groups.module.mjs +58 -0
  51. package/esm2020/lib/features/item-package-types/components/item-package-type-form.component.mjs +78 -0
  52. package/esm2020/lib/features/item-package-types/components/item-package-types.component.mjs +69 -0
  53. package/esm2020/lib/features/item-package-types/hit-item-package-types-routing.module.mjs +29 -0
  54. package/esm2020/lib/features/item-package-types/hit-item-package-types.module.mjs +58 -0
  55. package/esm2020/lib/features/item-product-types/components/item-product-type-form.component.mjs +78 -0
  56. package/esm2020/lib/features/item-product-types/components/item-product-types.component.mjs +69 -0
  57. package/esm2020/lib/features/item-product-types/hit-item-product-types-routing.module.mjs +29 -0
  58. package/esm2020/lib/features/item-product-types/hit-item-product-types.module.mjs +58 -0
  59. package/esm2020/lib/features/lines/components/line-form.component.mjs +78 -0
  60. package/esm2020/lib/features/lines/components/lines.component.mjs +66 -0
  61. package/esm2020/lib/features/lines/hit-lines-routing.module.mjs +29 -0
  62. package/esm2020/lib/features/lines/hit-lines.module.mjs +58 -0
  63. package/esm2020/lib/features/packaging-prices/components/packaging-price-form.component.mjs +4 -9
  64. package/esm2020/lib/features/packaging-prices/packaging-price-calculator.mjs +1 -1
  65. package/esm2020/lib/features/pos/components/pos-form.component.mjs +77 -0
  66. package/esm2020/lib/features/pos/components/pos.component.mjs +65 -0
  67. package/esm2020/lib/features/pos/hit-pos-routing.module.mjs +29 -0
  68. package/esm2020/lib/features/pos/hit-pos.module.mjs +58 -0
  69. package/esm2020/lib/features/price-parameter-types/components/price-parameter-types.component.mjs +3 -3
  70. package/esm2020/lib/features/price-parameters/components/price-parameter-form-cost-items.component.mjs +32 -0
  71. package/esm2020/lib/features/price-parameters/components/price-parameter-form-discount-rates-modal.component.mjs +52 -0
  72. package/esm2020/lib/features/price-parameters/components/price-parameter-form-discount-rates.component.mjs +84 -0
  73. package/esm2020/lib/features/price-parameters/components/price-parameter-form-items.component.mjs +43 -0
  74. package/esm2020/lib/features/price-parameters/components/price-parameter-form-price-lists.component.mjs +42 -0
  75. package/esm2020/lib/features/price-parameters/components/price-parameter-form.component.mjs +320 -0
  76. package/esm2020/lib/features/price-parameters/components/price-parameter-price-update-preview-modal.component.mjs +26 -0
  77. package/esm2020/lib/features/price-parameters/components/price-parameters.component.mjs +85 -0
  78. package/esm2020/lib/features/price-parameters/hit-price-parameters-routing.module.mjs +46 -0
  79. package/esm2020/lib/features/price-parameters/hit-price-parameters.module.mjs +96 -0
  80. package/esm2020/lib/features/price-parameters/price-parameter-cost-match.service.mjs +21 -0
  81. package/esm2020/lib/features/price-parameters/price-parameter-form-data.service.mjs +49 -0
  82. package/esm2020/lib/features/price-parameters/price-parameter-l10n-helper.mjs +7 -0
  83. package/esm2020/lib/features/price-parameters/price-parameter-lookups.service.mjs +27 -0
  84. package/esm2020/lib/features/price-parameters/price-parameter-price-update.service.mjs +119 -0
  85. package/esm2020/lib/features/settings/components/cost-settings.component.mjs +8 -4
  86. package/esm2020/lib/kadooglu-keops-routing.module.mjs +27 -1
  87. package/esm2020/lib/shared/amount-currency-input/amount-currency-input.component.mjs +68 -0
  88. package/esm2020/lib/shared/cost-item-classification.utils.mjs +15 -0
  89. package/esm2020/lib/shared/cost-item-rows.builder.mjs +40 -0
  90. package/esm2020/lib/shared/pipes/resolve-code-name.pipe.mjs +16 -0
  91. package/esm2020/lib/shared/shared-ui.module.mjs +20 -0
  92. package/esm2020/lib/utils/business-region.utils.mjs +12 -0
  93. package/esm2020/lib/utils/currency.utils.mjs +5 -1
  94. package/esm2020/lib/utils/exchange-rate.utils.mjs +12 -0
  95. package/esm2020/proxy/bl-tracking/dtos/index.mjs +2 -0
  96. package/esm2020/proxy/bl-tracking/dtos/models.mjs +2 -0
  97. package/esm2020/proxy/business-partners/dtos/index.mjs +2 -0
  98. package/esm2020/proxy/business-partners/dtos/models.mjs +2 -0
  99. package/esm2020/proxy/business-region.enum.mjs +9 -0
  100. package/esm2020/proxy/carriers/dtos/index.mjs +2 -0
  101. package/esm2020/proxy/carriers/dtos/models.mjs +2 -0
  102. package/esm2020/proxy/container-loading-counts/dtos/models.mjs +1 -1
  103. package/esm2020/proxy/controllers/bl-tracking.service.mjs +36 -0
  104. package/esm2020/proxy/controllers/business-partner.service.mjs +22 -0
  105. package/esm2020/proxy/controllers/carrier.service.mjs +36 -0
  106. package/esm2020/proxy/controllers/container-loading-count.service.mjs +5 -5
  107. package/esm2020/proxy/controllers/cost-parameter.service.mjs +1 -5
  108. package/esm2020/proxy/controllers/destination-port.service.mjs +44 -0
  109. package/esm2020/proxy/controllers/fob-inland-definition.service.mjs +36 -0
  110. package/esm2020/proxy/controllers/freight-offer.service.mjs +57 -0
  111. package/esm2020/proxy/controllers/incoterm.service.mjs +36 -0
  112. package/esm2020/proxy/controllers/index.mjs +16 -1
  113. package/esm2020/proxy/controllers/item-classification.service.mjs +42 -0
  114. package/esm2020/proxy/controllers/item-package-group.service.mjs +40 -0
  115. package/esm2020/proxy/controllers/item-package-type.service.mjs +40 -0
  116. package/esm2020/proxy/controllers/item-product-type.service.mjs +40 -0
  117. package/esm2020/proxy/controllers/item.service.mjs +7 -3
  118. package/esm2020/proxy/controllers/line.service.mjs +36 -0
  119. package/esm2020/proxy/controllers/pos.service.mjs +36 -0
  120. package/esm2020/proxy/controllers/price-list.service.mjs +28 -0
  121. package/esm2020/proxy/controllers/price-parameter.service.mjs +45 -0
  122. package/esm2020/proxy/cost-parameter-categories/dtos/models.mjs +1 -1
  123. package/esm2020/proxy/cost-parameters/dtos/models.mjs +1 -1
  124. package/esm2020/proxy/destination-ports/dtos/index.mjs +2 -0
  125. package/esm2020/proxy/destination-ports/dtos/models.mjs +2 -0
  126. package/esm2020/proxy/fob-inland-definitions/dtos/index.mjs +2 -0
  127. package/esm2020/proxy/fob-inland-definitions/dtos/models.mjs +2 -0
  128. package/esm2020/proxy/freight-offers/dtos/index.mjs +2 -0
  129. package/esm2020/proxy/freight-offers/dtos/models.mjs +2 -0
  130. package/esm2020/proxy/incoterms/dtos/index.mjs +2 -0
  131. package/esm2020/proxy/incoterms/dtos/models.mjs +2 -0
  132. package/esm2020/proxy/item-classifications/dtos/index.mjs +2 -0
  133. package/esm2020/proxy/item-classifications/dtos/models.mjs +2 -0
  134. package/esm2020/proxy/item-package-groups/dtos/index.mjs +2 -0
  135. package/esm2020/proxy/item-package-groups/dtos/models.mjs +2 -0
  136. package/esm2020/proxy/item-package-types/dtos/index.mjs +2 -0
  137. package/esm2020/proxy/item-package-types/dtos/models.mjs +2 -0
  138. package/esm2020/proxy/item-product-types/dtos/index.mjs +2 -0
  139. package/esm2020/proxy/item-product-types/dtos/models.mjs +2 -0
  140. package/esm2020/proxy/lines/dtos/index.mjs +2 -0
  141. package/esm2020/proxy/lines/dtos/models.mjs +2 -0
  142. package/esm2020/proxy/pos/dtos/index.mjs +2 -0
  143. package/esm2020/proxy/pos/dtos/models.mjs +2 -0
  144. package/esm2020/proxy/price-lists/dtos/index.mjs +2 -0
  145. package/esm2020/proxy/price-lists/dtos/models.mjs +2 -0
  146. package/esm2020/proxy/price-parameters/dtos/index.mjs +2 -0
  147. package/esm2020/proxy/price-parameters/dtos/models.mjs +2 -0
  148. package/esm2020/proxy/price-parameters/price-parameter-status.enum.mjs +9 -0
  149. package/esm2020/proxy/public-api.mjs +18 -2
  150. package/esm2020/proxy/settings/models.mjs +1 -1
  151. package/fesm2015/hitsoft-kadooglu-keops-config.mjs +140 -3
  152. package/fesm2015/hitsoft-kadooglu-keops-config.mjs.map +1 -1
  153. package/fesm2015/hitsoft-kadooglu-keops-proxy.mjs +556 -21
  154. package/fesm2015/hitsoft-kadooglu-keops-proxy.mjs.map +1 -1
  155. package/fesm2015/hitsoft-kadooglu-keops.mjs +4510 -763
  156. package/fesm2015/hitsoft-kadooglu-keops.mjs.map +1 -1
  157. package/fesm2020/hitsoft-kadooglu-keops-config.mjs +140 -3
  158. package/fesm2020/hitsoft-kadooglu-keops-config.mjs.map +1 -1
  159. package/fesm2020/hitsoft-kadooglu-keops-proxy.mjs +556 -21
  160. package/fesm2020/hitsoft-kadooglu-keops-proxy.mjs.map +1 -1
  161. package/fesm2020/hitsoft-kadooglu-keops.mjs +4462 -732
  162. package/fesm2020/hitsoft-kadooglu-keops.mjs.map +1 -1
  163. package/lib/features/bl-tracking/components/bl-tracking-form.component.d.ts +24 -0
  164. package/lib/features/bl-tracking/components/bl-tracking.component.d.ts +22 -0
  165. package/lib/features/bl-tracking/hit-bl-tracking-routing.module.d.ts +7 -0
  166. package/lib/features/bl-tracking/hit-bl-tracking.module.d.ts +18 -0
  167. package/lib/features/carriers/components/carrier-form.component.d.ts +24 -0
  168. package/lib/features/carriers/components/carriers.component.d.ts +22 -0
  169. package/lib/features/carriers/hit-carriers-routing.module.d.ts +7 -0
  170. package/lib/features/carriers/hit-carriers.module.d.ts +18 -0
  171. package/lib/features/container-loading-counts/components/container-loading-counts.component.d.ts +2 -2
  172. package/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.d.ts +1 -1
  173. package/lib/features/cost-calculation/components/cost-calculation-inputs.component.d.ts +10 -7
  174. package/lib/features/cost-calculation/components/cost-calculation.component.d.ts +16 -8
  175. package/lib/features/cost-calculation/engine/currency.utils.d.ts +2 -2
  176. package/lib/features/cost-calculation/engine/formulas.d.ts +2 -2
  177. package/lib/features/cost-calculation/hit-cost-calculation.module.d.ts +2 -1
  178. package/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.d.ts +0 -1
  179. package/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.d.ts +1 -5
  180. package/lib/features/cost-parameters/components/cost-parameter-form.component.d.ts +10 -7
  181. package/lib/features/cost-parameters/components/cost-parameters.component.d.ts +6 -6
  182. package/lib/features/destination-ports/components/destination-port-form.component.d.ts +25 -0
  183. package/lib/features/destination-ports/components/destination-ports.component.d.ts +24 -0
  184. package/lib/features/destination-ports/hit-destination-ports-routing.module.d.ts +7 -0
  185. package/lib/features/destination-ports/hit-destination-ports.module.d.ts +18 -0
  186. package/lib/features/fob-inland-definitions/components/fob-inland-definition-form.component.d.ts +24 -0
  187. package/lib/features/fob-inland-definitions/components/fob-inland-definitions.component.d.ts +22 -0
  188. package/lib/features/fob-inland-definitions/hit-fob-inland-definitions-routing.module.d.ts +7 -0
  189. package/lib/features/fob-inland-definitions/hit-fob-inland-definitions.module.d.ts +18 -0
  190. package/lib/features/freight-offers/components/freight-offer-copy.component.d.ts +22 -0
  191. package/lib/features/freight-offers/components/freight-offer-form.component.d.ts +49 -0
  192. package/lib/features/freight-offers/components/freight-offers.component.d.ts +47 -0
  193. package/lib/features/freight-offers/hit-freight-offers-routing.module.d.ts +7 -0
  194. package/lib/features/freight-offers/hit-freight-offers.module.d.ts +19 -0
  195. package/lib/features/incoterms/components/incoterm-form.component.d.ts +24 -0
  196. package/lib/features/incoterms/components/incoterms.component.d.ts +22 -0
  197. package/lib/features/incoterms/hit-incoterms-routing.module.d.ts +7 -0
  198. package/lib/features/incoterms/hit-incoterms.module.d.ts +18 -0
  199. package/lib/features/index.d.ts +21 -0
  200. package/lib/features/item-classifications/components/item-classifications.component.d.ts +66 -0
  201. package/lib/features/item-classifications/hit-item-classifications-routing.module.d.ts +7 -0
  202. package/lib/features/item-classifications/hit-item-classifications.module.d.ts +17 -0
  203. package/lib/features/item-package-groups/components/item-package-group-form.component.d.ts +24 -0
  204. package/lib/features/item-package-groups/components/item-package-groups.component.d.ts +22 -0
  205. package/lib/features/item-package-groups/hit-item-package-groups-routing.module.d.ts +7 -0
  206. package/lib/features/item-package-groups/hit-item-package-groups.module.d.ts +18 -0
  207. package/lib/features/item-package-types/components/item-package-type-form.component.d.ts +24 -0
  208. package/lib/features/item-package-types/components/item-package-types.component.d.ts +22 -0
  209. package/lib/features/item-package-types/hit-item-package-types-routing.module.d.ts +7 -0
  210. package/lib/features/item-package-types/hit-item-package-types.module.d.ts +18 -0
  211. package/lib/features/item-product-types/components/item-product-type-form.component.d.ts +24 -0
  212. package/lib/features/item-product-types/components/item-product-types.component.d.ts +22 -0
  213. package/lib/features/item-product-types/hit-item-product-types-routing.module.d.ts +7 -0
  214. package/lib/features/item-product-types/hit-item-product-types.module.d.ts +18 -0
  215. package/lib/features/lines/components/line-form.component.d.ts +24 -0
  216. package/lib/features/lines/components/lines.component.d.ts +22 -0
  217. package/lib/features/lines/hit-lines-routing.module.d.ts +7 -0
  218. package/lib/features/lines/hit-lines.module.d.ts +18 -0
  219. package/lib/features/pos/components/pos-form.component.d.ts +24 -0
  220. package/lib/features/pos/components/pos.component.d.ts +22 -0
  221. package/lib/features/pos/hit-pos-routing.module.d.ts +7 -0
  222. package/lib/features/pos/hit-pos.module.d.ts +18 -0
  223. package/lib/features/price-parameters/components/price-parameter-form-cost-items.component.d.ts +15 -0
  224. package/lib/features/price-parameters/components/price-parameter-form-discount-rates-modal.component.d.ts +24 -0
  225. package/lib/features/price-parameters/components/price-parameter-form-discount-rates.component.d.ts +22 -0
  226. package/lib/features/price-parameters/components/price-parameter-form-items.component.d.ts +15 -0
  227. package/lib/features/price-parameters/components/price-parameter-form-price-lists.component.d.ts +15 -0
  228. package/lib/features/price-parameters/components/price-parameter-form.component.d.ts +77 -0
  229. package/lib/features/price-parameters/components/price-parameter-price-update-preview-modal.component.d.ts +11 -0
  230. package/lib/features/price-parameters/components/price-parameters.component.d.ts +30 -0
  231. package/lib/features/price-parameters/hit-price-parameters-routing.module.d.ts +7 -0
  232. package/lib/features/price-parameters/hit-price-parameters.module.d.ts +25 -0
  233. package/lib/features/price-parameters/price-parameter-cost-match.service.d.ts +10 -0
  234. package/lib/features/price-parameters/price-parameter-form-data.service.d.ts +25 -0
  235. package/lib/features/price-parameters/price-parameter-l10n-helper.d.ts +2 -0
  236. package/lib/features/price-parameters/price-parameter-lookups.service.d.ts +15 -0
  237. package/lib/features/price-parameters/price-parameter-price-update.service.d.ts +30 -0
  238. package/lib/shared/amount-currency-input/amount-currency-input.component.d.ts +23 -0
  239. package/lib/shared/cost-item-classification.utils.d.ts +11 -0
  240. package/lib/shared/cost-item-rows.builder.d.ts +11 -0
  241. package/lib/shared/pipes/resolve-code-name.pipe.d.ts +11 -0
  242. package/lib/shared/shared-ui.module.d.ts +10 -0
  243. package/lib/utils/business-region.utils.d.ts +7 -0
  244. package/lib/utils/currency.utils.d.ts +2 -0
  245. package/lib/utils/exchange-rate.utils.d.ts +2 -0
  246. package/package.json +1 -1
  247. package/proxy/bl-tracking/dtos/index.d.ts +1 -0
  248. package/proxy/bl-tracking/dtos/models.d.ts +25 -0
  249. package/proxy/business-partners/dtos/index.d.ts +1 -0
  250. package/proxy/business-partners/dtos/models.d.ts +4 -0
  251. package/proxy/business-region.enum.d.ts +6 -0
  252. package/proxy/carriers/dtos/index.d.ts +1 -0
  253. package/proxy/carriers/dtos/models.d.ts +10 -0
  254. package/proxy/container-loading-counts/dtos/models.d.ts +1 -1
  255. package/proxy/controllers/bl-tracking.service.d.ts +14 -0
  256. package/proxy/controllers/business-partner.service.d.ts +11 -0
  257. package/proxy/controllers/carrier.service.d.ts +14 -0
  258. package/proxy/controllers/container-loading-count.service.d.ts +2 -2
  259. package/proxy/controllers/cost-parameter.service.d.ts +1 -2
  260. package/proxy/controllers/destination-port.service.d.ts +17 -0
  261. package/proxy/controllers/fob-inland-definition.service.d.ts +14 -0
  262. package/proxy/controllers/freight-offer.service.d.ts +19 -0
  263. package/proxy/controllers/incoterm.service.d.ts +14 -0
  264. package/proxy/controllers/index.d.ts +15 -0
  265. package/proxy/controllers/item-classification.service.d.ts +17 -0
  266. package/proxy/controllers/item-package-group.service.d.ts +15 -0
  267. package/proxy/controllers/item-package-type.service.d.ts +15 -0
  268. package/proxy/controllers/item-product-type.service.d.ts +15 -0
  269. package/proxy/controllers/item.service.d.ts +3 -1
  270. package/proxy/controllers/line.service.d.ts +14 -0
  271. package/proxy/controllers/pos.service.d.ts +14 -0
  272. package/proxy/controllers/price-list.service.d.ts +13 -0
  273. package/proxy/controllers/price-parameter.service.d.ts +16 -0
  274. package/proxy/cost-parameter-categories/dtos/models.d.ts +0 -4
  275. package/proxy/cost-parameters/dtos/models.d.ts +4 -11
  276. package/proxy/destination-ports/dtos/index.d.ts +1 -0
  277. package/proxy/destination-ports/dtos/models.d.ts +19 -0
  278. package/proxy/fob-inland-definitions/dtos/index.d.ts +1 -0
  279. package/proxy/fob-inland-definitions/dtos/models.d.ts +19 -0
  280. package/proxy/freight-offers/dtos/index.d.ts +1 -0
  281. package/proxy/freight-offers/dtos/models.d.ts +66 -0
  282. package/proxy/incoterms/dtos/index.d.ts +1 -0
  283. package/proxy/incoterms/dtos/models.d.ts +22 -0
  284. package/proxy/item-classifications/dtos/index.d.ts +1 -0
  285. package/proxy/item-classifications/dtos/models.d.ts +34 -0
  286. package/proxy/item-package-groups/dtos/index.d.ts +1 -0
  287. package/proxy/item-package-groups/dtos/models.d.ts +13 -0
  288. package/proxy/item-package-types/dtos/index.d.ts +1 -0
  289. package/proxy/item-package-types/dtos/models.d.ts +13 -0
  290. package/proxy/item-product-types/dtos/index.d.ts +1 -0
  291. package/proxy/item-product-types/dtos/models.d.ts +13 -0
  292. package/proxy/lines/dtos/index.d.ts +1 -0
  293. package/proxy/lines/dtos/models.d.ts +10 -0
  294. package/proxy/pos/dtos/index.d.ts +1 -0
  295. package/proxy/pos/dtos/models.d.ts +10 -0
  296. package/proxy/price-lists/dtos/index.d.ts +1 -0
  297. package/proxy/price-lists/dtos/models.d.ts +10 -0
  298. package/proxy/price-parameters/dtos/index.d.ts +1 -0
  299. package/proxy/price-parameters/dtos/models.d.ts +104 -0
  300. package/proxy/price-parameters/price-parameter-status.enum.d.ts +6 -0
  301. package/proxy/public-api.d.ts +17 -1
  302. package/proxy/settings/models.d.ts +1 -0
  303. package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs +0 -9
  304. package/esm2020/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.mjs +0 -11
  305. package/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.d.ts +0 -2
  306. package/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.d.ts +0 -8
@@ -2,30 +2,37 @@ import { Component, ViewEncapsulation } from '@angular/core';
2
2
  import { forkJoin } from 'rxjs';
3
3
  import DataSource from 'devextreme/data/data_source';
4
4
  import ArrayStore from 'devextreme/data/array_store';
5
- import { ExchangeRateSource, Currency, CostItemCalculationType, } from '@hitsoft/kadooglu-keops/proxy';
5
+ import { CostItemSystemCode, Currency, } from '@hitsoft/kadooglu-keops/proxy';
6
6
  import { buildRoleGroups, calculateCost } from '../engine';
7
+ import { toAmount } from '../engine/currency.utils';
7
8
  import { parseDecimal } from '../../../utils/number.utils';
9
+ import { resolveSystemRates } from '../../../utils/exchange-rate.utils';
10
+ import { isRateCostItem } from '../../../shared/cost-item-classification.utils';
11
+ import { businessRegionLabels } from '../../../utils/business-region.utils';
8
12
  import * as i0 from "@angular/core";
9
13
  import * as i1 from "@hitsoft/kadooglu-keops/proxy";
10
- import * as i2 from "@abp/ng.components/page";
11
- import * as i3 from "./cost-calculation-inputs.component";
12
- import * as i4 from "./cost-calculation-results.component";
13
- import * as i5 from "./cost-calculation-result-sum.component";
14
- import * as i6 from "@abp/ng.core";
14
+ import * as i2 from "../../price-parameters/price-parameter-lookups.service";
15
+ import * as i3 from "@abp/ng.core";
16
+ import * as i4 from "@abp/ng.components/page";
17
+ import * as i5 from "./cost-calculation-inputs.component";
18
+ import * as i6 from "./cost-calculation-results.component";
19
+ import * as i7 from "./cost-calculation-result-sum.component";
15
20
  export class CostCalculationComponent {
16
- constructor(parameterService, costItemService, costGroupService, exchangeRateService, itemService) {
21
+ constructor(parameterService, priceParameterLookupsService, costItemService, costGroupService, exchangeRateService, itemService, localization) {
17
22
  this.parameterService = parameterService;
23
+ this.priceParameterLookupsService = priceParameterLookupsService;
18
24
  this.costItemService = costItemService;
19
25
  this.costGroupService = costGroupService;
20
26
  this.exchangeRateService = exchangeRateService;
21
27
  this.itemService = itemService;
28
+ this.localization = localization;
22
29
  this.itemCodePrefix = '05';
23
30
  this.productItems = [];
24
31
  this.itemsDataSource = null;
25
32
  this.selectedItemCode = null;
26
33
  this.selectedItemName = null;
27
34
  this.parameters = [];
28
- this.selectedParameterCode = null;
35
+ this.selectedParameterDocEntry = null;
29
36
  this.rawOilPrice = 0;
30
37
  this.rawOilCurrency = Currency.USD;
31
38
  this.systemRateUsd = 0;
@@ -35,10 +42,11 @@ export class CostCalculationComponent {
35
42
  this.stages = [];
36
43
  this.result = null;
37
44
  this.roleGroups = [];
45
+ this.packagingBaseTry = 0;
38
46
  this.costItemsByCode = new Map();
39
47
  this.groups = [];
40
48
  this.productGroupNames = new Map();
41
- this.regionNames = new Map();
49
+ this.typeNames = new Map();
42
50
  this.itemDisplayExpr = (item) => item ? [item.code, item.name].filter(Boolean).join(' — ') : '';
43
51
  this.parameterDisplayExpr = (p) => p ? this.parameterLabel(p) : '';
44
52
  }
@@ -49,25 +57,18 @@ export class CostCalculationComponent {
49
57
  costItems: this.costItemService.getList(),
50
58
  groups: this.costGroupService.getList(),
51
59
  rate: this.exchangeRateService.get(),
52
- lookups: this.parameterService.getCodeLookups(),
53
- items: this.itemService.getList(this.itemCodePrefix),
54
- }).subscribe(({ parameters, costItems, groups, rate, lookups, items }) => {
60
+ lookups: this.priceParameterLookupsService.loadTypeAndCategoryLookups(),
61
+ }).subscribe(({ parameters, costItems, groups, rate, lookups }) => {
55
62
  this.parameters = parameters ?? [];
56
- this.productItems = items ?? [];
57
- this.itemsDataSource = new DataSource({
58
- store: new ArrayStore({ key: 'code', data: this.productItems }),
59
- paginate: true,
60
- pageSize: 50,
61
- });
62
- this.productGroupNames = this.toNameMap(lookups?.productGroups);
63
- this.regionNames = this.toNameMap(lookups?.regions);
63
+ this.productGroupNames = this.toNameMap(lookups.groupOptions);
64
+ this.typeNames = this.toNameMap(lookups.typeOptions);
64
65
  this.costItemsByCode = new Map();
65
66
  for (const ci of costItems ?? []) {
66
67
  if (ci.code)
67
68
  this.costItemsByCode.set(ci.code, ci);
68
69
  }
69
70
  this.groups = (groups ?? []).slice().sort((a, b) => a.displayOrder - b.displayOrder);
70
- const [usd, eur] = this.resolveRates(rate);
71
+ const [usd, eur] = resolveSystemRates(rate);
71
72
  this.systemRateUsd = usd;
72
73
  this.systemRateEur = eur;
73
74
  this.rateUsd = usd;
@@ -76,13 +77,42 @@ export class CostCalculationComponent {
76
77
  });
77
78
  }
78
79
  parameterLabel(p) {
79
- const productGroup = this.productGroupNames.get(p.productGroup ?? '') ?? p.productGroup;
80
- const region = this.regionNames.get(p.region ?? '') ?? p.region;
81
- return [productGroup, region].filter(Boolean).join(' — ') || (p.code ?? '');
80
+ const groupName = this.productGroupNames.get(p.groupCode ?? '') ?? p.groupCode;
81
+ const typeName = this.typeNames.get(p.typeCode ?? '') ?? p.typeCode;
82
+ const region = this.localization.instant(businessRegionLabels[p.region]);
83
+ return [typeName, groupName, region].filter(Boolean).join(' — ') || String(p.docEntry ?? '');
82
84
  }
83
85
  onItemChange() {
84
86
  const item = this.productItems.find(x => x.code === this.selectedItemCode);
85
87
  this.selectedItemName = item?.name ?? null;
88
+ this.loadPackagingCost();
89
+ }
90
+ loadPackagingCost() {
91
+ if (!this.selectedItemCode) {
92
+ this.packagingBaseTry = 0;
93
+ this.calculate();
94
+ return;
95
+ }
96
+ this.itemService.getPackagingCost(this.selectedItemCode).subscribe(amount => {
97
+ this.packagingBaseTry = amount ?? 0;
98
+ this.calculate();
99
+ });
100
+ }
101
+ findPackagingItem() {
102
+ for (const stage of this.stages) {
103
+ const found = stage.items.find(item => item.systemCode === CostItemSystemCode.Packaging);
104
+ if (found)
105
+ return found;
106
+ }
107
+ return undefined;
108
+ }
109
+ applyPackagingAmount() {
110
+ const item = this.findPackagingItem();
111
+ if (!item)
112
+ return;
113
+ const amounts = toAmount(this.packagingBaseTry, this.rateUsd, this.rateEur);
114
+ item.value =
115
+ item.currency === Currency.TRY ? amounts.try : item.currency === Currency.EUR ? amounts.eur : amounts.usd;
86
116
  }
87
117
  toNameMap(options) {
88
118
  const map = new Map();
@@ -93,10 +123,38 @@ export class CostCalculationComponent {
93
123
  return map;
94
124
  }
95
125
  onParameterChange() {
96
- const parameter = this.parameters.find(p => p.code === this.selectedParameterCode);
126
+ const parameter = this.parameters.find(p => p.docEntry === this.selectedParameterDocEntry);
97
127
  this.stages = parameter ? this.buildStages(parameter) : [];
128
+ this.selectedItemCode = null;
129
+ this.selectedItemName = null;
130
+ this.packagingBaseTry = 0;
131
+ if (parameter) {
132
+ this.rawOilPrice = parameter.rawOilPrice ?? 0;
133
+ this.rawOilCurrency = parameter.rawOilCurrency ?? Currency.USD;
134
+ this.rateUsd = parameter.exchangeRateUsd || this.systemRateUsd;
135
+ this.rateEur = parameter.exchangeRateEur || this.systemRateEur;
136
+ this.loadProductItems(parameter.region, parameter.groupCode);
137
+ }
138
+ else {
139
+ this.productItems = [];
140
+ this.itemsDataSource = new DataSource({
141
+ store: new ArrayStore({ key: 'code', data: [] }),
142
+ paginate: true,
143
+ pageSize: 50,
144
+ });
145
+ }
98
146
  this.calculate();
99
147
  }
148
+ loadProductItems(region, groupCode) {
149
+ this.itemService.getList(this.itemCodePrefix, region, groupCode).subscribe(items => {
150
+ this.productItems = items ?? [];
151
+ this.itemsDataSource = new DataSource({
152
+ store: new ArrayStore({ key: 'code', data: this.productItems }),
153
+ paginate: true,
154
+ pageSize: 50,
155
+ });
156
+ });
157
+ }
100
158
  buildValuesByCode(parameter) {
101
159
  const map = new Map();
102
160
  for (const item of parameter.items ?? []) {
@@ -115,7 +173,7 @@ export class CostCalculationComponent {
115
173
  if (!costItem)
116
174
  continue;
117
175
  const stored = valuesByCode.get(code);
118
- const isRate = costItem.calculationType === CostItemCalculationType.Rate;
176
+ const isRate = isRateCostItem(costItem);
119
177
  items.push({
120
178
  costItemCode: code,
121
179
  costItemName: costItem.name ?? code,
@@ -135,6 +193,7 @@ export class CostCalculationComponent {
135
193
  });
136
194
  }
137
195
  calculate() {
196
+ this.applyPackagingAmount();
138
197
  this.result = calculateCost({
139
198
  rawOilPrice: parseDecimal(this.rawOilPrice),
140
199
  rawOilCurrency: this.rawOilCurrency,
@@ -147,19 +206,11 @@ export class CostCalculationComponent {
147
206
  print() {
148
207
  window.print();
149
208
  }
150
- resolveRates(rate) {
151
- if (!rate)
152
- return [0, 0];
153
- if (rate.source === ExchangeRateSource.Fixed) {
154
- return [rate.fixedUsdRate ?? 0, rate.fixedEurRate ?? 0];
155
- }
156
- return [rate.cbExchangeRate?.usdBuyingRate ?? 0, rate.cbExchangeRate?.eurBuyingRate ?? 0];
157
- }
158
209
  }
159
- CostCalculationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostCalculationComponent, deps: [{ token: i1.CostParameterService }, { token: i1.CostItemService }, { token: i1.CostGroupService }, { token: i1.ExchangeRateService }, { token: i1.ItemService }], target: i0.ɵɵFactoryTarget.Component });
160
- CostCalculationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostCalculationComponent, selector: "lib-cost-calculation", ngImport: i0, template: "<abp-page [title]=\"'Keops::CostCalculations:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2\">\r\n <button class=\"btn btn-outline-primary\" type=\"button\" (click)=\"print()\" [disabled]=\"!result\">\r\n <i class=\"fa fa-print me-1\"></i>\r\n <span>{{ 'Keops::CostCalculations:Print' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-lg-4 mb-3\">\r\n <lib-cost-calculation-inputs\r\n [itemsDataSource]=\"itemsDataSource\"\r\n [itemDisplayExpr]=\"itemDisplayExpr\"\r\n [parameters]=\"parameters\"\r\n [parameterDisplayExpr]=\"parameterDisplayExpr\"\r\n [stages]=\"stages\"\r\n [(selectedItemCode)]=\"selectedItemCode\"\r\n [(selectedParameterCode)]=\"selectedParameterCode\"\r\n [(rawOilPrice)]=\"rawOilPrice\"\r\n [(rawOilCurrency)]=\"rawOilCurrency\"\r\n [systemRateUsd]=\"systemRateUsd\"\r\n [systemRateEur]=\"systemRateEur\"\r\n [(rateUsd)]=\"rateUsd\"\r\n [(rateEur)]=\"rateEur\"\r\n (itemChange)=\"onItemChange()\"\r\n (parameterChange)=\"onParameterChange()\"\r\n (recalc)=\"calculate()\"\r\n ></lib-cost-calculation-inputs>\r\n </div>\r\n\r\n <div class=\"col-lg-8 mb-3\">\r\n <div class=\"d-print-none\">\r\n <lib-cost-calculation-result-sum [roleGroups]=\"roleGroups\"></lib-cost-calculation-result-sum>\r\n </div>\r\n <div id=\"cost-calculation-results\">\r\n <lib-cost-calculation-results [result]=\"result\" [roleGroups]=\"roleGroups\" [itemName]=\"selectedItemName\" [rateUsd]=\"rateUsd\" [rateEur]=\"rateEur\"></lib-cost-calculation-results>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: ["@media print{body *{visibility:hidden}#cost-calculation-results,#cost-calculation-results *{visibility:visible}#cost-calculation-results{position:absolute;inset:0;width:100%}}\n"], dependencies: [{ kind: "component", type: i2.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i2.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i3.CostCalculationInputsComponent, selector: "lib-cost-calculation-inputs", inputs: ["itemsDataSource", "itemDisplayExpr", "parameters", "parameterDisplayExpr", "stages", "selectedItemCode", "selectedParameterCode", "rawOilPrice", "rawOilCurrency", "systemRateUsd", "systemRateEur", "rateUsd", "rateEur"], outputs: ["selectedItemCodeChange", "selectedParameterCodeChange", "rawOilPriceChange", "rawOilCurrencyChange", "rateUsdChange", "rateEurChange", "itemChange", "parameterChange", "recalc"] }, { kind: "component", type: i4.CostCalculationResultsComponent, selector: "lib-cost-calculation-results", inputs: ["result", "roleGroups", "itemName", "rateUsd", "rateEur"] }, { kind: "component", type: i5.CostCalculationResultSumComponent, selector: "lib-cost-calculation-result-sum", inputs: ["roleGroups"] }, { kind: "pipe", type: i6.LocalizationPipe, name: "abpLocalization" }], encapsulation: i0.ViewEncapsulation.None });
210
+ CostCalculationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostCalculationComponent, deps: [{ token: i1.PriceParameterService }, { token: i2.PriceParameterLookupsService }, { token: i1.CostItemService }, { token: i1.CostGroupService }, { token: i1.ExchangeRateService }, { token: i1.ItemService }, { token: i3.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
211
+ CostCalculationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostCalculationComponent, selector: "lib-cost-calculation", ngImport: i0, template: "<abp-page [title]=\"'Keops::CostCalculations:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2\">\r\n <button class=\"btn btn-outline-primary\" type=\"button\" (click)=\"print()\" [disabled]=\"!result\">\r\n <i class=\"fa fa-print me-1\"></i>\r\n <span>{{ 'Keops::CostCalculations:Print' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-lg-4 mb-3\">\r\n <lib-cost-calculation-inputs\r\n [itemsDataSource]=\"itemsDataSource\"\r\n [itemDisplayExpr]=\"itemDisplayExpr\"\r\n [parameters]=\"parameters\"\r\n [parameterDisplayExpr]=\"parameterDisplayExpr\"\r\n [stages]=\"stages\"\r\n [(selectedItemCode)]=\"selectedItemCode\"\r\n [(selectedParameterDocEntry)]=\"selectedParameterDocEntry\"\r\n [(rawOilPrice)]=\"rawOilPrice\"\r\n [(rawOilCurrency)]=\"rawOilCurrency\"\r\n [systemRateUsd]=\"systemRateUsd\"\r\n [systemRateEur]=\"systemRateEur\"\r\n [(rateUsd)]=\"rateUsd\"\r\n [(rateEur)]=\"rateEur\"\r\n (itemChange)=\"onItemChange()\"\r\n (parameterChange)=\"onParameterChange()\"\r\n (recalc)=\"calculate()\"\r\n ></lib-cost-calculation-inputs>\r\n </div>\r\n\r\n <div class=\"col-lg-8 mb-3\">\r\n <div class=\"d-print-none\">\r\n <lib-cost-calculation-result-sum [roleGroups]=\"roleGroups\"></lib-cost-calculation-result-sum>\r\n </div>\r\n <div id=\"cost-calculation-results\">\r\n <lib-cost-calculation-results [result]=\"result\" [roleGroups]=\"roleGroups\" [itemName]=\"selectedItemName\" [rateUsd]=\"rateUsd\" [rateEur]=\"rateEur\"></lib-cost-calculation-results>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: ["@media print{body *{visibility:hidden}#cost-calculation-results,#cost-calculation-results *{visibility:visible}#cost-calculation-results{position:absolute;inset:0;width:100%}}\n"], dependencies: [{ kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i5.CostCalculationInputsComponent, selector: "lib-cost-calculation-inputs", inputs: ["itemsDataSource", "itemDisplayExpr", "parameters", "parameterDisplayExpr", "stages", "selectedItemCode", "selectedParameterDocEntry", "rawOilPrice", "rawOilCurrency", "systemRateUsd", "systemRateEur", "rateUsd", "rateEur"], outputs: ["selectedItemCodeChange", "selectedParameterDocEntryChange", "rawOilPriceChange", "rawOilCurrencyChange", "rateUsdChange", "rateEurChange", "itemChange", "parameterChange", "recalc"] }, { kind: "component", type: i6.CostCalculationResultsComponent, selector: "lib-cost-calculation-results", inputs: ["result", "roleGroups", "itemName", "rateUsd", "rateEur"] }, { kind: "component", type: i7.CostCalculationResultSumComponent, selector: "lib-cost-calculation-result-sum", inputs: ["roleGroups"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }], encapsulation: i0.ViewEncapsulation.None });
161
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostCalculationComponent, decorators: [{
162
213
  type: Component,
163
- args: [{ selector: 'lib-cost-calculation', encapsulation: ViewEncapsulation.None, template: "<abp-page [title]=\"'Keops::CostCalculations:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2\">\r\n <button class=\"btn btn-outline-primary\" type=\"button\" (click)=\"print()\" [disabled]=\"!result\">\r\n <i class=\"fa fa-print me-1\"></i>\r\n <span>{{ 'Keops::CostCalculations:Print' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-lg-4 mb-3\">\r\n <lib-cost-calculation-inputs\r\n [itemsDataSource]=\"itemsDataSource\"\r\n [itemDisplayExpr]=\"itemDisplayExpr\"\r\n [parameters]=\"parameters\"\r\n [parameterDisplayExpr]=\"parameterDisplayExpr\"\r\n [stages]=\"stages\"\r\n [(selectedItemCode)]=\"selectedItemCode\"\r\n [(selectedParameterCode)]=\"selectedParameterCode\"\r\n [(rawOilPrice)]=\"rawOilPrice\"\r\n [(rawOilCurrency)]=\"rawOilCurrency\"\r\n [systemRateUsd]=\"systemRateUsd\"\r\n [systemRateEur]=\"systemRateEur\"\r\n [(rateUsd)]=\"rateUsd\"\r\n [(rateEur)]=\"rateEur\"\r\n (itemChange)=\"onItemChange()\"\r\n (parameterChange)=\"onParameterChange()\"\r\n (recalc)=\"calculate()\"\r\n ></lib-cost-calculation-inputs>\r\n </div>\r\n\r\n <div class=\"col-lg-8 mb-3\">\r\n <div class=\"d-print-none\">\r\n <lib-cost-calculation-result-sum [roleGroups]=\"roleGroups\"></lib-cost-calculation-result-sum>\r\n </div>\r\n <div id=\"cost-calculation-results\">\r\n <lib-cost-calculation-results [result]=\"result\" [roleGroups]=\"roleGroups\" [itemName]=\"selectedItemName\" [rateUsd]=\"rateUsd\" [rateEur]=\"rateEur\"></lib-cost-calculation-results>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: ["@media print{body *{visibility:hidden}#cost-calculation-results,#cost-calculation-results *{visibility:visible}#cost-calculation-results{position:absolute;inset:0;width:100%}}\n"] }]
164
- }], ctorParameters: function () { return [{ type: i1.CostParameterService }, { type: i1.CostItemService }, { type: i1.CostGroupService }, { type: i1.ExchangeRateService }, { type: i1.ItemService }]; } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1jYWxjdWxhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtY2FsY3VsYXRpb24vY29tcG9uZW50cy9jb3N0LWNhbGN1bGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1jYWxjdWxhdGlvbi9jb21wb25lbnRzL2Nvc3QtY2FsY3VsYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sRUFZTCxrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLHVCQUF1QixHQUN4QixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUF5QixNQUFNLFdBQVcsQ0FBQztBQUVsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7O0FBUTNELE1BQU0sT0FBTyx3QkFBd0I7SUE0Qm5DLFlBQ21CLGdCQUFzQyxFQUN0QyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLFdBQXdCO1FBSnhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBc0I7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4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QUFDLE1BQU0sS0FBSyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7WUFDNUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7O3FIQXZLVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qiw0REM5QnJDLDQ1REE0Q0E7MkZEZGEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLHNCQUFzQixpQkFHakIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgRGF0YVNvdXJjZSBmcm9tICdkZXZleHRyZW1lL2RhdGEvZGF0YV9zb3VyY2UnO1xyXG5pbXBvcnQgQXJyYXlTdG9yZSBmcm9tICdkZXZleHRyZW1lL2RhdGEvYXJyYXlfc3RvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvc3RHcm91cFNlcnZpY2UsXHJcbiAgQ29zdEl0ZW1TZXJ2aWNlLFxyXG4gIENvc3RQYXJhbWV0ZXJTZXJ2aWNlLFxyXG4gIEV4Y2hhbmdlUmF0ZVNlcnZpY2UsXHJcbiAgSXRlbVNlcnZpY2UsXHJcbiAgSXRlbUR0byxcclxuICBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlMb29rdXBEdG8sXHJcbiAgQ29zdFBhcmFtZXRlckR0byxcclxuICBDb3N0SXRlbUR0byxcclxuICBDb3N0R3JvdXBEdG8sXHJcbiAgRXhjaGFuZ2VSYXRlRHRvLFxyXG4gIEV4Y2hhbmdlUmF0ZVNvdXJjZSxcclxuICBDdXJyZW5jeSxcclxuICBDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZSxcclxufSBmcm9tICdAaGl0c29mdC9rYWRvb2dsdS1rZW9wcy9wcm94eSc7XHJcbmltcG9ydCB7IGJ1aWxkUm9sZUdyb3VwcywgY2FsY3VsYXRlQ29zdCwgQ29zdFJlc3VsdCwgUm9sZUdyb3VwIH0gZnJvbSAnLi4vZW5naW5lJztcclxuaW1wb3J0IHsgQ29zdENhbGN1bGF0aW9uSXRlbSwgQ29zdENhbGN1bGF0aW9uU3RhZ2UgfSBmcm9tICcuLi9jb3N0LWNhbGN1bGF0aW9uLm1vZGVscyc7XHJcbmltcG9ydCB7IHBhcnNlRGVjaW1hbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL251bWJlci51dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb3N0LWNhbGN1bGF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29zdC1jYWxjdWxhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29zdC1jYWxjdWxhdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3N0Q2FsY3VsYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGl0ZW1Db2RlUHJlZml4ID0gJzA1JztcclxuICBwcm9kdWN0SXRlbXM6IEl0ZW1EdG9bXSA9IFtdO1xyXG4gIGl0ZW1zRGF0YVNvdXJjZTogRGF0YVNvdXJjZSB8IG51bGwgPSBudWxsO1xyXG4gIHNlbGVjdGVkSXRlbUNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNlbGVjdGVkSXRlbU5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwYXJhbWV0ZXJzOiBDb3N0UGFyYW1ldGVyRHRvW10gPSBbXTtcclxuICBzZWxlY3RlZFBhcmFtZXRlckNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICByYXdPaWxQcmljZSA9IDA7XHJcbiAgcmF3T2lsQ3VycmVuY3kgPSBDdXJyZW5jeS5VU0Q7XHJcblxyXG4gIHN5c3RlbVJhdGVVc2QgPSAwO1xyXG4gIHN5c3RlbVJhdGVFdXIgPSAwO1xyXG5cclxuICByYXRlVXNkID0gMDtcclxuICByYXRlRXVyID0gMDtcclxuXHJcbiAgc3RhZ2VzOiBDb3N0Q2FsY3VsYXRpb25TdGFnZVtdID0gW107XHJcbiAgcmVzdWx0OiBDb3N0UmVzdWx0IHwgbnVsbCA9IG51bGw7XHJcbiAgcm9sZUdyb3VwczogUm9sZUdyb3VwW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBjb3N0SXRlbXNCeUNvZGUgPSBuZXcgTWFwPHN0cmluZywgQ29zdEl0ZW1EdG8+KCk7XHJcbiAgcHJpdmF0ZSBncm91cHM6IENvc3RHcm91cER0b1tdID0gW107XHJcbiAgcHJpdmF0ZSBwcm9kdWN0R3JvdXBOYW1lcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcbiAgcHJpdmF0ZSByZWdpb25OYW1lcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXJhbWV0ZXJTZXJ2aWNlOiBDb3N0UGFyYW1ldGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29zdEl0ZW1TZXJ2aWNlOiBDb3N0SXRlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvc3RHcm91cFNlcnZpY2U6IENvc3RHcm91cFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4Y2hhbmdlUmF0ZVNlcnZpY2U6IEV4Y2hhbmdlUmF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1TZXJ2aWNlOiBJdGVtU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxjdWxhdGUoKTtcclxuXHJcbiAgICBmb3JrSm9pbih7XHJcbiAgICAgIHBhcmFtZXRlcnM6IHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRMaXN0KCksXHJcbiAgICAgIGNvc3RJdGVtczogdGhpcy5jb3N0SXRlbVNlcnZpY2UuZ2V0TGlzdCgpLFxyXG4gICAgICBncm91cHM6IHRoaXMuY29zdEdyb3VwU2VydmljZS5nZXRMaXN0KCksXHJcbiAgICAgIHJhdGU6IHRoaXMuZXhjaGFuZ2VSYXRlU2VydmljZS5nZXQoKSxcclxuICAgICAgbG9va3VwczogdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENvZGVMb29rdXBzKCksXHJcbiAgICAgIGl0ZW1zOiB0aGlzLml0ZW1TZXJ2aWNlLmdldExpc3QodGhpcy5pdGVtQ29kZVByZWZpeCksXHJcbiAgICB9KS5zdWJzY3JpYmUoKHsgcGFyYW1ldGVycywgY29zdEl0ZW1zLCBncm91cHMsIHJhdGUsIGxvb2t1cHMsIGl0ZW1zIH0pID0+IHtcclxuICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycyA/PyBbXTtcclxuICAgICAgdGhpcy5wcm9kdWN0SXRlbXMgPSBpdGVtcyA/PyBbXTtcclxuICAgICAgdGhpcy5pdGVtc0RhdGFTb3VyY2UgPSBuZXcgRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgc3RvcmU6IG5ldyBBcnJheVN0b3JlKHsga2V5OiAnY29kZScsIGRhdGE6IHRoaXMucHJvZHVjdEl0ZW1zIH0pLFxyXG4gICAgICAgIHBhZ2luYXRlOiB0cnVlLFxyXG4gICAgICAgIHBhZ2VTaXplOiA1MCxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnByb2R1Y3RHcm91cE5hbWVzID0gdGhpcy50b05hbWVNYXAobG9va3Vwcz8ucHJvZHVjdEdyb3Vwcyk7XHJcbiAgICAgIHRoaXMucmVnaW9uTmFtZXMgPSB0aGlzLnRvTmFtZU1hcChsb29rdXBzPy5yZWdpb25zKTtcclxuXHJcbiAgICAgIHRoaXMuY29zdEl0ZW1zQnlDb2RlID0gbmV3IE1hcDxzdHJpbmcsIENvc3RJdGVtRHRvPigpO1xyXG4gICAgICBmb3IgKGNvbnN0IGNpIG9mIGNvc3RJdGVtcyA/PyBbXSkge1xyXG4gICAgICAgIGlmIChjaS5jb2RlKSB0aGlzLmNvc3RJdGVtc0J5Q29kZS5zZXQoY2kuY29kZSwgY2kpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmdyb3VwcyA9IChncm91cHMgPz8gW10pLnNsaWNlKCkuc29ydCgoYSwgYikgPT4gYS5kaXNwbGF5T3JkZXIgLSBiLmRpc3BsYXlPcmRlcik7XHJcblxyXG4gICAgICBjb25zdCBbdXNkLCBldXJdID0gdGhpcy5yZXNvbHZlUmF0ZXMocmF0ZSk7XHJcbiAgICAgIHRoaXMuc3lzdGVtUmF0ZVVzZCA9IHVzZDtcclxuICAgICAgdGhpcy5zeXN0ZW1SYXRlRXVyID0gZXVyO1xyXG4gICAgICB0aGlzLnJhdGVVc2QgPSB1c2Q7XHJcbiAgICAgIHRoaXMucmF0ZUV1ciA9IGV1cjtcclxuXHJcbiAgICAgIHRoaXMuY2FsY3VsYXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHBhcmFtZXRlckxhYmVsKHA6IENvc3RQYXJhbWV0ZXJEdG8pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcHJvZHVjdEdyb3VwID0gdGhpcy5wcm9kdWN0R3JvdXBOYW1lcy5nZXQocC5wcm9kdWN0R3JvdXAgPz8gJycpID8/IHAucHJvZHVjdEdyb3VwO1xyXG4gICAgY29uc3QgcmVnaW9uID0gdGhpcy5yZWdpb25OYW1lcy5nZXQocC5yZWdpb24gPz8gJycpID8/IHAucmVnaW9uO1xyXG4gICAgcmV0dXJuIFtwcm9kdWN0R3JvdXAsIHJlZ2lvbl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyDigJQgJykgfHwgKHAuY29kZSA/PyAnJyk7XHJcbiAgfVxyXG5cclxuICBvbkl0ZW1DaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5wcm9kdWN0SXRlbXMuZmluZCh4ID0+IHguY29kZSA9PT0gdGhpcy5zZWxlY3RlZEl0ZW1Db2RlKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtTmFtZSA9IGl0ZW0/Lm5hbWUgPz8gbnVsbDtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGl0ZW1EaXNwbGF5RXhwciA9IChpdGVtOiBJdGVtRHRvKTogc3RyaW5nID0+XHJcbiAgICBpdGVtID8gW2l0ZW0uY29kZSwgaXRlbS5uYW1lXS5maWx0ZXIoQm9vbGVhbikuam9pbignIOKAlCAnKSA6ICcnO1xyXG5cclxuICByZWFkb25seSBwYXJhbWV0ZXJEaXNwbGF5RXhwciA9IChwOiBDb3N0UGFyYW1ldGVyRHRvKTogc3RyaW5nID0+XHJcbiAgICBwID8gdGhpcy5wYXJhbWV0ZXJMYWJlbChwKSA6ICcnO1xyXG5cclxuICBwcml2YXRlIHRvTmFtZU1hcChvcHRpb25zOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlMb29rdXBEdG9bXSB8IHVuZGVmaW5lZCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMgPz8gW10pIHtcclxuICAgICAgaWYgKG9wdGlvbi5jb2RlKSBtYXAuc2V0KG9wdGlvbi5jb2RlLCBvcHRpb24ubmFtZSA/PyBvcHRpb24uY29kZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWFwO1xyXG4gIH1cclxuXHJcbiAgb25QYXJhbWV0ZXJDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXJhbWV0ZXIgPSB0aGlzLnBhcmFtZXRlcnMuZmluZChwID0+IHAuY29kZSA9PT0gdGhpcy5zZWxlY3RlZFBhcmFtZXRlckNvZGUpO1xyXG4gICAgdGhpcy5zdGFnZXMgPSBwYXJhbWV0ZXIgPyB0aGlzLmJ1aWxkU3RhZ2VzKHBhcmFtZXRlcikgOiBbXTtcclxuICAgIHRoaXMuY2FsY3VsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkVmFsdWVzQnlDb2RlKFxyXG4gICAgcGFyYW1ldGVyOiBDb3N0UGFyYW1ldGVyRHRvLFxyXG4gICk6IE1hcDxzdHJpbmcsIHsgdmFsdWU6IG51bWJlcjsgY3VycmVuY3k/OiBDdXJyZW5jeSB9PiB7XHJcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgeyB2YWx1ZTogbnVtYmVyOyBjdXJyZW5jeT86IEN1cnJlbmN5IH0+KCk7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcGFyYW1ldGVyLml0ZW1zID8/IFtdKSB7XHJcbiAgICAgIGlmIChpdGVtLmNvc3RJdGVtQ29kZSkge1xyXG4gICAgICAgIG1hcC5zZXQoaXRlbS5jb3N0SXRlbUNvZGUsIHsgdmFsdWU6IHBhcnNlRGVjaW1hbChpdGVtLnZhbHVlKSwgY3VycmVuY3k6IGl0ZW0uY3VycmVuY3kgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBtYXA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkU3RhZ2VzKHBhcmFtZXRlcjogQ29zdFBhcmFtZXRlckR0byk6IENvc3RDYWxjdWxhdGlvblN0YWdlW10ge1xyXG4gICAgY29uc3QgdmFsdWVzQnlDb2RlID0gdGhpcy5idWlsZFZhbHVlc0J5Q29kZShwYXJhbWV0ZXIpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzLm1hcChncm91cCA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zOiBDb3N0Q2FsY3VsYXRpb25JdGVtW10gPSBbXTtcclxuICAgICAgZm9yIChjb25zdCBjb2RlIG9mIGdyb3VwLml0ZW1Db2RlcyA/PyBbXSkge1xyXG4gICAgICAgIGNvbnN0IGNvc3RJdGVtID0gdGhpcy5jb3N0SXRlbXNCeUNvZGUuZ2V0KGNvZGUpO1xyXG4gICAgICAgIGlmICghY29zdEl0ZW0pIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IHN0b3JlZCA9IHZhbHVlc0J5Q29kZS5nZXQoY29kZSk7XHJcbiAgICAgICAgY29uc3QgaXNSYXRlID0gY29zdEl0ZW0uY2FsY3VsYXRpb25UeXBlID09PSBDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZS5SYXRlO1xyXG4gICAgICAgIGl0ZW1zLnB1c2goe1xyXG4gICAgICAgICAgY29zdEl0ZW1Db2RlOiBjb2RlLFxyXG4gICAgICAgICAgY29zdEl0ZW1OYW1lOiBjb3N0SXRlbS5uYW1lID8/IGNvZGUsXHJcbiAgICAgICAgICBjYWxjdWxhdGlvblR5cGU6IGNvc3RJdGVtLmNhbGN1bGF0aW9uVHlwZSxcclxuICAgICAgICAgIHN5c3RlbUNvZGU6IGNvc3RJdGVtLnN5c3RlbUNvZGUgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgY3VycmVuY3k6IHN0b3JlZD8uY3VycmVuY3kgPz8gKGlzUmF0ZSA/IHVuZGVmaW5lZCA6IEN1cnJlbmN5LlRSWSksXHJcbiAgICAgICAgICB2YWx1ZTogc3RvcmVkPy52YWx1ZSA/PyAwLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZ3JvdXBDb2RlOiBncm91cC5jb2RlID8/ICcnLFxyXG4gICAgICAgIGdyb3VwTmFtZTogZ3JvdXAubmFtZSA/PyAnJyxcclxuICAgICAgICBkaXNwbGF5T3JkZXI6IGdyb3VwLmRpc3BsYXlPcmRlcixcclxuICAgICAgICBncm91cFJvbGU6IGdyb3VwLmdyb3VwUm9sZSxcclxuICAgICAgICBpdGVtcyxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FsY3VsYXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXN1bHQgPSBjYWxjdWxhdGVDb3N0KHtcclxuICAgICAgcmF3T2lsUHJpY2U6IHBhcnNlRGVjaW1hbCh0aGlzLnJhd09pbFByaWNlKSxcclxuICAgICAgcmF3T2lsQ3VycmVuY3k6IHRoaXMucmF3T2lsQ3VycmVuY3ksXHJcbiAgICAgIHJhdGVVc2Q6IHBhcnNlRGVjaW1hbCh0aGlzLnJhdGVVc2QpLFxyXG4gICAgICByYXRlRXVyOiBwYXJzZURlY2ltYWwodGhpcy5yYXRlRXVyKSxcclxuICAgICAgc3RhZ2VzOiB0aGlzLnN0YWdlcyxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yb2xlR3JvdXBzID0gYnVpbGRSb2xlR3JvdXBzKHRoaXMucmVzdWx0LnJhd09pbCwgdGhpcy5yZXN1bHQuc3RhZ2VzKTtcclxuICB9XHJcblxyXG4gIHByaW50KCk6IHZvaWQge1xyXG4gICAgd2luZG93LnByaW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc29sdmVSYXRlcyhyYXRlOiBFeGNoYW5nZVJhdGVEdG8pOiBbbnVtYmVyLCBudW1iZXJdIHtcclxuICAgIGlmICghcmF0ZSkgcmV0dXJuIFswLCAwXTtcclxuICAgIGlmIChyYXRlLnNvdXJjZSA9PT0gRXhjaGFuZ2VSYXRlU291cmNlLkZpeGVkKSB7XHJcbiAgICAgIHJldHVybiBbcmF0ZS5maXhlZFVzZFJhdGUgPz8gMCwgcmF0ZS5maXhlZEV1clJhdGUgPz8gMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW3JhdGUuY2JFeGNoYW5nZVJhdGU/LnVzZEJ1eWluZ1JhdGUgPz8gMCwgcmF0ZS5jYkV4Y2hhbmdlUmF0ZT8uZXVyQnV5aW5nUmF0ZSA/PyAwXTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInS2VvcHM6OkNvc3RDYWxjdWxhdGlvbnM6VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1lbmQgbXgtMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcHgtMSBwdC0wIHB0LW1kLTJcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInByaW50KClcIiBbZGlzYWJsZWRdPVwiIXJlc3VsdFwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wcmludCBtZS0xXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4+e3sgJ0tlb3BzOjpDb3N0Q2FsY3VsYXRpb25zOlByaW50JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTQgbWItM1wiPlxyXG4gICAgICA8bGliLWNvc3QtY2FsY3VsYXRpb24taW5wdXRzXHJcbiAgICAgICAgW2l0ZW1zRGF0YVNvdXJjZV09XCJpdGVtc0RhdGFTb3VyY2VcIlxyXG4gICAgICAgIFtpdGVtRGlzcGxheUV4cHJdPVwiaXRlbURpc3BsYXlFeHByXCJcclxuICAgICAgICBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzXCJcclxuICAgICAgICBbcGFyYW1ldGVyRGlzcGxheUV4cHJdPVwicGFyYW1ldGVyRGlzcGxheUV4cHJcIlxyXG4gICAgICAgIFtzdGFnZXNdPVwic3RhZ2VzXCJcclxuICAgICAgICBbKHNlbGVjdGVkSXRlbUNvZGUpXT1cInNlbGVjdGVkSXRlbUNvZGVcIlxyXG4gICAgICAgIFsoc2VsZWN0ZWRQYXJhbWV0ZXJDb2RlKV09XCJzZWxlY3RlZFBhcmFtZXRlckNvZGVcIlxyXG4gICAgICAgIFsocmF3T2lsUHJpY2UpXT1cInJhd09pbFByaWNlXCJcclxuICAgICAgICBbKHJhd09pbEN1cnJlbmN5KV09XCJyYXdPaWxDdXJyZW5jeVwiXHJcbiAgICAgICAgW3N5c3RlbVJhdGVVc2RdPVwic3lzdGVtUmF0ZVVzZFwiXHJcbiAgICAgICAgW3N5c3RlbVJhdGVFdXJdPVwic3lzdGVtUmF0ZUV1clwiXHJcbiAgICAgICAgWyhyYXRlVXNkKV09XCJyYXRlVXNkXCJcclxuICAgICAgICBbKHJhdGVFdXIpXT1cInJhdGVFdXJcIlxyXG4gICAgICAgIChpdGVtQ2hhbmdlKT1cIm9uSXRlbUNoYW5nZSgpXCJcclxuICAgICAgICAocGFyYW1ldGVyQ2hhbmdlKT1cIm9uUGFyYW1ldGVyQ2hhbmdlKClcIlxyXG4gICAgICAgIChyZWNhbGMpPVwiY2FsY3VsYXRlKClcIlxyXG4gICAgICA+PC9saWItY29zdC1jYWxjdWxhdGlvbi1pbnB1dHM+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTggbWItM1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1wcmludC1ub25lXCI+XHJcbiAgICAgICAgPGxpYi1jb3N0LWNhbGN1bGF0aW9uLXJlc3VsdC1zdW0gW3JvbGVHcm91cHNdPVwicm9sZUdyb3Vwc1wiPjwvbGliLWNvc3QtY2FsY3VsYXRpb24tcmVzdWx0LXN1bT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgaWQ9XCJjb3N0LWNhbGN1bGF0aW9uLXJlc3VsdHNcIj5cclxuICAgICAgICA8bGliLWNvc3QtY2FsY3VsYXRpb24tcmVzdWx0cyBbcmVzdWx0XT1cInJlc3VsdFwiIFtyb2xlR3JvdXBzXT1cInJvbGVHcm91cHNcIiBbaXRlbU5hbWVdPVwic2VsZWN0ZWRJdGVtTmFtZVwiIFtyYXRlVXNkXT1cInJhdGVVc2RcIiBbcmF0ZUV1cl09XCJyYXRlRXVyXCI+PC9saWItY29zdC1jYWxjdWxhdGlvbi1yZXN1bHRzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG4iXX0=
214
+ args: [{ selector: 'lib-cost-calculation', encapsulation: ViewEncapsulation.None, template: "<abp-page [title]=\"'Keops::CostCalculations:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2\">\r\n <button class=\"btn btn-outline-primary\" type=\"button\" (click)=\"print()\" [disabled]=\"!result\">\r\n <i class=\"fa fa-print me-1\"></i>\r\n <span>{{ 'Keops::CostCalculations:Print' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-lg-4 mb-3\">\r\n <lib-cost-calculation-inputs\r\n [itemsDataSource]=\"itemsDataSource\"\r\n [itemDisplayExpr]=\"itemDisplayExpr\"\r\n [parameters]=\"parameters\"\r\n [parameterDisplayExpr]=\"parameterDisplayExpr\"\r\n [stages]=\"stages\"\r\n [(selectedItemCode)]=\"selectedItemCode\"\r\n [(selectedParameterDocEntry)]=\"selectedParameterDocEntry\"\r\n [(rawOilPrice)]=\"rawOilPrice\"\r\n [(rawOilCurrency)]=\"rawOilCurrency\"\r\n [systemRateUsd]=\"systemRateUsd\"\r\n [systemRateEur]=\"systemRateEur\"\r\n [(rateUsd)]=\"rateUsd\"\r\n [(rateEur)]=\"rateEur\"\r\n (itemChange)=\"onItemChange()\"\r\n (parameterChange)=\"onParameterChange()\"\r\n (recalc)=\"calculate()\"\r\n ></lib-cost-calculation-inputs>\r\n </div>\r\n\r\n <div class=\"col-lg-8 mb-3\">\r\n <div class=\"d-print-none\">\r\n <lib-cost-calculation-result-sum [roleGroups]=\"roleGroups\"></lib-cost-calculation-result-sum>\r\n </div>\r\n <div id=\"cost-calculation-results\">\r\n <lib-cost-calculation-results [result]=\"result\" [roleGroups]=\"roleGroups\" [itemName]=\"selectedItemName\" [rateUsd]=\"rateUsd\" [rateEur]=\"rateEur\"></lib-cost-calculation-results>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: ["@media print{body *{visibility:hidden}#cost-calculation-results,#cost-calculation-results *{visibility:visible}#cost-calculation-results{position:absolute;inset:0;width:100%}}\n"] }]
215
+ }], ctorParameters: function () { return [{ type: i1.PriceParameterService }, { type: i2.PriceParameterLookupsService }, { type: i1.CostItemService }, { type: i1.CostGroupService }, { type: i1.ExchangeRateService }, { type: i1.ItemService }, { type: i3.LocalizationService }]; } });
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1jYWxjdWxhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtY2FsY3VsYXRpb24vY29tcG9uZW50cy9jb3N0LWNhbGN1bGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1jYWxjdWxhdGlvbi9jb21wb25lbnRzL2Nvc3QtY2FsY3VsYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sRUFJTCxrQkFBa0IsRUFRbEIsUUFBUSxHQUNULE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQXlCLE1BQU0sV0FBVyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7QUFTNUUsTUFBTSxPQUFPLHdCQUF3QjtJQThCbkMsWUFDbUIsZ0JBQXVDLEVBQ3ZDLDRCQUEwRCxF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QUFjO1lBQ25DLE9BQU8sRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNuQyxPQUFPLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDbkMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELEtBQUs7UUFDSCxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7cUhBL05VLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDREQ2xDckMsbzZEQTRDQTsyRkRWYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usc0JBQXNCLGlCQUdqQixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgRGF0YVNvdXJjZSBmcm9tICdkZXZleHRyZW1lL2RhdGEvZGF0YV9zb3VyY2UnO1xyXG5pbXBvcnQgQXJyYXlTdG9yZSBmcm9tICdkZXZleHRyZW1lL2RhdGEvYXJyYXlfc3RvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEJ1c2luZXNzUmVnaW9uLFxyXG4gIENvc3RHcm91cFNlcnZpY2UsXHJcbiAgQ29zdEl0ZW1TZXJ2aWNlLFxyXG4gIENvc3RJdGVtU3lzdGVtQ29kZSxcclxuICBQcmljZVBhcmFtZXRlclNlcnZpY2UsXHJcbiAgRXhjaGFuZ2VSYXRlU2VydmljZSxcclxuICBJdGVtU2VydmljZSxcclxuICBJdGVtRHRvLFxyXG4gIFByaWNlUGFyYW1ldGVyRHRvLFxyXG4gIENvc3RJdGVtRHRvLFxyXG4gIENvc3RHcm91cER0byxcclxuICBDdXJyZW5jeSxcclxufSBmcm9tICdAaGl0c29mdC9rYWRvb2dsdS1rZW9wcy9wcm94eSc7XHJcbmltcG9ydCB7IGJ1aWxkUm9sZUdyb3VwcywgY2FsY3VsYXRlQ29zdCwgQ29zdFJlc3VsdCwgUm9sZUdyb3VwIH0gZnJvbSAnLi4vZW5naW5lJztcclxuaW1wb3J0IHsgdG9BbW91bnQgfSBmcm9tICcuLi9lbmdpbmUvY3VycmVuY3kudXRpbHMnO1xyXG5pbXBvcnQgeyBDb3N0Q2FsY3VsYXRpb25JdGVtLCBDb3N0Q2FsY3VsYXRpb25TdGFnZSB9IGZyb20gJy4uL2Nvc3QtY2FsY3VsYXRpb24ubW9kZWxzJztcclxuaW1wb3J0IHsgcGFyc2VEZWNpbWFsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbnVtYmVyLnV0aWxzJztcclxuaW1wb3J0IHsgcmVzb2x2ZVN5c3RlbVJhdGVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZXhjaGFuZ2UtcmF0ZS51dGlscyc7XHJcbmltcG9ydCB7IGlzUmF0ZUNvc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Nvc3QtaXRlbS1jbGFzc2lmaWNhdGlvbi51dGlscyc7XHJcbmltcG9ydCB7IGJ1c2luZXNzUmVnaW9uTGFiZWxzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYnVzaW5lc3MtcmVnaW9uLnV0aWxzJztcclxuaW1wb3J0IHsgUHJpY2VQYXJhbWV0ZXJMb29rdXBzU2VydmljZSB9IGZyb20gJy4uLy4uL3ByaWNlLXBhcmFtZXRlcnMvcHJpY2UtcGFyYW1ldGVyLWxvb2t1cHMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb3N0LWNhbGN1bGF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29zdC1jYWxjdWxhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29zdC1jYWxjdWxhdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3N0Q2FsY3VsYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGl0ZW1Db2RlUHJlZml4ID0gJzA1JztcclxuICBwcm9kdWN0SXRlbXM6IEl0ZW1EdG9bXSA9IFtdO1xyXG4gIGl0ZW1zRGF0YVNvdXJjZTogRGF0YVNvdXJjZSB8IG51bGwgPSBudWxsO1xyXG4gIHNlbGVjdGVkSXRlbUNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNlbGVjdGVkSXRlbU5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwYXJhbWV0ZXJzOiBQcmljZVBhcmFtZXRlckR0b1tdID0gW107XHJcbiAgc2VsZWN0ZWRQYXJhbWV0ZXJEb2NFbnRyeTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHJhd09pbFByaWNlID0gMDtcclxuICByYXdPaWxDdXJyZW5jeSA9IEN1cnJlbmN5LlVTRDtcclxuXHJcbiAgc3lzdGVtUmF0ZVVzZCA9IDA7XHJcbiAgc3lzdGVtUmF0ZUV1ciA9IDA7XHJcblxyXG4gIHJhdGVVc2QgPSAwO1xyXG4gIHJhdGVFdXIgPSAwO1xyXG5cclxuICBzdGFnZXM6IENvc3RDYWxjdWxhdGlvblN0YWdlW10gPSBbXTtcclxuICByZXN1bHQ6IENvc3RSZXN1bHQgfCBudWxsID0gbnVsbDtcclxuICByb2xlR3JvdXBzOiBSb2xlR3JvdXBbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIHBhY2thZ2luZ0Jhc2VUcnkgPSAwO1xyXG5cclxuICBwcml2YXRlIGNvc3RJdGVtc0J5Q29kZSA9IG5ldyBNYXA8c3RyaW5nLCBDb3N0SXRlbUR0bz4oKTtcclxuICBwcml2YXRlIGdyb3VwczogQ29zdEdyb3VwRHRvW10gPSBbXTtcclxuICBwcml2YXRlIHByb2R1Y3RHcm91cE5hbWVzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuICBwcml2YXRlIHR5cGVOYW1lcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXJhbWV0ZXJTZXJ2aWNlOiBQcmljZVBhcmFtZXRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaWNlUGFyYW1ldGVyTG9va3Vwc1NlcnZpY2U6IFByaWNlUGFyYW1ldGVyTG9va3Vwc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvc3RJdGVtU2VydmljZTogQ29zdEl0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3N0R3JvdXBTZXJ2aWNlOiBDb3N0R3JvdXBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBleGNoYW5nZVJhdGVTZXJ2aWNlOiBFeGNoYW5nZVJhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpdGVtU2VydmljZTogSXRlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXphdGlvbjogTG9jYWxpemF0aW9uU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxjdWxhdGUoKTtcclxuXHJcbiAgICBmb3JrSm9pbih7XHJcbiAgICAgIHBhcmFtZXRlcnM6IHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRMaXN0KCksXHJcbiAgICAgIGNvc3RJdGVtczogdGhpcy5jb3N0SXRlbVNlcnZpY2UuZ2V0TGlzdCgpLFxyXG4gICAgICBncm91cHM6IHRoaXMuY29zdEdyb3VwU2VydmljZS5nZXRMaXN0KCksXHJcbiAgICAgIHJhdGU6IHRoaXMuZXhjaGFuZ2VSYXRlU2VydmljZS5nZXQoKSxcclxuICAgICAgbG9va3VwczogdGhpcy5wcmljZVBhcmFtZXRlckxvb2t1cHNTZXJ2aWNlLmxvYWRUeXBlQW5kQ2F0ZWdvcnlMb29rdXBzKCksXHJcbiAgICB9KS5zdWJzY3JpYmUoKHsgcGFyYW1ldGVycywgY29zdEl0ZW1zLCBncm91cHMsIHJhdGUsIGxvb2t1cHMgfSkgPT4ge1xyXG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzID8/IFtdO1xyXG5cclxuICAgICAgdGhpcy5wcm9kdWN0R3JvdXBOYW1lcyA9IHRoaXMudG9OYW1lTWFwKGxvb2t1cHMuZ3JvdXBPcHRpb25zKTtcclxuICAgICAgdGhpcy50eXBlTmFtZXMgPSB0aGlzLnRvTmFtZU1hcChsb29rdXBzLnR5cGVPcHRpb25zKTtcclxuXHJcbiAgICAgIHRoaXMuY29zdEl0ZW1zQnlDb2RlID0gbmV3IE1hcDxzdHJpbmcsIENvc3RJdGVtRHRvPigpO1xyXG4gICAgICBmb3IgKGNvbnN0IGNpIG9mIGNvc3RJdGVtcyA/PyBbXSkge1xyXG4gICAgICAgIGlmIChjaS5jb2RlKSB0aGlzLmNvc3RJdGVtc0J5Q29kZS5zZXQoY2kuY29kZSwgY2kpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmdyb3VwcyA9IChncm91cHMgPz8gW10pLnNsaWNlKCkuc29ydCgoYSwgYikgPT4gYS5kaXNwbGF5T3JkZXIgLSBiLmRpc3BsYXlPcmRlcik7XHJcblxyXG4gICAgICBjb25zdCBbdXNkLCBldXJdID0gcmVzb2x2ZVN5c3RlbVJhdGVzKHJhdGUpO1xyXG4gICAgICB0aGlzLnN5c3RlbVJhdGVVc2QgPSB1c2Q7XHJcbiAgICAgIHRoaXMuc3lzdGVtUmF0ZUV1ciA9IGV1cjtcclxuICAgICAgdGhpcy5yYXRlVXNkID0gdXNkO1xyXG4gICAgICB0aGlzLnJhdGVFdXIgPSBldXI7XHJcblxyXG4gICAgICB0aGlzLmNhbGN1bGF0ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwYXJhbWV0ZXJMYWJlbChwOiBQcmljZVBhcmFtZXRlckR0byk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBncm91cE5hbWUgPSB0aGlzLnByb2R1Y3RHcm91cE5hbWVzLmdldChwLmdyb3VwQ29kZSA/PyAnJykgPz8gcC5ncm91cENvZGU7XHJcbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZU5hbWVzLmdldChwLnR5cGVDb2RlID8/ICcnKSA/PyBwLnR5cGVDb2RlO1xyXG4gICAgY29uc3QgcmVnaW9uID0gdGhpcy5sb2NhbGl6YXRpb24uaW5zdGFudChidXNpbmVzc1JlZ2lvbkxhYmVsc1twLnJlZ2lvbl0pO1xyXG4gICAgcmV0dXJuIFt0eXBlTmFtZSwgZ3JvdXBOYW1lLCByZWdpb25dLmZpbHRlcihCb29sZWFuKS5qb2luKCcg4oCUICcpIHx8IFN0cmluZyhwLmRvY0VudHJ5ID8/ICcnKTtcclxuICB9XHJcblxyXG4gIG9uSXRlbUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnByb2R1Y3RJdGVtcy5maW5kKHggPT4geC5jb2RlID09PSB0aGlzLnNlbGVjdGVkSXRlbUNvZGUpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1OYW1lID0gaXRlbT8ubmFtZSA/PyBudWxsO1xyXG4gICAgdGhpcy5sb2FkUGFja2FnaW5nQ29zdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkUGFja2FnaW5nQ29zdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW1Db2RlKSB7XHJcbiAgICAgIHRoaXMucGFja2FnaW5nQmFzZVRyeSA9IDA7XHJcbiAgICAgIHRoaXMuY2FsY3VsYXRlKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLml0ZW1TZXJ2aWNlLmdldFBhY2thZ2luZ0Nvc3QodGhpcy5zZWxlY3RlZEl0ZW1Db2RlKS5zdWJzY3JpYmUoYW1vdW50ID0+IHtcclxuICAgICAgdGhpcy5wYWNrYWdpbmdCYXNlVHJ5ID0gYW1vdW50ID8/IDA7XHJcbiAgICAgIHRoaXMuY2FsY3VsYXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFBhY2thZ2luZ0l0ZW0oKTogQ29zdENhbGN1bGF0aW9uSXRlbSB8IHVuZGVmaW5lZCB7XHJcbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIHRoaXMuc3RhZ2VzKSB7XHJcbiAgICAgIGNvbnN0IGZvdW5kID0gc3RhZ2UuaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uc3lzdGVtQ29kZSA9PT0gQ29zdEl0ZW1TeXN0ZW1Db2RlLlBhY2thZ2luZyk7XHJcbiAgICAgIGlmIChmb3VuZCkgcmV0dXJuIGZvdW5kO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlQYWNrYWdpbmdBbW91bnQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kUGFja2FnaW5nSXRlbSgpO1xyXG4gICAgaWYgKCFpdGVtKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgYW1vdW50cyA9IHRvQW1vdW50KHRoaXMucGFja2FnaW5nQmFzZVRyeSwgdGhpcy5yYXRlVXNkLCB0aGlzLnJhdGVFdXIpO1xyXG4gICAgaXRlbS52YWx1ZSA9XHJcbiAgICAgIGl0ZW0uY3VycmVuY3kgPT09IEN1cnJlbmN5LlRSWSA/IGFtb3VudHMudHJ5IDogaXRlbS5jdXJyZW5jeSA9PT0gQ3VycmVuY3kuRVVSID8gYW1vdW50cy5ldXIgOiBhbW91bnRzLnVzZDtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGl0ZW1EaXNwbGF5RXhwciA9IChpdGVtOiBJdGVtRHRvKTogc3RyaW5nID0+XHJcbiAgICBpdGVtID8gW2l0ZW0uY29kZSwgaXRlbS5uYW1lXS5maWx0ZXIoQm9vbGVhbikuam9pbignIOKAlCAnKSA6ICcnO1xyXG5cclxuICByZWFkb25seSBwYXJhbWV0ZXJEaXNwbGF5RXhwciA9IChwOiBQcmljZVBhcmFtZXRlckR0byk6IHN0cmluZyA9PlxyXG4gICAgcCA/IHRoaXMucGFyYW1ldGVyTGFiZWwocCkgOiAnJztcclxuXHJcbiAgcHJpdmF0ZSB0b05hbWVNYXAoXHJcbiAgICBvcHRpb25zOiBSZWFkb25seUFycmF5PHsgY29kZT86IHN0cmluZzsgbmFtZT86IHN0cmluZyB9PiB8IHVuZGVmaW5lZCxcclxuICApOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcclxuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zID8/IFtdKSB7XHJcbiAgICAgIGlmIChvcHRpb24uY29kZSkgbWFwLnNldChvcHRpb24uY29kZSwgb3B0aW9uLm5hbWUgPz8gb3B0aW9uLmNvZGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hcDtcclxuICB9XHJcblxyXG4gIG9uUGFyYW1ldGVyQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGFyYW1ldGVyID0gdGhpcy5wYXJhbWV0ZXJzLmZpbmQocCA9PiBwLmRvY0VudHJ5ID09PSB0aGlzLnNlbGVjdGVkUGFyYW1ldGVyRG9jRW50cnkpO1xyXG4gICAgdGhpcy5zdGFnZXMgPSBwYXJhbWV0ZXIgPyB0aGlzLmJ1aWxkU3RhZ2VzKHBhcmFtZXRlcikgOiBbXTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUNvZGUgPSBudWxsO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1OYW1lID0gbnVsbDtcclxuICAgIHRoaXMucGFja2FnaW5nQmFzZVRyeSA9IDA7XHJcblxyXG4gICAgaWYgKHBhcmFtZXRlcikge1xyXG4gICAgICB0aGlzLnJhd09pbFByaWNlID0gcGFyYW1ldGVyLnJhd09pbFByaWNlID8/IDA7XHJcbiAgICAgIHRoaXMucmF3T2lsQ3VycmVuY3kgPSBwYXJhbWV0ZXIucmF3T2lsQ3VycmVuY3kgPz8gQ3VycmVuY3kuVVNEO1xyXG4gICAgICB0aGlzLnJhdGVVc2QgPSBwYXJhbWV0ZXIuZXhjaGFuZ2VSYXRlVXNkIHx8IHRoaXMuc3lzdGVtUmF0ZVVzZDtcclxuICAgICAgdGhpcy5yYXRlRXVyID0gcGFyYW1ldGVyLmV4Y2hhbmdlUmF0ZUV1ciB8fCB0aGlzLnN5c3RlbVJhdGVFdXI7XHJcbiAgICAgIHRoaXMubG9hZFByb2R1Y3RJdGVtcyhwYXJhbWV0ZXIucmVnaW9uLCBwYXJhbWV0ZXIuZ3JvdXBDb2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucHJvZHVjdEl0ZW1zID0gW107XHJcbiAgICAgIHRoaXMuaXRlbXNEYXRhU291cmNlID0gbmV3IERhdGFTb3VyY2Uoe1xyXG4gICAgICAgIHN0b3JlOiBuZXcgQXJyYXlTdG9yZSh7IGtleTogJ2NvZGUnLCBkYXRhOiBbXSB9KSxcclxuICAgICAgICBwYWdpbmF0ZTogdHJ1ZSxcclxuICAgICAgICBwYWdlU2l6ZTogNTAsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2FsY3VsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRQcm9kdWN0SXRlbXMocmVnaW9uOiBCdXNpbmVzc1JlZ2lvbiwgZ3JvdXBDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbVNlcnZpY2UuZ2V0TGlzdCh0aGlzLml0ZW1Db2RlUHJlZml4LCByZWdpb24sIGdyb3VwQ29kZSkuc3Vic2NyaWJlKGl0ZW1zID0+IHtcclxuICAgICAgdGhpcy5wcm9kdWN0SXRlbXMgPSBpdGVtcyA/PyBbXTtcclxuICAgICAgdGhpcy5pdGVtc0RhdGFTb3VyY2UgPSBuZXcgRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgc3RvcmU6IG5ldyBBcnJheVN0b3JlKHsga2V5OiAnY29kZScsIGRhdGE6IHRoaXMucHJvZHVjdEl0ZW1zIH0pLFxyXG4gICAgICAgIHBhZ2luYXRlOiB0cnVlLFxyXG4gICAgICAgIHBhZ2VTaXplOiA1MCxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRWYWx1ZXNCeUNvZGUoXHJcbiAgICBwYXJhbWV0ZXI6IFByaWNlUGFyYW1ldGVyRHRvLFxyXG4gICk6IE1hcDxzdHJpbmcsIHsgdmFsdWU6IG51bWJlcjsgY3VycmVuY3k/OiBDdXJyZW5jeSB9PiB7XHJcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgeyB2YWx1ZTogbnVtYmVyOyBjdXJyZW5jeT86IEN1cnJlbmN5IH0+KCk7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcGFyYW1ldGVyLml0ZW1zID8/IFtdKSB7XHJcbiAgICAgIGlmIChpdGVtLmNvc3RJdGVtQ29kZSkge1xyXG4gICAgICAgIG1hcC5zZXQoaXRlbS5jb3N0SXRlbUNvZGUsIHsgdmFsdWU6IHBhcnNlRGVjaW1hbChpdGVtLnZhbHVlKSwgY3VycmVuY3k6IGl0ZW0uY3VycmVuY3kgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBtYXA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkU3RhZ2VzKHBhcmFtZXRlcjogUHJpY2VQYXJhbWV0ZXJEdG8pOiBDb3N0Q2FsY3VsYXRpb25TdGFnZVtdIHtcclxuICAgIGNvbnN0IHZhbHVlc0J5Q29kZSA9IHRoaXMuYnVpbGRWYWx1ZXNCeUNvZGUocGFyYW1ldGVyKTtcclxuICAgIHJldHVybiB0aGlzLmdyb3Vwcy5tYXAoZ3JvdXAgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtczogQ29zdENhbGN1bGF0aW9uSXRlbVtdID0gW107XHJcbiAgICAgIGZvciAoY29uc3QgY29kZSBvZiBncm91cC5pdGVtQ29kZXMgPz8gW10pIHtcclxuICAgICAgICBjb25zdCBjb3N0SXRlbSA9IHRoaXMuY29zdEl0ZW1zQnlDb2RlLmdldChjb2RlKTtcclxuICAgICAgICBpZiAoIWNvc3RJdGVtKSBjb250aW51ZTtcclxuICAgICAgICBjb25zdCBzdG9yZWQgPSB2YWx1ZXNCeUNvZGUuZ2V0KGNvZGUpO1xyXG4gICAgICAgIGNvbnN0IGlzUmF0ZSA9IGlzUmF0ZUNvc3RJdGVtKGNvc3RJdGVtKTtcclxuICAgICAgICBpdGVtcy5wdXNoKHtcclxuICAgICAgICAgIGNvc3RJdGVtQ29kZTogY29kZSxcclxuICAgICAgICAgIGNvc3RJdGVtTmFtZTogY29zdEl0ZW0ubmFtZSA/PyBjb2RlLFxyXG4gICAgICAgICAgY2FsY3VsYXRpb25UeXBlOiBjb3N0SXRlbS5jYWxjdWxhdGlvblR5cGUsXHJcbiAgICAgICAgICBzeXN0ZW1Db2RlOiBjb3N0SXRlbS5zeXN0ZW1Db2RlID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgIGN1cnJlbmN5OiBzdG9yZWQ/LmN1cnJlbmN5ID8/IChpc1JhdGUgPyB1bmRlZmluZWQgOiBDdXJyZW5jeS5UUlkpLFxyXG4gICAgICAgICAgdmFsdWU6IHN0b3JlZD8udmFsdWUgPz8gMCxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGdyb3VwQ29kZTogZ3JvdXAuY29kZSA/PyAnJyxcclxuICAgICAgICBncm91cE5hbWU6IGdyb3VwLm5hbWUgPz8gJycsXHJcbiAgICAgICAgZGlzcGxheU9yZGVyOiBncm91cC5kaXNwbGF5T3JkZXIsXHJcbiAgICAgICAgZ3JvdXBSb2xlOiBncm91cC5ncm91cFJvbGUsXHJcbiAgICAgICAgaXRlbXMsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNhbGN1bGF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXBwbHlQYWNrYWdpbmdBbW91bnQoKTtcclxuXHJcbiAgICB0aGlzLnJlc3VsdCA9IGNhbGN1bGF0ZUNvc3Qoe1xyXG4gICAgICByYXdPaWxQcmljZTogcGFyc2VEZWNpbWFsKHRoaXMucmF3T2lsUHJpY2UpLFxyXG4gICAgICByYXdPaWxDdXJyZW5jeTogdGhpcy5yYXdPaWxDdXJyZW5jeSxcclxuICAgICAgcmF0ZVVzZDogcGFyc2VEZWNpbWFsKHRoaXMucmF0ZVVzZCksXHJcbiAgICAgIHJhdGVFdXI6IHBhcnNlRGVjaW1hbCh0aGlzLnJhdGVFdXIpLFxyXG4gICAgICBzdGFnZXM6IHRoaXMuc3RhZ2VzLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJvbGVHcm91cHMgPSBidWlsZFJvbGVHcm91cHModGhpcy5yZXN1bHQucmF3T2lsLCB0aGlzLnJlc3VsdC5zdGFnZXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpbnQoKTogdm9pZCB7XHJcbiAgICB3aW5kb3cucHJpbnQoKTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInS2VvcHM6OkNvc3RDYWxjdWxhdGlvbnM6VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1lbmQgbXgtMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcHgtMSBwdC0wIHB0LW1kLTJcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInByaW50KClcIiBbZGlzYWJsZWRdPVwiIXJlc3VsdFwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wcmludCBtZS0xXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4+e3sgJ0tlb3BzOjpDb3N0Q2FsY3VsYXRpb25zOlByaW50JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTQgbWItM1wiPlxyXG4gICAgICA8bGliLWNvc3QtY2FsY3VsYXRpb24taW5wdXRzXHJcbiAgICAgICAgW2l0ZW1zRGF0YVNvdXJjZV09XCJpdGVtc0RhdGFTb3VyY2VcIlxyXG4gICAgICAgIFtpdGVtRGlzcGxheUV4cHJdPVwiaXRlbURpc3BsYXlFeHByXCJcclxuICAgICAgICBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzXCJcclxuICAgICAgICBbcGFyYW1ldGVyRGlzcGxheUV4cHJdPVwicGFyYW1ldGVyRGlzcGxheUV4cHJcIlxyXG4gICAgICAgIFtzdGFnZXNdPVwic3RhZ2VzXCJcclxuICAgICAgICBbKHNlbGVjdGVkSXRlbUNvZGUpXT1cInNlbGVjdGVkSXRlbUNvZGVcIlxyXG4gICAgICAgIFsoc2VsZWN0ZWRQYXJhbWV0ZXJEb2NFbnRyeSldPVwic2VsZWN0ZWRQYXJhbWV0ZXJEb2NFbnRyeVwiXHJcbiAgICAgICAgWyhyYXdPaWxQcmljZSldPVwicmF3T2lsUHJpY2VcIlxyXG4gICAgICAgIFsocmF3T2lsQ3VycmVuY3kpXT1cInJhd09pbEN1cnJlbmN5XCJcclxuICAgICAgICBbc3lzdGVtUmF0ZVVzZF09XCJzeXN0ZW1SYXRlVXNkXCJcclxuICAgICAgICBbc3lzdGVtUmF0ZUV1cl09XCJzeXN0ZW1SYXRlRXVyXCJcclxuICAgICAgICBbKHJhdGVVc2QpXT1cInJhdGVVc2RcIlxyXG4gICAgICAgIFsocmF0ZUV1cildPVwicmF0ZUV1clwiXHJcbiAgICAgICAgKGl0ZW1DaGFuZ2UpPVwib25JdGVtQ2hhbmdlKClcIlxyXG4gICAgICAgIChwYXJhbWV0ZXJDaGFuZ2UpPVwib25QYXJhbWV0ZXJDaGFuZ2UoKVwiXHJcbiAgICAgICAgKHJlY2FsYyk9XCJjYWxjdWxhdGUoKVwiXHJcbiAgICAgID48L2xpYi1jb3N0LWNhbGN1bGF0aW9uLWlucHV0cz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOCBtYi0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLXByaW50LW5vbmVcIj5cclxuICAgICAgICA8bGliLWNvc3QtY2FsY3VsYXRpb24tcmVzdWx0LXN1bSBbcm9sZUdyb3Vwc109XCJyb2xlR3JvdXBzXCI+PC9saWItY29zdC1jYWxjdWxhdGlvbi1yZXN1bHQtc3VtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBpZD1cImNvc3QtY2FsY3VsYXRpb24tcmVzdWx0c1wiPlxyXG4gICAgICAgIDxsaWItY29zdC1jYWxjdWxhdGlvbi1yZXN1bHRzIFtyZXN1bHRdPVwicmVzdWx0XCIgW3JvbGVHcm91cHNdPVwicm9sZUdyb3Vwc1wiIFtpdGVtTmFtZV09XCJzZWxlY3RlZEl0ZW1OYW1lXCIgW3JhdGVVc2RdPVwicmF0ZVVzZFwiIFtyYXRlRXVyXT1cInJhdGVFdXJcIj48L2xpYi1jb3N0LWNhbGN1bGF0aW9uLXJlc3VsdHM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcbiJdfQ==
@@ -1,21 +1,21 @@
1
1
  import { Currency } from '@hitsoft/kadooglu-keops/proxy';
2
- export function toAmount(baseUsd, rateUsd, rateEur) {
2
+ export function toAmount(baseTry, rateUsd, rateEur) {
3
3
  return {
4
- usd: baseUsd,
5
- try: baseUsd * rateUsd,
6
- eur: rateEur > 0 ? (baseUsd * rateUsd) / rateEur : 0,
4
+ try: baseTry,
5
+ usd: rateUsd > 0 ? baseTry / rateUsd : 0,
6
+ eur: rateEur > 0 ? baseTry / rateEur : 0,
7
7
  };
8
8
  }
9
- export function toBaseUsd(value, currency, rateUsd, rateEur) {
9
+ export function toBaseTry(value, currency, rateUsd, rateEur) {
10
10
  switch (currency) {
11
- case Currency.USD:
12
- return value;
13
11
  case Currency.TRY:
14
- return rateUsd <= 0 ? 0 : value / rateUsd;
12
+ return value;
13
+ case Currency.USD:
14
+ return value * rateUsd;
15
15
  case Currency.EUR:
16
- return rateUsd <= 0 ? 0 : (value * rateEur) / rateUsd;
16
+ return value * rateEur;
17
17
  default:
18
18
  return value;
19
19
  }
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtY2FsY3VsYXRpb24vZW5naW5lL2N1cnJlbmN5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd6RCxNQUFNLFVBQVUsUUFBUSxDQUFDLE9BQWUsRUFBRSxPQUFlLEVBQUUsT0FBZTtJQUN4RSxPQUFPO1FBQ0wsR0FBRyxFQUFFLE9BQU87UUFDWixHQUFHLEVBQUUsT0FBTyxHQUFHLE9BQU87UUFDdEIsR0FBRyxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyRCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEtBQWEsRUFDYixRQUE4QixFQUM5QixPQUFlLEVBQ2YsT0FBZTtJQUVmLFFBQVEsUUFBUSxFQUFFO1FBQ2hCLEtBQUssUUFBUSxDQUFDLEdBQUc7WUFDZixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssUUFBUSxDQUFDLEdBQUc7WUFDZixPQUFPLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUM1QyxLQUFLLFFBQVEsQ0FBQyxHQUFHO1lBQ2YsT0FBTyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUN4RDtZQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5IH0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5pbXBvcnQgeyBDb3N0QW1vdW50IH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvQW1vdW50KGJhc2VVc2Q6IG51bWJlciwgcmF0ZVVzZDogbnVtYmVyLCByYXRlRXVyOiBudW1iZXIpOiBDb3N0QW1vdW50IHtcclxuICByZXR1cm4ge1xyXG4gICAgdXNkOiBiYXNlVXNkLFxyXG4gICAgdHJ5OiBiYXNlVXNkICogcmF0ZVVzZCxcclxuICAgIGV1cjogcmF0ZUV1ciA+IDAgPyAoYmFzZVVzZCAqIHJhdGVVc2QpIC8gcmF0ZUV1ciA6IDAsXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvQmFzZVVzZChcclxuICB2YWx1ZTogbnVtYmVyLFxyXG4gIGN1cnJlbmN5OiBDdXJyZW5jeSB8IHVuZGVmaW5lZCxcclxuICByYXRlVXNkOiBudW1iZXIsXHJcbiAgcmF0ZUV1cjogbnVtYmVyLFxyXG4pOiBudW1iZXIge1xyXG4gIHN3aXRjaCAoY3VycmVuY3kpIHtcclxuICAgIGNhc2UgQ3VycmVuY3kuVVNEOlxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICBjYXNlIEN1cnJlbmN5LlRSWTpcclxuICAgICAgcmV0dXJuIHJhdGVVc2QgPD0gMCA/IDAgOiB2YWx1ZSAvIHJhdGVVc2Q7XHJcbiAgICBjYXNlIEN1cnJlbmN5LkVVUjpcclxuICAgICAgcmV0dXJuIHJhdGVVc2QgPD0gMCA/IDAgOiAodmFsdWUgKiByYXRlRXVyKSAvIHJhdGVVc2Q7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtY2FsY3VsYXRpb24vZW5naW5lL2N1cnJlbmN5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd6RCxNQUFNLFVBQVUsUUFBUSxDQUFDLE9BQWUsRUFBRSxPQUFlLEVBQUUsT0FBZTtJQUN4RSxPQUFPO1FBQ0wsR0FBRyxFQUFFLE9BQU87UUFDWixHQUFHLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxHQUFHLEVBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6QyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEtBQWEsRUFDYixRQUE4QixFQUM5QixPQUFlLEVBQ2YsT0FBZTtJQUVmLFFBQVEsUUFBUSxFQUFFO1FBQ2hCLEtBQUssUUFBUSxDQUFDLEdBQUc7WUFDZixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssUUFBUSxDQUFDLEdBQUc7WUFDZixPQUFPLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDekIsS0FBSyxRQUFRLENBQUMsR0FBRztZQUNmLE9BQU8sS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUN6QjtZQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5IH0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5pbXBvcnQgeyBDb3N0QW1vdW50IH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvQW1vdW50KGJhc2VUcnk6IG51bWJlciwgcmF0ZVVzZDogbnVtYmVyLCByYXRlRXVyOiBudW1iZXIpOiBDb3N0QW1vdW50IHtcclxuICByZXR1cm4ge1xyXG4gICAgdHJ5OiBiYXNlVHJ5LFxyXG4gICAgdXNkOiByYXRlVXNkID4gMCA/IGJhc2VUcnkgLyByYXRlVXNkIDogMCxcclxuICAgIGV1cjogcmF0ZUV1ciA+IDAgPyBiYXNlVHJ5IC8gcmF0ZUV1ciA6IDAsXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvQmFzZVRyeShcclxuICB2YWx1ZTogbnVtYmVyLFxyXG4gIGN1cnJlbmN5OiBDdXJyZW5jeSB8IHVuZGVmaW5lZCxcclxuICByYXRlVXNkOiBudW1iZXIsXHJcbiAgcmF0ZUV1cjogbnVtYmVyLFxyXG4pOiBudW1iZXIge1xyXG4gIHN3aXRjaCAoY3VycmVuY3kpIHtcclxuICAgIGNhc2UgQ3VycmVuY3kuVFJZOlxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICBjYXNlIEN1cnJlbmN5LlVTRDpcclxuICAgICAgcmV0dXJuIHZhbHVlICogcmF0ZVVzZDtcclxuICAgIGNhc2UgQ3VycmVuY3kuRVVSOlxyXG4gICAgICByZXR1cm4gdmFsdWUgKiByYXRlRXVyO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,13 +1,13 @@
1
- import { toAmount, toBaseUsd } from './currency.utils';
1
+ import { toAmount, toBaseTry } from './currency.utils';
2
2
  import { indexItemsBySystemCode, resolveItems } from './item-resolver';
3
3
  import { buildComputedBaseByCode, buildCostStages } from './stage-builder';
4
- export function calculateLoss(rawOilUsd, resolvedItems) {
5
- return (((rawOilUsd + resolvedItems.port + resolvedItems.inspectionCustoms + resolvedItems.freight) *
4
+ export function calculateLoss(rawOilTry, resolvedItems) {
5
+ return (((rawOilTry + resolvedItems.port + resolvedItems.inspectionCustoms + resolvedItems.freight) *
6
6
  resolvedItems.lossRate) /
7
7
  100);
8
8
  }
9
- export function calculateProductionCost(rawOilUsd, resolvedItems, loss) {
10
- return (rawOilUsd +
9
+ export function calculateProductionCost(rawOilTry, resolvedItems, loss) {
10
+ return (rawOilTry +
11
11
  resolvedItems.port +
12
12
  resolvedItems.inspectionCustoms +
13
13
  resolvedItems.freight +
@@ -33,18 +33,18 @@ export function calculateTotalSalePrice(totalCost, profit) {
33
33
  }
34
34
  export function calculateCost(request) {
35
35
  const { rateUsd, rateEur } = request;
36
- const rawOilUsd = toBaseUsd(request.rawOilPrice, request.rawOilCurrency, rateUsd, rateEur);
36
+ const rawOilTry = toBaseTry(request.rawOilPrice, request.rawOilCurrency, rateUsd, rateEur);
37
37
  const itemsByCode = indexItemsBySystemCode(request.stages);
38
38
  const resolvedItems = resolveItems(itemsByCode, rateUsd, rateEur);
39
- const loss = calculateLoss(rawOilUsd, resolvedItems);
40
- const productionCost = calculateProductionCost(rawOilUsd, resolvedItems, loss);
39
+ const loss = calculateLoss(rawOilTry, resolvedItems);
40
+ const productionCost = calculateProductionCost(rawOilTry, resolvedItems, loss);
41
41
  const totalCost = calculateTotalCost(productionCost, resolvedItems);
42
42
  const profit = calculateProfit(totalCost, resolvedItems.profitRate);
43
43
  const totalSalePrice = calculateTotalSalePrice(totalCost, profit);
44
44
  const computedBaseByCode = buildComputedBaseByCode(resolvedItems, loss, profit);
45
45
  const stages = buildCostStages(request.stages, computedBaseByCode, itemsByCode, rateUsd, rateEur);
46
46
  return {
47
- rawOil: toAmount(rawOilUsd, rateUsd, rateEur),
47
+ rawOil: toAmount(rawOilTry, rateUsd, rateEur),
48
48
  stages,
49
49
  productionCost: toAmount(productionCost, rateUsd, rateEur),
50
50
  totalCost: toAmount(totalCost, rateUsd, rateEur),
@@ -52,4 +52,4 @@ export function calculateCost(request) {
52
52
  totalSalePrice: toAmount(totalSalePrice, rateUsd, rateEur),
53
53
  };
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXVsYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtY2FsY3VsYXRpb24vZW5naW5lL2Zvcm11bGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczRSxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQWlCLEVBQUUsYUFBNEI7SUFDM0UsT0FBTyxDQUNMLENBQUMsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUN6RixhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ3pCLEdBQUcsQ0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsU0FBaUIsRUFDakIsYUFBNEIsRUFDNUIsSUFBWTtJQUVaLE9BQU8sQ0FDTCxTQUFTO1FBQ1QsYUFBYSxDQUFDLElBQUk7UUFDbEIsYUFBYSxDQUFDLGlCQUFpQjtRQUMvQixhQUFhLENBQUMsT0FBTztRQUNyQixJQUFJO1FBQ0osYUFBYSxDQUFDLGdCQUFnQjtRQUM5QixhQUFhLENBQUMsb0JBQW9CO1FBQ2xDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsY0FBc0IsRUFBRSxhQUE0QjtJQUNyRixPQUFPLENBQ0wsY0FBYztRQUNkLGFBQWEsQ0FBQyxTQUFTO1FBQ3ZCLGFBQWEsQ0FBQyxjQUFjO1FBQzVCLGFBQWEsQ0FBQyxZQUFZO1FBQzFCLGFBQWEsQ0FBQyxPQUFPO1FBQ3JCLGFBQWEsQ0FBQyxXQUFXO1FBQ3pCLGFBQWEsQ0FBQyxvQkFBb0IsQ0FDbkMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQWlCLEVBQUUsVUFBa0I7SUFDbkUsT0FBTyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxTQUFpQixFQUFFLE1BQWM7SUFDdkUsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQXNCO0lBQ2xELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3JDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNGLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVsRSxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0UsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVsRSxNQUFNLGtCQUFrQixHQUFHLHVCQUF1QixDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEYsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVsRyxPQUFPO1FBQ0wsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUM3QyxNQUFNO1FBQ04sY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUMxRCxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ2hELE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDMUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztLQUMzRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvQW1vdW50LCB0b0Jhc2VVc2QgfSBmcm9tICcuL2N1cnJlbmN5LnV0aWxzJztcclxuaW1wb3J0IHsgaW5kZXhJdGVtc0J5U3lzdGVtQ29kZSwgcmVzb2x2ZUl0ZW1zIH0gZnJvbSAnLi9pdGVtLXJlc29sdmVyJztcclxuaW1wb3J0IHsgYnVpbGRDb21wdXRlZEJhc2VCeUNvZGUsIGJ1aWxkQ29zdFN0YWdlcyB9IGZyb20gJy4vc3RhZ2UtYnVpbGRlcic7XHJcbmltcG9ydCB7IENvc3RSZXN1bHQsIEVuZ2luZVJlcXVlc3QsIFJlc29sdmVkSXRlbXMgfSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlTG9zcyhyYXdPaWxVc2Q6IG51bWJlciwgcmVzb2x2ZWRJdGVtczogUmVzb2x2ZWRJdGVtcyk6IG51bWJlciB7XHJcbiAgcmV0dXJuIChcclxuICAgICgocmF3T2lsVXNkICsgcmVzb2x2ZWRJdGVtcy5wb3J0ICsgcmVzb2x2ZWRJdGVtcy5pbnNwZWN0aW9uQ3VzdG9tcyArIHJlc29sdmVkSXRlbXMuZnJlaWdodCkgKlxyXG4gICAgICByZXNvbHZlZEl0ZW1zLmxvc3NSYXRlKSAvXHJcbiAgICAxMDBcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlUHJvZHVjdGlvbkNvc3QoXHJcbiAgcmF3T2lsVXNkOiBudW1iZXIsXHJcbiAgcmVzb2x2ZWRJdGVtczogUmVzb2x2ZWRJdGVtcyxcclxuICBsb3NzOiBudW1iZXIsXHJcbik6IG51bWJlciB7XHJcbiAgcmV0dXJuIChcclxuICAgIHJhd09pbFVzZCArXHJcbiAgICByZXNvbHZlZEl0ZW1zLnBvcnQgK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy5pbnNwZWN0aW9uQ3VzdG9tcyArXHJcbiAgICByZXNvbHZlZEl0ZW1zLmZyZWlnaHQgK1xyXG4gICAgbG9zcyArXHJcbiAgICByZXNvbHZlZEl0ZW1zLnJlZmluZXJ5T3ZlcmhlYWQgK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy5yZWZpbmVyeUF1eE1hdGVyaWFscyArXHJcbiAgICByZXNvbHZlZEl0ZW1zLmZpbGxpbmdQYWNrYWdpbmdPdmVyaGVhZFxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVUb3RhbENvc3QocHJvZHVjdGlvbkNvc3Q6IG51bWJlciwgcmVzb2x2ZWRJdGVtczogUmVzb2x2ZWRJdGVtcyk6IG51bWJlciB7XHJcbiAgcmV0dXJuIChcclxuICAgIHByb2R1Y3Rpb25Db3N0ICtcclxuICAgIHJlc29sdmVkSXRlbXMucGFja2FnaW5nICtcclxuICAgIHJlc29sdmVkSXRlbXMuc2FsZXNNYXJrZXRpbmcgK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy5nZW5lcmFsQWRtaW4gK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy5maW5hbmNlICtcclxuICAgIHJlc29sdmVkSXRlbXMuY29udGluZ2VuY3kgK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy52YXJpYWJsZURlcHJlY2lhdGlvblxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVQcm9maXQodG90YWxDb3N0OiBudW1iZXIsIHByb2ZpdFJhdGU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuICh0b3RhbENvc3QgKiBwcm9maXRSYXRlKSAvIDEwMDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZVRvdGFsU2FsZVByaWNlKHRvdGFsQ29zdDogbnVtYmVyLCBwcm9maXQ6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIHRvdGFsQ29zdCArIHByb2ZpdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUNvc3QocmVxdWVzdDogRW5naW5lUmVxdWVzdCk6IENvc3RSZXN1bHQge1xyXG4gIGNvbnN0IHsgcmF0ZVVzZCwgcmF0ZUV1ciB9ID0gcmVxdWVzdDtcclxuICBjb25zdCByYXdPaWxVc2QgPSB0b0Jhc2VVc2QocmVxdWVzdC5yYXdPaWxQcmljZSwgcmVxdWVzdC5yYXdPaWxDdXJyZW5jeSwgcmF0ZVVzZCwgcmF0ZUV1cik7XHJcbiAgY29uc3QgaXRlbXNCeUNvZGUgPSBpbmRleEl0ZW1zQnlTeXN0ZW1Db2RlKHJlcXVlc3Quc3RhZ2VzKTtcclxuICBjb25zdCByZXNvbHZlZEl0ZW1zID0gcmVzb2x2ZUl0ZW1zKGl0ZW1zQnlDb2RlLCByYXRlVXNkLCByYXRlRXVyKTtcclxuXHJcbiAgY29uc3QgbG9zcyA9IGNhbGN1bGF0ZUxvc3MocmF3T2lsVXNkLCByZXNvbHZlZEl0ZW1zKTtcclxuICBjb25zdCBwcm9kdWN0aW9uQ29zdCA9IGNhbGN1bGF0ZVByb2R1Y3Rpb25Db3N0KHJhd09pbFVzZCwgcmVzb2x2ZWRJdGVtcywgbG9zcyk7XHJcbiAgY29uc3QgdG90YWxDb3N0ID0gY2FsY3VsYXRlVG90YWxDb3N0KHByb2R1Y3Rpb25Db3N0LCByZXNvbHZlZEl0ZW1zKTtcclxuICBjb25zdCBwcm9maXQgPSBjYWxjdWxhdGVQcm9maXQodG90YWxDb3N0LCByZXNvbHZlZEl0ZW1zLnByb2ZpdFJhdGUpO1xyXG4gIGNvbnN0IHRvdGFsU2FsZVByaWNlID0gY2FsY3VsYXRlVG90YWxTYWxlUHJpY2UodG90YWxDb3N0LCBwcm9maXQpO1xyXG5cclxuICBjb25zdCBjb21wdXRlZEJhc2VCeUNvZGUgPSBidWlsZENvbXB1dGVkQmFzZUJ5Q29kZShyZXNvbHZlZEl0ZW1zLCBsb3NzLCBwcm9maXQpO1xyXG4gIGNvbnN0IHN0YWdlcyA9IGJ1aWxkQ29zdFN0YWdlcyhyZXF1ZXN0LnN0YWdlcywgY29tcHV0ZWRCYXNlQnlDb2RlLCBpdGVtc0J5Q29kZSwgcmF0ZVVzZCwgcmF0ZUV1cik7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICByYXdPaWw6IHRvQW1vdW50KHJhd09pbFVzZCwgcmF0ZVVzZCwgcmF0ZUV1ciksXHJcbiAgICBzdGFnZXMsXHJcbiAgICBwcm9kdWN0aW9uQ29zdDogdG9BbW91bnQocHJvZHVjdGlvbkNvc3QsIHJhdGVVc2QsIHJhdGVFdXIpLFxyXG4gICAgdG90YWxDb3N0OiB0b0Ftb3VudCh0b3RhbENvc3QsIHJhdGVVc2QsIHJhdGVFdXIpLFxyXG4gICAgcHJvZml0OiB0b0Ftb3VudChwcm9maXQsIHJhdGVVc2QsIHJhdGVFdXIpLFxyXG4gICAgdG90YWxTYWxlUHJpY2U6IHRvQW1vdW50KHRvdGFsU2FsZVByaWNlLCByYXRlVXNkLCByYXRlRXVyKSxcclxuICB9O1xyXG59XHJcbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXVsYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtY2FsY3VsYXRpb24vZW5naW5lL2Zvcm11bGFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczRSxNQUFNLFVBQVUsYUFBYSxDQUFDLFNBQWlCLEVBQUUsYUFBNEI7SUFDM0UsT0FBTyxDQUNMLENBQUMsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQztRQUN6RixhQUFhLENBQUMsUUFBUSxDQUFDO1FBQ3pCLEdBQUcsQ0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsU0FBaUIsRUFDakIsYUFBNEIsRUFDNUIsSUFBWTtJQUVaLE9BQU8sQ0FDTCxTQUFTO1FBQ1QsYUFBYSxDQUFDLElBQUk7UUFDbEIsYUFBYSxDQUFDLGlCQUFpQjtRQUMvQixhQUFhLENBQUMsT0FBTztRQUNyQixJQUFJO1FBQ0osYUFBYSxDQUFDLGdCQUFnQjtRQUM5QixhQUFhLENBQUMsb0JBQW9CO1FBQ2xDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsY0FBc0IsRUFBRSxhQUE0QjtJQUNyRixPQUFPLENBQ0wsY0FBYztRQUNkLGFBQWEsQ0FBQyxTQUFTO1FBQ3ZCLGFBQWEsQ0FBQyxjQUFjO1FBQzVCLGFBQWEsQ0FBQyxZQUFZO1FBQzFCLGFBQWEsQ0FBQyxPQUFPO1FBQ3JCLGFBQWEsQ0FBQyxXQUFXO1FBQ3pCLGFBQWEsQ0FBQyxvQkFBb0IsQ0FDbkMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQWlCLEVBQUUsVUFBa0I7SUFDbkUsT0FBTyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxTQUFpQixFQUFFLE1BQWM7SUFDdkUsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQXNCO0lBQ2xELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3JDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNGLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVsRSxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3JELE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0UsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVsRSxNQUFNLGtCQUFrQixHQUFHLHVCQUF1QixDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEYsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVsRyxPQUFPO1FBQ0wsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUM3QyxNQUFNO1FBQ04sY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUMxRCxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ2hELE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDMUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztLQUMzRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvQW1vdW50LCB0b0Jhc2VUcnkgfSBmcm9tICcuL2N1cnJlbmN5LnV0aWxzJztcclxuaW1wb3J0IHsgaW5kZXhJdGVtc0J5U3lzdGVtQ29kZSwgcmVzb2x2ZUl0ZW1zIH0gZnJvbSAnLi9pdGVtLXJlc29sdmVyJztcclxuaW1wb3J0IHsgYnVpbGRDb21wdXRlZEJhc2VCeUNvZGUsIGJ1aWxkQ29zdFN0YWdlcyB9IGZyb20gJy4vc3RhZ2UtYnVpbGRlcic7XHJcbmltcG9ydCB7IENvc3RSZXN1bHQsIEVuZ2luZVJlcXVlc3QsIFJlc29sdmVkSXRlbXMgfSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlTG9zcyhyYXdPaWxUcnk6IG51bWJlciwgcmVzb2x2ZWRJdGVtczogUmVzb2x2ZWRJdGVtcyk6IG51bWJlciB7XHJcbiAgcmV0dXJuIChcclxuICAgICgocmF3T2lsVHJ5ICsgcmVzb2x2ZWRJdGVtcy5wb3J0ICsgcmVzb2x2ZWRJdGVtcy5pbnNwZWN0aW9uQ3VzdG9tcyArIHJlc29sdmVkSXRlbXMuZnJlaWdodCkgKlxyXG4gICAgICByZXNvbHZlZEl0ZW1zLmxvc3NSYXRlKSAvXHJcbiAgICAxMDBcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlUHJvZHVjdGlvbkNvc3QoXHJcbiAgcmF3T2lsVHJ5OiBudW1iZXIsXHJcbiAgcmVzb2x2ZWRJdGVtczogUmVzb2x2ZWRJdGVtcyxcclxuICBsb3NzOiBudW1iZXIsXHJcbik6IG51bWJlciB7XHJcbiAgcmV0dXJuIChcclxuICAgIHJhd09pbFRyeSArXHJcbiAgICByZXNvbHZlZEl0ZW1zLnBvcnQgK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy5pbnNwZWN0aW9uQ3VzdG9tcyArXHJcbiAgICByZXNvbHZlZEl0ZW1zLmZyZWlnaHQgK1xyXG4gICAgbG9zcyArXHJcbiAgICByZXNvbHZlZEl0ZW1zLnJlZmluZXJ5T3ZlcmhlYWQgK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy5yZWZpbmVyeUF1eE1hdGVyaWFscyArXHJcbiAgICByZXNvbHZlZEl0ZW1zLmZpbGxpbmdQYWNrYWdpbmdPdmVyaGVhZFxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVUb3RhbENvc3QocHJvZHVjdGlvbkNvc3Q6IG51bWJlciwgcmVzb2x2ZWRJdGVtczogUmVzb2x2ZWRJdGVtcyk6IG51bWJlciB7XHJcbiAgcmV0dXJuIChcclxuICAgIHByb2R1Y3Rpb25Db3N0ICtcclxuICAgIHJlc29sdmVkSXRlbXMucGFja2FnaW5nICtcclxuICAgIHJlc29sdmVkSXRlbXMuc2FsZXNNYXJrZXRpbmcgK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy5nZW5lcmFsQWRtaW4gK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy5maW5hbmNlICtcclxuICAgIHJlc29sdmVkSXRlbXMuY29udGluZ2VuY3kgK1xyXG4gICAgcmVzb2x2ZWRJdGVtcy52YXJpYWJsZURlcHJlY2lhdGlvblxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVQcm9maXQodG90YWxDb3N0OiBudW1iZXIsIHByb2ZpdFJhdGU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuICh0b3RhbENvc3QgKiBwcm9maXRSYXRlKSAvIDEwMDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZVRvdGFsU2FsZVByaWNlKHRvdGFsQ29zdDogbnVtYmVyLCBwcm9maXQ6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIHRvdGFsQ29zdCArIHByb2ZpdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUNvc3QocmVxdWVzdDogRW5naW5lUmVxdWVzdCk6IENvc3RSZXN1bHQge1xyXG4gIGNvbnN0IHsgcmF0ZVVzZCwgcmF0ZUV1ciB9ID0gcmVxdWVzdDtcclxuICBjb25zdCByYXdPaWxUcnkgPSB0b0Jhc2VUcnkocmVxdWVzdC5yYXdPaWxQcmljZSwgcmVxdWVzdC5yYXdPaWxDdXJyZW5jeSwgcmF0ZVVzZCwgcmF0ZUV1cik7XHJcbiAgY29uc3QgaXRlbXNCeUNvZGUgPSBpbmRleEl0ZW1zQnlTeXN0ZW1Db2RlKHJlcXVlc3Quc3RhZ2VzKTtcclxuICBjb25zdCByZXNvbHZlZEl0ZW1zID0gcmVzb2x2ZUl0ZW1zKGl0ZW1zQnlDb2RlLCByYXRlVXNkLCByYXRlRXVyKTtcclxuXHJcbiAgY29uc3QgbG9zcyA9IGNhbGN1bGF0ZUxvc3MocmF3T2lsVHJ5LCByZXNvbHZlZEl0ZW1zKTtcclxuICBjb25zdCBwcm9kdWN0aW9uQ29zdCA9IGNhbGN1bGF0ZVByb2R1Y3Rpb25Db3N0KHJhd09pbFRyeSwgcmVzb2x2ZWRJdGVtcywgbG9zcyk7XHJcbiAgY29uc3QgdG90YWxDb3N0ID0gY2FsY3VsYXRlVG90YWxDb3N0KHByb2R1Y3Rpb25Db3N0LCByZXNvbHZlZEl0ZW1zKTtcclxuICBjb25zdCBwcm9maXQgPSBjYWxjdWxhdGVQcm9maXQodG90YWxDb3N0LCByZXNvbHZlZEl0ZW1zLnByb2ZpdFJhdGUpO1xyXG4gIGNvbnN0IHRvdGFsU2FsZVByaWNlID0gY2FsY3VsYXRlVG90YWxTYWxlUHJpY2UodG90YWxDb3N0LCBwcm9maXQpO1xyXG5cclxuICBjb25zdCBjb21wdXRlZEJhc2VCeUNvZGUgPSBidWlsZENvbXB1dGVkQmFzZUJ5Q29kZShyZXNvbHZlZEl0ZW1zLCBsb3NzLCBwcm9maXQpO1xyXG4gIGNvbnN0IHN0YWdlcyA9IGJ1aWxkQ29zdFN0YWdlcyhyZXF1ZXN0LnN0YWdlcywgY29tcHV0ZWRCYXNlQnlDb2RlLCBpdGVtc0J5Q29kZSwgcmF0ZVVzZCwgcmF0ZUV1cik7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICByYXdPaWw6IHRvQW1vdW50KHJhd09pbFRyeSwgcmF0ZVVzZCwgcmF0ZUV1ciksXHJcbiAgICBzdGFnZXMsXHJcbiAgICBwcm9kdWN0aW9uQ29zdDogdG9BbW91bnQocHJvZHVjdGlvbkNvc3QsIHJhdGVVc2QsIHJhdGVFdXIpLFxyXG4gICAgdG90YWxDb3N0OiB0b0Ftb3VudCh0b3RhbENvc3QsIHJhdGVVc2QsIHJhdGVFdXIpLFxyXG4gICAgcHJvZml0OiB0b0Ftb3VudChwcm9maXQsIHJhdGVVc2QsIHJhdGVFdXIpLFxyXG4gICAgdG90YWxTYWxlUHJpY2U6IHRvQW1vdW50KHRvdGFsU2FsZVByaWNlLCByYXRlVXNkLCByYXRlRXVyKSxcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { CostItemSystemCode } from '@hitsoft/kadooglu-keops/proxy';
2
2
  import { parseDecimal } from '../../../utils/number.utils';
3
- import { toBaseUsd } from './currency.utils';
3
+ import { toBaseTry } from './currency.utils';
4
4
  export function indexItemsBySystemCode(stages) {
5
5
  const map = new Map();
6
6
  for (const stage of stages) {
@@ -13,26 +13,26 @@ export function indexItemsBySystemCode(stages) {
13
13
  return map;
14
14
  }
15
15
  export function resolveItems(itemsByCode, rateUsd, rateEur) {
16
- const baseUsd = (code) => {
16
+ const baseTry = (code) => {
17
17
  const item = itemsByCode.get(code);
18
- return item ? toBaseUsd(parseDecimal(item.value), item.currency, rateUsd, rateEur) : 0;
18
+ return item ? toBaseTry(parseDecimal(item.value), item.currency, rateUsd, rateEur) : 0;
19
19
  };
20
20
  const ratePercent = (code) => parseDecimal(itemsByCode.get(code)?.value ?? 0);
21
21
  return {
22
- port: baseUsd(CostItemSystemCode.Port),
23
- inspectionCustoms: baseUsd(CostItemSystemCode.InspectionCustoms),
24
- freight: baseUsd(CostItemSystemCode.Freight),
22
+ port: baseTry(CostItemSystemCode.Port),
23
+ inspectionCustoms: baseTry(CostItemSystemCode.InspectionCustoms),
24
+ freight: baseTry(CostItemSystemCode.Freight),
25
25
  lossRate: ratePercent(CostItemSystemCode.Loss),
26
- refineryOverhead: baseUsd(CostItemSystemCode.RefineryOverhead),
27
- refineryAuxMaterials: baseUsd(CostItemSystemCode.RefineryAuxMaterials),
28
- fillingPackagingOverhead: baseUsd(CostItemSystemCode.FillingPackagingOverhead),
29
- packaging: baseUsd(CostItemSystemCode.Packaging),
30
- salesMarketing: baseUsd(CostItemSystemCode.SalesMarketing),
31
- generalAdmin: baseUsd(CostItemSystemCode.GeneralAdmin),
32
- finance: baseUsd(CostItemSystemCode.Finance),
33
- contingency: baseUsd(CostItemSystemCode.Contingency),
34
- variableDepreciation: baseUsd(CostItemSystemCode.VariableDepreciation),
26
+ refineryOverhead: baseTry(CostItemSystemCode.RefineryOverhead),
27
+ refineryAuxMaterials: baseTry(CostItemSystemCode.RefineryAuxMaterials),
28
+ fillingPackagingOverhead: baseTry(CostItemSystemCode.FillingPackagingOverhead),
29
+ packaging: baseTry(CostItemSystemCode.Packaging),
30
+ salesMarketing: baseTry(CostItemSystemCode.SalesMarketing),
31
+ generalAdmin: baseTry(CostItemSystemCode.GeneralAdmin),
32
+ finance: baseTry(CostItemSystemCode.Finance),
33
+ contingency: baseTry(CostItemSystemCode.Contingency),
34
+ variableDepreciation: baseTry(CostItemSystemCode.VariableDepreciation),
35
35
  profitRate: ratePercent(CostItemSystemCode.ProfitRate),
36
36
  };
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1jYWxjdWxhdGlvbi9lbmdpbmUvaXRlbS1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzdDLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsTUFBOEI7SUFFOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFDbkQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDMUIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQzlCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNoQztTQUNGO0tBQ0Y7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixXQUE2QyxFQUM3QyxPQUFlLEVBQ2YsT0FBZTtJQUVmLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBd0IsRUFBVSxFQUFFO1FBQ25ELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUF3QixFQUFVLEVBQUUsQ0FDdkQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWxELE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUN0QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7UUFDaEUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFDNUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDOUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1FBQzlELG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUN0RSx3QkFBd0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7UUFDOUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7UUFDaEQsY0FBYyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFDMUQsWUFBWSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFDdEQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFDNUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDcEQsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1FBQ3RFLFVBQVUsRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0tBQ3ZELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zdEl0ZW1TeXN0ZW1Db2RlIH0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5pbXBvcnQgeyBwYXJzZURlY2ltYWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9udW1iZXIudXRpbHMnO1xyXG5pbXBvcnQgeyBDb3N0Q2FsY3VsYXRpb25JdGVtLCBDb3N0Q2FsY3VsYXRpb25TdGFnZSB9IGZyb20gJy4uL2Nvc3QtY2FsY3VsYXRpb24ubW9kZWxzJztcclxuaW1wb3J0IHsgdG9CYXNlVXNkIH0gZnJvbSAnLi9jdXJyZW5jeS51dGlscyc7XHJcbmltcG9ydCB7IFJlc29sdmVkSXRlbXMgfSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhJdGVtc0J5U3lzdGVtQ29kZShcclxuICBzdGFnZXM6IENvc3RDYWxjdWxhdGlvblN0YWdlW10sXHJcbik6IE1hcDxudW1iZXIsIENvc3RDYWxjdWxhdGlvbkl0ZW0+IHtcclxuICBjb25zdCBtYXAgPSBuZXcgTWFwPG51bWJlciwgQ29zdENhbGN1bGF0aW9uSXRlbT4oKTtcclxuICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHN0YWdlLml0ZW1zKSB7XHJcbiAgICAgIGlmIChpdGVtLnN5c3RlbUNvZGUgIT0gbnVsbCkge1xyXG4gICAgICAgIG1hcC5zZXQoaXRlbS5zeXN0ZW1Db2RlLCBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gbWFwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUl0ZW1zKFxyXG4gIGl0ZW1zQnlDb2RlOiBNYXA8bnVtYmVyLCBDb3N0Q2FsY3VsYXRpb25JdGVtPixcclxuICByYXRlVXNkOiBudW1iZXIsXHJcbiAgcmF0ZUV1cjogbnVtYmVyLFxyXG4pOiBSZXNvbHZlZEl0ZW1zIHtcclxuICBjb25zdCBiYXNlVXNkID0gKGNvZGU6IENvc3RJdGVtU3lzdGVtQ29kZSk6IG51bWJlciA9PiB7XHJcbiAgICBjb25zdCBpdGVtID0gaXRlbXNCeUNvZGUuZ2V0KGNvZGUpO1xyXG4gICAgcmV0dXJuIGl0ZW0gPyB0b0Jhc2VVc2QocGFyc2VEZWNpbWFsKGl0ZW0udmFsdWUpLCBpdGVtLmN1cnJlbmN5LCByYXRlVXNkLCByYXRlRXVyKSA6IDA7XHJcbiAgfTtcclxuICBjb25zdCByYXRlUGVyY2VudCA9IChjb2RlOiBDb3N0SXRlbVN5c3RlbUNvZGUpOiBudW1iZXIgPT5cclxuICAgIHBhcnNlRGVjaW1hbChpdGVtc0J5Q29kZS5nZXQoY29kZSk/LnZhbHVlID8/IDApO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgcG9ydDogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuUG9ydCksXHJcbiAgICBpbnNwZWN0aW9uQ3VzdG9tczogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuSW5zcGVjdGlvbkN1c3RvbXMpLFxyXG4gICAgZnJlaWdodDogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuRnJlaWdodCksXHJcbiAgICBsb3NzUmF0ZTogcmF0ZVBlcmNlbnQoQ29zdEl0ZW1TeXN0ZW1Db2RlLkxvc3MpLFxyXG4gICAgcmVmaW5lcnlPdmVyaGVhZDogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuUmVmaW5lcnlPdmVyaGVhZCksXHJcbiAgICByZWZpbmVyeUF1eE1hdGVyaWFsczogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuUmVmaW5lcnlBdXhNYXRlcmlhbHMpLFxyXG4gICAgZmlsbGluZ1BhY2thZ2luZ092ZXJoZWFkOiBiYXNlVXNkKENvc3RJdGVtU3lzdGVtQ29kZS5GaWxsaW5nUGFja2FnaW5nT3ZlcmhlYWQpLFxyXG4gICAgcGFja2FnaW5nOiBiYXNlVXNkKENvc3RJdGVtU3lzdGVtQ29kZS5QYWNrYWdpbmcpLFxyXG4gICAgc2FsZXNNYXJrZXRpbmc6IGJhc2VVc2QoQ29zdEl0ZW1TeXN0ZW1Db2RlLlNhbGVzTWFya2V0aW5nKSxcclxuICAgIGdlbmVyYWxBZG1pbjogYmFzZVVzZChDb3N0SXRlbVN5c3RlbUNvZGUuR2VuZXJhbEFkbWluKSxcclxuICAgIGZpbmFuY2U6IGJhc2VVc2QoQ29zdEl0ZW1TeXN0ZW1Db2RlLkZpbmFuY2UpLFxyXG4gICAgY29udGluZ2VuY3k6IGJhc2VVc2QoQ29zdEl0ZW1TeXN0ZW1Db2RlLkNvbnRpbmdlbmN5KSxcclxuICAgIHZhcmlhYmxlRGVwcmVjaWF0aW9uOiBiYXNlVXNkKENvc3RJdGVtU3lzdGVtQ29kZS5WYXJpYWJsZURlcHJlY2lhdGlvbiksXHJcbiAgICBwcm9maXRSYXRlOiByYXRlUGVyY2VudChDb3N0SXRlbVN5c3RlbUNvZGUuUHJvZml0UmF0ZSksXHJcbiAgfTtcclxufVxyXG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1jYWxjdWxhdGlvbi9lbmdpbmUvaXRlbS1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzdDLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsTUFBOEI7SUFFOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFDbkQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDMUIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQzlCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNoQztTQUNGO0tBQ0Y7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixXQUE2QyxFQUM3QyxPQUFlLEVBQ2YsT0FBZTtJQUVmLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBd0IsRUFBVSxFQUFFO1FBQ25ELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUF3QixFQUFVLEVBQUUsQ0FDdkQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRWxELE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUN0QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7UUFDaEUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFDNUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDOUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO1FBQzlELG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUN0RSx3QkFBd0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7UUFDOUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7UUFDaEQsY0FBYyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFDMUQsWUFBWSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7UUFDdEQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFDNUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFDcEQsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1FBQ3RFLFVBQVUsRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0tBQ3ZELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zdEl0ZW1TeXN0ZW1Db2RlIH0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5pbXBvcnQgeyBwYXJzZURlY2ltYWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9udW1iZXIudXRpbHMnO1xyXG5pbXBvcnQgeyBDb3N0Q2FsY3VsYXRpb25JdGVtLCBDb3N0Q2FsY3VsYXRpb25TdGFnZSB9IGZyb20gJy4uL2Nvc3QtY2FsY3VsYXRpb24ubW9kZWxzJztcclxuaW1wb3J0IHsgdG9CYXNlVHJ5IH0gZnJvbSAnLi9jdXJyZW5jeS51dGlscyc7XHJcbmltcG9ydCB7IFJlc29sdmVkSXRlbXMgfSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhJdGVtc0J5U3lzdGVtQ29kZShcclxuICBzdGFnZXM6IENvc3RDYWxjdWxhdGlvblN0YWdlW10sXHJcbik6IE1hcDxudW1iZXIsIENvc3RDYWxjdWxhdGlvbkl0ZW0+IHtcclxuICBjb25zdCBtYXAgPSBuZXcgTWFwPG51bWJlciwgQ29zdENhbGN1bGF0aW9uSXRlbT4oKTtcclxuICBmb3IgKGNvbnN0IHN0YWdlIG9mIHN0YWdlcykge1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHN0YWdlLml0ZW1zKSB7XHJcbiAgICAgIGlmIChpdGVtLnN5c3RlbUNvZGUgIT0gbnVsbCkge1xyXG4gICAgICAgIG1hcC5zZXQoaXRlbS5zeXN0ZW1Db2RlLCBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gbWFwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUl0ZW1zKFxyXG4gIGl0ZW1zQnlDb2RlOiBNYXA8bnVtYmVyLCBDb3N0Q2FsY3VsYXRpb25JdGVtPixcclxuICByYXRlVXNkOiBudW1iZXIsXHJcbiAgcmF0ZUV1cjogbnVtYmVyLFxyXG4pOiBSZXNvbHZlZEl0ZW1zIHtcclxuICBjb25zdCBiYXNlVHJ5ID0gKGNvZGU6IENvc3RJdGVtU3lzdGVtQ29kZSk6IG51bWJlciA9PiB7XHJcbiAgICBjb25zdCBpdGVtID0gaXRlbXNCeUNvZGUuZ2V0KGNvZGUpO1xyXG4gICAgcmV0dXJuIGl0ZW0gPyB0b0Jhc2VUcnkocGFyc2VEZWNpbWFsKGl0ZW0udmFsdWUpLCBpdGVtLmN1cnJlbmN5LCByYXRlVXNkLCByYXRlRXVyKSA6IDA7XHJcbiAgfTtcclxuICBjb25zdCByYXRlUGVyY2VudCA9IChjb2RlOiBDb3N0SXRlbVN5c3RlbUNvZGUpOiBudW1iZXIgPT5cclxuICAgIHBhcnNlRGVjaW1hbChpdGVtc0J5Q29kZS5nZXQoY29kZSk/LnZhbHVlID8/IDApO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgcG9ydDogYmFzZVRyeShDb3N0SXRlbVN5c3RlbUNvZGUuUG9ydCksXHJcbiAgICBpbnNwZWN0aW9uQ3VzdG9tczogYmFzZVRyeShDb3N0SXRlbVN5c3RlbUNvZGUuSW5zcGVjdGlvbkN1c3RvbXMpLFxyXG4gICAgZnJlaWdodDogYmFzZVRyeShDb3N0SXRlbVN5c3RlbUNvZGUuRnJlaWdodCksXHJcbiAgICBsb3NzUmF0ZTogcmF0ZVBlcmNlbnQoQ29zdEl0ZW1TeXN0ZW1Db2RlLkxvc3MpLFxyXG4gICAgcmVmaW5lcnlPdmVyaGVhZDogYmFzZVRyeShDb3N0SXRlbVN5c3RlbUNvZGUuUmVmaW5lcnlPdmVyaGVhZCksXHJcbiAgICByZWZpbmVyeUF1eE1hdGVyaWFsczogYmFzZVRyeShDb3N0SXRlbVN5c3RlbUNvZGUuUmVmaW5lcnlBdXhNYXRlcmlhbHMpLFxyXG4gICAgZmlsbGluZ1BhY2thZ2luZ092ZXJoZWFkOiBiYXNlVHJ5KENvc3RJdGVtU3lzdGVtQ29kZS5GaWxsaW5nUGFja2FnaW5nT3ZlcmhlYWQpLFxyXG4gICAgcGFja2FnaW5nOiBiYXNlVHJ5KENvc3RJdGVtU3lzdGVtQ29kZS5QYWNrYWdpbmcpLFxyXG4gICAgc2FsZXNNYXJrZXRpbmc6IGJhc2VUcnkoQ29zdEl0ZW1TeXN0ZW1Db2RlLlNhbGVzTWFya2V0aW5nKSxcclxuICAgIGdlbmVyYWxBZG1pbjogYmFzZVRyeShDb3N0SXRlbVN5c3RlbUNvZGUuR2VuZXJhbEFkbWluKSxcclxuICAgIGZpbmFuY2U6IGJhc2VUcnkoQ29zdEl0ZW1TeXN0ZW1Db2RlLkZpbmFuY2UpLFxyXG4gICAgY29udGluZ2VuY3k6IGJhc2VUcnkoQ29zdEl0ZW1TeXN0ZW1Db2RlLkNvbnRpbmdlbmN5KSxcclxuICAgIHZhcmlhYmxlRGVwcmVjaWF0aW9uOiBiYXNlVHJ5KENvc3RJdGVtU3lzdGVtQ29kZS5WYXJpYWJsZURlcHJlY2lhdGlvbiksXHJcbiAgICBwcm9maXRSYXRlOiByYXRlUGVyY2VudChDb3N0SXRlbVN5c3RlbUNvZGUuUHJvZml0UmF0ZSksXHJcbiAgfTtcclxufVxyXG4iXX0=