@colijnit/sharedcomponents 1.0.64 → 1.0.65

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 (481) hide show
  1. package/README.md +24 -24
  2. package/bundles/colijnit-sharedcomponents.umd.js +10078 -9926
  3. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  4. package/colijnit-sharedcomponents.d.ts +92 -91
  5. package/colijnit-sharedcomponents.metadata.json +1 -1
  6. package/esm2015/colijnit-sharedcomponents.js +93 -92
  7. package/esm2015/lib/assets/dictionary/text.properties.js +11 -11
  8. package/esm2015/lib/businessobject/build-images-and-documentation-result.js +2 -2
  9. package/esm2015/lib/businessobject/co-document-right.bo.js +3 -3
  10. package/esm2015/lib/businessobject/drag-drop-container-element.js +2 -2
  11. package/esm2015/lib/businessobject/drag-drop-container.js +7 -7
  12. package/esm2015/lib/components/activity-list/activity-list.component.js +130 -130
  13. package/esm2015/lib/components/activity-list/activity-list.module.js +24 -24
  14. package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.component.js +47 -47
  15. package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.module.js +20 -20
  16. package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +61 -61
  17. package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +36 -36
  18. package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +56 -56
  19. package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +47 -47
  20. package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +68 -68
  21. package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +243 -243
  22. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +36 -36
  23. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +50 -50
  24. package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +46 -46
  25. package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +61 -61
  26. package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +39 -39
  27. package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +35 -35
  28. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +64 -64
  29. package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +48 -48
  30. package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +42 -42
  31. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +34 -34
  32. package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +48 -48
  33. package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +107 -107
  34. package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +178 -178
  35. package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +34 -34
  36. package/esm2015/lib/components/date-planning/date-planning.component.js +113 -113
  37. package/esm2015/lib/components/date-planning/date-planning.module.js +63 -63
  38. package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -75
  39. package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -44
  40. package/esm2015/lib/components/docsign/docsign.component.js +242 -242
  41. package/esm2015/lib/components/docsign/docsign.module.js +23 -23
  42. package/esm2015/lib/components/file-upload/file-upload.component.js +189 -189
  43. package/esm2015/lib/components/file-upload/file-upload.module.js +25 -25
  44. package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +397 -397
  45. package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +30 -30
  46. package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +469 -469
  47. package/esm2015/lib/components/files-upload/components/drag-drop-container.component.js +115 -115
  48. package/esm2015/lib/components/files-upload/files-upload.component.js +131 -131
  49. package/esm2015/lib/components/files-upload/files-upload.module.js +47 -47
  50. package/esm2015/lib/components/image-display/image-display.component.js +36 -36
  51. package/esm2015/lib/components/image-display/image-display.module.js +23 -23
  52. package/esm2015/lib/components/key-pad/key-pad.component.js +200 -200
  53. package/esm2015/lib/components/key-pad/key-pad.module.js +22 -22
  54. package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +74 -74
  55. package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +21 -21
  56. package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +59 -59
  57. package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +19 -19
  58. package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.component.js +89 -89
  59. package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.module.js +21 -21
  60. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +79 -79
  61. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +21 -21
  62. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +85 -85
  63. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +21 -21
  64. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +64 -64
  65. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +26 -26
  66. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +40 -40
  67. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +23 -23
  68. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +61 -61
  69. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +28 -28
  70. package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.component.js +38 -38
  71. package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.module.js +21 -21
  72. package/esm2015/lib/components/send-method-dialog/model/email-address-viewmodel.js +7 -7
  73. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +258 -258
  74. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +35 -35
  75. package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +2 -2
  76. package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +59 -59
  77. package/esm2015/lib/components/simple-tags/simple-tags.component.js +229 -229
  78. package/esm2015/lib/components/simple-tags/simple-tags.module.js +26 -26
  79. package/esm2015/lib/components/statusbar/statusbar-popup.component.js +97 -97
  80. package/esm2015/lib/components/statusbar/statusbar.component.js +81 -81
  81. package/esm2015/lib/components/statusbar/statusbar.module.js +27 -27
  82. package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +47 -47
  83. package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +47 -47
  84. package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +47 -47
  85. package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +47 -47
  86. package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +47 -47
  87. package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +67 -67
  88. package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +53 -53
  89. package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +210 -0
  90. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +248 -251
  91. package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +52 -52
  92. package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +39 -39
  93. package/esm2015/lib/components/stock/localization/translation.js +74 -72
  94. package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +33 -33
  95. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +48 -48
  96. package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +457 -457
  97. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +251 -243
  98. package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -2
  99. package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +72 -72
  100. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +160 -160
  101. package/esm2015/lib/components/stock/stock.component.js +237 -237
  102. package/esm2015/lib/components/stock/stock.module.js +82 -80
  103. package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +23 -23
  104. package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +19 -19
  105. package/esm2015/lib/components/tab-bar/tab-bar.component.js +90 -90
  106. package/esm2015/lib/components/tab-bar/tab-bar.module.js +21 -21
  107. package/esm2015/lib/components/tab-bar/tab.interface.js +2 -2
  108. package/esm2015/lib/components/tile-renderer/tile-render.component.js +80 -80
  109. package/esm2015/lib/components/tile-renderer/tile-render.module.js +26 -26
  110. package/esm2015/lib/decorator/input-boolean.decorator.js +34 -34
  111. package/esm2015/lib/enum/calendar-view.enum.js +9 -9
  112. package/esm2015/lib/enum/document-email-report.enum.js +18 -18
  113. package/esm2015/lib/enum/domain-multiple-name.enum.js +13 -13
  114. package/esm2015/lib/enum/file-type.js +14 -14
  115. package/esm2015/lib/enum/files-upload-config-objects.js +3 -3
  116. package/esm2015/lib/enum/gauge-color.enum.js +10 -10
  117. package/esm2015/lib/enum/icon.enum.js +49 -48
  118. package/esm2015/lib/enum/internal-param.enum.js +38 -38
  119. package/esm2015/lib/enum/keyboard-code.enum.js +32 -32
  120. package/esm2015/lib/enum/language-code.enum.js +8 -8
  121. package/esm2015/lib/enum/month.enum.js +17 -17
  122. package/esm2015/lib/enum/read-write-access-config-names.enum.js +2 -2
  123. package/esm2015/lib/enum/table-name.enum.js +86 -86
  124. package/esm2015/lib/enum/tag-category.enum.js +22 -22
  125. package/esm2015/lib/enum/tags-component-config-names.js +2 -2
  126. package/esm2015/lib/enum/thumb-three-way-state.js +19 -19
  127. package/esm2015/lib/enum/tile-size-type.js +7 -7
  128. package/esm2015/lib/enum/time-period.enum.js +11 -11
  129. package/esm2015/lib/event/co-drag-event.js +2 -2
  130. package/esm2015/lib/event/co-drop-event.js +2 -2
  131. package/esm2015/lib/interface/key-value-pair.js +2 -2
  132. package/esm2015/lib/interface/operation-callback-simple-function.js +4 -4
  133. package/esm2015/lib/localization/localization.module.js +19 -19
  134. package/esm2015/lib/localization/localize.pipe.js +26 -26
  135. package/esm2015/lib/localization/localize.service.js +30 -30
  136. package/esm2015/lib/localization/translation.js +3 -3
  137. package/esm2015/lib/model/agenda-event-per-day.model.js +6 -6
  138. package/esm2015/lib/model/agenda-event.model.js +8 -8
  139. package/esm2015/lib/model/agenda-null-objects.js +11 -11
  140. package/esm2015/lib/model/constant/all-months.js +17 -17
  141. package/esm2015/lib/model/date-range.js +5 -5
  142. package/esm2015/lib/model/day.model.js +7 -7
  143. package/esm2015/lib/model/icon-svg.js +48 -47
  144. package/esm2015/lib/model/month.model.js +11 -11
  145. package/esm2015/lib/model/send-method.js +8 -8
  146. package/esm2015/lib/model/settings.js +4 -4
  147. package/esm2015/lib/model/tag-tree-item.bo.js +16 -16
  148. package/esm2015/lib/model/time-window.bo.js +26 -26
  149. package/esm2015/lib/model/tree-object.js +15 -15
  150. package/esm2015/lib/model/week.model.js +6 -6
  151. package/esm2015/lib/model/weekday.model.js +10 -10
  152. package/esm2015/lib/pipe/array-number.pipe.js +15 -15
  153. package/esm2015/lib/pipe/file-type-image.pipe.js +51 -51
  154. package/esm2015/lib/pipe/master-pipes.js +9 -9
  155. package/esm2015/lib/pipe/ucfirst.pipe.js +16 -16
  156. package/esm2015/lib/service/dictionary.service.js +76 -76
  157. package/esm2015/lib/service/drag-drop.service.js +365 -365
  158. package/esm2015/lib/service/icon-cache.service.js +51 -51
  159. package/esm2015/lib/service/options.service.js +48 -48
  160. package/esm2015/lib/service/shared-connector.service.js +433 -433
  161. package/esm2015/lib/service/shared.service.js +60 -60
  162. package/esm2015/lib/service/stock.service.js +110 -110
  163. package/esm2015/lib/utils/array-utils.js +202 -202
  164. package/esm2015/lib/utils/calendar.utils.js +68 -68
  165. package/esm2015/lib/utils/check-precision-and-scale-result.js +2 -2
  166. package/esm2015/lib/utils/check-within-stepped-bounds-result.js +2 -2
  167. package/esm2015/lib/utils/co-document-shared-field-logic.js +50 -50
  168. package/esm2015/lib/utils/date-utils.js +264 -264
  169. package/esm2015/lib/utils/enum-utils.js +128 -128
  170. package/esm2015/lib/utils/function/not-nill.function.js +5 -5
  171. package/esm2015/lib/utils/is-nill.function.js +5 -5
  172. package/esm2015/lib/utils/map-utils.js +41 -41
  173. package/esm2015/lib/utils/number-utils.js +390 -390
  174. package/esm2015/lib/utils/object-utils.js +278 -278
  175. package/esm2015/lib/utils/ref-code-utils.js +49 -49
  176. package/esm2015/lib/utils/string-utils.js +93 -93
  177. package/esm2015/public-api.js +31 -31
  178. package/fesm2015/colijnit-sharedcomponents.js +10622 -10408
  179. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  180. package/lib/assets/dictionary/text.properties.d.ts +3 -3
  181. package/lib/businessobject/build-images-and-documentation-result.d.ts +5 -5
  182. package/lib/businessobject/co-document-right.bo.d.ts +6 -6
  183. package/lib/businessobject/drag-drop-container-element.d.ts +6 -6
  184. package/lib/businessobject/drag-drop-container.d.ts +6 -6
  185. package/lib/components/access/read-write-access.scss +25 -25
  186. package/lib/components/access/style/_layout.scss +23 -23
  187. package/lib/components/access/style/_material-definition.scss +12 -12
  188. package/lib/components/access/style/_theme.scss +4 -4
  189. package/lib/components/access/style/material.scss +4 -4
  190. package/lib/components/activity-list/activity-list.component.d.ts +33 -33
  191. package/lib/components/activity-list/activity-list.module.d.ts +2 -2
  192. package/lib/components/activity-list/style/_layout.scss +68 -68
  193. package/lib/components/activity-list/style/_theme.scss +4 -4
  194. package/lib/components/activity-list/style/material.scss +4 -4
  195. package/lib/components/app-file-dropzone/app-file-dropzone.component.d.ts +14 -14
  196. package/lib/components/app-file-dropzone/app-file-dropzone.module.d.ts +2 -2
  197. package/lib/components/app-file-dropzone/style/_layout.scss +61 -61
  198. package/lib/components/app-file-dropzone/style/_theme.scss +4 -4
  199. package/lib/components/app-file-dropzone/style/material.scss +4 -4
  200. package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +21 -21
  201. package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +7 -7
  202. package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +18 -18
  203. package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +13 -13
  204. package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +18 -18
  205. package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +48 -48
  206. package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +9 -9
  207. package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +8 -8
  208. package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +7 -7
  209. package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +10 -10
  210. package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +12 -12
  211. package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +12 -12
  212. package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +10 -10
  213. package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +9 -9
  214. package/lib/components/date-planning/component/agenda/style/_layout.scss +443 -443
  215. package/lib/components/date-planning/component/agenda/style/_material-definition.scss +12 -12
  216. package/lib/components/date-planning/component/agenda/style/_theme.scss +7 -7
  217. package/lib/components/date-planning/component/agenda/style/material.scss +5 -5
  218. package/lib/components/date-planning/component/agenda/view-select.component.d.ts +11 -11
  219. package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +9 -9
  220. package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +9 -9
  221. package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +23 -23
  222. package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +31 -31
  223. package/lib/components/date-planning/component/calendar/calendar.component.d.ts +10 -10
  224. package/lib/components/date-planning/component/calendar/style/_layout.scss +167 -167
  225. package/lib/components/date-planning/component/calendar/style/_material-definition.scss +7 -7
  226. package/lib/components/date-planning/component/calendar/style/_theme.scss +7 -7
  227. package/lib/components/date-planning/component/calendar/style/material.scss +5 -5
  228. package/lib/components/date-planning/date-planning.component.d.ts +28 -28
  229. package/lib/components/date-planning/date-planning.module.d.ts +2 -2
  230. package/lib/components/date-planning/style/_layout.scss +45 -45
  231. package/lib/components/date-planning/style/_theme.scss +5 -5
  232. package/lib/components/date-planning/style/material.scss +7 -7
  233. package/lib/components/docsign/component/signature/signature.component.d.ts +16 -16
  234. package/lib/components/docsign/component/signature/style/_layout.scss +40 -40
  235. package/lib/components/docsign/component/signature/style/_material-definition.scss +11 -11
  236. package/lib/components/docsign/component/signature/style/_theme.scss +13 -13
  237. package/lib/components/docsign/component/signature/style/material.scss +4 -4
  238. package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -12
  239. package/lib/components/docsign/component/signatures/style/_layout.scss +13 -13
  240. package/lib/components/docsign/component/signatures/style/_material-definition.scss +1 -1
  241. package/lib/components/docsign/component/signatures/style/_theme.scss +4 -4
  242. package/lib/components/docsign/component/signatures/style/material.scss +5 -5
  243. package/lib/components/docsign/docsign.component.d.ts +94 -94
  244. package/lib/components/docsign/docsign.module.d.ts +2 -2
  245. package/lib/components/docsign/style/_layout.scss +40 -40
  246. package/lib/components/docsign/style/_material-definition.scss +12 -12
  247. package/lib/components/docsign/style/_theme.scss +12 -12
  248. package/lib/components/docsign/style/material.scss +15 -15
  249. package/lib/components/file-upload/file-upload.component.d.ts +42 -42
  250. package/lib/components/file-upload/file-upload.module.d.ts +2 -2
  251. package/lib/components/file-upload/style/_layout.scss +59 -59
  252. package/lib/components/file-upload/style/_material-definition.scss +2 -2
  253. package/lib/components/file-upload/style/_theme.scss +4 -4
  254. package/lib/components/file-upload/style/material.scss +4 -4
  255. package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +75 -75
  256. package/lib/components/file-upload-popup/file-upload-popup.module.d.ts +2 -2
  257. package/lib/components/file-upload-popup/style/_layout.scss +48 -48
  258. package/lib/components/file-upload-popup/style/_material-definition.scss +2 -2
  259. package/lib/components/file-upload-popup/style/_theme.scss +5 -5
  260. package/lib/components/file-upload-popup/style/material.scss +4 -4
  261. package/lib/components/files-upload/components/base-file-upload.component.d.ts +98 -98
  262. package/lib/components/files-upload/components/drag-drop-container.component.d.ts +34 -34
  263. package/lib/components/files-upload/files-upload.component.d.ts +32 -32
  264. package/lib/components/files-upload/files-upload.module.d.ts +2 -2
  265. package/lib/components/files-upload/style/_layout.scss +49 -49
  266. package/lib/components/files-upload/style/_theme.scss +5 -5
  267. package/lib/components/files-upload/style/material.scss +4 -4
  268. package/lib/components/image-display/image-display.component.d.ts +14 -14
  269. package/lib/components/image-display/image-display.module.d.ts +2 -2
  270. package/lib/components/image-display/style/_layout.scss +56 -56
  271. package/lib/components/image-display/style/_material-definition.scss +4 -4
  272. package/lib/components/image-display/style/_theme.scss +6 -6
  273. package/lib/components/image-display/style/material.scss +3 -3
  274. package/lib/components/key-pad/key-pad.component.d.ts +38 -38
  275. package/lib/components/key-pad/key-pad.module.d.ts +2 -2
  276. package/lib/components/key-pad/style/_layout.scss +160 -160
  277. package/lib/components/key-pad/style/_material-definition.scss +19 -19
  278. package/lib/components/key-pad/style/_theme.scss +35 -35
  279. package/lib/components/key-pad/style/material.scss +4 -4
  280. package/lib/components/layout-switcher/layout-switcher.component.d.ts +16 -16
  281. package/lib/components/layout-switcher/layout-switcher.module.d.ts +2 -2
  282. package/lib/components/layout-switcher/style/_layout.scss +94 -94
  283. package/lib/components/layout-switcher/style/_material-definition.scss +16 -16
  284. package/lib/components/layout-switcher/style/_theme.scss +4 -4
  285. package/lib/components/layout-switcher/style/material.scss +6 -6
  286. package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +11 -11
  287. package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +2 -2
  288. package/lib/components/linear-gauge/style/_layout.scss +20 -20
  289. package/lib/components/linear-gauge/style/_material-definition.scss +8 -8
  290. package/lib/components/linear-gauge/style/_theme.scss +4 -4
  291. package/lib/components/linear-gauge/style/material.scss +6 -6
  292. package/lib/components/login/style/_layout.scss +57 -57
  293. package/lib/components/login/style/_material-definition.scss +23 -23
  294. package/lib/components/login/style/_theme.scss +7 -7
  295. package/lib/components/login/style/material.scss +4 -4
  296. package/lib/components/multi-property-toggler/multiple-property-toggler.component.d.ts +27 -27
  297. package/lib/components/multi-property-toggler/multiple-property-toggler.module.d.ts +2 -2
  298. package/lib/components/multi-property-toggler/style/_layout.scss +24 -24
  299. package/lib/components/multi-property-toggler/style/_theme.scss +4 -4
  300. package/lib/components/multi-property-toggler/style/material.scss +4 -4
  301. package/lib/components/screen-config-generator/style/_layout.scss +95 -95
  302. package/lib/components/screen-config-generator/style/_theme.scss +4 -4
  303. package/lib/components/screen-config-generator/style/material.scss +4 -4
  304. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +19 -19
  305. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.d.ts +2 -2
  306. package/lib/components/send-method-dialog/components/layout-selection/style/_layout.scss +44 -44
  307. package/lib/components/send-method-dialog/components/layout-selection/style/_material-definition.scss +19 -19
  308. package/lib/components/send-method-dialog/components/layout-selection/style/_theme.scss +17 -17
  309. package/lib/components/send-method-dialog/components/layout-selection/style/material.scss +4 -4
  310. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +19 -19
  311. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.d.ts +2 -2
  312. package/lib/components/send-method-dialog/components/printer-selection/style/_layout.scss +69 -69
  313. package/lib/components/send-method-dialog/components/printer-selection/style/_material-definition.scss +37 -37
  314. package/lib/components/send-method-dialog/components/printer-selection/style/_theme.scss +23 -23
  315. package/lib/components/send-method-dialog/components/printer-selection/style/material.scss +4 -4
  316. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +14 -14
  317. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.d.ts +2 -2
  318. package/lib/components/send-method-dialog/components/send-method-email/style/_layout.scss +29 -29
  319. package/lib/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +8 -8
  320. package/lib/components/send-method-dialog/components/send-method-email/style/_theme.scss +5 -5
  321. package/lib/components/send-method-dialog/components/send-method-email/style/material.scss +4 -4
  322. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +8 -8
  323. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.d.ts +2 -2
  324. package/lib/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +25 -25
  325. package/lib/components/send-method-dialog/components/send-method-pdf/style/_material-definition.scss +5 -5
  326. package/lib/components/send-method-dialog/components/send-method-pdf/style/_theme.scss +5 -5
  327. package/lib/components/send-method-dialog/components/send-method-pdf/style/material.scss +4 -4
  328. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +13 -13
  329. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.d.ts +2 -2
  330. package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +30 -30
  331. package/lib/components/send-method-dialog/components/send-method-printer/style/_material-definition.scss +5 -5
  332. package/lib/components/send-method-dialog/components/send-method-printer/style/_theme.scss +5 -5
  333. package/lib/components/send-method-dialog/components/send-method-printer/style/material.scss +4 -4
  334. package/lib/components/send-method-dialog/components/signature-button/signature-button.component.d.ts +12 -12
  335. package/lib/components/send-method-dialog/components/signature-button/signature-button.module.d.ts +2 -2
  336. package/lib/components/send-method-dialog/components/signature-button/style/_layout.scss +28 -28
  337. package/lib/components/send-method-dialog/components/signature-button/style/_material-definition.scss +8 -8
  338. package/lib/components/send-method-dialog/components/signature-button/style/_theme.scss +4 -4
  339. package/lib/components/send-method-dialog/components/signature-button/style/material.scss +4 -4
  340. package/lib/components/send-method-dialog/model/email-address-viewmodel.d.ts +5 -5
  341. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +71 -71
  342. package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -2
  343. package/lib/components/send-method-dialog/send-method-params.interface.d.ts +13 -13
  344. package/lib/components/send-method-dialog/service/send-method.service.d.ts +23 -23
  345. package/lib/components/send-method-dialog/style/_layout.scss +165 -165
  346. package/lib/components/send-method-dialog/style/_material-definition.scss +48 -48
  347. package/lib/components/send-method-dialog/style/_theme.scss +33 -33
  348. package/lib/components/send-method-dialog/style/material.scss +10 -10
  349. package/lib/components/simple-tags/simple-tags.component.d.ts +31 -31
  350. package/lib/components/simple-tags/simple-tags.module.d.ts +2 -2
  351. package/lib/components/simple-tags/style/_layout.scss +272 -272
  352. package/lib/components/simple-tags/style/_material-definition.scss +39 -39
  353. package/lib/components/simple-tags/style/_theme.scss +4 -4
  354. package/lib/components/simple-tags/style/material.scss +4 -4
  355. package/lib/components/statusbar/statusbar-popup.component.d.ts +21 -21
  356. package/lib/components/statusbar/statusbar.component.d.ts +26 -26
  357. package/lib/components/statusbar/statusbar.module.d.ts +2 -2
  358. package/lib/components/statusbar/style/_layout.scss +70 -70
  359. package/lib/components/statusbar/style/_material-definition.scss +23 -23
  360. package/lib/components/statusbar/style/_theme.scss +13 -13
  361. package/lib/components/statusbar/style/material.scss +5 -5
  362. package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +9 -9
  363. package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +9 -9
  364. package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +9 -9
  365. package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +11 -11
  366. package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +9 -9
  367. package/lib/components/stock/components/order-tab/order-tab.component.d.ts +20 -20
  368. package/lib/components/stock/components/stock-history/stock-history.component.d.ts +13 -13
  369. package/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.d.ts +41 -0
  370. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +54 -52
  371. package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +11 -11
  372. package/lib/components/stock/components/stock-tab/stock-tab.component.d.ts +7 -7
  373. package/lib/components/stock/localization/translation.d.ts +71 -69
  374. package/lib/components/stock/stock-history-tabs/stock-history-tabs.component.d.ts +7 -7
  375. package/lib/components/stock/stock-information/stock-information.component.d.ts +9 -9
  376. package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +75 -75
  377. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +59 -56
  378. package/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts +4 -4
  379. package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -18
  380. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +38 -38
  381. package/lib/components/stock/stock.component.d.ts +64 -64
  382. package/lib/components/stock/stock.module.d.ts +2 -2
  383. package/lib/components/stock/style/_layout.scss +519 -473
  384. package/lib/components/stock/style/_material-definition.scss +28 -28
  385. package/lib/components/stock/style/_theme.scss +5 -5
  386. package/lib/components/stock/style/material.scss +4 -4
  387. package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +4 -4
  388. package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +2 -2
  389. package/lib/components/stock-statusbar/style/_layout.scss +24 -24
  390. package/lib/components/stock-statusbar/style/material.scss +4 -4
  391. package/lib/components/tab-bar/style/_layout.scss +83 -83
  392. package/lib/components/tab-bar/style/_material-definition.scss +6 -6
  393. package/lib/components/tab-bar/style/material.scss +4 -4
  394. package/lib/components/tab-bar/tab-bar.component.d.ts +21 -21
  395. package/lib/components/tab-bar/tab-bar.module.d.ts +2 -2
  396. package/lib/components/tab-bar/tab.interface.d.ts +5 -5
  397. package/lib/components/tags/component/style/_layout.scss +67 -67
  398. package/lib/components/tags/component/style/_material-definition.scss +1 -1
  399. package/lib/components/tags/component/style/_theme.scss +8 -8
  400. package/lib/components/tags/component/style/material.scss +3 -3
  401. package/lib/components/tags/component/tag-join-label/style/_layout.scss +97 -97
  402. package/lib/components/tags/component/tag-join-label/style/_material-definition.scss +4 -4
  403. package/lib/components/tags/component/tag-join-label/style/_theme.scss +8 -8
  404. package/lib/components/tags/component/tag-join-label/style/material.scss +3 -3
  405. package/lib/components/tile-renderer/style/_layout.scss +90 -90
  406. package/lib/components/tile-renderer/style/_theme.scss +4 -4
  407. package/lib/components/tile-renderer/style/material.scss +4 -4
  408. package/lib/components/tile-renderer/tile-render.component.d.ts +31 -31
  409. package/lib/components/tile-renderer/tile-render.module.d.ts +2 -2
  410. package/lib/decorator/input-boolean.decorator.d.ts +8 -8
  411. package/lib/enum/calendar-view.enum.d.ts +7 -7
  412. package/lib/enum/document-email-report.enum.d.ts +15 -15
  413. package/lib/enum/domain-multiple-name.enum.d.ts +10 -10
  414. package/lib/enum/file-type.d.ts +7 -7
  415. package/lib/enum/files-upload-config-objects.d.ts +22 -22
  416. package/lib/enum/gauge-color.enum.d.ts +8 -8
  417. package/lib/enum/icon.enum.d.ts +47 -46
  418. package/lib/enum/internal-param.enum.d.ts +34 -34
  419. package/lib/enum/keyboard-code.enum.d.ts +30 -30
  420. package/lib/enum/language-code.enum.d.ts +6 -6
  421. package/lib/enum/month.enum.d.ts +14 -14
  422. package/lib/enum/read-write-access-config-names.enum.d.ts +4 -4
  423. package/lib/enum/table-name.enum.d.ts +84 -84
  424. package/lib/enum/tag-category.enum.d.ts +19 -19
  425. package/lib/enum/tags-component-config-names.d.ts +4 -4
  426. package/lib/enum/thumb-three-way-state.d.ts +6 -6
  427. package/lib/enum/tile-size-type.d.ts +4 -4
  428. package/lib/enum/time-period.enum.d.ts +8 -8
  429. package/lib/event/co-drag-event.d.ts +5 -5
  430. package/lib/event/co-drop-event.d.ts +8 -8
  431. package/lib/interface/key-value-pair.d.ts +4 -4
  432. package/lib/interface/operation-callback-simple-function.d.ts +4 -4
  433. package/lib/localization/localization.module.d.ts +2 -2
  434. package/lib/localization/localize.pipe.d.ts +7 -7
  435. package/lib/localization/localize.service.d.ts +7 -7
  436. package/lib/localization/translation.d.ts +2 -2
  437. package/lib/model/agenda-event-per-day.model.d.ts +5 -5
  438. package/lib/model/agenda-event.model.d.ts +17 -17
  439. package/lib/model/agenda-null-objects.d.ts +10 -10
  440. package/lib/model/constant/all-months.d.ts +2 -2
  441. package/lib/model/date-range.d.ts +7 -7
  442. package/lib/model/day.model.d.ts +8 -8
  443. package/lib/model/icon-svg.d.ts +4 -4
  444. package/lib/model/month.model.d.ts +5 -5
  445. package/lib/model/send-method.d.ts +7 -7
  446. package/lib/model/settings.d.ts +3 -3
  447. package/lib/model/tag-tree-item.bo.d.ts +18 -18
  448. package/lib/model/time-window.bo.d.ts +13 -13
  449. package/lib/model/tree-object.d.ts +8 -8
  450. package/lib/model/week.model.d.ts +4 -4
  451. package/lib/model/weekday.model.d.ts +16 -16
  452. package/lib/pipe/array-number.pipe.d.ts +4 -4
  453. package/lib/pipe/file-type-image.pipe.d.ts +12 -12
  454. package/lib/pipe/master-pipes.d.ts +1 -1
  455. package/lib/pipe/ucfirst.pipe.d.ts +4 -4
  456. package/lib/service/dictionary.service.d.ts +21 -21
  457. package/lib/service/drag-drop.service.d.ts +86 -86
  458. package/lib/service/icon-cache.service.d.ts +18 -18
  459. package/lib/service/options.service.d.ts +13 -13
  460. package/lib/service/shared-connector.service.d.ts +55 -55
  461. package/lib/service/shared.service.d.ts +18 -18
  462. package/lib/service/stock.service.d.ts +41 -41
  463. package/lib/style/_mixin.scss +14 -14
  464. package/lib/style/_variables.scss +21 -21
  465. package/lib/style/sharedcomponents-globals.scss +10 -10
  466. package/lib/utils/array-utils.d.ts +63 -63
  467. package/lib/utils/calendar.utils.d.ts +10 -10
  468. package/lib/utils/check-precision-and-scale-result.d.ts +4 -4
  469. package/lib/utils/check-within-stepped-bounds-result.d.ts +8 -8
  470. package/lib/utils/co-document-shared-field-logic.d.ts +7 -7
  471. package/lib/utils/date-utils.d.ts +44 -44
  472. package/lib/utils/enum-utils.d.ts +31 -31
  473. package/lib/utils/function/not-nill.function.d.ts +1 -1
  474. package/lib/utils/is-nill.function.d.ts +1 -1
  475. package/lib/utils/map-utils.d.ts +16 -16
  476. package/lib/utils/number-utils.d.ts +125 -125
  477. package/lib/utils/object-utils.d.ts +40 -40
  478. package/lib/utils/ref-code-utils.d.ts +10 -10
  479. package/lib/utils/string-utils.d.ts +38 -38
  480. package/package.json +1 -1
  481. package/public-api.d.ts +27 -27
@@ -1,237 +1,237 @@
1
- import { __awaiter } from "tslib";
2
- import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { StockService } from "../../service/stock.service";
4
- import { PrintStockStickers } from "@colijnit/sharedapi/build/model/print-stock-stickers";
5
- import { ArticleExtended } from "@colijnit/articleapi/build/model/article-extended.bo";
6
- import { ArticleStock } from "@colijnit/articleapi/build/model/article-stock";
7
- import { OptionsService } from "../../service/options.service";
8
- import { DictionaryService } from "../../service/dictionary.service";
9
- import { LocalizeService } from '../../localization/localize.service';
10
- import { ArticleExtendedRequest } from "@colijnit/articleapi/build/model/article-extended-request";
11
- import { SharedConnectorService } from "../../service/shared-connector.service";
12
- import { Icon } from "../../enum/icon.enum";
13
- import { IconCacheService } from "../../service/icon-cache.service";
14
- export class StockComponent {
15
- constructor(_stockService, _optionsService, _dictionary, _changeDetector, _localizeService, _connector, iconCacheService) {
16
- this._stockService = _stockService;
17
- this._optionsService = _optionsService;
18
- this._dictionary = _dictionary;
19
- this._changeDetector = _changeDetector;
20
- this._localizeService = _localizeService;
21
- this._connector = _connector;
22
- this.iconCacheService = iconCacheService;
23
- this.icons = Icon;
24
- this.handleStickerClicked = new EventEmitter();
25
- this.articleWarehouse = [];
26
- this.allWarehouses = [];
27
- this.okButtonClicked = new EventEmitter();
28
- this.cancelButtonClicked = new EventEmitter();
29
- this.handleClick = new EventEmitter();
30
- this.loaded = false;
31
- this.showStockInformationGrid = true;
32
- this.showStockTransfer = false;
33
- this.stockInformation = [];
34
- this.stockHistory = [];
35
- this.allAvailableStock = 0;
36
- this.allTechnicalStock = 0;
37
- this.economicalStock = 0;
38
- this.showSendMethodDialog = false;
39
- this.warehouses = [];
40
- this._subscriptions = [];
41
- this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
42
- }
43
- set translation(value) {
44
- this._localizeService.translation = value;
45
- this._changeDetector.markForCheck();
46
- }
47
- set article(articleOrGoodId) {
48
- if (articleOrGoodId instanceof ArticleExtended) {
49
- this.articleExtended = articleOrGoodId;
50
- this._goodId = articleOrGoodId.goodId;
51
- }
52
- else if (typeof articleOrGoodId === "number") {
53
- this._goodId = articleOrGoodId;
54
- }
55
- }
56
- ;
57
- showClass() {
58
- return true;
59
- }
60
- ngOnDestroy() {
61
- this.articleExtended = undefined;
62
- this.articleFlat = undefined;
63
- this._subscriptions.forEach(subscription => subscription.unsubscribe());
64
- }
65
- ngOnInit() {
66
- }
67
- handleStockTransferClick(event) {
68
- this.stockTransferArticleDetails = event;
69
- this.showStockTransfer = !this.showStockTransfer;
70
- this.showStockInformationGrid = !this.showStockInformationGrid;
71
- this._stockService.stockStickers = new PrintStockStickers();
72
- }
73
- handleSendMethodClick(event) {
74
- this.showSendMethodDialog = true;
75
- }
76
- handleOkClick(data) {
77
- data.selected = true;
78
- data.entryDate = new Date;
79
- this._stockService.updateArticleDetails(data).then(result => {
80
- this.handleClick.emit();
81
- });
82
- }
83
- backToStock(goodId) {
84
- this.loadData();
85
- this.showStockTransfer = !this.showStockTransfer;
86
- this.showStockInformationGrid = !this.showStockInformationGrid;
87
- }
88
- getStockInformation(goodId) {
89
- const articleData = new ArticleStock();
90
- articleData.goodId = goodId.toString();
91
- articleData.viewKind = "M";
92
- this._stockService.getStockInformation(articleData).then(result => {
93
- this.stockInformation = result;
94
- this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);
95
- this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);
96
- this.stockInformation.forEach((articleStock) => this.economicalStock += articleStock.economicalStock);
97
- });
98
- }
99
- getArtStockStatus() {
100
- this._stockService.getArtStockStatus(this.articleExtended ? this.articleExtended.goodId : this._goodId).then(result => {
101
- this.articleStockState = result;
102
- });
103
- }
104
- getStockManagementWarehouses() {
105
- this._stockService.getStockManagementWarehouses().then((warehouses) => {
106
- this.warehouses = warehouses;
107
- });
108
- }
109
- _handleSettingsLoaded(loaded) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- if (loaded) {
112
- yield this._initConnection().then();
113
- }
114
- });
115
- }
116
- _initConnection() {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- yield this._connector.connect();
119
- if (this._optionsService.options.url) {
120
- this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
121
- }
122
- yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
123
- setTimeout(() => {
124
- this._changeDetector.detectChanges();
125
- });
126
- this.loaded = true;
127
- this.loadData();
128
- });
129
- }
130
- loadData() {
131
- if (this.loaded) {
132
- if (this._goodId && !this.articleExtended) {
133
- let request = new ArticleExtendedRequest();
134
- request.goodId = this._goodId;
135
- this._stockService.searchArticles(request).then((articleExtended) => {
136
- if (articleExtended[0]) {
137
- this.articleExtended = articleExtended[0];
138
- this._stockService.getArticleFlat(articleExtended[0].articleNumber).then(result => {
139
- this.articleFlat = result;
140
- });
141
- }
142
- });
143
- }
144
- this.getArtStockStatus();
145
- this.getStockManagementWarehouses();
146
- this.getStockInformation(this.articleExtended ? this.articleExtended.goodId : this._goodId);
147
- }
148
- this._changeDetector.markForCheck();
149
- this._changeDetector.detectChanges();
150
- }
151
- }
152
- StockComponent.decorators = [
153
- { type: Component, args: [{
154
- selector: "co-stock",
155
- template: `
156
- <div class="stock-info-container" *ngIf="loaded && articleExtended">
157
- <co-stock-information [article]="articleExtended"
158
- [articleStockState]="articleStockState"
159
- [allAvailableStockInformation]="allAvailableStock"
160
- [allTechnicalStockInformation]="allTechnicalStock"
161
- [economicalStock]="economicalStock"
162
- >
163
- </co-stock-information>
164
- <co-stock-tabs [stockInformation]="stockInformation"
165
- [article]="articleExtended"
166
- [articleFlat]="articleFlat"
167
- (transferIconClicked)="handleStockTransferClick($event)"
168
- (sendMethodDialogClicked)="handleSendMethodClick($event)"
169
- [warehouses]="warehouses"
170
- ></co-stock-tabs>
171
- <div class="stock-transfer-wrapper">
172
- <co-dialog *ngIf="showStockTransfer"
173
- (closeClick)="showStockTransfer = false"
174
- [showCloseIcon]="true"
175
- [modal]="true"
176
- [headerTemplate]="headerTemplate"
177
- [footerTemplate]="footerTemplate">
178
- <ng-template #headerTemplate>
179
- <div class="co-dialog-header-title-wrapper">
180
- <co-icon [iconData]="iconCacheService.getIcon(icons.Cubes)"></co-icon>
181
- <div class="co-dialog-header-title" [textContent]="'TRANSFER_STOCK' | localize"></div>
182
- </div>
183
- </ng-template>
184
- <div class="dialog-wrapper">
185
- <co-stock-transfer (handleClick)="backToStock($event)"
186
- class="stock-transfer-dialog"
187
- [article]="stockTransferArticle"
188
- [articleToTransfer]="stockTransferArticleDetails"
189
- (handleStickerClicked)="handleStickerClicked.emit($event)"
190
- [articleWarehouse]="articleWarehouse"
191
- [allWarehouses]="allWarehouses">
192
- </co-stock-transfer>
193
- </div>
194
- <ng-template #footerTemplate>
195
- <div class="button-wrapper ok-cancel-buttons">
196
- <co-button class="save-button"
197
- (click)="handleOkClick(stockTransferArticleDetails)"
198
- [iconData]="iconCacheService.getIcon(icons.CheckDuotone)">
199
- </co-button>
200
- <co-button class="cancel-button"
201
- (click)="showStockTransfer = false"
202
- [iconData]="iconCacheService.getIcon(icons.CrossSkinny)">
203
- </co-button>
204
- </div>
205
- </ng-template>
206
- </co-dialog>
207
- </div>
208
-
209
- <co-send-method-dialog *ngIf="showSendMethodDialog">
210
-
211
- </co-send-method-dialog>
212
- </div>
213
- `,
214
- encapsulation: ViewEncapsulation.None
215
- },] }
216
- ];
217
- StockComponent.ctorParameters = () => [
218
- { type: StockService },
219
- { type: OptionsService },
220
- { type: DictionaryService },
221
- { type: ChangeDetectorRef },
222
- { type: LocalizeService },
223
- { type: SharedConnectorService },
224
- { type: IconCacheService }
225
- ];
226
- StockComponent.propDecorators = {
227
- translation: [{ type: Input }],
228
- handleStickerClicked: [{ type: Output }],
229
- article: [{ type: Input }],
230
- articleWarehouse: [{ type: Input }],
231
- allWarehouses: [{ type: Input }],
232
- okButtonClicked: [{ type: Output }],
233
- cancelButtonClicked: [{ type: Output }],
234
- handleClick: [{ type: Output }],
235
- showClass: [{ type: HostBinding, args: ["class.co-stock",] }]
236
- };
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUduRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBaUVsRSxNQUFNLE9BQU8sY0FBYztJQThEekIsWUFDVSxhQUEyQixFQUMzQixlQUErQixFQUMvQixXQUE4QixFQUM5QixlQUFrQyxFQUNsQyxnQkFBaUMsRUFDakMsVUFBa0MsRUFDbkMsZ0JBQWtDO1FBTmpDLGtCQUFhLEdB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QUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0Y7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7O1lBL09GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMERUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFqRk8sWUFBWTtZQU9aLGNBQWM7WUFFZCxpQkFBaUI7WUFsQnZCLGlCQUFpQjtZQXFCWCxlQUFlO1lBRWYsc0JBQXNCO1lBR3RCLGdCQUFnQjs7OzBCQW1FckIsS0FBSzttQ0FNTCxNQUFNO3NCQUdOLEtBQUs7K0JBWUwsS0FBSzs0QkFHTCxLQUFLOzhCQUdMLE1BQU07a0NBR04sTUFBTTswQkFFTixNQUFNO3dCQUVOLFdBQVcsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtTdG9ja1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2VcIjtcbmltcG9ydCB7UHJpbnRTdG9ja1N0aWNrZXJzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9wcmludC1zdG9jay1zdGlja2Vyc1wiO1xuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm9cIjtcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9ja1wiO1xuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm9cIjtcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ib1wiO1xuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvb3B0aW9ucy5zZXJ2aWNlXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbWFuYWdlbWVudC13YXJlaG91c2VzLmJvXCI7XG5pbXBvcnQge1RyYW5zbGF0aW9ufSBmcm9tICcuL2xvY2FsaXphdGlvbi90cmFuc2xhdGlvbic7XG5pbXBvcnQge0xvY2FsaXplU2VydmljZX0gZnJvbSAnLi4vLi4vbG9jYWxpemF0aW9uL2xvY2FsaXplLnNlcnZpY2UnO1xuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC1yZXF1ZXN0XCI7XG5pbXBvcnQge1NoYXJlZENvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3NoYXJlZC1jb25uZWN0b3Iuc2VydmljZVwiO1xuaW1wb3J0IHtBcnRpY2xlRmxhdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZmxhdC5ib1wiO1xuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby1zdG9ja1wiLFxuICB0ZW1wbGF0ZTogYFxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tY29udGFpbmVyXCIgKm5nSWY9XCJsb2FkZWQgJiYgYXJ0aWNsZUV4dGVuZGVkXCI+XG4gICAgICAgIDxjby1zdG9jay1pbmZvcm1hdGlvbiBbYXJ0aWNsZV09XCJhcnRpY2xlRXh0ZW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVTdG9ja1N0YXRlXT1cImFydGljbGVTdG9ja1N0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxBdmFpbGFibGVTdG9ja0luZm9ybWF0aW9uXT1cImFsbEF2YWlsYWJsZVN0b2NrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxUZWNobmljYWxTdG9ja0luZm9ybWF0aW9uXT1cImFsbFRlY2huaWNhbFN0b2NrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlY29ub21pY2FsU3RvY2tdPVwiZWNvbm9taWNhbFN0b2NrXCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvLXN0b2NrLWluZm9ybWF0aW9uPlxuICAgICAgICA8Y28tc3RvY2stdGFicyBbc3RvY2tJbmZvcm1hdGlvbl09XCJzdG9ja0luZm9ybWF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVdPVwiYXJ0aWNsZUV4dGVuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVGbGF0XT1cImFydGljbGVGbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgKHRyYW5zZmVySWNvbkNsaWNrZWQpPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAoc2VuZE1ldGhvZERpYWxvZ0NsaWNrZWQpPVwiaGFuZGxlU2VuZE1ldGhvZENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlc109XCJ3YXJlaG91c2VzXCJcbiAgICAgICAgPjwvY28tc3RvY2stdGFicz5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLXdyYXBwZXJcIj5cbiAgICAgICAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd1N0b2NrVHJhbnNmZXJcIlxuICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1N0b2NrVHJhbnNmZXIgPSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgIFttb2RhbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkN1YmVzKVwiPjwvY28taWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInVFJBTlNGRVJfU1RPQ0snIHwgbG9jYWxpemVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxjby1zdG9jay10cmFuc2ZlciAoaGFuZGxlQ2xpY2spPVwiYmFja1RvU3RvY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0b2NrLXRyYW5zZmVyLWRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZV09XCJzdG9ja1RyYW5zZmVyQXJ0aWNsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVRvVHJhbnNmZXJdPVwic3RvY2tUcmFuc2ZlckFydGljbGVEZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoYW5kbGVTdGlja2VyQ2xpY2tlZCk9XCJoYW5kbGVTdGlja2VyQ2xpY2tlZC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVXYXJlaG91c2VdPVwiYXJ0aWNsZVdhcmVob3VzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsV2FyZWhvdXNlc109XCJhbGxXYXJlaG91c2VzXCI+XG4gICAgICAgICAgICAgIDwvY28tc3RvY2stdHJhbnNmZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlciBvay1jYW5jZWwtYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlT2tDbGljayhzdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiPlxuICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93U3RvY2tUcmFuc2ZlciA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCI+XG4gICAgICAgICAgICAgICAgPC9jby1idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2NvLWRpYWxvZz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGNvLXNlbmQtbWV0aG9kLWRpYWxvZyAqbmdJZj1cInNob3dTZW5kTWV0aG9kRGlhbG9nXCI+XG5cbiAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XG4gICAgICA8L2Rpdj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTdG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdHJhbnNsYXRpb24odmFsdWU6IFRyYW5zbGF0aW9uKSB7XG4gICAgdGhpcy5fbG9jYWxpemVTZXJ2aWNlLnRyYW5zbGF0aW9uID0gdmFsdWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGhhbmRsZVN0aWNrZXJDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFydGljbGUoYXJ0aWNsZU9yR29vZElkOiBBcnRpY2xlRXh0ZW5kZWQgfCBudW1iZXIpIHtcbiAgICBpZihhcnRpY2xlT3JHb29kSWQgaW5zdGFuY2VvZiBBcnRpY2xlRXh0ZW5kZWQpIHtcbiAgICAgIHRoaXMuYXJ0aWNsZUV4dGVuZGVkID0gYXJ0aWNsZU9yR29vZElkO1xuICAgICAgdGhpcy5fZ29vZElkID0gYXJ0aWNsZU9yR29vZElkLmdvb2RJZDtcblxuICAgIH0gZWxzZSBpZih0eXBlb2YgYXJ0aWNsZU9yR29vZElkID09PSBcIm51bWJlclwiICkge1xuICAgICAgdGhpcy5fZ29vZElkID0gYXJ0aWNsZU9yR29vZElkO1xuICAgIH1cblxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcnRpY2xlV2FyZWhvdXNlOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxXYXJlaG91c2VzOiBhbnlbXSA9IFtdO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgb2tCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGNhbmNlbEJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KClcbiAgcHVibGljIGhhbmRsZUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tc3RvY2tcIilcbiAgcHVibGljIHNob3dDbGFzcygpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHNob3dTdG9ja1RyYW5zZmVyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzdG9ja0luZm9ybWF0aW9uOiBBcnRpY2xlU3RvY2tCb1tdID0gW107XG4gIHB1YmxpYyBzdG9ja1RyYW5zZmVyQXJ0aWNsZTogQXJ0aWNsZVN0b2NrQm87XG4gIHB1YmxpYyBzdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm87XG4gIHB1YmxpYyBhcnRpY2xlRXh0ZW5kZWQ6IEFydGljbGVFeHRlbmRlZDtcblxuICBwdWJsaWMgYXJ0aWNsZUZsYXQ6QXJ0aWNsZUZsYXQ7XG4gIHB1YmxpYyBzdG9ja0hpc3Rvcnk6IFN0b2NrSGlzdG9yeUJvW10gPSBbXTtcbiAgcHVibGljIGFsbEF2YWlsYWJsZVN0b2NrOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgYWxsVGVjaG5pY2FsU3RvY2s6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBlY29ub21pY2FsU3RvY2s6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBzaG93U2VuZE1ldGhvZERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgYXJ0aWNsZVN0b2NrU3RhdGU6IG51bWJlcjtcbiAgcHVibGljIHdhcmVob3VzZXM6IFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXSA9IFtdO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX2dvb2RJZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfbG9jYWxpemVTZXJ2aWNlOiBMb2NhbGl6ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY29ubmVjdG9yOiBTaGFyZWRDb25uZWN0b3JTZXJ2aWNlLFxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnNMb2FkZWQuc3Vic2NyaWJlKGxvYWRlZCA9PiB0aGlzLl9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQpKSxcbiAgICApXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFydGljbGVFeHRlbmRlZCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmFydGljbGVGbGF0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHMgPSBldmVudDtcbiAgICB0aGlzLnNob3dTdG9ja1RyYW5zZmVyID0gIXRoaXMuc2hvd1N0b2NrVHJhbnNmZXI7XG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSAhdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ7XG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnN0b2NrU3RpY2tlcnMgPSBuZXcgUHJpbnRTdG9ja1N0aWNrZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU2VuZE1ldGhvZENsaWNrKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9IHRydWU7XG4gIH1cbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soZGF0YTogQXJ0aWNsZURldGFpbHNCbyk6IHZvaWQge1xuICAgIGRhdGEuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIGRhdGEuZW50cnlEYXRlID0gbmV3IERhdGU7XG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnVwZGF0ZUFydGljbGVEZXRhaWxzKGRhdGEpLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlQ2xpY2suZW1pdCgpO1xuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgYmFja1RvU3RvY2soZ29vZElkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9ICF0aGlzLnNob3dTdG9ja1RyYW5zZmVyO1xuICAgIHRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkID0gIXRoaXMuc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkO1xuICB9XG5cbiAgcHVibGljIGdldFN0b2NrSW5mb3JtYXRpb24oZ29vZElkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBhcnRpY2xlRGF0YTogQXJ0aWNsZVN0b2NrID0gbmV3IEFydGljbGVTdG9jaygpO1xuICAgIGFydGljbGVEYXRhLmdvb2RJZCA9IGdvb2RJZC50b1N0cmluZygpO1xuICAgIGFydGljbGVEYXRhLnZpZXdLaW5kID0gXCJNXCI7XG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldFN0b2NrSW5mb3JtYXRpb24oYXJ0aWNsZURhdGEpLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbiA9IHJlc3VsdDtcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsQXZhaWxhYmxlU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLmF2YWlsYWJsZVN0b2NrKTtcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuYWxsVGVjaG5pY2FsU3RvY2sgKz0gYXJ0aWNsZVN0b2NrLnRlY2huaWNhbFN0b2NrKTtcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuZWNvbm9taWNhbFN0b2NrICs9IGFydGljbGVTdG9jay5lY29ub21pY2FsU3RvY2spO1xuXG4gICAgfSk7XG5cbiAgfVxuXG4gIHB1YmxpYyBnZXRBcnRTdG9ja1N0YXR1cygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0U3RvY2tTdGF0dXModGhpcy5hcnRpY2xlRXh0ZW5kZWQgPyB0aGlzLmFydGljbGVFeHRlbmRlZC5nb29kSWQgOiB0aGlzLl9nb29kSWQpLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuYXJ0aWNsZVN0b2NrU3RhdGUgPSByZXN1bHQ7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXMpID0+IHtcbiAgICAgIHRoaXMud2FyZWhvdXNlcyA9IHdhcmVob3VzZXM7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZDogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChsb2FkZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2luaXRDb25uZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5jb25uZWN0KCk7XG4gICAgaWYgKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsKSB7XG4gICAgICB0aGlzLl9kaWN0aW9uYXJ5LnJvb3RVcmwgPSB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLnVybC5yZXBsYWNlKFwiL2FqYXhzZXJ2aWNlXCIsIFwiXCIpO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLl9kaWN0aW9uYXJ5LnNldERpY3Rpb25hcnkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy5sYW5ndWFnZUNvZGUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuXG4gIHB1YmxpYyBsb2FkRGF0YSgpIHtcbiAgICBpZih0aGlzLmxvYWRlZCkge1xuICAgICAgaWYodGhpcy5fZ29vZElkICYmICF0aGlzLmFydGljbGVFeHRlbmRlZCkge1xuICAgICAgICBsZXQgcmVxdWVzdDogQXJ0aWNsZUV4dGVuZGVkUmVxdWVzdCA9IG5ldyBBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0KCk7XG4gICAgICAgIHJlcXVlc3QuZ29vZElkID0gdGhpcy5fZ29vZElkO1xuICAgICAgICB0aGlzLl9zdG9ja1NlcnZpY2Uuc2VhcmNoQXJ0aWNsZXMocmVxdWVzdCkudGhlbigoYXJ0aWNsZUV4dGVuZGVkOiBBcnRpY2xlRXh0ZW5kZWRbXSkgPT4ge1xuICAgICAgICAgIGlmKGFydGljbGVFeHRlbmRlZFswXSkge1xuICAgICAgICAgICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSBhcnRpY2xlRXh0ZW5kZWRbMF07XG4gICAgICAgICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZUZsYXQoYXJ0aWNsZUV4dGVuZGVkWzBdLmFydGljbGVOdW1iZXIpLnRoZW4ocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5hcnRpY2xlRmxhdCA9IHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAgIHRoaXMuZ2V0QXJ0U3RvY2tTdGF0dXMoKTtcbiAgICAgICAgdGhpcy5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCk7XG4gICAgICAgIHRoaXMuZ2V0U3RvY2tJbmZvcm1hdGlvbih0aGlzLmFydGljbGVFeHRlbmRlZCA/IHRoaXMuYXJ0aWNsZUV4dGVuZGVkLmdvb2RJZCA6IHRoaXMuX2dvb2RJZCk7XG4gICAgfVxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG59XG4iXX0=
1
+ import { __awaiter } from "tslib";
2
+ import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
+ import { StockService } from "../../service/stock.service";
4
+ import { PrintStockStickers } from "@colijnit/sharedapi/build/model/print-stock-stickers";
5
+ import { ArticleExtended } from "@colijnit/articleapi/build/model/article-extended.bo";
6
+ import { ArticleStock } from "@colijnit/articleapi/build/model/article-stock";
7
+ import { OptionsService } from "../../service/options.service";
8
+ import { DictionaryService } from "../../service/dictionary.service";
9
+ import { LocalizeService } from '../../localization/localize.service';
10
+ import { ArticleExtendedRequest } from "@colijnit/articleapi/build/model/article-extended-request";
11
+ import { SharedConnectorService } from "../../service/shared-connector.service";
12
+ import { Icon } from "../../enum/icon.enum";
13
+ import { IconCacheService } from "../../service/icon-cache.service";
14
+ export class StockComponent {
15
+ constructor(_stockService, _optionsService, _dictionary, _changeDetector, _localizeService, _connector, iconCacheService) {
16
+ this._stockService = _stockService;
17
+ this._optionsService = _optionsService;
18
+ this._dictionary = _dictionary;
19
+ this._changeDetector = _changeDetector;
20
+ this._localizeService = _localizeService;
21
+ this._connector = _connector;
22
+ this.iconCacheService = iconCacheService;
23
+ this.icons = Icon;
24
+ this.handleStickerClicked = new EventEmitter();
25
+ this.articleWarehouse = [];
26
+ this.allWarehouses = [];
27
+ this.okButtonClicked = new EventEmitter();
28
+ this.cancelButtonClicked = new EventEmitter();
29
+ this.handleClick = new EventEmitter();
30
+ this.loaded = false;
31
+ this.showStockInformationGrid = true;
32
+ this.showStockTransfer = false;
33
+ this.stockInformation = [];
34
+ this.stockHistory = [];
35
+ this.allAvailableStock = 0;
36
+ this.allTechnicalStock = 0;
37
+ this.economicalStock = 0;
38
+ this.showSendMethodDialog = false;
39
+ this.warehouses = [];
40
+ this._subscriptions = [];
41
+ this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
42
+ }
43
+ set translation(value) {
44
+ this._localizeService.translation = value;
45
+ this._changeDetector.markForCheck();
46
+ }
47
+ set article(articleOrGoodId) {
48
+ if (articleOrGoodId instanceof ArticleExtended) {
49
+ this.articleExtended = articleOrGoodId;
50
+ this._goodId = articleOrGoodId.goodId;
51
+ }
52
+ else if (typeof articleOrGoodId === "number") {
53
+ this._goodId = articleOrGoodId;
54
+ }
55
+ }
56
+ ;
57
+ showClass() {
58
+ return true;
59
+ }
60
+ ngOnDestroy() {
61
+ this.articleExtended = undefined;
62
+ this.articleFlat = undefined;
63
+ this._subscriptions.forEach(subscription => subscription.unsubscribe());
64
+ }
65
+ ngOnInit() {
66
+ }
67
+ handleStockTransferClick(event) {
68
+ this.stockTransferArticleDetails = event;
69
+ this.showStockTransfer = !this.showStockTransfer;
70
+ this.showStockInformationGrid = !this.showStockInformationGrid;
71
+ this._stockService.stockStickers = new PrintStockStickers();
72
+ }
73
+ handleSendMethodClick(event) {
74
+ this.showSendMethodDialog = true;
75
+ }
76
+ handleOkClick(data) {
77
+ data.selected = true;
78
+ data.entryDate = new Date;
79
+ this._stockService.updateArticleDetails(data).then(result => {
80
+ this.handleClick.emit();
81
+ });
82
+ }
83
+ backToStock(goodId) {
84
+ this.loadData();
85
+ this.showStockTransfer = !this.showStockTransfer;
86
+ this.showStockInformationGrid = !this.showStockInformationGrid;
87
+ }
88
+ getStockInformation(goodId) {
89
+ const articleData = new ArticleStock();
90
+ articleData.goodId = goodId.toString();
91
+ articleData.viewKind = "M";
92
+ this._stockService.getStockInformation(articleData).then(result => {
93
+ this.stockInformation = result;
94
+ this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);
95
+ this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);
96
+ this.stockInformation.forEach((articleStock) => this.economicalStock += articleStock.economicalStock);
97
+ });
98
+ }
99
+ getArtStockStatus() {
100
+ this._stockService.getArtStockStatus(this.articleExtended ? this.articleExtended.goodId : this._goodId).then(result => {
101
+ this.articleStockState = result;
102
+ });
103
+ }
104
+ getStockManagementWarehouses() {
105
+ this._stockService.getStockManagementWarehouses().then((warehouses) => {
106
+ this.warehouses = warehouses;
107
+ });
108
+ }
109
+ _handleSettingsLoaded(loaded) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ if (loaded) {
112
+ yield this._initConnection().then();
113
+ }
114
+ });
115
+ }
116
+ _initConnection() {
117
+ return __awaiter(this, void 0, void 0, function* () {
118
+ yield this._connector.connect();
119
+ if (this._optionsService.options.url) {
120
+ this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
121
+ }
122
+ yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
123
+ setTimeout(() => {
124
+ this._changeDetector.detectChanges();
125
+ });
126
+ this.loaded = true;
127
+ this.loadData();
128
+ });
129
+ }
130
+ loadData() {
131
+ if (this.loaded) {
132
+ if (this._goodId && !this.articleExtended) {
133
+ let request = new ArticleExtendedRequest();
134
+ request.goodId = this._goodId;
135
+ this._stockService.searchArticles(request).then((articleExtended) => {
136
+ if (articleExtended[0]) {
137
+ this.articleExtended = articleExtended[0];
138
+ this._stockService.getArticleFlat(articleExtended[0].articleNumber).then(result => {
139
+ this.articleFlat = result;
140
+ });
141
+ }
142
+ });
143
+ }
144
+ this.getArtStockStatus();
145
+ this.getStockManagementWarehouses();
146
+ this.getStockInformation(this.articleExtended ? this.articleExtended.goodId : this._goodId);
147
+ }
148
+ this._changeDetector.markForCheck();
149
+ this._changeDetector.detectChanges();
150
+ }
151
+ }
152
+ StockComponent.decorators = [
153
+ { type: Component, args: [{
154
+ selector: "co-stock",
155
+ template: `
156
+ <div class="stock-info-container" *ngIf="loaded && articleExtended">
157
+ <co-stock-information [article]="articleExtended"
158
+ [articleStockState]="articleStockState"
159
+ [allAvailableStockInformation]="allAvailableStock"
160
+ [allTechnicalStockInformation]="allTechnicalStock"
161
+ [economicalStock]="economicalStock"
162
+ >
163
+ </co-stock-information>
164
+ <co-stock-tabs [stockInformation]="stockInformation"
165
+ [article]="articleExtended"
166
+ [articleFlat]="articleFlat"
167
+ (transferIconClicked)="handleStockTransferClick($event)"
168
+ (sendMethodDialogClicked)="handleSendMethodClick($event)"
169
+ [warehouses]="warehouses"
170
+ ></co-stock-tabs>
171
+ <div class="stock-transfer-wrapper">
172
+ <co-dialog *ngIf="showStockTransfer"
173
+ (closeClick)="showStockTransfer = false"
174
+ [showCloseIcon]="true"
175
+ [modal]="true"
176
+ [headerTemplate]="headerTemplate"
177
+ [footerTemplate]="footerTemplate">
178
+ <ng-template #headerTemplate>
179
+ <div class="co-dialog-header-title-wrapper">
180
+ <co-icon [iconData]="iconCacheService.getIcon(icons.Cubes)"></co-icon>
181
+ <div class="co-dialog-header-title" [textContent]="'TRANSFER_STOCK' | localize"></div>
182
+ </div>
183
+ </ng-template>
184
+ <div class="dialog-wrapper">
185
+ <co-stock-transfer (handleClick)="backToStock($event)"
186
+ class="stock-transfer-dialog"
187
+ [article]="stockTransferArticle"
188
+ [articleToTransfer]="stockTransferArticleDetails"
189
+ (handleStickerClicked)="handleStickerClicked.emit($event)"
190
+ [articleWarehouse]="articleWarehouse"
191
+ [allWarehouses]="allWarehouses">
192
+ </co-stock-transfer>
193
+ </div>
194
+ <ng-template #footerTemplate>
195
+ <div class="button-wrapper ok-cancel-buttons">
196
+ <co-button class="save-button"
197
+ (click)="handleOkClick(stockTransferArticleDetails)"
198
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)">
199
+ </co-button>
200
+ <co-button class="cancel-button"
201
+ (click)="showStockTransfer = false"
202
+ [iconData]="iconCacheService.getIcon(icons.CrossSkinny)">
203
+ </co-button>
204
+ </div>
205
+ </ng-template>
206
+ </co-dialog>
207
+ </div>
208
+
209
+ <co-send-method-dialog *ngIf="showSendMethodDialog">
210
+
211
+ </co-send-method-dialog>
212
+ </div>
213
+ `,
214
+ encapsulation: ViewEncapsulation.None
215
+ },] }
216
+ ];
217
+ StockComponent.ctorParameters = () => [
218
+ { type: StockService },
219
+ { type: OptionsService },
220
+ { type: DictionaryService },
221
+ { type: ChangeDetectorRef },
222
+ { type: LocalizeService },
223
+ { type: SharedConnectorService },
224
+ { type: IconCacheService }
225
+ ];
226
+ StockComponent.propDecorators = {
227
+ translation: [{ type: Input }],
228
+ handleStickerClicked: [{ type: Output }],
229
+ article: [{ type: Input }],
230
+ articleWarehouse: [{ type: Input }],
231
+ allWarehouses: [{ type: Input }],
232
+ okButtonClicked: [{ type: Output }],
233
+ cancelButtonClicked: [{ type: Output }],
234
+ handleClick: [{ type: Output }],
235
+ showClass: [{ type: HostBinding, args: ["class.co-stock",] }]
236
+ };
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUV4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUduRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFOUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBaUVsRSxNQUFNLE9BQU8sY0FBYztJQThEekIsWUFDVSxhQUEyQixFQUMzQixlQUErQixFQUMvQixXQUE4QixFQUM5QixlQUFrQyxFQUNsQyxnQkFBaUMsRUFDakMsVUFBa0MsRUFDbkMsZ0JBQWtDO1FBTmpDLGtCQUFhLEdB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QUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0Y7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7O1lBL09GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMERUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFqRk8sWUFBWTtZQU9aLGNBQWM7WUFFZCxpQkFBaUI7WUFsQnZCLGlCQUFpQjtZQXFCWCxlQUFlO1lBRWYsc0JBQXNCO1lBR3RCLGdCQUFnQjs7OzBCQW1FckIsS0FBSzttQ0FNTCxNQUFNO3NCQUdOLEtBQUs7K0JBWUwsS0FBSzs0QkFHTCxLQUFLOzhCQUdMLE1BQU07a0NBR04sTUFBTTswQkFFTixNQUFNO3dCQUVOLFdBQVcsU0FBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5pbXBvcnQge1ByaW50U3RvY2tTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcHJpbnQtc3RvY2stc3RpY2tlcnNcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2tcIjtcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRGV0YWlsc0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvXCI7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLW1hbmFnZW1lbnQtd2FyZWhvdXNlcy5ib1wiO1xyXG5pbXBvcnQge1RyYW5zbGF0aW9ufSBmcm9tICcuL2xvY2FsaXphdGlvbi90cmFuc2xhdGlvbic7XHJcbmltcG9ydCB7TG9jYWxpemVTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2NhbGl6YXRpb24vbG9jYWxpemUuc2VydmljZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQtcmVxdWVzdFwiO1xyXG5pbXBvcnQge1NoYXJlZENvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3NoYXJlZC1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0FydGljbGVGbGF0fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mbGF0LmJvXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9ja1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbmZvLWNvbnRhaW5lclwiICpuZ0lmPVwibG9hZGVkICYmIGFydGljbGVFeHRlbmRlZFwiPlxyXG4gICAgICAgIDxjby1zdG9jay1pbmZvcm1hdGlvbiBbYXJ0aWNsZV09XCJhcnRpY2xlRXh0ZW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZVN0b2NrU3RhdGVdPVwiYXJ0aWNsZVN0b2NrU3RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsQXZhaWxhYmxlU3RvY2tJbmZvcm1hdGlvbl09XCJhbGxBdmFpbGFibGVTdG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxUZWNobmljYWxTdG9ja0luZm9ybWF0aW9uXT1cImFsbFRlY2huaWNhbFN0b2NrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Vjb25vbWljYWxTdG9ja109XCJlY29ub21pY2FsU3RvY2tcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXN0b2NrLWluZm9ybWF0aW9uPlxyXG4gICAgICAgIDxjby1zdG9jay10YWJzIFtzdG9ja0luZm9ybWF0aW9uXT1cInN0b2NrSW5mb3JtYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlXT1cImFydGljbGVFeHRlbmRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVGbGF0XT1cImFydGljbGVGbGF0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAodHJhbnNmZXJJY29uQ2xpY2tlZCk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlbmRNZXRob2REaWFsb2dDbGlja2VkKT1cImhhbmRsZVNlbmRNZXRob2RDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbd2FyZWhvdXNlc109XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICA+PC9jby1zdG9jay10YWJzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay10cmFuc2Zlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd1N0b2NrVHJhbnNmZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93U3RvY2tUcmFuc2ZlciA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFttb2RhbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DdWJlcylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInVFJBTlNGRVJfU1RPQ0snIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXN0b2NrLXRyYW5zZmVyIChoYW5kbGVDbGljayk9XCJiYWNrVG9TdG9jaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdG9jay10cmFuc2Zlci1kaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJ0aWNsZV09XCJzdG9ja1RyYW5zZmVyQXJ0aWNsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcnRpY2xlVG9UcmFuc2Zlcl09XCJzdG9ja1RyYW5zZmVyQXJ0aWNsZURldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaGFuZGxlU3RpY2tlckNsaWNrZWQpPVwiaGFuZGxlU3RpY2tlckNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FydGljbGVXYXJlaG91c2VdPVwiYXJ0aWNsZVdhcmVob3VzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxXYXJlaG91c2VzXT1cImFsbFdhcmVob3VzZXNcIj5cclxuICAgICAgICAgICAgICA8L2NvLXN0b2NrLXRyYW5zZmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXdyYXBwZXIgb2stY2FuY2VsLWJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKHN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlscylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIj5cclxuICAgICAgICAgICAgICAgIDwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNhbmNlbC1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd1N0b2NrVHJhbnNmZXIgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvY28tZGlhbG9nPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8Y28tc2VuZC1tZXRob2QtZGlhbG9nICpuZ0lmPVwic2hvd1NlbmRNZXRob2REaWFsb2dcIj5cclxuXHJcbiAgICAgICAgPC9jby1zZW5kLW1ldGhvZC1kaWFsb2c+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRyYW5zbGF0aW9uKHZhbHVlOiBUcmFuc2xhdGlvbikge1xyXG4gICAgdGhpcy5fbG9jYWxpemVTZXJ2aWNlLnRyYW5zbGF0aW9uID0gdmFsdWU7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBoYW5kbGVTdGlja2VyQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhcnRpY2xlKGFydGljbGVPckdvb2RJZDogQXJ0aWNsZUV4dGVuZGVkIHwgbnVtYmVyKSB7XHJcbiAgICBpZihhcnRpY2xlT3JHb29kSWQgaW5zdGFuY2VvZiBBcnRpY2xlRXh0ZW5kZWQpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSBhcnRpY2xlT3JHb29kSWQ7XHJcbiAgICAgIHRoaXMuX2dvb2RJZCA9IGFydGljbGVPckdvb2RJZC5nb29kSWQ7XHJcblxyXG4gICAgfSBlbHNlIGlmKHR5cGVvZiBhcnRpY2xlT3JHb29kSWQgPT09IFwibnVtYmVyXCIgKSB7XHJcbiAgICAgIHRoaXMuX2dvb2RJZCA9IGFydGljbGVPckdvb2RJZDtcclxuICAgIH1cclxuXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVdhcmVob3VzZTogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsV2FyZWhvdXNlczogYW55W10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IG9rQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBjYW5jZWxCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXN0b2NrXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc2hvd1N0b2NrSW5mb3JtYXRpb25HcmlkOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1N0b2NrVHJhbnNmZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc3RvY2tJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrQm9bXSA9IFtdO1xyXG4gIHB1YmxpYyBzdG9ja1RyYW5zZmVyQXJ0aWNsZTogQXJ0aWNsZVN0b2NrQm87XHJcbiAgcHVibGljIHN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlsczogQXJ0aWNsZURldGFpbHNCbztcclxuICBwdWJsaWMgYXJ0aWNsZUV4dGVuZGVkOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcblxyXG4gIHB1YmxpYyBhcnRpY2xlRmxhdDpBcnRpY2xlRmxhdDtcclxuICBwdWJsaWMgc3RvY2tIaXN0b3J5OiBTdG9ja0hpc3RvcnlCb1tdID0gW107XHJcbiAgcHVibGljIGFsbEF2YWlsYWJsZVN0b2NrOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBhbGxUZWNobmljYWxTdG9jazogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgZWNvbm9taWNhbFN0b2NrOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBzaG93U2VuZE1ldGhvZERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBhcnRpY2xlU3RvY2tTdGF0ZTogbnVtYmVyO1xyXG4gIHB1YmxpYyB3YXJlaG91c2VzOiBTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIF9nb29kSWQ6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdG9ja1NlcnZpY2U6IFN0b2NrU2VydmljZSxcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfbG9jYWxpemVTZXJ2aWNlOiBMb2NhbGl6ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jb25uZWN0b3I6IFNoYXJlZENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZUV4dGVuZGVkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5hcnRpY2xlRmxhdCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b2NrVHJhbnNmZXJBcnRpY2xlRGV0YWlscyA9IGV2ZW50O1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9ICF0aGlzLnNob3dTdG9ja1RyYW5zZmVyO1xyXG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSAhdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2Uuc3RvY2tTdGlja2VycyA9IG5ldyBQcmludFN0b2NrU3RpY2tlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZW5kTWV0aG9kQ2xpY2soZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlO1xyXG4gIH1cclxuICBwdWJsaWMgaGFuZGxlT2tDbGljayhkYXRhOiBBcnRpY2xlRGV0YWlsc0JvKTogdm9pZCB7XHJcbiAgICBkYXRhLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIGRhdGEuZW50cnlEYXRlID0gbmV3IERhdGU7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UudXBkYXRlQXJ0aWNsZURldGFpbHMoZGF0YSkudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmhhbmRsZUNsaWNrLmVtaXQoKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBiYWNrVG9TdG9jayhnb29kSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gICAgdGhpcy5zaG93U3RvY2tUcmFuc2ZlciA9ICF0aGlzLnNob3dTdG9ja1RyYW5zZmVyO1xyXG4gICAgdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQgPSAhdGhpcy5zaG93U3RvY2tJbmZvcm1hdGlvbkdyaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tJbmZvcm1hdGlvbihnb29kSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgY29uc3QgYXJ0aWNsZURhdGE6IEFydGljbGVTdG9jayA9IG5ldyBBcnRpY2xlU3RvY2soKTtcclxuICAgIGFydGljbGVEYXRhLmdvb2RJZCA9IGdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgYXJ0aWNsZURhdGEudmlld0tpbmQgPSBcIk1cIjtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja0luZm9ybWF0aW9uKGFydGljbGVEYXRhKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbiA9IHJlc3VsdDtcclxuICAgICAgdGhpcy5zdG9ja0luZm9ybWF0aW9uLmZvckVhY2goKGFydGljbGVTdG9jaykgPT4gdGhpcy5hbGxBdmFpbGFibGVTdG9jayArPSBhcnRpY2xlU3RvY2suYXZhaWxhYmxlU3RvY2spO1xyXG4gICAgICB0aGlzLnN0b2NrSW5mb3JtYXRpb24uZm9yRWFjaCgoYXJ0aWNsZVN0b2NrKSA9PiB0aGlzLmFsbFRlY2huaWNhbFN0b2NrICs9IGFydGljbGVTdG9jay50ZWNobmljYWxTdG9jayk7XHJcbiAgICAgIHRoaXMuc3RvY2tJbmZvcm1hdGlvbi5mb3JFYWNoKChhcnRpY2xlU3RvY2spID0+IHRoaXMuZWNvbm9taWNhbFN0b2NrICs9IGFydGljbGVTdG9jay5lY29ub21pY2FsU3RvY2spO1xyXG5cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBcnRTdG9ja1N0YXR1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRTdG9ja1N0YXR1cyh0aGlzLmFydGljbGVFeHRlbmRlZCA/IHRoaXMuYXJ0aWNsZUV4dGVuZGVkLmdvb2RJZCA6IHRoaXMuX2dvb2RJZCkudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmFydGljbGVTdG9ja1N0YXRlID0gcmVzdWx0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCkudGhlbigod2FyZWhvdXNlcykgPT4ge1xyXG4gICAgICB0aGlzLndhcmVob3VzZXMgPSB3YXJlaG91c2VzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZDogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKGxvYWRlZCkge1xyXG4gICAgICBhd2FpdCB0aGlzLl9pbml0Q29ubmVjdGlvbigpLnRoZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2luaXRDb25uZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5fY29ubmVjdG9yLmNvbm5lY3QoKTtcclxuICAgIGlmICh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLnVybCkge1xyXG4gICAgICB0aGlzLl9kaWN0aW9uYXJ5LnJvb3RVcmwgPSB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLnVybC5yZXBsYWNlKFwiL2FqYXhzZXJ2aWNlXCIsIFwiXCIpO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeS5zZXREaWN0aW9uYXJ5KHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubGFuZ3VhZ2VDb2RlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIHRoaXMubG9hZERhdGEoKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgbG9hZERhdGEoKSB7XHJcbiAgICBpZih0aGlzLmxvYWRlZCkge1xyXG4gICAgICBpZih0aGlzLl9nb29kSWQgJiYgIXRoaXMuYXJ0aWNsZUV4dGVuZGVkKSB7XHJcbiAgICAgICAgbGV0IHJlcXVlc3Q6IEFydGljbGVFeHRlbmRlZFJlcXVlc3QgPSBuZXcgQXJ0aWNsZUV4dGVuZGVkUmVxdWVzdCgpO1xyXG4gICAgICAgIHJlcXVlc3QuZ29vZElkID0gdGhpcy5fZ29vZElkO1xyXG4gICAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5zZWFyY2hBcnRpY2xlcyhyZXF1ZXN0KS50aGVuKChhcnRpY2xlRXh0ZW5kZWQ6IEFydGljbGVFeHRlbmRlZFtdKSA9PiB7XHJcbiAgICAgICAgICBpZihhcnRpY2xlRXh0ZW5kZWRbMF0pIHtcclxuICAgICAgICAgICAgdGhpcy5hcnRpY2xlRXh0ZW5kZWQgPSBhcnRpY2xlRXh0ZW5kZWRbMF07XHJcbiAgICAgICAgICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRmxhdChhcnRpY2xlRXh0ZW5kZWRbMF0uYXJ0aWNsZU51bWJlcikudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuYXJ0aWNsZUZsYXQgPSByZXN1bHQ7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRBcnRTdG9ja1N0YXR1cygpO1xyXG4gICAgICAgIHRoaXMuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG4gICAgICAgIHRoaXMuZ2V0U3RvY2tJbmZvcm1hdGlvbih0aGlzLmFydGljbGVFeHRlbmRlZCA/IHRoaXMuYXJ0aWNsZUV4dGVuZGVkLmdvb2RJZCA6IHRoaXMuX2dvb2RJZCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==