@vendure/admin-ui 3.0.2 → 3.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 (430) hide show
  1. package/catalog/components/collection-data-table/collection-data-table.component.d.ts +3 -5
  2. package/catalog/components/collection-list/collection-list.component.d.ts +1 -0
  3. package/catalog/components/facet-list/facet-list.component.d.ts +1 -0
  4. package/catalog/components/product-list/product-list.component.d.ts +2 -0
  5. package/catalog/components/product-variant-list/product-variant-list.component.d.ts +1 -1
  6. package/core/common/base-list.component.d.ts +13 -0
  7. package/core/common/version.d.ts +1 -1
  8. package/core/data/providers/base-data.service.d.ts +19 -2
  9. package/core/data/providers/collection-data.service.d.ts +2 -2
  10. package/core/data/providers/data.service.d.ts +3 -3
  11. package/core/data/query-result.d.ts +60 -4
  12. package/core/data/utils/add-custom-fields.d.ts +1 -1
  13. package/core/extension/register-route-component.d.ts +1 -1
  14. package/core/providers/alerts/alerts.service.d.ts +3 -0
  15. package/core/providers/auth/auth.service.d.ts +3 -1
  16. package/core/providers/data-table/data-table-config.service.d.ts +12 -0
  17. package/core/public_api.d.ts +1 -0
  18. package/core/shared/components/data-table-2/data-table2.component.d.ts +5 -5
  19. package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +3 -4
  20. package/core/shared/components/order-state-label/order-state-label.component.d.ts +1 -1
  21. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +1 -1
  22. package/customer/components/customer-group-list/customer-group-list.component.d.ts +2 -0
  23. package/customer/components/customer-list/customer-list.component.d.ts +1 -0
  24. package/esm2022/catalog/catalog.module.mjs +5 -5
  25. package/esm2022/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +4 -4
  26. package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +4 -4
  27. package/esm2022/catalog/components/asset-list/asset-list.component.mjs +4 -4
  28. package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +4 -4
  29. package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +4 -4
  30. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +4 -4
  31. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +11 -13
  32. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +4 -4
  33. package/esm2022/catalog/components/collection-list/collection-breadcrumb.pipe.mjs +4 -4
  34. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +6 -5
  35. package/esm2022/catalog/components/collection-tree/collection-tree-node.component.mjs +4 -4
  36. package/esm2022/catalog/components/collection-tree/collection-tree.component.mjs +4 -4
  37. package/esm2022/catalog/components/collection-tree/collection-tree.service.mjs +4 -4
  38. package/esm2022/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +4 -4
  39. package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +4 -4
  40. package/esm2022/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.mjs +4 -4
  41. package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +4 -4
  42. package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +4 -4
  43. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +6 -5
  44. package/esm2022/catalog/components/generate-product-variants/generate-product-variants.component.mjs +4 -4
  45. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +4 -4
  46. package/esm2022/catalog/components/option-value-input/option-value-input.component.mjs +4 -4
  47. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +4 -4
  48. package/esm2022/catalog/components/product-list/product-list.component.mjs +7 -5
  49. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +4 -4
  50. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +4 -4
  51. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +4 -4
  52. package/esm2022/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.mjs +4 -4
  53. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +4 -4
  54. package/esm2022/catalog/components/product-variants-table/product-variants-table.component.mjs +4 -4
  55. package/esm2022/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +4 -4
  56. package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +4 -4
  57. package/esm2022/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.mjs +4 -4
  58. package/esm2022/catalog/providers/product-detail/product-detail.service.mjs +4 -4
  59. package/esm2022/catalog/providers/routing/product-variants-resolver.mjs +4 -4
  60. package/esm2022/core/app.component.mjs +4 -4
  61. package/esm2022/core/app.component.module.mjs +5 -5
  62. package/esm2022/core/common/base-list.component.mjs +26 -10
  63. package/esm2022/core/common/version.mjs +2 -2
  64. package/esm2022/core/components/alerts/alerts.component.mjs +4 -4
  65. package/esm2022/core/components/app-shell/app-shell.component.mjs +5 -5
  66. package/esm2022/core/components/base-nav/base-nav.component.mjs +4 -4
  67. package/esm2022/core/components/breadcrumb/breadcrumb.component.mjs +4 -4
  68. package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +4 -4
  69. package/esm2022/core/components/main-nav/main-nav.component.mjs +4 -4
  70. package/esm2022/core/components/notification/notification.component.mjs +4 -4
  71. package/esm2022/core/components/overlay-host/overlay-host.component.mjs +4 -4
  72. package/esm2022/core/components/settings-nav/settings-nav.component.mjs +4 -4
  73. package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +4 -4
  74. package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +4 -4
  75. package/esm2022/core/components/user-menu/user-menu.component.mjs +4 -4
  76. package/esm2022/core/core.module.mjs +5 -5
  77. package/esm2022/core/data/data.module.mjs +7 -7
  78. package/esm2022/core/data/providers/base-data.service.mjs +10 -11
  79. package/esm2022/core/data/providers/collection-data.service.mjs +3 -3
  80. package/esm2022/core/data/providers/data.service.mjs +8 -8
  81. package/esm2022/core/data/providers/fetch-adapter.mjs +4 -4
  82. package/esm2022/core/data/providers/interceptor.mjs +4 -4
  83. package/esm2022/core/data/providers/product-data.service.mjs +4 -2
  84. package/esm2022/core/data/query-result.mjs +96 -10
  85. package/esm2022/core/data/server-config.mjs +4 -4
  86. package/esm2022/core/data/utils/add-custom-fields.mjs +48 -30
  87. package/esm2022/core/extension/components/angular-route.component.mjs +7 -7
  88. package/esm2022/core/extension/components/route.component.mjs +4 -4
  89. package/esm2022/core/extension/providers/page-metadata.service.mjs +4 -4
  90. package/esm2022/core/providers/alerts/alerts.service.mjs +16 -6
  91. package/esm2022/core/providers/auth/auth.service.mjs +13 -9
  92. package/esm2022/core/providers/breadcrumb/breadcrumb.service.mjs +4 -4
  93. package/esm2022/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +4 -4
  94. package/esm2022/core/providers/channel/channel.service.mjs +4 -4
  95. package/esm2022/core/providers/component-registry/component-registry.service.mjs +4 -4
  96. package/esm2022/core/providers/currency/currency.service.mjs +4 -4
  97. package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +4 -4
  98. package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +4 -4
  99. package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +4 -4
  100. package/esm2022/core/providers/dashboard-widget/dashboard-widget.service.mjs +4 -4
  101. package/esm2022/core/providers/data-table/data-table-config.service.mjs +43 -0
  102. package/esm2022/core/providers/guard/auth.guard.mjs +4 -4
  103. package/esm2022/core/providers/health-check/health-check.service.mjs +4 -4
  104. package/esm2022/core/providers/i18n/custom-message-format-compiler.mjs +4 -4
  105. package/esm2022/core/providers/i18n/i18n.service.mjs +4 -4
  106. package/esm2022/core/providers/job-queue/job-queue.service.mjs +4 -4
  107. package/esm2022/core/providers/local-storage/local-storage.service.mjs +4 -4
  108. package/esm2022/core/providers/localization/localization.service.mjs +4 -4
  109. package/esm2022/core/providers/modal/modal.service.mjs +4 -4
  110. package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +4 -4
  111. package/esm2022/core/providers/notification/notification.service.mjs +4 -4
  112. package/esm2022/core/providers/overlay-host/overlay-host.service.mjs +4 -4
  113. package/esm2022/core/providers/page/page.service.mjs +4 -4
  114. package/esm2022/core/providers/permissions/permissions.service.mjs +4 -4
  115. package/esm2022/core/public_api.mjs +2 -1
  116. package/esm2022/core/shared/components/action-bar/action-bar.component.mjs +10 -10
  117. package/esm2022/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.mjs +4 -4
  118. package/esm2022/core/shared/components/action-bar-items/action-bar-base.component.mjs +4 -4
  119. package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +4 -4
  120. package/esm2022/core/shared/components/address-form/address-form.component.mjs +4 -4
  121. package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +4 -4
  122. package/esm2022/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +4 -4
  123. package/esm2022/core/shared/components/asset-file-input/asset-file-input.component.mjs +4 -4
  124. package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +4 -4
  125. package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +4 -4
  126. package/esm2022/core/shared/components/asset-preview/asset-preview.component.mjs +4 -4
  127. package/esm2022/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +4 -4
  128. package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +4 -4
  129. package/esm2022/core/shared/components/asset-search-input/asset-search-input.component.mjs +4 -4
  130. package/esm2022/core/shared/components/assets/assets.component.mjs +4 -4
  131. package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +4 -4
  132. package/esm2022/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +4 -4
  133. package/esm2022/core/shared/components/card/card.component.mjs +7 -7
  134. package/esm2022/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +4 -4
  135. package/esm2022/core/shared/components/channel-badge/channel-badge.component.mjs +4 -4
  136. package/esm2022/core/shared/components/chart/chart.component.mjs +4 -4
  137. package/esm2022/core/shared/components/chip/chip.component.mjs +4 -4
  138. package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +4 -4
  139. package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +4 -4
  140. package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +4 -4
  141. package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +4 -4
  142. package/esm2022/core/shared/components/custom-field-control/custom-field-control.component.mjs +4 -4
  143. package/esm2022/core/shared/components/customer-label/customer-label.component.mjs +4 -4
  144. package/esm2022/core/shared/components/data-table/data-table-column.component.mjs +4 -4
  145. package/esm2022/core/shared/components/data-table/data-table.component.mjs +4 -4
  146. package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +4 -4
  147. package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +4 -4
  148. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +5 -5
  149. package/esm2022/core/shared/components/data-table-2/data-table-search.component.mjs +4 -4
  150. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +45 -53
  151. package/esm2022/core/shared/components/data-table-column-picker/data-table-column-picker.component.mjs +4 -4
  152. package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +4 -4
  153. package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +4 -4
  154. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +4 -4
  155. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +25 -37
  156. package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +4 -4
  157. package/esm2022/core/shared/components/data-table-filters/custom-filter-component.directive.mjs +4 -4
  158. package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +4 -4
  159. package/esm2022/core/shared/components/datetime-picker/datetime-picker.component.mjs +4 -4
  160. package/esm2022/core/shared/components/datetime-picker/datetime-picker.service.mjs +4 -4
  161. package/esm2022/core/shared/components/dropdown/dropdown-item.directive.mjs +4 -4
  162. package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +4 -4
  163. package/esm2022/core/shared/components/dropdown/dropdown-trigger.directive.mjs +4 -4
  164. package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +4 -4
  165. package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.mjs +4 -4
  166. package/esm2022/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +4 -4
  167. package/esm2022/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +4 -4
  168. package/esm2022/core/shared/components/entity-info/entity-info.component.mjs +4 -4
  169. package/esm2022/core/shared/components/extension-host/extension-host.component.mjs +4 -4
  170. package/esm2022/core/shared/components/extension-host/extension-host.service.mjs +4 -4
  171. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +4 -4
  172. package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +4 -4
  173. package/esm2022/core/shared/components/focal-point-control/focal-point-control.component.mjs +4 -4
  174. package/esm2022/core/shared/components/form-field/form-field-control.directive.mjs +4 -4
  175. package/esm2022/core/shared/components/form-field/form-field.component.mjs +4 -4
  176. package/esm2022/core/shared/components/form-item/form-item.component.mjs +4 -4
  177. package/esm2022/core/shared/components/formatted-address/formatted-address.component.mjs +4 -4
  178. package/esm2022/core/shared/components/help-tooltip/help-tooltip.component.mjs +4 -4
  179. package/esm2022/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +4 -4
  180. package/esm2022/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +4 -4
  181. package/esm2022/core/shared/components/labeled-data/labeled-data.component.mjs +4 -4
  182. package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +4 -4
  183. package/esm2022/core/shared/components/language-selector/language-selector.component.mjs +4 -4
  184. package/esm2022/core/shared/components/localized-text/localized-text.component.mjs +4 -4
  185. package/esm2022/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +4 -4
  186. package/esm2022/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +4 -4
  187. package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +4 -4
  188. package/esm2022/core/shared/components/modal-dialog/dialog-title.directive.mjs +4 -4
  189. package/esm2022/core/shared/components/modal-dialog/modal-dialog.component.mjs +4 -4
  190. package/esm2022/core/shared/components/object-tree/object-tree.component.mjs +4 -4
  191. package/esm2022/core/shared/components/order-state-label/order-state-label.component.mjs +4 -4
  192. package/esm2022/core/shared/components/page/page.component.mjs +4 -4
  193. package/esm2022/core/shared/components/page-block/page-block.component.mjs +4 -4
  194. package/esm2022/core/shared/components/page-body/page-body.component.mjs +4 -4
  195. package/esm2022/core/shared/components/page-detail-layout/page-detail-layout.component.mjs +4 -4
  196. package/esm2022/core/shared/components/page-detail-layout/page-detail-sidebar.component.mjs +4 -4
  197. package/esm2022/core/shared/components/page-entity-info/page-entity-info.component.mjs +4 -4
  198. package/esm2022/core/shared/components/page-header/page-header.component.mjs +4 -4
  199. package/esm2022/core/shared/components/page-header-description/page-header-description.component.mjs +4 -4
  200. package/esm2022/core/shared/components/page-header-tabs/page-header-tabs.component.mjs +4 -4
  201. package/esm2022/core/shared/components/page-title/page-title.component.mjs +4 -4
  202. package/esm2022/core/shared/components/pagination-controls/pagination-controls.component.mjs +4 -4
  203. package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +4 -4
  204. package/esm2022/core/shared/components/product-search-input/product-search-input.component.mjs +4 -4
  205. package/esm2022/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +4 -4
  206. package/esm2022/core/shared/components/radio-card/radio-card-fieldset.component.mjs +4 -4
  207. package/esm2022/core/shared/components/radio-card/radio-card.component.mjs +4 -4
  208. package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +4 -4
  209. package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +4 -4
  210. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +4 -4
  211. package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +4 -4
  212. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +4 -4
  213. package/esm2022/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +4 -4
  214. package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +4 -4
  215. package/esm2022/core/shared/components/select-toggle/select-toggle.component.mjs +4 -4
  216. package/esm2022/core/shared/components/simple-dialog/simple-dialog.component.mjs +4 -4
  217. package/esm2022/core/shared/components/split-view/split-view.component.mjs +4 -4
  218. package/esm2022/core/shared/components/split-view/split-view.directive.mjs +7 -7
  219. package/esm2022/core/shared/components/status-badge/status-badge.component.mjs +4 -4
  220. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +4 -4
  221. package/esm2022/core/shared/components/table-row-action/table-row-action.component.mjs +4 -4
  222. package/esm2022/core/shared/components/tag-selector/tag-selector.component.mjs +4 -4
  223. package/esm2022/core/shared/components/timeline-entry/timeline-entry.component.mjs +4 -4
  224. package/esm2022/core/shared/components/title-input/title-input.component.mjs +4 -4
  225. package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +4 -4
  226. package/esm2022/core/shared/components/zone-selector/zone-selector.component.mjs +4 -4
  227. package/esm2022/core/shared/directives/disabled.directive.mjs +4 -4
  228. package/esm2022/core/shared/directives/if-default-channel-active.directive.mjs +4 -4
  229. package/esm2022/core/shared/directives/if-directive-base.mjs +4 -4
  230. package/esm2022/core/shared/directives/if-multichannel.directive.mjs +4 -4
  231. package/esm2022/core/shared/directives/if-permissions.directive.mjs +4 -4
  232. package/esm2022/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +4 -4
  233. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +4 -4
  234. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +4 -4
  235. package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +4 -4
  236. package/esm2022/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +4 -4
  237. package/esm2022/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +4 -4
  238. package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +4 -4
  239. package/esm2022/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +4 -4
  240. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +4 -4
  241. package/esm2022/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +4 -4
  242. package/esm2022/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +4 -4
  243. package/esm2022/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +4 -4
  244. package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +4 -4
  245. package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +4 -4
  246. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +4 -4
  247. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +4 -4
  248. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +4 -4
  249. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +4 -4
  250. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +4 -4
  251. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +10 -10
  252. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +4 -4
  253. package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +4 -4
  254. package/esm2022/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +4 -4
  255. package/esm2022/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +4 -4
  256. package/esm2022/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +4 -4
  257. package/esm2022/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +4 -4
  258. package/esm2022/core/shared/pipes/asset-preview.pipe.mjs +4 -4
  259. package/esm2022/core/shared/pipes/channel-label.pipe.mjs +4 -4
  260. package/esm2022/core/shared/pipes/custom-field-description.pipe.mjs +4 -4
  261. package/esm2022/core/shared/pipes/custom-field-label.pipe.mjs +4 -4
  262. package/esm2022/core/shared/pipes/duration.pipe.mjs +4 -4
  263. package/esm2022/core/shared/pipes/file-size.pipe.mjs +4 -4
  264. package/esm2022/core/shared/pipes/has-permission.pipe.mjs +4 -4
  265. package/esm2022/core/shared/pipes/locale-base.pipe.mjs +6 -6
  266. package/esm2022/core/shared/pipes/locale-currency-name.pipe.mjs +4 -4
  267. package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +4 -4
  268. package/esm2022/core/shared/pipes/locale-date.pipe.mjs +4 -4
  269. package/esm2022/core/shared/pipes/locale-language-name.pipe.mjs +4 -4
  270. package/esm2022/core/shared/pipes/locale-region-name.pipe.mjs +4 -4
  271. package/esm2022/core/shared/pipes/sentence-case.pipe.mjs +4 -4
  272. package/esm2022/core/shared/pipes/sort.pipe.mjs +4 -4
  273. package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +4 -4
  274. package/esm2022/core/shared/pipes/string-to-color.pipe.mjs +4 -4
  275. package/esm2022/core/shared/pipes/time-ago.pipe.mjs +4 -4
  276. package/esm2022/core/shared/providers/routing/can-deactivate-detail-guard.mjs +4 -4
  277. package/esm2022/core/shared/shared.module.mjs +5 -5
  278. package/esm2022/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +4 -4
  279. package/esm2022/customer/components/address-card/address-card.component.mjs +4 -4
  280. package/esm2022/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +4 -4
  281. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +4 -4
  282. package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +4 -4
  283. package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +4 -4
  284. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +7 -5
  285. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +4 -4
  286. package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +4 -4
  287. package/esm2022/customer/components/customer-history/customer-history.component.mjs +4 -4
  288. package/esm2022/customer/components/customer-list/customer-list.component.mjs +6 -5
  289. package/esm2022/customer/components/customer-status-label/customer-status-label.component.mjs +4 -4
  290. package/esm2022/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +4 -4
  291. package/esm2022/customer/customer.module.mjs +5 -5
  292. package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +4 -4
  293. package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +4 -4
  294. package/esm2022/dashboard/dashboard.module.mjs +5 -5
  295. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +8 -8
  296. package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +4 -4
  297. package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +8 -8
  298. package/esm2022/dashboard/widgets/test-widget/test-widget.component.mjs +8 -8
  299. package/esm2022/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +8 -8
  300. package/esm2022/login/components/login/login.component.mjs +4 -4
  301. package/esm2022/login/login.module.mjs +5 -5
  302. package/esm2022/login/providers/login.guard.mjs +4 -4
  303. package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +4 -4
  304. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +6 -5
  305. package/esm2022/marketing/marketing.module.mjs +5 -5
  306. package/esm2022/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +4 -4
  307. package/esm2022/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +4 -4
  308. package/esm2022/order/components/coupon-code-selector/coupon-code-selector.component.mjs +4 -4
  309. package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +4 -4
  310. package/esm2022/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +4 -4
  311. package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +4 -4
  312. package/esm2022/order/components/fulfillment-card/fulfillment-card.component.mjs +4 -4
  313. package/esm2022/order/components/fulfillment-detail/fulfillment-detail.component.mjs +4 -4
  314. package/esm2022/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +4 -4
  315. package/esm2022/order/components/line-fulfillment/line-fulfillment.component.mjs +4 -4
  316. package/esm2022/order/components/line-refunds/line-refunds.component.mjs +4 -4
  317. package/esm2022/order/components/modification-detail/modification-detail.component.mjs +4 -4
  318. package/esm2022/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +4 -4
  319. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +4 -17
  320. package/esm2022/order/components/order-data-table/order-total-column.component.mjs +4 -4
  321. package/esm2022/order/components/order-detail/order-detail.component.mjs +5 -5
  322. package/esm2022/order/components/order-editor/order-editor.component.mjs +4 -4
  323. package/esm2022/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +4 -4
  324. package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +4 -4
  325. package/esm2022/order/components/order-history/order-history.component.mjs +4 -4
  326. package/esm2022/order/components/order-list/order-list.component.mjs +6 -5
  327. package/esm2022/order/components/order-modification-summary/order-modification-summary.component.mjs +4 -4
  328. package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +4 -4
  329. package/esm2022/order/components/order-process-graph/order-process-edge.component.mjs +4 -4
  330. package/esm2022/order/components/order-process-graph/order-process-graph.component.mjs +4 -4
  331. package/esm2022/order/components/order-process-graph/order-process-node.component.mjs +4 -4
  332. package/esm2022/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +4 -4
  333. package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +4 -4
  334. package/esm2022/order/components/order-table/order-table.component.mjs +4 -4
  335. package/esm2022/order/components/payment-detail/payment-detail.component.mjs +4 -4
  336. package/esm2022/order/components/payment-for-refund-selector/payment-for-refund-selector.component.mjs +4 -4
  337. package/esm2022/order/components/payment-state-label/payment-state-label.component.mjs +4 -4
  338. package/esm2022/order/components/refund-detail/refund-detail.component.mjs +4 -4
  339. package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +4 -4
  340. package/esm2022/order/components/refund-state-label/refund-state-label.component.mjs +4 -4
  341. package/esm2022/order/components/select-address-dialog/select-address-dialog.component.mjs +4 -4
  342. package/esm2022/order/components/select-customer-dialog/select-customer-dialog.component.mjs +4 -4
  343. package/esm2022/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +4 -4
  344. package/esm2022/order/components/seller-orders-card/seller-orders-card.component.mjs +4 -4
  345. package/esm2022/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +4 -4
  346. package/esm2022/order/components/simple-item-list/simple-item-list.component.mjs +4 -4
  347. package/esm2022/order/order.module.mjs +5 -5
  348. package/esm2022/order/providers/order-transition.service.mjs +4 -4
  349. package/esm2022/order/providers/routing/order.guard.mjs +4 -4
  350. package/esm2022/react/components/react-custom-column.component.mjs +4 -4
  351. package/esm2022/react/components/react-custom-detail.component.mjs +4 -4
  352. package/esm2022/react/components/react-form-input.component.mjs +4 -4
  353. package/esm2022/react/components/react-route.component.mjs +4 -4
  354. package/esm2022/react/directives/react-component-host.directive.mjs +4 -4
  355. package/esm2022/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +4 -4
  356. package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +4 -4
  357. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +6 -5
  358. package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +4 -4
  359. package/esm2022/settings/components/channel-list/channel-list.component.mjs +6 -5
  360. package/esm2022/settings/components/country-detail/country-detail.component.mjs +4 -4
  361. package/esm2022/settings/components/country-list/country-list.component.mjs +6 -5
  362. package/esm2022/settings/components/global-settings/global-settings.component.mjs +4 -4
  363. package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +4 -4
  364. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +6 -5
  365. package/esm2022/settings/components/permission-grid/permission-grid.component.mjs +4 -4
  366. package/esm2022/settings/components/profile/profile.component.mjs +4 -4
  367. package/esm2022/settings/components/role-detail/role-detail.component.mjs +4 -4
  368. package/esm2022/settings/components/role-list/role-list.component.mjs +6 -5
  369. package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +4 -4
  370. package/esm2022/settings/components/seller-list/seller-list.component.mjs +6 -5
  371. package/esm2022/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +4 -4
  372. package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +4 -4
  373. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +6 -5
  374. package/esm2022/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +4 -4
  375. package/esm2022/settings/components/stock-location-detail/stock-location-detail.component.mjs +4 -4
  376. package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +6 -5
  377. package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +4 -4
  378. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +6 -5
  379. package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +4 -4
  380. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +6 -5
  381. package/esm2022/settings/components/test-address-form/test-address-form.component.mjs +4 -4
  382. package/esm2022/settings/components/test-order-builder/test-order-builder.component.mjs +4 -4
  383. package/esm2022/settings/components/test-shipping-methods/test-shipping-methods.component.mjs +4 -4
  384. package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +4 -4
  385. package/esm2022/settings/components/zone-list/zone-list.component.mjs +6 -5
  386. package/esm2022/settings/components/zone-member-list/zone-member-controls.directive.mjs +4 -4
  387. package/esm2022/settings/components/zone-member-list/zone-member-list-header.directive.mjs +4 -4
  388. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +4 -4
  389. package/esm2022/settings/providers/routing/profile-resolver.mjs +4 -4
  390. package/esm2022/settings/settings.module.mjs +5 -5
  391. package/esm2022/system/components/health-check/health-check.component.mjs +4 -4
  392. package/esm2022/system/components/job-list/job-list.component.mjs +4 -4
  393. package/esm2022/system/components/job-state-label/job-state-label.component.mjs +4 -4
  394. package/esm2022/system/system.module.mjs +5 -5
  395. package/fesm2022/vendure-admin-ui-catalog.mjs +120 -118
  396. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  397. package/fesm2022/vendure-admin-ui-core.mjs +1027 -876
  398. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  399. package/fesm2022/vendure-admin-ui-customer.mjs +48 -45
  400. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  401. package/fesm2022/vendure-admin-ui-dashboard.mjs +41 -41
  402. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  403. package/fesm2022/vendure-admin-ui-login.mjs +10 -10
  404. package/fesm2022/vendure-admin-ui-login.mjs.map +1 -1
  405. package/fesm2022/vendure-admin-ui-marketing.mjs +12 -11
  406. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  407. package/fesm2022/vendure-admin-ui-order.mjs +136 -148
  408. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  409. package/fesm2022/vendure-admin-ui-react.mjs +15 -15
  410. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -1
  411. package/fesm2022/vendure-admin-ui-settings.mjs +131 -120
  412. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  413. package/fesm2022/vendure-admin-ui-system.mjs +13 -13
  414. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  415. package/marketing/components/promotion-list/promotion-list.component.d.ts +1 -0
  416. package/order/components/order-data-table/order-data-table.component.d.ts +2 -3
  417. package/order/components/order-list/order-list.component.d.ts +1 -0
  418. package/package.json +13 -13
  419. package/settings/components/administrator-list/administrator-list.component.d.ts +1 -0
  420. package/settings/components/channel-list/channel-list.component.d.ts +1 -0
  421. package/settings/components/country-list/country-list.component.d.ts +1 -0
  422. package/settings/components/payment-method-list/payment-method-list.component.d.ts +1 -0
  423. package/settings/components/role-list/role-list.component.d.ts +1 -0
  424. package/settings/components/seller-list/seller-list.component.d.ts +1 -0
  425. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +1 -0
  426. package/settings/components/stock-location-list/stock-location-list.component.d.ts +1 -0
  427. package/settings/components/tax-category-list/tax-category-list.component.d.ts +1 -0
  428. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +1 -0
  429. package/settings/components/zone-list/zone-list.component.d.ts +1 -0
  430. package/static/theme.min.css +1 -1
@@ -51,11 +51,11 @@ export class AddManualPaymentDialogComponent {
51
51
  cancel() {
52
52
  this.resolveWith();
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AddManualPaymentDialogComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AddManualPaymentDialogComponent, selector: "vdr-add-manual-payment-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'order.add-payment-to-order' | translate }}</ng-template>\r\n<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'order.payment-method' | translate\" for=\"method\">\r\n <ng-select\r\n [items]=\"paymentMethods$ | async\"\r\n bindLabel=\"code\"\r\n appendTo=\"body\"\r\n autofocus\r\n bindValue=\"code\"\r\n [addTag]=\"true\"\r\n formControlName=\"method\"\r\n ></ng-select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'order.transaction-id' | translate\" for=\"transactionId\">\r\n <input id=\"transactionId\" type=\"text\" formControlName=\"transactionId\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"submit()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || form.pristine\">\r\n {{ 'order.add-payment' | translate }} ({{ outstandingAmount | localeCurrency: currencyCode }})\r\n </button>\r\n</ng-template>\r\n", styles: [".ng-select{min-width:100%}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i1.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"], outputs: ["readOnlyToggleChange"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i1.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: i1.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddManualPaymentDialogComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddManualPaymentDialogComponent, selector: "vdr-add-manual-payment-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'order.add-payment-to-order' | translate }}</ng-template>\r\n<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'order.payment-method' | translate\" for=\"method\">\r\n <ng-select\r\n [items]=\"paymentMethods$ | async\"\r\n bindLabel=\"code\"\r\n appendTo=\"body\"\r\n autofocus\r\n bindValue=\"code\"\r\n [addTag]=\"true\"\r\n formControlName=\"method\"\r\n ></ng-select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'order.transaction-id' | translate\" for=\"transactionId\">\r\n <input id=\"transactionId\" type=\"text\" formControlName=\"transactionId\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"submit()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || form.pristine\">\r\n {{ 'order.add-payment' | translate }} ({{ outstandingAmount | localeCurrency: currencyCode }})\r\n </button>\r\n</ng-template>\r\n", styles: [".ng-select{min-width:100%}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i1.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"], outputs: ["readOnlyToggleChange"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i1.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: i1.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AddManualPaymentDialogComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddManualPaymentDialogComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'vdr-add-manual-payment-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ 'order.add-payment-to-order' | translate }}</ng-template>\r\n<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'order.payment-method' | translate\" for=\"method\">\r\n <ng-select\r\n [items]=\"paymentMethods$ | async\"\r\n bindLabel=\"code\"\r\n appendTo=\"body\"\r\n autofocus\r\n bindValue=\"code\"\r\n [addTag]=\"true\"\r\n formControlName=\"method\"\r\n ></ng-select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'order.transaction-id' | translate\" for=\"transactionId\">\r\n <input id=\"transactionId\" type=\"text\" formControlName=\"transactionId\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"submit()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || form.pristine\">\r\n {{ 'order.add-payment' | translate }} ({{ outstandingAmount | localeCurrency: currencyCode }})\r\n </button>\r\n</ng-template>\r\n", styles: [".ng-select{min-width:100%}\n"] }]
60
60
  }], ctorParameters: () => [{ type: i1.DataService }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cvYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cvYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBSUgscUNBQXFDLEdBTXhDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBR3JDLE1BQU0sa0NBQWtDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Q0FlN0MsQ0FBQztBQVFGLE1BQU0sT0FBTywrQkFBK0I7SUFXeEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFMNUMsU0FBSSxHQUFHLElBQUksZ0JBQWdCLENBQUM7WUFDeEIsTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDdkQsYUFBYSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDakUsQ0FBQyxDQUFDO0lBRTRDLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVc7YUFDbEMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFO1lBQzFDLE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsR0FBRzthQUNaO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU07UUFDRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3hCLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtTQUN6QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQWpDUSwrQkFBK0I7a0dBQS9CLCtCQUErQixxRUN2QzVDLDJvQ0F1QkE7OzJGRGdCYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0ksK0JBQStCLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIEN1cnJlbmN5Q29kZSxcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgRGlhbG9nLFxyXG4gICAgR2V0QWRkTWFudWFsUGF5bWVudE1ldGhvZExpc3REb2N1bWVudCxcclxuICAgIEdldEFkZE1hbnVhbFBheW1lbnRNZXRob2RMaXN0UXVlcnksXHJcbiAgICBHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5LFxyXG4gICAgSXRlbU9mLFxyXG4gICAgTWFudWFsUGF5bWVudElucHV0LFxyXG4gICAgUEFZTUVOVF9NRVRIT0RfRlJBR01FTlQsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuY29uc3QgR0VUX1BBWU1FTlRfTUVUSE9EU19GT1JfTUFOVUFMX0FERCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldEFkZE1hbnVhbFBheW1lbnRNZXRob2RMaXN0KCRvcHRpb25zOiBQYXltZW50TWV0aG9kTGlzdE9wdGlvbnMhKSB7XHJcbiAgICAgICAgcGF5bWVudE1ldGhvZHMob3B0aW9uczogJG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgZW5hYmxlZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRNYW51YWxQYXltZW50RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEaWFsb2c8T21pdDxNYW51YWxQYXltZW50SW5wdXQsICdvcmRlcklkJz4+IHtcclxuICAgIC8vIHBvcHVsYXRlZCBieSBNb2RhbFNlcnZpY2UgY2FsbFxyXG4gICAgb3V0c3RhbmRpbmdBbW91bnQ6IG51bWJlcjtcclxuICAgIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xyXG5cclxuICAgIHJlc29sdmVXaXRoOiAocmVzdWx0PzogT21pdDxNYW51YWxQYXltZW50SW5wdXQsICdvcmRlcklkJz4pID0+IHZvaWQ7XHJcbiAgICBmb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xyXG4gICAgICAgIG1ldGhvZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgICAgdHJhbnNhY3Rpb25JZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICB9KTtcclxuICAgIHBheW1lbnRNZXRob2RzJDogT2JzZXJ2YWJsZTxBcnJheTxJdGVtT2Y8R2V0QWRkTWFudWFsUGF5bWVudE1ldGhvZExpc3RRdWVyeSwgJ3BheW1lbnRNZXRob2RzJz4+PjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMkID0gdGhpcy5kYXRhU2VydmljZVxyXG4gICAgICAgICAgICAucXVlcnkoR2V0QWRkTWFudWFsUGF5bWVudE1ldGhvZExpc3REb2N1bWVudCwge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHRha2U6IDk5OSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5tYXBTaW5nbGUoZGF0YSA9PiBkYXRhLnBheW1lbnRNZXRob2RzLml0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJtaXQoKSB7XHJcbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtLnZhbHVlO1xyXG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IGZvcm1WYWx1ZS5tZXRob2QsXHJcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uSWQ6IGZvcm1WYWx1ZS50cmFuc2FjdGlvbklkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbmNlbCgpIHtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlIHZkckRpYWxvZ1RpdGxlPnt7ICdvcmRlci5hZGQtcGF5bWVudC10by1vcmRlcicgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxyXG48Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDx2ZHItZm9ybS1maWVsZCBbbGFiZWxdPVwiJ29yZGVyLnBheW1lbnQtbWV0aG9kJyB8IHRyYW5zbGF0ZVwiIGZvcj1cIm1ldGhvZFwiPlxyXG4gICAgICAgIDxuZy1zZWxlY3RcclxuICAgICAgICAgICAgW2l0ZW1zXT1cInBheW1lbnRNZXRob2RzJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgYmluZExhYmVsPVwiY29kZVwiXHJcbiAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJjb2RlXCJcclxuICAgICAgICAgICAgW2FkZFRhZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWV0aG9kXCJcclxuICAgICAgICA+PC9uZy1zZWxlY3Q+XHJcbiAgICA8L3Zkci1mb3JtLWZpZWxkPlxyXG4gICAgPHZkci1mb3JtLWZpZWxkIFtsYWJlbF09XCInb3JkZXIudHJhbnNhY3Rpb24taWQnIHwgdHJhbnNsYXRlXCIgZm9yPVwidHJhbnNhY3Rpb25JZFwiPlxyXG4gICAgICAgIDxpbnB1dCBpZD1cInRyYW5zYWN0aW9uSWRcIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInRyYW5zYWN0aW9uSWRcIiAvPlxyXG4gICAgPC92ZHItZm9ybS1maWVsZD5cclxuPC9mb3JtPlxyXG48bmctdGVtcGxhdGUgdmRyRGlhbG9nQnV0dG9ucz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3sgJ2NvbW1vbi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwic3VibWl0KClcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgZm9ybS5wcmlzdGluZVwiPlxyXG4gICAgICAgIHt7ICdvcmRlci5hZGQtcGF5bWVudCcgfCB0cmFuc2xhdGUgfX0gICh7eyBvdXRzdGFuZGluZ0Ftb3VudCB8IGxvY2FsZUN1cnJlbmN5OiBjdXJyZW5jeUNvZGUgfX0pXHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cvYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cvYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBSUgscUNBQXFDLEdBTXhDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBR3JDLE1BQU0sa0NBQWtDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Q0FlN0MsQ0FBQztBQVFGLE1BQU0sT0FBTywrQkFBK0I7SUFXeEMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFMNUMsU0FBSSxHQUFHLElBQUksZ0JBQWdCLENBQUM7WUFDeEIsTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDdkQsYUFBYSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDakUsQ0FBQyxDQUFDO0lBRTRDLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVc7YUFDbEMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFO1lBQzFDLE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsR0FBRzthQUNaO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU07UUFDRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3hCLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtTQUN6QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQWpDUSwrQkFBK0I7bUdBQS9CLCtCQUErQixxRUN2QzVDLDJvQ0F1QkE7OzRGRGdCYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0ksK0JBQStCLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIEN1cnJlbmN5Q29kZSxcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgRGlhbG9nLFxyXG4gICAgR2V0QWRkTWFudWFsUGF5bWVudE1ldGhvZExpc3REb2N1bWVudCxcclxuICAgIEdldEFkZE1hbnVhbFBheW1lbnRNZXRob2RMaXN0UXVlcnksXHJcbiAgICBHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5LFxyXG4gICAgSXRlbU9mLFxyXG4gICAgTWFudWFsUGF5bWVudElucHV0LFxyXG4gICAgUEFZTUVOVF9NRVRIT0RfRlJBR01FTlQsXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcbmltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuY29uc3QgR0VUX1BBWU1FTlRfTUVUSE9EU19GT1JfTUFOVUFMX0FERCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldEFkZE1hbnVhbFBheW1lbnRNZXRob2RMaXN0KCRvcHRpb25zOiBQYXltZW50TWV0aG9kTGlzdE9wdGlvbnMhKSB7XHJcbiAgICAgICAgcGF5bWVudE1ldGhvZHMob3B0aW9uczogJG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgZW5hYmxlZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWFkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1tYW51YWwtcGF5bWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWRkLW1hbnVhbC1wYXltZW50LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRNYW51YWxQYXltZW50RGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEaWFsb2c8T21pdDxNYW51YWxQYXltZW50SW5wdXQsICdvcmRlcklkJz4+IHtcclxuICAgIC8vIHBvcHVsYXRlZCBieSBNb2RhbFNlcnZpY2UgY2FsbFxyXG4gICAgb3V0c3RhbmRpbmdBbW91bnQ6IG51bWJlcjtcclxuICAgIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xyXG5cclxuICAgIHJlc29sdmVXaXRoOiAocmVzdWx0PzogT21pdDxNYW51YWxQYXltZW50SW5wdXQsICdvcmRlcklkJz4pID0+IHZvaWQ7XHJcbiAgICBmb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xyXG4gICAgICAgIG1ldGhvZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgICAgdHJhbnNhY3Rpb25JZDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICB9KTtcclxuICAgIHBheW1lbnRNZXRob2RzJDogT2JzZXJ2YWJsZTxBcnJheTxJdGVtT2Y8R2V0QWRkTWFudWFsUGF5bWVudE1ldGhvZExpc3RRdWVyeSwgJ3BheW1lbnRNZXRob2RzJz4+PjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGF5bWVudE1ldGhvZHMkID0gdGhpcy5kYXRhU2VydmljZVxyXG4gICAgICAgICAgICAucXVlcnkoR2V0QWRkTWFudWFsUGF5bWVudE1ldGhvZExpc3REb2N1bWVudCwge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHRha2U6IDk5OSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5tYXBTaW5nbGUoZGF0YSA9PiBkYXRhLnBheW1lbnRNZXRob2RzLml0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJtaXQoKSB7XHJcbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtLnZhbHVlO1xyXG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IGZvcm1WYWx1ZS5tZXRob2QsXHJcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uSWQ6IGZvcm1WYWx1ZS50cmFuc2FjdGlvbklkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbmNlbCgpIHtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlIHZkckRpYWxvZ1RpdGxlPnt7ICdvcmRlci5hZGQtcGF5bWVudC10by1vcmRlcicgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxyXG48Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDx2ZHItZm9ybS1maWVsZCBbbGFiZWxdPVwiJ29yZGVyLnBheW1lbnQtbWV0aG9kJyB8IHRyYW5zbGF0ZVwiIGZvcj1cIm1ldGhvZFwiPlxyXG4gICAgICAgIDxuZy1zZWxlY3RcclxuICAgICAgICAgICAgW2l0ZW1zXT1cInBheW1lbnRNZXRob2RzJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgYmluZExhYmVsPVwiY29kZVwiXHJcbiAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJjb2RlXCJcclxuICAgICAgICAgICAgW2FkZFRhZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWV0aG9kXCJcclxuICAgICAgICA+PC9uZy1zZWxlY3Q+XHJcbiAgICA8L3Zkci1mb3JtLWZpZWxkPlxyXG4gICAgPHZkci1mb3JtLWZpZWxkIFtsYWJlbF09XCInb3JkZXIudHJhbnNhY3Rpb24taWQnIHwgdHJhbnNsYXRlXCIgZm9yPVwidHJhbnNhY3Rpb25JZFwiPlxyXG4gICAgICAgIDxpbnB1dCBpZD1cInRyYW5zYWN0aW9uSWRcIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInRyYW5zYWN0aW9uSWRcIiAvPlxyXG4gICAgPC92ZHItZm9ybS1maWVsZD5cclxuPC9mb3JtPlxyXG48bmctdGVtcGxhdGUgdmRyRGlhbG9nQnV0dG9ucz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3sgJ2NvbW1vbi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwic3VibWl0KClcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWQgfHwgZm9ybS5wcmlzdGluZVwiPlxyXG4gICAgICAgIHt7ICdvcmRlci5hZGQtcGF5bWVudCcgfCB0cmFuc2xhdGUgfX0gICh7eyBvdXRzdGFuZGluZ0Ftb3VudCB8IGxvY2FsZUN1cnJlbmN5OiBjdXJyZW5jeUNvZGUgfX0pXHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -70,11 +70,11 @@ export class CancelOrderDialogComponent {
70
70
  }))
71
71
  .filter(l => 0 < l.quantity);
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CancelOrderDialogComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CancelOrderDialogComponent, selector: "vdr-cancel-order-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'order.cancel-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-lines\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'order.product-name' | translate }}</th>\r\n <th>{{ 'order.product-sku' | translate }}</th>\r\n <th>{{ 'order.quantity' | translate }}</th>\r\n <th>{{ 'order.unit-price' | translate }}</th>\r\n <th>{{ 'order.cancel' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.is-disabled]=\"cancelAll\"\r\n [class.is-cancelled]=\"line.quantity === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ line.quantity }}</td>\r\n <td class=\"align-middle quantity\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n </td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"line.quantity > 0 && !order.active; else nonEditable\"\r\n [(ngModel)]=\"lineQuantities[line.id]\"\r\n (input)=\"checkIfAllSelected()\"\r\n [disabled]=\"cancelAll\"\r\n type=\"number\"\r\n [max]=\"line.quantity\"\r\n min=\"0\"\r\n />\r\n <ng-template #nonEditable>{{ line.quantity }}</ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"cancellation-details\">\r\n <ng-container *ngIf=\"order.active !== true\">\r\n <clr-radio-wrapper>\r\n <input\r\n type=\"radio\"\r\n clrRadio\r\n [value]=\"true\"\r\n [(ngModel)]=\"cancelAll\"\r\n name=\"options\"\r\n (ngModelChange)=\"radioChanged()\"\r\n />\r\n <label>{{ 'order.cancel-entire-order' | translate }}</label>\r\n </clr-radio-wrapper>\r\n <clr-radio-wrapper>\r\n <input\r\n type=\"radio\"\r\n clrRadio\r\n [value]=\"false\"\r\n [(ngModel)]=\"cancelAll\"\r\n name=\"options\"\r\n (ngModelChange)=\"radioChanged()\"\r\n />\r\n <label>{{ 'order.cancel-specified-items' | translate }}</label>\r\n </clr-radio-wrapper>\r\n </ng-container>\r\n <label class=\"clr-control-label\">{{ 'order.cancellation-reason' | translate }}</label>\r\n <ng-select\r\n [items]=\"reasons\"\r\n bindLabel=\"name\"\r\n autofocus\r\n bindValue=\"id\"\r\n [addTag]=\"true\"\r\n [(ngModel)]=\"reason\"\r\n ></ng-select>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n [disabled]=\"!reason || (!order.active && selectionCount === 0)\"\r\n class=\"btn btn-primary\"\r\n >\r\n <ng-container *ngIf=\"!order.active\">\r\n {{ 'order.cancel-selected-items' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"order.active\">\r\n {{ 'order.cancel-order' | translate }}\r\n </ng-container>\r\n </button>\r\n</ng-template>\r\n", styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}@media screen and (min-width: 768px){.fulfillment-wrapper .cancellation-details{margin-top:0;margin-inline-start:24px;width:250px}}.fulfillment-wrapper .order-lines{flex:1;overflow-y:auto}.fulfillment-wrapper .order-lines table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}.fulfillment-wrapper .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}.fulfillment-wrapper .is-disabled td,.fulfillment-wrapper .is-disabled td input{background-color:var(--color-component-bg-200)}\n"], dependencies: [{ kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.ClrRadio, selector: "[clrRadio]" }, { kind: "component", type: i2.ClrRadioWrapper, selector: "clr-radio-wrapper" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i1.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: i1.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.AssetPreviewPipe, name: "assetPreview" }, { kind: "pipe", type: i1.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CancelOrderDialogComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CancelOrderDialogComponent, selector: "vdr-cancel-order-dialog", ngImport: i0, template: "<ng-template vdrDialogTitle>{{ 'order.cancel-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-lines\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'order.product-name' | translate }}</th>\r\n <th>{{ 'order.product-sku' | translate }}</th>\r\n <th>{{ 'order.quantity' | translate }}</th>\r\n <th>{{ 'order.unit-price' | translate }}</th>\r\n <th>{{ 'order.cancel' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.is-disabled]=\"cancelAll\"\r\n [class.is-cancelled]=\"line.quantity === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ line.quantity }}</td>\r\n <td class=\"align-middle quantity\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n </td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"line.quantity > 0 && !order.active; else nonEditable\"\r\n [(ngModel)]=\"lineQuantities[line.id]\"\r\n (input)=\"checkIfAllSelected()\"\r\n [disabled]=\"cancelAll\"\r\n type=\"number\"\r\n [max]=\"line.quantity\"\r\n min=\"0\"\r\n />\r\n <ng-template #nonEditable>{{ line.quantity }}</ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"cancellation-details\">\r\n <ng-container *ngIf=\"order.active !== true\">\r\n <clr-radio-wrapper>\r\n <input\r\n type=\"radio\"\r\n clrRadio\r\n [value]=\"true\"\r\n [(ngModel)]=\"cancelAll\"\r\n name=\"options\"\r\n (ngModelChange)=\"radioChanged()\"\r\n />\r\n <label>{{ 'order.cancel-entire-order' | translate }}</label>\r\n </clr-radio-wrapper>\r\n <clr-radio-wrapper>\r\n <input\r\n type=\"radio\"\r\n clrRadio\r\n [value]=\"false\"\r\n [(ngModel)]=\"cancelAll\"\r\n name=\"options\"\r\n (ngModelChange)=\"radioChanged()\"\r\n />\r\n <label>{{ 'order.cancel-specified-items' | translate }}</label>\r\n </clr-radio-wrapper>\r\n </ng-container>\r\n <label class=\"clr-control-label\">{{ 'order.cancellation-reason' | translate }}</label>\r\n <ng-select\r\n [items]=\"reasons\"\r\n bindLabel=\"name\"\r\n autofocus\r\n bindValue=\"id\"\r\n [addTag]=\"true\"\r\n [(ngModel)]=\"reason\"\r\n ></ng-select>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n [disabled]=\"!reason || (!order.active && selectionCount === 0)\"\r\n class=\"btn btn-primary\"\r\n >\r\n <ng-container *ngIf=\"!order.active\">\r\n {{ 'order.cancel-selected-items' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"order.active\">\r\n {{ 'order.cancel-order' | translate }}\r\n </ng-container>\r\n </button>\r\n</ng-template>\r\n", styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}@media screen and (min-width: 768px){.fulfillment-wrapper .cancellation-details{margin-top:0;margin-inline-start:24px;width:250px}}.fulfillment-wrapper .order-lines{flex:1;overflow-y:auto}.fulfillment-wrapper .order-lines table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}.fulfillment-wrapper .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}.fulfillment-wrapper .is-disabled td,.fulfillment-wrapper .is-disabled td input{background-color:var(--color-component-bg-200)}\n"], dependencies: [{ kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i2.ClrRadio, selector: "[clrRadio]" }, { kind: "component", type: i2.ClrRadioWrapper, selector: "clr-radio-wrapper" }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "directive", type: i1.DialogButtonsDirective, selector: "[vdrDialogButtons]" }, { kind: "directive", type: i1.DialogTitleDirective, selector: "[vdrDialogTitle]" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.AssetPreviewPipe, name: "assetPreview" }, { kind: "pipe", type: i1.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CancelOrderDialogComponent, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CancelOrderDialogComponent, decorators: [{
77
77
  type: Component,
78
78
  args: [{ selector: 'vdr-cancel-order-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template vdrDialogTitle>{{ 'order.cancel-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-lines\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'order.product-name' | translate }}</th>\r\n <th>{{ 'order.product-sku' | translate }}</th>\r\n <th>{{ 'order.quantity' | translate }}</th>\r\n <th>{{ 'order.unit-price' | translate }}</th>\r\n <th>{{ 'order.cancel' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.is-disabled]=\"cancelAll\"\r\n [class.is-cancelled]=\"line.quantity === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ line.quantity }}</td>\r\n <td class=\"align-middle quantity\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n </td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"line.quantity > 0 && !order.active; else nonEditable\"\r\n [(ngModel)]=\"lineQuantities[line.id]\"\r\n (input)=\"checkIfAllSelected()\"\r\n [disabled]=\"cancelAll\"\r\n type=\"number\"\r\n [max]=\"line.quantity\"\r\n min=\"0\"\r\n />\r\n <ng-template #nonEditable>{{ line.quantity }}</ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"cancellation-details\">\r\n <ng-container *ngIf=\"order.active !== true\">\r\n <clr-radio-wrapper>\r\n <input\r\n type=\"radio\"\r\n clrRadio\r\n [value]=\"true\"\r\n [(ngModel)]=\"cancelAll\"\r\n name=\"options\"\r\n (ngModelChange)=\"radioChanged()\"\r\n />\r\n <label>{{ 'order.cancel-entire-order' | translate }}</label>\r\n </clr-radio-wrapper>\r\n <clr-radio-wrapper>\r\n <input\r\n type=\"radio\"\r\n clrRadio\r\n [value]=\"false\"\r\n [(ngModel)]=\"cancelAll\"\r\n name=\"options\"\r\n (ngModelChange)=\"radioChanged()\"\r\n />\r\n <label>{{ 'order.cancel-specified-items' | translate }}</label>\r\n </clr-radio-wrapper>\r\n </ng-container>\r\n <label class=\"clr-control-label\">{{ 'order.cancellation-reason' | translate }}</label>\r\n <ng-select\r\n [items]=\"reasons\"\r\n bindLabel=\"name\"\r\n autofocus\r\n bindValue=\"id\"\r\n [addTag]=\"true\"\r\n [(ngModel)]=\"reason\"\r\n ></ng-select>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n [disabled]=\"!reason || (!order.active && selectionCount === 0)\"\r\n class=\"btn btn-primary\"\r\n >\r\n <ng-container *ngIf=\"!order.active\">\r\n {{ 'order.cancel-selected-items' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"order.active\">\r\n {{ 'order.cancel-order' | translate }}\r\n </ng-container>\r\n </button>\r\n</ng-template>\r\n", styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}@media screen and (min-width: 768px){.fulfillment-wrapper .cancellation-details{margin-top:0;margin-inline-start:24px;width:250px}}.fulfillment-wrapper .order-lines{flex:1;overflow-y:auto}.fulfillment-wrapper .order-lines table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}.fulfillment-wrapper .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}.fulfillment-wrapper .is-disabled td,.fulfillment-wrapper .is-disabled td input{background-color:var(--color-component-bg-200)}\n"] }]
79
79
  }], ctorParameters: () => [{ type: i1.I18nService }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2NhbmNlbC1vcmRlci1kaWFsb2cvY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2NhbmNlbC1vcmRlci1kaWFsb2cvY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUdILFlBQVksR0FJZixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQVFoQyxNQUFNLE9BQU8sMEJBQTBCO0lBV25DLElBQUksY0FBYztRQUNkLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFiNUMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUdqQixtQkFBYyxHQUFpQyxFQUFFLENBQUM7UUFDbEQsWUFBTyxHQUFhLFlBQVksRUFBRSxDQUFDLG1CQUFtQixJQUFJO1lBQ3RELENBQUMsQ0FBQyxzQ0FBc0MsQ0FBQztZQUN6QyxDQUFDLENBQUMsbUNBQW1DLENBQUM7U0FDekMsQ0FBQztRQU9FLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3pDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUMzRCxFQUFFLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pELENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ25FLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDO1lBQ3BGLElBQUksZUFBZSxJQUFJLFFBQVEsR0FBRyxlQUFlLEVBQUUsQ0FBQztnQkFDaEQsT0FBTztZQUNYLENBQUM7UUFDTCxDQUFDO1FBQ0Qsd0VBQXdFO1FBQ3hFLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDakMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDWCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDckMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0IsV0FBVztZQUNYLFFBQVE7U0FDWCxDQUFDLENBQUM7YUFDRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBekVRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtEQ2pCdkMsMG9JQWtHQTs7MkZEakZhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQge1xyXG4gICAgQ2FuY2VsT3JkZXJJbnB1dCxcclxuICAgIERpYWxvZyxcclxuICAgIGdldEFwcENvbmZpZyxcclxuICAgIEkxOG5TZXJ2aWNlLFxyXG4gICAgT3JkZXJEZXRhaWxGcmFnbWVudCxcclxuICAgIE9yZGVyTGluZUlucHV0LFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jYW5jZWwtb3JkZXItZGlhbG9nJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYW5jZWwtb3JkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NhbmNlbC1vcmRlci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FuY2VsT3JkZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIERpYWxvZzxDYW5jZWxPcmRlcklucHV0PiB7XHJcbiAgICBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcclxuICAgIGNhbmNlbEFsbCA9IHRydWU7XHJcbiAgICByZXNvbHZlV2l0aDogKHJlc3VsdD86IENhbmNlbE9yZGVySW5wdXQpID0+IHZvaWQ7XHJcbiAgICByZWFzb246IHN0cmluZztcclxuICAgIGxpbmVRdWFudGl0aWVzOiB7IFtsaW5lSWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcbiAgICByZWFzb25zOiBzdHJpbmdbXSA9IGdldEFwcENvbmZpZygpLmNhbmNlbGxhdGlvblJlYXNvbnMgPz8gW1xyXG4gICAgICAgIF8oJ29yZGVyLmNhbmNlbC1yZWFzb24tY3VzdG9tZXItcmVxdWVzdCcpLFxyXG4gICAgICAgIF8oJ29yZGVyLmNhbmNlbC1yZWFzb24tbm90LWF2YWlsYWJsZScpLFxyXG4gICAgXTtcclxuXHJcbiAgICBnZXQgc2VsZWN0aW9uQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmxpbmVRdWFudGl0aWVzKS5yZWR1Y2UoKHN1bSwgbikgPT4gc3VtICsgbiwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLnJlYXNvbnMgPSB0aGlzLnJlYXNvbnMubWFwKHIgPT4gdGhpcy5pMThuU2VydmljZS50cmFuc2xhdGUocikpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMubGluZVF1YW50aXRpZXMgPSB0aGlzLm9yZGVyLmxpbmVzLnJlZHVjZShcclxuICAgICAgICAgICAgKHJlc3VsdCwgbGluZSkgPT4gKHsgLi4ucmVzdWx0LCBbbGluZS5pZF06IGxpbmUucXVhbnRpdHkgfSksXHJcbiAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmFkaW9DaGFuZ2VkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNhbmNlbEFsbCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdGhpcy5vcmRlci5saW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdGllc1tsaW5lLmlkXSA9IGxpbmUucXVhbnRpdHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdGhpcy5vcmRlci5saW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdGllc1tsaW5lLmlkXSA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZkFsbFNlbGVjdGVkKCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgW2xpbmVJZCwgcXVhbnRpdHldIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMubGluZVF1YW50aXRpZXMpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHF1YW50aXR5SW5PcmRlciA9IHRoaXMub3JkZXIubGluZXMuZmluZChsaW5lID0+IGxpbmUuaWQgPT09IGxpbmVJZCk/LnF1YW50aXR5O1xyXG4gICAgICAgICAgICBpZiAocXVhbnRpdHlJbk9yZGVyICYmIHF1YW50aXR5IDwgcXVhbnRpdHlJbk9yZGVyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgd2UgZ290IGhlcmUsIGFsbCBvZiB0aGUgc2VsZWN0ZWQgcXVhbnRpdGllcyBhcmUgZXF1YWwgdG8gdGhlIG9yZGVyXHJcbiAgICAgICAgLy8gbGluZSBxdWFudGl0aWVzLCBpLmUuIGV2ZXJ5dGhpbmcgaXMgc2VsZWN0ZWQuXHJcbiAgICAgICAgdGhpcy5jYW5jZWxBbGwgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCgpIHtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKHtcclxuICAgICAgICAgICAgb3JkZXJJZDogdGhpcy5vcmRlci5pZCxcclxuICAgICAgICAgICAgbGluZXM6IHRoaXMuZ2V0TGluZUlucHV0cygpLFxyXG4gICAgICAgICAgICByZWFzb246IHRoaXMucmVhc29uLFxyXG4gICAgICAgICAgICBjYW5jZWxTaGlwcGluZzogdGhpcy5jYW5jZWxBbGwsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldExpbmVJbnB1dHMoKTogT3JkZXJMaW5lSW5wdXRbXSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKHRoaXMub3JkZXIuYWN0aXZlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMubGluZVF1YW50aXRpZXMpXHJcbiAgICAgICAgICAgIC5tYXAoKFtvcmRlckxpbmVJZCwgcXVhbnRpdHldKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgb3JkZXJMaW5lSWQsXHJcbiAgICAgICAgICAgICAgICBxdWFudGl0eSxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIC5maWx0ZXIobCA9PiAwIDwgbC5xdWFudGl0eSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlIHZkckRpYWxvZ1RpdGxlPnt7ICdvcmRlci5jYW5jZWwtb3JkZXInIHwgdHJhbnNsYXRlIH19PC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgY2xhc3M9XCJmdWxmaWxsbWVudC13cmFwcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwib3JkZXItbGluZXNcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdvcmRlci5wcm9kdWN0LW5hbWUnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJ29yZGVyLnByb2R1Y3Qtc2t1JyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdvcmRlci5xdWFudGl0eScgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudW5pdC1wcmljZScgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsaW5lIG9mIG9yZGVyLmxpbmVzXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3JkZXItbGluZVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaXMtZGlzYWJsZWRdPVwiY2FuY2VsQWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1jYW5jZWxsZWRdPVwibGluZS5xdWFudGl0eSA9PT0gMFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSB0aHVtYlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJsaW5lLmZlYXR1cmVkQXNzZXQgfCBhc3NldFByZXZpZXc6ICd0aW55J1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIG5hbWVcIj57eyBsaW5lLnByb2R1Y3RWYXJpYW50Lm5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHNrdVwiPnt7IGxpbmUucHJvZHVjdFZhcmlhbnQuc2t1IH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBxdWFudGl0eVwiPnt7IGxpbmUucXVhbnRpdHkgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHF1YW50aXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgbGluZS51bml0UHJpY2VXaXRoVGF4IHwgbG9jYWxlQ3VycmVuY3k6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBmdWxmaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5lLnF1YW50aXR5ID4gMCAmJiAhb3JkZXIuYWN0aXZlOyBlbHNlIG5vbkVkaXRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJsaW5lUXVhbnRpdGllc1tsaW5lLmlkXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJjaGVja0lmQWxsU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjYW5jZWxBbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJsaW5lLnF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vbkVkaXRhYmxlPnt7IGxpbmUucXVhbnRpdHkgfX08L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FuY2VsbGF0aW9uLWRldGFpbHNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3JkZXIuYWN0aXZlICE9PSB0cnVlXCI+XHJcbiAgICAgICAgICAgIDxjbHItcmFkaW8td3JhcHBlcj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xyUmFkaW9cclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW5jZWxBbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJvcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7ICdvcmRlci5jYW5jZWwtZW50aXJlLW9yZGVyJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvY2xyLXJhZGlvLXdyYXBwZXI+XHJcbiAgICAgICAgICAgIDxjbHItcmFkaW8td3JhcHBlcj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xyUmFkaW9cclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FuY2VsQWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwib3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicmFkaW9DaGFuZ2VkKClcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD57eyAnb3JkZXIuY2FuY2VsLXNwZWNpZmllZC1pdGVtcycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Nsci1yYWRpby13cmFwcGVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImNsci1jb250cm9sLWxhYmVsXCI+e3sgJ29yZGVyLmNhbmNlbGxhdGlvbi1yZWFzb24nIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICA8bmctc2VsZWN0XHJcbiAgICAgICAgICAgIFtpdGVtc109XCJyZWFzb25zXCJcclxuICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXHJcbiAgICAgICAgICAgIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJpZFwiXHJcbiAgICAgICAgICAgIFthZGRUYWddPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVhc29uXCJcclxuICAgICAgICA+PC9uZy1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgdmRyRGlhbG9nQnV0dG9ucz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3sgJ2NvbW1vbi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiIXJlYXNvbiB8fCAoIW9yZGVyLmFjdGl2ZSAmJiBzZWxlY3Rpb25Db3VudCA9PT0gMClcIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9yZGVyLmFjdGl2ZVwiPlxyXG4gICAgICAgICAgICB7eyAnb3JkZXIuY2FuY2VsLXNlbGVjdGVkLWl0ZW1zJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcmRlci5hY3RpdmVcIj5cclxuICAgICAgICAgICAge3sgJ29yZGVyLmNhbmNlbC1vcmRlcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2NhbmNlbC1vcmRlci1kaWFsb2cvY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2NhbmNlbC1vcmRlci1kaWFsb2cvY2FuY2VsLW9yZGVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUdILFlBQVksR0FJZixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQVFoQyxNQUFNLE9BQU8sMEJBQTBCO0lBV25DLElBQUksY0FBYztRQUNkLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFiNUMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUdqQixtQkFBYyxHQUFpQyxFQUFFLENBQUM7UUFDbEQsWUFBTyxHQUFhLFlBQVksRUFBRSxDQUFDLG1CQUFtQixJQUFJO1lBQ3RELENBQUMsQ0FBQyxzQ0FBc0MsQ0FBQztZQUN6QyxDQUFDLENBQUMsbUNBQW1DLENBQUM7U0FDekMsQ0FBQztRQU9FLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3pDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUMzRCxFQUFFLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pELENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ25FLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDO1lBQ3BGLElBQUksZUFBZSxJQUFJLFFBQVEsR0FBRyxlQUFlLEVBQUUsQ0FBQztnQkFDaEQsT0FBTztZQUNYLENBQUM7UUFDTCxDQUFDO1FBQ0Qsd0VBQXdFO1FBQ3hFLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDakMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDWCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDckMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0IsV0FBVztZQUNYLFFBQVE7U0FDWCxDQUFDLENBQUM7YUFDRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBekVRLDBCQUEwQjttR0FBMUIsMEJBQTBCLCtEQ2pCdkMsMG9JQWtHQTs7NEZEakZhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQge1xyXG4gICAgQ2FuY2VsT3JkZXJJbnB1dCxcclxuICAgIERpYWxvZyxcclxuICAgIGdldEFwcENvbmZpZyxcclxuICAgIEkxOG5TZXJ2aWNlLFxyXG4gICAgT3JkZXJEZXRhaWxGcmFnbWVudCxcclxuICAgIE9yZGVyTGluZUlucHV0LFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jYW5jZWwtb3JkZXItZGlhbG9nJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYW5jZWwtb3JkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NhbmNlbC1vcmRlci1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FuY2VsT3JkZXJEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIERpYWxvZzxDYW5jZWxPcmRlcklucHV0PiB7XHJcbiAgICBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcclxuICAgIGNhbmNlbEFsbCA9IHRydWU7XHJcbiAgICByZXNvbHZlV2l0aDogKHJlc3VsdD86IENhbmNlbE9yZGVySW5wdXQpID0+IHZvaWQ7XHJcbiAgICByZWFzb246IHN0cmluZztcclxuICAgIGxpbmVRdWFudGl0aWVzOiB7IFtsaW5lSWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XHJcbiAgICByZWFzb25zOiBzdHJpbmdbXSA9IGdldEFwcENvbmZpZygpLmNhbmNlbGxhdGlvblJlYXNvbnMgPz8gW1xyXG4gICAgICAgIF8oJ29yZGVyLmNhbmNlbC1yZWFzb24tY3VzdG9tZXItcmVxdWVzdCcpLFxyXG4gICAgICAgIF8oJ29yZGVyLmNhbmNlbC1yZWFzb24tbm90LWF2YWlsYWJsZScpLFxyXG4gICAgXTtcclxuXHJcbiAgICBnZXQgc2VsZWN0aW9uQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmxpbmVRdWFudGl0aWVzKS5yZWR1Y2UoKHN1bSwgbikgPT4gc3VtICsgbiwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLnJlYXNvbnMgPSB0aGlzLnJlYXNvbnMubWFwKHIgPT4gdGhpcy5pMThuU2VydmljZS50cmFuc2xhdGUocikpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMubGluZVF1YW50aXRpZXMgPSB0aGlzLm9yZGVyLmxpbmVzLnJlZHVjZShcclxuICAgICAgICAgICAgKHJlc3VsdCwgbGluZSkgPT4gKHsgLi4ucmVzdWx0LCBbbGluZS5pZF06IGxpbmUucXVhbnRpdHkgfSksXHJcbiAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmFkaW9DaGFuZ2VkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNhbmNlbEFsbCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdGhpcy5vcmRlci5saW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdGllc1tsaW5lLmlkXSA9IGxpbmUucXVhbnRpdHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdGhpcy5vcmRlci5saW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdGllc1tsaW5lLmlkXSA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZkFsbFNlbGVjdGVkKCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgW2xpbmVJZCwgcXVhbnRpdHldIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMubGluZVF1YW50aXRpZXMpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHF1YW50aXR5SW5PcmRlciA9IHRoaXMub3JkZXIubGluZXMuZmluZChsaW5lID0+IGxpbmUuaWQgPT09IGxpbmVJZCk/LnF1YW50aXR5O1xyXG4gICAgICAgICAgICBpZiAocXVhbnRpdHlJbk9yZGVyICYmIHF1YW50aXR5IDwgcXVhbnRpdHlJbk9yZGVyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgd2UgZ290IGhlcmUsIGFsbCBvZiB0aGUgc2VsZWN0ZWQgcXVhbnRpdGllcyBhcmUgZXF1YWwgdG8gdGhlIG9yZGVyXHJcbiAgICAgICAgLy8gbGluZSBxdWFudGl0aWVzLCBpLmUuIGV2ZXJ5dGhpbmcgaXMgc2VsZWN0ZWQuXHJcbiAgICAgICAgdGhpcy5jYW5jZWxBbGwgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCgpIHtcclxuICAgICAgICB0aGlzLnJlc29sdmVXaXRoKHtcclxuICAgICAgICAgICAgb3JkZXJJZDogdGhpcy5vcmRlci5pZCxcclxuICAgICAgICAgICAgbGluZXM6IHRoaXMuZ2V0TGluZUlucHV0cygpLFxyXG4gICAgICAgICAgICByZWFzb246IHRoaXMucmVhc29uLFxyXG4gICAgICAgICAgICBjYW5jZWxTaGlwcGluZzogdGhpcy5jYW5jZWxBbGwsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgICAgIHRoaXMucmVzb2x2ZVdpdGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldExpbmVJbnB1dHMoKTogT3JkZXJMaW5lSW5wdXRbXSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKHRoaXMub3JkZXIuYWN0aXZlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMubGluZVF1YW50aXRpZXMpXHJcbiAgICAgICAgICAgIC5tYXAoKFtvcmRlckxpbmVJZCwgcXVhbnRpdHldKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgb3JkZXJMaW5lSWQsXHJcbiAgICAgICAgICAgICAgICBxdWFudGl0eSxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIC5maWx0ZXIobCA9PiAwIDwgbC5xdWFudGl0eSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlIHZkckRpYWxvZ1RpdGxlPnt7ICdvcmRlci5jYW5jZWwtb3JkZXInIHwgdHJhbnNsYXRlIH19PC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgY2xhc3M9XCJmdWxmaWxsbWVudC13cmFwcGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwib3JkZXItbGluZXNcIj5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdvcmRlci5wcm9kdWN0LW5hbWUnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3sgJ29yZGVyLnByb2R1Y3Qtc2t1JyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdvcmRlci5xdWFudGl0eScgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudW5pdC1wcmljZScgfCB0cmFuc2xhdGUgfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICA8dHJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsaW5lIG9mIG9yZGVyLmxpbmVzXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwib3JkZXItbGluZVwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3MuaXMtZGlzYWJsZWRdPVwiY2FuY2VsQWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1jYW5jZWxsZWRdPVwibGluZS5xdWFudGl0eSA9PT0gMFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSB0aHVtYlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJsaW5lLmZlYXR1cmVkQXNzZXQgfCBhc3NldFByZXZpZXc6ICd0aW55J1wiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIG5hbWVcIj57eyBsaW5lLnByb2R1Y3RWYXJpYW50Lm5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHNrdVwiPnt7IGxpbmUucHJvZHVjdFZhcmlhbnQuc2t1IH19PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBxdWFudGl0eVwiPnt7IGxpbmUucXVhbnRpdHkgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHF1YW50aXR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgbGluZS51bml0UHJpY2VXaXRoVGF4IHwgbG9jYWxlQ3VycmVuY3k6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBmdWxmaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5lLnF1YW50aXR5ID4gMCAmJiAhb3JkZXIuYWN0aXZlOyBlbHNlIG5vbkVkaXRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJsaW5lUXVhbnRpdGllc1tsaW5lLmlkXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJjaGVja0lmQWxsU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjYW5jZWxBbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJsaW5lLnF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vbkVkaXRhYmxlPnt7IGxpbmUucXVhbnRpdHkgfX08L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FuY2VsbGF0aW9uLWRldGFpbHNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3JkZXIuYWN0aXZlICE9PSB0cnVlXCI+XHJcbiAgICAgICAgICAgIDxjbHItcmFkaW8td3JhcHBlcj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xyUmFkaW9cclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjYW5jZWxBbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJvcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7ICdvcmRlci5jYW5jZWwtZW50aXJlLW9yZGVyJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvY2xyLXJhZGlvLXdyYXBwZXI+XHJcbiAgICAgICAgICAgIDxjbHItcmFkaW8td3JhcHBlcj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xyUmFkaW9cclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY2FuY2VsQWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwib3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicmFkaW9DaGFuZ2VkKClcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxsYWJlbD57eyAnb3JkZXIuY2FuY2VsLXNwZWNpZmllZC1pdGVtcycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Nsci1yYWRpby13cmFwcGVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImNsci1jb250cm9sLWxhYmVsXCI+e3sgJ29yZGVyLmNhbmNlbGxhdGlvbi1yZWFzb24nIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICA8bmctc2VsZWN0XHJcbiAgICAgICAgICAgIFtpdGVtc109XCJyZWFzb25zXCJcclxuICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXHJcbiAgICAgICAgICAgIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJpZFwiXHJcbiAgICAgICAgICAgIFthZGRUYWddPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVhc29uXCJcclxuICAgICAgICA+PC9uZy1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgdmRyRGlhbG9nQnV0dG9ucz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+e3sgJ2NvbW1vbi5jYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiIXJlYXNvbiB8fCAoIW9yZGVyLmFjdGl2ZSAmJiBzZWxlY3Rpb25Db3VudCA9PT0gMClcIlxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9yZGVyLmFjdGl2ZVwiPlxyXG4gICAgICAgICAgICB7eyAnb3JkZXIuY2FuY2VsLXNlbGVjdGVkLWl0ZW1zJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcmRlci5hY3RpdmVcIj5cclxuICAgICAgICAgICAge3sgJ29yZGVyLmNhbmNlbC1vcmRlcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -47,10 +47,10 @@ export class CouponCodeSelectorComponent {
47
47
  remove(code) {
48
48
  this.removeCouponCode.emit(code);
49
49
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CouponCodeSelectorComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CouponCodeSelectorComponent, selector: "vdr-coupon-code-selector", inputs: { couponCodes: "couponCodes", control: "control" }, outputs: { addCouponCode: "addCouponCode", removeCouponCode: "removeCouponCode" }, ngImport: i0, template: "<ng-select\r\n [items]=\"availableCouponCodes$ | async\"\r\n appendTo=\"body\"\r\n bindLabel=\"code\"\r\n bindValue=\"code\"\r\n [addTag]=\"false\"\r\n [multiple]=\"true\"\r\n [hideSelected]=\"true\"\r\n [minTermLength]=\"2\"\r\n typeToSearchText=\"\"\r\n [typeahead]=\"couponCodeInput$\"\r\n [formControl]=\"control\"\r\n (add)=\"addCouponCode.emit($event.code)\"\r\n (remove)=\"remove($event.code)\"\r\n>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <div class=\"flex items-center\">\r\n <vdr-chip class=\"mr-1\">{{ item.code }}</vdr-chip>\r\n <span>{{ item.promotionName }}</span>\r\n </div>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CouponCodeSelectorComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CouponCodeSelectorComponent, selector: "vdr-coupon-code-selector", inputs: { couponCodes: "couponCodes", control: "control" }, outputs: { addCouponCode: "addCouponCode", removeCouponCode: "removeCouponCode" }, ngImport: i0, template: "<ng-select\r\n [items]=\"availableCouponCodes$ | async\"\r\n appendTo=\"body\"\r\n bindLabel=\"code\"\r\n bindValue=\"code\"\r\n [addTag]=\"false\"\r\n [multiple]=\"true\"\r\n [hideSelected]=\"true\"\r\n [minTermLength]=\"2\"\r\n typeToSearchText=\"\"\r\n [typeahead]=\"couponCodeInput$\"\r\n [formControl]=\"control\"\r\n (add)=\"addCouponCode.emit($event.code)\"\r\n (remove)=\"remove($event.code)\"\r\n>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <div class=\"flex items-center\">\r\n <vdr-chip class=\"mr-1\">{{ item.code }}</vdr-chip>\r\n <span>{{ item.promotionName }}</span>\r\n </div>\r\n </ng-template>\r\n</ng-select>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CouponCodeSelectorComponent, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CouponCodeSelectorComponent, decorators: [{
54
54
  type: Component,
55
55
  args: [{ selector: 'vdr-coupon-code-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-select\r\n [items]=\"availableCouponCodes$ | async\"\r\n appendTo=\"body\"\r\n bindLabel=\"code\"\r\n bindValue=\"code\"\r\n [addTag]=\"false\"\r\n [multiple]=\"true\"\r\n [hideSelected]=\"true\"\r\n [minTermLength]=\"2\"\r\n typeToSearchText=\"\"\r\n [typeahead]=\"couponCodeInput$\"\r\n [formControl]=\"control\"\r\n (add)=\"addCouponCode.emit($event.code)\"\r\n (remove)=\"remove($event.code)\"\r\n>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <div class=\"flex items-center\">\r\n <vdr-chip class=\"mr-1\">{{ item.code }}</vdr-chip>\r\n <span>{{ item.promotionName }}</span>\r\n </div>\r\n </ng-template>\r\n</ng-select>\r\n" }]
56
56
  }], ctorParameters: () => [{ type: i1.DataService }], propDecorators: { couponCodes: [{
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
62
62
  }], removeCouponCode: [{
63
63
  type: Output
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLWNvZGUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvY29tcG9uZW50cy9jb3Vwb24tY29kZS1zZWxlY3Rvci9jb3Vwb24tY29kZS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2NvdXBvbi1jb2RlLXNlbGVjdG9yL2NvdXBvbi1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUVILDBDQUEwQyxHQUU3QyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBUSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUVyRyxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7O0NBV3pELENBQUM7QUFRRixNQUFNLE9BQU8sMkJBQTJCO0lBT3BDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSmxDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMzQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXhELHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDTSxDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN0QixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FDTCxJQUFJLENBQUMsRUFBRSxDQUNILElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxFQUFFO1lBQy9ELE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsRUFBRTtnQkFDUixJQUFJLEVBQUUsQ0FBQztnQkFDUCxNQUFNLEVBQUU7b0JBQ0osVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtpQkFDakM7YUFDSjtTQUNKLENBQUMsQ0FBQyxPQUFPLENBQ2pCLEVBQ0QsR0FBRyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO1FBQ25CLG9FQUFvRTtRQUNwRSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDOUUsRUFDRCxTQUFTLENBQUMsRUFBRSxDQUFDLENBQ2hCLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0F4Q1EsMkJBQTJCO2tHQUEzQiwyQkFBMkIsK01DOUJ4QyxxdEJBc0JBOzsyRkRRYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNO2dGQUd0QyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgR2V0Q291cG9uQ29kZVNlbGVjdG9yUHJvbW90aW9uTGlzdERvY3VtZW50LFxyXG4gICAgUFJPTU9USU9OX0ZSQUdNRU5ULFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XHJcbmltcG9ydCB7IGNvbmNhdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNraXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9DT1VQT05fQ09ERV9TRUxFQ1RPUl9QUk9NT1RJT05fTElTVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldENvdXBvbkNvZGVTZWxlY3RvclByb21vdGlvbkxpc3QoJG9wdGlvbnM6IFByb21vdGlvbkxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcHJvbW90aW9ucyhvcHRpb25zOiAkb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgY291cG9uQ29kZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWNvdXBvbi1jb2RlLXNlbGVjdG9yJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb3Vwb24tY29kZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb3Vwb24tY29kZS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3Vwb25Db2RlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY291cG9uQ29kZXM6IHN0cmluZ1tdO1xyXG4gICAgQElucHV0KCkgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sIHwgdW5kZWZpbmVkO1xyXG4gICAgQE91dHB1dCgpIGFkZENvdXBvbkNvZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIEBPdXRwdXQoKSByZW1vdmVDb3Vwb25Db2RlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBhdmFpbGFibGVDb3Vwb25Db2RlcyQ6IE9ic2VydmFibGU8QXJyYXk8eyBjb2RlOiBzdHJpbmc7IHByb21vdGlvbk5hbWU6IHN0cmluZyB9Pj47XHJcbiAgICBjb3Vwb25Db2RlSW5wdXQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVDb3Vwb25Db2RlcyQgPSBjb25jYXQoXHJcbiAgICAgICAgICAgIHRoaXMuY291cG9uQ29kZUlucHV0JC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXHJcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKFxyXG4gICAgICAgICAgICAgICAgICAgIHRlcm0gPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5xdWVyeShHZXRDb3Vwb25Db2RlU2VsZWN0b3JQcm9tb3Rpb25MaXN0RG9jdW1lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlOiAxMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3Vwb25Db2RlOiB7IGNvbnRhaW5zOiB0ZXJtIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnNpbmdsZSQsXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgbWFwKCh7IHByb21vdGlvbnMgfSkgPT5cclxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgICAgICAgICAgICAgICAgIHByb21vdGlvbnMuaXRlbXMubWFwKHAgPT4gKHsgY29kZTogcC5jb3Vwb25Db2RlISwgcHJvbW90aW9uTmFtZTogcC5uYW1lIH0pKSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgoW10pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLmNvdXBvbkNvZGVzID8/IFtdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlKGNvZGU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlQ291cG9uQ29kZS5lbWl0KGNvZGUpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1zZWxlY3RcclxuICAgIFtpdGVtc109XCJhdmFpbGFibGVDb3Vwb25Db2RlcyQgfCBhc3luY1wiXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgYmluZExhYmVsPVwiY29kZVwiXHJcbiAgICBiaW5kVmFsdWU9XCJjb2RlXCJcclxuICAgIFthZGRUYWddPVwiZmFsc2VcIlxyXG4gICAgW211bHRpcGxlXT1cInRydWVcIlxyXG4gICAgW2hpZGVTZWxlY3RlZF09XCJ0cnVlXCJcclxuICAgIFttaW5UZXJtTGVuZ3RoXT1cIjJcIlxyXG4gICAgdHlwZVRvU2VhcmNoVGV4dD1cIlwiXHJcbiAgICBbdHlwZWFoZWFkXT1cImNvdXBvbkNvZGVJbnB1dCRcIlxyXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgKGFkZCk9XCJhZGRDb3Vwb25Db2RlLmVtaXQoJGV2ZW50LmNvZGUpXCJcclxuICAgIChyZW1vdmUpPVwicmVtb3ZlKCRldmVudC5jb2RlKVwiXHJcbj5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8dmRyLWNoaXAgY2xhc3M9XCJtci0xXCI+e3sgaXRlbS5jb2RlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5wcm9tb3Rpb25OYW1lIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1zZWxlY3Q+XHJcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLWNvZGUtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvY29tcG9uZW50cy9jb3Vwb24tY29kZS1zZWxlY3Rvci9jb3Vwb24tY29kZS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2NvdXBvbi1jb2RlLXNlbGVjdG9yL2NvdXBvbi1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUVILDBDQUEwQyxHQUU3QyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBUSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUVyRyxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7O0NBV3pELENBQUM7QUFRRixNQUFNLE9BQU8sMkJBQTJCO0lBT3BDLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBSmxDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMzQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXhELHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDTSxDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN0QixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FDTCxJQUFJLENBQUMsRUFBRSxDQUNILElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxFQUFFO1lBQy9ELE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsRUFBRTtnQkFDUixJQUFJLEVBQUUsQ0FBQztnQkFDUCxNQUFNLEVBQUU7b0JBQ0osVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtpQkFDakM7YUFDSjtTQUNKLENBQUMsQ0FBQyxPQUFPLENBQ2pCLEVBQ0QsR0FBRyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO1FBQ25CLG9FQUFvRTtRQUNwRSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDOUUsRUFDRCxTQUFTLENBQUMsRUFBRSxDQUFDLENBQ2hCLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0F4Q1EsMkJBQTJCO21HQUEzQiwyQkFBMkIsK01DOUJ4QyxxdEJBc0JBOzs0RkRRYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNO2dGQUd0QyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgR2V0Q291cG9uQ29kZVNlbGVjdG9yUHJvbW90aW9uTGlzdERvY3VtZW50LFxyXG4gICAgUFJPTU9USU9OX0ZSQUdNRU5ULFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XHJcbmltcG9ydCB7IGNvbmNhdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNraXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9DT1VQT05fQ09ERV9TRUxFQ1RPUl9QUk9NT1RJT05fTElTVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldENvdXBvbkNvZGVTZWxlY3RvclByb21vdGlvbkxpc3QoJG9wdGlvbnM6IFByb21vdGlvbkxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcHJvbW90aW9ucyhvcHRpb25zOiAkb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgY291cG9uQ29kZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWNvdXBvbi1jb2RlLXNlbGVjdG9yJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb3Vwb24tY29kZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb3Vwb24tY29kZS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3Vwb25Db2RlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgY291cG9uQ29kZXM6IHN0cmluZ1tdO1xyXG4gICAgQElucHV0KCkgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sIHwgdW5kZWZpbmVkO1xyXG4gICAgQE91dHB1dCgpIGFkZENvdXBvbkNvZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAgIEBPdXRwdXQoKSByZW1vdmVDb3Vwb25Db2RlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBhdmFpbGFibGVDb3Vwb25Db2RlcyQ6IE9ic2VydmFibGU8QXJyYXk8eyBjb2RlOiBzdHJpbmc7IHByb21vdGlvbk5hbWU6IHN0cmluZyB9Pj47XHJcbiAgICBjb3Vwb25Db2RlSW5wdXQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVDb3Vwb25Db2RlcyQgPSBjb25jYXQoXHJcbiAgICAgICAgICAgIHRoaXMuY291cG9uQ29kZUlucHV0JC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXHJcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKFxyXG4gICAgICAgICAgICAgICAgICAgIHRlcm0gPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5xdWVyeShHZXRDb3Vwb25Db2RlU2VsZWN0b3JQcm9tb3Rpb25MaXN0RG9jdW1lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlOiAxMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3Vwb25Db2RlOiB7IGNvbnRhaW5zOiB0ZXJtIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnNpbmdsZSQsXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgbWFwKCh7IHByb21vdGlvbnMgfSkgPT5cclxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgICAgICAgICAgICAgICAgIHByb21vdGlvbnMuaXRlbXMubWFwKHAgPT4gKHsgY29kZTogcC5jb3Vwb25Db2RlISwgcHJvbW90aW9uTmFtZTogcC5uYW1lIH0pKSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgoW10pLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLmNvdXBvbkNvZGVzID8/IFtdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlKGNvZGU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlQ291cG9uQ29kZS5lbWl0KGNvZGUpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1zZWxlY3RcclxuICAgIFtpdGVtc109XCJhdmFpbGFibGVDb3Vwb25Db2RlcyQgfCBhc3luY1wiXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgYmluZExhYmVsPVwiY29kZVwiXHJcbiAgICBiaW5kVmFsdWU9XCJjb2RlXCJcclxuICAgIFthZGRUYWddPVwiZmFsc2VcIlxyXG4gICAgW211bHRpcGxlXT1cInRydWVcIlxyXG4gICAgW2hpZGVTZWxlY3RlZF09XCJ0cnVlXCJcclxuICAgIFttaW5UZXJtTGVuZ3RoXT1cIjJcIlxyXG4gICAgdHlwZVRvU2VhcmNoVGV4dD1cIlwiXHJcbiAgICBbdHlwZWFoZWFkXT1cImNvdXBvbkNvZGVJbnB1dCRcIlxyXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgKGFkZCk9XCJhZGRDb3Vwb25Db2RlLmVtaXQoJGV2ZW50LmNvZGUpXCJcclxuICAgIChyZW1vdmUpPVwicmVtb3ZlKCRldmVudC5jb2RlKVwiXHJcbj5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8dmRyLWNoaXAgY2xhc3M9XCJtci0xXCI+e3sgaXRlbS5jb2RlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5wcm9tb3Rpb25OYW1lIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1zZWxlY3Q+XHJcbiJdfQ==
@@ -173,11 +173,11 @@ export class DraftOrderDetailComponent extends TypedBaseDetailComponent {
173
173
  setFormValues(entity) {
174
174
  // empty
175
175
  }
176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DraftOrderDetailComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DataService }, { token: i1.NotificationService }, { token: i1.ModalService }, { token: i2.OrderTransitionService }], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: DraftOrderDetailComponent, selector: "vdr-draft-order-detail", usesInheritance: true, ngImport: i0, template: "<vdr-page-block>\r\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\r\n <vdr-ab-left>\r\n <div class=\"flex clr-align-items-center\">\r\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\r\n </div>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"draft-order-detail\" />\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"completeOrder()\"\r\n [disabled]=\"!order.customer || !order.lines.length || !order.shippingLines.length\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'order.complete-draft-order' | translate }}\r\n </button>\r\n <vdr-action-bar-dropdown-menu [alwaysShow]=\"true\" locationId=\"draft-order-detail\">\r\n <button type=\"button\" vdrDropdownItem (click)=\"deleteOrder()\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'order.delete-draft-order' | translate }}\r\n </button>\r\n </vdr-action-bar-dropdown-menu>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n</vdr-page-block>\r\n\r\n<vdr-page-detail-layout *ngIf=\"entity$ | async as order\">\r\n <vdr-page-detail-sidebar>\r\n <vdr-card [title]=\"'order.customer' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon *ngIf=\"!order.customer\" shape=\"unknown-status\" class=\"is-warning\"></clr-icon>\r\n <clr-icon *ngIf=\"order.customer\" shape=\"check\" class=\"is-success\"></clr-icon>\r\n </ng-template>\r\n <vdr-customer-label\r\n class=\"block mb-2\"\r\n *ngIf=\"order.customer\"\r\n [customer]=\"order.customer\"\r\n ></vdr-customer-label>\r\n <button class=\"button-small\" (click)=\"setCustomer()\">\r\n {{ 'order.set-customer-for-order' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.billing-address' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon\r\n *ngIf=\"!order.billingAddress.streetLine1\"\r\n shape=\"unknown-status\"\r\n class=\"is-warning\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"order.billingAddress.streetLine1\"\r\n shape=\"check\"\r\n class=\"is-success\"\r\n ></clr-icon>\r\n </ng-template>\r\n <vdr-formatted-address\r\n class=\"block mb-2\"\r\n *ngIf=\"order.billingAddress\"\r\n [address]=\"order.billingAddress\"\r\n ></vdr-formatted-address>\r\n <button class=\"button-small\" (click)=\"setBillingAddress()\">\r\n {{ 'order.set-billing-address' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.shipping' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon\r\n *ngIf=\"!order.shippingAddress.streetLine1 || !order.shippingLines.length\"\r\n shape=\"unknown-status\"\r\n class=\"is-warning\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"order.shippingAddress.streetLine1 && order.shippingLines.length\"\r\n shape=\"check\"\r\n class=\"is-success\"\r\n ></clr-icon>\r\n </ng-template>\r\n <vdr-formatted-address\r\n class=\"block mb-2\"\r\n *ngIf=\"order.shippingAddress\"\r\n [address]=\"order.shippingAddress\"\r\n ></vdr-formatted-address>\r\n <button class=\"button-small mr-2\" (click)=\"setShippingAddress()\">\r\n {{ 'order.set-shipping-address' | translate }}\r\n </button>\r\n\r\n <div *ngFor=\"let shippingLine of order.shippingLines\">\r\n {{ shippingLine.shippingMethod.name }}\r\n </div>\r\n <button class=\"button-small\" (click)=\"setShippingMethod()\">\r\n {{ 'order.set-shipping-method' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card>\r\n <button\r\n *ngIf=\"order.couponCodes.length === 0 && !displayCouponCodeInput\"\r\n class=\"button-small\"\r\n (click)=\"displayCouponCodeInput = !displayCouponCodeInput\"\r\n >\r\n {{ 'order.set-coupon-codes' | translate }}\r\n </button>\r\n <div *ngIf=\"order.couponCodes.length || displayCouponCodeInput\">\r\n <label>{{ 'order.set-coupon-codes' | translate }}</label>\r\n <vdr-coupon-code-selector\r\n [couponCodes]=\"order.couponCodes\"\r\n (addCouponCode)=\"applyCouponCode($event)\"\r\n (removeCouponCode)=\"removeCouponCode($event)\"\r\n ></vdr-coupon-code-selector>\r\n </div>\r\n </vdr-card>\r\n <vdr-card>\r\n <vdr-page-entity-info *ngIf=\"entity$ | async as entity\" [entity]=\"entity\" />\r\n </vdr-card>\r\n </vdr-page-detail-sidebar>\r\n <vdr-page-block>\r\n <vdr-card>\r\n <vdr-draft-order-variant-selector\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n [currencyCode]=\"order.currencyCode\"\r\n (addItem)=\"addItemToOrder($event)\"\r\n ></vdr-draft-order-variant-selector>\r\n <vdr-order-table\r\n [order]=\"order\"\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n [isDraft]=\"true\"\r\n (adjust)=\"adjustOrderLine($event)\"\r\n (remove)=\"removeOrderLine($event)\"\r\n ></vdr-order-table>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.tax-summary' | translate\">\r\n <ng-container *ngIf=\"order.taxSummary.length\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'common.description' | translate }}</th>\r\n <th>{{ 'order.tax-rate' | translate }}</th>\r\n <th>{{ 'order.tax-base' | translate }}</th>\r\n <th>{{ 'order.tax-total' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of order.taxSummary\">\r\n <td>{{ row.description }}</td>\r\n <td>{{ row.taxRate / 100 | percent }}</td>\r\n <td>{{ row.taxBase | localeCurrency : order.currencyCode }}</td>\r\n <td>{{ row.taxTotal | localeCurrency : order.currencyCode }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n </vdr-card>\r\n <vdr-custom-detail-component-host\r\n locationId=\"draft-order-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n\r\n <vdr-order-custom-fields-card\r\n [customFieldsConfig]=\"customFields\"\r\n [customFieldValues]=\"order.customFields\"\r\n (updateClick)=\"updateCustomFields($event)\"\r\n ></vdr-order-custom-fields-card>\r\n </vdr-page-block>\r\n</vdr-page-detail-layout>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarDropdownMenuComponent, selector: "vdr-action-bar-dropdown-menu", inputs: ["alwaysShow"] }, { kind: "component", type: i1.CustomerLabelComponent, selector: "vdr-customer-label", inputs: ["customer"] }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i1.OrderStateLabelComponent, selector: "vdr-order-state-label", inputs: ["state"] }, { kind: "component", type: i1.FormattedAddressComponent, selector: "vdr-formatted-address", inputs: ["address"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: ["locationId", "entity$", "detailForm"] }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: i1.PageEntityInfoComponent, selector: "vdr-page-entity-info", inputs: ["entity"] }, { kind: "component", type: i1.PageDetailLayoutComponent, selector: "vdr-page-detail-layout" }, { kind: "component", type: i1.PageDetailSidebarComponent, selector: "vdr-page-detail-sidebar" }, { kind: "component", type: i1.CardComponent, selector: "vdr-card", inputs: ["title", "paddingX"] }, { kind: "directive", type: i1.CardControlsDirective, selector: "[vdrCardControls]" }, { kind: "component", type: i5.OrderCustomFieldsCardComponent, selector: "vdr-order-custom-fields-card", inputs: ["customFieldsConfig", "customFieldValues"], outputs: ["updateClick"] }, { kind: "component", type: i6.OrderTableComponent, selector: "vdr-order-table", inputs: ["order", "orderLineCustomFields", "isDraft"], outputs: ["adjust", "remove"] }, { kind: "component", type: i7.DraftOrderVariantSelectorComponent, selector: "vdr-draft-order-variant-selector", inputs: ["currencyCode", "orderLineCustomFields"], outputs: ["addItem"] }, { kind: "component", type: i8.CouponCodeSelectorComponent, selector: "vdr-coupon-code-selector", inputs: ["couponCodes", "control"], outputs: ["addCouponCode", "removeCouponCode"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.PercentPipe, name: "percent" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DraftOrderDetailComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DataService }, { token: i1.NotificationService }, { token: i1.ModalService }, { token: i2.OrderTransitionService }], target: i0.ɵɵFactoryTarget.Component }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DraftOrderDetailComponent, selector: "vdr-draft-order-detail", usesInheritance: true, ngImport: i0, template: "<vdr-page-block>\r\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\r\n <vdr-ab-left>\r\n <div class=\"flex clr-align-items-center\">\r\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\r\n </div>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"draft-order-detail\" />\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"completeOrder()\"\r\n [disabled]=\"!order.customer || !order.lines.length || !order.shippingLines.length\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'order.complete-draft-order' | translate }}\r\n </button>\r\n <vdr-action-bar-dropdown-menu [alwaysShow]=\"true\" locationId=\"draft-order-detail\">\r\n <button type=\"button\" vdrDropdownItem (click)=\"deleteOrder()\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'order.delete-draft-order' | translate }}\r\n </button>\r\n </vdr-action-bar-dropdown-menu>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n</vdr-page-block>\r\n\r\n<vdr-page-detail-layout *ngIf=\"entity$ | async as order\">\r\n <vdr-page-detail-sidebar>\r\n <vdr-card [title]=\"'order.customer' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon *ngIf=\"!order.customer\" shape=\"unknown-status\" class=\"is-warning\"></clr-icon>\r\n <clr-icon *ngIf=\"order.customer\" shape=\"check\" class=\"is-success\"></clr-icon>\r\n </ng-template>\r\n <vdr-customer-label\r\n class=\"block mb-2\"\r\n *ngIf=\"order.customer\"\r\n [customer]=\"order.customer\"\r\n ></vdr-customer-label>\r\n <button class=\"button-small\" (click)=\"setCustomer()\">\r\n {{ 'order.set-customer-for-order' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.billing-address' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon\r\n *ngIf=\"!order.billingAddress.streetLine1\"\r\n shape=\"unknown-status\"\r\n class=\"is-warning\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"order.billingAddress.streetLine1\"\r\n shape=\"check\"\r\n class=\"is-success\"\r\n ></clr-icon>\r\n </ng-template>\r\n <vdr-formatted-address\r\n class=\"block mb-2\"\r\n *ngIf=\"order.billingAddress\"\r\n [address]=\"order.billingAddress\"\r\n ></vdr-formatted-address>\r\n <button class=\"button-small\" (click)=\"setBillingAddress()\">\r\n {{ 'order.set-billing-address' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.shipping' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon\r\n *ngIf=\"!order.shippingAddress.streetLine1 || !order.shippingLines.length\"\r\n shape=\"unknown-status\"\r\n class=\"is-warning\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"order.shippingAddress.streetLine1 && order.shippingLines.length\"\r\n shape=\"check\"\r\n class=\"is-success\"\r\n ></clr-icon>\r\n </ng-template>\r\n <vdr-formatted-address\r\n class=\"block mb-2\"\r\n *ngIf=\"order.shippingAddress\"\r\n [address]=\"order.shippingAddress\"\r\n ></vdr-formatted-address>\r\n <button class=\"button-small mr-2\" (click)=\"setShippingAddress()\">\r\n {{ 'order.set-shipping-address' | translate }}\r\n </button>\r\n\r\n <div *ngFor=\"let shippingLine of order.shippingLines\">\r\n {{ shippingLine.shippingMethod.name }}\r\n </div>\r\n <button class=\"button-small\" (click)=\"setShippingMethod()\">\r\n {{ 'order.set-shipping-method' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card>\r\n <button\r\n *ngIf=\"order.couponCodes.length === 0 && !displayCouponCodeInput\"\r\n class=\"button-small\"\r\n (click)=\"displayCouponCodeInput = !displayCouponCodeInput\"\r\n >\r\n {{ 'order.set-coupon-codes' | translate }}\r\n </button>\r\n <div *ngIf=\"order.couponCodes.length || displayCouponCodeInput\">\r\n <label>{{ 'order.set-coupon-codes' | translate }}</label>\r\n <vdr-coupon-code-selector\r\n [couponCodes]=\"order.couponCodes\"\r\n (addCouponCode)=\"applyCouponCode($event)\"\r\n (removeCouponCode)=\"removeCouponCode($event)\"\r\n ></vdr-coupon-code-selector>\r\n </div>\r\n </vdr-card>\r\n <vdr-card>\r\n <vdr-page-entity-info *ngIf=\"entity$ | async as entity\" [entity]=\"entity\" />\r\n </vdr-card>\r\n </vdr-page-detail-sidebar>\r\n <vdr-page-block>\r\n <vdr-card>\r\n <vdr-draft-order-variant-selector\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n [currencyCode]=\"order.currencyCode\"\r\n (addItem)=\"addItemToOrder($event)\"\r\n ></vdr-draft-order-variant-selector>\r\n <vdr-order-table\r\n [order]=\"order\"\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n [isDraft]=\"true\"\r\n (adjust)=\"adjustOrderLine($event)\"\r\n (remove)=\"removeOrderLine($event)\"\r\n ></vdr-order-table>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.tax-summary' | translate\">\r\n <ng-container *ngIf=\"order.taxSummary.length\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'common.description' | translate }}</th>\r\n <th>{{ 'order.tax-rate' | translate }}</th>\r\n <th>{{ 'order.tax-base' | translate }}</th>\r\n <th>{{ 'order.tax-total' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of order.taxSummary\">\r\n <td>{{ row.description }}</td>\r\n <td>{{ row.taxRate / 100 | percent }}</td>\r\n <td>{{ row.taxBase | localeCurrency : order.currencyCode }}</td>\r\n <td>{{ row.taxTotal | localeCurrency : order.currencyCode }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n </vdr-card>\r\n <vdr-custom-detail-component-host\r\n locationId=\"draft-order-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n\r\n <vdr-order-custom-fields-card\r\n [customFieldsConfig]=\"customFields\"\r\n [customFieldValues]=\"order.customFields\"\r\n (updateClick)=\"updateCustomFields($event)\"\r\n ></vdr-order-custom-fields-card>\r\n </vdr-page-block>\r\n</vdr-page-detail-layout>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarDropdownMenuComponent, selector: "vdr-action-bar-dropdown-menu", inputs: ["alwaysShow"] }, { kind: "component", type: i1.CustomerLabelComponent, selector: "vdr-customer-label", inputs: ["customer"] }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i1.OrderStateLabelComponent, selector: "vdr-order-state-label", inputs: ["state"] }, { kind: "component", type: i1.FormattedAddressComponent, selector: "vdr-formatted-address", inputs: ["address"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: ["locationId", "entity$", "detailForm"] }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: i1.PageEntityInfoComponent, selector: "vdr-page-entity-info", inputs: ["entity"] }, { kind: "component", type: i1.PageDetailLayoutComponent, selector: "vdr-page-detail-layout" }, { kind: "component", type: i1.PageDetailSidebarComponent, selector: "vdr-page-detail-sidebar" }, { kind: "component", type: i1.CardComponent, selector: "vdr-card", inputs: ["title", "paddingX"] }, { kind: "directive", type: i1.CardControlsDirective, selector: "[vdrCardControls]" }, { kind: "component", type: i5.OrderCustomFieldsCardComponent, selector: "vdr-order-custom-fields-card", inputs: ["customFieldsConfig", "customFieldValues"], outputs: ["updateClick"] }, { kind: "component", type: i6.OrderTableComponent, selector: "vdr-order-table", inputs: ["order", "orderLineCustomFields", "isDraft"], outputs: ["adjust", "remove"] }, { kind: "component", type: i7.DraftOrderVariantSelectorComponent, selector: "vdr-draft-order-variant-selector", inputs: ["currencyCode", "orderLineCustomFields"], outputs: ["addItem"] }, { kind: "component", type: i8.CouponCodeSelectorComponent, selector: "vdr-coupon-code-selector", inputs: ["couponCodes", "control"], outputs: ["addCouponCode", "removeCouponCode"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.PercentPipe, name: "percent" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DraftOrderDetailComponent, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DraftOrderDetailComponent, decorators: [{
180
180
  type: Component,
181
181
  args: [{ selector: 'vdr-draft-order-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-page-block>\r\n <vdr-action-bar *ngIf=\"entity$ | async as order\">\r\n <vdr-ab-left>\r\n <div class=\"flex clr-align-items-center\">\r\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\r\n </div>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"draft-order-detail\" />\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"completeOrder()\"\r\n [disabled]=\"!order.customer || !order.lines.length || !order.shippingLines.length\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'order.complete-draft-order' | translate }}\r\n </button>\r\n <vdr-action-bar-dropdown-menu [alwaysShow]=\"true\" locationId=\"draft-order-detail\">\r\n <button type=\"button\" vdrDropdownItem (click)=\"deleteOrder()\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'order.delete-draft-order' | translate }}\r\n </button>\r\n </vdr-action-bar-dropdown-menu>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n</vdr-page-block>\r\n\r\n<vdr-page-detail-layout *ngIf=\"entity$ | async as order\">\r\n <vdr-page-detail-sidebar>\r\n <vdr-card [title]=\"'order.customer' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon *ngIf=\"!order.customer\" shape=\"unknown-status\" class=\"is-warning\"></clr-icon>\r\n <clr-icon *ngIf=\"order.customer\" shape=\"check\" class=\"is-success\"></clr-icon>\r\n </ng-template>\r\n <vdr-customer-label\r\n class=\"block mb-2\"\r\n *ngIf=\"order.customer\"\r\n [customer]=\"order.customer\"\r\n ></vdr-customer-label>\r\n <button class=\"button-small\" (click)=\"setCustomer()\">\r\n {{ 'order.set-customer-for-order' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.billing-address' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon\r\n *ngIf=\"!order.billingAddress.streetLine1\"\r\n shape=\"unknown-status\"\r\n class=\"is-warning\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"order.billingAddress.streetLine1\"\r\n shape=\"check\"\r\n class=\"is-success\"\r\n ></clr-icon>\r\n </ng-template>\r\n <vdr-formatted-address\r\n class=\"block mb-2\"\r\n *ngIf=\"order.billingAddress\"\r\n [address]=\"order.billingAddress\"\r\n ></vdr-formatted-address>\r\n <button class=\"button-small\" (click)=\"setBillingAddress()\">\r\n {{ 'order.set-billing-address' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.shipping' | translate\">\r\n <ng-template vdrCardControls>\r\n <clr-icon\r\n *ngIf=\"!order.shippingAddress.streetLine1 || !order.shippingLines.length\"\r\n shape=\"unknown-status\"\r\n class=\"is-warning\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"order.shippingAddress.streetLine1 && order.shippingLines.length\"\r\n shape=\"check\"\r\n class=\"is-success\"\r\n ></clr-icon>\r\n </ng-template>\r\n <vdr-formatted-address\r\n class=\"block mb-2\"\r\n *ngIf=\"order.shippingAddress\"\r\n [address]=\"order.shippingAddress\"\r\n ></vdr-formatted-address>\r\n <button class=\"button-small mr-2\" (click)=\"setShippingAddress()\">\r\n {{ 'order.set-shipping-address' | translate }}\r\n </button>\r\n\r\n <div *ngFor=\"let shippingLine of order.shippingLines\">\r\n {{ shippingLine.shippingMethod.name }}\r\n </div>\r\n <button class=\"button-small\" (click)=\"setShippingMethod()\">\r\n {{ 'order.set-shipping-method' | translate }}\r\n </button>\r\n </vdr-card>\r\n <vdr-card>\r\n <button\r\n *ngIf=\"order.couponCodes.length === 0 && !displayCouponCodeInput\"\r\n class=\"button-small\"\r\n (click)=\"displayCouponCodeInput = !displayCouponCodeInput\"\r\n >\r\n {{ 'order.set-coupon-codes' | translate }}\r\n </button>\r\n <div *ngIf=\"order.couponCodes.length || displayCouponCodeInput\">\r\n <label>{{ 'order.set-coupon-codes' | translate }}</label>\r\n <vdr-coupon-code-selector\r\n [couponCodes]=\"order.couponCodes\"\r\n (addCouponCode)=\"applyCouponCode($event)\"\r\n (removeCouponCode)=\"removeCouponCode($event)\"\r\n ></vdr-coupon-code-selector>\r\n </div>\r\n </vdr-card>\r\n <vdr-card>\r\n <vdr-page-entity-info *ngIf=\"entity$ | async as entity\" [entity]=\"entity\" />\r\n </vdr-card>\r\n </vdr-page-detail-sidebar>\r\n <vdr-page-block>\r\n <vdr-card>\r\n <vdr-draft-order-variant-selector\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n [currencyCode]=\"order.currencyCode\"\r\n (addItem)=\"addItemToOrder($event)\"\r\n ></vdr-draft-order-variant-selector>\r\n <vdr-order-table\r\n [order]=\"order\"\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n [isDraft]=\"true\"\r\n (adjust)=\"adjustOrderLine($event)\"\r\n (remove)=\"removeOrderLine($event)\"\r\n ></vdr-order-table>\r\n </vdr-card>\r\n <vdr-card [title]=\"'order.tax-summary' | translate\">\r\n <ng-container *ngIf=\"order.taxSummary.length\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'common.description' | translate }}</th>\r\n <th>{{ 'order.tax-rate' | translate }}</th>\r\n <th>{{ 'order.tax-base' | translate }}</th>\r\n <th>{{ 'order.tax-total' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of order.taxSummary\">\r\n <td>{{ row.description }}</td>\r\n <td>{{ row.taxRate / 100 | percent }}</td>\r\n <td>{{ row.taxBase | localeCurrency : order.currencyCode }}</td>\r\n <td>{{ row.taxTotal | localeCurrency : order.currencyCode }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n </vdr-card>\r\n <vdr-custom-detail-component-host\r\n locationId=\"draft-order-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n\r\n <vdr-order-custom-fields-card\r\n [customFieldsConfig]=\"customFields\"\r\n [customFieldValues]=\"order.customFields\"\r\n (updateClick)=\"updateCustomFields($event)\"\r\n ></vdr-order-custom-fields-card>\r\n </vdr-page-block>\r\n</vdr-page-detail-layout>\r\n" }]
182
182
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DataService }, { type: i1.NotificationService }, { type: i1.ModalService }, { type: i2.OrderTransitionService }] });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZnQtb3JkZXItZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL2NvbXBvbmVudHMvZHJhZnQtb3JkZXItZGV0YWlsL2RyYWZ0LW9yZGVyLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2RyYWZ0LW9yZGVyLWRldGFpbC9kcmFmdC1vcmRlci1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUVILGNBQWMsRUFPZCx3QkFBd0IsR0FDM0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDOzs7Ozs7Ozs7OztBQVEvSCxNQUFNLE9BQU8seUJBQ1QsU0FBUSx3QkFBa0U7SUFhMUUsWUFDWSxjQUFpQyxFQUMvQixXQUF3QixFQUMxQixtQkFBd0MsRUFDeEMsWUFBMEIsRUFDMUIsc0JBQThDO1FBRXRELEtBQUssRUFBRSxDQUFDO1FBTkEsbUJBQWMsR0FBZCxjQUFj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O1FBQ2xELE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFUyxhQUFhLENBQUMsTUFBMkI7UUFDL0MsUUFBUTtJQUNaLENBQUM7OEdBdk1RLHlCQUF5QjtrR0FBekIseUJBQXlCLHFGQzVCdEMsK3VQQXNLQTs7MkZEMUlhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQge1xyXG4gICAgRGF0YVNlcnZpY2UsXHJcbiAgICBEZWxldGlvblJlc3VsdCxcclxuICAgIERyYWZ0T3JkZXJFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5LFxyXG4gICAgTW9kYWxTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIE9yZGVyLFxyXG4gICAgT3JkZXJEZXRhaWxGcmFnbWVudCxcclxuICAgIE9yZGVyRGV0YWlsUXVlcnlEb2N1bWVudCxcclxuICAgIFR5cGVkQmFzZURldGFpbENvbXBvbmVudCxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBPcmRlclRyYW5zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL29yZGVyLXRyYW5zaXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFNlbGVjdEFkZHJlc3NEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QtYWRkcmVzcy1kaWFsb2cvc2VsZWN0LWFkZHJlc3MtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEN1c3RvbWVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LWN1c3RvbWVyLWRpYWxvZy9zZWxlY3QtY3VzdG9tZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdFNoaXBwaW5nTWV0aG9kRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LXNoaXBwaW5nLW1ldGhvZC1kaWFsb2cvc2VsZWN0LXNoaXBwaW5nLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZHJhZnQtb3JkZXItZGV0YWlsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcmFmdC1vcmRlci1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJhZnQtb3JkZXItZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYWZ0T3JkZXJEZXRhaWxDb21wb25lbnRcclxuICAgIGV4dGVuZHMgVHlwZWRCYXNlRGV0YWlsQ29tcG9uZW50PHR5cGVvZiBPcmRlckRldGFpbFF1ZXJ5RG9jdW1lbnQsICdvcmRlcic+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAgIGN1c3RvbUZpZWxkcyA9IHRoaXMuZ2V0Q3VzdG9tRmllbGRDb25maWcoJ09yZGVyJyk7XHJcbiAgICBvcmRlckxpbmVDdXN0b21GaWVsZHMgPSB0aGlzLmdldEN1c3RvbUZpZWxkQ29uZmlnKCdPcmRlckxpbmUnKTtcclxuICAgIGRldGFpbEZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XHJcbiAgICBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kcyQ6IE9ic2VydmFibGU8XHJcbiAgICAgICAgRHJhZnRPcmRlckVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnlbJ2VsaWdpYmxlU2hpcHBpbmdNZXRob2RzRm9yRHJhZnRPcmRlciddXHJcbiAgICA+O1xyXG4gICAgbmV4dFN0YXRlcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xyXG4gICAgZmV0Y2hIaXN0b3J5ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIGRpc3BsYXlDb3Vwb25Db2RlSW5wdXQgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgb3JkZXJUcmFuc2l0aW9uU2VydmljZTogT3JkZXJUcmFuc2l0aW9uU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgdGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHMgPSB0aGlzLmdldEN1c3RvbUZpZWxkQ29uZmlnKCdPcmRlckxpbmUnKTtcclxuICAgICAgICB0aGlzLmVsaWdpYmxlU2hpcHBpbmdNZXRob2RzJCA9IHRoaXMuZW50aXR5JC5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAob3JkZXIgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXJcclxuICAgICAgICAgICAgICAgICAgICAuZ2V0RHJhZnRPcmRlckVsaWdpYmxlU2hpcHBpbmdNZXRob2RzKG9yZGVyLmlkKVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICh7IGVsaWdpYmxlU2hpcHBpbmdNZXRob2RzRm9yRHJhZnRPcmRlciB9KSA9PiBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0ZvckRyYWZ0T3JkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEl0ZW1Ub09yZGVyKGV2ZW50OiB7IHByb2R1Y3RWYXJpYW50SWQ6IHN0cmluZzsgcXVhbnRpdHk6IG51bWJlcjsgY3VzdG9tRmllbGRzOiBhbnkgfSkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXIuYWRkSXRlbVRvRHJhZnRPcmRlcih0aGlzLmlkLCBldmVudCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkSXRlbVRvRHJhZnRPcmRlci5fX3R5cGVuYW1lICE9PSAnT3JkZXInKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoKHJlc3VsdC5hZGRJdGVtVG9EcmFmdE9yZGVyIGFzIGFueSkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGp1c3RPcmRlckxpbmUoZXZlbnQ6IHsgbGluZUlkOiBzdHJpbmc7IHF1YW50aXR5OiBudW1iZXIgfSkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXJcclxuICAgICAgICAgICAgLmFkanVzdERyYWZ0T3JkZXJMaW5lKHRoaXMuaWQsIHsgb3JkZXJMaW5lSWQ6IGV2ZW50LmxpbmVJZCwgcXVhbnRpdHk6IGV2ZW50LnF1YW50aXR5IH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuYWRqdXN0RHJhZnRPcmRlckxpbmUuX190eXBlbmFtZSAhPT0gJ09yZGVyJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcigocmVzdWx0LmFkanVzdERyYWZ0T3JkZXJMaW5lIGFzIGFueSkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZU9yZGVyTGluZShldmVudDogeyBsaW5lSWQ6IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5vcmRlci5yZW1vdmVEcmFmdE9yZGVyTGluZSh0aGlzLmlkLCBldmVudC5saW5lSWQpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0LnJlbW92ZURyYWZ0T3JkZXJMaW5lLl9fdHlwZW5hbWUgIT09ICdPcmRlcicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcigocmVzdWx0LnJlbW92ZURyYWZ0T3JkZXJMaW5lIGFzIGFueSkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRPcmRlckFkZHJlc3NMaW5lcyhvcmRlckFkZHJlc3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogc3RyaW5nW10ge1xyXG4gICAgICAgIGlmICghb3JkZXJBZGRyZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMob3JkZXJBZGRyZXNzKVxyXG4gICAgICAgICAgICAuZmlsdGVyKHZhbCA9PiB2YWwgIT09ICdPcmRlckFkZHJlc3MnKVxyXG4gICAgICAgICAgICAuZmlsdGVyKGxpbmUgPT4gISFsaW5lKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRDdXN0b21lcigpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5mcm9tQ29tcG9uZW50KFNlbGVjdEN1c3RvbWVyRGlhbG9nQ29tcG9uZW50KS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzSWQocmVzdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5vcmRlclxyXG4gICAgICAgICAgICAgICAgICAgIC5zZXRDdXN0b21lckZvckRyYWZ0T3JkZXIodGhpcy5pZCwgeyBjdXN0b21lcklkOiByZXN1bHQuaWQgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IG5vdGUsIC4uLmlucHV0IH0gPSByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLm9yZGVyLnNldEN1c3RvbWVyRm9yRHJhZnRPcmRlcih0aGlzLmlkLCB7IGlucHV0IH0pLnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U2hpcHBpbmdBZGRyZXNzKCkge1xyXG4gICAgICAgIHRoaXMuZW50aXR5JFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAob3JkZXIgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5mcm9tQ29tcG9uZW50KFNlbGVjdEFkZHJlc3NEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21lcklkOiBvcmRlci5jdXN0b21lcj8uaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50QWRkcmVzczogb3JkZXIuc2hpcHBpbmdBZGRyZXNzID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXIuc2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzcyh0aGlzLmlkLCByZXN1bHQpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRCaWxsaW5nQWRkcmVzcygpIHtcclxuICAgICAgICB0aGlzLmVudGl0eSRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG9yZGVyID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZnJvbUNvbXBvbmVudChTZWxlY3RBZGRyZXNzRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tZXJJZDogb3JkZXIuY3VzdG9tZXI/LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEFkZHJlc3M6IG9yZGVyLmJpbGxpbmdBZGRyZXNzID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXIuc2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzKHRoaXMuaWQsIHJlc3VsdCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5Q291cG9uQ29kZShjb3Vwb25Db2RlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLm9yZGVyLmFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlcih0aGlzLmlkLCBjb3Vwb25Db2RlKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVDb3Vwb25Db2RlKGNvdXBvbkNvZGU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXIucmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyKHRoaXMuaWQsIGNvdXBvbkNvZGUpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFNoaXBwaW5nTWV0aG9kKCkge1xyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5lbnRpdHkkLCB0aGlzLmVsaWdpYmxlU2hpcHBpbmdNZXRob2RzJClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChbb3JkZXIsIG1ldGhvZHNdKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmZyb21Db21wb25lbnQoU2VsZWN0U2hpcHBpbmdNZXRob2REaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kczogbWV0aG9kcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5Q29kZTogb3JkZXIuY3VycmVuY3lDb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFNlbGVjdGlvbklkOiBvcmRlci5zaGlwcGluZ0xpbmVzPy5bMF0/LnNoaXBwaW5nTWV0aG9kLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5vcmRlci5zZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2QodGhpcy5pZCwgcmVzdWx0KS5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQ3VzdG9tRmllbGRzKGN1c3RvbUZpZWxkc1ZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLm9yZGVyXHJcbiAgICAgICAgICAgIC51cGRhdGVPcmRlckN1c3RvbUZpZWxkcyh7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5pZCxcclxuICAgICAgICAgICAgICAgIGN1c3RvbUZpZWxkczogY3VzdG9tRmllbGRzVmFsdWUsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVPcmRlcigpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLm9yZGVyLmRlbGV0ZURyYWZ0T3JkZXIodGhpcy5pZCkuc3Vic2NyaWJlKCh7IGRlbGV0ZURyYWZ0T3JkZXIgfSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGVsZXRlRHJhZnRPcmRlci5yZXN1bHQgPT09IERlbGV0aW9uUmVzdWx0LkRFTEVURUQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKF8oJ2NvbW1vbi5ub3RpZnktZGVsZXRlLXN1Y2Nlc3MnKSwge1xyXG4gICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ09yZGVyJyxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvb3JkZXJzJ10pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRlbGV0ZURyYWZ0T3JkZXIubWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKGRlbGV0ZURyYWZ0T3JkZXIubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wbGV0ZU9yZGVyKCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXJcclxuICAgICAgICAgICAgLnRyYW5zaXRpb25Ub1N0YXRlKHRoaXMuaWQsICdBcnJhbmdpbmdQYXltZW50JylcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeyB0cmFuc2l0aW9uT3JkZXJUb1N0YXRlIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0cmFuc2l0aW9uT3JkZXJUb1N0YXRlPy5fX3R5cGVuYW1lID09PSAnT3JkZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvb3JkZXJzJywgdGhpcy5pZF0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0cmFuc2l0aW9uT3JkZXJUb1N0YXRlPy5fX3R5cGVuYW1lID09PSAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IodHJhbnNpdGlvbk9yZGVyVG9TdGF0ZS50cmFuc2l0aW9uRXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhc0lkPFQgZXh0ZW5kcyB7IGlkOiBzdHJpbmcgfT4oaW5wdXQ6IFQgfCBhbnkpOiBpbnB1dCBpcyB7IGlkOiBzdHJpbmcgfSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpbnB1dCA9PT0gJ29iamVjdCcgJiYgISFpbnB1dC5pZDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0Rm9ybVZhbHVlcyhlbnRpdHk6IE9yZGVyRGV0YWlsRnJhZ21lbnQpOiB2b2lkIHtcclxuICAgICAgICAvLyBlbXB0eVxyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItcGFnZS1ibG9jaz5cclxuICAgIDx2ZHItYWN0aW9uLWJhciAqbmdJZj1cImVudGl0eSQgfCBhc3luYyBhcyBvcmRlclwiPlxyXG4gICAgICAgIDx2ZHItYWItbGVmdD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggY2xyLWFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHZkci1vcmRlci1zdGF0ZS1sYWJlbCBbc3RhdGVdPVwib3JkZXIuc3RhdGVcIj48L3Zkci1vcmRlci1zdGF0ZS1sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC92ZHItYWItbGVmdD5cclxuXHJcbiAgICAgICAgPHZkci1hYi1yaWdodD5cclxuICAgICAgICAgICAgPHZkci1hY3Rpb24tYmFyLWl0ZW1zIGxvY2F0aW9uSWQ9XCJkcmFmdC1vcmRlci1kZXRhaWxcIiAvPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29tcGxldGVPcmRlcigpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhb3JkZXIuY3VzdG9tZXIgfHwgIW9yZGVyLmxpbmVzLmxlbmd0aCB8fCAhb3JkZXIuc2hpcHBpbmdMaW5lcy5sZW5ndGhcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjaGVja1wiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICB7eyAnb3JkZXIuY29tcGxldGUtZHJhZnQtb3JkZXInIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8dmRyLWFjdGlvbi1iYXItZHJvcGRvd24tbWVudSBbYWx3YXlzU2hvd109XCJ0cnVlXCIgbG9jYXRpb25JZD1cImRyYWZ0LW9yZGVyLWRldGFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdmRyRHJvcGRvd25JdGVtIChjbGljayk9XCJkZWxldGVPcmRlcigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLmRlbGV0ZS1kcmFmdC1vcmRlcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3Zkci1hY3Rpb24tYmFyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICAgICAgPC92ZHItYWItcmlnaHQ+XHJcbiAgICA8L3Zkci1hY3Rpb24tYmFyPlxyXG48L3Zkci1wYWdlLWJsb2NrPlxyXG5cclxuPHZkci1wYWdlLWRldGFpbC1sYXlvdXQgKm5nSWY9XCJlbnRpdHkkIHwgYXN5bmMgYXMgb3JkZXJcIj5cclxuICAgIDx2ZHItcGFnZS1kZXRhaWwtc2lkZWJhcj5cclxuICAgICAgICA8dmRyLWNhcmQgW3RpdGxlXT1cIidvcmRlci5jdXN0b21lcicgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHZkckNhcmRDb250cm9scz5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiAqbmdJZj1cIiFvcmRlci5jdXN0b21lclwiIHNoYXBlPVwidW5rbm93bi1zdGF0dXNcIiBjbGFzcz1cImlzLXdhcm5pbmdcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uICpuZ0lmPVwib3JkZXIuY3VzdG9tZXJcIiBzaGFwZT1cImNoZWNrXCIgY2xhc3M9XCJpcy1zdWNjZXNzXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHZkci1jdXN0b21lci1sYWJlbFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayBtYi0yXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwib3JkZXIuY3VzdG9tZXJcIlxyXG4gICAgICAgICAgICAgICAgW2N1c3RvbWVyXT1cIm9yZGVyLmN1c3RvbWVyXCJcclxuICAgICAgICAgICAgPjwvdmRyLWN1c3RvbWVyLWxhYmVsPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCIgKGNsaWNrKT1cInNldEN1c3RvbWVyKClcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5zZXQtY3VzdG9tZXItZm9yLW9yZGVyJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY2FyZCBbdGl0bGVdPVwiJ29yZGVyLmJpbGxpbmctYWRkcmVzcycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHZkckNhcmRDb250cm9scz5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvblxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIW9yZGVyLmJpbGxpbmdBZGRyZXNzLnN0cmVldExpbmUxXCJcclxuICAgICAgICAgICAgICAgICAgICBzaGFwZT1cInVua25vd24tc3RhdHVzXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlzLXdhcm5pbmdcIlxyXG4gICAgICAgICAgICAgICAgPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICA8Y2xyLWljb25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9yZGVyLmJpbGxpbmdBZGRyZXNzLnN0cmVldExpbmUxXCJcclxuICAgICAgICAgICAgICAgICAgICBzaGFwZT1cImNoZWNrXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlzLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDx2ZHItZm9ybWF0dGVkLWFkZHJlc3NcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgbWItMlwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9yZGVyLmJpbGxpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIFthZGRyZXNzXT1cIm9yZGVyLmJpbGxpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgPjwvdmRyLWZvcm1hdHRlZC1hZGRyZXNzPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCIgKGNsaWNrKT1cInNldEJpbGxpbmdBZGRyZXNzKClcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5zZXQtYmlsbGluZy1hZGRyZXNzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY2FyZCBbdGl0bGVdPVwiJ29yZGVyLnNoaXBwaW5nJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgdmRyQ2FyZENvbnRyb2xzPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhb3JkZXIuc2hpcHBpbmdBZGRyZXNzLnN0cmVldExpbmUxIHx8ICFvcmRlci5zaGlwcGluZ0xpbmVzLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJ1bmtub3duLXN0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpcy13YXJuaW5nXCJcclxuICAgICAgICAgICAgICAgID48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvcmRlci5zaGlwcGluZ0FkZHJlc3Muc3RyZWV0TGluZTEgJiYgb3JkZXIuc2hpcHBpbmdMaW5lcy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgIHNoYXBlPVwiY2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaXMtc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICA+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHZkci1mb3JtYXR0ZWQtYWRkcmVzc1xyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayBtYi0yXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwib3JkZXIuc2hpcHBpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIFthZGRyZXNzXT1cIm9yZGVyLnNoaXBwaW5nQWRkcmVzc1wiXHJcbiAgICAgICAgICAgID48L3Zkci1mb3JtYXR0ZWQtYWRkcmVzcz5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbi1zbWFsbCBtci0yXCIgKGNsaWNrKT1cInNldFNoaXBwaW5nQWRkcmVzcygpXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnb3JkZXIuc2V0LXNoaXBwaW5nLWFkZHJlc3MnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc2hpcHBpbmdMaW5lIG9mIG9yZGVyLnNoaXBwaW5nTGluZXNcIj5cclxuICAgICAgICAgICAgICAgIHt7IHNoaXBwaW5nTGluZS5zaGlwcGluZ01ldGhvZC5uYW1lIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCIgKGNsaWNrKT1cInNldFNoaXBwaW5nTWV0aG9kKClcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5zZXQtc2hpcHBpbmctbWV0aG9kJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY2FyZD5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJvcmRlci5jb3Vwb25Db2Rlcy5sZW5ndGggPT09IDAgJiYgIWRpc3BsYXlDb3Vwb25Db2RlSW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRpc3BsYXlDb3Vwb25Db2RlSW5wdXQgPSAhZGlzcGxheUNvdXBvbkNvZGVJbnB1dFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5zZXQtY291cG9uLWNvZGVzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yZGVyLmNvdXBvbkNvZGVzLmxlbmd0aCB8fCBkaXNwbGF5Q291cG9uQ29kZUlucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJ29yZGVyLnNldC1jb3Vwb24tY29kZXMnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDx2ZHItY291cG9uLWNvZGUtc2VsZWN0b3JcclxuICAgICAgICAgICAgICAgICAgICBbY291cG9uQ29kZXNdPVwib3JkZXIuY291cG9uQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIChhZGRDb3Vwb25Db2RlKT1cImFwcGx5Q291cG9uQ29kZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAocmVtb3ZlQ291cG9uQ29kZSk9XCJyZW1vdmVDb3Vwb25Db2RlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvdmRyLWNvdXBvbi1jb2RlLXNlbGVjdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY2FyZD5cclxuICAgICAgICAgICAgPHZkci1wYWdlLWVudGl0eS1pbmZvICpuZ0lmPVwiZW50aXR5JCB8IGFzeW5jIGFzIGVudGl0eVwiIFtlbnRpdHldPVwiZW50aXR5XCIgLz5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgPC92ZHItcGFnZS1kZXRhaWwtc2lkZWJhcj5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dmRyLWNhcmQ+XHJcbiAgICAgICAgICAgIDx2ZHItZHJhZnQtb3JkZXItdmFyaWFudC1zZWxlY3RvclxyXG4gICAgICAgICAgICAgICAgW29yZGVyTGluZUN1c3RvbUZpZWxkc109XCJvcmRlckxpbmVDdXN0b21GaWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgW2N1cnJlbmN5Q29kZV09XCJvcmRlci5jdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgKGFkZEl0ZW0pPVwiYWRkSXRlbVRvT3JkZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L3Zkci1kcmFmdC1vcmRlci12YXJpYW50LXNlbGVjdG9yPlxyXG4gICAgICAgICAgICA8dmRyLW9yZGVyLXRhYmxlXHJcbiAgICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgW29yZGVyTGluZUN1c3RvbUZpZWxkc109XCJvcmRlckxpbmVDdXN0b21GaWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgW2lzRHJhZnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAoYWRqdXN0KT1cImFkanVzdE9yZGVyTGluZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChyZW1vdmUpPVwicmVtb3ZlT3JkZXJMaW5lKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC92ZHItb3JkZXItdGFibGU+XHJcbiAgICAgICAgPC92ZHItY2FyZD5cclxuICAgICAgICA8dmRyLWNhcmQgW3RpdGxlXT1cIidvcmRlci50YXgtc3VtbWFyeScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9yZGVyLnRheFN1bW1hcnkubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdjb21tb24uZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudGF4LXJhdGUnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudGF4LWJhc2UnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudGF4LXRvdGFsJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIG9yZGVyLnRheFN1bW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyByb3cuZGVzY3JpcHRpb24gfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IHJvdy50YXhSYXRlIC8gMTAwIHwgcGVyY2VudCB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgcm93LnRheEJhc2UgfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgcm93LnRheFRvdGFsIHwgbG9jYWxlQ3VycmVuY3kgOiBvcmRlci5jdXJyZW5jeUNvZGUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY3VzdG9tLWRldGFpbC1jb21wb25lbnQtaG9zdFxyXG4gICAgICAgICAgICBsb2NhdGlvbklkPVwiZHJhZnQtb3JkZXItZGV0YWlsXCJcclxuICAgICAgICAgICAgW2VudGl0eSRdPVwiZW50aXR5JFwiXHJcbiAgICAgICAgICAgIFtkZXRhaWxGb3JtXT1cImRldGFpbEZvcm1cIlxyXG4gICAgICAgID48L3Zkci1jdXN0b20tZGV0YWlsLWNvbXBvbmVudC1ob3N0PlxyXG5cclxuICAgICAgICA8dmRyLW9yZGVyLWN1c3RvbS1maWVsZHMtY2FyZFxyXG4gICAgICAgICAgICBbY3VzdG9tRmllbGRzQ29uZmlnXT1cImN1c3RvbUZpZWxkc1wiXHJcbiAgICAgICAgICAgIFtjdXN0b21GaWVsZFZhbHVlc109XCJvcmRlci5jdXN0b21GaWVsZHNcIlxyXG4gICAgICAgICAgICAodXBkYXRlQ2xpY2spPVwidXBkYXRlQ3VzdG9tRmllbGRzKCRldmVudClcIlxyXG4gICAgICAgID48L3Zkci1vcmRlci1jdXN0b20tZmllbGRzLWNhcmQ+XHJcbiAgICA8L3Zkci1wYWdlLWJsb2NrPlxyXG48L3Zkci1wYWdlLWRldGFpbC1sYXlvdXQ+XHJcbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZnQtb3JkZXItZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvb3JkZXIvc3JjL2NvbXBvbmVudHMvZHJhZnQtb3JkZXItZGV0YWlsL2RyYWZ0LW9yZGVyLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL2RyYWZ0LW9yZGVyLWRldGFpbC9kcmFmdC1vcmRlci1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUVILGNBQWMsRUFPZCx3QkFBd0IsR0FDM0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDOzs7Ozs7Ozs7OztBQVEvSCxNQUFNLE9BQU8seUJBQ1QsU0FBUSx3QkFBa0U7SUFhMUUsWUFDWSxjQUFpQyxFQUMvQixXQUF3QixFQUMxQixtQkFBd0MsRUFDeEMsWUFBMEIsRUFDMUIsc0JBQThDO1FBRXRELEtBQUssRUFBRSxDQUFDO1FBTkEsbUJBQWMsR0FBZCxjQUFj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O1FBQ2xELE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFUyxhQUFhLENBQUMsTUFBMkI7UUFDL0MsUUFBUTtJQUNaLENBQUM7K0dBdk1RLHlCQUF5QjttR0FBekIseUJBQXlCLHFGQzVCdEMsK3VQQXNLQTs7NEZEMUlhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDSSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5pbXBvcnQge1xyXG4gICAgRGF0YVNlcnZpY2UsXHJcbiAgICBEZWxldGlvblJlc3VsdCxcclxuICAgIERyYWZ0T3JkZXJFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5LFxyXG4gICAgTW9kYWxTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIE9yZGVyLFxyXG4gICAgT3JkZXJEZXRhaWxGcmFnbWVudCxcclxuICAgIE9yZGVyRGV0YWlsUXVlcnlEb2N1bWVudCxcclxuICAgIFR5cGVkQmFzZURldGFpbENvbXBvbmVudCxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBPcmRlclRyYW5zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL29yZGVyLXRyYW5zaXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFNlbGVjdEFkZHJlc3NEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QtYWRkcmVzcy1kaWFsb2cvc2VsZWN0LWFkZHJlc3MtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEN1c3RvbWVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LWN1c3RvbWVyLWRpYWxvZy9zZWxlY3QtY3VzdG9tZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdFNoaXBwaW5nTWV0aG9kRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LXNoaXBwaW5nLW1ldGhvZC1kaWFsb2cvc2VsZWN0LXNoaXBwaW5nLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZHJhZnQtb3JkZXItZGV0YWlsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcmFmdC1vcmRlci1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJhZnQtb3JkZXItZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYWZ0T3JkZXJEZXRhaWxDb21wb25lbnRcclxuICAgIGV4dGVuZHMgVHlwZWRCYXNlRGV0YWlsQ29tcG9uZW50PHR5cGVvZiBPcmRlckRldGFpbFF1ZXJ5RG9jdW1lbnQsICdvcmRlcic+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAgIGN1c3RvbUZpZWxkcyA9IHRoaXMuZ2V0Q3VzdG9tRmllbGRDb25maWcoJ09yZGVyJyk7XHJcbiAgICBvcmRlckxpbmVDdXN0b21GaWVsZHMgPSB0aGlzLmdldEN1c3RvbUZpZWxkQ29uZmlnKCdPcmRlckxpbmUnKTtcclxuICAgIGRldGFpbEZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XHJcbiAgICBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kcyQ6IE9ic2VydmFibGU8XHJcbiAgICAgICAgRHJhZnRPcmRlckVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnlbJ2VsaWdpYmxlU2hpcHBpbmdNZXRob2RzRm9yRHJhZnRPcmRlciddXHJcbiAgICA+O1xyXG4gICAgbmV4dFN0YXRlcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xyXG4gICAgZmV0Y2hIaXN0b3J5ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIGRpc3BsYXlDb3Vwb25Db2RlSW5wdXQgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgb3JkZXJUcmFuc2l0aW9uU2VydmljZTogT3JkZXJUcmFuc2l0aW9uU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgdGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHMgPSB0aGlzLmdldEN1c3RvbUZpZWxkQ29uZmlnKCdPcmRlckxpbmUnKTtcclxuICAgICAgICB0aGlzLmVsaWdpYmxlU2hpcHBpbmdNZXRob2RzJCA9IHRoaXMuZW50aXR5JC5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAob3JkZXIgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXJcclxuICAgICAgICAgICAgICAgICAgICAuZ2V0RHJhZnRPcmRlckVsaWdpYmxlU2hpcHBpbmdNZXRob2RzKG9yZGVyLmlkKVxyXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICh7IGVsaWdpYmxlU2hpcHBpbmdNZXRob2RzRm9yRHJhZnRPcmRlciB9KSA9PiBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0ZvckRyYWZ0T3JkZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEl0ZW1Ub09yZGVyKGV2ZW50OiB7IHByb2R1Y3RWYXJpYW50SWQ6IHN0cmluZzsgcXVhbnRpdHk6IG51bWJlcjsgY3VzdG9tRmllbGRzOiBhbnkgfSkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXIuYWRkSXRlbVRvRHJhZnRPcmRlcih0aGlzLmlkLCBldmVudCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQuYWRkSXRlbVRvRHJhZnRPcmRlci5fX3R5cGVuYW1lICE9PSAnT3JkZXInKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoKHJlc3VsdC5hZGRJdGVtVG9EcmFmdE9yZGVyIGFzIGFueSkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGp1c3RPcmRlckxpbmUoZXZlbnQ6IHsgbGluZUlkOiBzdHJpbmc7IHF1YW50aXR5OiBudW1iZXIgfSkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXJcclxuICAgICAgICAgICAgLmFkanVzdERyYWZ0T3JkZXJMaW5lKHRoaXMuaWQsIHsgb3JkZXJMaW5lSWQ6IGV2ZW50LmxpbmVJZCwgcXVhbnRpdHk6IGV2ZW50LnF1YW50aXR5IH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuYWRqdXN0RHJhZnRPcmRlckxpbmUuX190eXBlbmFtZSAhPT0gJ09yZGVyJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcigocmVzdWx0LmFkanVzdERyYWZ0T3JkZXJMaW5lIGFzIGFueSkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZU9yZGVyTGluZShldmVudDogeyBsaW5lSWQ6IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5vcmRlci5yZW1vdmVEcmFmdE9yZGVyTGluZSh0aGlzLmlkLCBldmVudC5saW5lSWQpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0LnJlbW92ZURyYWZ0T3JkZXJMaW5lLl9fdHlwZW5hbWUgIT09ICdPcmRlcicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcigocmVzdWx0LnJlbW92ZURyYWZ0T3JkZXJMaW5lIGFzIGFueSkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRPcmRlckFkZHJlc3NMaW5lcyhvcmRlckFkZHJlc3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogc3RyaW5nW10ge1xyXG4gICAgICAgIGlmICghb3JkZXJBZGRyZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMob3JkZXJBZGRyZXNzKVxyXG4gICAgICAgICAgICAuZmlsdGVyKHZhbCA9PiB2YWwgIT09ICdPcmRlckFkZHJlc3MnKVxyXG4gICAgICAgICAgICAuZmlsdGVyKGxpbmUgPT4gISFsaW5lKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRDdXN0b21lcigpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5mcm9tQ29tcG9uZW50KFNlbGVjdEN1c3RvbWVyRGlhbG9nQ29tcG9uZW50KS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzSWQocmVzdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5vcmRlclxyXG4gICAgICAgICAgICAgICAgICAgIC5zZXRDdXN0b21lckZvckRyYWZ0T3JkZXIodGhpcy5pZCwgeyBjdXN0b21lcklkOiByZXN1bHQuaWQgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IG5vdGUsIC4uLmlucHV0IH0gPSByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLm9yZGVyLnNldEN1c3RvbWVyRm9yRHJhZnRPcmRlcih0aGlzLmlkLCB7IGlucHV0IH0pLnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U2hpcHBpbmdBZGRyZXNzKCkge1xyXG4gICAgICAgIHRoaXMuZW50aXR5JFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAob3JkZXIgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5mcm9tQ29tcG9uZW50KFNlbGVjdEFkZHJlc3NEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21lcklkOiBvcmRlci5jdXN0b21lcj8uaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50QWRkcmVzczogb3JkZXIuc2hpcHBpbmdBZGRyZXNzID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXIuc2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzcyh0aGlzLmlkLCByZXN1bHQpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRCaWxsaW5nQWRkcmVzcygpIHtcclxuICAgICAgICB0aGlzLmVudGl0eSRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG9yZGVyID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZnJvbUNvbXBvbmVudChTZWxlY3RBZGRyZXNzRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tZXJJZDogb3JkZXIuY3VzdG9tZXI/LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEFkZHJlc3M6IG9yZGVyLmJpbGxpbmdBZGRyZXNzID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXIuc2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzKHRoaXMuaWQsIHJlc3VsdCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5Q291cG9uQ29kZShjb3Vwb25Db2RlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLm9yZGVyLmFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlcih0aGlzLmlkLCBjb3Vwb25Db2RlKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVDb3Vwb25Db2RlKGNvdXBvbkNvZGU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXIucmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyKHRoaXMuaWQsIGNvdXBvbkNvZGUpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFNoaXBwaW5nTWV0aG9kKCkge1xyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5lbnRpdHkkLCB0aGlzLmVsaWdpYmxlU2hpcHBpbmdNZXRob2RzJClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChbb3JkZXIsIG1ldGhvZHNdKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmZyb21Db21wb25lbnQoU2VsZWN0U2hpcHBpbmdNZXRob2REaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kczogbWV0aG9kcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5Q29kZTogb3JkZXIuY3VycmVuY3lDb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFNlbGVjdGlvbklkOiBvcmRlci5zaGlwcGluZ0xpbmVzPy5bMF0/LnNoaXBwaW5nTWV0aG9kLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5vcmRlci5zZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2QodGhpcy5pZCwgcmVzdWx0KS5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQ3VzdG9tRmllbGRzKGN1c3RvbUZpZWxkc1ZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLm9yZGVyXHJcbiAgICAgICAgICAgIC51cGRhdGVPcmRlckN1c3RvbUZpZWxkcyh7XHJcbiAgICAgICAgICAgICAgICBpZDogdGhpcy5pZCxcclxuICAgICAgICAgICAgICAgIGN1c3RvbUZpZWxkczogY3VzdG9tRmllbGRzVmFsdWUsXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVPcmRlcigpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLm9yZGVyLmRlbGV0ZURyYWZ0T3JkZXIodGhpcy5pZCkuc3Vic2NyaWJlKCh7IGRlbGV0ZURyYWZ0T3JkZXIgfSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGVsZXRlRHJhZnRPcmRlci5yZXN1bHQgPT09IERlbGV0aW9uUmVzdWx0LkRFTEVURUQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKF8oJ2NvbW1vbi5ub3RpZnktZGVsZXRlLXN1Y2Nlc3MnKSwge1xyXG4gICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ09yZGVyJyxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvb3JkZXJzJ10pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRlbGV0ZURyYWZ0T3JkZXIubWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKGRlbGV0ZURyYWZ0T3JkZXIubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wbGV0ZU9yZGVyKCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uub3JkZXJcclxuICAgICAgICAgICAgLnRyYW5zaXRpb25Ub1N0YXRlKHRoaXMuaWQsICdBcnJhbmdpbmdQYXltZW50JylcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeyB0cmFuc2l0aW9uT3JkZXJUb1N0YXRlIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0cmFuc2l0aW9uT3JkZXJUb1N0YXRlPy5fX3R5cGVuYW1lID09PSAnT3JkZXInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvb3JkZXJzJywgdGhpcy5pZF0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0cmFuc2l0aW9uT3JkZXJUb1N0YXRlPy5fX3R5cGVuYW1lID09PSAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IodHJhbnNpdGlvbk9yZGVyVG9TdGF0ZS50cmFuc2l0aW9uRXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhc0lkPFQgZXh0ZW5kcyB7IGlkOiBzdHJpbmcgfT4oaW5wdXQ6IFQgfCBhbnkpOiBpbnB1dCBpcyB7IGlkOiBzdHJpbmcgfSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpbnB1dCA9PT0gJ29iamVjdCcgJiYgISFpbnB1dC5pZDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0Rm9ybVZhbHVlcyhlbnRpdHk6IE9yZGVyRGV0YWlsRnJhZ21lbnQpOiB2b2lkIHtcclxuICAgICAgICAvLyBlbXB0eVxyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItcGFnZS1ibG9jaz5cclxuICAgIDx2ZHItYWN0aW9uLWJhciAqbmdJZj1cImVudGl0eSQgfCBhc3luYyBhcyBvcmRlclwiPlxyXG4gICAgICAgIDx2ZHItYWItbGVmdD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggY2xyLWFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHZkci1vcmRlci1zdGF0ZS1sYWJlbCBbc3RhdGVdPVwib3JkZXIuc3RhdGVcIj48L3Zkci1vcmRlci1zdGF0ZS1sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC92ZHItYWItbGVmdD5cclxuXHJcbiAgICAgICAgPHZkci1hYi1yaWdodD5cclxuICAgICAgICAgICAgPHZkci1hY3Rpb24tYmFyLWl0ZW1zIGxvY2F0aW9uSWQ9XCJkcmFmdC1vcmRlci1kZXRhaWxcIiAvPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29tcGxldGVPcmRlcigpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhb3JkZXIuY3VzdG9tZXIgfHwgIW9yZGVyLmxpbmVzLmxlbmd0aCB8fCAhb3JkZXIuc2hpcHBpbmdMaW5lcy5sZW5ndGhcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjaGVja1wiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICB7eyAnb3JkZXIuY29tcGxldGUtZHJhZnQtb3JkZXInIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8dmRyLWFjdGlvbi1iYXItZHJvcGRvd24tbWVudSBbYWx3YXlzU2hvd109XCJ0cnVlXCIgbG9jYXRpb25JZD1cImRyYWZ0LW9yZGVyLWRldGFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdmRyRHJvcGRvd25JdGVtIChjbGljayk9XCJkZWxldGVPcmRlcigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLmRlbGV0ZS1kcmFmdC1vcmRlcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3Zkci1hY3Rpb24tYmFyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICAgICAgPC92ZHItYWItcmlnaHQ+XHJcbiAgICA8L3Zkci1hY3Rpb24tYmFyPlxyXG48L3Zkci1wYWdlLWJsb2NrPlxyXG5cclxuPHZkci1wYWdlLWRldGFpbC1sYXlvdXQgKm5nSWY9XCJlbnRpdHkkIHwgYXN5bmMgYXMgb3JkZXJcIj5cclxuICAgIDx2ZHItcGFnZS1kZXRhaWwtc2lkZWJhcj5cclxuICAgICAgICA8dmRyLWNhcmQgW3RpdGxlXT1cIidvcmRlci5jdXN0b21lcicgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHZkckNhcmRDb250cm9scz5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiAqbmdJZj1cIiFvcmRlci5jdXN0b21lclwiIHNoYXBlPVwidW5rbm93bi1zdGF0dXNcIiBjbGFzcz1cImlzLXdhcm5pbmdcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uICpuZ0lmPVwib3JkZXIuY3VzdG9tZXJcIiBzaGFwZT1cImNoZWNrXCIgY2xhc3M9XCJpcy1zdWNjZXNzXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHZkci1jdXN0b21lci1sYWJlbFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayBtYi0yXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwib3JkZXIuY3VzdG9tZXJcIlxyXG4gICAgICAgICAgICAgICAgW2N1c3RvbWVyXT1cIm9yZGVyLmN1c3RvbWVyXCJcclxuICAgICAgICAgICAgPjwvdmRyLWN1c3RvbWVyLWxhYmVsPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCIgKGNsaWNrKT1cInNldEN1c3RvbWVyKClcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5zZXQtY3VzdG9tZXItZm9yLW9yZGVyJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY2FyZCBbdGl0bGVdPVwiJ29yZGVyLmJpbGxpbmctYWRkcmVzcycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHZkckNhcmRDb250cm9scz5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvblxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIW9yZGVyLmJpbGxpbmdBZGRyZXNzLnN0cmVldExpbmUxXCJcclxuICAgICAgICAgICAgICAgICAgICBzaGFwZT1cInVua25vd24tc3RhdHVzXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlzLXdhcm5pbmdcIlxyXG4gICAgICAgICAgICAgICAgPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICA8Y2xyLWljb25cclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9yZGVyLmJpbGxpbmdBZGRyZXNzLnN0cmVldExpbmUxXCJcclxuICAgICAgICAgICAgICAgICAgICBzaGFwZT1cImNoZWNrXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlzLXN1Y2Nlc3NcIlxyXG4gICAgICAgICAgICAgICAgPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDx2ZHItZm9ybWF0dGVkLWFkZHJlc3NcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgbWItMlwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm9yZGVyLmJpbGxpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIFthZGRyZXNzXT1cIm9yZGVyLmJpbGxpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgPjwvdmRyLWZvcm1hdHRlZC1hZGRyZXNzPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCIgKGNsaWNrKT1cInNldEJpbGxpbmdBZGRyZXNzKClcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5zZXQtYmlsbGluZy1hZGRyZXNzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY2FyZCBbdGl0bGVdPVwiJ29yZGVyLnNoaXBwaW5nJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgdmRyQ2FyZENvbnRyb2xzPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhb3JkZXIuc2hpcHBpbmdBZGRyZXNzLnN0cmVldExpbmUxIHx8ICFvcmRlci5zaGlwcGluZ0xpbmVzLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJ1bmtub3duLXN0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpcy13YXJuaW5nXCJcclxuICAgICAgICAgICAgICAgID48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvcmRlci5zaGlwcGluZ0FkZHJlc3Muc3RyZWV0TGluZTEgJiYgb3JkZXIuc2hpcHBpbmdMaW5lcy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgIHNoYXBlPVwiY2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaXMtc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICA+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHZkci1mb3JtYXR0ZWQtYWRkcmVzc1xyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJibG9jayBtYi0yXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwib3JkZXIuc2hpcHBpbmdBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgIFthZGRyZXNzXT1cIm9yZGVyLnNoaXBwaW5nQWRkcmVzc1wiXHJcbiAgICAgICAgICAgID48L3Zkci1mb3JtYXR0ZWQtYWRkcmVzcz5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbi1zbWFsbCBtci0yXCIgKGNsaWNrKT1cInNldFNoaXBwaW5nQWRkcmVzcygpXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnb3JkZXIuc2V0LXNoaXBwaW5nLWFkZHJlc3MnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc2hpcHBpbmdMaW5lIG9mIG9yZGVyLnNoaXBwaW5nTGluZXNcIj5cclxuICAgICAgICAgICAgICAgIHt7IHNoaXBwaW5nTGluZS5zaGlwcGluZ01ldGhvZC5uYW1lIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLXNtYWxsXCIgKGNsaWNrKT1cInNldFNoaXBwaW5nTWV0aG9kKClcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5zZXQtc2hpcHBpbmctbWV0aG9kJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY2FyZD5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJvcmRlci5jb3Vwb25Db2Rlcy5sZW5ndGggPT09IDAgJiYgIWRpc3BsYXlDb3Vwb25Db2RlSW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRpc3BsYXlDb3Vwb25Db2RlSW5wdXQgPSAhZGlzcGxheUNvdXBvbkNvZGVJbnB1dFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7ICdvcmRlci5zZXQtY291cG9uLWNvZGVzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9yZGVyLmNvdXBvbkNvZGVzLmxlbmd0aCB8fCBkaXNwbGF5Q291cG9uQ29kZUlucHV0XCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJ29yZGVyLnNldC1jb3Vwb24tY29kZXMnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDx2ZHItY291cG9uLWNvZGUtc2VsZWN0b3JcclxuICAgICAgICAgICAgICAgICAgICBbY291cG9uQ29kZXNdPVwib3JkZXIuY291cG9uQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgIChhZGRDb3Vwb25Db2RlKT1cImFwcGx5Q291cG9uQ29kZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAocmVtb3ZlQ291cG9uQ29kZSk9XCJyZW1vdmVDb3Vwb25Db2RlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvdmRyLWNvdXBvbi1jb2RlLXNlbGVjdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY2FyZD5cclxuICAgICAgICAgICAgPHZkci1wYWdlLWVudGl0eS1pbmZvICpuZ0lmPVwiZW50aXR5JCB8IGFzeW5jIGFzIGVudGl0eVwiIFtlbnRpdHldPVwiZW50aXR5XCIgLz5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgPC92ZHItcGFnZS1kZXRhaWwtc2lkZWJhcj5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dmRyLWNhcmQ+XHJcbiAgICAgICAgICAgIDx2ZHItZHJhZnQtb3JkZXItdmFyaWFudC1zZWxlY3RvclxyXG4gICAgICAgICAgICAgICAgW29yZGVyTGluZUN1c3RvbUZpZWxkc109XCJvcmRlckxpbmVDdXN0b21GaWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgW2N1cnJlbmN5Q29kZV09XCJvcmRlci5jdXJyZW5jeUNvZGVcIlxyXG4gICAgICAgICAgICAgICAgKGFkZEl0ZW0pPVwiYWRkSXRlbVRvT3JkZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L3Zkci1kcmFmdC1vcmRlci12YXJpYW50LXNlbGVjdG9yPlxyXG4gICAgICAgICAgICA8dmRyLW9yZGVyLXRhYmxlXHJcbiAgICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIlxyXG4gICAgICAgICAgICAgICAgW29yZGVyTGluZUN1c3RvbUZpZWxkc109XCJvcmRlckxpbmVDdXN0b21GaWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgW2lzRHJhZnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAoYWRqdXN0KT1cImFkanVzdE9yZGVyTGluZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChyZW1vdmUpPVwicmVtb3ZlT3JkZXJMaW5lKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC92ZHItb3JkZXItdGFibGU+XHJcbiAgICAgICAgPC92ZHItY2FyZD5cclxuICAgICAgICA8dmRyLWNhcmQgW3RpdGxlXT1cIidvcmRlci50YXgtc3VtbWFyeScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9yZGVyLnRheFN1bW1hcnkubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7ICdjb21tb24uZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudGF4LXJhdGUnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudGF4LWJhc2UnIHwgdHJhbnNsYXRlIH19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyAnb3JkZXIudGF4LXRvdGFsJyB8IHRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIG9yZGVyLnRheFN1bW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57eyByb3cuZGVzY3JpcHRpb24gfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IHJvdy50YXhSYXRlIC8gMTAwIHwgcGVyY2VudCB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgcm93LnRheEJhc2UgfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3sgcm93LnRheFRvdGFsIHwgbG9jYWxlQ3VycmVuY3kgOiBvcmRlci5jdXJyZW5jeUNvZGUgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3Zkci1jYXJkPlxyXG4gICAgICAgIDx2ZHItY3VzdG9tLWRldGFpbC1jb21wb25lbnQtaG9zdFxyXG4gICAgICAgICAgICBsb2NhdGlvbklkPVwiZHJhZnQtb3JkZXItZGV0YWlsXCJcclxuICAgICAgICAgICAgW2VudGl0eSRdPVwiZW50aXR5JFwiXHJcbiAgICAgICAgICAgIFtkZXRhaWxGb3JtXT1cImRldGFpbEZvcm1cIlxyXG4gICAgICAgID48L3Zkci1jdXN0b20tZGV0YWlsLWNvbXBvbmVudC1ob3N0PlxyXG5cclxuICAgICAgICA8dmRyLW9yZGVyLWN1c3RvbS1maWVsZHMtY2FyZFxyXG4gICAgICAgICAgICBbY3VzdG9tRmllbGRzQ29uZmlnXT1cImN1c3RvbUZpZWxkc1wiXHJcbiAgICAgICAgICAgIFtjdXN0b21GaWVsZFZhbHVlc109XCJvcmRlci5jdXN0b21GaWVsZHNcIlxyXG4gICAgICAgICAgICAodXBkYXRlQ2xpY2spPVwidXBkYXRlQ3VzdG9tRmllbGRzKCRldmVudClcIlxyXG4gICAgICAgID48L3Zkci1vcmRlci1jdXN0b20tZmllbGRzLWNhcmQ+XHJcbiAgICA8L3Zkci1wYWdlLWJsb2NrPlxyXG48L3Zkci1wYWdlLWRldGFpbC1sYXlvdXQ+XHJcbiJdfQ==