@veloceapps/sdk 5.0.9 → 5.0.11

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 (109) hide show
  1. package/bundles/veloce-sdk-cms.umd.js +102 -51
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -1
  3. package/bundles/veloce-sdk-core.umd.js.map +1 -1
  4. package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
  5. package/bundles/veloce-sdk.umd.js +4 -2
  6. package/bundles/veloce-sdk.umd.js.map +1 -1
  7. package/cms/components/element-renderer/element-renderer.component.d.ts +1 -0
  8. package/cms/services/launcher.service.d.ts +3 -3
  9. package/cms/types/compilation.types.d.ts +6 -0
  10. package/cms/types/index.d.ts +1 -0
  11. package/cms/utils/elements-resolver.d.ts +3 -0
  12. package/cms/vendor-map.d.ts +124 -116
  13. package/core/modules/configuration/services/configuration-runtime.service.d.ts +1 -1
  14. package/esm2015/cms/components/element-renderer/element-renderer.component.js +23 -2
  15. package/esm2015/cms/components/element.component.js +1 -1
  16. package/esm2015/cms/components/preview/preview.component.js +7 -4
  17. package/esm2015/cms/decorators/element.decorator.js +1 -1
  18. package/esm2015/cms/directives/custom-template.directive.js +1 -1
  19. package/esm2015/cms/engine/models/entity.js +1 -1
  20. package/esm2015/cms/modules/federated/federated.component.js +1 -1
  21. package/esm2015/cms/modules/federated/federated.utils.js +1 -1
  22. package/esm2015/cms/plugins/configuration.plugin.js +1 -1
  23. package/esm2015/cms/plugins/script.plugin.js +1 -1
  24. package/esm2015/cms/services/dynamic-module.service.js +1 -1
  25. package/esm2015/cms/services/element-context.service.js +1 -1
  26. package/esm2015/cms/services/integration.state.js +1 -1
  27. package/esm2015/cms/services/launcher.service.js +10 -10
  28. package/esm2015/cms/services/templates.service.js +1 -1
  29. package/esm2015/cms/types/compilation.types.js +2 -0
  30. package/esm2015/cms/types/index.js +2 -1
  31. package/esm2015/cms/utils/element.utils.js +1 -1
  32. package/esm2015/cms/utils/elements-resolver.js +52 -30
  33. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +1 -1
  34. package/esm2015/core/modules/configuration/services/configuration.service.js +1 -1
  35. package/esm2015/core/modules/configuration/services/runtime-context.service.js +1 -1
  36. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +1 -1
  37. package/esm2015/core/services/context.service.js +1 -1
  38. package/esm2015/core/services/quote-draft.service.js +1 -1
  39. package/esm2015/core/utils/line-item.utils.js +1 -1
  40. package/esm2015/runtime/components/component-preview/component-preview.component.js +1 -1
  41. package/esm2015/runtime/components/section-renderer/section-renderer.component.js +1 -1
  42. package/esm2015/runtime/components/ui-runtime/runtime.component.js +1 -1
  43. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +1 -1
  44. package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +1 -1
  45. package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +1 -1
  46. package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +1 -1
  47. package/esm2015/runtime/execution/components/federated/federated.component.js +1 -1
  48. package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +1 -1
  49. package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +1 -1
  50. package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +1 -1
  51. package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +1 -1
  52. package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +1 -1
  53. package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +1 -1
  54. package/esm2015/runtime/execution/directives/section-script.directive.js +1 -1
  55. package/esm2015/runtime/execution/directives/sf-query.directive.js +1 -1
  56. package/esm2015/runtime/execution/directives/velo-attribute.directive.js +1 -1
  57. package/esm2015/runtime/execution/directives/velo-port.directive.js +1 -1
  58. package/esm2015/runtime/execution/directives/vl-approval.directive.js +1 -1
  59. package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +1 -1
  60. package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +1 -1
  61. package/esm2015/runtime/execution/directives/vl-quote.directive.js +1 -1
  62. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +1 -1
  63. package/esm2015/runtime/execution/utils/federated.util.js +1 -1
  64. package/esm2015/runtime/services/cart.service.js +1 -1
  65. package/esm2015/runtime/services/collapsible-state.service.js +1 -1
  66. package/esm2015/runtime/services/configuration.service.js +1 -1
  67. package/esm2015/runtime/services/current-state.service.js +1 -1
  68. package/esm2015/runtime/services/form-scope.service.js +1 -1
  69. package/esm2015/runtime/services/product-model-cache.service.js +1 -1
  70. package/esm2015/runtime/services/runtime-context.service.js +1 -1
  71. package/esm2015/runtime/services/runtime-form.service.js +2 -2
  72. package/esm2015/runtime/services/runtime.service.js +1 -1
  73. package/esm2015/runtime/services/section-helper.service.js +1 -1
  74. package/esm2015/runtime/services/section-scope.service.js +1 -1
  75. package/esm2015/runtime/services/section-store.service.js +1 -1
  76. package/esm2015/runtime/services/section.service.js +1 -1
  77. package/esm2015/runtime/types/script-registry.types.js +1 -1
  78. package/esm2015/runtime/utils/line-item.util.js +1 -1
  79. package/esm2015/runtime/utils/sections-binder.helper.js +1 -1
  80. package/esm2015/src/components/dialog/dialog.component.js +1 -1
  81. package/esm2015/src/components/doc-gen/doc-gen.component.js +2 -2
  82. package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +2 -2
  83. package/esm2015/src/components/header/header.component.js +4 -2
  84. package/esm2015/src/components/header/metrics/metrics.component.js +1 -1
  85. package/esm2015/src/flow-routing.module.js +1 -1
  86. package/esm2015/src/flow.component.js +1 -1
  87. package/esm2015/src/guards/product-unload.guard.js +1 -1
  88. package/esm2015/src/guards/root.guard.js +1 -1
  89. package/esm2015/src/pages/catalog/catalog.component.js +1 -1
  90. package/esm2015/src/pages/debug/debug.component.js +1 -1
  91. package/esm2015/src/pages/legacy-product/legacy-product.component.js +1 -1
  92. package/esm2015/src/pages/product/product.component.js +1 -1
  93. package/esm2015/src/pages/record-not-found/record-not-found.component.js +1 -1
  94. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +1 -1
  95. package/esm2015/src/resolvers/flow.resolver.js +1 -1
  96. package/esm2015/src/resolvers/quote.resolver.js +1 -1
  97. package/esm2015/src/services/flow-router.service.js +1 -1
  98. package/fesm2015/veloce-sdk-cms.js +86 -40
  99. package/fesm2015/veloce-sdk-cms.js.map +1 -1
  100. package/fesm2015/veloce-sdk-core.js.map +1 -1
  101. package/fesm2015/veloce-sdk-runtime.js +1 -1
  102. package/fesm2015/veloce-sdk-runtime.js.map +1 -1
  103. package/fesm2015/veloce-sdk.js +4 -2
  104. package/fesm2015/veloce-sdk.js.map +1 -1
  105. package/package.json +1 -1
  106. package/runtime/services/runtime-form.service.d.ts +3 -3
  107. package/runtime/utils/line-item.util.d.ts +1 -1
  108. package/src/guards/product-unload.guard.d.ts +2 -1
  109. package/src/resolvers/flow.resolver.d.ts +1 -1
@@ -53,4 +53,4 @@ RuntimeContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RuntimeContextService, decorators: [{
54
54
  type: Injectable
55
55
  }], ctorParameters: function () { return [{ type: i1.ConfigurationApiService }, { type: i2.MessageService }, { type: i3.ContextService }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQWdCLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUlyQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ1UsdUJBQWdELEVBQ2hELGNBQThCLEVBQzlCLGNBQThCO1FBRjlCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNyQyxDQUFDO0lBRUosaUJBQWlCLENBQUMsU0FBaUIsRUFBRSxVQUFtQjtRQUN0RCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7O1lBQ2hCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEYsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FDL0IsTUFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxtQ0FBSSxFQUFFLENBQUM7WUFFMUYsT0FBTztnQkFDTCxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzVCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxJQUFJO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsV0FBVyxFQUFFLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFdBQVcsS0FBSSxXQUFXO2dCQUNuRCxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGNBQWMsRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87aUJBQy9EO2FBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLGdCQUFnQyxFQUFFO1FBQ3hELE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXpELE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekcsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxzQkFBUyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDO1FBRTdHLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBQztZQUVsRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU8sRUFBRSxPQUFPO2FBQ2pCLENBQUMsQ0FBQztZQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekI7UUFFRCxlQUFlLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7O21IQW5EVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQgeyBSdW50aW1lTW9kZWwsIFNlY3Rpb25QYXRoVXRpbCwgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBSdW50aW1lTW9kZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVDb250ZXh0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbkFwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgZ2V0UnVudGltZUNvbnRleHQocHJvZHVjdElkOiBzdHJpbmcsIG9mZmVyaW5nSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPExlZ2FjeVJ1bnRpbWVDb250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbkFwaVNlcnZpY2UuZ2V0UnVudGltZURhdGFCeVByb2R1Y3RJZChwcm9kdWN0SWQsIG9mZmVyaW5nSWQpLnBpcGUoXG4gICAgICBtYXAocnVudGltZURhdGEgPT4ge1xuICAgICAgICBjb25zdCB1aURlZmluaXRpb24gPSB0aGlzLmdldFVJRGVmaW5pdGlvbihydW50aW1lRGF0YS51aURlZmluaXRpb25zKTtcbiAgICAgICAgY29uc3QgcnVudGltZU1vZGVsID0gUnVudGltZU1vZGVsLmNyZWF0ZShydW50aW1lRGF0YS50eXBlcywgcnVudGltZURhdGEucHJvZHVjdHMpO1xuICAgICAgICBjb25zdCB7IHByb2R1Y3ROYW1lLCBwcm9wZXJ0aWVzIH0gPVxuICAgICAgICAgIEFycmF5LmZyb20ocnVudGltZU1vZGVsLmNvbXBvbmVudHMudmFsdWVzKCkpLmZpbmQoYyA9PiBjLnByb2R1Y3RJZCA9PT0gcHJvZHVjdElkKSA/PyB7fTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG1vZGVsSWQ6IHJ1bnRpbWVEYXRhLm1vZGVsSWQsXG4gICAgICAgICAgdWlEZWZpbml0aW9uOiB1aURlZmluaXRpb24sXG4gICAgICAgICAgcnVudGltZU1vZGVsOiBydW50aW1lTW9kZWwsXG4gICAgICAgICAgcnVudGltZU1vZGU6IFJ1bnRpbWVNb2RlLlBST0QsXG4gICAgICAgICAgcHJvZHVjdElkOiBwcm9kdWN0SWQsXG4gICAgICAgICAgcHJvZHVjdFR5cGU6IHByb3BlcnRpZXM/LmRpc3BsYXlOYW1lIHx8IHByb2R1Y3ROYW1lLFxuICAgICAgICAgIG9mZmVyaW5nSWQ6IG9mZmVyaW5nSWQsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IHVpRGVmaW5pdGlvbi5wcmljaW5nRW5hYmxlZCA/ICd0cnVlJyA6ICdmYWxzZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFVJRGVmaW5pdGlvbih1aURlZmluaXRpb25zOiBVSURlZmluaXRpb25bXSA9IFtdKSB7XG4gICAgY29uc3QgeyB1aURlZmluaXRpb25JZCB9ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICBjb25zdCBmaW5kQnlGbiA9ICh1aURlZjogVUlEZWZpbml0aW9uKSA9PiAodWlEZWZpbml0aW9uSWQgPyB1aURlZmluaXRpb25JZCA9PT0gdWlEZWYuaWQgOiB1aURlZi5wcmltYXJ5KTtcblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvbiA9IHVpRGVmaW5pdGlvbnMuZmluZChmaW5kQnlGbikgfHwgKHVpRGVmaW5pdGlvbnMubGVuZ3RoID09PSAxICYmIHsgLi4udWlEZWZpbml0aW9uc1swXSB9KTtcblxuICAgIGlmICghdWlEZWZpbml0aW9uKSB7XG4gICAgICBjb25zdCBlcnJNc2cgPSBgVW5hYmxlIHRvIGZpbmQgJHt1aURlZmluaXRpb25JZCA/IHVpRGVmaW5pdGlvbklkIDogJ0RlZmF1bHQnfSBVSWA7XG5cbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgIHN1bW1hcnk6ICdFUlJPUicsXG4gICAgICB9KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJNc2cpO1xuICAgIH1cblxuICAgIFNlY3Rpb25QYXRoVXRpbC51cGRhdGVTZWN0aW9uc1BhdGgodWlEZWZpbml0aW9uLnNlY3Rpb25zKTtcblxuICAgIHJldHVybiB1aURlZmluaXRpb247XG4gIH1cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQWdCLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUlyQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQ1UsdUJBQWdELEVBQ2hELGNBQThCLEVBQzlCLGNBQThCO1FBRjlCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNyQyxDQUFDO0lBRUcsaUJBQWlCLENBQUMsU0FBaUIsRUFBRSxVQUFtQjtRQUM3RCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7O1lBQ2hCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEYsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FDL0IsTUFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxtQ0FBSSxFQUFFLENBQUM7WUFFMUYsT0FBTztnQkFDTCxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzVCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxJQUFJO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsV0FBVyxFQUFFLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFdBQVcsS0FBSSxXQUFXO2dCQUNuRCxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGNBQWMsRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87aUJBQy9EO2FBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLGdCQUFnQyxFQUFFO1FBQ3hELE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXpELE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBbUIsRUFBVyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEgsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxzQkFBUyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDO1FBRTdHLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBQztZQUVsRixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU8sRUFBRSxPQUFPO2FBQ2pCLENBQUMsQ0FBQztZQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekI7UUFFRCxlQUFlLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7O21IQW5EVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQgeyBSdW50aW1lTW9kZWwsIFNlY3Rpb25QYXRoVXRpbCwgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBSdW50aW1lTW9kZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVDb250ZXh0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbkFwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVDb250ZXh0KHByb2R1Y3RJZDogc3RyaW5nLCBvZmZlcmluZ0lkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxMZWdhY3lSdW50aW1lQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLmdldFJ1bnRpbWVEYXRhQnlQcm9kdWN0SWQocHJvZHVjdElkLCBvZmZlcmluZ0lkKS5waXBlKFxuICAgICAgbWFwKHJ1bnRpbWVEYXRhID0+IHtcbiAgICAgICAgY29uc3QgdWlEZWZpbml0aW9uID0gdGhpcy5nZXRVSURlZmluaXRpb24ocnVudGltZURhdGEudWlEZWZpbml0aW9ucyk7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWVNb2RlbCA9IFJ1bnRpbWVNb2RlbC5jcmVhdGUocnVudGltZURhdGEudHlwZXMsIHJ1bnRpbWVEYXRhLnByb2R1Y3RzKTtcbiAgICAgICAgY29uc3QgeyBwcm9kdWN0TmFtZSwgcHJvcGVydGllcyB9ID1cbiAgICAgICAgICBBcnJheS5mcm9tKHJ1bnRpbWVNb2RlbC5jb21wb25lbnRzLnZhbHVlcygpKS5maW5kKGMgPT4gYy5wcm9kdWN0SWQgPT09IHByb2R1Y3RJZCkgPz8ge307XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtb2RlbElkOiBydW50aW1lRGF0YS5tb2RlbElkLFxuICAgICAgICAgIHVpRGVmaW5pdGlvbjogdWlEZWZpbml0aW9uLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbDogcnVudGltZU1vZGVsLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlOiBSdW50aW1lTW9kZS5QUk9ELFxuICAgICAgICAgIHByb2R1Y3RJZDogcHJvZHVjdElkLFxuICAgICAgICAgIHByb2R1Y3RUeXBlOiBwcm9wZXJ0aWVzPy5kaXNwbGF5TmFtZSB8fCBwcm9kdWN0TmFtZSxcbiAgICAgICAgICBvZmZlcmluZ0lkOiBvZmZlcmluZ0lkLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIFByaWNpbmdFbmFibGVkOiB1aURlZmluaXRpb24ucHJpY2luZ0VuYWJsZWQgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVSURlZmluaXRpb24odWlEZWZpbml0aW9uczogVUlEZWZpbml0aW9uW10gPSBbXSk6IFVJRGVmaW5pdGlvbiB7XG4gICAgY29uc3QgeyB1aURlZmluaXRpb25JZCB9ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICBjb25zdCBmaW5kQnlGbiA9ICh1aURlZjogVUlEZWZpbml0aW9uKTogYm9vbGVhbiA9PiAodWlEZWZpbml0aW9uSWQgPyB1aURlZmluaXRpb25JZCA9PT0gdWlEZWYuaWQgOiB1aURlZi5wcmltYXJ5KTtcblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvbiA9IHVpRGVmaW5pdGlvbnMuZmluZChmaW5kQnlGbikgfHwgKHVpRGVmaW5pdGlvbnMubGVuZ3RoID09PSAxICYmIHsgLi4udWlEZWZpbml0aW9uc1swXSB9KTtcblxuICAgIGlmICghdWlEZWZpbml0aW9uKSB7XG4gICAgICBjb25zdCBlcnJNc2cgPSBgVW5hYmxlIHRvIGZpbmQgJHt1aURlZmluaXRpb25JZCA/IHVpRGVmaW5pdGlvbklkIDogJ0RlZmF1bHQnfSBVSWA7XG5cbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgIHN1bW1hcnk6ICdFUlJPUicsXG4gICAgICB9KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJNc2cpO1xuICAgIH1cblxuICAgIFNlY3Rpb25QYXRoVXRpbC51cGRhdGVTZWN0aW9uc1BhdGgodWlEZWZpbml0aW9uLnNlY3Rpb25zKTtcblxuICAgIHJldHVybiB1aURlZmluaXRpb247XG4gIH1cbn1cbiJdfQ==
@@ -186,7 +186,7 @@ export class RuntimeFormService {
186
186
  return validators.length !== 0 ? validators : null;
187
187
  }
188
188
  getQuantityValidator(max, originalQty) {
189
- return control => {
189
+ return (control) => {
190
190
  if (!control.value) {
191
191
  return { quantity: { message: 'Required' } };
192
192
  }
@@ -221,4 +221,4 @@ export class FormServiceUtils {
221
221
  return EntityUtil.findByFieldHierarchically('id', parentId, lineItems, 'lineItems');
222
222
  }
223
223
  }
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFpQyxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekYsT0FBTyxFQUFjLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUd2RSxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRUUsYUFBUSxHQUFjLEVBQUUsQ0FBQztLQTRPMUI7SUF6T0MsUUFBUSxDQUFDLFFBQW1CLEVBQUUsZ0JBQTBCO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUV6QyxNQUFNLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQixRQUFRO2FBQ0wsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7YUFDekUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxvQkFBb0IsQ0FB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LENBQUM7SUFDSixDQUFDOztnSEE1T1Usa0JBQWtCO29IQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7QUFnUFgsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWdCO1FBQ25DLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEtBQUssYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFnQjtRQUNuQyxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxLQUFLLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFnQjtRQUN4QyxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxLQUFLLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBZ0IsRUFBRSxTQUFxQjtRQUN2RCxPQUFPLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0RixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVudGl0eVV0aWwsIExpbmVJdGVtLCBQcmljZVZhbHVlLCBTZWN0aW9uLCBUeXBlVmFsaWRhdG9ycyB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5LCBpc051bGwsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZCwga2V5cyB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCb3VuZERhdGFUeXBlIH0gZnJvbSAnLi4vdHlwZXMvYm91bmQtZGF0YS50eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVV0aWwgfSBmcm9tICcuLi91dGlscy9saW5lLWl0ZW0udXRpbCc7XG5pbXBvcnQgeyBTZWN0aW9uc0JpbmRlckhlbHBlciB9IGZyb20gJy4uL3V0aWxzL3NlY3Rpb25zLWJpbmRlci5oZWxwZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUnVudGltZUZvcm1TZXJ2aWNlIHtcbiAgc2VjdGlvbnM6IFNlY3Rpb25bXSA9IFtdO1xuICBzb2x1dGlvbkxpbmVJdGVtPzogTGluZUl0ZW07XG5cbiAgaW5pdEZvcm0oc2VjdGlvbnM6IFNlY3Rpb25bXSwgc29sdXRpb25MaW5lSXRlbTogTGluZUl0ZW0pOiBGb3JtR3JvdXAge1xuICAgIHRoaXMuc2VjdGlvbnMgPSBzZWN0aW9ucztcbiAgICB0aGlzLnNvbHV0aW9uTGluZUl0ZW0gPSBzb2x1dGlvbkxpbmVJdGVtO1xuXG4gICAgY29uc3QgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gICAgc2VjdGlvbnNcbiAgICAgIC5maWx0ZXIoc2VjdGlvbiA9PiBzZWN0aW9uLm1vZGVsICYmIHNlY3Rpb24udGVtcGxhdGUgJiYgc2VjdGlvbi5ib3VuZERhdGEpXG4gICAgICAuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZVNlY3Rpb25WYWx1ZShzZWN0aW9uKTtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZVNlY3Rpb25QcmljZShzZWN0aW9uKTtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUZvcm1Db250cm9scyhzZWN0aW9uLCBmb3JtKTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGZvcm07XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlU2VjdGlvblZhbHVlKHNlY3Rpb246IFNlY3Rpb24pIHtcbiAgICBsZXQgdmFsdWU7XG4gICAgbGV0IHZhbHVlT3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgZGlzcGxheVZhbHVlczogRGljdGlvbmFyeTxzdHJpbmc+ID0ge307XG4gICAgbGV0IHByb3BlcnRpZXM6IERpY3Rpb25hcnk8YW55PiA9IHt9O1xuXG4gICAgaWYgKEZvcm1TZXJ2aWNlVXRpbHMuaXNQb3J0U2VjdGlvbihzZWN0aW9uKSkge1xuICAgICAgY29uc3QgcG9ydERvbWFpbiA9IHNlY3Rpb24ubW9kZWw/LnBvcnREb21haW5zW3NlY3Rpb24uYm91bmREYXRhLm5hbWVdO1xuXG4gICAgICB2YWx1ZU9wdGlvbnMgPSBwb3J0RG9tYWluPy5kb21haW5UeXBlcy5tYXAoZHQgPT4gZHQubmFtZSkgPz8gW107XG4gICAgICBwcm9wZXJ0aWVzID1cbiAgICAgICAgcG9ydERvbWFpbj8uZG9tYWluVHlwZXMucmVkdWNlPERpY3Rpb25hcnk8YW55Pj4oZnVuY3Rpb24gKG1hcCwgZHQpIHtcbiAgICAgICAgICBtYXBbZHQubmFtZV0gPSBkdC5wcm9wZXJ0aWVzO1xuICAgICAgICAgIHJldHVybiBtYXA7XG4gICAgICAgIH0sIHt9KSA/PyB7fTtcbiAgICAgIGRpc3BsYXlWYWx1ZXMgPVxuICAgICAgICBwb3J0RG9tYWluPy5kb21haW5UeXBlcy5yZWR1Y2U8RGljdGlvbmFyeTxzdHJpbmc+PihmdW5jdGlvbiAobWFwLCBkdCkge1xuICAgICAgICAgIG1hcFtkdC5uYW1lXSA9IGR0LmRpc3BsYXlOYW1lO1xuICAgICAgICAgIHJldHVybiBtYXA7XG4gICAgICAgIH0sIHt9KSA/PyB7fTtcblxuICAgICAgdmFsdWUgPSBzZWN0aW9uLm1vZGVsPy5saW5lSXRlbXMubWFwKGxpID0+IGxpLnR5cGUpO1xuICAgIH1cblxuICAgIGlmIChGb3JtU2VydmljZVV0aWxzLmlzQXR0cmlidXRlU2VjdGlvbihzZWN0aW9uKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gc2VjdGlvbi5tb2RlbD8uYXR0cmlidXRlcy5maW5kKFxuICAgICAgICBhdHRyID0+IGF0dHIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lLnRvTG93ZXJDYXNlKCksXG4gICAgICApO1xuICAgICAgaWYgKGF0dHJpYnV0ZSkge1xuICAgICAgICB2YWx1ZSA9IGF0dHJpYnV0ZS52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXR0cmlidXRlRG9tYWluID0gc2VjdGlvbi5tb2RlbD8uYXR0cmlidXRlRG9tYWluc1tzZWN0aW9uLmJvdW5kRGF0YS5uYW1lXTtcblxuICAgICAgaWYgKCFhdHRyaWJ1dGU/LnR5cGUubWF0Y2goJ0dFTkVSSUN8Qk9PTEVBTicpICYmIGF0dHJpYnV0ZURvbWFpbikge1xuICAgICAgICBjb25zdCBjb3VudCA9XG4gICAgICAgICAgYXR0cmlidXRlICYmIGF0dHJpYnV0ZS5zY2FsZSAhPSBudWxsXG4gICAgICAgICAgICA/IExpbmVJdGVtVXRpbC5jb3VudEF0dHJpYnV0ZVZhbHVlcyhhdHRyaWJ1dGUuc2NhbGUsIGF0dHJpYnV0ZURvbWFpbilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChhdHRyaWJ1dGUgJiYgYXR0cmlidXRlLnNjYWxlICE9IG51bGwgJiYgY291bnQgJiYgY291bnQgPD0gMTAwKSB7XG4gICAgICAgICAgdmFsdWVPcHRpb25zID0gTGluZUl0ZW1VdGlsLnNwbGl0RG9tYWluVG9WYWx1ZXMoYXR0cmlidXRlLnNjYWxlLCBhdHRyaWJ1dGVEb21haW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbHVlT3B0aW9ucyA9IGF0dHJpYnV0ZURvbWFpbjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGVEb21haW4pIHtcbiAgICAgICAgdmFsdWVPcHRpb25zID0gYXR0cmlidXRlRG9tYWluO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghRW50aXR5VXRpbC5pc1ByZXNlbnQodmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIHNlY3Rpb24uc2VjdGlvblZhbHVlID0ge1xuICAgICAgdmFsdWUsXG4gICAgICB2YWx1ZU9wdGlvbnMsXG4gICAgICBkaXNwbGF5VmFsdWVzLFxuICAgICAgcHJvcGVydGllcyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZVNlY3Rpb25QcmljZShzZWN0aW9uOiBTZWN0aW9uKSB7XG4gICAgY29uc3QgcHJpY2VWYWx1ZTogUHJpY2VWYWx1ZSA9IHsgcHJpY2VPcHRpb25zOiB7fSB9O1xuXG4gICAgaWYgKEZvcm1TZXJ2aWNlVXRpbHMuaXNQb3J0U2VjdGlvbihzZWN0aW9uKSkge1xuICAgICAgY29uc3QgcG9ydERvbWFpbiA9IHNlY3Rpb24ubW9kZWw/LnBvcnREb21haW5zW3NlY3Rpb24uYm91bmREYXRhLm5hbWVdO1xuXG4gICAgICBpZiAocG9ydERvbWFpbikge1xuICAgICAgICBwb3J0RG9tYWluLmRvbWFpblR5cGVzLmZvckVhY2goZHQgPT4ge1xuICAgICAgICAgIGlmIChkdC5yZWNvbW1lbmRlZFByaWNlcyAmJiBkdC5yZWNvbW1lbmRlZFByaWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwcmljZVZhbHVlLnByaWNlT3B0aW9uc1tkdC5uYW1lXSA9IGR0LnJlY29tbWVuZGVkUHJpY2VzO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWxldGUgcHJpY2VWYWx1ZS5wcmljZU9wdGlvbnNbZHQubmFtZV07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uLnByaWNlVmFsdWUgPSBwcmljZVZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUZvcm1Db250cm9scyhzZWN0aW9uOiBTZWN0aW9uLCBmb3JtOiBGb3JtR3JvdXApIHtcbiAgICBmb3JtLmNvbnRyb2xzW3NlY3Rpb24uaWRdID0gdGhpcy5jcmVhdGVGb3JtQ29udHJvbChzZWN0aW9uKTtcblxuICAgIGlmIChGb3JtU2VydmljZVV0aWxzLmlzUG9ydFNlY3Rpb24oc2VjdGlvbikgfHwgRm9ybVNlcnZpY2VVdGlscy5pc1R5cGVTZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICBmb3JtLmNvbnRyb2xzW3NlY3Rpb24uaWQuY29uY2F0KCdxdHknKV0gPSB0aGlzLmNyZWF0ZVF0eUNvbnRyb2woc2VjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtQ29udHJvbChzZWN0aW9uOiBTZWN0aW9uKTogRm9ybUNvbnRyb2wge1xuICAgIGNvbnN0IHZhbHVlID0gRm9ybVNlcnZpY2VVdGlscy5pc1BvcnRTZWN0aW9uKHNlY3Rpb24pID8gdm9pZCAwIDogc2VjdGlvbi5zZWN0aW9uVmFsdWU/LnZhbHVlO1xuXG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbCh2YWx1ZSwgdGhpcy5nZXRGb3JtQ29udHJvbFZhbGlkYXRvcnMoc2VjdGlvbikpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVRdHlDb250cm9sKHNlY3Rpb246IFNlY3Rpb24pOiBGb3JtQ29udHJvbCB7XG4gICAgY29uc3QgaXNUeXBlU2VjdGlvbiA9IEZvcm1TZXJ2aWNlVXRpbHMuaXNUeXBlU2VjdGlvbihzZWN0aW9uKTtcblxuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBbXTtcblxuICAgIGNvbnN0IG1heEFsbG93ZWQgPSB0aGlzLmdldE1heEFsbG93ZWQoc2VjdGlvbik7XG5cbiAgICAvL1RPRE8gVEVNUE9SQVJZIFNPTFVUSU9OIChXSUxMIEJFIERJU0FCTEVEIE9OQ0UgUkFESU8gQ09OVFJPTFMgSU1QTEVNRU5URUQpXG4gICAgaWYgKG1heEFsbG93ZWQgPiAwKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5nZXRRdWFudGl0eVZhbGlkYXRvcihtYXhBbGxvd2VkLCBpc1R5cGVTZWN0aW9uID8gc2VjdGlvbi5tb2RlbD8ucXR5ID8/IDAgOiAwKSk7XG4gICAgfVxuXG4gICAgY29uc3QgcXR5VmFsdWUgPSBpc1R5cGVTZWN0aW9uID8gc2VjdGlvbi5tb2RlbD8ucXR5IDogMTtcblxuICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2wocXR5VmFsdWUsIHZhbGlkYXRvcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXhBbGxvd2VkKHNlY3Rpb246IFNlY3Rpb24pIHtcbiAgICBsZXQgbGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsO1xuICAgIGxldCBwb3J0TmFtZSA9IHNlY3Rpb24uYm91bmREYXRhLm5hbWU7XG5cbiAgICBpZiAoRm9ybVNlcnZpY2VVdGlscy5pc1R5cGVTZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICBpZiAoc2VjdGlvbi5tb2RlbCAmJiBFbnRpdHlVdGlsLmlzUHJlc2VudChzZWN0aW9uLm1vZGVsLnBhcmVudElkKSAmJiB0aGlzLnNvbHV0aW9uTGluZUl0ZW0pIHtcbiAgICAgICAgaWYgKHNlY3Rpb24ubW9kZWwucGFyZW50SWQpIHtcbiAgICAgICAgICBsaW5lSXRlbSA9IExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLnBhcmVudElkLCBbdGhpcy5zb2x1dGlvbkxpbmVJdGVtXSk7XG4gICAgICAgIH1cbiAgICAgICAgcG9ydE5hbWUgPSBzZWN0aW9uLm1vZGVsLnBvcnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWxpbmVJdGVtKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gU2VjdGlvbnNCaW5kZXJIZWxwZXIuZ2V0TWF4QWxsb3dlZChsaW5lSXRlbSwgcG9ydE5hbWUpO1xuICB9XG5cbiAgLy9UT0RPIEFMRSBUTyBTVVBQT1JUIEVNUFRZIFZBTFVFUyBGT1IgSU5URVJWQUwgQVRUUklCVVRFUyBPVVQgT0YgRE9NQUlOXG4gIHByaXZhdGUgZ2V0Rm9ybUNvbnRyb2xWYWxpZGF0b3JzKHNlY3Rpb246IFNlY3Rpb24pOiBWYWxpZGF0b3JGbltdIHwgbnVsbCB7XG4gICAgaWYgKCFGb3JtU2VydmljZVV0aWxzLmlzQXR0cmlidXRlU2VjdGlvbihzZWN0aW9uKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xuICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID1cbiAgICAgIHNlY3Rpb24ubW9kZWwgJiYgdGhpcy5zb2x1dGlvbkxpbmVJdGVtICYmIEZvcm1TZXJ2aWNlVXRpbHMuZmluZFBhcmVudChzZWN0aW9uLm1vZGVsLmlkLCBbdGhpcy5zb2x1dGlvbkxpbmVJdGVtXSk7XG4gICAgY29uc3QgYXR0cmlidXRlID1cbiAgICAgIHBhcmVudExpbmVJdGVtICYmXG4gICAgICBwYXJlbnRMaW5lSXRlbS5hdHRyaWJ1dGVzLmZpbmQoYXR0ciA9PiBhdHRyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gc2VjdGlvbi5ib3VuZERhdGEubmFtZS50b0xvd2VyQ2FzZSgpKTtcblxuICAgIGlmICghYXR0cmlidXRlIHx8ICFhdHRyaWJ1dGUudHlwZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVHlwZXNWYWxpZGF0b3JzOiBhbnkgPSB7XG4gICAgICBJTlQ6IFR5cGVWYWxpZGF0b3JzLmludGVnZXJWYWxpZGF0b3IoKSxcbiAgICAgICdET1VCTEV8REVDSU1BTCc6IFR5cGVWYWxpZGF0b3JzLmRlY2ltYWxWYWxpZGF0b3IoMTApLFxuICAgIH07XG5cbiAgICBrZXlzKHByaW1pdGl2ZVR5cGVzVmFsaWRhdG9ycykuZm9yRWFjaCh0eXBlcyA9PiB7XG4gICAgICBpZiAodHlwZXMubWF0Y2goYXR0cmlidXRlLnR5cGUpKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvciA9IHByaW1pdGl2ZVR5cGVzVmFsaWRhdG9yc1t0eXBlc107XG5cbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKHZhbGlkYXRvcik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoIWF0dHJpYnV0ZS50eXBlLm1hdGNoKCdHRU5FUklDfEJPT0xFQU58TVVMVElQTEUnKSkge1xuICAgICAgY29uc3Qgc2VjdGlvbkxhYmVsID0gc2VjdGlvbi5sYWJlbDtcblxuICAgICAgY29uc3QgaW50ZXJ2YWxWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gZnVuY3Rpb24gKGNvbnRyb2wpIHtcbiAgICAgICAgaWYgKGlzVW5kZWZpbmVkKGNvbnRyb2wudmFsdWUpIHx8IGlzTnVsbChjb250cm9sLnZhbHVlKSB8fCBpc05hTigrY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4geyBpbnRlcnZhbDogeyBtZXNzYWdlOiBzZWN0aW9uTGFiZWwgKyAnIGlzIG5vdCBpbiBkb21haW4nIH0gfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNVbmRlZmluZWQoY29udHJvbC52YWx1ZSkgJiYgaXNTdHJpbmcoY29udHJvbC52YWx1ZSkgJiYgY29udHJvbC52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZURvbWFpbiA9IHNlY3Rpb24ubW9kZWw/LmF0dHJpYnV0ZURvbWFpbnNbc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG5cbiAgICAgICAgY29uc3QgdmFsaWQgPSBhdHRyaWJ1dGVEb21haW4/LnNvbWUodmFsdWVPcHRpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IG1pbiA9ICt2YWx1ZU9wdGlvbi5taW47XG4gICAgICAgICAgY29uc3QgbWF4ID0gK3ZhbHVlT3B0aW9uLm1heDtcblxuICAgICAgICAgIHJldHVybiArY29udHJvbC52YWx1ZSA8PSBtYXggJiYgK2NvbnRyb2wudmFsdWUgPj0gbWluO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXZhbGlkKSB7XG4gICAgICAgICAgcmV0dXJuIHsgaW50ZXJ2YWw6IHsgbWVzc2FnZTogc2VjdGlvbkxhYmVsICsgJyBpcyBub3QgaW4gZG9tYWluJyB9IH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH07XG5cbiAgICAgIHZhbGlkYXRvcnMucHVzaChpbnRlcnZhbFZhbGlkYXRvcik7XG4gICAgfVxuXG4gICAgaWYgKHNlY3Rpb24ucmVxdWlyZWQpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaChUeXBlVmFsaWRhdG9ycy5yZXF1aXJlZFZhbGlkYXRvcihzZWN0aW9uLmxhYmVsICsgJyBpcyByZXF1aXJlZCAnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRvcnMubGVuZ3RoICE9PSAwID8gdmFsaWRhdG9ycyA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFF1YW50aXR5VmFsaWRhdG9yKG1heDogbnVtYmVyLCBvcmlnaW5hbFF0eTogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBjb250cm9sID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgICByZXR1cm4geyBxdWFudGl0eTogeyBtZXNzYWdlOiAnUmVxdWlyZWQnIH0gfTtcbiAgICAgIH0gZWxzZSBpZiAoaXNOYU4oK2NvbnRyb2wudmFsdWUpIHx8ICtjb250cm9sLnZhbHVlIDwgMSkge1xuICAgICAgICByZXR1cm4geyBxdWFudGl0eTogeyBtZXNzYWdlOiAnSW52YWxpZCB2YWx1ZScgfSB9O1xuICAgICAgfSBlbHNlIGlmICgrY29udHJvbC52YWx1ZSA+IG1heCArIG9yaWdpbmFsUXR5KSB7XG4gICAgICAgIHJldHVybiB7IHF1YW50aXR5OiB7IG1lc3NhZ2U6ICdNYXggcXVhbnRpdHkgICcgKyAobWF4ICsgb3JpZ2luYWxRdHkpIH0gfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZvcm1TZXJ2aWNlVXRpbHMge1xuICBzdGF0aWMgaXNQb3J0U2VjdGlvbihzZWN0aW9uOiBTZWN0aW9uKSB7XG4gICAgcmV0dXJuIHNlY3Rpb24gJiYgc2VjdGlvbi5ib3VuZERhdGEgJiYgc2VjdGlvbi5ib3VuZERhdGEuZW50aXR5VHlwZSA9PT0gQm91bmREYXRhVHlwZVtCb3VuZERhdGFUeXBlLlBPUlRdO1xuICB9XG5cbiAgc3RhdGljIGlzVHlwZVNlY3Rpb24oc2VjdGlvbjogU2VjdGlvbikge1xuICAgIHJldHVybiBzZWN0aW9uICYmIHNlY3Rpb24uYm91bmREYXRhICYmIHNlY3Rpb24uYm91bmREYXRhLmVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5UWVBFXTtcbiAgfVxuXG4gIHN0YXRpYyBpc0F0dHJpYnV0ZVNlY3Rpb24oc2VjdGlvbjogU2VjdGlvbikge1xuICAgIHJldHVybiBzZWN0aW9uICYmIHNlY3Rpb24uYm91bmREYXRhICYmIHNlY3Rpb24uYm91bmREYXRhLmVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5BVFRSSUJVVEVdO1xuICB9XG5cbiAgc3RhdGljIGZpbmRQYXJlbnQocGFyZW50SWQ6IHN0cmluZywgbGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBFbnRpdHlVdGlsLmZpbmRCeUZpZWxkSGllcmFyY2hpY2FsbHkoJ2lkJywgcGFyZW50SWQsIGxpbmVJdGVtcywgJ2xpbmVJdGVtcycpO1xuICB9XG59XG4iXX0=
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQWlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFVBQVUsRUFBaUMsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pGLE9BQU8sRUFBYyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFHdkUsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUVTLGFBQVEsR0FBYyxFQUFFLENBQUM7S0E0T2pDO0lBek9RLFFBQVEsQ0FBQyxRQUFtQixFQUFFLGdCQUEwQjtRQUM3RCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFFekMsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0IsUUFBUTthQUNMLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO2FBQ3pFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsb0JBQW9CLENB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QUNILENBQUMsQ0FBQztJQUNKLENBQUM7O2dIQTVPVSxrQkFBa0I7b0hBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOztBQWdQWCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3BCLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBZ0I7UUFDMUMsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsS0FBSyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWdCO1FBQzFDLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEtBQUssYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLE9BQWdCO1FBQy9DLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEtBQUssYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFnQixFQUFFLFNBQXFCO1FBQzlELE9BQU8sVUFBVSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRW50aXR5VXRpbCwgTGluZUl0ZW0sIFByaWNlVmFsdWUsIFNlY3Rpb24sIFR5cGVWYWxpZGF0b3JzIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnksIGlzTnVsbCwgaXNTdHJpbmcsIGlzVW5kZWZpbmVkLCBrZXlzIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJvdW5kRGF0YVR5cGUgfSBmcm9tICcuLi90eXBlcy9ib3VuZC1kYXRhLnR5cGVzJztcbmltcG9ydCB7IExpbmVJdGVtVXRpbCB9IGZyb20gJy4uL3V0aWxzL2xpbmUtaXRlbS51dGlsJztcbmltcG9ydCB7IFNlY3Rpb25zQmluZGVySGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvc2VjdGlvbnMtYmluZGVyLmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdW50aW1lRm9ybVNlcnZpY2Uge1xuICBwdWJsaWMgc2VjdGlvbnM6IFNlY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc29sdXRpb25MaW5lSXRlbT86IExpbmVJdGVtO1xuXG4gIHB1YmxpYyBpbml0Rm9ybShzZWN0aW9uczogU2VjdGlvbltdLCBzb2x1dGlvbkxpbmVJdGVtOiBMaW5lSXRlbSk6IEZvcm1Hcm91cCB7XG4gICAgdGhpcy5zZWN0aW9ucyA9IHNlY3Rpb25zO1xuICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSA9IHNvbHV0aW9uTGluZUl0ZW07XG5cbiAgICBjb25zdCBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgICBzZWN0aW9uc1xuICAgICAgLmZpbHRlcihzZWN0aW9uID0+IHNlY3Rpb24ubW9kZWwgJiYgc2VjdGlvbi50ZW1wbGF0ZSAmJiBzZWN0aW9uLmJvdW5kRGF0YSlcbiAgICAgIC5mb3JFYWNoKHNlY3Rpb24gPT4ge1xuICAgICAgICB0aGlzLnBvcHVsYXRlU2VjdGlvblZhbHVlKHNlY3Rpb24pO1xuICAgICAgICB0aGlzLnBvcHVsYXRlU2VjdGlvblByaWNlKHNlY3Rpb24pO1xuICAgICAgICB0aGlzLnBvcHVsYXRlRm9ybUNvbnRyb2xzKHNlY3Rpb24sIGZvcm0pO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVTZWN0aW9uVmFsdWUoc2VjdGlvbjogU2VjdGlvbik6IHZvaWQge1xuICAgIGxldCB2YWx1ZTtcbiAgICBsZXQgdmFsdWVPcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBkaXNwbGF5VmFsdWVzOiBEaWN0aW9uYXJ5PHN0cmluZz4gPSB7fTtcbiAgICBsZXQgcHJvcGVydGllczogRGljdGlvbmFyeTxhbnk+ID0ge307XG5cbiAgICBpZiAoRm9ybVNlcnZpY2VVdGlscy5pc1BvcnRTZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICBjb25zdCBwb3J0RG9tYWluID0gc2VjdGlvbi5tb2RlbD8ucG9ydERvbWFpbnNbc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG5cbiAgICAgIHZhbHVlT3B0aW9ucyA9IHBvcnREb21haW4/LmRvbWFpblR5cGVzLm1hcChkdCA9PiBkdC5uYW1lKSA/PyBbXTtcbiAgICAgIHByb3BlcnRpZXMgPVxuICAgICAgICBwb3J0RG9tYWluPy5kb21haW5UeXBlcy5yZWR1Y2U8RGljdGlvbmFyeTxhbnk+PihmdW5jdGlvbiAobWFwLCBkdCkge1xuICAgICAgICAgIG1hcFtkdC5uYW1lXSA9IGR0LnByb3BlcnRpZXM7XG4gICAgICAgICAgcmV0dXJuIG1hcDtcbiAgICAgICAgfSwge30pID8/IHt9O1xuICAgICAgZGlzcGxheVZhbHVlcyA9XG4gICAgICAgIHBvcnREb21haW4/LmRvbWFpblR5cGVzLnJlZHVjZTxEaWN0aW9uYXJ5PHN0cmluZz4+KGZ1bmN0aW9uIChtYXAsIGR0KSB7XG4gICAgICAgICAgbWFwW2R0Lm5hbWVdID0gZHQuZGlzcGxheU5hbWU7XG4gICAgICAgICAgcmV0dXJuIG1hcDtcbiAgICAgICAgfSwge30pID8/IHt9O1xuXG4gICAgICB2YWx1ZSA9IHNlY3Rpb24ubW9kZWw/LmxpbmVJdGVtcy5tYXAobGkgPT4gbGkudHlwZSk7XG4gICAgfVxuXG4gICAgaWYgKEZvcm1TZXJ2aWNlVXRpbHMuaXNBdHRyaWJ1dGVTZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGUgPSBzZWN0aW9uLm1vZGVsPy5hdHRyaWJ1dGVzLmZpbmQoXG4gICAgICAgIGF0dHIgPT4gYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb24uYm91bmREYXRhLm5hbWUudG9Mb3dlckNhc2UoKSxcbiAgICAgICk7XG4gICAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICAgIHZhbHVlID0gYXR0cmlidXRlLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhdHRyaWJ1dGVEb21haW4gPSBzZWN0aW9uLm1vZGVsPy5hdHRyaWJ1dGVEb21haW5zW3NlY3Rpb24uYm91bmREYXRhLm5hbWVdO1xuXG4gICAgICBpZiAoIWF0dHJpYnV0ZT8udHlwZS5tYXRjaCgnR0VORVJJQ3xCT09MRUFOJykgJiYgYXR0cmlidXRlRG9tYWluKSB7XG4gICAgICAgIGNvbnN0IGNvdW50ID1cbiAgICAgICAgICBhdHRyaWJ1dGUgJiYgYXR0cmlidXRlLnNjYWxlICE9IG51bGxcbiAgICAgICAgICAgID8gTGluZUl0ZW1VdGlsLmNvdW50QXR0cmlidXRlVmFsdWVzKGF0dHJpYnV0ZS5zY2FsZSwgYXR0cmlidXRlRG9tYWluKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGF0dHJpYnV0ZSAmJiBhdHRyaWJ1dGUuc2NhbGUgIT0gbnVsbCAmJiBjb3VudCAmJiBjb3VudCA8PSAxMDApIHtcbiAgICAgICAgICB2YWx1ZU9wdGlvbnMgPSBMaW5lSXRlbVV0aWwuc3BsaXREb21haW5Ub1ZhbHVlcyhhdHRyaWJ1dGUuc2NhbGUsIGF0dHJpYnV0ZURvbWFpbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWVPcHRpb25zID0gYXR0cmlidXRlRG9tYWluO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZURvbWFpbikge1xuICAgICAgICB2YWx1ZU9wdGlvbnMgPSBhdHRyaWJ1dGVEb21haW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFFbnRpdHlVdGlsLmlzUHJlc2VudCh2YWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgc2VjdGlvbi5zZWN0aW9uVmFsdWUgPSB7XG4gICAgICB2YWx1ZSxcbiAgICAgIHZhbHVlT3B0aW9ucyxcbiAgICAgIGRpc3BsYXlWYWx1ZXMsXG4gICAgICBwcm9wZXJ0aWVzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlU2VjdGlvblByaWNlKHNlY3Rpb246IFNlY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCBwcmljZVZhbHVlOiBQcmljZVZhbHVlID0geyBwcmljZU9wdGlvbnM6IHt9IH07XG5cbiAgICBpZiAoRm9ybVNlcnZpY2VVdGlscy5pc1BvcnRTZWN0aW9uKHNlY3Rpb24pKSB7XG4gICAgICBjb25zdCBwb3J0RG9tYWluID0gc2VjdGlvbi5tb2RlbD8ucG9ydERvbWFpbnNbc2VjdGlvbi5ib3VuZERhdGEubmFtZV07XG5cbiAgICAgIGlmIChwb3J0RG9tYWluKSB7XG4gICAgICAgIHBvcnREb21haW4uZG9tYWluVHlwZXMuZm9yRWFjaChkdCA9PiB7XG4gICAgICAgICAgaWYgKGR0LnJlY29tbWVuZGVkUHJpY2VzICYmIGR0LnJlY29tbWVuZGVkUHJpY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHByaWNlVmFsdWUucHJpY2VPcHRpb25zW2R0Lm5hbWVdID0gZHQucmVjb21tZW5kZWRQcmljZXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBwcmljZVZhbHVlLnByaWNlT3B0aW9uc1tkdC5uYW1lXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNlY3Rpb24ucHJpY2VWYWx1ZSA9IHByaWNlVmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlRm9ybUNvbnRyb2xzKHNlY3Rpb246IFNlY3Rpb24sIGZvcm06IEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGZvcm0uY29udHJvbHNbc2VjdGlvbi5pZF0gPSB0aGlzLmNyZWF0ZUZvcm1Db250cm9sKHNlY3Rpb24pO1xuXG4gICAgaWYgKEZvcm1TZXJ2aWNlVXRpbHMuaXNQb3J0U2VjdGlvbihzZWN0aW9uKSB8fCBGb3JtU2VydmljZVV0aWxzLmlzVHlwZVNlY3Rpb24oc2VjdGlvbikpIHtcbiAgICAgIGZvcm0uY29udHJvbHNbc2VjdGlvbi5pZC5jb25jYXQoJ3F0eScpXSA9IHRoaXMuY3JlYXRlUXR5Q29udHJvbChzZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm1Db250cm9sKHNlY3Rpb246IFNlY3Rpb24pOiBGb3JtQ29udHJvbCB7XG4gICAgY29uc3QgdmFsdWUgPSBGb3JtU2VydmljZVV0aWxzLmlzUG9ydFNlY3Rpb24oc2VjdGlvbikgPyB2b2lkIDAgOiBzZWN0aW9uLnNlY3Rpb25WYWx1ZT8udmFsdWU7XG5cbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKHZhbHVlLCB0aGlzLmdldEZvcm1Db250cm9sVmFsaWRhdG9ycyhzZWN0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVF0eUNvbnRyb2woc2VjdGlvbjogU2VjdGlvbik6IEZvcm1Db250cm9sIHtcbiAgICBjb25zdCBpc1R5cGVTZWN0aW9uID0gRm9ybVNlcnZpY2VVdGlscy5pc1R5cGVTZWN0aW9uKHNlY3Rpb24pO1xuXG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xuXG4gICAgY29uc3QgbWF4QWxsb3dlZCA9IHRoaXMuZ2V0TWF4QWxsb3dlZChzZWN0aW9uKTtcblxuICAgIC8vVE9ETyBURU1QT1JBUlkgU09MVVRJT04gKFdJTEwgQkUgRElTQUJMRUQgT05DRSBSQURJTyBDT05UUk9MUyBJTVBMRU1FTlRFRClcbiAgICBpZiAobWF4QWxsb3dlZCA+IDApIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaCh0aGlzLmdldFF1YW50aXR5VmFsaWRhdG9yKG1heEFsbG93ZWQsIGlzVHlwZVNlY3Rpb24gPyBzZWN0aW9uLm1vZGVsPy5xdHkgPz8gMCA6IDApKTtcbiAgICB9XG5cbiAgICBjb25zdCBxdHlWYWx1ZSA9IGlzVHlwZVNlY3Rpb24gPyBzZWN0aW9uLm1vZGVsPy5xdHkgOiAxO1xuXG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChxdHlWYWx1ZSwgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBwcml2YXRlIGdldE1heEFsbG93ZWQoc2VjdGlvbjogU2VjdGlvbik6IG51bWJlciB7XG4gICAgbGV0IGxpbmVJdGVtID0gc2VjdGlvbi5tb2RlbDtcbiAgICBsZXQgcG9ydE5hbWUgPSBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lO1xuXG4gICAgaWYgKEZvcm1TZXJ2aWNlVXRpbHMuaXNUeXBlU2VjdGlvbihzZWN0aW9uKSkge1xuICAgICAgaWYgKHNlY3Rpb24ubW9kZWwgJiYgRW50aXR5VXRpbC5pc1ByZXNlbnQoc2VjdGlvbi5tb2RlbC5wYXJlbnRJZCkgJiYgdGhpcy5zb2x1dGlvbkxpbmVJdGVtKSB7XG4gICAgICAgIGlmIChzZWN0aW9uLm1vZGVsLnBhcmVudElkKSB7XG4gICAgICAgICAgbGluZUl0ZW0gPSBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5wYXJlbnRJZCwgW3RoaXMuc29sdXRpb25MaW5lSXRlbV0pO1xuICAgICAgICB9XG4gICAgICAgIHBvcnROYW1lID0gc2VjdGlvbi5tb2RlbC5wb3J0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFsaW5lSXRlbSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIFNlY3Rpb25zQmluZGVySGVscGVyLmdldE1heEFsbG93ZWQobGluZUl0ZW0sIHBvcnROYW1lKTtcbiAgfVxuXG4gIC8vVE9ETyBBTEUgVE8gU1VQUE9SVCBFTVBUWSBWQUxVRVMgRk9SIElOVEVSVkFMIEFUVFJJQlVURVMgT1VUIE9GIERPTUFJTlxuICBwcml2YXRlIGdldEZvcm1Db250cm9sVmFsaWRhdG9ycyhzZWN0aW9uOiBTZWN0aW9uKTogVmFsaWRhdG9yRm5bXSB8IG51bGwge1xuICAgIGlmICghRm9ybVNlcnZpY2VVdGlscy5pc0F0dHJpYnV0ZVNlY3Rpb24oc2VjdGlvbikpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBbXTtcbiAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9XG4gICAgICBzZWN0aW9uLm1vZGVsICYmIHRoaXMuc29sdXRpb25MaW5lSXRlbSAmJiBGb3JtU2VydmljZVV0aWxzLmZpbmRQYXJlbnQoc2VjdGlvbi5tb2RlbC5pZCwgW3RoaXMuc29sdXRpb25MaW5lSXRlbV0pO1xuICAgIGNvbnN0IGF0dHJpYnV0ZSA9XG4gICAgICBwYXJlbnRMaW5lSXRlbSAmJlxuICAgICAgcGFyZW50TGluZUl0ZW0uYXR0cmlidXRlcy5maW5kKGF0dHIgPT4gYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb24uYm91bmREYXRhLm5hbWUudG9Mb3dlckNhc2UoKSk7XG5cbiAgICBpZiAoIWF0dHJpYnV0ZSB8fCAhYXR0cmlidXRlLnR5cGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVR5cGVzVmFsaWRhdG9yczogYW55ID0ge1xuICAgICAgSU5UOiBUeXBlVmFsaWRhdG9ycy5pbnRlZ2VyVmFsaWRhdG9yKCksXG4gICAgICAnRE9VQkxFfERFQ0lNQUwnOiBUeXBlVmFsaWRhdG9ycy5kZWNpbWFsVmFsaWRhdG9yKDEwKSxcbiAgICB9O1xuXG4gICAga2V5cyhwcmltaXRpdmVUeXBlc1ZhbGlkYXRvcnMpLmZvckVhY2godHlwZXMgPT4ge1xuICAgICAgaWYgKHR5cGVzLm1hdGNoKGF0dHJpYnV0ZS50eXBlKSkge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSBwcmltaXRpdmVUeXBlc1ZhbGlkYXRvcnNbdHlwZXNdO1xuXG4gICAgICAgIHZhbGlkYXRvcnMucHVzaCh2YWxpZGF0b3IpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhdHRyaWJ1dGUudHlwZS5tYXRjaCgnR0VORVJJQ3xCT09MRUFOfE1VTFRJUExFJykpIHtcbiAgICAgIGNvbnN0IHNlY3Rpb25MYWJlbCA9IHNlY3Rpb24ubGFiZWw7XG5cbiAgICAgIGNvbnN0IGludGVydmFsVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IGZ1bmN0aW9uIChjb250cm9sKSB7XG4gICAgICAgIGlmIChpc1VuZGVmaW5lZChjb250cm9sLnZhbHVlKSB8fCBpc051bGwoY29udHJvbC52YWx1ZSkgfHwgaXNOYU4oK2NvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHsgaW50ZXJ2YWw6IHsgbWVzc2FnZTogc2VjdGlvbkxhYmVsICsgJyBpcyBub3QgaW4gZG9tYWluJyB9IH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKGNvbnRyb2wudmFsdWUpICYmIGlzU3RyaW5nKGNvbnRyb2wudmFsdWUpICYmIGNvbnRyb2wudmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhdHRyaWJ1dGVEb21haW4gPSBzZWN0aW9uLm1vZGVsPy5hdHRyaWJ1dGVEb21haW5zW3NlY3Rpb24uYm91bmREYXRhLm5hbWVdO1xuXG4gICAgICAgIGNvbnN0IHZhbGlkID0gYXR0cmlidXRlRG9tYWluPy5zb21lKHZhbHVlT3B0aW9uID0+IHtcbiAgICAgICAgICBjb25zdCBtaW4gPSArdmFsdWVPcHRpb24ubWluO1xuICAgICAgICAgIGNvbnN0IG1heCA9ICt2YWx1ZU9wdGlvbi5tYXg7XG5cbiAgICAgICAgICByZXR1cm4gK2NvbnRyb2wudmFsdWUgPD0gbWF4ICYmICtjb250cm9sLnZhbHVlID49IG1pbjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF2YWxpZCkge1xuICAgICAgICAgIHJldHVybiB7IGludGVydmFsOiB7IG1lc3NhZ2U6IHNlY3Rpb25MYWJlbCArICcgaXMgbm90IGluIGRvbWFpbicgfSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9O1xuXG4gICAgICB2YWxpZGF0b3JzLnB1c2goaW50ZXJ2YWxWYWxpZGF0b3IpO1xuICAgIH1cblxuICAgIGlmIChzZWN0aW9uLnJlcXVpcmVkKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goVHlwZVZhbGlkYXRvcnMucmVxdWlyZWRWYWxpZGF0b3Ioc2VjdGlvbi5sYWJlbCArICcgaXMgcmVxdWlyZWQgJykpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzLmxlbmd0aCAhPT0gMCA/IHZhbGlkYXRvcnMgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRRdWFudGl0eVZhbGlkYXRvcihtYXg6IG51bWJlciwgb3JpZ2luYWxRdHk6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHsgcXVhbnRpdHk6IHsgbWVzc2FnZTogJ1JlcXVpcmVkJyB9IH07XG4gICAgICB9IGVsc2UgaWYgKGlzTmFOKCtjb250cm9sLnZhbHVlKSB8fCArY29udHJvbC52YWx1ZSA8IDEpIHtcbiAgICAgICAgcmV0dXJuIHsgcXVhbnRpdHk6IHsgbWVzc2FnZTogJ0ludmFsaWQgdmFsdWUnIH0gfTtcbiAgICAgIH0gZWxzZSBpZiAoK2NvbnRyb2wudmFsdWUgPiBtYXggKyBvcmlnaW5hbFF0eSkge1xuICAgICAgICByZXR1cm4geyBxdWFudGl0eTogeyBtZXNzYWdlOiAnTWF4IHF1YW50aXR5ICAnICsgKG1heCArIG9yaWdpbmFsUXR5KSB9IH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGb3JtU2VydmljZVV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBpc1BvcnRTZWN0aW9uKHNlY3Rpb246IFNlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VjdGlvbiAmJiBzZWN0aW9uLmJvdW5kRGF0YSAmJiBzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuUE9SVF07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVHlwZVNlY3Rpb24oc2VjdGlvbjogU2VjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWN0aW9uICYmIHNlY3Rpb24uYm91bmREYXRhICYmIHNlY3Rpb24uYm91bmREYXRhLmVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5UWVBFXTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNBdHRyaWJ1dGVTZWN0aW9uKHNlY3Rpb246IFNlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VjdGlvbiAmJiBzZWN0aW9uLmJvdW5kRGF0YSAmJiBzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuQVRUUklCVVRFXTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZmluZFBhcmVudChwYXJlbnRJZDogc3RyaW5nLCBsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEVudGl0eVV0aWwuZmluZEJ5RmllbGRIaWVyYXJjaGljYWxseSgnaWQnLCBwYXJlbnRJZCwgbGluZUl0ZW1zLCAnbGluZUl0ZW1zJyk7XG4gIH1cbn1cbiJdfQ==
@@ -105,4 +105,4 @@ RuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RuntimeService, decorators: [{
106
106
  type: Injectable
107
107
  }], ctorParameters: function () { return [{ type: i1.ConfigurationService }, { type: i2.ContextService }, { type: i3.MessageService }]; } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQStCLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUt0QyxNQUFNLE9BQU8sY0FBYztJQXdCekIsWUFDVSxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsY0FBOEI7UUFGOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBeEJoQyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO1FBQ3ZELHlCQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV4RCxpQ0FBNEIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzNELGlDQUE0QixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV4RSwyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBZ0MsQ0FBQztRQUM3RSwyQkFBc0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFNUQsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUMzRCx3QkFBbUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0Qsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUN0RCx3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QUNwRCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUFrQjtRQUNsQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxTQUFTLENBQUMsWUFBMEI7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGNBQWMsbUNBQ2QsSUFBSSxDQUFDLGNBQWMsS0FDdEIsWUFBWSxHQUNiLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLG9CQUFvQixDQUFDLDhCQUE0RDtRQUN2RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLDhCQUE4QixFQUFFO1lBQzNELE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxjQUFjLG1DQUFRLElBQUksQ0FBQyxjQUFjLEtBQUUsVUFBVSxFQUFFLDhCQUE4QixHQUFFLENBQUM7SUFDL0YsQ0FBQztJQUVPLGNBQWMsQ0FBQyxXQUF3QjtRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixtQ0FDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsS0FDeEMsV0FBVyxHQUNaLENBQUM7SUFDSixDQUFDOzs0R0FoSVUsY0FBYztnSEFBZCxjQUFjOzRGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVJdGVtLCBVSURlZmluaXRpb24gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFF1b3RlU3RhdGVzLCBSdW50aW1lU3RlcCB9IGZyb20gJ0B2ZWxvY2Uvc2RrL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGVnYWN5UnVudGltZUNvbnRleHQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBydW50aW1lQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBzb2x1dGlvblJlYWR5U3ViamVjdCA9IG5ldyBTdWJqZWN0PExpbmVJdGVtPigpO1xuICBvblNvbHV0aW9uUmVhZHlFdmVudCA9IHRoaXMuc29sdXRpb25SZWFkeVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBzb2x1dGlvblVwZGF0ZVN0YXJ0ZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgb25Tb2x1dGlvblVwZGF0ZVN0YXJ0ZWRFdmVudCA9IHRoaXMuc29sdXRpb25VcGRhdGVTdGFydGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHNvbHV0aW9uVXBkYXRlZFN1YmplY3QgPSBuZXcgU3ViamVjdDxMaW5lSXRlbSB8IEh0dHBFcnJvclJlc3BvbnNlPigpO1xuICBvblNvbHV0aW9uVXBkYXRlZEV2ZW50ID0gdGhpcy5zb2x1dGlvblVwZGF0ZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc29sdXRpb25Qcm9jZXNzZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TGluZUl0ZW0+KCk7XG4gIG9uU29sdXRpb25Qcm9jZXNzZWQgPSB0aGlzLnNvbHV0aW9uUHJvY2Vzc2VkU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHNvbHV0aW9uU3RvcFN1YmplY3QgPSBuZXcgU3ViamVjdDxMaW5lSXRlbT4oKTtcbiAgb25Tb2x1dGlvblN0b3BFdmVudCA9IHRoaXMuc29sdXRpb25TdG9wU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHNvbHV0aW9uQ2FuY2VsU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIG9uU29sdXRpb25DYW5jZWxFdmVudCA9IHRoaXMuc29sdXRpb25DYW5jZWxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgdWlSZWZyZXNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIG9uVUlSZWZyZXNoRXZlbnQgPSB0aGlzLnVpUmVmcmVzaFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICkge31cblxuICBwcml2YXRlIGRpc3BsYXlFcnJvck1lc3NhZ2UoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgICAgc3VtbWFyeTogZXJyb3IuZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyb3IubWVzc2FnZSB8fCBKU09OLnN0cmluZ2lmeShlcnJvciksXG4gICAgfSk7XG4gIH1cblxuICBzdGFydFJ1bnRpbWUoY29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQsIHN0YXRlczogUXVvdGVTdGF0ZXMsIHJlc29sdmU/OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zZXRSdW50aW1lQ29udGV4dChjb250ZXh0KTtcbiAgICB0aGlzLnNldFJ1bnRpbWVTdGVwKFJ1bnRpbWVTdGVwLlNUQVJUKTtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlXG4gICAgICAuY29uZmlndXJlKGNvbnRleHQsIHN0YXRlcywgcmVzb2x2ZSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICBsaW5lSXRlbSA9PiB7XG4gICAgICAgICAgdGhpcy5zb2x1dGlvblJlYWR5U3ViamVjdC5uZXh0KGxpbmVJdGVtKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuZGlzcGxheUVycm9yTWVzc2FnZShlcnJvcik7XG4gICAgICAgICAgdGhpcy5zb2x1dGlvblVwZGF0ZWRTdWJqZWN0Lm5leHQoZXJyb3IpO1xuICAgICAgICB9LFxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVJ1bnRpbWUoc3RhdGVzOiBRdW90ZVN0YXRlcywgY29uZmlndXJhdGlvbkNvbnRleHRQcm9wZXJ0aWVzPzogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB9KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVDb250ZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zb2x1dGlvblVwZGF0ZVN0YXJ0ZWRTdWJqZWN0Lm5leHQoKTtcbiAgICB0aGlzLnNldFJ1bnRpbWVTdGVwKFJ1bnRpbWVTdGVwLlVQREFURSk7XG4gICAgdGhpcy51cGRhdGVSdW50aW1lQ29udGV4dChjb25maWd1cmF0aW9uQ29udGV4dFByb3BlcnRpZXMpO1xuICAgIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2VcbiAgICAgIC5jb25maWd1cmUodGhpcy5ydW50aW1lQ29udGV4dCwgc3RhdGVzKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIGxpbmVJdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWVDb250ZXh0KGNvbnRleHQucHJvcGVydGllcyk7XG4gICAgICAgICAgdGhpcy5zb2x1dGlvblVwZGF0ZWRTdWJqZWN0Lm5leHQobGluZUl0ZW0pO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5RXJyb3JNZXNzYWdlKGVycm9yKTtcbiAgICAgICAgICB0aGlzLnNvbHV0aW9uVXBkYXRlZFN1YmplY3QubmV4dChlcnJvcik7XG4gICAgICAgIH0sXG4gICAgICApO1xuICB9XG5cbiAgc3RvcFJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNvbHV0aW9uU3RvcFN1YmplY3QubmV4dChzb2x1dGlvbkxpbmVJdGVtKTtcbiAgfVxuXG4gIGNhbmNlbFJ1bnRpbWUoKTogdm9pZCB7XG4gICAgdGhpcy5zb2x1dGlvbkNhbmNlbFN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgc2V0UnVudGltZUNvbnRleHQocnVudGltZUNvbnRleHQ6IExlZ2FjeVJ1bnRpbWVDb250ZXh0KSB7XG4gICAgdGhpcy5ydW50aW1lQ29udGV4dCA9IHJ1bnRpbWVDb250ZXh0O1xuICB9XG5cbiAgZ2V0UnVudGltZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZUNvbnRleHQ7XG4gIH1cblxuICBzb2x1dGlvblByb2Nlc3NlZChsaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNvbHV0aW9uUHJvY2Vzc2VkU3ViamVjdC5uZXh0KGxpbmVJdGVtKTtcbiAgfVxuXG4gIHJlZnJlc2hVSSh1aURlZmluaXRpb246IFVJRGVmaW5pdGlvbikge1xuICAgIGlmICghdGhpcy5ydW50aW1lQ29udGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVudGltZUNvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLnJ1bnRpbWVDb250ZXh0LFxuICAgICAgdWlEZWZpbml0aW9uLFxuICAgIH07XG4gICAgdGhpcy51aVJlZnJlc2hTdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUnVudGltZUNvbnRleHQoY29uZmlndXJhdGlvbkNvbnRleHRQcm9wZXJ0aWVzPzogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB9KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVDb250ZXh0IHx8ICFjb25maWd1cmF0aW9uQ29udGV4dFByb3BlcnRpZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJ1bnRpbWVDb250ZXh0ID0geyAuLi50aGlzLnJ1bnRpbWVDb250ZXh0LCBwcm9wZXJ0aWVzOiBjb25maWd1cmF0aW9uQ29udGV4dFByb3BlcnRpZXMgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UnVudGltZVN0ZXAocnVudGltZVN0ZXA6IFJ1bnRpbWVTdGVwKSB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVDb250ZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ydW50aW1lQ29udGV4dC5pbnZvY2F0aW9uQ29udGV4dCA9IHtcbiAgICAgIC4uLnRoaXMucnVudGltZUNvbnRleHQuaW52b2NhdGlvbkNvbnRleHQsXG4gICAgICBydW50aW1lU3RlcCxcbiAgICB9O1xuICB9XG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQStCLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUt0QyxNQUFNLE9BQU8sY0FBYztJQXdCekIsWUFDVSxvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsY0FBOEI7UUFGOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBeEJoQyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO1FBQ2hELHlCQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUvRCxpQ0FBNEIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3BELGlDQUE0QixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUvRSwyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBZ0MsQ0FBQztRQUN0RSwyQkFBc0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkUsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUNwRCx3QkFBbUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbEUsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUMvQyx3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UUFDM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQWtCO1FBQ3pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLFNBQVMsQ0FBQyxZQUEwQjtRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsY0FBYyxtQ0FDZCxJQUFJLENBQUMsY0FBYyxLQUN0QixZQUFZLEdBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU8sb0JBQW9CLENBQUMsOEJBQTREO1FBQ3ZGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsOEJBQThCLEVBQUU7WUFDM0QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGNBQWMsbUNBQVEsSUFBSSxDQUFDLGNBQWMsS0FBRSxVQUFVLEVBQUUsOEJBQThCLEdBQUUsQ0FBQztJQUMvRixDQUFDO0lBRU8sY0FBYyxDQUFDLFdBQXdCO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLG1DQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixLQUN4QyxXQUFXLEdBQ1osQ0FBQztJQUNKLENBQUM7OzRHQWhJVSxjQUFjO2dIQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGluZUl0ZW0sIFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUXVvdGVTdGF0ZXMsIFJ1bnRpbWVTdGVwIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUnVudGltZVNlcnZpY2Uge1xuICBwcml2YXRlIHJ1bnRpbWVDb250ZXh0OiBMZWdhY3lSdW50aW1lQ29udGV4dCB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHNvbHV0aW9uUmVhZHlTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TGluZUl0ZW0+KCk7XG4gIHB1YmxpYyBvblNvbHV0aW9uUmVhZHlFdmVudCA9IHRoaXMuc29sdXRpb25SZWFkeVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBzb2x1dGlvblVwZGF0ZVN0YXJ0ZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIG9uU29sdXRpb25VcGRhdGVTdGFydGVkRXZlbnQgPSB0aGlzLnNvbHV0aW9uVXBkYXRlU3RhcnRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBzb2x1dGlvblVwZGF0ZWRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TGluZUl0ZW0gfCBIdHRwRXJyb3JSZXNwb25zZT4oKTtcbiAgcHVibGljIG9uU29sdXRpb25VcGRhdGVkRXZlbnQgPSB0aGlzLnNvbHV0aW9uVXBkYXRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBzb2x1dGlvblByb2Nlc3NlZFN1YmplY3QgPSBuZXcgU3ViamVjdDxMaW5lSXRlbT4oKTtcbiAgcHVibGljIG9uU29sdXRpb25Qcm9jZXNzZWQgPSB0aGlzLnNvbHV0aW9uUHJvY2Vzc2VkU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHNvbHV0aW9uU3RvcFN1YmplY3QgPSBuZXcgU3ViamVjdDxMaW5lSXRlbT4oKTtcbiAgcHVibGljIG9uU29sdXRpb25TdG9wRXZlbnQgPSB0aGlzLnNvbHV0aW9uU3RvcFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBzb2x1dGlvbkNhbmNlbFN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwdWJsaWMgb25Tb2x1dGlvbkNhbmNlbEV2ZW50ID0gdGhpcy5zb2x1dGlvbkNhbmNlbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSB1aVJlZnJlc2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIG9uVUlSZWZyZXNoRXZlbnQgPSB0aGlzLnVpUmVmcmVzaFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICkge31cblxuICBwcml2YXRlIGRpc3BsYXlFcnJvck1lc3NhZ2UoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgICAgc3VtbWFyeTogZXJyb3IuZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyb3IubWVzc2FnZSB8fCBKU09OLnN0cmluZ2lmeShlcnJvciksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRSdW50aW1lKGNvbnRleHQ6IExlZ2FjeVJ1bnRpbWVDb250ZXh0LCBzdGF0ZXM6IFF1b3RlU3RhdGVzLCByZXNvbHZlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2V0UnVudGltZUNvbnRleHQoY29udGV4dCk7XG4gICAgdGhpcy5zZXRSdW50aW1lU3RlcChSdW50aW1lU3RlcC5TVEFSVCk7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZShjb250ZXh0LCBzdGF0ZXMsIHJlc29sdmUpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgbGluZUl0ZW0gPT4ge1xuICAgICAgICAgIHRoaXMuc29sdXRpb25SZWFkeVN1YmplY3QubmV4dChsaW5lSXRlbSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlFcnJvck1lc3NhZ2UoZXJyb3IpO1xuICAgICAgICAgIHRoaXMuc29sdXRpb25VcGRhdGVkU3ViamVjdC5uZXh0KGVycm9yKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUnVudGltZShzdGF0ZXM6IFF1b3RlU3RhdGVzLCBjb25maWd1cmF0aW9uQ29udGV4dFByb3BlcnRpZXM/OiB7IFtpbmRleDogc3RyaW5nXTogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucnVudGltZUNvbnRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNvbHV0aW9uVXBkYXRlU3RhcnRlZFN1YmplY3QubmV4dCgpO1xuICAgIHRoaXMuc2V0UnVudGltZVN0ZXAoUnVudGltZVN0ZXAuVVBEQVRFKTtcbiAgICB0aGlzLnVwZGF0ZVJ1bnRpbWVDb250ZXh0KGNvbmZpZ3VyYXRpb25Db250ZXh0UHJvcGVydGllcyk7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZSh0aGlzLnJ1bnRpbWVDb250ZXh0LCBzdGF0ZXMpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgbGluZUl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZUNvbnRleHQoY29udGV4dC5wcm9wZXJ0aWVzKTtcbiAgICAgICAgICB0aGlzLnNvbHV0aW9uVXBkYXRlZFN1YmplY3QubmV4dChsaW5lSXRlbSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlFcnJvck1lc3NhZ2UoZXJyb3IpO1xuICAgICAgICAgIHRoaXMuc29sdXRpb25VcGRhdGVkU3ViamVjdC5uZXh0KGVycm9yKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RvcFJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNvbHV0aW9uU3RvcFN1YmplY3QubmV4dChzb2x1dGlvbkxpbmVJdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxSdW50aW1lKCk6IHZvaWQge1xuICAgIHRoaXMuc29sdXRpb25DYW5jZWxTdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRSdW50aW1lQ29udGV4dChydW50aW1lQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bnRpbWVDb250ZXh0ID0gcnVudGltZUNvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZUNvbnRleHQoKTogTGVnYWN5UnVudGltZUNvbnRleHQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIHNvbHV0aW9uUHJvY2Vzc2VkKGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuc29sdXRpb25Qcm9jZXNzZWRTdWJqZWN0Lm5leHQobGluZUl0ZW0pO1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2hVSSh1aURlZmluaXRpb246IFVJRGVmaW5pdGlvbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5ydW50aW1lQ29udGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucnVudGltZUNvbnRleHQgPSB7XG4gICAgICAuLi50aGlzLnJ1bnRpbWVDb250ZXh0LFxuICAgICAgdWlEZWZpbml0aW9uLFxuICAgIH07XG4gICAgdGhpcy51aVJlZnJlc2hTdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUnVudGltZUNvbnRleHQoY29uZmlndXJhdGlvbkNvbnRleHRQcm9wZXJ0aWVzPzogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB9KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVDb250ZXh0IHx8ICFjb25maWd1cmF0aW9uQ29udGV4dFByb3BlcnRpZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJ1bnRpbWVDb250ZXh0ID0geyAuLi50aGlzLnJ1bnRpbWVDb250ZXh0LCBwcm9wZXJ0aWVzOiBjb25maWd1cmF0aW9uQ29udGV4dFByb3BlcnRpZXMgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UnVudGltZVN0ZXAocnVudGltZVN0ZXA6IFJ1bnRpbWVTdGVwKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJ1bnRpbWVDb250ZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ydW50aW1lQ29udGV4dC5pbnZvY2F0aW9uQ29udGV4dCA9IHtcbiAgICAgIC4uLnRoaXMucnVudGltZUNvbnRleHQuaW52b2NhdGlvbkNvbnRleHQsXG4gICAgICBydW50aW1lU3RlcCxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -24,4 +24,4 @@ SectionHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SectionHelperService, decorators: [{
25
25
  type: Injectable
26
26
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvc2VydmljZXMvc2VjdGlvbi1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFXLE1BQU0sY0FBYyxDQUFDOztBQUdqRSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFnQixFQUFFLFdBQW1CO1FBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoSCxPQUFPO1NBQ1I7UUFFRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQzNDLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLFVBQVUsRUFDVixDQUFDLEVBQUUsS0FBSyxFQUFXLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FDeEYsQ0FBQztRQUVGLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWdCO1FBQzdCLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqRSxPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7U0FDbEI7UUFFRCxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRTtZQUNqRixjQUFjO1lBQ2Qsa0JBQWtCO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQXhCVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW50aXR5VXRpbCwgUHJpY2luZ1V0aWxzLCBTZWN0aW9uIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25IZWxwZXJTZXJ2aWNlIHtcbiAgc3RhdGljIGZpbmRTZWN0aW9uRm9yVmFsdWUoc2VjdGlvbjogU2VjdGlvbiwgdmFsdWVPcHRpb246IHN0cmluZyk6IFNlY3Rpb24gfCB1bmRlZmluZWQge1xuICAgIGlmICghRW50aXR5VXRpbC5pc1ByZXNlbnQoc2VjdGlvbikgfHwgIUVudGl0eVV0aWwuaXNQcmVzZW50KHNlY3Rpb24uY2hpbGRyZW4pIHx8IEVudGl0eVV0aWwuaXNCbGFuayh2YWx1ZU9wdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZCA9IEVudGl0eVV0aWwuZmlsdGVySGllcmFyY2hpY2FsbHkoXG4gICAgICBzZWN0aW9uLmNoaWxkcmVuLFxuICAgICAgJ2NoaWxkcmVuJyxcbiAgICAgICh7IG1vZGVsIH06IFNlY3Rpb24pID0+IG1vZGVsICYmIG1vZGVsLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWVPcHRpb24udG9Mb3dlckNhc2UoKSxcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvdW5kICYmIGZvdW5kLnBvcCgpO1xuICB9XG5cbiAgZ2V0VG90YWxQcmljZXMoc2VjdGlvbjogU2VjdGlvbik6IE1hcDxzdHJpbmcsIG51bWJlcj4ge1xuICAgIGlmICghc2VjdGlvbiB8fCAhc2VjdGlvbi5tb2RlbCB8fCAhc2VjdGlvbi5tb2RlbC5jaGFyZ2VHcm91cEl0ZW1zKSB7XG4gICAgICByZXR1cm4gbmV3IE1hcCgpO1xuICAgIH1cblxuICAgIHJldHVybiBQcmljaW5nVXRpbHMuc3VtUHJpY2VCeVByb3BlcnR5KHNlY3Rpb24ubW9kZWwuY2hhcmdlR3JvdXBJdGVtcywgJ25ldFByaWNlJywgW1xuICAgICAgJ2NoYXJnZU1ldGhvZCcsXG4gICAgICAnc2VsbGluZ0ZyZXF1ZW5jeScsXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvc2VydmljZXMvc2VjdGlvbi1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFXLE1BQU0sY0FBYyxDQUFDOztBQUdqRSxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFnQixFQUFFLFdBQW1CO1FBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoSCxPQUFPO1NBQ1I7UUFFRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQzNDLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLFVBQVUsRUFDVixDQUFDLEVBQUUsS0FBSyxFQUFXLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FDeEYsQ0FBQztRQUVGLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sY0FBYyxDQUFDLE9BQWdCO1FBQ3BDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqRSxPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7U0FDbEI7UUFFRCxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRTtZQUNqRixjQUFjO1lBQ2Qsa0JBQWtCO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQXhCVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW50aXR5VXRpbCwgUHJpY2luZ1V0aWxzLCBTZWN0aW9uIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25IZWxwZXJTZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRpYyBmaW5kU2VjdGlvbkZvclZhbHVlKHNlY3Rpb246IFNlY3Rpb24sIHZhbHVlT3B0aW9uOiBzdHJpbmcpOiBTZWN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIUVudGl0eVV0aWwuaXNQcmVzZW50KHNlY3Rpb24pIHx8ICFFbnRpdHlVdGlsLmlzUHJlc2VudChzZWN0aW9uLmNoaWxkcmVuKSB8fCBFbnRpdHlVdGlsLmlzQmxhbmsodmFsdWVPcHRpb24pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm91bmQgPSBFbnRpdHlVdGlsLmZpbHRlckhpZXJhcmNoaWNhbGx5KFxuICAgICAgc2VjdGlvbi5jaGlsZHJlbixcbiAgICAgICdjaGlsZHJlbicsXG4gICAgICAoeyBtb2RlbCB9OiBTZWN0aW9uKSA9PiBtb2RlbCAmJiBtb2RlbC50eXBlLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlT3B0aW9uLnRvTG93ZXJDYXNlKCksXG4gICAgKTtcblxuICAgIHJldHVybiBmb3VuZCAmJiBmb3VuZC5wb3AoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFByaWNlcyhzZWN0aW9uOiBTZWN0aW9uKTogTWFwPHN0cmluZywgbnVtYmVyPiB7XG4gICAgaWYgKCFzZWN0aW9uIHx8ICFzZWN0aW9uLm1vZGVsIHx8ICFzZWN0aW9uLm1vZGVsLmNoYXJnZUdyb3VwSXRlbXMpIHtcbiAgICAgIHJldHVybiBuZXcgTWFwKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByaWNpbmdVdGlscy5zdW1QcmljZUJ5UHJvcGVydHkoc2VjdGlvbi5tb2RlbC5jaGFyZ2VHcm91cEl0ZW1zLCAnbmV0UHJpY2UnLCBbXG4gICAgICAnY2hhcmdlTWV0aG9kJyxcbiAgICAgICdzZWxsaW5nRnJlcXVlbmN5JyxcbiAgICBdKTtcbiAgfVxufVxuIl19
@@ -33,4 +33,4 @@ SectionScopeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SectionScopeService, decorators: [{
34
34
  type: Injectable
35
35
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zY29wZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLXNjb3BlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd2QyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBVUUsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUdKLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsRUFBRSxDQUFDLENBQUM7S0FtQmhFO0lBOUJDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQU1PLFNBQVMsQ0FBQyxPQUFnQjtRQUNoQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUNqQyxPQUFPLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDTCxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFFdEIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBRWYsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBRXpCLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7WUFFRCxPQUFPLE1BQU0sQ0FBQztTQUNmO0lBQ0gsQ0FBQzs7aUhBOUJVLG1CQUFtQjtxSEFBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VjdGlvbiB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25TY29wZVNlcnZpY2Uge1xuICBnZXQgc2VjdGlvbigpOiBTZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc2VjdGlvbjtcbiAgfVxuXG4gIHNldCBzZWN0aW9uKHZhbHVlOiBTZWN0aW9uKSB7XG4gICAgdGhpcy5fc2VjdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuaW5kZW50ID0gdGhpcy5nZXRJbmRlbnQodmFsdWUpO1xuICB9XG4gIGluZGVudCA9IDE7XG4gIHByaXZhdGUgX3NlY3Rpb24hOiBTZWN0aW9uO1xuXG4gIHB1YmxpYyB0ZW1wbGF0ZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUmVmPGFueT5bXT4oW10pO1xuXG4gIHByaXZhdGUgZ2V0SW5kZW50KHNlY3Rpb246IFNlY3Rpb24pOiBudW1iZXIge1xuICAgIGlmICghc2VjdGlvbiB8fCAhc2VjdGlvbi5wYXJlbnRJZCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBjdXJyZW50ID0gc2VjdGlvbjtcblxuICAgICAgbGV0IGluZGVudCA9IDE7XG5cbiAgICAgIHdoaWxlIChjdXJyZW50ICYmIGN1cnJlbnQucGFyZW50KSB7XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudDtcblxuICAgICAgICBpbmRlbnQrKztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluZGVudDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zY29wZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLXNjb3BlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd2QyxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBVVMsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUdYLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsRUFBRSxDQUFDLENBQUM7S0FtQmhFO0lBOUJDLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFNTyxTQUFTLENBQUMsT0FBZ0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDakMsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNO1lBQ0wsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBRXRCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVmLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUV6QixNQUFNLEVBQUUsQ0FBQzthQUNWO1lBRUQsT0FBTyxNQUFNLENBQUM7U0FDZjtJQUNILENBQUM7O2lIQTlCVSxtQkFBbUI7cUhBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZWN0aW9uU2NvcGVTZXJ2aWNlIHtcbiAgcHVibGljIGdldCBzZWN0aW9uKCk6IFNlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9zZWN0aW9uO1xuICB9XG5cbiAgcHVibGljIHNldCBzZWN0aW9uKHZhbHVlOiBTZWN0aW9uKSB7XG4gICAgdGhpcy5fc2VjdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuaW5kZW50ID0gdGhpcy5nZXRJbmRlbnQodmFsdWUpO1xuICB9XG4gIHB1YmxpYyBpbmRlbnQgPSAxO1xuICBwcml2YXRlIF9zZWN0aW9uITogU2VjdGlvbjtcblxuICBwdWJsaWMgdGVtcGxhdGVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZVJlZjxhbnk+W10+KFtdKTtcblxuICBwcml2YXRlIGdldEluZGVudChzZWN0aW9uOiBTZWN0aW9uKTogbnVtYmVyIHtcbiAgICBpZiAoIXNlY3Rpb24gfHwgIXNlY3Rpb24ucGFyZW50SWQpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgY3VycmVudCA9IHNlY3Rpb247XG5cbiAgICAgIGxldCBpbmRlbnQgPSAxO1xuXG4gICAgICB3aGlsZSAoY3VycmVudCAmJiBjdXJyZW50LnBhcmVudCkge1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudC5wYXJlbnQ7XG5cbiAgICAgICAgaW5kZW50Kys7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRlbnQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -19,4 +19,4 @@ SectionStoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SectionStoreService, decorators: [{
20
20
  type: Injectable
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLXN0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTdELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFVSx3QkFBbUIsR0FBNEIsRUFBRSxDQUFDO0tBYTNEO0lBWEMsSUFBSSxrQkFBa0IsQ0FBQyxJQUE2QjtRQUNsRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBZ0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7aUhBYlUsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnksIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VjdGlvblN0b3JlU2VydmljZSB7XG4gIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcmllczogQ29tcG9uZW50RmFjdG9yeTxhbnk+W10gPSBbXTtcblxuICBzZXQgY29tcG9uZW50RmFjdG9yaWVzKGRhdGE6IENvbXBvbmVudEZhY3Rvcnk8YW55PltdKSB7XG4gICAgdGhpcy5fY29tcG9uZW50RmFjdG9yaWVzID0gZGF0YTtcbiAgfVxuXG4gIGdldCBjb21wb25lbnRGYWN0b3JpZXMoKTogQ29tcG9uZW50RmFjdG9yeTxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRGYWN0b3JpZXM7XG4gIH1cblxuICBnZXRDb21wb25lbnRGYWN0b3J5KHNlY3Rpb246IFNlY3Rpb24pOiBDb21wb25lbnRGYWN0b3J5PGFueT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEZhY3Rvcmllcy5maW5kKGYgPT4gZi5zZWxlY3RvciA9PT0gc2VjdGlvbi5keW5hbWljU2VsZWN0b3IpO1xuICB9XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLXN0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTdELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFVSx3QkFBbUIsR0FBNEIsRUFBRSxDQUFDO0tBYTNEO0lBWEMsSUFBVyxrQkFBa0IsQ0FBQyxJQUE2QjtRQUN6RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsT0FBZ0I7UUFDekMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7aUhBYlUsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnksIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2VjdGlvblN0b3JlU2VydmljZSB7XG4gIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcmllczogQ29tcG9uZW50RmFjdG9yeTxhbnk+W10gPSBbXTtcblxuICBwdWJsaWMgc2V0IGNvbXBvbmVudEZhY3RvcmllcyhkYXRhOiBDb21wb25lbnRGYWN0b3J5PGFueT5bXSkge1xuICAgIHRoaXMuX2NvbXBvbmVudEZhY3RvcmllcyA9IGRhdGE7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudEZhY3RvcmllcygpOiBDb21wb25lbnRGYWN0b3J5PGFueT5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudEZhY3RvcmllcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb21wb25lbnRGYWN0b3J5KHNlY3Rpb246IFNlY3Rpb24pOiBDb21wb25lbnRGYWN0b3J5PGFueT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEZhY3Rvcmllcy5maW5kKGYgPT4gZi5zZWxlY3RvciA9PT0gc2VjdGlvbi5keW5hbWljU2VsZWN0b3IpO1xuICB9XG59XG4iXX0=
@@ -121,4 +121,4 @@ SectionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SectionsService, decorators: [{
122
122
  type: Injectable
123
123
  }], ctorParameters: function () { return [{ type: i0.Compiler }, { type: i0.NgModuleRef }, { type: i1.SectionStoreService }]; } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLElBQUksMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFLUixZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFXLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUd6QixNQUFNLE9BQU8sb0JBQW9COztrSEFBcEIsb0JBQW9CO3NHQUFwQixvQkFBb0Isa01BRFYsRUFBRTs0RkFDWixvQkFBb0I7a0JBRGhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQUd6QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUdvQyxTQUFTO3NCQUFsRCxZQUFZO3VC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QUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV0RSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3JGLFFBQVEsR0FBRyxtQ0FBbUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakU7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs2R0FwR1UsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgYXMgRXhwZXJpbWVudGFsU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrLWV4cGVyaW1lbnRhbC9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQge1xuICBDb21waWxlcixcbiAgQ29tcG9uZW50LFxuICBJbmplY3RhYmxlLFxuICBJbnB1dCxcbiAgTW9kdWxlV2l0aENvbXBvbmVudEZhY3RvcmllcyxcbiAgTmdNb2R1bGUsXG4gIE5nTW9kdWxlUmVmLFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIEVudGl0eVV0aWwsIFNlY3Rpb24sIFVVSUQgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgVmVsb2NlRWxlbWVudHNNb2R1bGUgfSBmcm9tICdAdmVsb2NlL2VsZW1lbnRzJztcbmltcG9ydCB7IHNldCwgdmFsdWVzIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFJ1bnRpbWVFeGVjdXRpb25Nb2R1bGUgfSBmcm9tICcuLi9leGVjdXRpb24vcnVudGltZS1leGVjdXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFNlY3Rpb25IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWN0aW9uLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3Rpb25TdG9yZVNlcnZpY2UgfSBmcm9tICcuL3NlY3Rpb24tc3RvcmUuc2VydmljZSc7XG5cbmNvbnN0IFNIQTEgPSBVVUlELlNIQTEoKTtcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGNsYXNzIEJhc2VTZWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBzZWN0aW9uITogU2VjdGlvbjtcblxuICBAVmlld0NoaWxkcmVuKCdjdXN0b21UZW1wbGF0ZScpIHByb3RlY3RlZCB0ZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8YW55Pj47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZWN0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIG1vZHVsZVR5cGU6IFR5cGU8YW55PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG1vZHVsZUluc3RhbmNlOiBNb2R1bGVXaXRoQ29tcG9uZW50RmFjdG9yaWVzPGFueT4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlciwgcHJpdmF0ZSBtOiBOZ01vZHVsZVJlZjxhbnk+LCBwcml2YXRlIHNlY3Rpb25TdG9yZTogU2VjdGlvblN0b3JlU2VydmljZSkge31cblxuICBjb21waWxlTW9kdWxlKHNlY3Rpb25zOiBTZWN0aW9uW10sIGlzVmlld0VuY2Fwc3VsYXRlZD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB1bmlxdWVTZWN0aW9ucyA9IHRoaXMuZ2V0VW5pcXVlU2VjdGlvbnMoc2VjdGlvbnMpO1xuXG4gICAgdGhpcy5tb2R1bGVUeXBlID0gdGhpcy5nZXRNb2R1bGVUeXBlKHVuaXF1ZVNlY3Rpb25zLCBpc1ZpZXdFbmNhcHN1bGF0ZWQpO1xuICAgIHRoaXMubW9kdWxlSW5zdGFuY2UgPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyh0aGlzLm1vZHVsZVR5cGUpO1xuXG4gICAgdGhpcy5zZWN0aW9uU3RvcmUuY29tcG9uZW50RmFjdG9yaWVzID0gdGhpcy5tb2R1bGVJbnN0YW5jZS5jb21wb25lbnRGYWN0b3JpZXM7XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1vZHVsZUluc3RhbmNlKSB7XG4gICAgICB0aGlzLnNlY3Rpb25TdG9yZS5jb21wb25lbnRGYWN0b3JpZXMgPSBbXTtcbiAgICAgIHRoaXMubW9kdWxlSW5zdGFuY2UgPSBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1vZHVsZVR5cGUpIHtcbiAgICAgIHRoaXMuY29tcGlsZXIuY2xlYXJDYWNoZUZvcih0aGlzLm1vZHVsZVR5cGUpO1xuICAgICAgdGhpcy5tb2R1bGVUeXBlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldERlY29yYXRlZENvbXBvbmVudHMoc2VjdGlvbnM6IFNlY3Rpb25bXSwgaXNWaWV3RW5jYXBzdWxhdGVkOiBib29sZWFuID0gZmFsc2UpOiBhbnlbXSB7XG4gICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xuXG4gICAgc2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zcGlsZWRUZW1wbGF0ZSA9IHRoaXMuZ2V0VHJhbnNwaWxlZFRlbXBsYXRlKHNlY3Rpb24pO1xuXG4gICAgICBjb25zdCBEeW5hbWljQ29tcG9uZW50ID0gQ29tcG9uZW50KHtcbiAgICAgICAgc2VsZWN0b3I6IHNlY3Rpb24uZHluYW1pY1NlbGVjdG9yLFxuICAgICAgICB0ZW1wbGF0ZTogdHJhbnNwaWxlZFRlbXBsYXRlLFxuICAgICAgICBzdHlsZXM6IFthdG9iKHNlY3Rpb24uc3R5bGVzIHx8ICcnKV0sXG4gICAgICAgIHByb3ZpZGVyczogW1NlY3Rpb25IZWxwZXJTZXJ2aWNlXSxcbiAgICAgICAgZW5jYXBzdWxhdGlvbjogaXNWaWV3RW5jYXBzdWxhdGVkID8gVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tIDogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gICAgICAgIGppdDogdHJ1ZSxcbiAgICAgIH0pKGNsYXNzIEMgZXh0ZW5kcyBCYXNlU2VjdGlvbkNvbXBvbmVudCB7fSk7XG5cbiAgICAgIHRoaXMuYXBwbHlTZWxlY3RvckZpZWxkKER5bmFtaWNDb21wb25lbnQsIHNlY3Rpb24uZHluYW1pY1NlbGVjdG9yID8/ICcnKTtcbiAgICAgIHJlc3VsdC5wdXNoKER5bmFtaWNDb21wb25lbnQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kdWxlVHlwZShzZWN0aW9uczogU2VjdGlvbltdLCBpc1ZpZXdFbmNhcHN1bGF0ZWQ/OiBib29sZWFuKTogVHlwZTxhbnk+IHtcbiAgICBjb25zdCBkZWNvcmF0ZWRDb21wb25lbnRzID0gdGhpcy5nZXREZWNvcmF0ZWRDb21wb25lbnRzKHNlY3Rpb25zLCBpc1ZpZXdFbmNhcHN1bGF0ZWQpO1xuXG4gICAgQE5nTW9kdWxlKHtcbiAgICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSdW50aW1lRXhlY3V0aW9uTW9kdWxlLFxuICAgICAgICBDb3JlTW9kdWxlLFxuICAgICAgICBWZWxvY2VFbGVtZW50c01vZHVsZSxcbiAgICAgICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgICAgICBFeHBlcmltZW50YWxTY3JvbGxpbmdNb2R1bGUsXG4gICAgICBdLFxuICAgICAgZGVjbGFyYXRpb25zOiBbZGVjb3JhdGVkQ29tcG9uZW50c10sXG4gICAgICBqaXQ6IHRydWUsXG4gICAgfSlcbiAgICBjbGFzcyBEeW5hbWljTW9kdWxlIHt9XG5cbiAgICByZXR1cm4gRHluYW1pY01vZHVsZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTZWxlY3RvckZpZWxkKHRhcmdldDogYW55LCBkeW5hbWljU2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIHNldCh0YXJnZXQsICckJGR5bmFtaWNTZWxlY3RvcicsIGR5bmFtaWNTZWxlY3Rvcik7XG4gIH1cblxuICBwcml2YXRlIGdldFVuaXF1ZVNlY3Rpb25zKHNlY3Rpb25zOiBTZWN0aW9uW10pOiBTZWN0aW9uW10ge1xuICAgIGNvbnN0IHVuaXF1ZVNlY3Rpb25zOiB7IFtpbmRleDogc3RyaW5nXTogU2VjdGlvbiB9ID0ge307XG5cbiAgICBzZWN0aW9ucy5mb3JFYWNoKHNlY3Rpb24gPT4ge1xuICAgICAgc2VjdGlvbi5oYXNoID0gU0hBMS5oZXgoc2VjdGlvbi50ZW1wbGF0ZSk7XG5cbiAgICAgIGNvbnN0IGV4aXN0aW5nU2VjdGlvbiA9IHNlY3Rpb24uaGFzaCA/IHVuaXF1ZVNlY3Rpb25zW3NlY3Rpb24uaGFzaF0gOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoZXhpc3RpbmdTZWN0aW9uICYmIGV4aXN0aW5nU2VjdGlvbi50ZW1wbGF0ZSA9PT0gc2VjdGlvbi50ZW1wbGF0ZSkge1xuICAgICAgICBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvciA9IGV4aXN0aW5nU2VjdGlvbi5keW5hbWljU2VsZWN0b3I7XG4gICAgICB9IGVsc2UgaWYgKHNlY3Rpb24uaGFzaCkge1xuICAgICAgICBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvciA9IGBzZWN0aW9uLSR7c2VjdGlvbi5pZH1gO1xuXG4gICAgICAgIHVuaXF1ZVNlY3Rpb25zW3NlY3Rpb24uaGFzaF0gPSBzZWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbHVlcyh1bmlxdWVTZWN0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGdldFRyYW5zcGlsZWRUZW1wbGF0ZShzZWN0aW9uOiBTZWN0aW9uKTogc3RyaW5nIHtcbiAgICBsZXQgdGVtcGxhdGU6IHN0cmluZyA9IHNlY3Rpb24udGVtcGxhdGUgPyBhdG9iKHNlY3Rpb24udGVtcGxhdGUpIDogJyc7XG5cbiAgICBpZiAoIUVudGl0eVV0aWwuaXNFbXB0eShzZWN0aW9uLnNjcmlwdCkgJiYgdGVtcGxhdGUuaW5kZXhPZignPHNlY3Rpb24tc2NyaXB0JykgPT09IC0xKSB7XG4gICAgICB0ZW1wbGF0ZSA9IGA8c2VjdGlvbi1zY3JpcHQ+PC9zZWN0aW9uLXNjcmlwdD5gLmNvbmNhdCh0ZW1wbGF0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlbXBsYXRlO1xuICB9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9zZXJ2aWNlcy9zZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLElBQUksMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFLUixZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFXLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUd6QixNQUFNLE9BQU8sb0JBQW9COztrSEFBcEIsb0JBQW9CO3NHQUFwQixvQkFBb0Isa01BRFYsRUFBRTs0RkFDWixvQkFBb0I7a0JBRGhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQUdsQixJQUFJO3NCQURWLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUdvQyxTQUFTO3NCQUFsRCxZQUFZO3VC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QUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV0RSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3JGLFFBQVEsR0FBRyxtQ0FBbUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakU7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs2R0FwR1UsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgYXMgRXhwZXJpbWVudGFsU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrLWV4cGVyaW1lbnRhbC9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQge1xuICBDb21waWxlcixcbiAgQ29tcG9uZW50LFxuICBJbmplY3RhYmxlLFxuICBJbnB1dCxcbiAgTW9kdWxlV2l0aENvbXBvbmVudEZhY3RvcmllcyxcbiAgTmdNb2R1bGUsXG4gIE5nTW9kdWxlUmVmLFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIEVudGl0eVV0aWwsIFNlY3Rpb24sIFVVSUQgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgVmVsb2NlRWxlbWVudHNNb2R1bGUgfSBmcm9tICdAdmVsb2NlL2VsZW1lbnRzJztcbmltcG9ydCB7IHNldCwgdmFsdWVzIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFJ1bnRpbWVFeGVjdXRpb25Nb2R1bGUgfSBmcm9tICcuLi9leGVjdXRpb24vcnVudGltZS1leGVjdXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFNlY3Rpb25IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWN0aW9uLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3Rpb25TdG9yZVNlcnZpY2UgfSBmcm9tICcuL3NlY3Rpb24tc3RvcmUuc2VydmljZSc7XG5cbmNvbnN0IFNIQTEgPSBVVUlELlNIQTEoKTtcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGNsYXNzIEJhc2VTZWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlY3Rpb24hOiBTZWN0aW9uO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2N1c3RvbVRlbXBsYXRlJykgcHJvdGVjdGVkIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25zU2VydmljZSB7XG4gIHByaXZhdGUgbW9kdWxlVHlwZTogVHlwZTxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbW9kdWxlSW5zdGFuY2U6IE1vZHVsZVdpdGhDb21wb25lbnRGYWN0b3JpZXM8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLCBwcml2YXRlIG06IE5nTW9kdWxlUmVmPGFueT4sIHByaXZhdGUgc2VjdGlvblN0b3JlOiBTZWN0aW9uU3RvcmVTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb21waWxlTW9kdWxlKHNlY3Rpb25zOiBTZWN0aW9uW10sIGlzVmlld0VuY2Fwc3VsYXRlZD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB1bmlxdWVTZWN0aW9ucyA9IHRoaXMuZ2V0VW5pcXVlU2VjdGlvbnMoc2VjdGlvbnMpO1xuXG4gICAgdGhpcy5tb2R1bGVUeXBlID0gdGhpcy5nZXRNb2R1bGVUeXBlKHVuaXF1ZVNlY3Rpb25zLCBpc1ZpZXdFbmNhcHN1bGF0ZWQpO1xuICAgIHRoaXMubW9kdWxlSW5zdGFuY2UgPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyh0aGlzLm1vZHVsZVR5cGUpO1xuXG4gICAgdGhpcy5zZWN0aW9uU3RvcmUuY29tcG9uZW50RmFjdG9yaWVzID0gdGhpcy5tb2R1bGVJbnN0YW5jZS5jb21wb25lbnRGYWN0b3JpZXM7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tb2R1bGVJbnN0YW5jZSkge1xuICAgICAgdGhpcy5zZWN0aW9uU3RvcmUuY29tcG9uZW50RmFjdG9yaWVzID0gW107XG4gICAgICB0aGlzLm1vZHVsZUluc3RhbmNlID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tb2R1bGVUeXBlKSB7XG4gICAgICB0aGlzLmNvbXBpbGVyLmNsZWFyQ2FjaGVGb3IodGhpcy5tb2R1bGVUeXBlKTtcbiAgICAgIHRoaXMubW9kdWxlVHlwZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWNvcmF0ZWRDb21wb25lbnRzKHNlY3Rpb25zOiBTZWN0aW9uW10sIGlzVmlld0VuY2Fwc3VsYXRlZDogYm9vbGVhbiA9IGZhbHNlKTogYW55W10ge1xuICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBbXTtcblxuICAgIHNlY3Rpb25zLmZvckVhY2goc2VjdGlvbiA9PiB7XG4gICAgICBjb25zdCB0cmFuc3BpbGVkVGVtcGxhdGUgPSB0aGlzLmdldFRyYW5zcGlsZWRUZW1wbGF0ZShzZWN0aW9uKTtcblxuICAgICAgY29uc3QgRHluYW1pY0NvbXBvbmVudCA9IENvbXBvbmVudCh7XG4gICAgICAgIHNlbGVjdG9yOiBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvcixcbiAgICAgICAgdGVtcGxhdGU6IHRyYW5zcGlsZWRUZW1wbGF0ZSxcbiAgICAgICAgc3R5bGVzOiBbYXRvYihzZWN0aW9uLnN0eWxlcyB8fCAnJyldLFxuICAgICAgICBwcm92aWRlcnM6IFtTZWN0aW9uSGVscGVyU2VydmljZV0sXG4gICAgICAgIGVuY2Fwc3VsYXRpb246IGlzVmlld0VuY2Fwc3VsYXRlZCA/IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSA6IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICAgICAgICBqaXQ6IHRydWUsXG4gICAgICB9KShjbGFzcyBDIGV4dGVuZHMgQmFzZVNlY3Rpb25Db21wb25lbnQge30pO1xuXG4gICAgICB0aGlzLmFwcGx5U2VsZWN0b3JGaWVsZChEeW5hbWljQ29tcG9uZW50LCBzZWN0aW9uLmR5bmFtaWNTZWxlY3RvciA/PyAnJyk7XG4gICAgICByZXN1bHQucHVzaChEeW5hbWljQ29tcG9uZW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZVR5cGUoc2VjdGlvbnM6IFNlY3Rpb25bXSwgaXNWaWV3RW5jYXBzdWxhdGVkPzogYm9vbGVhbik6IFR5cGU8YW55PiB7XG4gICAgY29uc3QgZGVjb3JhdGVkQ29tcG9uZW50cyA9IHRoaXMuZ2V0RGVjb3JhdGVkQ29tcG9uZW50cyhzZWN0aW9ucywgaXNWaWV3RW5jYXBzdWxhdGVkKTtcblxuICAgIEBOZ01vZHVsZSh7XG4gICAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUnVudGltZUV4ZWN1dGlvbk1vZHVsZSxcbiAgICAgICAgQ29yZU1vZHVsZSxcbiAgICAgICAgVmVsb2NlRWxlbWVudHNNb2R1bGUsXG4gICAgICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICAgICAgRXhwZXJpbWVudGFsU2Nyb2xsaW5nTW9kdWxlLFxuICAgICAgXSxcbiAgICAgIGRlY2xhcmF0aW9uczogW2RlY29yYXRlZENvbXBvbmVudHNdLFxuICAgICAgaml0OiB0cnVlLFxuICAgIH0pXG4gICAgY2xhc3MgRHluYW1pY01vZHVsZSB7fVxuXG4gICAgcmV0dXJuIER5bmFtaWNNb2R1bGU7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U2VsZWN0b3JGaWVsZCh0YXJnZXQ6IGFueSwgZHluYW1pY1NlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzZXQodGFyZ2V0LCAnJCRkeW5hbWljU2VsZWN0b3InLCBkeW5hbWljU2VsZWN0b3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVbmlxdWVTZWN0aW9ucyhzZWN0aW9uczogU2VjdGlvbltdKTogU2VjdGlvbltdIHtcbiAgICBjb25zdCB1bmlxdWVTZWN0aW9uczogeyBbaW5kZXg6IHN0cmluZ106IFNlY3Rpb24gfSA9IHt9O1xuXG4gICAgc2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgIHNlY3Rpb24uaGFzaCA9IFNIQTEuaGV4KHNlY3Rpb24udGVtcGxhdGUpO1xuXG4gICAgICBjb25zdCBleGlzdGluZ1NlY3Rpb24gPSBzZWN0aW9uLmhhc2ggPyB1bmlxdWVTZWN0aW9uc1tzZWN0aW9uLmhhc2hdIDogdW5kZWZpbmVkO1xuICAgICAgaWYgKGV4aXN0aW5nU2VjdGlvbiAmJiBleGlzdGluZ1NlY3Rpb24udGVtcGxhdGUgPT09IHNlY3Rpb24udGVtcGxhdGUpIHtcbiAgICAgICAgc2VjdGlvbi5keW5hbWljU2VsZWN0b3IgPSBleGlzdGluZ1NlY3Rpb24uZHluYW1pY1NlbGVjdG9yO1xuICAgICAgfSBlbHNlIGlmIChzZWN0aW9uLmhhc2gpIHtcbiAgICAgICAgc2VjdGlvbi5keW5hbWljU2VsZWN0b3IgPSBgc2VjdGlvbi0ke3NlY3Rpb24uaWR9YDtcblxuICAgICAgICB1bmlxdWVTZWN0aW9uc1tzZWN0aW9uLmhhc2hdID0gc2VjdGlvbjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB2YWx1ZXModW5pcXVlU2VjdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc3BpbGVkVGVtcGxhdGUoc2VjdGlvbjogU2VjdGlvbik6IHN0cmluZyB7XG4gICAgbGV0IHRlbXBsYXRlOiBzdHJpbmcgPSBzZWN0aW9uLnRlbXBsYXRlID8gYXRvYihzZWN0aW9uLnRlbXBsYXRlKSA6ICcnO1xuXG4gICAgaWYgKCFFbnRpdHlVdGlsLmlzRW1wdHkoc2VjdGlvbi5zY3JpcHQpICYmIHRlbXBsYXRlLmluZGV4T2YoJzxzZWN0aW9uLXNjcmlwdCcpID09PSAtMSkge1xuICAgICAgdGVtcGxhdGUgPSBgPHNlY3Rpb24tc2NyaXB0Pjwvc2VjdGlvbi1zY3JpcHQ+YC5jb25jYXQodGVtcGxhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZW1wbGF0ZTtcbiAgfVxufVxuIl19
@@ -48,4 +48,4 @@ export class ScriptRegistry {
48
48
  this.scope.delete(globalId);
49
49
  }
50
50
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LXJlZ2lzdHJ5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS90eXBlcy9zY3JpcHQtcmVnaXN0cnkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxNQUFNLE9BQU8sY0FBYztJQUl6QjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFnQjtRQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxNQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU0sSUFBSSxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLE1BQUssQ0FBQyxDQUFDLEVBQUU7WUFDekUsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQztRQUV0RSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUU1QixnQkFBZ0I7WUFDaEIsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0I7U0FDRjtJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFnQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFnQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLGNBQW1CO1FBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsUUFBZ0I7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5VXRpbCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBTY3JpcHRSZWdpc3RyeSB7XG4gIHNjb3BlOiBNYXA8c3RyaW5nLCBhbnk+O1xuICBwcml2YXRlIHN0b3JlOiBNYXA8c3RyaW5nLCBzdHJpbmdbXT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zdG9yZSA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLnNjb3BlID0gbmV3IE1hcCgpO1xuICB9XG5cbiAgZXhpc3RzKHNjcmlwdElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWN0aW9uSWRzID0gdGhpcy5zdG9yZS5nZXQoc2NyaXB0SWQpO1xuXG4gICAgcmV0dXJuICFFbnRpdHlVdGlsLmlzRW1wdHkoc2VjdGlvbklkcyk7XG4gIH1cblxuICBpc1JlZ2lzdGVyZWQoc2NyaXB0SWQ6IHN0cmluZywgc2VjdGlvbklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWN0aW9uSWRzID0gdGhpcy5zdG9yZS5nZXQoc2NyaXB0SWQpO1xuXG4gICAgcmV0dXJuICFFbnRpdHlVdGlsLmlzRW1wdHkoc2VjdGlvbklkcykgJiYgc2VjdGlvbklkcz8uZmluZEluZGV4KGVudHJ5SWQgPT4gZW50cnlJZCA9PT0gc2VjdGlvbklkKSAhPT0gLTE7XG4gIH1cblxuICBkb1JlZ2lzdGVyKHNjcmlwdElkOiBzdHJpbmcsIHNlY3Rpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VjdGlvbklkcyA9IHRoaXMuc3RvcmUuZ2V0KHNjcmlwdElkKTtcblxuICAgIGlmICghRW50aXR5VXRpbC5pc1ByZXNlbnQoc2VjdGlvbklkcykpIHtcbiAgICAgIHRoaXMuc3RvcmUuc2V0KHNjcmlwdElkLCBbc2VjdGlvbklkXSk7XG4gICAgfSBlbHNlIGlmIChzZWN0aW9uSWRzPy5maW5kSW5kZXgoZW50cnlJZCA9PiBlbnRyeUlkID09PSBzZWN0aW9uSWQpID09PSAtMSkge1xuICAgICAgc2VjdGlvbklkcy5wdXNoKHNlY3Rpb25JZCk7XG4gICAgfVxuICB9XG5cbiAgdW5SZWdpc3RlcihzY3JpcHRJZDogc3RyaW5nLCBzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlY3Rpb25JZHMgPSB0aGlzLnN0b3JlLmdldChzY3JpcHRJZCk7XG5cbiAgICBpZiAoIXNlY3Rpb25JZHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbmRleCA9IHNlY3Rpb25JZHM/LmZpbmRJbmRleChlbnRyeUlkID0+IGVudHJ5SWQgPT09IHNlY3Rpb25JZCk7XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBzZWN0aW9uSWRzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIC8vIFJlbW92ZSBvcnBoYW5cbiAgICAgIGlmIChzZWN0aW9uSWRzLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kZWxldGUoc2NyaXB0SWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhc0dsb2JhbEZvclNjcmlwdChnbG9iYWxJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGUuaGFzKGdsb2JhbElkKTtcbiAgfVxuXG4gIGdldEdsb2JhbEZvclNjcmlwdChnbG9iYWxJZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5zY29wZS5nZXQoZ2xvYmFsSWQpO1xuICB9XG5cbiAgc2V0R2xvYmFsRm9yU2NyaXB0KGdsb2JhbElkOiBzdHJpbmcsIGdsb2JhbFZhcmlhYmxlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnNjb3BlLnNldChnbG9iYWxJZCwgZ2xvYmFsVmFyaWFibGUpO1xuICB9XG5cbiAgcmVtb3ZlR2xvYmFsRm9yU2NyaXB0KGdsb2JhbElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNjb3BlLmRlbGV0ZShnbG9iYWxJZCk7XG4gIH1cbn1cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LXJlZ2lzdHJ5LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS90eXBlcy9zY3JpcHQtcmVnaXN0cnkudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxNQUFNLE9BQU8sY0FBYztJQUl6QjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFnQjtRQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDckQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxNQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFTSxVQUFVLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtRQUNuRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU0sSUFBSSxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLE1BQUssQ0FBQyxDQUFDLEVBQUU7WUFDekUsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtRQUNuRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQztRQUV0RSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUU1QixnQkFBZ0I7WUFDaEIsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0I7U0FDRjtJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxRQUFnQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxRQUFnQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLGNBQW1CO1FBQzdELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0scUJBQXFCLENBQUMsUUFBZ0I7UUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5VXRpbCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBTY3JpcHRSZWdpc3RyeSB7XG4gIHB1YmxpYyBzY29wZTogTWFwPHN0cmluZywgYW55PjtcbiAgcHJpdmF0ZSBzdG9yZTogTWFwPHN0cmluZywgc3RyaW5nW10+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc3RvcmUgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5zY29wZSA9IG5ldyBNYXAoKTtcbiAgfVxuXG4gIHB1YmxpYyBleGlzdHMoc2NyaXB0SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlY3Rpb25JZHMgPSB0aGlzLnN0b3JlLmdldChzY3JpcHRJZCk7XG5cbiAgICByZXR1cm4gIUVudGl0eVV0aWwuaXNFbXB0eShzZWN0aW9uSWRzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1JlZ2lzdGVyZWQoc2NyaXB0SWQ6IHN0cmluZywgc2VjdGlvbklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWN0aW9uSWRzID0gdGhpcy5zdG9yZS5nZXQoc2NyaXB0SWQpO1xuXG4gICAgcmV0dXJuICFFbnRpdHlVdGlsLmlzRW1wdHkoc2VjdGlvbklkcykgJiYgc2VjdGlvbklkcz8uZmluZEluZGV4KGVudHJ5SWQgPT4gZW50cnlJZCA9PT0gc2VjdGlvbklkKSAhPT0gLTE7XG4gIH1cblxuICBwdWJsaWMgZG9SZWdpc3RlcihzY3JpcHRJZDogc3RyaW5nLCBzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlY3Rpb25JZHMgPSB0aGlzLnN0b3JlLmdldChzY3JpcHRJZCk7XG5cbiAgICBpZiAoIUVudGl0eVV0aWwuaXNQcmVzZW50KHNlY3Rpb25JZHMpKSB7XG4gICAgICB0aGlzLnN0b3JlLnNldChzY3JpcHRJZCwgW3NlY3Rpb25JZF0pO1xuICAgIH0gZWxzZSBpZiAoc2VjdGlvbklkcz8uZmluZEluZGV4KGVudHJ5SWQgPT4gZW50cnlJZCA9PT0gc2VjdGlvbklkKSA9PT0gLTEpIHtcbiAgICAgIHNlY3Rpb25JZHMucHVzaChzZWN0aW9uSWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1blJlZ2lzdGVyKHNjcmlwdElkOiBzdHJpbmcsIHNlY3Rpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VjdGlvbklkcyA9IHRoaXMuc3RvcmUuZ2V0KHNjcmlwdElkKTtcblxuICAgIGlmICghc2VjdGlvbklkcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGluZGV4ID0gc2VjdGlvbklkcz8uZmluZEluZGV4KGVudHJ5SWQgPT4gZW50cnlJZCA9PT0gc2VjdGlvbklkKTtcblxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHNlY3Rpb25JZHMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgLy8gUmVtb3ZlIG9ycGhhblxuICAgICAgaWYgKHNlY3Rpb25JZHMubGVuZ3RoIDwgMSkge1xuICAgICAgICB0aGlzLnN0b3JlLmRlbGV0ZShzY3JpcHRJZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc0dsb2JhbEZvclNjcmlwdChnbG9iYWxJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGUuaGFzKGdsb2JhbElkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRHbG9iYWxGb3JTY3JpcHQoZ2xvYmFsSWQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGUuZ2V0KGdsb2JhbElkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRHbG9iYWxGb3JTY3JpcHQoZ2xvYmFsSWQ6IHN0cmluZywgZ2xvYmFsVmFyaWFibGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2NvcGUuc2V0KGdsb2JhbElkLCBnbG9iYWxWYXJpYWJsZSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlR2xvYmFsRm9yU2NyaXB0KGdsb2JhbElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNjb3BlLmRlbGV0ZShnbG9iYWxJZCk7XG4gIH1cbn1cbiJdfQ==
@@ -270,4 +270,4 @@ export class LineItemUtil {
270
270
  return 0;
271
271
  }
272
272
  }
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1pdGVtLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3V0aWxzL2xpbmUtaXRlbS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVDLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRixNQUFNLE9BQU8sWUFBWTtJQTBCdkIsWUFBWSxJQUFZO1FBeEJoQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQiwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxFQUFFLENBQUM7UUF1QnpCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUF0QkQsSUFBSSxZQUFZLENBQUMsWUFBb0I7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsWUFBb0I7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLG9CQUFvQixDQUFDLG9CQUE0QjtRQUNuRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQU1ELFNBQVMsQ0FBQyxXQUF3QjtRQUNoQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDbkQsT0FBTyxL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dGl0eVV0aWwsIExpbmVJdGVtLCBSdW50aW1lTW9kZWwsIFNlY3Rpb25QYXRoLCBVVUlEIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcblxuZXhwb3J0IGNsYXNzIExpbmVJdGVtUGF0aCB7XG4gIHBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSBfcmVsYXRpdmVQYXRoID0gJyc7XG4gIHByaXZhdGUgX3JlbGF0aXZlQWJzdHJhY3RQYXRoID0gJyc7XG4gIHByaXZhdGUgX2Fic3RyYWN0UGF0aCA9ICcnO1xuXG4gIHNldCByZWxhdGl2ZVBhdGgocmVsYXRpdmVQYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZWxhdGl2ZVBhdGggPSByZWxhdGl2ZVBhdGgudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIGdldCByZWxhdGl2ZVBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpdmVQYXRoO1xuICB9XG5cbiAgc2V0IGFic3RyYWN0UGF0aChhYnN0cmFjdFBhdGg6IHN0cmluZykge1xuICAgIHRoaXMuX2Fic3RyYWN0UGF0aCA9IGFic3RyYWN0UGF0aC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgZ2V0IGFic3RyYWN0UGF0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hYnN0cmFjdFBhdGggfHwgdGhpcy5wYXRoO1xuICB9XG5cbiAgc2V0IHJlbGF0aXZlQWJzdHJhY3RQYXRoKHJlbGF0aXZlQWJzdHJhY3RQYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZWxhdGl2ZUFic3RyYWN0UGF0aCA9IHJlbGF0aXZlQWJzdHJhY3RQYXRoLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhdGggPSBwYXRoLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBpc0VxdWFsVG8oc2VjdGlvblBhdGg6IFNlY3Rpb25QYXRoKTogYm9vbGVhbiB7XG4gICAgaWYgKCFzZWN0aW9uUGF0aCB8fCAhdGhpcy5wYXRoIHx8ICFzZWN0aW9uUGF0aC5wYXRoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3Qgb3RoZXJQYXRoID0gc2VjdGlvblBhdGgucGF0aC50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGlzRXF1YWwgPVxuICAgICAgdGhpcy5wYXRoID09PSBvdGhlclBhdGggfHwgdGhpcy5fcmVsYXRpdmVQYXRoID09PSBvdGhlclBhdGggfHwgdGhpcy5fcmVsYXRpdmVBYnN0cmFjdFBhdGggPT09IG90aGVyUGF0aDtcblxuICAgIC8vVE9ETyBBTEUgU09SVCBPVVQgU0VBUkNIXG4gICAgaWYgKCFpc0VxdWFsKSB7XG4gICAgICBjb25zdCBhYnN0cmFjdFBhdGhNYXRjaCA9IHRoaXMuX2Fic3RyYWN0UGF0aCA9PT0gc2VjdGlvblBhdGguYWJzdHJhY3RQYXRoLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCByZWxhdGl2ZVBhdGhNYXRjaCA9IHRoaXMuX3JlbGF0aXZlUGF0aFxuICAgICAgICA/IHRoaXMuX3JlbGF0aXZlUGF0aCA9PT0gc2VjdGlvblBhdGgucmVsYXRpdmVQYXRoLnRvTG93ZXJDYXNlKClcbiAgICAgICAgOiBmYWxzZTtcbiAgICAgIGNvbnN0IHJlbGF0aXZlQWJzdHJhY3RQYXRoTWF0Y2ggPVxuICAgICAgICB0aGlzLl9yZWxhdGl2ZUFic3RyYWN0UGF0aCAmJiBzZWN0aW9uUGF0aC5yZWxhdGl2ZUFic3RyYWN0UGF0aFxuICAgICAgICAgID8gc2VjdGlvblBhdGgucmVsYXRpdmVBYnN0cmFjdFBhdGgudG9Mb3dlckNhc2UoKSA9PT0gc2VjdGlvblBhdGgucmVsYXRpdmVQYXRoLnRvTG93ZXJDYXNlKCkgJiZcbiAgICAgICAgICAgIHRoaXMuX3JlbGF0aXZlQWJzdHJhY3RQYXRoID09PSBzZWN0aW9uUGF0aC5yZWxhdGl2ZVBhdGgudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIDogZmFsc2U7XG4gICAgICByZXR1cm4gYWJzdHJhY3RQYXRoTWF0Y2ggJiYgKHJlbGF0aXZlUGF0aE1hdGNoIHx8IHJlbGF0aXZlQWJzdHJhY3RQYXRoTWF0Y2gpO1xuICAgIH1cblxuICAgIHJldHVybiBpc0VxdWFsO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5lSXRlbVV0aWwge1xuICBzdGF0aWMgcmVtb3ZlRGVsZXRlZEl0ZW1zKG9yaWdpbmFsOiBMaW5lSXRlbSk6IExpbmVJdGVtIHtcbiAgICBjb25zdCByb290ID0gRW50aXR5VXRpbC5jbG9uZShvcmlnaW5hbCk7XG5cbiAgICBpZiAocm9vdCkge1xuICAgICAgbGV0IGl0ZW1zID0gW3Jvb3RdO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXTtcbiAgICAgICAgaXRlbS5saW5lSXRlbXMgPSAoaXRlbS5saW5lSXRlbXMgPz8gW10pLmZpbHRlcihsID0+IGwuYWN0aW9uQ29kZSAhPT0gJ0RFTEVURScpO1xuICAgICAgICBpdGVtcyA9IGl0ZW1zLmNvbmNhdChpdGVtLmxpbmVJdGVtcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3Q7XG4gIH1cblxuICBzdGF0aWMgcmVwbGFjZUxpbmVJdGVtS2V5cyhyb290TGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgY29uc3QgcmVwbGFjZUZuID0gKGl0ZW06IExpbmVJdGVtKSA9PiB7XG4gICAgICBpdGVtLmlkID0gaXRlbS5pZCA/ICdEVU1NWS0nICsgaXRlbS5pZCA6IGl0ZW0uaWQ7XG4gICAgICBpdGVtLnJvb3RJZCA9IGl0ZW0ucm9vdElkID8gJ0RVTU1ZLScgKyBpdGVtLnJvb3RJZCA6IGl0ZW0ucm9vdElkO1xuICAgICAgaXRlbS5wYXJlbnRJZCA9IGl0ZW0ucGFyZW50SWQgPyAnRFVNTVktJyArIGl0ZW0ucGFyZW50SWQgOiBpdGVtLnBhcmVudElkO1xuICAgICAgaXRlbS5vZmZlcmluZ0luc3RhbmNlSWQgPSBpdGVtLm9mZmVyaW5nSW5zdGFuY2VJZCA/ICdEVU1NWS0nICsgaXRlbS5vZmZlcmluZ0luc3RhbmNlSWQgOiB2b2lkIDA7XG4gICAgICBpdGVtLm9mZmVyaW5nSXRlbUlkID0gaXRlbS5vZmZlcmluZ0l0ZW1JZCA/ICdEVU1NWS0nICsgaXRlbS5vZmZlcmluZ0l0ZW1JZCA6IHZvaWQgMDtcbiAgICAgIGl0ZW0ucmFtcEluc3RhbmNlSWQgPSBpdGVtLnJhbXBJbnN0YW5jZUlkID8gJ0RVTU1ZLScgKyBpdGVtLnJhbXBJbnN0YW5jZUlkIDogdm9pZCAwO1xuICAgIH07XG5cbiAgICBjb25zdCB0cmF2ZXJzZUZuID0gKGxpbmVJdGVtOiBMaW5lSXRlbSwgY2FsbGJhY2tGbjogYW55KSA9PiB7XG4gICAgICBpZiAobGluZUl0ZW0ubGluZUl0ZW1zICYmIGxpbmVJdGVtLmxpbmVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxpbmVJdGVtLmxpbmVJdGVtcy5mb3JFYWNoKGNoaWxkTGluZUl0ZW0gPT4ge1xuICAgICAgICAgIGNhbGxiYWNrRm4uYXBwbHkobnVsbCwgW2NoaWxkTGluZUl0ZW1dKTtcbiAgICAgICAgICB0cmF2ZXJzZUZuLmFwcGx5KG51bGwsIFtjaGlsZExpbmVJdGVtLCBjYWxsYmFja0ZuXSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXBsYWNlRm4uYXBwbHkobnVsbCwgW3Jvb3RMaW5lSXRlbV0pO1xuICAgIC8vIHJvb3RMaW5lSXRlbS5yb290SWQgPSByb290TGluZUl0ZW0uaWQ7XG5cbiAgICB0cmF2ZXJzZUZuLmFwcGx5KG51bGwsIFtyb290TGluZUl0ZW0sIHJlcGxhY2VGbl0pO1xuICB9XG5cbiAgc3RhdGljIGVucmljaFByaWNpbmdJbmZvKHNvdXJjZTogTGluZUl0ZW0sIHByaWNpbmdEdG8/OiBMaW5lSXRlbSk6IExpbmVJdGVtIHtcbiAgICBjb25zdCByZXN1bHQ6IExpbmVJdGVtID0ge1xuICAgICAgLi4uc291cmNlLFxuICAgIH07XG5cbiAgICBpZiAocHJpY2luZ0R0bykge1xuICAgICAgcmVzdWx0LnByb2R1Y3ROYW1lID0gcHJpY2luZ0R0by5wcm9wZXJ0aWVzPy5kaXNwbGF5TmFtZSB8fCBwcmljaW5nRHRvLnByb2R1Y3ROYW1lO1xuICAgICAgcmVzdWx0LnR5cGUgPSBwcmljaW5nRHRvLnR5cGU7XG4gICAgICByZXN1bHQucm9vdElkID0gcHJpY2luZ0R0by5yb290SWQ7XG4gICAgICByZXN1bHQuYXNzZXRJZCA9IHByaWNpbmdEdG8uYXNzZXRJZDtcbiAgICAgIHJlc3VsdC5vcGVuT3JkZXJMaW5lSXRlbUlkID0gcHJpY2luZ0R0by5vcGVuT3JkZXJMaW5lSXRlbUlkO1xuICAgICAgcmVzdWx0LmFjdGl2YXRlZCA9IHByaWNpbmdEdG8uYWN0aXZhdGVkO1xuICAgICAgcmVzdWx0LmFjdGlvbkNvZGUgPSBwcmljaW5nRHRvLmFjdGlvbkNvZGU7XG4gICAgICByZXN1bHQuc2VydmljZVN0YXJ0RGF0ZSA9IHByaWNpbmdEdG8uc2VydmljZVN0YXJ0RGF0ZTtcbiAgICAgIHJlc3VsdC5lZmZlY3RpdmVEYXRlID0gcHJpY2luZ0R0by5lZmZlY3RpdmVEYXRlO1xuICAgICAgcmVzdWx0LnN0YXJ0RGF0ZSA9IHByaWNpbmdEdG8uc3RhcnREYXRlO1xuICAgICAgcmVzdWx0LmVuZERhdGUgPSBwcmljaW5nRHRvLmVuZERhdGU7XG4gICAgICByZXN1bHQub2ZmZXJpbmdJZCA9IHByaWNpbmdEdG8ub2ZmZXJpbmdJZDtcbiAgICAgIHJlc3VsdC5vZmZlcmluZ0l0ZW1JZCA9IHByaWNpbmdEdG8ub2ZmZXJpbmdJdGVtSWQ7XG4gICAgICByZXN1bHQub2ZmZXJpbmdJbnN0YW5jZUlkID0gcHJpY2luZ0R0by5vZmZlcmluZ0luc3RhbmNlSWQ7XG4gICAgICByZXN1bHQucmFtcEluc3RhbmNlSWQgPSBwcmljaW5nRHRvLnJhbXBJbnN0YW5jZUlkO1xuICAgICAgcmVzdWx0LnBsYW5JZCA9IHByaWNpbmdEdG8ucGxhbklkO1xuXG4gICAgICBpZiAoIXJlc3VsdC5jaGFyZ2VJdGVtcykge1xuICAgICAgICByZXN1bHQuY2hhcmdlSXRlbXMgPSBwcmljaW5nRHRvLmNoYXJnZUl0ZW1zO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmNoYXJnZUdyb3VwSXRlbXMgPSBbXTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlLmxpbmVJdGVtcyAmJiBzb3VyY2UubGluZUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdC5saW5lSXRlbXMgPSBbXTtcblxuICAgICAgc291cmNlLmxpbmVJdGVtcy5mb3JFYWNoKChjaGlsZFNvdXJjZTogTGluZUl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgY2hpbGREdG8gPSBwcmljaW5nRHRvICYmIHByaWNpbmdEdG8ubGluZUl0ZW1zICYmIHByaWNpbmdEdG8ubGluZUl0ZW1zLmZpbmQoYyA9PiBjaGlsZFNvdXJjZS5pZCA9PT0gYy5pZCk7XG5cbiAgICAgICAgY29uc3QgY2hpbGRJdGVtID0gTGluZUl0ZW1VdGlsLmVucmljaFByaWNpbmdJbmZvKGNoaWxkU291cmNlLCBjaGlsZER0byk7XG5cbiAgICAgICAgcmVzdWx0LmxpbmVJdGVtcy5wdXNoKGNoaWxkSXRlbSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIGdldExpbmVJdGVtUGF0aChsaW5lSXRlbTogTGluZUl0ZW0sIHJvb3RMaW5lSXRlbTogTGluZUl0ZW0pOiBMaW5lSXRlbVBhdGgge1xuICAgIGxldCBwYXRoOiBMaW5lSXRlbVBhdGg7XG5cbiAgICBpZiAoIWxpbmVJdGVtLnBhcmVudElkKSB7XG4gICAgICBwYXRoID0gbmV3IExpbmVJdGVtUGF0aCgnLycgKyBsaW5lSXRlbS50eXBlKTtcblxuICAgICAgcGF0aC5hYnN0cmFjdFBhdGggPSBwYXRoLnBhdGg7XG4gICAgICBwYXRoLnJlbGF0aXZlUGF0aCA9IHBhdGgucGF0aDtcbiAgICAgIHBhdGgucmVsYXRpdmVBYnN0cmFjdFBhdGggPSBwYXRoLnBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vVE9PRE8gQUxFIFNPUlQgT1VUIFBBVEVOVCBJVEVNXG4gICAgICBjb25zdCBwYXJlbnRJdGVtID0gRW50aXR5VXRpbC5maW5kQnlGaWVsZEhpZXJhcmNoaWNhbGx5PExpbmVJdGVtPihcbiAgICAgICAgJ2lkJyxcbiAgICAgICAgbGluZUl0ZW0ucGFyZW50SWQsXG4gICAgICAgIFtyb290TGluZUl0ZW1dLFxuICAgICAgICAnbGluZUl0ZW1zJyxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHBvcnRUeXBlID0gbGluZUl0ZW0ucG9ydCAmJiBwYXJlbnRJdGVtPy5wb3J0RG9tYWluc1tsaW5lSXRlbS5wb3J0XS50eXBlO1xuXG4gICAgICBjb25zdCBwYXJlbnRQYXRoID0gcGFyZW50SXRlbSAmJiBMaW5lSXRlbVV0aWwuZ2V0TGluZUl0ZW1QYXRoKHBhcmVudEl0ZW0sIHJvb3RMaW5lSXRlbSk7XG5cbiAgICAgIGlmIChwYXJlbnRQYXRoKSB7XG4gICAgICAgIHBhdGggPSBuZXcgTGluZUl0ZW1QYXRoKHBhcmVudFBhdGgucGF0aCArICcvcG9ydHMvJyArIGxpbmVJdGVtLnBvcnQgKyAnLycgKyBsaW5lSXRlbS50eXBlKTtcblxuICAgICAgICBwYXRoLmFic3RyYWN0UGF0aCA9IHBhcmVudFBhdGguYWJzdHJhY3RQYXRoICsgJy9wb3J0cy8nICsgKGxpbmVJdGVtLnBvcnQgKyAnLycgKyBwb3J0VHlwZSk7XG4gICAgICAgIHBhdGgucmVsYXRpdmVQYXRoID0gJy8nICsgbGluZUl0ZW0udHlwZTtcbiAgICAgICAgcGF0aC5yZWxhdGl2ZUFic3RyYWN0UGF0aCA9ICcvJyArIHBvcnRUeXBlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgJ0NvdWxkIG5vdCBjb25zdHJ1Y3QgbGluZSBpdGVtIHBhdGgnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgc3RhdGljIGZpbmRCeUlkKHBhcmVudElkOiBzdHJpbmcsIGxpbmVJdGVtczogTGluZUl0ZW1bXSk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gRW50aXR5VXRpbC5maW5kQnlGaWVsZEhpZXJhcmNoaWNhbGx5KCdpZCcsIHBhcmVudElkLCBsaW5lSXRlbXMsICdsaW5lSXRlbXMnKTtcbiAgfVxuXG4gIHN0YXRpYyBjb3VudEF0dHJpYnV0ZVZhbHVlcyhzY2FsZTogbnVtYmVyLCBhdHRyaWJ1dGVEb21haW46IGFueVtdKSB7XG4gICAgY29uc3QgcHJlY2lzaW9uID0gTGluZUl0ZW1VdGlsLnByZWNpc2lvbihzY2FsZSk7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBhdHRyaWJ1dGVEb21haW4uZm9yRWFjaChkID0+IChjb3VudCArPSBkLm1heCAtIGQubWluICsgcHJlY2lzaW9uKSk7XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG5cbiAgc3RhdGljIHByZWNpc2lvbihzY2FsZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIXNjYWxlKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgbGV0IHMgPSAnMSc7XG4gICAgd2hpbGUgKHMubGVuZ3RoIDwgc2NhbGUpIHtcbiAgICAgIHMgPSAnMCcgKyBzO1xuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyKCcwLicgKyBzKTtcbiAgfVxuXG4gIHN0YXRpYyBzcGxpdERvbWFpblRvVmFsdWVzKHNjYWxlOiBudW1iZXIsIGF0dHJpYnV0ZURvbWFpbjogYW55W10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcHJlY2lzaW9uID0gdGhpcy5wcmVjaXNpb24oc2NhbGUpO1xuICAgIGxldCB2YWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgYXR0cmlidXRlRG9tYWluLmZvckVhY2goXG4gICAgICBpbnRlcnZhbCA9PiAodmFsdWVzID0gdmFsdWVzLmNvbmNhdChMaW5lSXRlbVV0aWwuc3BsaXRJbnRlcnZhbFRvVmFsdWVzKHByZWNpc2lvbiwgaW50ZXJ2YWwpKSksXG4gICAgKTtcbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG5cbiAgc3RhdGljIHNwbGl0SW50ZXJ2YWxUb1ZhbHVlcyhwcmVjaXNpb246IG51bWJlciwgaW50ZXJ2YWw6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSBpbnRlcnZhbC5taW47IGkgPD0gaW50ZXJ2YWwubWF4OyBpICs9IHByZWNpc2lvbikge1xuICAgICAgdmFsdWVzLnB1c2goaSk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cblxuICBzdGF0aWMgZmluZExpbmVJdGVtc0J5UGF0aChydW50aW1lTW9kZWw6IFJ1bnRpbWVNb2RlbCwgbGluZUl0ZW06IExpbmVJdGVtLCBwYXRoOiBTZWN0aW9uUGF0aCk6IExpbmVJdGVtW10ge1xuICAgIGlmICghcnVudGltZU1vZGVsLmlzRXF1YWxzKGxpbmVJdGVtLnR5cGUsIHBhdGgudHlwZXNbMF0pKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGxldCBsaW5lSXRlbXMgPSBbbGluZUl0ZW1dO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcGF0aC50eXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcG9ydE5hbWUgPSBwYXRoLnBvcnRzW2kgLSAxXTtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gcGF0aC50eXBlc1tpXTtcbiAgICAgIGxpbmVJdGVtcyA9IExpbmVJdGVtVXRpbC5maW5kTGluZUl0ZW1DaGlsZHJlbihydW50aW1lTW9kZWwsIGxpbmVJdGVtcywgcG9ydE5hbWUsIHR5cGVOYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmVJdGVtcztcbiAgfVxuXG4gIHN0YXRpYyBmaW5kTGluZUl0ZW1DaGlsZHJlbihydW50aW1lTW9kZWw6IFJ1bnRpbWVNb2RlbCwgbGluZUl0ZW1zOiBMaW5lSXRlbVtdLCBwb3J0TmFtZTogc3RyaW5nLCB0eXBlTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgZm9yIChjb25zdCBsaW5lSXRlbSBvZiBsaW5lSXRlbXMpIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGRJdGVtIG9mIGxpbmVJdGVtLmxpbmVJdGVtcykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY2hpbGRJdGVtLnBvcnQ/LnRvTG93ZXJDYXNlKCkgPT09IHBvcnROYW1lLnRvTG93ZXJDYXNlKCkgJiZcbiAgICAgICAgICBydW50aW1lTW9kZWwuaXNFcXVhbHMoY2hpbGRJdGVtLnR5cGUsIHR5cGVOYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXN1bHQucHVzaChjaGlsZEl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgZmluZExpbmVJdGVtc0J5VHlwZShydW50aW1lTW9kZWw6IFJ1bnRpbWVNb2RlbCwgbGluZUl0ZW06IExpbmVJdGVtLCB0eXBlTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgbGV0IGxpbmVJdGVtcyA9IFtsaW5lSXRlbV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGxpbmVJdGVtID0gbGluZUl0ZW1zW2ldO1xuICAgICAgaWYgKHJ1bnRpbWVNb2RlbC5pc0VxdWFscyhsaW5lSXRlbS50eXBlLCB0eXBlTmFtZSkpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobGluZUl0ZW0pO1xuICAgICAgfVxuICAgICAgbGluZUl0ZW1zID0gbGluZUl0ZW1zLmNvbmNhdChsaW5lSXRlbS5saW5lSXRlbXMpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgZmluZExpbmVJdGVtRm9yVmFsdWUobW9kZWw6IExpbmVJdGVtLCB2YWx1ZU9wdGlvbjogc3RyaW5nKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIGlmICghRW50aXR5VXRpbC5pc1ByZXNlbnQobW9kZWwpIHx8ICFFbnRpdHlVdGlsLmlzUHJlc2VudChtb2RlbC5saW5lSXRlbXMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZGVsLmxpbmVJdGVtcy5maW5kKGxpID0+IGxpLnR5cGUgJiYgbGkudHlwZS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZU9wdGlvbi50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIC8vIFRPRE86IGFkZCBQcm9kdWN0IHR5cGluZ3NcbiAgc3RhdGljIGNyZWF0ZShwcm9kdWN0OiBhbnksIHF0eT86IG51bWJlcik6IExpbmVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IFVVSUQuVVVJRCgpLFxuICAgICAgdHlwZTogcHJvZHVjdC50eXBlTmFtZSxcbiAgICAgIG5hbWU6IHByb2R1Y3QucHJvcGVydGllcz8uZGlzcGxheU5hbWUgfHwgcHJvZHVjdC5uYW1lLFxuICAgICAgcHJvZHVjdE5hbWU6IHByb2R1Y3QubmFtZSxcbiAgICAgIHByb2R1Y3RJZDogcHJvZHVjdC5pZCxcbiAgICAgIGNmZ1N0YXR1czogJ1VzZXInLFxuICAgICAgYWN0aW9uQ29kZTogJ0FERCcsXG4gICAgICBxdHk6IHF0eSB8fCAxLFxuICAgIH0gYXMgTGluZUl0ZW07XG4gIH1cblxuICBzdGF0aWMgdXBzZXJ0KHZhbHVlOiBMaW5lSXRlbSwgY29sbGVjdGlvbjogTGluZUl0ZW1bXSkge1xuICAgIGNvbnN0IGluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSB2YWx1ZS5pZCk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbGxlY3Rpb25baW5kZXhdID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbGxlY3Rpb24ucHVzaCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGNvbXBhcmVTb3J0T3JkZXIoYTogTGluZUl0ZW0sIGI6IExpbmVJdGVtKSB7XG4gICAgY29uc3Qgb3JkZXJBID0gTnVtYmVyKGEucHJvcGVydGllc1snU29ydE9yZGVyJ10pO1xuICAgIGNvbnN0IG9yZGVyQiA9IE51bWJlcihiLnByb3BlcnRpZXNbJ1NvcnRPcmRlciddKTtcbiAgICBpZiAoIW9yZGVyQSAmJiAhb3JkZXJCKSB7XG4gICAgICByZXR1cm4gTGluZUl0ZW1VdGlsLmNvbXBhcmVQcm9kdWN0TmFtZShhLCBiKTtcbiAgICB9XG4gICAgaWYgKCFvcmRlckEpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSBpZiAoIW9yZGVyQikge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBvcmRlckEgLSBvcmRlckI7XG4gICAgaWYgKHJlc3VsdCA9PT0gMCkge1xuICAgICAgcmV0dXJuIExpbmVJdGVtVXRpbC5jb21wYXJlUHJvZHVjdE5hbWUoYSwgYik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBzdGF0aWMgc29ydChsaW5lSXRlbXM6IExpbmVJdGVtW10pIHtcbiAgICBpZiAobGluZUl0ZW1zKSB7XG4gICAgICBsaW5lSXRlbXMuc29ydCgoYSwgYikgPT4gTGluZUl0ZW1VdGlsLmNvbXBhcmVTb3J0T3JkZXIoYSwgYikpO1xuICAgICAgbGluZUl0ZW1zLmZvckVhY2goaSA9PiBMaW5lSXRlbVV0aWwuc29ydChpLmxpbmVJdGVtcykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNvbXBhcmVQcm9kdWN0TmFtZShhOiBMaW5lSXRlbSwgYjogTGluZUl0ZW0pIHtcbiAgICBpZiAoYS5wcm9kdWN0TmFtZSkge1xuICAgICAgcmV0dXJuIChhLnByb2R1Y3ROYW1lID8/ICcnKS5sb2NhbGVDb21wYXJlKGIucHJvZHVjdE5hbWUgPz8gJycpO1xuICAgIH0gZWxzZSBpZiAoYi5wcm9kdWN0TmFtZSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG59XG4iXX0=
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1pdGVtLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL3V0aWxzL2xpbmUtaXRlbS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVDLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRixNQUFNLE9BQU8sWUFBWTtJQTBCdkIsWUFBWSxJQUFZO1FBeEJoQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQiwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxFQUFFLENBQUM7UUF1QnpCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUF0QkQsSUFBVyxZQUFZLENBQUMsWUFBb0I7UUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsWUFBWSxDQUFDLFlBQW9CO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsb0JBQW9CLENBQUMsb0JBQTRCO1FBQzFELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBTU0sU0FBUyxDQUFDLFdBQXdCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtZQUNuRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FDWCxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssU0FBUyxDQUFDO1FBRTFHLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxLQUFLLFdBQVcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYTtnQkFDMUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssV0FBVyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUU7Z0JBQy9ELENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDVixNQUFNLHlCQUF5QixHQUM3QixJQUFJLENBQUMscUJBQXFCLElBQUksV0FBVyxDQUFDLG9CQUFvQjtnQkFDNUQsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsS0FBSyxXQUFXLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtvQkFDekYsSUFBSSxDQUFDLHFCQUFxQixLQUFLLFdBQVcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO2dCQUN2RSxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ1osT0FBTyxpQkFBaUIsSUFBSSxDQUFDLGlCQUFpQixJQUFJLHlCQUF5QixDQUFDLENBQUM7U0FDOUU7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUNoQixNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBa0I7O1FBQ2pELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRW5CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxNQUFBLElBQUksQ0FBQyxTQUFTLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUM7Z0JBQy9FLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN0QztTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQXNCO1FBQ3RELE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBYyxFQUFRLEVBQUU7WUFDekMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEYsQ0FBQyxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFrQixFQUFFLFVBQWUsRUFBUSxFQUFFO1lBQy9ELElBQUksUUFBUSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3ZELFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUN6QyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7b0JBQ3hDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUM7UUFFRixTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDdEMseUNBQXlDO1FBRXpDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFnQixFQUFFLFVBQXFCOztRQUNyRSxNQUFNLE1BQU0scUJBQ1AsTUFBTSxDQUNWLENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRTtZQUNkLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQSxNQUFBLFVBQVUsQ0FBQyxVQUFVLDBDQUFFLFdBQVcsS0FBSSxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQ2xGLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztZQUM5QixNQUFNLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDbEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUM7WUFDNUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUMxQyxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDO1lBQ3RELE1BQU0sQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUNoRCxNQUFNLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFDeEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUMxQyxNQUFNLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUM7WUFDbEQsTUFBTSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQztZQUMxRCxNQUFNLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUM7WUFDbEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBRWxDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO2dCQUN2QixNQUFNLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7YUFDN0M7WUFDRCxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1NBQzlCO1FBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuRCxNQUFNLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUV0QixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQXFCLEVBQUUsRUFBRTtnQkFDakQsTUFBTSxRQUFRLEdBQUcsVUFBVSxJQUFJLFVBQVUsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFL0csTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFFeEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLFFBQWtCLEVBQUUsWUFBc0I7UUFDdEUsSUFBSSxJQUFrQixDQUFDO1FBRXZCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ3RCLElBQUksR0FBRyxJQUFJLFlBQVksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTdDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdkM7YUFBTTtZQUNMLGdDQUFnQztZQUNoQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMseUJBQXlCLENBQ3JELElBQUksRUFDSixRQUFRLENBQUMsUUFBUSxFQUNqQixDQUFDLFlBQVksQ0FBQyxFQUNkLFdBQVcsQ0FDWixDQUFDO1lBRUYsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksS0FBSSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFBLENBQUM7WUFFOUUsTUFBTSxVQUFVLEdBQUcsVUFBVSxJQUFJLFlBQVksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBRXhGLElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksR0FBRyxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTNGLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLFlBQVksR0FBRyxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQztnQkFDM0YsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7YUFDNUM7aUJBQU07Z0JBQ0wsTUFBTSxvQ0FBb0MsQ0FBQzthQUM1QztTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLFNBQXFCO1FBQzVELE9BQU8sVUFBVSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBYSxFQUFFLGVBQXNCO1FBQ3RFLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNaLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLEVBQUU7WUFDdkIsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDYjtRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQWEsRUFBRSxlQUFzQjtRQUNyRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUMxQixlQUFlLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQzlGLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFNBQWlCLEVBQUUsUUFBYTtRQUNsRSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxTQUFTLEVBQUU7WUFDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsWUFBMEIsRUFBRSxRQUFrQixFQUFFLElBQWlCO1FBQ2pHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hELE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxJQUFJLFNBQVMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLFNBQVMsR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDNUY7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUNoQyxZQUEwQixFQUMxQixTQUFxQixFQUNyQixRQUFnQixFQUNoQixRQUFnQjs7UUFFaEIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1lBQ2hDLEtBQUssTUFBTSxTQUFTLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRTtnQkFDMUMsSUFDRSxDQUFBLE1BQUEsU0FBUyxDQUFDLElBQUksMENBQUUsV0FBVyxFQUFFLE1BQUssUUFBUSxDQUFDLFdBQVcsRUFBRTtvQkFDeEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUMvQztvQkFDQSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUN4QjthQUNGO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQTBCLEVBQUUsUUFBa0IsRUFBRSxRQUFnQjtRQUNoRyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ2xELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdkI7WUFDRCxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQWUsRUFBRSxXQUFtQjtRQUNyRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzFFLE9BQU87U0FDUjtRQUVELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELDRCQUE0QjtJQUNyQixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQVksRUFBRSxHQUFZOztRQUM3QyxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZixJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDdEIsSUFBSSxFQUFFLENBQUEsTUFBQSxPQUFPLENBQUMsVUFBVSwwQ0FBRSxXQUFXLEtBQUksT0FBTyxDQUFDLElBQUk7WUFDckQsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNyQixTQUFTLEVBQUUsTUFBTTtZQUNqQixVQUFVLEVBQUUsS0FBSztZQUNqQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7U0FDRixDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWUsRUFBRSxVQUFzQjtRQUMxRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakUsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDZCxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQzNCO2FBQU07WUFDTCxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFXLEVBQUUsQ0FBVztRQUNyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QixPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUM7UUFDRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbEIsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNYO1FBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUMvQixJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEIsT0FBTyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBcUI7UUFDdEMsSUFBSSxTQUFTLEVBQUU7WUFDYixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlELFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFXLEVBQUUsQ0FBVzs7UUFDeEQsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxNQUFBLENBQUMsQ0FBQyxXQUFXLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFBLENBQUMsQ0FBQyxXQUFXLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2pFO2FBQU0sSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVV0aWwsIExpbmVJdGVtLCBSdW50aW1lTW9kZWwsIFNlY3Rpb25QYXRoLCBVVUlEIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcblxuZXhwb3J0IGNsYXNzIExpbmVJdGVtUGF0aCB7XG4gIHB1YmxpYyBwYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgX3JlbGF0aXZlUGF0aCA9ICcnO1xuICBwcml2YXRlIF9yZWxhdGl2ZUFic3RyYWN0UGF0aCA9ICcnO1xuICBwcml2YXRlIF9hYnN0cmFjdFBhdGggPSAnJztcblxuICBwdWJsaWMgc2V0IHJlbGF0aXZlUGF0aChyZWxhdGl2ZVBhdGg6IHN0cmluZykge1xuICAgIHRoaXMuX3JlbGF0aXZlUGF0aCA9IHJlbGF0aXZlUGF0aC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCByZWxhdGl2ZVBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpdmVQYXRoO1xuICB9XG5cbiAgcHVibGljIHNldCBhYnN0cmFjdFBhdGgoYWJzdHJhY3RQYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hYnN0cmFjdFBhdGggPSBhYnN0cmFjdFBhdGgudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWJzdHJhY3RQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Fic3RyYWN0UGF0aCB8fCB0aGlzLnBhdGg7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJlbGF0aXZlQWJzdHJhY3RQYXRoKHJlbGF0aXZlQWJzdHJhY3RQYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZWxhdGl2ZUFic3RyYWN0UGF0aCA9IHJlbGF0aXZlQWJzdHJhY3RQYXRoLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhdGggPSBwYXRoLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgaXNFcXVhbFRvKHNlY3Rpb25QYXRoOiBTZWN0aW9uUGF0aCk6IGJvb2xlYW4ge1xuICAgIGlmICghc2VjdGlvblBhdGggfHwgIXRoaXMucGF0aCB8fCAhc2VjdGlvblBhdGgucGF0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IG90aGVyUGF0aCA9IHNlY3Rpb25QYXRoLnBhdGgudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBpc0VxdWFsID1cbiAgICAgIHRoaXMucGF0aCA9PT0gb3RoZXJQYXRoIHx8IHRoaXMuX3JlbGF0aXZlUGF0aCA9PT0gb3RoZXJQYXRoIHx8IHRoaXMuX3JlbGF0aXZlQWJzdHJhY3RQYXRoID09PSBvdGhlclBhdGg7XG5cbiAgICAvL1RPRE8gQUxFIFNPUlQgT1VUIFNFQVJDSFxuICAgIGlmICghaXNFcXVhbCkge1xuICAgICAgY29uc3QgYWJzdHJhY3RQYXRoTWF0Y2ggPSB0aGlzLl9hYnN0cmFjdFBhdGggPT09IHNlY3Rpb25QYXRoLmFic3RyYWN0UGF0aC50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgcmVsYXRpdmVQYXRoTWF0Y2ggPSB0aGlzLl9yZWxhdGl2ZVBhdGhcbiAgICAgICAgPyB0aGlzLl9yZWxhdGl2ZVBhdGggPT09IHNlY3Rpb25QYXRoLnJlbGF0aXZlUGF0aC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIDogZmFsc2U7XG4gICAgICBjb25zdCByZWxhdGl2ZUFic3RyYWN0UGF0aE1hdGNoID1cbiAgICAgICAgdGhpcy5fcmVsYXRpdmVBYnN0cmFjdFBhdGggJiYgc2VjdGlvblBhdGgucmVsYXRpdmVBYnN0cmFjdFBhdGhcbiAgICAgICAgICA/IHNlY3Rpb25QYXRoLnJlbGF0aXZlQWJzdHJhY3RQYXRoLnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb25QYXRoLnJlbGF0aXZlUGF0aC50b0xvd2VyQ2FzZSgpICYmXG4gICAgICAgICAgICB0aGlzLl9yZWxhdGl2ZUFic3RyYWN0UGF0aCA9PT0gc2VjdGlvblBhdGgucmVsYXRpdmVQYXRoLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICA6IGZhbHNlO1xuICAgICAgcmV0dXJuIGFic3RyYWN0UGF0aE1hdGNoICYmIChyZWxhdGl2ZVBhdGhNYXRjaCB8fCByZWxhdGl2ZUFic3RyYWN0UGF0aE1hdGNoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNFcXVhbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGluZUl0ZW1VdGlsIHtcbiAgcHVibGljIHN0YXRpYyByZW1vdmVEZWxldGVkSXRlbXMob3JpZ2luYWw6IExpbmVJdGVtKTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IHJvb3QgPSBFbnRpdHlVdGlsLmNsb25lKG9yaWdpbmFsKTtcblxuICAgIGlmIChyb290KSB7XG4gICAgICBsZXQgaXRlbXMgPSBbcm9vdF07XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldO1xuICAgICAgICBpdGVtLmxpbmVJdGVtcyA9IChpdGVtLmxpbmVJdGVtcyA/PyBbXSkuZmlsdGVyKGwgPT4gbC5hY3Rpb25Db2RlICE9PSAnREVMRVRFJyk7XG4gICAgICAgIGl0ZW1zID0gaXRlbXMuY29uY2F0KGl0ZW0ubGluZUl0ZW1zKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVwbGFjZUxpbmVJdGVtS2V5cyhyb290TGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgY29uc3QgcmVwbGFjZUZuID0gKGl0ZW06IExpbmVJdGVtKTogdm9pZCA9PiB7XG4gICAgICBpdGVtLmlkID0gaXRlbS5pZCA/ICdEVU1NWS0nICsgaXRlbS5pZCA6IGl0ZW0uaWQ7XG4gICAgICBpdGVtLnJvb3RJZCA9IGl0ZW0ucm9vdElkID8gJ0RVTU1ZLScgKyBpdGVtLnJvb3RJZCA6IGl0ZW0ucm9vdElkO1xuICAgICAgaXRlbS5wYXJlbnRJZCA9IGl0ZW0ucGFyZW50SWQgPyAnRFVNTVktJyArIGl0ZW0ucGFyZW50SWQgOiBpdGVtLnBhcmVudElkO1xuICAgICAgaXRlbS5vZmZlcmluZ0luc3RhbmNlSWQgPSBpdGVtLm9mZmVyaW5nSW5zdGFuY2VJZCA/ICdEVU1NWS0nICsgaXRlbS5vZmZlcmluZ0luc3RhbmNlSWQgOiB2b2lkIDA7XG4gICAgICBpdGVtLm9mZmVyaW5nSXRlbUlkID0gaXRlbS5vZmZlcmluZ0l0ZW1JZCA/ICdEVU1NWS0nICsgaXRlbS5vZmZlcmluZ0l0ZW1JZCA6IHZvaWQgMDtcbiAgICAgIGl0ZW0ucmFtcEluc3RhbmNlSWQgPSBpdGVtLnJhbXBJbnN0YW5jZUlkID8gJ0RVTU1ZLScgKyBpdGVtLnJhbXBJbnN0YW5jZUlkIDogdm9pZCAwO1xuICAgIH07XG5cbiAgICBjb25zdCB0cmF2ZXJzZUZuID0gKGxpbmVJdGVtOiBMaW5lSXRlbSwgY2FsbGJhY2tGbjogYW55KTogdm9pZCA9PiB7XG4gICAgICBpZiAobGluZUl0ZW0ubGluZUl0ZW1zICYmIGxpbmVJdGVtLmxpbmVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxpbmVJdGVtLmxpbmVJdGVtcy5mb3JFYWNoKGNoaWxkTGluZUl0ZW0gPT4ge1xuICAgICAgICAgIGNhbGxiYWNrRm4uYXBwbHkobnVsbCwgW2NoaWxkTGluZUl0ZW1dKTtcbiAgICAgICAgICB0cmF2ZXJzZUZuLmFwcGx5KG51bGwsIFtjaGlsZExpbmVJdGVtLCBjYWxsYmFja0ZuXSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXBsYWNlRm4uYXBwbHkobnVsbCwgW3Jvb3RMaW5lSXRlbV0pO1xuICAgIC8vIHJvb3RMaW5lSXRlbS5yb290SWQgPSByb290TGluZUl0ZW0uaWQ7XG5cbiAgICB0cmF2ZXJzZUZuLmFwcGx5KG51bGwsIFtyb290TGluZUl0ZW0sIHJlcGxhY2VGbl0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbnJpY2hQcmljaW5nSW5mbyhzb3VyY2U6IExpbmVJdGVtLCBwcmljaW5nRHRvPzogTGluZUl0ZW0pOiBMaW5lSXRlbSB7XG4gICAgY29uc3QgcmVzdWx0OiBMaW5lSXRlbSA9IHtcbiAgICAgIC4uLnNvdXJjZSxcbiAgICB9O1xuXG4gICAgaWYgKHByaWNpbmdEdG8pIHtcbiAgICAgIHJlc3VsdC5wcm9kdWN0TmFtZSA9IHByaWNpbmdEdG8ucHJvcGVydGllcz8uZGlzcGxheU5hbWUgfHwgcHJpY2luZ0R0by5wcm9kdWN0TmFtZTtcbiAgICAgIHJlc3VsdC50eXBlID0gcHJpY2luZ0R0by50eXBlO1xuICAgICAgcmVzdWx0LnJvb3RJZCA9IHByaWNpbmdEdG8ucm9vdElkO1xuICAgICAgcmVzdWx0LmFzc2V0SWQgPSBwcmljaW5nRHRvLmFzc2V0SWQ7XG4gICAgICByZXN1bHQub3Blbk9yZGVyTGluZUl0ZW1JZCA9IHByaWNpbmdEdG8ub3Blbk9yZGVyTGluZUl0ZW1JZDtcbiAgICAgIHJlc3VsdC5hY3RpdmF0ZWQgPSBwcmljaW5nRHRvLmFjdGl2YXRlZDtcbiAgICAgIHJlc3VsdC5hY3Rpb25Db2RlID0gcHJpY2luZ0R0by5hY3Rpb25Db2RlO1xuICAgICAgcmVzdWx0LnNlcnZpY2VTdGFydERhdGUgPSBwcmljaW5nRHRvLnNlcnZpY2VTdGFydERhdGU7XG4gICAgICByZXN1bHQuZWZmZWN0aXZlRGF0ZSA9IHByaWNpbmdEdG8uZWZmZWN0aXZlRGF0ZTtcbiAgICAgIHJlc3VsdC5zdGFydERhdGUgPSBwcmljaW5nRHRvLnN0YXJ0RGF0ZTtcbiAgICAgIHJlc3VsdC5lbmREYXRlID0gcHJpY2luZ0R0by5lbmREYXRlO1xuICAgICAgcmVzdWx0Lm9mZmVyaW5nSWQgPSBwcmljaW5nRHRvLm9mZmVyaW5nSWQ7XG4gICAgICByZXN1bHQub2ZmZXJpbmdJdGVtSWQgPSBwcmljaW5nRHRvLm9mZmVyaW5nSXRlbUlkO1xuICAgICAgcmVzdWx0Lm9mZmVyaW5nSW5zdGFuY2VJZCA9IHByaWNpbmdEdG8ub2ZmZXJpbmdJbnN0YW5jZUlkO1xuICAgICAgcmVzdWx0LnJhbXBJbnN0YW5jZUlkID0gcHJpY2luZ0R0by5yYW1wSW5zdGFuY2VJZDtcbiAgICAgIHJlc3VsdC5wbGFuSWQgPSBwcmljaW5nRHRvLnBsYW5JZDtcblxuICAgICAgaWYgKCFyZXN1bHQuY2hhcmdlSXRlbXMpIHtcbiAgICAgICAgcmVzdWx0LmNoYXJnZUl0ZW1zID0gcHJpY2luZ0R0by5jaGFyZ2VJdGVtcztcbiAgICAgIH1cbiAgICAgIHJlc3VsdC5jaGFyZ2VHcm91cEl0ZW1zID0gW107XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZS5saW5lSXRlbXMgJiYgc291cmNlLmxpbmVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXN1bHQubGluZUl0ZW1zID0gW107XG5cbiAgICAgIHNvdXJjZS5saW5lSXRlbXMuZm9yRWFjaCgoY2hpbGRTb3VyY2U6IExpbmVJdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaWxkRHRvID0gcHJpY2luZ0R0byAmJiBwcmljaW5nRHRvLmxpbmVJdGVtcyAmJiBwcmljaW5nRHRvLmxpbmVJdGVtcy5maW5kKGMgPT4gY2hpbGRTb3VyY2UuaWQgPT09IGMuaWQpO1xuXG4gICAgICAgIGNvbnN0IGNoaWxkSXRlbSA9IExpbmVJdGVtVXRpbC5lbnJpY2hQcmljaW5nSW5mbyhjaGlsZFNvdXJjZSwgY2hpbGREdG8pO1xuXG4gICAgICAgIHJlc3VsdC5saW5lSXRlbXMucHVzaChjaGlsZEl0ZW0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TGluZUl0ZW1QYXRoKGxpbmVJdGVtOiBMaW5lSXRlbSwgcm9vdExpbmVJdGVtOiBMaW5lSXRlbSk6IExpbmVJdGVtUGF0aCB7XG4gICAgbGV0IHBhdGg6IExpbmVJdGVtUGF0aDtcblxuICAgIGlmICghbGluZUl0ZW0ucGFyZW50SWQpIHtcbiAgICAgIHBhdGggPSBuZXcgTGluZUl0ZW1QYXRoKCcvJyArIGxpbmVJdGVtLnR5cGUpO1xuXG4gICAgICBwYXRoLmFic3RyYWN0UGF0aCA9IHBhdGgucGF0aDtcbiAgICAgIHBhdGgucmVsYXRpdmVQYXRoID0gcGF0aC5wYXRoO1xuICAgICAgcGF0aC5yZWxhdGl2ZUFic3RyYWN0UGF0aCA9IHBhdGgucGF0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy9UT09ETyBBTEUgU09SVCBPVVQgUEFURU5UIElURU1cbiAgICAgIGNvbnN0IHBhcmVudEl0ZW0gPSBFbnRpdHlVdGlsLmZpbmRCeUZpZWxkSGllcmFyY2hpY2FsbHk8TGluZUl0ZW0+KFxuICAgICAgICAnaWQnLFxuICAgICAgICBsaW5lSXRlbS5wYXJlbnRJZCxcbiAgICAgICAgW3Jvb3RMaW5lSXRlbV0sXG4gICAgICAgICdsaW5lSXRlbXMnLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgcG9ydFR5cGUgPSBsaW5lSXRlbS5wb3J0ICYmIHBhcmVudEl0ZW0/LnBvcnREb21haW5zW2xpbmVJdGVtLnBvcnRdLnR5cGU7XG5cbiAgICAgIGNvbnN0IHBhcmVudFBhdGggPSBwYXJlbnRJdGVtICYmIExpbmVJdGVtVXRpbC5nZXRMaW5lSXRlbVBhdGgocGFyZW50SXRlbSwgcm9vdExpbmVJdGVtKTtcblxuICAgICAgaWYgKHBhcmVudFBhdGgpIHtcbiAgICAgICAgcGF0aCA9IG5ldyBMaW5lSXRlbVBhdGgocGFyZW50UGF0aC5wYXRoICsgJy9wb3J0cy8nICsgbGluZUl0ZW0ucG9ydCArICcvJyArIGxpbmVJdGVtLnR5cGUpO1xuXG4gICAgICAgIHBhdGguYWJzdHJhY3RQYXRoID0gcGFyZW50UGF0aC5hYnN0cmFjdFBhdGggKyAnL3BvcnRzLycgKyAobGluZUl0ZW0ucG9ydCArICcvJyArIHBvcnRUeXBlKTtcbiAgICAgICAgcGF0aC5yZWxhdGl2ZVBhdGggPSAnLycgKyBsaW5lSXRlbS50eXBlO1xuICAgICAgICBwYXRoLnJlbGF0aXZlQWJzdHJhY3RQYXRoID0gJy8nICsgcG9ydFR5cGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyAnQ291bGQgbm90IGNvbnN0cnVjdCBsaW5lIGl0ZW0gcGF0aCc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbmRCeUlkKHBhcmVudElkOiBzdHJpbmcsIGxpbmVJdGVtczogTGluZUl0ZW1bXSk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gRW50aXR5VXRpbC5maW5kQnlGaWVsZEhpZXJhcmNoaWNhbGx5KCdpZCcsIHBhcmVudElkLCBsaW5lSXRlbXMsICdsaW5lSXRlbXMnKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY291bnRBdHRyaWJ1dGVWYWx1ZXMoc2NhbGU6IG51bWJlciwgYXR0cmlidXRlRG9tYWluOiBhbnlbXSk6IG51bWJlciB7XG4gICAgY29uc3QgcHJlY2lzaW9uID0gTGluZUl0ZW1VdGlsLnByZWNpc2lvbihzY2FsZSk7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBhdHRyaWJ1dGVEb21haW4uZm9yRWFjaChkID0+IChjb3VudCArPSBkLm1heCAtIGQubWluICsgcHJlY2lzaW9uKSk7XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwcmVjaXNpb24oc2NhbGU6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKCFzY2FsZSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGxldCBzID0gJzEnO1xuICAgIHdoaWxlIChzLmxlbmd0aCA8IHNjYWxlKSB7XG4gICAgICBzID0gJzAnICsgcztcbiAgICB9XG4gICAgcmV0dXJuIE51bWJlcignMC4nICsgcyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNwbGl0RG9tYWluVG9WYWx1ZXMoc2NhbGU6IG51bWJlciwgYXR0cmlidXRlRG9tYWluOiBhbnlbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBwcmVjaXNpb24gPSB0aGlzLnByZWNpc2lvbihzY2FsZSk7XG4gICAgbGV0IHZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgICBhdHRyaWJ1dGVEb21haW4uZm9yRWFjaChcbiAgICAgIGludGVydmFsID0+ICh2YWx1ZXMgPSB2YWx1ZXMuY29uY2F0KExpbmVJdGVtVXRpbC5zcGxpdEludGVydmFsVG9WYWx1ZXMocHJlY2lzaW9uLCBpbnRlcnZhbCkpKSxcbiAgICApO1xuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNwbGl0SW50ZXJ2YWxUb1ZhbHVlcyhwcmVjaXNpb246IG51bWJlciwgaW50ZXJ2YWw6IGFueSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gaW50ZXJ2YWwubWluOyBpIDw9IGludGVydmFsLm1heDsgaSArPSBwcmVjaXNpb24pIHtcbiAgICAgIHZhbHVlcy5wdXNoKGkpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmaW5kTGluZUl0ZW1zQnlQYXRoKHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsLCBsaW5lSXRlbTogTGluZUl0ZW0sIHBhdGg6IFNlY3Rpb25QYXRoKTogTGluZUl0ZW1bXSB7XG4gICAgaWYgKCFydW50aW1lTW9kZWwuaXNFcXVhbHMobGluZUl0ZW0udHlwZSwgcGF0aC50eXBlc1swXSkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgbGV0IGxpbmVJdGVtcyA9IFtsaW5lSXRlbV07XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBwYXRoLnR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBwb3J0TmFtZSA9IHBhdGgucG9ydHNbaSAtIDFdO1xuICAgICAgY29uc3QgdHlwZU5hbWUgPSBwYXRoLnR5cGVzW2ldO1xuICAgICAgbGluZUl0ZW1zID0gTGluZUl0ZW1VdGlsLmZpbmRMaW5lSXRlbUNoaWxkcmVuKHJ1bnRpbWVNb2RlbCwgbGluZUl0ZW1zLCBwb3J0TmFtZSwgdHlwZU5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gbGluZUl0ZW1zO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmaW5kTGluZUl0ZW1DaGlsZHJlbihcbiAgICBydW50aW1lTW9kZWw6IFJ1bnRpbWVNb2RlbCxcbiAgICBsaW5lSXRlbXM6IExpbmVJdGVtW10sXG4gICAgcG9ydE5hbWU6IHN0cmluZyxcbiAgICB0eXBlTmFtZTogc3RyaW5nLFxuICApOiBMaW5lSXRlbVtdIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGxpbmVJdGVtIG9mIGxpbmVJdGVtcykge1xuICAgICAgZm9yIChjb25zdCBjaGlsZEl0ZW0gb2YgbGluZUl0ZW0ubGluZUl0ZW1zKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjaGlsZEl0ZW0ucG9ydD8udG9Mb3dlckNhc2UoKSA9PT0gcG9ydE5hbWUudG9Mb3dlckNhc2UoKSAmJlxuICAgICAgICAgIHJ1bnRpbWVNb2RlbC5pc0VxdWFscyhjaGlsZEl0ZW0udHlwZSwgdHlwZU5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGNoaWxkSXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZmluZExpbmVJdGVtc0J5VHlwZShydW50aW1lTW9kZWw6IFJ1bnRpbWVNb2RlbCwgbGluZUl0ZW06IExpbmVJdGVtLCB0eXBlTmFtZTogc3RyaW5nKTogTGluZUl0ZW1bXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgbGV0IGxpbmVJdGVtcyA9IFtsaW5lSXRlbV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGxpbmVJdGVtID0gbGluZUl0ZW1zW2ldO1xuICAgICAgaWYgKHJ1bnRpbWVNb2RlbC5pc0VxdWFscyhsaW5lSXRlbS50eXBlLCB0eXBlTmFtZSkpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobGluZUl0ZW0pO1xuICAgICAgfVxuICAgICAgbGluZUl0ZW1zID0gbGluZUl0ZW1zLmNvbmNhdChsaW5lSXRlbS5saW5lSXRlbXMpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbmRMaW5lSXRlbUZvclZhbHVlKG1vZGVsOiBMaW5lSXRlbSwgdmFsdWVPcHRpb246IHN0cmluZyk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIUVudGl0eVV0aWwuaXNQcmVzZW50KG1vZGVsKSB8fCAhRW50aXR5VXRpbC5pc1ByZXNlbnQobW9kZWwubGluZUl0ZW1zKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiBtb2RlbC5saW5lSXRlbXMuZmluZChsaSA9PiBsaS50eXBlICYmIGxpLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWVPcHRpb24udG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICAvLyBUT0RPOiBhZGQgUHJvZHVjdCB0eXBpbmdzXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlKHByb2R1Y3Q6IGFueSwgcXR5PzogbnVtYmVyKTogTGluZUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogVVVJRC5VVUlEKCksXG4gICAgICB0eXBlOiBwcm9kdWN0LnR5cGVOYW1lLFxuICAgICAgbmFtZTogcHJvZHVjdC5wcm9wZXJ0aWVzPy5kaXNwbGF5TmFtZSB8fCBwcm9kdWN0Lm5hbWUsXG4gICAgICBwcm9kdWN0TmFtZTogcHJvZHVjdC5uYW1lLFxuICAgICAgcHJvZHVjdElkOiBwcm9kdWN0LmlkLFxuICAgICAgY2ZnU3RhdHVzOiAnVXNlcicsXG4gICAgICBhY3Rpb25Db2RlOiAnQUREJyxcbiAgICAgIHF0eTogcXR5IHx8IDEsXG4gICAgfSBhcyBMaW5lSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdXBzZXJ0KHZhbHVlOiBMaW5lSXRlbSwgY29sbGVjdGlvbjogTGluZUl0ZW1bXSk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSB2YWx1ZS5pZCk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbGxlY3Rpb25baW5kZXhdID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbGxlY3Rpb24ucHVzaCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb21wYXJlU29ydE9yZGVyKGE6IExpbmVJdGVtLCBiOiBMaW5lSXRlbSk6IG51bWJlciB7XG4gICAgY29uc3Qgb3JkZXJBID0gTnVtYmVyKGEucHJvcGVydGllc1snU29ydE9yZGVyJ10pO1xuICAgIGNvbnN0IG9yZGVyQiA9IE51bWJlcihiLnByb3BlcnRpZXNbJ1NvcnRPcmRlciddKTtcbiAgICBpZiAoIW9yZGVyQSAmJiAhb3JkZXJCKSB7XG4gICAgICByZXR1cm4gTGluZUl0ZW1VdGlsLmNvbXBhcmVQcm9kdWN0TmFtZShhLCBiKTtcbiAgICB9XG4gICAgaWYgKCFvcmRlckEpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSBpZiAoIW9yZGVyQikge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBvcmRlckEgLSBvcmRlckI7XG4gICAgaWYgKHJlc3VsdCA9PT0gMCkge1xuICAgICAgcmV0dXJuIExpbmVJdGVtVXRpbC5jb21wYXJlUHJvZHVjdE5hbWUoYSwgYik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNvcnQobGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogdm9pZCB7XG4gICAgaWYgKGxpbmVJdGVtcykge1xuICAgICAgbGluZUl0ZW1zLnNvcnQoKGEsIGIpID0+IExpbmVJdGVtVXRpbC5jb21wYXJlU29ydE9yZGVyKGEsIGIpKTtcbiAgICAgIGxpbmVJdGVtcy5mb3JFYWNoKGkgPT4gTGluZUl0ZW1VdGlsLnNvcnQoaS5saW5lSXRlbXMpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjb21wYXJlUHJvZHVjdE5hbWUoYTogTGluZUl0ZW0sIGI6IExpbmVJdGVtKTogbnVtYmVyIHtcbiAgICBpZiAoYS5wcm9kdWN0TmFtZSkge1xuICAgICAgcmV0dXJuIChhLnByb2R1Y3ROYW1lID8/ICcnKS5sb2NhbGVDb21wYXJlKGIucHJvZHVjdE5hbWUgPz8gJycpO1xuICAgIH0gZWxzZSBpZiAoYi5wcm9kdWN0TmFtZSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG59XG4iXX0=
@@ -102,4 +102,4 @@ export class SectionsBinderHelper {
102
102
  return model.portDomains[portName].minCard;
103
103
  }
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbnMtYmluZGVyLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvdXRpbHMvc2VjdGlvbnMtYmluZGVyLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFnRCxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsZ0JBQWdCLENBQ3JCLFlBQTBCLEVBQzFCLFlBQXNCLEVBQ3RCLFFBQW1CLEVBQ25CLGNBQXlCLEVBQ3pCLFFBQWEsRUFDYixjQUF1QjtRQUV2QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsTUFBTSxJQUFJLEdBQWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2pELElBQUksY0FBMEIsQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLGNBQWMsR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUY7aUJBQU07Z0JBQ0wsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUM3RyxJQUFJLENBQUMsU0FB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QUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsRUFBRSxDQUFDO2FBQzFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRWxGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQzFELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUVqQixLQUFLLENBQUMsU0FBUzthQUNaLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO2FBQ2xDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNaLFFBQVEsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5VXRpbCwgTGluZUl0ZW0sIFJ1bnRpbWVNb2RlbCwgU2VjdGlvbiwgU2VjdGlvblBhdGgsIFNlY3Rpb25QYXRoVXRpbCwgVVVJRCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBCb3VuZERhdGFUeXBlIH0gZnJvbSAnLi4vdHlwZXMvYm91bmQtZGF0YS50eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVV0aWwgfSBmcm9tICcuL2xpbmUtaXRlbS51dGlsJztcblxuZXhwb3J0IGNsYXNzIFNlY3Rpb25zQmluZGVySGVscGVyIHtcbiAgc3RhdGljIHNldExpbmVJdGVtc1BhdGgoXG4gICAgcnVudGltZU1vZGVsOiBSdW50aW1lTW9kZWwsXG4gICAgcm9vdExpbmVJdGVtOiBMaW5lSXRlbSxcbiAgICBzZWN0aW9uczogU2VjdGlvbltdLFxuICAgIHNvdXJjZVNlY3Rpb25zOiBTZWN0aW9uW10sXG4gICAgZmlsdGVyRm46IGFueSxcbiAgICBwcmljaW5nRW5hYmxlZDogYm9vbGVhbixcbiAgKTogU2VjdGlvbltdIHtcbiAgICBjb25zdCBmaWx0ZXJlZCA9IHNlY3Rpb25zLmZpbHRlcihmaWx0ZXJGbik7XG5cbiAgICBmaWx0ZXJlZC5mb3JFYWNoKHNlY3Rpb24gPT4ge1xuICAgICAgY29uc3QgcGF0aDogU2VjdGlvblBhdGggPSBzZWN0aW9uLmJvdW5kRGF0YS5wYXRoO1xuICAgICAgbGV0IGZvdW5kTGluZUl0ZW1zOiBMaW5lSXRlbVtdO1xuICAgICAgaWYgKHBhdGgucmVsYXRpdmUpIHtcbiAgICAgICAgZm91bmRMaW5lSXRlbXMgPSBMaW5lSXRlbVV0aWwuZmluZExpbmVJdGVtc0J5VHlwZShydW50aW1lTW9kZWwsIHJvb3RMaW5lSXRlbSwgcGF0aC50eXBlc1swXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZW1haW5kZXIgPSByb290TGluZUl0ZW0ucGF0aCA/IFNlY3Rpb25QYXRoVXRpbC5jdXQocnVudGltZU1vZGVsLCBwYXRoLCByb290TGluZUl0ZW0ucGF0aCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghcmVtYWluZGVyKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGZvdW5kTGluZUl0ZW1zID0gTGluZUl0ZW1VdGlsLmZpbmRMaW5lSXRlbXNCeVBhdGgocnVudGltZU1vZGVsLCByb290TGluZUl0ZW0sIHJlbWFpbmRlcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuVFlQRV0pIHtcbiAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuYmluZE1hdGNoaW5nTGluZUl0ZW1zKFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbCxcbiAgICAgICAgICBmb3VuZExpbmVJdGVtcyxcbiAgICAgICAgICBzZWN0aW9uLFxuICAgICAgICAgIHNlY3Rpb25zLFxuICAgICAgICAgIHNvdXJjZVNlY3Rpb25zLFxuICAgICAgICAgIHByaWNpbmdFbmFibGVkLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuQVRUUklCVVRFXSkge1xuICAgICAgICBmb3VuZExpbmVJdGVtcyA9IGZvdW5kTGluZUl0ZW1zLmZpbHRlcihcbiAgICAgICAgICBpdGVtID0+XG4gICAgICAgICAgICBpdGVtLmF0dHJpYnV0ZXMgJiZcbiAgICAgICAgICAgIGl0ZW0uYXR0cmlidXRlcy5maW5kSW5kZXgoYSA9PiBhLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gc2VjdGlvbi5ib3VuZERhdGEubmFtZS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEsXG4gICAgICAgICk7XG5cbiAgICAgICAgZm91bmRMaW5lSXRlbXMuZm9yRWFjaChsaW5lSXRlbSA9PiB7XG4gICAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuYmluZExpbmVJdGVtKHNlY3Rpb24sIHNlY3Rpb25zLCBzb3VyY2VTZWN0aW9ucywgbGluZUl0ZW0sIHByaWNpbmdFbmFibGVkKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHNlY3Rpb24uYm91bmREYXRhLmVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5QT1JUXSkge1xuICAgICAgICBmb3VuZExpbmVJdGVtcyA9IGZvdW5kTGluZUl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0ucG9ydERvbWFpbnMgJiYgaXRlbS5wb3J0RG9tYWluc1tzZWN0aW9uLmJvdW5kRGF0YS5uYW1lXSk7XG5cbiAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuYmluZE1hdGNoaW5nTGluZUl0ZW1zKFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbCxcbiAgICAgICAgICBmb3VuZExpbmVJdGVtcyxcbiAgICAgICAgICBzZWN0aW9uLFxuICAgICAgICAgIHNlY3Rpb25zLFxuICAgICAgICAgIHNvdXJjZVNlY3Rpb25zLFxuICAgICAgICAgIHByaWNpbmdFbmFibGVkLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc2VjdGlvbnM7XG4gIH1cblxuICBzdGF0aWMgaXNBZGRBbGxvd2VkKG1vZGVsOiBMaW5lSXRlbSwgcG9ydE5hbWU6IHN0cmluZywgcXVhbnRpdHlUb0FkZDogbnVtYmVyID0gMSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHF1YW50aXR5ID0gdGhpcy5nZXRRdWFudGl0eShtb2RlbCwgcG9ydE5hbWUpO1xuXG4gICAgcmV0dXJuIHF1YW50aXR5ICsgcXVhbnRpdHlUb0FkZCA8PSArdGhpcy5nZXRQb3J0TWF4KG1vZGVsLCBwb3J0TmFtZSk7XG4gIH1cblxuICBzdGF0aWMgaXNSZW1vdmVBbGxvd2VkKG1vZGVsOiBMaW5lSXRlbSwgcG9ydE5hbWU6IHN0cmluZywgcXVhbnRpdHlUb1JlbW92ZTogbnVtYmVyID0gMSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHF1YW50aXR5ID0gdGhpcy5nZXRRdWFudGl0eShtb2RlbCwgcG9ydE5hbWUpO1xuXG4gICAgcmV0dXJuIHF1YW50aXR5IC0gcXVhbnRpdHlUb1JlbW92ZSA+PSArdGhpcy5nZXRQb3J0TWluKG1vZGVsLCBwb3J0TmFtZSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0TWF4QWxsb3dlZChsaW5lSXRlbTogTGluZUl0ZW0sIHBvcnROYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5nZXRQb3J0TWF4KGxpbmVJdGVtLCBwb3J0TmFtZSkgLSB0aGlzLmdldFF1YW50aXR5KGxpbmVJdGVtLCBwb3J0TmFtZSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0UXVhbnRpdHlHcm91cEJ5VmFsdWUobW9kZWw6IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nKTogeyBbaW5kZXg6IHN0cmluZ106IG51bWJlciB9IHtcbiAgICBjb25zdCBxdWFudGl0aWVzOiB7IFtpbmRleDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuICAgIGlmIChtb2RlbCAmJiBwb3J0TmFtZSkge1xuICAgICAgbW9kZWwubGluZUl0ZW1zXG4gICAgICAgIC5maWx0ZXIobGkgPT4gbGkucG9ydCA9PT0gcG9ydE5hbWUpXG4gICAgICAgIC5mb3JFYWNoKGxpID0+IHtcbiAgICAgICAgICBsZXQgcXVhbnRpdHkgPSAoRW50aXR5VXRpbC5pc1ByZXNlbnQobGkucXR5KSAmJiBsaS5xdHkpIHx8IDE7XG5cbiAgICAgICAgICBpZiAoRW50aXR5VXRpbC5pc1ByZXNlbnQocXVhbnRpdGllc1tsaS50eXBlXSkpIHtcbiAgICAgICAgICAgIHF1YW50aXR5ICs9IHF1YW50aXRpZXNbbGkudHlwZV07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcXVhbnRpdGllc1tsaS50eXBlXSA9IHF1YW50aXR5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVhbnRpdGllcztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGJpbmRNYXRjaGluZ0xpbmVJdGVtcyhcbiAgICBydW50aW1lTW9kZWw6IFJ1bnRpbWVNb2RlbCxcbiAgICBmb3VuZExpbmVJdGVtczogTGluZUl0ZW1bXSxcbiAgICBzZWN0aW9uOiBTZWN0aW9uLFxuICAgIHNlY3Rpb25zOiBTZWN0aW9uW10sXG4gICAgc291cmNlU2VjdGlvbnM6IFNlY3Rpb25bXSxcbiAgICBwcmljaW5nRW5hYmxlZDogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgZm91bmRMaW5lSXRlbXMuZm9yRWFjaChsaW5lSXRlbSA9PiB7XG4gICAgICBjb25zdCBib3VuZFNlY3Rpb24gPSBTZWN0aW9uc0JpbmRlckhlbHBlci5iaW5kTGluZUl0ZW0oXG4gICAgICAgIHNlY3Rpb24sXG4gICAgICAgIHNlY3Rpb25zLFxuICAgICAgICBzb3VyY2VTZWN0aW9ucyxcbiAgICAgICAgbGluZUl0ZW0sXG4gICAgICAgIHByaWNpbmdFbmFibGVkLFxuICAgICAgKTtcblxuICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuc2V0TGluZUl0ZW1zUGF0aChcbiAgICAgICAgcnVudGltZU1vZGVsLFxuICAgICAgICBsaW5lSXRlbSxcbiAgICAgICAgc2VjdGlvbnMsXG4gICAgICAgIHNvdXJjZVNlY3Rpb25zLFxuICAgICAgICAoc2VjOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gc2VjLmJvdW5kRGF0YSAmJiBzZWMucGFyZW50SWQgPT09IGJvdW5kU2VjdGlvbi5pZDtcbiAgICAgICAgfSxcbiAgICAgICAgcHJpY2luZ0VuYWJsZWQsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYmluZExpbmVJdGVtKFxuICAgIHNlY3Rpb246IFNlY3Rpb24sXG4gICAgc2VjdGlvbnM6IFNlY3Rpb25bXSxcbiAgICBzb3VyY2VTZWN0aW9uczogU2VjdGlvbltdLFxuICAgIGxpbmVJdGVtOiBMaW5lSXRlbSxcbiAgICBwcmljaW5nRW5hYmxlZDogYm9vbGVhbixcbiAgKTogU2VjdGlvbiB7XG4gICAgY29uc3QgYm91bmRTZWN0aW9uID0gc2VjdGlvbi5tb2RlbCA/IFNlY3Rpb25zQmluZGVySGVscGVyLmRvQ2xvbmUoc2VjdGlvbiwgc2VjdGlvbnMsIHNvdXJjZVNlY3Rpb25zKSA6IHNlY3Rpb247XG5cbiAgICBib3VuZFNlY3Rpb24ubW9kZWwgPSBsaW5lSXRlbTtcbiAgICBib3VuZFNlY3Rpb24ucHJpY2luZ0VuYWJsZWQgPSBwcmljaW5nRW5hYmxlZDtcblxuICAgIHJldHVybiBib3VuZFNlY3Rpb247XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBkb0Nsb25lKHNvdXJjZTogU2VjdGlvbiwgc2VjdGlvbnM6IFNlY3Rpb25bXSwgc291cmNlU2VjdGlvbnM6IFNlY3Rpb25bXSwgcGFyZW50PzogU2VjdGlvbik6IFNlY3Rpb24ge1xuICAgIGNvbnN0IHNvdXJjZUNsYXNzID0gc291cmNlU2VjdGlvbnMuZmluZChzID0+IHMuY2xhc3NJZCA9PT0gc291cmNlLmNsYXNzSWQpIGFzIFNlY3Rpb247XG5cbiAgICBjb25zdCBjbG9uZSA9IEVudGl0eVV0aWwuY2xvbmUoc291cmNlQ2xhc3MpO1xuXG4gICAgY2xvbmUuaWQgPSBVVUlELlVVSUQoKTtcbiAgICBjbG9uZS5wYXJlbnRJZCA9IHBhcmVudCA/IHBhcmVudC5pZCA6IHNvdXJjZS5wYXJlbnRJZDtcblxuICAgIHNlY3Rpb25zLnNwbGljZShzZWN0aW9ucy5maW5kSW5kZXgocyA9PiBzLmlkID09PSBzb3VyY2UuaWQpICsgMSwgMCwgY2xvbmUpO1xuICAgIHNvdXJjZVNlY3Rpb25zXG4gICAgICAuZmlsdGVyKHMgPT4gcy5wYXJlbnRJZCA9PT0gc291cmNlQ2xhc3MuaWQpXG4gICAgICAuZm9yRWFjaChzID0+IFNlY3Rpb25zQmluZGVySGVscGVyLmRvQ2xvbmUocywgc2VjdGlvbnMsIHNvdXJjZVNlY3Rpb25zLCBjbG9uZSkpO1xuXG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0UXVhbnRpdHkobW9kZWw6IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgcXVhbnRpdHkgPSAwO1xuXG4gICAgbW9kZWwubGluZUl0ZW1zXG4gICAgICAuZmlsdGVyKGxpID0+IGxpLnBvcnQgPT09IHBvcnROYW1lKVxuICAgICAgLmZvckVhY2gobGkgPT4ge1xuICAgICAgICBxdWFudGl0eSArPSBsaS5xdHk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBxdWFudGl0eTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFBvcnRNYXgobW9kZWw6IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9kZWwucG9ydERvbWFpbnNbcG9ydE5hbWVdLm1heENhcmQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRQb3J0TWluKG1vZGVsOiBMaW5lSXRlbSwgcG9ydE5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vZGVsLnBvcnREb21haW5zW3BvcnROYW1lXS5taW5DYXJkO1xuICB9XG59XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbnMtYmluZGVyLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvdXRpbHMvc2VjdGlvbnMtYmluZGVyLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFnRCxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQsTUFBTSxPQUFPLG9CQUFvQjtJQUN4QixNQUFNLENBQUMsZ0JBQWdCLENBQzVCLFlBQTBCLEVBQzFCLFlBQXNCLEVBQ3RCLFFBQW1CLEVBQ25CLGNBQXlCLEVBQ3pCLFFBQWEsRUFDYixjQUF1QjtRQUV2QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsTUFBTSxJQUFJLEdBQWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2pELElBQUksY0FBMEIsQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLGNBQWMsR0FBRyxZQUFZLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUY7aUJBQU07Z0JBQ0wsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUM3RyxJQUFJLENBQUMsU0FB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QUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsRUFBRSxDQUFDO2FBQzFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRWxGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQzFELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUVqQixLQUFLLENBQUMsU0FBUzthQUNaLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO2FBQ2xDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNaLFFBQVEsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZSxFQUFFLFFBQWdCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5VXRpbCwgTGluZUl0ZW0sIFJ1bnRpbWVNb2RlbCwgU2VjdGlvbiwgU2VjdGlvblBhdGgsIFNlY3Rpb25QYXRoVXRpbCwgVVVJRCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBCb3VuZERhdGFUeXBlIH0gZnJvbSAnLi4vdHlwZXMvYm91bmQtZGF0YS50eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVV0aWwgfSBmcm9tICcuL2xpbmUtaXRlbS51dGlsJztcblxuZXhwb3J0IGNsYXNzIFNlY3Rpb25zQmluZGVySGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBzZXRMaW5lSXRlbXNQYXRoKFxuICAgIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsLFxuICAgIHJvb3RMaW5lSXRlbTogTGluZUl0ZW0sXG4gICAgc2VjdGlvbnM6IFNlY3Rpb25bXSxcbiAgICBzb3VyY2VTZWN0aW9uczogU2VjdGlvbltdLFxuICAgIGZpbHRlckZuOiBhbnksXG4gICAgcHJpY2luZ0VuYWJsZWQ6IGJvb2xlYW4sXG4gICk6IFNlY3Rpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyZWQgPSBzZWN0aW9ucy5maWx0ZXIoZmlsdGVyRm4pO1xuXG4gICAgZmlsdGVyZWQuZm9yRWFjaChzZWN0aW9uID0+IHtcbiAgICAgIGNvbnN0IHBhdGg6IFNlY3Rpb25QYXRoID0gc2VjdGlvbi5ib3VuZERhdGEucGF0aDtcbiAgICAgIGxldCBmb3VuZExpbmVJdGVtczogTGluZUl0ZW1bXTtcbiAgICAgIGlmIChwYXRoLnJlbGF0aXZlKSB7XG4gICAgICAgIGZvdW5kTGluZUl0ZW1zID0gTGluZUl0ZW1VdGlsLmZpbmRMaW5lSXRlbXNCeVR5cGUocnVudGltZU1vZGVsLCByb290TGluZUl0ZW0sIHBhdGgudHlwZXNbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVtYWluZGVyID0gcm9vdExpbmVJdGVtLnBhdGggPyBTZWN0aW9uUGF0aFV0aWwuY3V0KHJ1bnRpbWVNb2RlbCwgcGF0aCwgcm9vdExpbmVJdGVtLnBhdGgpIDogdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIXJlbWFpbmRlcikge1xuICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICBmb3VuZExpbmVJdGVtcyA9IExpbmVJdGVtVXRpbC5maW5kTGluZUl0ZW1zQnlQYXRoKHJ1bnRpbWVNb2RlbCwgcm9vdExpbmVJdGVtLCByZW1haW5kZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2VjdGlvbi5ib3VuZERhdGEuZW50aXR5VHlwZSA9PT0gQm91bmREYXRhVHlwZVtCb3VuZERhdGFUeXBlLlRZUEVdKSB7XG4gICAgICAgIFNlY3Rpb25zQmluZGVySGVscGVyLmJpbmRNYXRjaGluZ0xpbmVJdGVtcyhcbiAgICAgICAgICBydW50aW1lTW9kZWwsXG4gICAgICAgICAgZm91bmRMaW5lSXRlbXMsXG4gICAgICAgICAgc2VjdGlvbixcbiAgICAgICAgICBzZWN0aW9ucyxcbiAgICAgICAgICBzb3VyY2VTZWN0aW9ucyxcbiAgICAgICAgICBwcmljaW5nRW5hYmxlZCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoc2VjdGlvbi5ib3VuZERhdGEuZW50aXR5VHlwZSA9PT0gQm91bmREYXRhVHlwZVtCb3VuZERhdGFUeXBlLkFUVFJJQlVURV0pIHtcbiAgICAgICAgZm91bmRMaW5lSXRlbXMgPSBmb3VuZExpbmVJdGVtcy5maWx0ZXIoXG4gICAgICAgICAgaXRlbSA9PlxuICAgICAgICAgICAgaXRlbS5hdHRyaWJ1dGVzICYmXG4gICAgICAgICAgICBpdGVtLmF0dHJpYnV0ZXMuZmluZEluZGV4KGEgPT4gYS5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb24uYm91bmREYXRhLm5hbWUudG9Mb3dlckNhc2UoKSkgIT09IC0xLFxuICAgICAgICApO1xuXG4gICAgICAgIGZvdW5kTGluZUl0ZW1zLmZvckVhY2gobGluZUl0ZW0gPT4ge1xuICAgICAgICAgIFNlY3Rpb25zQmluZGVySGVscGVyLmJpbmRMaW5lSXRlbShzZWN0aW9uLCBzZWN0aW9ucywgc291cmNlU2VjdGlvbnMsIGxpbmVJdGVtLCBwcmljaW5nRW5hYmxlZCk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuUE9SVF0pIHtcbiAgICAgICAgZm91bmRMaW5lSXRlbXMgPSBmb3VuZExpbmVJdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnBvcnREb21haW5zICYmIGl0ZW0ucG9ydERvbWFpbnNbc2VjdGlvbi5ib3VuZERhdGEubmFtZV0pO1xuXG4gICAgICAgIFNlY3Rpb25zQmluZGVySGVscGVyLmJpbmRNYXRjaGluZ0xpbmVJdGVtcyhcbiAgICAgICAgICBydW50aW1lTW9kZWwsXG4gICAgICAgICAgZm91bmRMaW5lSXRlbXMsXG4gICAgICAgICAgc2VjdGlvbixcbiAgICAgICAgICBzZWN0aW9ucyxcbiAgICAgICAgICBzb3VyY2VTZWN0aW9ucyxcbiAgICAgICAgICBwcmljaW5nRW5hYmxlZCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlY3Rpb25zO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc0FkZEFsbG93ZWQobW9kZWw6IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nLCBxdWFudGl0eVRvQWRkOiBudW1iZXIgPSAxKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcXVhbnRpdHkgPSB0aGlzLmdldFF1YW50aXR5KG1vZGVsLCBwb3J0TmFtZSk7XG5cbiAgICByZXR1cm4gcXVhbnRpdHkgKyBxdWFudGl0eVRvQWRkIDw9ICt0aGlzLmdldFBvcnRNYXgobW9kZWwsIHBvcnROYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNSZW1vdmVBbGxvd2VkKG1vZGVsOiBMaW5lSXRlbSwgcG9ydE5hbWU6IHN0cmluZywgcXVhbnRpdHlUb1JlbW92ZTogbnVtYmVyID0gMSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHF1YW50aXR5ID0gdGhpcy5nZXRRdWFudGl0eShtb2RlbCwgcG9ydE5hbWUpO1xuXG4gICAgcmV0dXJuIHF1YW50aXR5IC0gcXVhbnRpdHlUb1JlbW92ZSA+PSArdGhpcy5nZXRQb3J0TWluKG1vZGVsLCBwb3J0TmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE1heEFsbG93ZWQobGluZUl0ZW06IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMuZ2V0UG9ydE1heChsaW5lSXRlbSwgcG9ydE5hbWUpIC0gdGhpcy5nZXRRdWFudGl0eShsaW5lSXRlbSwgcG9ydE5hbWUpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRRdWFudGl0eUdyb3VwQnlWYWx1ZShtb2RlbDogTGluZUl0ZW0sIHBvcnROYW1lOiBzdHJpbmcpOiB7IFtpbmRleDogc3RyaW5nXTogbnVtYmVyIH0ge1xuICAgIGNvbnN0IHF1YW50aXRpZXM6IHsgW2luZGV4OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuXG4gICAgaWYgKG1vZGVsICYmIHBvcnROYW1lKSB7XG4gICAgICBtb2RlbC5saW5lSXRlbXNcbiAgICAgICAgLmZpbHRlcihsaSA9PiBsaS5wb3J0ID09PSBwb3J0TmFtZSlcbiAgICAgICAgLmZvckVhY2gobGkgPT4ge1xuICAgICAgICAgIGxldCBxdWFudGl0eSA9IChFbnRpdHlVdGlsLmlzUHJlc2VudChsaS5xdHkpICYmIGxpLnF0eSkgfHwgMTtcblxuICAgICAgICAgIGlmIChFbnRpdHlVdGlsLmlzUHJlc2VudChxdWFudGl0aWVzW2xpLnR5cGVdKSkge1xuICAgICAgICAgICAgcXVhbnRpdHkgKz0gcXVhbnRpdGllc1tsaS50eXBlXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBxdWFudGl0aWVzW2xpLnR5cGVdID0gcXVhbnRpdHk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBxdWFudGl0aWVzO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYmluZE1hdGNoaW5nTGluZUl0ZW1zKFxuICAgIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsLFxuICAgIGZvdW5kTGluZUl0ZW1zOiBMaW5lSXRlbVtdLFxuICAgIHNlY3Rpb246IFNlY3Rpb24sXG4gICAgc2VjdGlvbnM6IFNlY3Rpb25bXSxcbiAgICBzb3VyY2VTZWN0aW9uczogU2VjdGlvbltdLFxuICAgIHByaWNpbmdFbmFibGVkOiBib29sZWFuLFxuICApOiB2b2lkIHtcbiAgICBmb3VuZExpbmVJdGVtcy5mb3JFYWNoKGxpbmVJdGVtID0+IHtcbiAgICAgIGNvbnN0IGJvdW5kU2VjdGlvbiA9IFNlY3Rpb25zQmluZGVySGVscGVyLmJpbmRMaW5lSXRlbShcbiAgICAgICAgc2VjdGlvbixcbiAgICAgICAgc2VjdGlvbnMsXG4gICAgICAgIHNvdXJjZVNlY3Rpb25zLFxuICAgICAgICBsaW5lSXRlbSxcbiAgICAgICAgcHJpY2luZ0VuYWJsZWQsXG4gICAgICApO1xuXG4gICAgICBTZWN0aW9uc0JpbmRlckhlbHBlci5zZXRMaW5lSXRlbXNQYXRoKFxuICAgICAgICBydW50aW1lTW9kZWwsXG4gICAgICAgIGxpbmVJdGVtLFxuICAgICAgICBzZWN0aW9ucyxcbiAgICAgICAgc291cmNlU2VjdGlvbnMsXG4gICAgICAgIChzZWM6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBzZWMuYm91bmREYXRhICYmIHNlYy5wYXJlbnRJZCA9PT0gYm91bmRTZWN0aW9uLmlkO1xuICAgICAgICB9LFxuICAgICAgICBwcmljaW5nRW5hYmxlZCxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBiaW5kTGluZUl0ZW0oXG4gICAgc2VjdGlvbjogU2VjdGlvbixcbiAgICBzZWN0aW9uczogU2VjdGlvbltdLFxuICAgIHNvdXJjZVNlY3Rpb25zOiBTZWN0aW9uW10sXG4gICAgbGluZUl0ZW06IExpbmVJdGVtLFxuICAgIHByaWNpbmdFbmFibGVkOiBib29sZWFuLFxuICApOiBTZWN0aW9uIHtcbiAgICBjb25zdCBib3VuZFNlY3Rpb24gPSBzZWN0aW9uLm1vZGVsID8gU2VjdGlvbnNCaW5kZXJIZWxwZXIuZG9DbG9uZShzZWN0aW9uLCBzZWN0aW9ucywgc291cmNlU2VjdGlvbnMpIDogc2VjdGlvbjtcblxuICAgIGJvdW5kU2VjdGlvbi5tb2RlbCA9IGxpbmVJdGVtO1xuICAgIGJvdW5kU2VjdGlvbi5wcmljaW5nRW5hYmxlZCA9IHByaWNpbmdFbmFibGVkO1xuXG4gICAgcmV0dXJuIGJvdW5kU2VjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRvQ2xvbmUoc291cmNlOiBTZWN0aW9uLCBzZWN0aW9uczogU2VjdGlvbltdLCBzb3VyY2VTZWN0aW9uczogU2VjdGlvbltdLCBwYXJlbnQ/OiBTZWN0aW9uKTogU2VjdGlvbiB7XG4gICAgY29uc3Qgc291cmNlQ2xhc3MgPSBzb3VyY2VTZWN0aW9ucy5maW5kKHMgPT4gcy5jbGFzc0lkID09PSBzb3VyY2UuY2xhc3NJZCkgYXMgU2VjdGlvbjtcblxuICAgIGNvbnN0IGNsb25lID0gRW50aXR5VXRpbC5jbG9uZShzb3VyY2VDbGFzcyk7XG5cbiAgICBjbG9uZS5pZCA9IFVVSUQuVVVJRCgpO1xuICAgIGNsb25lLnBhcmVudElkID0gcGFyZW50ID8gcGFyZW50LmlkIDogc291cmNlLnBhcmVudElkO1xuXG4gICAgc2VjdGlvbnMuc3BsaWNlKHNlY3Rpb25zLmZpbmRJbmRleChzID0+IHMuaWQgPT09IHNvdXJjZS5pZCkgKyAxLCAwLCBjbG9uZSk7XG4gICAgc291cmNlU2VjdGlvbnNcbiAgICAgIC5maWx0ZXIocyA9PiBzLnBhcmVudElkID09PSBzb3VyY2VDbGFzcy5pZClcbiAgICAgIC5mb3JFYWNoKHMgPT4gU2VjdGlvbnNCaW5kZXJIZWxwZXIuZG9DbG9uZShzLCBzZWN0aW9ucywgc291cmNlU2VjdGlvbnMsIGNsb25lKSk7XG5cbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRRdWFudGl0eShtb2RlbDogTGluZUl0ZW0sIHBvcnROYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCBxdWFudGl0eSA9IDA7XG5cbiAgICBtb2RlbC5saW5lSXRlbXNcbiAgICAgIC5maWx0ZXIobGkgPT4gbGkucG9ydCA9PT0gcG9ydE5hbWUpXG4gICAgICAuZm9yRWFjaChsaSA9PiB7XG4gICAgICAgIHF1YW50aXR5ICs9IGxpLnF0eTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHF1YW50aXR5O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0UG9ydE1heChtb2RlbDogTGluZUl0ZW0sIHBvcnROYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBtb2RlbC5wb3J0RG9tYWluc1twb3J0TmFtZV0ubWF4Q2FyZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFBvcnRNaW4obW9kZWw6IExpbmVJdGVtLCBwb3J0TmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9kZWwucG9ydERvbWFpbnNbcG9ydE5hbWVdLm1pbkNhcmQ7XG4gIH1cbn1cbiJdfQ==
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
27
27
  changeDetection: ChangeDetectionStrategy.OnPush,
28
28
  }]
29
29
  }], ctorParameters: function () { return [{ type: i1.DynamicDialogConfig }, { type: i1.DynamicDialogRef }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVVuRSxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLFlBQW9CLFlBQWlDLEVBQVUsR0FBcUI7UUFBaEUsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDbEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7aUhBYlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsc0RDVmhDLGtlQWlCQTs0RkRQYSxtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgRmxvd0RpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZGlhbG9nLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93RGlhbG9nQ29tcG9uZW50IHtcbiAgcHVibGljIGNvbmZpZzogRmxvd0RpYWxvZ0NvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZywgcHJpdmF0ZSByZWY6IER5bmFtaWNEaWFsb2dSZWYpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEuY29uZmlnO1xuICB9XG5cbiAgY2FuY2VsSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLnJlZi5jbG9zZSgpO1xuICB9XG5cbiAgY29uZmlybUhhbmRsZXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZWYuY2xvc2UodHJ1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjb25maWcuZGVzY3JpcHRpb25cIiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XG4gIHt7IGNvbmZpZy5kZXNjcmlwdGlvbiB9fVxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJmb3JtLWFjdGlvbnNcIj5cbiAgPHAtYnV0dG9uXG4gICAgKm5nSWY9XCJjb25maWcuc2Vjb25kYXJ5QnV0dG9uXCJcbiAgICBzdHlsZUNsYXNzPVwicC1idXR0b24tb3V0bGluZWQgYnV0dG9uLXRleHQtYm9sZFwiXG4gICAgW2xhYmVsXT1cImNvbmZpZy5zZWNvbmRhcnlCdXR0b24hXCJcbiAgICAob25DbGljayk9XCJjYW5jZWxIYW5kbGVyKClcIlxuICA+PC9wLWJ1dHRvbj5cbiAgPHAtYnV0dG9uXG4gICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uIHAtYnV0dG9uLWZpbGxlZFwiXG4gICAgW2xhYmVsXT1cImNvbmZpZy5wcmltYXJ5QnV0dG9uXCJcbiAgICAob25DbGljayk9XCJjb25maXJtSGFuZGxlcigpXCJcbiAgPjwvcC1idXR0b24+XG48L2Rpdj5cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvc3JjL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVVuRSxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLFlBQW9CLFlBQWlDLEVBQVUsR0FBcUI7UUFBaEUsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDbEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDOztpSEFiVSxtQkFBbUI7cUdBQW5CLG1CQUFtQixzRENWaEMsa2VBaUJBOzRGRFBhLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBGbG93RGlhbG9nQ29uZmlnIH0gZnJvbSAnLi9kaWFsb2cudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1mbG93LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZsb3dEaWFsb2dDb21wb25lbnQge1xuICBwdWJsaWMgY29uZmlnOiBGbG93RGlhbG9nQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLCBwcml2YXRlIHJlZjogRHluYW1pY0RpYWxvZ1JlZikge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS5jb25maWc7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLnJlZi5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbmZpcm1IYW5kbGVyKCk6IHZvaWQge1xuICAgIHRoaXMucmVmLmNsb3NlKHRydWUpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiY29uZmlnLmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJkZXNjcmlwdGlvblwiPlxuICB7eyBjb25maWcuZGVzY3JpcHRpb24gfX1cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZm9ybS1hY3Rpb25zXCI+XG4gIDxwLWJ1dHRvblxuICAgICpuZ0lmPVwiY29uZmlnLnNlY29uZGFyeUJ1dHRvblwiXG4gICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkIGJ1dHRvbi10ZXh0LWJvbGRcIlxuICAgIFtsYWJlbF09XCJjb25maWcuc2Vjb25kYXJ5QnV0dG9uIVwiXG4gICAgKG9uQ2xpY2spPVwiY2FuY2VsSGFuZGxlcigpXCJcbiAgPjwvcC1idXR0b24+XG4gIDxwLWJ1dHRvblxuICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbiBwLWJ1dHRvbi1maWxsZWRcIlxuICAgIFtsYWJlbF09XCJjb25maWcucHJpbWFyeUJ1dHRvblwiXG4gICAgKG9uQ2xpY2spPVwiY29uZmlybUhhbmRsZXIoKVwiXG4gID48L3AtYnV0dG9uPlxuPC9kaXY+XG4iXX0=