@veloceapps/sdk 11.0.0-13 → 11.0.0-130

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/cms/cms.actions.d.ts +94 -29
  2. package/cms/components/element-renderer/element-renderer.component.d.ts +3 -10
  3. package/cms/components/preview/preview.component.d.ts +5 -6
  4. package/cms/components/preview/preview.types.d.ts +0 -4
  5. package/cms/services/element-context.service.d.ts +0 -1
  6. package/cms/types/common.types.d.ts +2 -0
  7. package/cms/types/index.d.ts +0 -1
  8. package/cms/utils/path.utils.d.ts +1 -2
  9. package/cms/vendor-map.d.ts +21 -40
  10. package/core/index.d.ts +1 -1
  11. package/core/modules/configuration/index.d.ts +4 -4
  12. package/core/modules/configuration/services/configuration-runtime.service.d.ts +8 -17
  13. package/core/modules/configuration/services/configuration-state.service.d.ts +5 -4
  14. package/core/modules/configuration/services/configuration.service.d.ts +24 -47
  15. package/core/modules/configuration/services/guided-selling.service.d.ts +15 -0
  16. package/core/modules/configuration/services/test-mode-configuration.service.d.ts +26 -0
  17. package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -5
  18. package/core/modules/configuration/types/configuration.types.d.ts +8 -2
  19. package/core/modules/configuration/types/index.d.ts +2 -0
  20. package/core/modules/flow-configuration/index.d.ts +0 -3
  21. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +11 -17
  22. package/core/operators/filter-successful-execute.operator.d.ts +3 -0
  23. package/core/operators/index.d.ts +1 -0
  24. package/core/services/flow-info.service.d.ts +11 -9
  25. package/core/services/flow-state-configuration.service.d.ts +14 -8
  26. package/core/services/flow-state.service.d.ts +6 -15
  27. package/core/services/index.d.ts +1 -1
  28. package/core/services/integration.state.d.ts +1 -1
  29. package/core/services/product-images.service.d.ts +3 -3
  30. package/core/services/runtime-settings.service.d.ts +1 -1
  31. package/core/services/sales-transaction.service.d.ts +9 -10
  32. package/core/types/flow-customization.types.d.ts +2 -2
  33. package/core/types/index.d.ts +0 -1
  34. package/core/utils/index.d.ts +3 -2
  35. package/core/utils/pcm.utils.d.ts +5 -0
  36. package/core/utils/transaction-item.utils.d.ts +10 -0
  37. package/core/utils/transaction-item.worker.d.ts +8 -0
  38. package/esm2020/cms/cms.actions.mjs +93 -71
  39. package/esm2020/cms/cms.default.mjs +2 -3
  40. package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +7 -64
  41. package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +3 -3
  42. package/esm2020/cms/components/preview/preview.component.mjs +19 -28
  43. package/esm2020/cms/components/preview/preview.types.mjs +1 -1
  44. package/esm2020/cms/services/element-context.service.mjs +1 -1
  45. package/esm2020/cms/types/common.types.mjs +1 -1
  46. package/esm2020/cms/types/index.mjs +1 -2
  47. package/esm2020/cms/utils/element.utils.mjs +3 -3
  48. package/esm2020/cms/utils/elements-resolver.mjs +16 -5
  49. package/esm2020/cms/utils/path.utils.mjs +1 -10
  50. package/esm2020/cms/vendor-map.mjs +21 -18
  51. package/esm2020/core/core.module.mjs +3 -6
  52. package/esm2020/core/index.mjs +2 -2
  53. package/esm2020/core/modules/configuration/configuration.module.mjs +17 -4
  54. package/esm2020/core/modules/configuration/index.mjs +5 -5
  55. package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +16 -64
  56. package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +65 -62
  57. package/esm2020/core/modules/configuration/services/configuration.service.mjs +123 -229
  58. package/esm2020/core/modules/configuration/services/guided-selling.service.mjs +62 -0
  59. package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +97 -0
  60. package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
  61. package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
  62. package/esm2020/core/modules/configuration/types/index.mjs +3 -0
  63. package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +3 -4
  64. package/esm2020/core/modules/flow-configuration/index.mjs +1 -4
  65. package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +31 -39
  66. package/esm2020/core/operators/filter-successful-execute.operator.mjs +5 -0
  67. package/esm2020/core/operators/index.mjs +2 -0
  68. package/esm2020/core/services/flow-info.service.mjs +31 -22
  69. package/esm2020/core/services/flow-state-configuration.service.mjs +91 -24
  70. package/esm2020/core/services/flow-state.service.mjs +34 -82
  71. package/esm2020/core/services/index.mjs +2 -2
  72. package/esm2020/core/services/integration.state.mjs +2 -2
  73. package/esm2020/core/services/product-images.service.mjs +8 -8
  74. package/esm2020/core/services/runtime-settings.service.mjs +3 -3
  75. package/esm2020/core/services/sales-transaction.service.mjs +18 -13
  76. package/esm2020/core/types/flow-customization.types.mjs +1 -1
  77. package/esm2020/core/types/index.mjs +1 -2
  78. package/esm2020/core/utils/index.mjs +4 -3
  79. package/esm2020/core/utils/pcm.utils.mjs +15 -0
  80. package/esm2020/core/utils/transaction-item.utils.mjs +136 -0
  81. package/esm2020/core/utils/transaction-item.worker.mjs +16 -0
  82. package/esm2020/src/components/flow-header/flow-header.component.mjs +7 -8
  83. package/esm2020/src/components/guided-selling/guided-selling.component.mjs +7 -8
  84. package/esm2020/src/flow-routing.module.mjs +10 -8
  85. package/esm2020/src/guards/flow.guard.mjs +5 -7
  86. package/esm2020/src/guards/product-unload.guard.mjs +10 -8
  87. package/esm2020/src/index.mjs +1 -2
  88. package/esm2020/src/pages/assets/assets.component.mjs +7 -8
  89. package/esm2020/src/pages/catalog/catalog.component.mjs +7 -8
  90. package/esm2020/src/pages/debug/debug.component.mjs +12 -17
  91. package/esm2020/src/pages/product/product.component.mjs +39 -69
  92. package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +5 -6
  93. package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +7 -8
  94. package/esm2020/src/resolvers/pcm-model.resolver.mjs +12 -0
  95. package/esm2020/src/resolvers/sales-transaction.resolver.mjs +64 -0
  96. package/esm2020/src/resolvers/ui-definition.resolver.mjs +44 -0
  97. package/esm2020/src/services/flow-dialog.service.mjs +3 -24
  98. package/esm2020/src/services/flow-router.service.mjs +26 -33
  99. package/esm2020/src/services/flow.service.mjs +11 -17
  100. package/esm2020/src/types/index.mjs +2 -3
  101. package/esm2020/src/types/route.types.mjs +1 -1
  102. package/fesm2015/veloceapps-sdk-cms.mjs +166 -309
  103. package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
  104. package/fesm2015/veloceapps-sdk-core.mjs +706 -1179
  105. package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
  106. package/fesm2015/veloceapps-sdk.mjs +194 -250
  107. package/fesm2015/veloceapps-sdk.mjs.map +1 -1
  108. package/fesm2020/veloceapps-sdk-cms.mjs +162 -300
  109. package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
  110. package/fesm2020/veloceapps-sdk-core.mjs +764 -1204
  111. package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
  112. package/fesm2020/veloceapps-sdk.mjs +193 -247
  113. package/fesm2020/veloceapps-sdk.mjs.map +1 -1
  114. package/package.json +1 -1
  115. package/src/components/flow-header/flow-header.component.d.ts +3 -3
  116. package/src/components/guided-selling/guided-selling.component.d.ts +3 -3
  117. package/src/guards/product-unload.guard.d.ts +3 -3
  118. package/src/index.d.ts +0 -1
  119. package/src/pages/assets/assets.component.d.ts +3 -3
  120. package/src/pages/catalog/catalog.component.d.ts +3 -3
  121. package/src/pages/debug/debug.component.d.ts +2 -4
  122. package/src/pages/product/product.component.d.ts +14 -13
  123. package/src/pages/record-not-found/record-not-found.component.d.ts +2 -3
  124. package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
  125. package/src/resolvers/pcm-model.resolver.d.ts +3 -0
  126. package/src/resolvers/sales-transaction.resolver.d.ts +18 -0
  127. package/src/resolvers/ui-definition.resolver.d.ts +3 -0
  128. package/src/services/flow-dialog.service.d.ts +3 -5
  129. package/src/services/flow-router.service.d.ts +8 -8
  130. package/src/services/flow.service.d.ts +3 -3
  131. package/src/types/index.d.ts +1 -2
  132. package/src/types/route.types.d.ts +0 -5
  133. package/cms/plugins/configuration.plugin.d.ts +0 -23
  134. package/cms/types/configuration.types.d.ts +0 -21
  135. package/core/modules/configuration/helpers.d.ts +0 -7
  136. package/core/modules/configuration/services/runtime-context.service.d.ts +0 -12
  137. package/core/modules/flow-configuration/services/flow-update.service.d.ts +0 -13
  138. package/core/modules/flow-configuration/types/update.types.d.ts +0 -12
  139. package/core/services/quote-draft.service.d.ts +0 -50
  140. package/core/types/runtime.types.d.ts +0 -30
  141. package/core/utils/line-item.utils.d.ts +0 -25
  142. package/core/utils/line-item.worker.d.ts +0 -9
  143. package/esm2020/cms/plugins/configuration.plugin.mjs +0 -109
  144. package/esm2020/cms/types/configuration.types.mjs +0 -2
  145. package/esm2020/core/modules/configuration/helpers.mjs +0 -67
  146. package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +0 -45
  147. package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +0 -138
  148. package/esm2020/core/modules/flow-configuration/types/update.types.mjs +0 -2
  149. package/esm2020/core/services/quote-draft.service.mjs +0 -174
  150. package/esm2020/core/types/runtime.types.mjs +0 -16
  151. package/esm2020/core/utils/line-item.utils.mjs +0 -187
  152. package/esm2020/core/utils/line-item.worker.mjs +0 -19
  153. package/esm2020/src/resolvers/quote.resolver.mjs +0 -82
  154. package/esm2020/src/types/context-route.types.mjs +0 -2
  155. package/esm2020/src/types/metrics.types.mjs +0 -2
  156. package/esm2020/src/utils/flow.utils.mjs +0 -14
  157. package/esm2020/src/utils/index.mjs +0 -2
  158. package/src/resolvers/quote.resolver.d.ts +0 -18
  159. package/src/types/context-route.types.d.ts +0 -5
  160. package/src/types/metrics.types.d.ts +0 -5
  161. package/src/utils/flow.utils.d.ts +0 -1
  162. package/src/utils/index.d.ts +0 -1
@@ -1,10 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { ConfigurationSettingsApiService } from '@veloceapps/api';
2
+ import { ConfigurationSettingsApiService } from '@veloceapps/api/v2';
3
3
  import { DEFAULT_ACTION_CODE_LABELS, DEFAULT_CURRENCY_ISO_CODE, DEFAULT_CURRENCY_SYMBOL, DEFAULT_DATE_FORMAT, DEFAULT_DECIMALS_COUNT, DEFAULT_DECIMAL_SEPARATOR, DEFAULT_THOUSANDS_SEPARATOR, getSupportedDateFormats, parseJsonSafely, validateDateFormat, } from '@veloceapps/core';
4
4
  import { uniqBy } from 'lodash';
5
5
  import { BehaviorSubject, map, tap } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@veloceapps/api";
7
+ import * as i1 from "@veloceapps/api/v2";
8
8
  export class RuntimeSettingsService {
9
9
  constructor(configurationSettingsApiService) {
10
10
  this.configurationSettingsApiService = configurationSettingsApiService;
@@ -109,4 +109,4 @@ RuntimeSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
109
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RuntimeSettingsService, decorators: [{
110
110
  type: Injectable
111
111
  }], ctorParameters: function () { return [{ type: i1.ConfigurationSettingsApiService }]; } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9zZXJ2aWNlcy9ydW50aW1lLXNldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBRUwsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBRTNCLHVCQUF1QixFQUN2QixlQUFlLEVBS2Ysa0JBQWtCLEdBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUk3RCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDLFlBQW9CLCtCQUFnRTtRQUFoRSxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBUjVFLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUErQixFQUFFLENBQUMsQ0FBQztRQUMvRSxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBMEI7WUFDdkUsR0FBRyxFQUFFLHlCQUF5QjtZQUM5QixNQUFNLEVBQUUsdUJBQXVCO1NBQ2hDLENBQUMsQ0FBQztRQUVLLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztRQXVHdkUsc0JBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQy9ELE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ1AsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUss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LENBQUMsR0FBRyxFQUFFO2dCQUNuQixLQUFLLGVBQWU7b0JBQ2xCLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxlQUFlLENBQXdCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2pGLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLEdBQUcsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFzQixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN6RSxNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixHQUFHLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBUyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN2RCxNQUFNO2dCQUNSO29CQUNFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQzthQUNwQztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQVNNLHVCQUF1QixDQUFDLFFBQStCO1FBQzVELDhDQUE4QztRQUM5QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O21IQXpIVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNldHRpbmdzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uU2V0dGluZ3MsXG4gIERFRkFVTFRfQUNUSU9OX0NPREVfTEFCRUxTLFxuICBERUZBVUxUX0NVUlJFTkNZX0lTT19DT0RFLFxuICBERUZBVUxUX0NVUlJFTkNZX1NZTUJPTCxcbiAgREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgREVGQVVMVF9ERUNJTUFMU19DT1VOVCxcbiAgREVGQVVMVF9ERUNJTUFMX1NFUEFSQVRPUixcbiAgREVGQVVMVF9USE9VU0FORFNfU0VQQVJBVE9SLFxuICBGbG93LFxuICBnZXRTdXBwb3J0ZWREYXRlRm9ybWF0cyxcbiAgcGFyc2VKc29uU2FmZWx5LFxuICBSdW50aW1lQ29uZmlndXJhdGlvblNldHRpbmdzLFxuICBSdW50aW1lQ3VycmVuY3lTZXR0aW5ncyxcbiAgU2hvcHBpbmdDYXJ0U2V0dGluZyxcbiAgU2hvcHBpbmdDYXJ0U2V0dGluZ3MsXG4gIHZhbGlkYXRlRGF0ZUZvcm1hdCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCB1bmlxQnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybWF0dGluZ1NldHRpbmdzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUnVudGltZVNldHRpbmdzU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlndXJhdGlvblNldHRpbmdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncz4oe30pO1xuICBwcml2YXRlIGN1cnJlbmN5U2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSdW50aW1lQ3VycmVuY3lTZXR0aW5ncz4oe1xuICAgIGlzbzogREVGQVVMVF9DVVJSRU5DWV9JU09fQ09ERSxcbiAgICBzeW1ib2w6IERFRkFVTFRfQ1VSUkVOQ1lfU1lNQk9MLFxuICB9KTtcbiAgcHJpdmF0ZSBmb3JtYXR0aW5nU2V0dGluZ3MhOiBGb3JtYXR0aW5nU2V0dGluZ3M7XG4gIHByaXZhdGUgc2hvcHBpbmdDYXJ0U2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaG9wcGluZ0NhcnRTZXR0aW5nW10+KFtdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGNyZWF0ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlLmZldGNoU2V0dGluZ3MoKS5waXBlKFxuICAgICAgbWFwKHNldHRpbmdzID0+IHRoaXMucGFyc2VDb25maWd1cmF0aW9uU2V0dGluZ3Moc2V0dGluZ3MpKSxcbiAgICAgIHRhcChjb25maWd1cmF0aW9uU2V0dGluZ3MgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXR0aW5ncyQubmV4dChjb25maWd1cmF0aW9uU2V0dGluZ3MpO1xuICAgICAgICB0aGlzLmFkZFNob3BwaW5nQ2FydFNldHRpbmdzKGNvbmZpZ3VyYXRpb25TZXR0aW5nc1snc2hvcHBpbmctY2FydCddID8/IFtdKTtcbiAgICAgICAgdGhpcy5mb3JtYXR0aW5nU2V0dGluZ3MgPSB0aGlzLmdldEZvcm1hdHRpbmdTZXR0aW5ncygpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXRDdXJyZW5jeShpc28/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNvKSB7XG4gICAgICBjb25zdCBzeW1ib2wgPSB0aGlzLmdldEN1cnJlbmN5U3ltYm9sKCdlbi1VUycsIGlzbyk7XG4gICAgICB0aGlzLmN1cnJlbmN5U2V0dGluZ3MkLm5leHQoeyBpc28sIHN5bWJvbCB9KTtcbiAgICAgIGlmICh0aGlzLmZvcm1hdHRpbmdTZXR0aW5ncykge1xuICAgICAgICB0aGlzLmZvcm1hdHRpbmdTZXR0aW5ncy5jdXJyZW5jeVN5bWJvbCA9IHN5bWJvbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGluZ1NldHRpbmdzKCk6IEZvcm1hdHRpbmdTZXR0aW5ncyB7XG4gICAgaWYgKHRoaXMuZm9ybWF0dGluZ1NldHRpbmdzKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXR0aW5nU2V0dGluZ3M7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvcHBpbmdDYXJ0U2V0dGluZ3MgPSB0aGlzLmdldENvbmZpZ3VyYXRpb25TZXR0aW5ncygpWydzaG9wcGluZy1jYXJ0J10/LnJlZHVjZSgoYWNjLCBzZXR0aW5nKSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5hY2MsIFtzZXR0aW5nLmlkXTogc2V0dGluZy5wcm9wZXJ0aWVzIH07XG4gICAgfSwge30gYXMgU2hvcHBpbmdDYXJ0U2V0dGluZ3MpO1xuICAgIGNvbnN0IGN1cnJlbmN5U2V0dGluZ3MgPSB0aGlzLmdldEN1cnJlbmN5U2V0dGluZ3MoKTtcbiAgICBjb25zdCBkYXRlRm9ybWF0ID1cbiAgICAgICh2YWxpZGF0ZURhdGVGb3JtYXQoc2hvcHBpbmdDYXJ0U2V0dGluZ3M/LkRBVEVfRk9STUFUID8/ICcnKSAmJiBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uREFURV9GT1JNQVQpIHx8XG4gICAgICBERUZBVUxUX0RBVEVfRk9STUFUO1xuICAgIGNvbnN0IGRlY2ltYWxTZXBhcmF0b3IgPSBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uREVDSU1BTF9TRVBBUkFUT1I7XG4gICAgY29uc3QgdGhvdXNhbmRzU2VwYXJhdG9yID0gc2hvcHBpbmdDYXJ0U2V0dGluZ3M/LlRIT1VTQU5EU19TRVBBUkFUT1I7XG4gICAgLy8gdGhlIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyBjYW4gYmUgMFxuICAgIGNvbnN0IHByaWNlU2NhbGUgPSBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uUFJJQ0VfU0NBTEU7XG4gICAgY29uc3QgZGVjaW1hbHNDb3VudCA9XG4gICAgICBwcmljZVNjYWxlICE9PSBudWxsICYmIHByaWNlU2NhbGUgIT09ICcnICYmICFpc05hTihOdW1iZXIocHJpY2VTY2FsZSkpICYmIE51bWJlcihwcmljZVNjYWxlKSA+PSAwXG4gICAgICAgID8gTnVtYmVyKHByaWNlU2NhbGUpXG4gICAgICAgIDogREVGQVVMVF9ERUNJTUFMU19DT1VOVDtcblxuICAgIGNvbnN0IGFjdGlvbkNvZGVTZXR0aW5ncyA9IHNob3BwaW5nQ2FydFNldHRpbmdzPy5TVEFUVVNfTEFCRUw7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVuY3lTeW1ib2w6IGN1cnJlbmN5U2V0dGluZ3Muc3ltYm9sLFxuICAgICAgZGF0ZUZvcm1hdHM6IGdldFN1cHBvcnRlZERhdGVGb3JtYXRzKGRhdGVGb3JtYXQpLFxuICAgICAgZGVjaW1hbHNDb3VudCxcbiAgICAgIGRlY2ltYWxTZXBhcmF0b3I6XG4gICAgICAgIGRlY2ltYWxTZXBhcmF0b3IgIT09IHVuZGVmaW5lZCAmJiBbJy4nLCAnLCddLmluY2x1ZGVzKGRlY2ltYWxTZXBhcmF0b3IpXG4gICAgICAgICAgPyBkZWNpbWFsU2VwYXJhdG9yXG4gICAgICAgICAgOiBERUZBVUxUX0RFQ0lNQUxfU0VQQVJBVE9SLFxuICAgICAgLy8gdGhvdXNhbmRzIHNlcGFyYXRvciBjYW4gYmUgYSBibGFuayB2YWx1ZSwgc28gaXQgY2FuIGFsc28gYmUgbnVsbFxuICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOlxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3IgIT09IHVuZGVmaW5lZCAmJiBbJy4nLCAnLCcsICcnLCBudWxsXS5pbmNsdWRlcyh0aG91c2FuZHNTZXBhcmF0b3IpXG4gICAgICAgICAgPyB0aG91c2FuZHNTZXBhcmF0b3IgfHwgJydcbiAgICAgICAgICA6IERFRkFVTFRfVEhPVVNBTkRTX1NFUEFSQVRPUixcbiAgICAgIGFjdGlvbkNvZGVMYWJlbHM6IGFjdGlvbkNvZGVTZXR0aW5ncz8ubGVuZ3RoXG4gICAgICAgID8gYWN0aW9uQ29kZVNldHRpbmdzLnJlZHVjZShcbiAgICAgICAgICAgIChyZXN1bHQsIHNldHRpbmcpID0+ICh7IC4uLnJlc3VsdCwgW3NldHRpbmcuc3RhdHVzX2xhYmVsXTogc2V0dGluZy5jdXN0b21fbGFiZWwgfSksXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICApXG4gICAgICAgIDogREVGQVVMVF9BQ1RJT05fQ09ERV9MQUJFTFMsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uU2V0dGluZ3MoKTogUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaG9wcGluZ0NhcnRTZXR0aW5ncygpOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW5jeVNldHRpbmdzKCk6IFJ1bnRpbWVDdXJyZW5jeVNldHRpbmdzIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDb25maWd1cmF0aW9uU2V0dGluZ3Moc2V0dGluZ3M6IENvbmZpZ3VyYXRpb25TZXR0aW5nc1tdKTogUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHNldHRpbmdzLnJlZHVjZSgoYWNjOiBSdW50aW1lQ29uZmlndXJhdGlvblNldHRpbmdzLCBzZXR0aW5nKSA9PiB7XG4gICAgICBzd2l0Y2ggKHNldHRpbmcua2V5KSB7XG4gICAgICAgIGNhc2UgJ3Nob3BwaW5nLWNhcnQnOlxuICAgICAgICAgIGFjY1snc2hvcHBpbmctY2FydCddID0gcGFyc2VKc29uU2FmZWx5PFNob3BwaW5nQ2FydFNldHRpbmdbXT4oc2V0dGluZy52YWx1ZSwgW10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICduYXZpZ2F0aW9uJzpcbiAgICAgICAgICBhY2MubmF2aWdhdGlvbiA9IHBhcnNlSnNvblNhZmVseTxEaWN0aW9uYXJ5PGJvb2xlYW4+PihzZXR0aW5nLnZhbHVlLCB7fSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Zsb3dzJzpcbiAgICAgICAgICBhY2MuZmxvd3MgPSBwYXJzZUpzb25TYWZlbHk8Rmxvd1tdPihzZXR0aW5nLnZhbHVlLCBbXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYWNjW3NldHRpbmcua2V5XSA9IHNldHRpbmcudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW5jeVN5bWJvbCA9IChsb2NhbGU6IHN0cmluZywgY3VycmVuY3k6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoMClcbiAgICAgIC50b0xvY2FsZVN0cmluZyhsb2NhbGUsIHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5LCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KVxuICAgICAgLnJlcGxhY2UoL1xcZC9nLCAnJylcbiAgICAgIC50cmltKCk7XG4gIH07XG5cbiAgcHVibGljIGFkZFNob3BwaW5nQ2FydFNldHRpbmdzKHNldHRpbmdzOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10pIHtcbiAgICAvLyB1bmlxQnkgcmVtb3ZlcyBpdGVtcyB3aXRoIHRoZSBiaWdnZXN0IGluZGV4XG4gICAgY29uc3QgbmV3U2V0dGluZ3MgPSB1bmlxQnkoWy4uLnNldHRpbmdzLCAuLi50aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzJC52YWx1ZV0sICdpZCcpO1xuICAgIHRoaXMuc2hvcHBpbmdDYXJ0U2V0dGluZ3MkLm5leHQobmV3U2V0dGluZ3MpO1xuICB9XG59XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9zZXJ2aWNlcy9ydW50aW1lLXNldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBRUwsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsMkJBQTJCLEVBRTNCLHVCQUF1QixFQUN2QixlQUFlLEVBS2Ysa0JBQWtCLEdBQ25CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUk3RCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDLFlBQW9CLCtCQUFnRTtRQUFoRSxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBUjVFLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUErQixFQUFFLENBQUMsQ0FBQztRQUMvRSxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBMEI7WUFDdkUsR0FBRyxFQUFFLHlCQUF5QjtZQUM5QixNQUFNLEVBQUUsdUJBQXVCO1NBQ2hDLENBQUMsQ0FBQztRQUVLLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztRQXVHdkUsc0JBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQy9ELE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ1AsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUss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LENBQUMsR0FBRyxFQUFFO2dCQUNuQixLQUFLLGVBQWU7b0JBQ2xCLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxlQUFlLENBQXdCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2pGLE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLEdBQUcsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFzQixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN6RSxNQUFNO2dCQUNSLEtBQUssT0FBTztvQkFDVixHQUFHLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBUyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUN2RCxNQUFNO2dCQUNSO29CQUNFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQzthQUNwQztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQVNNLHVCQUF1QixDQUFDLFFBQStCO1FBQzVELDhDQUE4QztRQUM5QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O21IQXpIVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNldHRpbmdzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaS92Mic7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uU2V0dGluZ3MsXG4gIERFRkFVTFRfQUNUSU9OX0NPREVfTEFCRUxTLFxuICBERUZBVUxUX0NVUlJFTkNZX0lTT19DT0RFLFxuICBERUZBVUxUX0NVUlJFTkNZX1NZTUJPTCxcbiAgREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgREVGQVVMVF9ERUNJTUFMU19DT1VOVCxcbiAgREVGQVVMVF9ERUNJTUFMX1NFUEFSQVRPUixcbiAgREVGQVVMVF9USE9VU0FORFNfU0VQQVJBVE9SLFxuICBGbG93LFxuICBnZXRTdXBwb3J0ZWREYXRlRm9ybWF0cyxcbiAgcGFyc2VKc29uU2FmZWx5LFxuICBSdW50aW1lQ29uZmlndXJhdGlvblNldHRpbmdzLFxuICBSdW50aW1lQ3VycmVuY3lTZXR0aW5ncyxcbiAgU2hvcHBpbmdDYXJ0U2V0dGluZyxcbiAgU2hvcHBpbmdDYXJ0U2V0dGluZ3MsXG4gIHZhbGlkYXRlRGF0ZUZvcm1hdCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCB1bmlxQnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybWF0dGluZ1NldHRpbmdzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUnVudGltZVNldHRpbmdzU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlndXJhdGlvblNldHRpbmdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncz4oe30pO1xuICBwcml2YXRlIGN1cnJlbmN5U2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSdW50aW1lQ3VycmVuY3lTZXR0aW5ncz4oe1xuICAgIGlzbzogREVGQVVMVF9DVVJSRU5DWV9JU09fQ09ERSxcbiAgICBzeW1ib2w6IERFRkFVTFRfQ1VSUkVOQ1lfU1lNQk9MLFxuICB9KTtcbiAgcHJpdmF0ZSBmb3JtYXR0aW5nU2V0dGluZ3MhOiBGb3JtYXR0aW5nU2V0dGluZ3M7XG4gIHByaXZhdGUgc2hvcHBpbmdDYXJ0U2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaG9wcGluZ0NhcnRTZXR0aW5nW10+KFtdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXR0aW5nc0FwaVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGNyZWF0ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlLmZldGNoU2V0dGluZ3MoKS5waXBlKFxuICAgICAgbWFwKHNldHRpbmdzID0+IHRoaXMucGFyc2VDb25maWd1cmF0aW9uU2V0dGluZ3Moc2V0dGluZ3MpKSxcbiAgICAgIHRhcChjb25maWd1cmF0aW9uU2V0dGluZ3MgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXR0aW5ncyQubmV4dChjb25maWd1cmF0aW9uU2V0dGluZ3MpO1xuICAgICAgICB0aGlzLmFkZFNob3BwaW5nQ2FydFNldHRpbmdzKGNvbmZpZ3VyYXRpb25TZXR0aW5nc1snc2hvcHBpbmctY2FydCddID8/IFtdKTtcbiAgICAgICAgdGhpcy5mb3JtYXR0aW5nU2V0dGluZ3MgPSB0aGlzLmdldEZvcm1hdHRpbmdTZXR0aW5ncygpO1xuICAgICAgfSksXG4gICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXRDdXJyZW5jeShpc28/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaXNvKSB7XG4gICAgICBjb25zdCBzeW1ib2wgPSB0aGlzLmdldEN1cnJlbmN5U3ltYm9sKCdlbi1VUycsIGlzbyk7XG4gICAgICB0aGlzLmN1cnJlbmN5U2V0dGluZ3MkLm5leHQoeyBpc28sIHN5bWJvbCB9KTtcbiAgICAgIGlmICh0aGlzLmZvcm1hdHRpbmdTZXR0aW5ncykge1xuICAgICAgICB0aGlzLmZvcm1hdHRpbmdTZXR0aW5ncy5jdXJyZW5jeVN5bWJvbCA9IHN5bWJvbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybWF0dGluZ1NldHRpbmdzKCk6IEZvcm1hdHRpbmdTZXR0aW5ncyB7XG4gICAgaWYgKHRoaXMuZm9ybWF0dGluZ1NldHRpbmdzKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXR0aW5nU2V0dGluZ3M7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvcHBpbmdDYXJ0U2V0dGluZ3MgPSB0aGlzLmdldENvbmZpZ3VyYXRpb25TZXR0aW5ncygpWydzaG9wcGluZy1jYXJ0J10/LnJlZHVjZSgoYWNjLCBzZXR0aW5nKSA9PiB7XG4gICAgICByZXR1cm4geyAuLi5hY2MsIFtzZXR0aW5nLmlkXTogc2V0dGluZy5wcm9wZXJ0aWVzIH07XG4gICAgfSwge30gYXMgU2hvcHBpbmdDYXJ0U2V0dGluZ3MpO1xuICAgIGNvbnN0IGN1cnJlbmN5U2V0dGluZ3MgPSB0aGlzLmdldEN1cnJlbmN5U2V0dGluZ3MoKTtcbiAgICBjb25zdCBkYXRlRm9ybWF0ID1cbiAgICAgICh2YWxpZGF0ZURhdGVGb3JtYXQoc2hvcHBpbmdDYXJ0U2V0dGluZ3M/LkRBVEVfRk9STUFUID8/ICcnKSAmJiBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uREFURV9GT1JNQVQpIHx8XG4gICAgICBERUZBVUxUX0RBVEVfRk9STUFUO1xuICAgIGNvbnN0IGRlY2ltYWxTZXBhcmF0b3IgPSBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uREVDSU1BTF9TRVBBUkFUT1I7XG4gICAgY29uc3QgdGhvdXNhbmRzU2VwYXJhdG9yID0gc2hvcHBpbmdDYXJ0U2V0dGluZ3M/LlRIT1VTQU5EU19TRVBBUkFUT1I7XG4gICAgLy8gdGhlIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyBjYW4gYmUgMFxuICAgIGNvbnN0IHByaWNlU2NhbGUgPSBzaG9wcGluZ0NhcnRTZXR0aW5ncz8uUFJJQ0VfU0NBTEU7XG4gICAgY29uc3QgZGVjaW1hbHNDb3VudCA9XG4gICAgICBwcmljZVNjYWxlICE9PSBudWxsICYmIHByaWNlU2NhbGUgIT09ICcnICYmICFpc05hTihOdW1iZXIocHJpY2VTY2FsZSkpICYmIE51bWJlcihwcmljZVNjYWxlKSA+PSAwXG4gICAgICAgID8gTnVtYmVyKHByaWNlU2NhbGUpXG4gICAgICAgIDogREVGQVVMVF9ERUNJTUFMU19DT1VOVDtcblxuICAgIGNvbnN0IGFjdGlvbkNvZGVTZXR0aW5ncyA9IHNob3BwaW5nQ2FydFNldHRpbmdzPy5TVEFUVVNfTEFCRUw7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVuY3lTeW1ib2w6IGN1cnJlbmN5U2V0dGluZ3Muc3ltYm9sLFxuICAgICAgZGF0ZUZvcm1hdHM6IGdldFN1cHBvcnRlZERhdGVGb3JtYXRzKGRhdGVGb3JtYXQpLFxuICAgICAgZGVjaW1hbHNDb3VudCxcbiAgICAgIGRlY2ltYWxTZXBhcmF0b3I6XG4gICAgICAgIGRlY2ltYWxTZXBhcmF0b3IgIT09IHVuZGVmaW5lZCAmJiBbJy4nLCAnLCddLmluY2x1ZGVzKGRlY2ltYWxTZXBhcmF0b3IpXG4gICAgICAgICAgPyBkZWNpbWFsU2VwYXJhdG9yXG4gICAgICAgICAgOiBERUZBVUxUX0RFQ0lNQUxfU0VQQVJBVE9SLFxuICAgICAgLy8gdGhvdXNhbmRzIHNlcGFyYXRvciBjYW4gYmUgYSBibGFuayB2YWx1ZSwgc28gaXQgY2FuIGFsc28gYmUgbnVsbFxuICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOlxuICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3IgIT09IHVuZGVmaW5lZCAmJiBbJy4nLCAnLCcsICcnLCBudWxsXS5pbmNsdWRlcyh0aG91c2FuZHNTZXBhcmF0b3IpXG4gICAgICAgICAgPyB0aG91c2FuZHNTZXBhcmF0b3IgfHwgJydcbiAgICAgICAgICA6IERFRkFVTFRfVEhPVVNBTkRTX1NFUEFSQVRPUixcbiAgICAgIGFjdGlvbkNvZGVMYWJlbHM6IGFjdGlvbkNvZGVTZXR0aW5ncz8ubGVuZ3RoXG4gICAgICAgID8gYWN0aW9uQ29kZVNldHRpbmdzLnJlZHVjZShcbiAgICAgICAgICAgIChyZXN1bHQsIHNldHRpbmcpID0+ICh7IC4uLnJlc3VsdCwgW3NldHRpbmcuc3RhdHVzX2xhYmVsXTogc2V0dGluZy5jdXN0b21fbGFiZWwgfSksXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICApXG4gICAgICAgIDogREVGQVVMVF9BQ1RJT05fQ09ERV9MQUJFTFMsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uU2V0dGluZ3MoKTogUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvblNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaG9wcGluZ0NhcnRTZXR0aW5ncygpOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW5jeVNldHRpbmdzKCk6IFJ1bnRpbWVDdXJyZW5jeVNldHRpbmdzIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVNldHRpbmdzJC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDb25maWd1cmF0aW9uU2V0dGluZ3Moc2V0dGluZ3M6IENvbmZpZ3VyYXRpb25TZXR0aW5nc1tdKTogUnVudGltZUNvbmZpZ3VyYXRpb25TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHNldHRpbmdzLnJlZHVjZSgoYWNjOiBSdW50aW1lQ29uZmlndXJhdGlvblNldHRpbmdzLCBzZXR0aW5nKSA9PiB7XG4gICAgICBzd2l0Y2ggKHNldHRpbmcua2V5KSB7XG4gICAgICAgIGNhc2UgJ3Nob3BwaW5nLWNhcnQnOlxuICAgICAgICAgIGFjY1snc2hvcHBpbmctY2FydCddID0gcGFyc2VKc29uU2FmZWx5PFNob3BwaW5nQ2FydFNldHRpbmdbXT4oc2V0dGluZy52YWx1ZSwgW10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICduYXZpZ2F0aW9uJzpcbiAgICAgICAgICBhY2MubmF2aWdhdGlvbiA9IHBhcnNlSnNvblNhZmVseTxEaWN0aW9uYXJ5PGJvb2xlYW4+PihzZXR0aW5nLnZhbHVlLCB7fSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Zsb3dzJzpcbiAgICAgICAgICBhY2MuZmxvd3MgPSBwYXJzZUpzb25TYWZlbHk8Rmxvd1tdPihzZXR0aW5nLnZhbHVlLCBbXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYWNjW3NldHRpbmcua2V5XSA9IHNldHRpbmcudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW5jeVN5bWJvbCA9IChsb2NhbGU6IHN0cmluZywgY3VycmVuY3k6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAoMClcbiAgICAgIC50b0xvY2FsZVN0cmluZyhsb2NhbGUsIHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5LCBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KVxuICAgICAgLnJlcGxhY2UoL1xcZC9nLCAnJylcbiAgICAgIC50cmltKCk7XG4gIH07XG5cbiAgcHVibGljIGFkZFNob3BwaW5nQ2FydFNldHRpbmdzKHNldHRpbmdzOiBTaG9wcGluZ0NhcnRTZXR0aW5nW10pIHtcbiAgICAvLyB1bmlxQnkgcmVtb3ZlcyBpdGVtcyB3aXRoIHRoZSBiaWdnZXN0IGluZGV4XG4gICAgY29uc3QgbmV3U2V0dGluZ3MgPSB1bmlxQnkoWy4uLnNldHRpbmdzLCAuLi50aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzJC52YWx1ZV0sICdpZCcpO1xuICAgIHRoaXMuc2hvcHBpbmdDYXJ0U2V0dGluZ3MkLm5leHQobmV3U2V0dGluZ3MpO1xuICB9XG59XG4iXX0=
@@ -2,10 +2,8 @@ import { Injectable } from '@angular/core';
2
2
  import { SalesTransactionApiService } from '@veloceapps/api/v2';
3
3
  import { isDefined } from '@veloceapps/core';
4
4
  import { BehaviorSubject, filter, tap } from 'rxjs';
5
- import { FlowInfoService } from './flow-info.service';
6
5
  import * as i0 from "@angular/core";
7
- import * as i1 from "./flow-info.service";
8
- import * as i2 from "@veloceapps/api/v2";
6
+ import * as i1 from "@veloceapps/api/v2";
9
7
  export class SalesTransactionService {
10
8
  get isInitialized$() {
11
9
  return this.isInitializedSubj$.asObservable();
@@ -16,7 +14,7 @@ export class SalesTransactionService {
16
14
  set hasUnsavedChanges(value) {
17
15
  this.hasUnsavedChangesSubj$.next(value);
18
16
  if (!this.hasUnsavedChanges) {
19
- this.initialCurrentState = this.state?.salesTransactionItems ?? [];
17
+ this.initialState = this.state?.salesTransaction.salesTransactionItems ?? [];
20
18
  }
21
19
  }
22
20
  get hasUnsavedChanges() {
@@ -25,18 +23,25 @@ export class SalesTransactionService {
25
23
  get state() {
26
24
  return this.stateSubj$.getValue();
27
25
  }
28
- constructor(flowInfoService, salesTransactionApiService) {
29
- this.flowInfoService = flowInfoService;
26
+ get hasProducts() {
27
+ return Boolean(this.state?.salesTransaction.salesTransactionItems.length);
28
+ }
29
+ constructor(salesTransactionApiService) {
30
30
  this.salesTransactionApiService = salesTransactionApiService;
31
31
  this.stateSubj$ = new BehaviorSubject(null);
32
32
  this.isInitializedSubj$ = new BehaviorSubject(false);
33
33
  this.hasUnsavedChangesSubj$ = new BehaviorSubject(false);
34
- this.initialCurrentState = [];
34
+ this.initialState = [];
35
35
  this.hasUnsavedChanges$ = this.hasUnsavedChangesSubj$.asObservable();
36
36
  this.state$ = this.stateSubj$.asObservable().pipe(filter(isDefined));
37
37
  }
38
38
  init(headerId, params) {
39
- return this.salesTransactionApiService.getState(headerId, params).pipe(tap(res => this.stateSubj$.next(res)));
39
+ return this.salesTransactionApiService.query(headerId, params).pipe(tap(res => {
40
+ if (!res.salesTransaction) {
41
+ throw new Error('SalesTransaction is not defined. Please check Query Orchestration.');
42
+ }
43
+ this.stateSubj$.next(res);
44
+ }));
40
45
  }
41
46
  finalizeInit() {
42
47
  this.isInitializedSubj$.next(true);
@@ -47,16 +52,16 @@ export class SalesTransactionService {
47
52
  this.isInitializedSubj$.next(false);
48
53
  this.hasUnsavedChangesSubj$.next(false);
49
54
  }
50
- getInitialCurrentState() {
51
- return this.initialCurrentState;
55
+ getInitialState() {
56
+ return this.initialState;
52
57
  }
53
58
  setState(state) {
54
59
  this.stateSubj$.next(state);
55
60
  }
56
61
  }
57
- SalesTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesTransactionService, deps: [{ token: i1.FlowInfoService }, { token: i2.SalesTransactionApiService }], target: i0.ɵɵFactoryTarget.Injectable });
62
+ SalesTransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesTransactionService, deps: [{ token: i1.SalesTransactionApiService }], target: i0.ɵɵFactoryTarget.Injectable });
58
63
  SalesTransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesTransactionService });
59
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesTransactionService, decorators: [{
60
65
  type: Injectable
61
- }], ctorParameters: function () { return [{ type: i1.FlowInfoService }, { type: i2.SalesTransactionApiService }]; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXMtdHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvc2FsZXMtdHJhbnNhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQTBDLE1BQU0sa0JBQWtCLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUd0RCxNQUFNLE9BQU8sdUJBQXVCO0lBU2xDLElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLGlCQUFpQixDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLHFCQUFxQixJQUFJLEVBQUUsQ0FBQztTQUNwRTtJQUNILENBQUM7SUFDRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUNVLGVBQWdDLEVBQ2hDLDBCQUFzRDtRQUR0RCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQWhDeEQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUEwQixJQUFJLENBQUMsQ0FBQztRQUNoRSx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN6RCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCx3QkFBbUIsR0FBMkIsRUFBRSxDQUFDO1FBRWxELHVCQUFrQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNoRSxXQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUEyQnBFLENBQUM7SUFFRyxJQUFJLENBQUMsUUFBZ0IsRUFBRSxNQUE4QjtRQUMxRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUF1QjtRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOztvSEF6RFUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhbGVzVHJhbnNhY3Rpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpL3YyJztcbmltcG9ydCB7IGlzRGVmaW5lZCwgU2FsZXNUcmFuc2FjdGlvbiwgU2FsZXNUcmFuc2FjdGlvbkl0ZW0gfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dJbmZvU2VydmljZSB9IGZyb20gJy4vZmxvdy1pbmZvLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2FsZXNUcmFuc2FjdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRlU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNhbGVzVHJhbnNhY3Rpb24gfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkU3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBoYXNVbnNhdmVkQ2hhbmdlc1N1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgaW5pdGlhbEN1cnJlbnRTdGF0ZTogU2FsZXNUcmFuc2FjdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyQgPSB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzU3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyBzdGF0ZSQgPSB0aGlzLnN0YXRlU3ViaiQuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIoaXNEZWZpbmVkKSk7XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkU3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBoYXNVbnNhdmVkQ2hhbmdlcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXNTdWJqJC5uZXh0KHZhbHVlKTtcblxuICAgIGlmICghdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcykge1xuICAgICAgdGhpcy5pbml0aWFsQ3VycmVudFN0YXRlID0gdGhpcy5zdGF0ZT8uc2FsZXNUcmFuc2FjdGlvbkl0ZW1zID8/IFtdO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGhhc1Vuc2F2ZWRDaGFuZ2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogU2FsZXNUcmFuc2FjdGlvbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzYWxlc1RyYW5zYWN0aW9uQXBpU2VydmljZTogU2FsZXNUcmFuc2FjdGlvbkFwaVNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgaW5pdChoZWFkZXJJZDogc3RyaW5nLCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBPYnNlcnZhYmxlPFNhbGVzVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5zYWxlc1RyYW5zYWN0aW9uQXBpU2VydmljZS5nZXRTdGF0ZShoZWFkZXJJZCwgcGFyYW1zKS5waXBlKHRhcChyZXMgPT4gdGhpcy5zdGF0ZVN1YmokLm5leHQocmVzKSkpO1xuICB9XG5cbiAgcHVibGljIGZpbmFsaXplSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU3ViaiQubmV4dChudWxsKTtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzU3ViaiQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5pdGlhbEN1cnJlbnRTdGF0ZSgpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsQ3VycmVudFN0YXRlO1xuICB9XG5cbiAgcHVibGljIHNldFN0YXRlKHN0YXRlOiBTYWxlc1RyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVN1YmokLm5leHQoc3RhdGUpO1xuICB9XG59XG4iXX0=
66
+ }], ctorParameters: function () { return [{ type: i1.SalesTransactionApiService }]; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXMtdHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvc2FsZXMtdHJhbnNhY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQTRDLE1BQU0sa0JBQWtCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHaEUsTUFBTSxPQUFPLHVCQUF1QjtJQVNsQyxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUNELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxpQkFBaUIsQ0FBQyxLQUFjO1FBQ3pDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMscUJBQXFCLElBQUksRUFBRSxDQUFDO1NBQzlFO0lBQ0gsQ0FBQztJQUNELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxZQUFvQiwwQkFBc0Q7UUFBdEQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQWxDbEUsZUFBVSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQztRQUNsRSx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN6RCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCxpQkFBWSxHQUEyQixFQUFFLENBQUM7UUFFM0MsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hFLFdBQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQTRCTSxDQUFDO0lBRXZFLElBQUksQ0FBQyxRQUFnQixFQUFFLE1BQThCO1FBQzFELE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNqRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7YUFDdkY7WUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQXlCO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7O29IQWxFVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FsZXNUcmFuc2FjdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHsgaXNEZWZpbmVkLCBTYWxlc1RyYW5zYWN0aW9uSXRlbSwgVHJhbnNhY3Rpb25Db250ZXh0IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgc3RhdGVTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25Db250ZXh0IHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgaXNJbml0aWFsaXplZFN1YmokID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgaGFzVW5zYXZlZENoYW5nZXNTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIGluaXRpYWxTdGF0ZTogU2FsZXNUcmFuc2FjdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyQgPSB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzU3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyBzdGF0ZSQgPSB0aGlzLnN0YXRlU3ViaiQuYXNPYnNlcnZhYmxlKCkucGlwZShmaWx0ZXIoaXNEZWZpbmVkKSk7XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkU3ViaiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBoYXNVbnNhdmVkQ2hhbmdlcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXNTdWJqJC5uZXh0KHZhbHVlKTtcblxuICAgIGlmICghdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcykge1xuICAgICAgdGhpcy5pbml0aWFsU3RhdGUgPSB0aGlzLnN0YXRlPy5zYWxlc1RyYW5zYWN0aW9uLnNhbGVzVHJhbnNhY3Rpb25JdGVtcyA/PyBbXTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBoYXNVbnNhdmVkQ2hhbmdlcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNVbnNhdmVkQ2hhbmdlc1N1YmokLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IFRyYW5zYWN0aW9uQ29udGV4dCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnN0YXRlU3ViaiQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzUHJvZHVjdHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5zdGF0ZT8uc2FsZXNUcmFuc2FjdGlvbi5zYWxlc1RyYW5zYWN0aW9uSXRlbXMubGVuZ3RoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FsZXNUcmFuc2FjdGlvbkFwaVNlcnZpY2U6IFNhbGVzVHJhbnNhY3Rpb25BcGlTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBpbml0KGhlYWRlcklkOiBzdHJpbmcsIHBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2FsZXNUcmFuc2FjdGlvbkFwaVNlcnZpY2UucXVlcnkoaGVhZGVySWQsIHBhcmFtcykucGlwZShcbiAgICAgIHRhcChyZXMgPT4ge1xuICAgICAgICBpZiAoIXJlcy5zYWxlc1RyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTYWxlc1RyYW5zYWN0aW9uIGlzIG5vdCBkZWZpbmVkLiBQbGVhc2UgY2hlY2sgUXVlcnkgT3JjaGVzdHJhdGlvbi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdGVTdWJqJC5uZXh0KHJlcyk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZpbmFsaXplSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU3ViaiQubmV4dChudWxsKTtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmhhc1Vuc2F2ZWRDaGFuZ2VzU3ViaiQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5pdGlhbFN0YXRlKCk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10ge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTdGF0ZShzdGF0ZTogVHJhbnNhY3Rpb25Db250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVN1YmokLm5leHQoc3RhdGUpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const FLOW_CUSTOMIZATION = new InjectionToken('FLOW_CUSTOMIZATION');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS90eXBlcy9mbG93LWN1c3RvbWl6YXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBb0Isb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUHJvY2Vzc29yLFxuICBUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50cyxcbiAgVUlEZWZpbml0aW9uQ29udGFpbmVyLFxuICBVSVRlbXBsYXRlLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IEZMT1dfQ1VTVE9NSVpBVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGbG93Q3VzdG9taXphdGlvbj4oJ0ZMT1dfQ1VTVE9NSVpBVElPTicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDdXN0b21pemF0aW9uIHtcbiAgZ2V0VWlEZWZpbml0aW9uPyhwcm9kdWN0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uQ29udGFpbmVyIHwgbnVsbD47XG5cbiAgZ2V0VGVtcGxhdGVzPygpOiBPYnNlcnZhYmxlPFVJVGVtcGxhdGVbXT47XG4gIGdldFRlbXBsYXRlQ29tcG9uZW50cz8odGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50V2l0aEF0dGFjaG1lbnRzW10gfCBudWxsPjtcblxuICBnZXRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Qcm9jZXNzb3JzPyh0ZW1wbGF0ZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvblByb2Nlc3NvcltdIHwgbnVsbD47XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS90eXBlcy9mbG93LWN1c3RvbWl6YXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBb0Isb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUHJvY2Vzc29yLFxuICBGbG93Q29udGV4dCxcbiAgVGVtcGxhdGVDb21wb25lbnRXaXRoQXR0YWNobWVudHMsXG4gIFVJRGVmaW5pdGlvbkNvbnRhaW5lcixcbiAgVUlUZW1wbGF0ZSxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBGTE9XX0NVU1RPTUlaQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48Rmxvd0N1c3RvbWl6YXRpb24+KCdGTE9XX0NVU1RPTUlaQVRJT04nKTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG93Q3VzdG9taXphdGlvbiB7XG4gIGdldFVpRGVmaW5pdGlvbj8oZmxvd0NvbnRleHQ6IEZsb3dDb250ZXh0KTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb25Db250YWluZXIgfCBudWxsPjtcblxuICBnZXRUZW1wbGF0ZXM/KCk6IE9ic2VydmFibGU8VUlUZW1wbGF0ZVtdPjtcbiAgZ2V0VGVtcGxhdGVDb21wb25lbnRzPyh0ZW1wbGF0ZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnRXaXRoQXR0YWNobWVudHNbXSB8IG51bGw+O1xuXG4gIGdldFRlbXBsYXRlQ29uZmlndXJhdGlvblByb2Nlc3NvcnM/KHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb25maWd1cmF0aW9uUHJvY2Vzc29yW10gfCBudWxsPjtcbn1cbiJdfQ==
@@ -2,6 +2,5 @@ export * from './flow-customization.types';
2
2
  export * from './formatting-settings.types';
3
3
  export * from './integration.types';
4
4
  export * from './pipe.types';
5
- export * from './runtime.types';
6
5
  export * from './ui-definition.types';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0dGluZy1zZXR0aW5ncy50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVncmF0aW9uLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91aS1kZWZpbml0aW9uLnR5cGVzJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zsb3ctY3VzdG9taXphdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdHRpbmctc2V0dGluZ3MudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlZ3JhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGUudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91aS1kZWZpbml0aW9uLnR5cGVzJztcbiJdfQ==
@@ -1,4 +1,5 @@
1
- export * from './line-item.utils';
2
- export * from './line-item.worker';
1
+ export * from './pcm.utils';
2
+ export * from './transaction-item.utils';
3
+ export * from './transaction-item.worker';
3
4
  export * from './ui-definition.utils';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saW5lLWl0ZW0udXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lLWl0ZW0ud29ya2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdWktZGVmaW5pdGlvbi51dGlscyc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wY20udXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbi1pdGVtLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24taXRlbS53b3JrZXInO1xuZXhwb3J0ICogZnJvbSAnLi91aS1kZWZpbml0aW9uLnV0aWxzJztcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ export class PCMUtils {
2
+ static mapByPrcId(pcm) {
3
+ const map = {};
4
+ if (pcm.productRelatedComponent) {
5
+ map[pcm.productRelatedComponent.id] = pcm;
6
+ }
7
+ for (const group of pcm.productComponentGroups) {
8
+ for (const gc of group.components) {
9
+ Object.assign(map, PCMUtils.mapByPrcId(gc));
10
+ }
11
+ }
12
+ return map;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGNtLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS91dGlscy9wY20udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLFFBQVE7SUFDWixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQWU7UUFDdEMsTUFBTSxHQUFHLEdBQTJCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRTtZQUMvQixHQUFHLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUMzQztRQUNELEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLHNCQUFzQixFQUFFO1lBQzlDLEtBQUssTUFBTSxFQUFFLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtnQkFDakMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdDO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBDTVByb2R1Y3QgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY2xhc3MgUENNVXRpbHMge1xuICBwdWJsaWMgc3RhdGljIG1hcEJ5UHJjSWQocGNtOiBQQ01Qcm9kdWN0KTogRGljdGlvbmFyeTxQQ01Qcm9kdWN0PiB7XG4gICAgY29uc3QgbWFwOiBEaWN0aW9uYXJ5PFBDTVByb2R1Y3Q+ID0ge307XG4gICAgaWYgKHBjbS5wcm9kdWN0UmVsYXRlZENvbXBvbmVudCkge1xuICAgICAgbWFwW3BjbS5wcm9kdWN0UmVsYXRlZENvbXBvbmVudC5pZF0gPSBwY207XG4gICAgfVxuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgcGNtLnByb2R1Y3RDb21wb25lbnRHcm91cHMpIHtcbiAgICAgIGZvciAoY29uc3QgZ2Mgb2YgZ3JvdXAuY29tcG9uZW50cykge1xuICAgICAgICBPYmplY3QuYXNzaWduKG1hcCwgUENNVXRpbHMubWFwQnlQcmNJZChnYykpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,136 @@
1
+ import { isDefined, UUID, } from '@veloceapps/core';
2
+ import { flatten } from 'lodash';
3
+ import { PCMUtils } from './pcm.utils';
4
+ export const findTransactionItem = (id, items) => {
5
+ return findTransactionItemWithComparator(items, (ti) => ti.id === id);
6
+ };
7
+ export const findTransactionItemWithComparator = (items, comparator) => {
8
+ let currentLevel = items;
9
+ while (currentLevel.length) {
10
+ const found = currentLevel.find(comparator);
11
+ if (found) {
12
+ return found;
13
+ }
14
+ currentLevel = flatten(currentLevel.map(parent => parent.children));
15
+ }
16
+ return;
17
+ };
18
+ export const insertTransactionItem = (item, parentId, toInsert) => {
19
+ const insertData = item.id === parentId ? [toInsert] : [];
20
+ return {
21
+ ...item,
22
+ children: [
23
+ ...insertData,
24
+ ...item.children.map(ti => {
25
+ return insertTransactionItem(ti, parentId, toInsert);
26
+ }),
27
+ ],
28
+ };
29
+ };
30
+ export const removeTransactionItem = (item, idToRemove) => {
31
+ return {
32
+ ...item,
33
+ children: item.children
34
+ .map(ti => {
35
+ if (ti.id === idToRemove) {
36
+ return;
37
+ }
38
+ else if (ti.children.length) {
39
+ return removeTransactionItem(ti, idToRemove);
40
+ }
41
+ return ti;
42
+ })
43
+ .filter(isDefined),
44
+ };
45
+ };
46
+ export const replaceTransactionItem = (item, replaceTo) => {
47
+ if (item.id === replaceTo.id) {
48
+ return { ...replaceTo };
49
+ }
50
+ return {
51
+ ...item,
52
+ children: item.children.map(ti => replaceTransactionItem(ti, replaceTo)),
53
+ };
54
+ };
55
+ export const generateTransactionItem = (option, salesTransactionId, qty, parentTi) => {
56
+ const newItem = generateTransactionItemFromPCM(option, salesTransactionId, parentTi);
57
+ // propagate Proportional quantities to children
58
+ const updatedNewItem = updateQuantity(newItem, qty ?? newItem.qty, option, parentTi?.qty);
59
+ return updatedNewItem;
60
+ };
61
+ export const generateTransactionItemFromPCM = (option, salesTransactionId, parentTi) => {
62
+ const childId = UUID.UUID();
63
+ const newItem = {
64
+ id: childId,
65
+ productId: option.id,
66
+ productName: option.name,
67
+ productCode: option.productCode,
68
+ productRelatedComponentId: option.productRelatedComponent?.id,
69
+ stiAttributes: [],
70
+ attributes: {
71
+ ParentReference: salesTransactionId,
72
+ ItemPath: option.id,
73
+ SalesTransactionItemSource: childId,
74
+ SalesTransactionItemParent: salesTransactionId,
75
+ ProductSellingModel: option.productSellingModelOptions?.[0]?.productSellingModel.id,
76
+ },
77
+ qty: option.productRelatedComponent?.quantity ?? 1,
78
+ };
79
+ if (parentTi) {
80
+ newItem.parentId = parentTi.id;
81
+ }
82
+ newItem.children = option.productComponentGroups.reduce((acc, group) => {
83
+ group.components.forEach(component => {
84
+ if (component.productRelatedComponent?.isComponentRequired ||
85
+ component.productRelatedComponent?.isDefaultComponent) {
86
+ acc.push(generateTransactionItemFromPCM(component, salesTransactionId, newItem));
87
+ }
88
+ });
89
+ return acc;
90
+ }, []);
91
+ return newItem;
92
+ };
93
+ export const flattenTransactionItem = (ti) => {
94
+ const result = [];
95
+ const traverse = (item) => {
96
+ if (!item)
97
+ return;
98
+ result.push(item);
99
+ if (Array.isArray(item.children) && item.children.length) {
100
+ for (const child of item.children) {
101
+ traverse(child);
102
+ }
103
+ }
104
+ };
105
+ traverse(ti);
106
+ return result;
107
+ };
108
+ export const updateQuantity = (ti, qty, pcm, parentQty = 1) => {
109
+ const pcmMap = PCMUtils.mapByPrcId(pcm);
110
+ const calcNewQty = (item, parentPrevQty, parentNewQty, parentPcm, inputQty, isDirectChange) => {
111
+ const scaleMethod = parentPcm?.productRelatedComponent?.quantityScaleMethod;
112
+ if (isDirectChange) {
113
+ return scaleMethod === 'Proportional' ? parentPrevQty * inputQty : inputQty;
114
+ }
115
+ else {
116
+ return scaleMethod === 'Proportional' ? (item.qty / parentPrevQty) * parentNewQty : item.qty;
117
+ }
118
+ };
119
+ const updateItem = (item, parentPrevQty, parentNewQty, isDirectChange) => {
120
+ const pcm = pcmMap[item.productRelatedComponentId];
121
+ let nextQty = item.qty;
122
+ if (item.id === ti.id || isDirectChange) {
123
+ nextQty = calcNewQty(item, parentPrevQty, parentNewQty, pcm, qty, true);
124
+ }
125
+ else if (parentPrevQty !== parentNewQty) {
126
+ nextQty = calcNewQty(item, parentPrevQty, parentNewQty, pcm, qty, false);
127
+ }
128
+ return {
129
+ ...item,
130
+ qty: nextQty,
131
+ children: item.children.map(child => updateItem(child, item.qty, nextQty, false)),
132
+ };
133
+ };
134
+ return updateItem(ti, parentQty, parentQty, false);
135
+ };
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taXRlbS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvdXRpbHMvdHJhbnNhY3Rpb24taXRlbS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUtULElBQUksR0FDTCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQVUsRUFBRSxLQUE2QixFQUFvQyxFQUFFO0lBQ2pILE9BQU8saUNBQWlDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUM5RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUMvQyxLQUE2QixFQUM3QixVQUFpRCxFQUNmLEVBQUU7SUFDcEMsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXpCLE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUMxQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQ3JFO0lBRUQsT0FBTztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLElBQTBCLEVBQzFCLFFBQWdCLEVBQ2hCLFFBQThCLEVB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R0FBRyxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLGNBQWMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDekU7YUFBTSxJQUFJLGFBQWEsS0FBSyxZQUFZLEVBQUU7WUFDekMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzFFO1FBRUQsT0FBTztZQUNMLEdBQUcsSUFBSTtZQUNQLEdBQUcsRUFBRSxPQUFPO1lBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNsRixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaXNEZWZpbmVkLFxuICBQQ01Nb2RlbCxcbiAgUENNUHJvZHVjdCxcbiAgU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIFNhbGVzVHJhbnNhY3Rpb25JdGVtQXR0cmlidXRlLFxuICBVVUlELFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUENNVXRpbHMgfSBmcm9tICcuL3BjbS51dGlscyc7XG5cbmV4cG9ydCBjb25zdCBmaW5kVHJhbnNhY3Rpb25JdGVtID0gKGlkOiBzdHJpbmcsIGl0ZW1zOiBTYWxlc1RyYW5zYWN0aW9uSXRlbVtdKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gfCB1bmRlZmluZWQgPT4ge1xuICByZXR1cm4gZmluZFRyYW5zYWN0aW9uSXRlbVdpdGhDb21wYXJhdG9yKGl0ZW1zLCAodGk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtKSA9PiB0aS5pZCA9PT0gaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRUcmFuc2FjdGlvbkl0ZW1XaXRoQ29tcGFyYXRvciA9IChcbiAgaXRlbXM6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10sXG4gIGNvbXBhcmF0b3I6ICh0aTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0pID0+IGJvb2xlYW4sXG4pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSB8IHVuZGVmaW5lZCA9PiB7XG4gIGxldCBjdXJyZW50TGV2ZWwgPSBpdGVtcztcblxuICB3aGlsZSAoY3VycmVudExldmVsLmxlbmd0aCkge1xuICAgIGNvbnN0IGZvdW5kID0gY3VycmVudExldmVsLmZpbmQoY29tcGFyYXRvcik7XG5cbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG5cbiAgICBjdXJyZW50TGV2ZWwgPSBmbGF0dGVuKGN1cnJlbnRMZXZlbC5tYXAocGFyZW50ID0+IHBhcmVudC5jaGlsZHJlbikpO1xuICB9XG5cbiAgcmV0dXJuO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydFRyYW5zYWN0aW9uSXRlbSA9IChcbiAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIHBhcmVudElkOiBzdHJpbmcsXG4gIHRvSW5zZXJ0OiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgaW5zZXJ0RGF0YSA9IGl0ZW0uaWQgPT09IHBhcmVudElkID8gW3RvSW5zZXJ0XSA6IFtdO1xuXG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogW1xuICAgICAgLi4uaW5zZXJ0RGF0YSxcbiAgICAgIC4uLml0ZW0uY2hpbGRyZW4ubWFwKHRpID0+IHtcbiAgICAgICAgcmV0dXJuIGluc2VydFRyYW5zYWN0aW9uSXRlbSh0aSwgcGFyZW50SWQsIHRvSW5zZXJ0KTtcbiAgICAgIH0pLFxuICAgIF0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlVHJhbnNhY3Rpb25JdGVtID0gKGl0ZW06IFNhbGVzVHJhbnNhY3Rpb25JdGVtLCBpZFRvUmVtb3ZlOiBzdHJpbmcpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlblxuICAgICAgLm1hcCh0aSA9PiB7XG4gICAgICAgIGlmICh0aS5pZCA9PT0gaWRUb1JlbW92ZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmICh0aS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gcmVtb3ZlVHJhbnNhY3Rpb25JdGVtKHRpLCBpZFRvUmVtb3ZlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKGlzRGVmaW5lZCksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVwbGFjZVRyYW5zYWN0aW9uSXRlbSA9IChcbiAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gIHJlcGxhY2VUbzogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4pOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gIGlmIChpdGVtLmlkID09PSByZXBsYWNlVG8uaWQpIHtcbiAgICByZXR1cm4geyAuLi5yZXBsYWNlVG8gfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4uaXRlbSxcbiAgICBjaGlsZHJlbjogaXRlbS5jaGlsZHJlbi5tYXAodGkgPT4gcmVwbGFjZVRyYW5zYWN0aW9uSXRlbSh0aSwgcmVwbGFjZVRvKSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW0gPSAoXG4gIG9wdGlvbjogUENNTW9kZWwsXG4gIHNhbGVzVHJhbnNhY3Rpb25JZD86IHN0cmluZyxcbiAgcXR5PzogbnVtYmVyLFxuICBwYXJlbnRUaT86IFNhbGVzVHJhbnNhY3Rpb25JdGVtLFxuKTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0gPT4ge1xuICBjb25zdCBuZXdJdGVtID0gZ2VuZXJhdGVUcmFuc2FjdGlvbkl0ZW1Gcm9tUENNKG9wdGlvbiwgc2FsZXNUcmFuc2FjdGlvbklkLCBwYXJlbnRUaSk7XG5cbiAgLy8gcHJvcGFnYXRlIFByb3BvcnRpb25hbCBxdWFudGl0aWVzIHRvIGNoaWxkcmVuXG4gIGNvbnN0IHVwZGF0ZWROZXdJdGVtID0gdXBkYXRlUXVhbnRpdHkobmV3SXRlbSwgcXR5ID8/IG5ld0l0ZW0ucXR5LCBvcHRpb24sIHBhcmVudFRpPy5xdHkpO1xuXG4gIHJldHVybiB1cGRhdGVkTmV3SXRlbTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbUZyb21QQ00gPSAoXG4gIG9wdGlvbjogUENNTW9kZWwsXG4gIHNhbGVzVHJhbnNhY3Rpb25JZD86IHN0cmluZyxcbiAgcGFyZW50VGk/OiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgY2hpbGRJZCA9IFVVSUQuVVVJRCgpO1xuXG4gIGNvbnN0IG5ld0l0ZW0gPSB7XG4gICAgaWQ6IGNoaWxkSWQsXG4gICAgcHJvZHVjdElkOiBvcHRpb24uaWQsXG4gICAgcHJvZHVjdE5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHByb2R1Y3RDb2RlOiBvcHRpb24ucHJvZHVjdENvZGUsXG4gICAgcHJvZHVjdFJlbGF0ZWRDb21wb25lbnRJZDogb3B0aW9uLnByb2R1Y3RSZWxhdGVkQ29tcG9uZW50Py5pZCxcbiAgICBzdGlBdHRyaWJ1dGVzOiBbXSBhcyBTYWxlc1RyYW5zYWN0aW9uSXRlbUF0dHJpYnV0ZVtdLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIFBhcmVudFJlZmVyZW5jZTogc2FsZXNUcmFuc2FjdGlvbklkLFxuICAgICAgSXRlbVBhdGg6IG9wdGlvbi5pZCxcbiAgICAgIFNhbGVzVHJhbnNhY3Rpb25JdGVtU291cmNlOiBjaGlsZElkLFxuICAgICAgU2FsZXNUcmFuc2FjdGlvbkl0ZW1QYXJlbnQ6IHNhbGVzVHJhbnNhY3Rpb25JZCxcbiAgICAgIFByb2R1Y3RTZWxsaW5nTW9kZWw6IG9wdGlvbi5wcm9kdWN0U2VsbGluZ01vZGVsT3B0aW9ucz8uWzBdPy5wcm9kdWN0U2VsbGluZ01vZGVsLmlkLFxuICAgIH0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgcXR5OiBvcHRpb24ucHJvZHVjdFJlbGF0ZWRDb21wb25lbnQ/LnF1YW50aXR5ID8/IDEsXG4gIH0gYXMgU2FsZXNUcmFuc2FjdGlvbkl0ZW07XG5cbiAgaWYgKHBhcmVudFRpKSB7XG4gICAgbmV3SXRlbS5wYXJlbnRJZCA9IHBhcmVudFRpLmlkO1xuICB9XG5cbiAgbmV3SXRlbS5jaGlsZHJlbiA9IG9wdGlvbi5wcm9kdWN0Q29tcG9uZW50R3JvdXBzLnJlZHVjZSgoYWNjOiBTYWxlc1RyYW5zYWN0aW9uSXRlbVtdLCBncm91cCkgPT4ge1xuICAgIGdyb3VwLmNvbXBvbmVudHMuZm9yRWFjaChjb21wb25lbnQgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBjb21wb25lbnQucHJvZHVjdFJlbGF0ZWRDb21wb25lbnQ/LmlzQ29tcG9uZW50UmVxdWlyZWQgfHxcbiAgICAgICAgY29tcG9uZW50LnByb2R1Y3RSZWxhdGVkQ29tcG9uZW50Py5pc0RlZmF1bHRDb21wb25lbnRcbiAgICAgICkge1xuICAgICAgICBhY2MucHVzaChnZW5lcmF0ZVRyYW5zYWN0aW9uSXRlbUZyb21QQ00oY29tcG9uZW50LCBzYWxlc1RyYW5zYWN0aW9uSWQsIG5ld0l0ZW0pKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gbmV3SXRlbTtcbn07XG5cbmV4cG9ydCBjb25zdCBmbGF0dGVuVHJhbnNhY3Rpb25JdGVtID0gKHRpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10gPT4ge1xuICBjb25zdCByZXN1bHQ6IFNhbGVzVHJhbnNhY3Rpb25JdGVtW10gPSBbXTtcbiAgY29uc3QgdHJhdmVyc2UgPSAoaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0pID0+IHtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcbiAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgIHRyYXZlcnNlKGNoaWxkKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdHJhdmVyc2UodGkpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlUXVhbnRpdHkgPSAoXG4gIHRpOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSxcbiAgcXR5OiBudW1iZXIsXG4gIHBjbTogUENNUHJvZHVjdCxcbiAgcGFyZW50UXR5ID0gMSxcbik6IFNhbGVzVHJhbnNhY3Rpb25JdGVtID0+IHtcbiAgY29uc3QgcGNtTWFwID0gUENNVXRpbHMubWFwQnlQcmNJZChwY20pO1xuXG4gIGNvbnN0IGNhbGNOZXdRdHkgPSAoXG4gICAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gICAgcGFyZW50UHJldlF0eTogbnVtYmVyLFxuICAgIHBhcmVudE5ld1F0eTogbnVtYmVyLFxuICAgIHBhcmVudFBjbTogUENNUHJvZHVjdCB8IHVuZGVmaW5lZCxcbiAgICBpbnB1dFF0eTogbnVtYmVyLFxuICAgIGlzRGlyZWN0Q2hhbmdlOiBib29sZWFuLFxuICApOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHNjYWxlTWV0aG9kID0gcGFyZW50UGNtPy5wcm9kdWN0UmVsYXRlZENvbXBvbmVudD8ucXVhbnRpdHlTY2FsZU1ldGhvZDtcbiAgICBpZiAoaXNEaXJlY3RDaGFuZ2UpIHtcbiAgICAgIHJldHVybiBzY2FsZU1ldGhvZCA9PT0gJ1Byb3BvcnRpb25hbCcgPyBwYXJlbnRQcmV2UXR5ICogaW5wdXRRdHkgOiBpbnB1dFF0eTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHNjYWxlTWV0aG9kID09PSAnUHJvcG9ydGlvbmFsJyA/IChpdGVtLnF0eSAvIHBhcmVudFByZXZRdHkpICogcGFyZW50TmV3UXR5IDogaXRlbS5xdHk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZUl0ZW0gPSAoXG4gICAgaXRlbTogU2FsZXNUcmFuc2FjdGlvbkl0ZW0sXG4gICAgcGFyZW50UHJldlF0eTogbnVtYmVyLFxuICAgIHBhcmVudE5ld1F0eTogbnVtYmVyLFxuICAgIGlzRGlyZWN0Q2hhbmdlOiBib29sZWFuLFxuICApOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSA9PiB7XG4gICAgY29uc3QgcGNtID0gcGNtTWFwW2l0ZW0ucHJvZHVjdFJlbGF0ZWRDb21wb25lbnRJZF07XG4gICAgbGV0IG5leHRRdHkgPSBpdGVtLnF0eTtcblxuICAgIGlmIChpdGVtLmlkID09PSB0aS5pZCB8fCBpc0RpcmVjdENoYW5nZSkge1xuICAgICAgbmV4dFF0eSA9IGNhbGNOZXdRdHkoaXRlbSwgcGFyZW50UHJldlF0eSwgcGFyZW50TmV3UXR5LCBwY20sIHF0eSwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChwYXJlbnRQcmV2UXR5ICE9PSBwYXJlbnROZXdRdHkpIHtcbiAgICAgIG5leHRRdHkgPSBjYWxjTmV3UXR5KGl0ZW0sIHBhcmVudFByZXZRdHksIHBhcmVudE5ld1F0eSwgcGNtLCBxdHksIGZhbHNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uaXRlbSxcbiAgICAgIHF0eTogbmV4dFF0eSxcbiAgICAgIGNoaWxkcmVuOiBpdGVtLmNoaWxkcmVuLm1hcChjaGlsZCA9PiB1cGRhdGVJdGVtKGNoaWxkLCBpdGVtLnF0eSwgbmV4dFF0eSwgZmFsc2UpKSxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiB1cGRhdGVJdGVtKHRpLCBwYXJlbnRRdHksIHBhcmVudFF0eSwgZmFsc2UpO1xufTtcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { insertTransactionItem, removeTransactionItem, replaceTransactionItem } from './transaction-item.utils';
2
+ export class TransactionItemWorker {
3
+ constructor(src) {
4
+ this.ti = { ...src };
5
+ }
6
+ insert(parentId, toInsert) {
7
+ return new TransactionItemWorker(insertTransactionItem(this.ti, parentId, toInsert));
8
+ }
9
+ remove(id) {
10
+ return new TransactionItemWorker(removeTransactionItem(this.ti, id));
11
+ }
12
+ replace(toReplace) {
13
+ return new TransactionItemWorker(replaceTransactionItem(this.ti, toReplace));
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taXRlbS53b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL3V0aWxzL3RyYW5zYWN0aW9uLWl0ZW0ud29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhILE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBWSxHQUF5QjtRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQWdCLEVBQUUsUUFBOEI7UUFDNUQsT0FBTyxJQUFJLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxFQUFVO1FBQ3RCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLE9BQU8sQ0FBQyxTQUErQjtRQUM1QyxPQUFPLElBQUkscUJBQXFCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhbGVzVHJhbnNhY3Rpb25JdGVtIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBpbnNlcnRUcmFuc2FjdGlvbkl0ZW0sIHJlbW92ZVRyYW5zYWN0aW9uSXRlbSwgcmVwbGFjZVRyYW5zYWN0aW9uSXRlbSB9IGZyb20gJy4vdHJhbnNhY3Rpb24taXRlbS51dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkl0ZW1Xb3JrZXIge1xuICBwdWJsaWMgdGk6IFNhbGVzVHJhbnNhY3Rpb25JdGVtO1xuXG4gIGNvbnN0cnVjdG9yKHNyYzogU2FsZXNUcmFuc2FjdGlvbkl0ZW0pIHtcbiAgICB0aGlzLnRpID0geyAuLi5zcmMgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbnNlcnQocGFyZW50SWQ6IHN0cmluZywgdG9JbnNlcnQ6IFNhbGVzVHJhbnNhY3Rpb25JdGVtKTogVHJhbnNhY3Rpb25JdGVtV29ya2VyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uSXRlbVdvcmtlcihpbnNlcnRUcmFuc2FjdGlvbkl0ZW0odGhpcy50aSwgcGFyZW50SWQsIHRvSW5zZXJ0KSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGlkOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkl0ZW1Xb3JrZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25JdGVtV29ya2VyKHJlbW92ZVRyYW5zYWN0aW9uSXRlbSh0aGlzLnRpLCBpZCkpO1xuICB9XG5cbiAgcHVibGljIHJlcGxhY2UodG9SZXBsYWNlOiBTYWxlc1RyYW5zYWN0aW9uSXRlbSk6IFRyYW5zYWN0aW9uSXRlbVdvcmtlciB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkl0ZW1Xb3JrZXIocmVwbGFjZVRyYW5zYWN0aW9uSXRlbSh0aGlzLnRpLCB0b1JlcGxhY2UpKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
2
- import { UITemplatesApiService } from '@veloceapps/api/v2';
2
+ import { UITemplatesAdminApiService } from '@veloceapps/api/v2';
3
3
  import { ToastService, ToastType } from '@veloceapps/components';
4
4
  import { btoaSafe } from '@veloceapps/sdk/cms';
5
5
  import { FlowInfoService, FlowStateService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';
@@ -11,8 +11,8 @@ import * as i3 from "@veloceapps/components";
11
11
  import * as i4 from "@angular/common";
12
12
  import * as i5 from "@veloceapps/sdk/cms";
13
13
  export class FlowHeaderComponent {
14
- constructor(templatesApi, flowStateService, flowInfo, toastService, customizationService) {
15
- this.templatesApi = templatesApi;
14
+ constructor(templatesAdminApiService, flowStateService, flowInfo, toastService, customizationService) {
15
+ this.templatesAdminApiService = templatesAdminApiService;
16
16
  this.flowStateService = flowStateService;
17
17
  this.flowInfo = flowInfo;
18
18
  this.toastService = toastService;
@@ -66,7 +66,7 @@ export class FlowHeaderComponent {
66
66
  if (!template) {
67
67
  return of(undefined);
68
68
  }
69
- return this.templatesApi.fetchComponentsAttachments$(template.id);
69
+ return this.templatesAdminApiService.fetchComponentsAttachments$(template.id);
70
70
  }
71
71
  generateUIDefinition$() {
72
72
  return of(undefined).pipe(tap(() => {
@@ -80,7 +80,6 @@ export class FlowHeaderComponent {
80
80
  const uiDef = {
81
81
  name: '',
82
82
  createdTimestamp: 0,
83
- primary: true,
84
83
  type: 'DEFAULT',
85
84
  version: 2,
86
85
  children: metaList.map(meta => ({
@@ -94,15 +93,15 @@ export class FlowHeaderComponent {
94
93
  }));
95
94
  }
96
95
  }
97
- FlowHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowHeaderComponent, deps: [{ token: i1.UITemplatesApiService }, { token: i2.FlowStateService }, { token: i2.FlowInfoService }, { token: i3.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
96
+ FlowHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowHeaderComponent, deps: [{ token: i1.UITemplatesAdminApiService }, { token: i2.FlowStateService }, { token: i2.FlowInfoService }, { token: i3.ToastService }, { token: FLOW_CUSTOMIZATION, optional: true }], target: i0.ɵɵFactoryTarget.Component });
98
97
  FlowHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FlowHeaderComponent, selector: "vl-flow-new-header", ngImport: i0, template: "<ng-container *ngIf=\"uiDefinition$ | async as uiDefinition\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n</ng-container>\n", styles: [":host,vl-cms-preview{display:contents}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PreviewComponent, selector: "vl-cms-preview", inputs: ["uiDefinition", "config"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowHeaderComponent, decorators: [{
100
99
  type: Component,
101
100
  args: [{ selector: 'vl-flow-new-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"uiDefinition$ | async as uiDefinition\">\n <vl-cms-preview [uiDefinition]=\"uiDefinition\"></vl-cms-preview>\n</ng-container>\n", styles: [":host,vl-cms-preview{display:contents}\n"] }]
102
- }], ctorParameters: function () { return [{ type: i1.UITemplatesApiService }, { type: i2.FlowStateService }, { type: i2.FlowInfoService }, { type: i3.ToastService }, { type: undefined, decorators: [{
101
+ }], ctorParameters: function () { return [{ type: i1.UITemplatesAdminApiService }, { type: i2.FlowStateService }, { type: i2.FlowInfoService }, { type: i3.ToastService }, { type: undefined, decorators: [{
103
102
  type: Optional
104
103
  }, {
105
104
  type: Inject,
106
105
  args: [FLOW_CUSTOMIZATION]
107
106
  }] }]; } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZmxvdy1oZWFkZXIvZmxvdy1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZmxvdy1oZWFkZXIvZmxvdy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBcUIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEgsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBRUgsRUFBRSxFQUNGLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVFkLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFDVSxZQUFtQyxFQUNuQyxnQkFBa0MsRUFDbEMsUUFBeUIsRUFDekIsWUFBMEIsRUFDYyxvQkFBd0M7UUFKaEYsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBQ25DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDYyx5QkFBb0Is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O2FBQ0osQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2dIQWpIVSxtQkFBbUIsa0pBV1Isa0JBQWtCO29HQVg3QixtQkFBbUIsMERDMUJoQyx3SkFHQTsyRkR1QmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNOzswQkFhNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJVGVtcGxhdGVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaS92Mic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50QXR0YWNobWVudHMsIFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgYnRvYVNhZmUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IEZsb3dDdXN0b21pemF0aW9uLCBGbG93SW5mb1NlcnZpY2UsIEZsb3dTdGF0ZVNlcnZpY2UsIEZMT1dfQ1VTVE9NSVpBVElPTiB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBmaXJzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctbmV3LWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbG93LWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zsb3ctaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVJRGVmaW5pdGlvbiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgdGVtcGxhdGVBcGlOYW1lID0gJyc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVzQXBpOiBVSVRlbXBsYXRlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93U3RhdGVTZXJ2aWNlOiBGbG93U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm86IEZsb3dJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRkxPV19DVVNUT01JWkFUSU9OKSBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlPzogRmxvd0N1c3RvbWl6YXRpb24sXG4gICkge1xuICAgIC8vIHdhaXQgdW50aWwgZmxvdyBpcyBpbml0aWFsaXplZFxuICAgIHRoaXMuZmxvd1N0YXRlU2VydmljZVxuICAgICAgLmlzSW5pdGlhbGl6ZWQkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmluaXRpYWxpemUoKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wbGF0ZUFwaU5hbWUgPSB0aGlzLmZsb3dJbmZvLmZsb3c/LnByb3BlcnRpZXMudGVtcGxhdGVzPy5mbG93SGVhZGVyID8/ICcnO1xuXG4gICAgdGhpcy5nZW5lcmF0ZVVJRGVmaW5pdGlvbiQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCh1aURlZiA9PiB7XG4gICAgICAgICAgaWYgKCF1aURlZikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb21wb25lbnQgd2l0aCBuYW1lICcke3RoaXMudGVtcGxhdGVBcGlOYW1lfScgbm90IGZvdW5kLmApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudWlEZWZpbml0aW9uJC5uZXh0KHVpRGVmKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ0ZhaWxlZCB0byByZXNvbHZlIEZsb3cgSGVhZGVyIGNvbXBvbmVudC4gJyArIChlcnIubWVzc2FnZSA/PyAnJyk7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IFRvYXN0VHlwZS5lcnJvciwgc3VtbWFyeTogbWVzc2FnZSwgc3RpY2t5OiB0cnVlIH0pO1xuICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2NhbE1ldGEkKCk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHNbXSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VGVtcGxhdGVDb21wb25lbnRzKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VGVtcGxhdGVDb21wb25lbnRzKHRoaXMudGVtcGxhdGVBcGlOYW1lKS5waXBlKFxuICAgICAgbWFwKGNvbXBvbmVudHMgPT4ge1xuICAgICAgICBpZiAoIWNvbXBvbmVudHMpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50cy5tYXA8Q29tcG9uZW50QXR0YWNobWVudHM+KGNvbXBvbmVudCA9PiAoe1xuICAgICAgICAgIGh0bWw6IGNvbXBvbmVudC5odG1sLFxuICAgICAgICAgIGNzczogY29tcG9uZW50LmNzcyxcbiAgICAgICAgICBqczogY29tcG9uZW50LmpzLFxuICAgICAgICAgIGpzb246IGNvbXBvbmVudC5qc29uLFxuICAgICAgICB9KSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcmdNZXRhJCgpOiBPYnNlcnZhYmxlPENvbXBvbmVudEF0dGFjaG1lbnRzW10gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMuZmxvd0luZm8udGVtcGxhdGVzLkZMT1dfSEVBREVSO1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlc0FwaS5mZXRjaENvbXBvbmVudHNBdHRhY2htZW50cyQodGVtcGxhdGUuaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVVJRGVmaW5pdGlvbiQoKTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlQXBpTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZsb3cgJ2Zsb3dIZWFkZXInIHRlbXBsYXRlIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRMb2NhbE1ldGEkKCkpLFxuICAgICAgc3dpdGNoTWFwKG1ldGFMaXN0ID0+IChtZXRhTGlzdCA/IG9mKG1ldGFMaXN0KSA6IHRoaXMuZ2V0T3JnTWV0YSQoKSkpLFxuICAgICAgbWFwKG1ldGFMaXN0ID0+IHtcbiAgICAgICAgaWYgKCFtZXRhTGlzdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVpRGVmOiBVSURlZmluaXRpb24gPSB7XG4gICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgY3JlYXRlZFRpbWVzdGFtcDogMCxcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdERUZBVUxUJyxcbiAgICAgICAgICB2ZXJzaW9uOiAyLFxuICAgICAgICAgIGNoaWxkcmVuOiBtZXRhTGlzdC5tYXAobWV0YSA9PiAoe1xuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgdGVtcGxhdGU6IG1ldGEuaHRtbCAmJiBidG9hU2FmZShtZXRhLmh0bWwpLFxuICAgICAgICAgICAgc2NyaXB0OiBtZXRhLmpzICYmIGJ0b2FTYWZlKG1ldGEuanMpLFxuICAgICAgICAgICAgc3R5bGVzOiBtZXRhLmNzcyAmJiBidG9hU2FmZShtZXRhLmNzcyksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB1aURlZjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1aURlZmluaXRpb24kIHwgYXN5bmMgYXMgdWlEZWZpbml0aW9uXCI+XG4gIDx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cInVpRGVmaW5pdGlvblwiPjwvdmwtY21zLXByZXZpZXc+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZmxvdy1oZWFkZXIvZmxvdy1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZmxvdy1oZWFkZXIvZmxvdy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBcUIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEgsT0FBTyxFQUNMLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBRUgsRUFBRSxFQUNGLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVFkLE1BQU0sT0FBTyxtQkFBbUI7SUFNOUIsWUFDVSx3QkFBb0QsRUFDcEQsZ0JBQWtDLEVBQ2xDLFFBQXlCLEVBQ3pCLFlBQTBCLEVBQ2Msb0JBQXdDO1FBSmhGLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBNEI7UUFDcEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNjLHlC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RixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOztnSEFoSFUsbUJBQW1CLHVKQVdSLGtCQUFrQjtvR0FYN0IsbUJBQW1CLDBEQzFCaEMsd0pBR0E7MkZEdUJhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs7MEJBYTVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVRlbXBsYXRlc0FkbWluQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaS92Mic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50QXR0YWNobWVudHMsIFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgYnRvYVNhZmUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IEZsb3dDdXN0b21pemF0aW9uLCBGbG93SW5mb1NlcnZpY2UsIEZsb3dTdGF0ZVNlcnZpY2UsIEZMT1dfQ1VTVE9NSVpBVElPTiB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBmaXJzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWZsb3ctbmV3LWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbG93LWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zsb3ctaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFVJRGVmaW5pdGlvbiB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgdGVtcGxhdGVBcGlOYW1lID0gJyc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVzQWRtaW5BcGlTZXJ2aWNlOiBVSVRlbXBsYXRlc0FkbWluQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dTdGF0ZVNlcnZpY2U6IEZsb3dTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93SW5mbzogRmxvd0luZm9TZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGTE9XX0NVU1RPTUlaQVRJT04pIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U/OiBGbG93Q3VzdG9taXphdGlvbixcbiAgKSB7XG4gICAgLy8gd2FpdCB1bnRpbCBmbG93IGlzIGluaXRpYWxpemVkXG4gICAgdGhpcy5mbG93U3RhdGVTZXJ2aWNlXG4gICAgICAuaXNJbml0aWFsaXplZCQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaW5pdGlhbGl6ZSgpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBsYXRlQXBpTmFtZSA9IHRoaXMuZmxvd0luZm8uZmxvdz8ucHJvcGVydGllcy50ZW1wbGF0ZXM/LmZsb3dIZWFkZXIgPz8gJyc7XG5cbiAgICB0aGlzLmdlbmVyYXRlVUlEZWZpbml0aW9uJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHVpRGVmID0+IHtcbiAgICAgICAgICBpZiAoIXVpRGVmKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbXBvbmVudCB3aXRoIG5hbWUgJyR7dGhpcy50ZW1wbGF0ZUFwaU5hbWV9JyBub3QgZm91bmQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24kLm5leHQodWlEZWYpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnRmFpbGVkIHRvIHJlc29sdmUgRmxvdyBIZWFkZXIgY29tcG9uZW50LiAnICsgKGVyci5tZXNzYWdlID8/ICcnKTtcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBtZXNzYWdlLCBzdGlja3k6IHRydWUgfSk7XG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsTWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudHMpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudHModGhpcy50ZW1wbGF0ZUFwaU5hbWUpLnBpcGUoXG4gICAgICBtYXAoY29tcG9uZW50cyA9PiB7XG4gICAgICAgIGlmICghY29tcG9uZW50cykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRzLm1hcDxDb21wb25lbnRBdHRhY2htZW50cz4oY29tcG9uZW50ID0+ICh7XG4gICAgICAgICAgaHRtbDogY29tcG9uZW50Lmh0bWwsXG4gICAgICAgICAgY3NzOiBjb21wb25lbnQuY3NzLFxuICAgICAgICAgIGpzOiBjb21wb25lbnQuanMsXG4gICAgICAgICAganNvbjogY29tcG9uZW50Lmpzb24sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldE9yZ01ldGEkKCk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHNbXSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5mbG93SW5mby50ZW1wbGF0ZXMuRkxPV19IRUFERVI7XG4gICAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzQWRtaW5BcGlTZXJ2aWNlLmZldGNoQ29tcG9uZW50c0F0dGFjaG1lbnRzJCh0ZW1wbGF0ZS5pZCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVUlEZWZpbml0aW9uJCgpOiBPYnNlcnZhYmxlPFVJRGVmaW5pdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMudGVtcGxhdGVBcGlOYW1lKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmxvdyAnZmxvd0hlYWRlcicgdGVtcGxhdGUgaXMgbm90IGRlZmluZWQuXCIpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldExvY2FsTWV0YSQoKSksXG4gICAgICBzd2l0Y2hNYXAobWV0YUxpc3QgPT4gKG1ldGFMaXN0ID8gb2YobWV0YUxpc3QpIDogdGhpcy5nZXRPcmdNZXRhJCgpKSksXG4gICAgICBtYXAobWV0YUxpc3QgPT4ge1xuICAgICAgICBpZiAoIW1ldGFMaXN0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdWlEZWY6IFVJRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICBjcmVhdGVkVGltZXN0YW1wOiAwLFxuICAgICAgICAgIHR5cGU6ICdERUZBVUxUJyxcbiAgICAgICAgICB2ZXJzaW9uOiAyLFxuICAgICAgICAgIGNoaWxkcmVuOiBtZXRhTGlzdC5tYXAobWV0YSA9PiAoe1xuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgdGVtcGxhdGU6IG1ldGEuaHRtbCAmJiBidG9hU2FmZShtZXRhLmh0bWwpLFxuICAgICAgICAgICAgc2NyaXB0OiBtZXRhLmpzICYmIGJ0b2FTYWZlKG1ldGEuanMpLFxuICAgICAgICAgICAgc3R5bGVzOiBtZXRhLmNzcyAmJiBidG9hU2FmZShtZXRhLmNzcyksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB1aURlZjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ1aURlZmluaXRpb24kIHwgYXN5bmMgYXMgdWlEZWZpbml0aW9uXCI+XG4gIDx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cInVpRGVmaW5pdGlvblwiPjwvdmwtY21zLXByZXZpZXc+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==