@stemy/ngx-utils 17.1.5 → 17.2.0

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/README.md +27 -27
  2. package/assets/ng.mjs +5 -5
  3. package/esm2022/ngx-utils/common-types.mjs +1 -1
  4. package/esm2022/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +3 -3
  5. package/esm2022/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +3 -3
  6. package/esm2022/ngx-utils/components/unordered-list/unordered-list.component.mjs +3 -3
  7. package/esm2022/ngx-utils/directives/async-method.base.mjs +1 -1
  8. package/esm2022/ngx-utils/directives/async-method.directive.mjs +1 -1
  9. package/esm2022/ngx-utils/directives/background.directive.mjs +1 -1
  10. package/esm2022/ngx-utils/directives/dynamic-table-template.directive.mjs +1 -1
  11. package/esm2022/ngx-utils/directives/global-template.directive.mjs +1 -1
  12. package/esm2022/ngx-utils/directives/icon.directive.mjs +1 -1
  13. package/esm2022/ngx-utils/directives/ngx-template-outlet.directive.mjs +1 -1
  14. package/esm2022/ngx-utils/directives/pagination-item.directive.mjs +1 -1
  15. package/esm2022/ngx-utils/directives/pagination.directive.mjs +1 -1
  16. package/esm2022/ngx-utils/directives/resource-if.directive.mjs +1 -1
  17. package/esm2022/ngx-utils/directives/sticky-class.directive.mjs +1 -1
  18. package/esm2022/ngx-utils/directives/sticky.directive.mjs +1 -1
  19. package/esm2022/ngx-utils/directives/unordered-list-item.directive.mjs +1 -1
  20. package/esm2022/ngx-utils/directives/unordered-list-template.directive.mjs +1 -1
  21. package/esm2022/ngx-utils/ngx-utils.imports.mjs +1 -1
  22. package/esm2022/ngx-utils/ngx-utils.module.mjs +1 -1
  23. package/esm2022/ngx-utils/pipes/chunk.pipe.mjs +1 -1
  24. package/esm2022/ngx-utils/pipes/entries.pipe.mjs +1 -1
  25. package/esm2022/ngx-utils/pipes/extra-item-properties.pipe.mjs +1 -1
  26. package/esm2022/ngx-utils/pipes/filter.pipe.mjs +1 -1
  27. package/esm2022/ngx-utils/pipes/find.pipe.mjs +1 -1
  28. package/esm2022/ngx-utils/pipes/format-number.pipe.mjs +1 -1
  29. package/esm2022/ngx-utils/pipes/get-offset.pipe.mjs +1 -1
  30. package/esm2022/ngx-utils/pipes/get-type.pipe.mjs +1 -1
  31. package/esm2022/ngx-utils/pipes/get-value.pipe.mjs +1 -1
  32. package/esm2022/ngx-utils/pipes/global-template.pipe.mjs +1 -1
  33. package/esm2022/ngx-utils/pipes/group-by.pipe.mjs +1 -1
  34. package/esm2022/ngx-utils/pipes/is-type.pipe.mjs +1 -1
  35. package/esm2022/ngx-utils/pipes/join.pipe.mjs +1 -1
  36. package/esm2022/ngx-utils/pipes/keys.pipe.mjs +1 -1
  37. package/esm2022/ngx-utils/pipes/map.pipe.mjs +1 -1
  38. package/esm2022/ngx-utils/pipes/max.pipe.mjs +1 -1
  39. package/esm2022/ngx-utils/pipes/min.pipe.mjs +1 -1
  40. package/esm2022/ngx-utils/pipes/pop.pipe.mjs +1 -1
  41. package/esm2022/ngx-utils/pipes/reduce.pipe.mjs +1 -1
  42. package/esm2022/ngx-utils/pipes/remap.pipe.mjs +1 -1
  43. package/esm2022/ngx-utils/pipes/replace.pipe.mjs +1 -1
  44. package/esm2022/ngx-utils/pipes/reverse.pipe.mjs +1 -1
  45. package/esm2022/ngx-utils/pipes/round.pipe.mjs +1 -1
  46. package/esm2022/ngx-utils/pipes/safe-html.pipe.mjs +1 -1
  47. package/esm2022/ngx-utils/pipes/shift.pipe.mjs +1 -1
  48. package/esm2022/ngx-utils/pipes/split.pipe.mjs +1 -1
  49. package/esm2022/ngx-utils/pipes/translate.pipe.mjs +1 -1
  50. package/esm2022/ngx-utils/pipes/values.pipe.mjs +1 -1
  51. package/esm2022/ngx-utils/plugins/resize-event.plugin.mjs +1 -1
  52. package/esm2022/ngx-utils/plugins/scroll-event.plugin.mjs +1 -1
  53. package/esm2022/ngx-utils/services/acl.service.mjs +1 -1
  54. package/esm2022/ngx-utils/services/api.service.mjs +1 -1
  55. package/esm2022/ngx-utils/services/auth.service.mjs +1 -1
  56. package/esm2022/ngx-utils/services/base-http.client.mjs +1 -1
  57. package/esm2022/ngx-utils/services/base-http.service.mjs +1 -1
  58. package/esm2022/ngx-utils/services/config.service.mjs +1 -1
  59. package/esm2022/ngx-utils/services/error-handler.service.mjs +1 -1
  60. package/esm2022/ngx-utils/services/events.service.mjs +1 -1
  61. package/esm2022/ngx-utils/services/formatter.service.mjs +1 -1
  62. package/esm2022/ngx-utils/services/global-template.service.mjs +1 -1
  63. package/esm2022/ngx-utils/services/icon.service.mjs +1 -1
  64. package/esm2022/ngx-utils/services/language.service.mjs +1 -1
  65. package/esm2022/ngx-utils/services/local-http.service.mjs +1 -1
  66. package/esm2022/ngx-utils/services/open-api.service.mjs +1 -1
  67. package/esm2022/ngx-utils/services/promise.service.mjs +1 -1
  68. package/esm2022/ngx-utils/services/state.service.mjs +1 -1
  69. package/esm2022/ngx-utils/services/static-language.service.mjs +1 -1
  70. package/esm2022/ngx-utils/services/storage.service.mjs +1 -1
  71. package/esm2022/ngx-utils/services/toaster.service.mjs +1 -1
  72. package/esm2022/ngx-utils/services/translated-url.serializer.mjs +1 -1
  73. package/esm2022/ngx-utils/services/universal.service.mjs +1 -1
  74. package/esm2022/ngx-utils/services/wasm.service.mjs +1 -1
  75. package/esm2022/ngx-utils/utils/ajax-request-handler.mjs +1 -1
  76. package/esm2022/ngx-utils/utils/array.utils.mjs +1 -1
  77. package/esm2022/ngx-utils/utils/auth.guard.mjs +1 -1
  78. package/esm2022/ngx-utils/utils/cached-factory.mjs +1 -1
  79. package/esm2022/ngx-utils/utils/canvas.utils.mjs +1 -1
  80. package/esm2022/ngx-utils/utils/date.utils.mjs +1 -1
  81. package/esm2022/ngx-utils/utils/file-system.mjs +6 -4
  82. package/esm2022/ngx-utils/utils/file.utils.mjs +1 -1
  83. package/esm2022/ngx-utils/utils/generic-value.mjs +1 -1
  84. package/esm2022/ngx-utils/utils/geometry.mjs +1 -1
  85. package/esm2022/ngx-utils/utils/initializer.mjs +1 -1
  86. package/esm2022/ngx-utils/utils/jsonfn.mjs +1 -1
  87. package/esm2022/ngx-utils/utils/loader.utils.mjs +1 -1
  88. package/esm2022/ngx-utils/utils/math.utils.mjs +1 -1
  89. package/esm2022/ngx-utils/utils/object.utils.mjs +1 -1
  90. package/esm2022/ngx-utils/utils/observable.utils.mjs +1 -1
  91. package/esm2022/ngx-utils/utils/promise.utils.mjs +1 -1
  92. package/esm2022/ngx-utils/utils/reflect.utils.mjs +1 -1
  93. package/esm2022/ngx-utils/utils/set.utils.mjs +1 -1
  94. package/esm2022/ngx-utils/utils/string.utils.mjs +1 -1
  95. package/esm2022/ngx-utils/utils/timer.utils.mjs +1 -1
  96. package/esm2022/ngx-utils/utils/unique.utils.mjs +1 -1
  97. package/esm2022/ngx-utils/utils/vector.mjs +1 -1
  98. package/esm2022/ngx-utils/utils/wasi.mjs +1 -1
  99. package/esm2022/ngx-utils/utils/wasm-worker-proxy.mjs +1 -1
  100. package/esm2022/ngx-utils/utils/with-options-provider.mjs +1 -1
  101. package/esm2022/public_api.mjs +1 -1
  102. package/esm2022/tools/config.mjs +1 -1
  103. package/esm2022/tools/public_api.mjs +1 -1
  104. package/fesm2022/stemy-ngx-utils-tools.mjs.map +1 -1
  105. package/fesm2022/stemy-ngx-utils.mjs +12 -10
  106. package/fesm2022/stemy-ngx-utils.mjs.map +1 -1
  107. package/ng.mjs +5 -5
  108. package/ngx-utils/utils/file-system.d.ts +9 -9
  109. package/package.json +1 -1
@@ -96,4 +96,4 @@ export class WasmWorkerProxy {
96
96
  });
97
97
  }
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbS13b3JrZXItcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3V0aWxzL3dhc20td29ya2VyLXByb3h5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFPaEMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFXLEVBQUUsUUFBaUI7SUFFekQsSUFBSSxXQUFXLEdBQXFDLElBQUksQ0FBQztJQUN6RCxNQUFNLFlBQVksR0FBMEIsSUFBSSxPQUFPLENBQWUsT0FBTyxDQUFDLEVBQUU7UUFDNUUsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEIsTUFBTSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDN0IsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNYLEtBQUssTUFBTTtnQkFDUCxNQUFNLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxHQUFHLE9BQU8sQ0FBQztnQkFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDN0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEMsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNmLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDdEIsTUFB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QU0sQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLE1BQU0sWUFBWSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sSUFBSSxPQUFPLENBQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2dCQUNwQixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUM7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lXYXNpLCBJV2FzbUV4cG9ydHN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0pTT05mbn0gZnJvbSBcIi4vanNvbmZuXCI7XHJcblxyXG5pbnRlcmZhY2UgSVByb21pc2VFeGVjdXRvciB7XHJcbiAgICByZXNvbHZlOiAodmFsdWU/OiBhbnkpID0+IHZvaWQ7XHJcbiAgICByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3b3JrZXJGdW5jdGlvbihKU09OZm46IGFueSwgbG9nVGltZXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHJcbiAgICBsZXQgd2FzbVJlc29sdmU6IChpbnN0YW5jZTogSVdhc21FeHBvcnRzKSA9PiB2b2lkID0gbnVsbDtcclxuICAgIGNvbnN0IHdhc21JbnN0YW5jZTogUHJvbWlzZTxJV2FzbUV4cG9ydHM+ID0gbmV3IFByb21pc2U8SVdhc21FeHBvcnRzPihyZXNvbHZlID0+IHtcclxuICAgICAgICB3YXNtUmVzb2x2ZSA9IHJlc29sdmU7XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZWxmLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IGUuZGF0YTtcclxuICAgICAgICBjb25zdCB7dHlwZSwgcGF5bG9hZH0gPSBkYXRhO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIFwid2FzbVwiOlxyXG4gICAgICAgICAgICAgICAgY29uc3Qge3VybCwgd2FzaX0gPSBwYXlsb2FkO1xyXG4gICAgICAgICAgICAgICAgZmV0Y2godXJsKS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmFycmF5QnVmZmVyKCkpLnRoZW4oYnl0ZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdhc2lJbXBsID0gSlNPTmZuLnBhcnNlKHdhc2kpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgd2FzaUltcGwoKS5pbnN0YW50aWF0ZShieXRlcyk7XHJcbiAgICAgICAgICAgICAgICB9KS50aGVuKGluc3RhbmNlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXNtUmVzb2x2ZShpbnN0YW5jZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWV0aG9kcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGluc3RhbmNlKS5maWx0ZXIoa2V5ID0+IHR5cGVvZiBpbnN0YW5jZVtrZXldID09PSBcImZ1bmN0aW9uXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6IFwibWV0aG9kc1wiLCBwYXlsb2FkOiBtZXRob2RzfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiY2FsbFwiOlxyXG4gICAgICAgICAgICAgICAgd2FzbUluc3RhbmNlLnRoZW4oaW5zdGFuY2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHtuYW1lLCBpZCwgYXJnc30gPSBwYXlsb2FkO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsb2dUaW1lcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWUoaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWVMb2coaWQsIGBDYWxsaW5nICR7bmFtZX0gLi4uYCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSAoaW5zdGFuY2VbbmFtZV0gYXMgRnVuY3Rpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGZ1bmMoLi4uYXJncyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvZ1RpbWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUxvZyhpZCwgYENhbGxlZCAke25hbWV9YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUVuZChpZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucG9zdE1lc3NhZ2Uoe3R5cGU6IFwicmVzdWx0XCIsIHBheWxvYWQ6IHtpZCwgcmVzdWx0fX0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgV2FzbVdvcmtlclByb3h5IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgbWV0aG9kczogUHJvbWlzZTxzdHJpbmdbXT47XHJcbiAgICBwcm90ZWN0ZWQgb25NZXRob2RzOiAobWV0aG9kczogc3RyaW5nW10pID0+IHZvaWQ7XHJcbiAgICBwcm90ZWN0ZWQgd29ya2VyOiBXb3JrZXI7XHJcbiAgICBwcm90ZWN0ZWQgcHJvbWlzZXM6IE1hcDxzdHJpbmcsIElQcm9taXNlRXhlY3V0b3I+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHdhc21QYXRoOiBzdHJpbmcsIHdhc2k6IFR5cGU8SVdhc2k+LCBsb2dUaW1lczogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICAgICAgdGhpcy5tZXRob2RzID0gbmV3IFByb21pc2U8c3RyaW5nW10+KHJlc29sdmUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uTWV0aG9kcyA9IHJlc29sdmU7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgbHQgPSBsb2dUaW1lcyA/IFwidHJ1ZVwiIDogXCJmYWxzZVwiO1xyXG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihcclxuICAgICAgICAgICAgW2Ake0pTT05mbi50b1N0cmluZygpfSAoJHt3b3JrZXJGdW5jdGlvbi50b1N0cmluZygpfSkoSlNPTmZuLCAke2x0fSlgXSxcclxuICAgICAgICAgICAge3R5cGU6ICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0J31cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMud29ya2VyID0gbmV3IFdvcmtlcihVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpKTtcclxuICAgICAgICB0aGlzLndvcmtlci5wb3N0TWVzc2FnZSh7XHJcbiAgICAgICAgICAgIHR5cGU6IFwid2FzbVwiLFxyXG4gICAgICAgICAgICBwYXlsb2FkOiB7dXJsOiB3YXNtUGF0aCwgd2FzaTogSlNPTmZuLnN0cmluZ2lmeSh3YXNpKSwgbG9nVGltZXN9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy53b3JrZXIub25tZXNzYWdlID0gdGhpcy5vbk1lc3NhZ2UuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLnByb21pc2VzID0gbmV3IE1hcDxzdHJpbmcsIElQcm9taXNlRXhlY3V0b3I+KCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm94eSh0aGlzLCB7XHJcbiAgICAgICAgICAgIGdldDogKHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKC4uLmFyZ3M6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbChwcm9wLnRvU3RyaW5nKCksIGFyZ3MpO1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTWVzc2FnZShlOiBNZXNzYWdlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gZS5kYXRhO1xyXG4gICAgICAgIGNvbnN0IHt0eXBlLCBwYXlsb2FkfSA9IGRhdGE7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJtZXRob2RzXCI6XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uTWV0aG9kcyhwYXlsb2FkKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwicmVzdWx0XCI6XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7aWQsIHJlc3VsdH0gPSBwYXlsb2FkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMucHJvbWlzZXMuZ2V0KGlkKTtcclxuICAgICAgICAgICAgICAgIGlmIChwcm9taXNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9taXNlcy5kZWxldGUoaWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNhbGwobWV0aG9kOiBzdHJpbmcsIGFyZ3M6IGFueVtdKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBtZXRob2RzID0gYXdhaXQgdGhpcy5tZXRob2RzO1xyXG4gICAgICAgIGlmICghbWV0aG9kcy5pbmNsdWRlcyhtZXRob2QpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kICR7bWV0aG9kfSBub3QgZm91bmRgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCA5KTtcclxuICAgICAgICAgICAgdGhpcy53b3JrZXIucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJjYWxsXCIsXHJcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7bmFtZTogbWV0aG9kLCBpZCwgYXJnc31cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvbWlzZXMuc2V0KGlkLCB7cmVzb2x2ZSwgcmVqZWN0fSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbS13b3JrZXItcHJveHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3V0aWxzL3dhc20td29ya2VyLXByb3h5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFPaEMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFXLEVBQUUsUUFBaUI7SUFFekQsSUFBSSxXQUFXLEdBQXFDLElBQUksQ0FBQztJQUN6RCxNQUFNLFlBQVksR0FBMEIsSUFBSSxPQUFPLENBQWUsT0FBTyxDQUFDLEVBQUU7UUFDNUUsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEIsTUFBTSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDN0IsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNYLEtBQUssTUFBTTtnQkFDUCxNQUFNLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxHQUFHLE9BQU8sQ0FBQztnQkFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDN0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEMsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0MsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNmLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDdEIsTUFB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QU0sQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLE1BQU0sWUFBWSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sSUFBSSxPQUFPLENBQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2dCQUNwQixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUM7YUFDcEMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lXYXNpLCBJV2FzbUV4cG9ydHN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7VHlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7SlNPTmZufSBmcm9tIFwiLi9qc29uZm5cIjtcblxuaW50ZXJmYWNlIElQcm9taXNlRXhlY3V0b3Ige1xuICAgIHJlc29sdmU6ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcbiAgICByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3b3JrZXJGdW5jdGlvbihKU09OZm46IGFueSwgbG9nVGltZXM6IGJvb2xlYW4pOiB2b2lkIHtcblxuICAgIGxldCB3YXNtUmVzb2x2ZTogKGluc3RhbmNlOiBJV2FzbUV4cG9ydHMpID0+IHZvaWQgPSBudWxsO1xuICAgIGNvbnN0IHdhc21JbnN0YW5jZTogUHJvbWlzZTxJV2FzbUV4cG9ydHM+ID0gbmV3IFByb21pc2U8SVdhc21FeHBvcnRzPihyZXNvbHZlID0+IHtcbiAgICAgICAgd2FzbVJlc29sdmUgPSByZXNvbHZlO1xuICAgIH0pO1xuXG4gICAgc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICBjb25zdCBkYXRhID0gZS5kYXRhO1xuICAgICAgICBjb25zdCB7dHlwZSwgcGF5bG9hZH0gPSBkYXRhO1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJ3YXNtXCI6XG4gICAgICAgICAgICAgICAgY29uc3Qge3VybCwgd2FzaX0gPSBwYXlsb2FkO1xuICAgICAgICAgICAgICAgIGZldGNoKHVybCkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5hcnJheUJ1ZmZlcigpKS50aGVuKGJ5dGVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2FzaUltcGwgPSBKU09OZm4ucGFyc2Uod2FzaSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgd2FzaUltcGwoKS5pbnN0YW50aWF0ZShieXRlcyk7XG4gICAgICAgICAgICAgICAgfSkudGhlbihpbnN0YW5jZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHdhc21SZXNvbHZlKGluc3RhbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWV0aG9kcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGluc3RhbmNlKS5maWx0ZXIoa2V5ID0+IHR5cGVvZiBpbnN0YW5jZVtrZXldID09PSBcImZ1bmN0aW9uXCIpO1xuICAgICAgICAgICAgICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHt0eXBlOiBcIm1ldGhvZHNcIiwgcGF5bG9hZDogbWV0aG9kc30pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImNhbGxcIjpcbiAgICAgICAgICAgICAgICB3YXNtSW5zdGFuY2UudGhlbihpbnN0YW5jZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHtuYW1lLCBpZCwgYXJnc30gPSBwYXlsb2FkO1xuICAgICAgICAgICAgICAgICAgICBpZiAobG9nVGltZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZShpZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLnRpbWVMb2coaWQsIGBDYWxsaW5nICR7bmFtZX0gLi4uYCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZnVuYyA9IChpbnN0YW5jZVtuYW1lXSBhcyBGdW5jdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGZ1bmMoLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsb2dUaW1lcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS50aW1lTG9nKGlkLCBgQ2FsbGVkICR7bmFtZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUudGltZUVuZChpZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wb3N0TWVzc2FnZSh7dHlwZTogXCJyZXN1bHRcIiwgcGF5bG9hZDoge2lkLCByZXN1bHR9fSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5leHBvcnQgY2xhc3MgV2FzbVdvcmtlclByb3h5IHtcblxuICAgIHByb3RlY3RlZCBtZXRob2RzOiBQcm9taXNlPHN0cmluZ1tdPjtcbiAgICBwcm90ZWN0ZWQgb25NZXRob2RzOiAobWV0aG9kczogc3RyaW5nW10pID0+IHZvaWQ7XG4gICAgcHJvdGVjdGVkIHdvcmtlcjogV29ya2VyO1xuICAgIHByb3RlY3RlZCBwcm9taXNlczogTWFwPHN0cmluZywgSVByb21pc2VFeGVjdXRvcj47XG5cbiAgICBjb25zdHJ1Y3Rvcih3YXNtUGF0aDogc3RyaW5nLCB3YXNpOiBUeXBlPElXYXNpPiwgbG9nVGltZXM6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICB0aGlzLm1ldGhvZHMgPSBuZXcgUHJvbWlzZTxzdHJpbmdbXT4ocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uTWV0aG9kcyA9IHJlc29sdmU7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBsdCA9IGxvZ1RpbWVzID8gXCJ0cnVlXCIgOiBcImZhbHNlXCI7XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihcbiAgICAgICAgICAgIFtgJHtKU09OZm4udG9TdHJpbmcoKX0gKCR7d29ya2VyRnVuY3Rpb24udG9TdHJpbmcoKX0pKEpTT05mbiwgJHtsdH0pYF0sXG4gICAgICAgICAgICB7dHlwZTogJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLndvcmtlciA9IG5ldyBXb3JrZXIoVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSk7XG4gICAgICAgIHRoaXMud29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgIHR5cGU6IFwid2FzbVwiLFxuICAgICAgICAgICAgcGF5bG9hZDoge3VybDogd2FzbVBhdGgsIHdhc2k6IEpTT05mbi5zdHJpbmdpZnkod2FzaSksIGxvZ1RpbWVzfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy53b3JrZXIub25tZXNzYWdlID0gdGhpcy5vbk1lc3NhZ2UuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5wcm9taXNlcyA9IG5ldyBNYXA8c3RyaW5nLCBJUHJvbWlzZUV4ZWN1dG9yPigpO1xuICAgICAgICByZXR1cm4gbmV3IFByb3h5KHRoaXMsIHtcbiAgICAgICAgICAgIGdldDogKHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbChwcm9wLnRvU3RyaW5nKCksIGFyZ3MpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTWVzc2FnZShlOiBNZXNzYWdlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGUuZGF0YTtcbiAgICAgICAgY29uc3Qge3R5cGUsIHBheWxvYWR9ID0gZGF0YTtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwibWV0aG9kc1wiOlxuICAgICAgICAgICAgICAgIHRoaXMub25NZXRob2RzKHBheWxvYWQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcInJlc3VsdFwiOlxuICAgICAgICAgICAgICAgIGNvbnN0IHtpZCwgcmVzdWx0fSA9IHBheWxvYWQ7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMucHJvbWlzZXMuZ2V0KGlkKTtcbiAgICAgICAgICAgICAgICBpZiAocHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9taXNlcy5kZWxldGUoaWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGNhbGwobWV0aG9kOiBzdHJpbmcsIGFyZ3M6IGFueVtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgbWV0aG9kcyA9IGF3YWl0IHRoaXMubWV0aG9kcztcbiAgICAgICAgaWYgKCFtZXRob2RzLmluY2x1ZGVzKG1ldGhvZCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kICR7bWV0aG9kfSBub3QgZm91bmRgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCA5KTtcbiAgICAgICAgICAgIHRoaXMud29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcImNhbGxcIixcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7bmFtZTogbWV0aG9kLCBpZCwgYXJnc31cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5wcm9taXNlcy5zZXQoaWQsIHtyZXNvbHZlLCByZWplY3R9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -21,4 +21,4 @@ export function provideWithOptions(type, options) {
21
21
  deps: [Injector]
22
22
  };
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1vcHRpb25zLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy91dGlscy93aXRoLW9wdGlvbnMtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBRXBFLE1BQU0sVUFBVSxrQkFBa0IsQ0FBNEIsSUFBYSxFQUFFLE9BQVU7SUFDbkYsT0FBTztRQUNILFVBQVUsRUFBRSxVQUFVLFFBQWtCO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsUUFBUSxFQUFFLE9BQU87cUJBQ3BCO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxJQUFJO3dCQUNiLFFBQVEsRUFBRSxJQUFJO3FCQUNqQjtpQkFDSjtnQkFDRCxNQUFNLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7WUFDSCxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNuQixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIFR5cGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T1BUSU9OU19UT0tFTiwgVHlwZWRGYWN0b3J5UHJvdmlkZXJ9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlV2l0aE9wdGlvbnM8TyBleHRlbmRzIE9iamVjdCwgVCA9IGFueT4odHlwZTogVHlwZTxUPiwgb3B0aW9uczogTyk6IFR5cGVkRmFjdG9yeVByb3ZpZGVyPFQ+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdXNlRmFjdG9yeTogZnVuY3Rpb24gKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgICAgICBjb25zdCBzdWJJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE9QVElPTlNfVE9LRU4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IHR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZUNsYXNzOiB0eXBlXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIHBhcmVudDogaW5qZWN0b3JcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBzdWJJbmplY3Rvci5nZXQodHlwZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZXBzOiBbSW5qZWN0b3JdXHJcbiAgICB9XHJcbn1cclxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1vcHRpb25zLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy91dGlscy93aXRoLW9wdGlvbnMtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBRXBFLE1BQU0sVUFBVSxrQkFBa0IsQ0FBNEIsSUFBYSxFQUFFLE9BQVU7SUFDbkYsT0FBTztRQUNILFVBQVUsRUFBRSxVQUFVLFFBQWtCO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsUUFBUSxFQUFFLE9BQU87cUJBQ3BCO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxJQUFJO3dCQUNiLFFBQVEsRUFBRSxJQUFJO3FCQUNqQjtpQkFDSjtnQkFDRCxNQUFNLEVBQUUsUUFBUTthQUNuQixDQUFDLENBQUM7WUFDSCxPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNuQixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIFR5cGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge09QVElPTlNfVE9LRU4sIFR5cGVkRmFjdG9yeVByb3ZpZGVyfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlV2l0aE9wdGlvbnM8TyBleHRlbmRzIE9iamVjdCwgVCA9IGFueT4odHlwZTogVHlwZTxUPiwgb3B0aW9uczogTyk6IFR5cGVkRmFjdG9yeVByb3ZpZGVyPFQ+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICB1c2VGYWN0b3J5OiBmdW5jdGlvbiAoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgICAgICBjb25zdCBzdWJJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE9QVElPTlNfVE9LRU4sXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiB0eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlQ2xhc3M6IHR5cGVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcGFyZW50OiBpbmplY3RvclxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gc3ViSW5qZWN0b3IuZ2V0KHR5cGUpO1xuICAgICAgICB9LFxuICAgICAgICBkZXBzOiBbSW5qZWN0b3JdXG4gICAgfVxufVxuIl19
@@ -93,4 +93,4 @@ export { UnorderedListComponent } from "./ngx-utils/components/unordered-list/un
93
93
  export { DynamicTableComponent } from "./ngx-utils/components/dynamic-table/dynamic-table.component";
94
94
  export { PaginationMenuComponent } from "./ngx-utils/components/pagination-menu/pagination-menu.component";
95
95
  export { NgxUtilsModule } from "./ngx-utils/ngx-utils.module";
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLSCxhQUFhLEVBRWIsV0FBVyxFQUVYLFlBQVksRUFNWixnQkFBZ0IsRUFLaEIsWUFBWSxFQUdaLGVBQWUsRUFLZixtQkFBbUIsRUFHbkIsV0FBVyxFQUVYLGVBQWUsRUFZZixtQkFBbUIsRUFDbkIsVUFBVSxFQVFWLHFCQUFxQixFQVFyQixXQUFXLEVBRVgsZUFBZSxFQUVmLFdBQVcsRUFZWCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGNBQWMsRUFFZCxjQUFjLEVBQ2QsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUVaLGVBQWUsRUFFZixhQUFhLEVBSWIsYUFBYSxFQUNoQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQW1ELGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxXQUFXLEVBQUMs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LE1BQU0sa0VBQWtFLENBQUM7QUFFekcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcclxuICAgIFR5cGVkRmFjdG9yeVByb3ZpZGVyLFxyXG4gICAgVHlwZWRWYWx1ZVByb3ZpZGVyLFxyXG4gICAgQ2FjaGVkUHJvdmlkZXIsXHJcbiAgICBDYWNoZWRGYWN0b3J5LFxyXG4gICAgT1BUSU9OU19UT0tFTixcclxuICAgIElSZXNvbHZlRmFjdG9yeSxcclxuICAgIENhbnZhc0NvbG9yLFxyXG4gICAgSUljb25TZXJ2aWNlLFxyXG4gICAgSUNPTl9TRVJWSUNFLFxyXG4gICAgSVRyYW5zbGF0aW9uLFxyXG4gICAgSVRyYW5zbGF0aW9ucyxcclxuICAgIElMYW5ndWFnZVNldHRpbmcsXHJcbiAgICBJTGFuZ3VhZ2VTZXR0aW5ncyxcclxuICAgIElMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBMQU5HVUFHRV9TRVJWSUNFLFxyXG4gICAgSUF1dGhTZXJ2aWNlLFxyXG4gICAgUm91dGVWYWxpZGF0b3IsXHJcbiAgICBJUm91dGVEYXRhLFxyXG4gICAgSVJvdXRlLFxyXG4gICAgQVVUSF9TRVJWSUNFLFxyXG4gICAgSUFjbENvbXBvbmVudCxcclxuICAgIElQcm9taXNlU2VydmljZSxcclxuICAgIFBST01JU0VfU0VSVklDRSxcclxuICAgIElXYXNpLFxyXG4gICAgSVdhc21FeHBvcnRzLFxyXG4gICAgSVdhc20sXHJcbiAgICBJV2FzbUFzeW5jLFxyXG4gICAgV0FTSV9JTVBMRU1FTlRBVElPTixcclxuICAgIElSb3V0ZVN0YXRlSW5mbyxcclxuICAgIE5hdmlnYXRpb25VcmxQYXJhbSxcclxuICAgIFN0b3JhZ2VNb2RlLFxyXG4gICAgSVRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgVE9BU1RFUl9TRVJWSUNFLFxyXG4gICAgSUFzeW5jTWVzc2FnZSxcclxuICAgIEFzeW5jTWV0aG9kLFxyXG4gICAgVW5vcmRlcmVkTGlzdFRlbXBsYXRlLFxyXG4gICAgVW5vcmRlcmVkTGlzdFRlbXBsYXRlcyxcclxuICAgIFVub3JkZXJlZExpc3RTdHlsZSxcclxuICAgIElBamF4UmVxdWVzdERldGFpbHMsXHJcbiAgICBBamF4UmVxdWVzdENhbGxiYWNrLFxyXG4gICAgU2NyaXB0VHlwZSxcclxuICAgIElTY3JpcHRQcm9taXNlcyxcclxuICAgIElTdHlsZVByb21pc2VzLFxyXG4gICAgSVNlYXJjaE9ic2VydmFibGUsXHJcbiAgICBGYWN0b3J5RGVwZW5kZW5jaWVzLFxyXG4gICAgT2JqZWN0VHlwZSxcclxuICAgIElUaW1lcixcclxuICAgIElFeHRyYVByb3BlcnRpZXMsXHJcbiAgICBJR3JvdXBNYXAsXHJcbiAgICBUcmFuc2xhdGlvblF1ZXJ5LFxyXG4gICAgSVBhZ2VJbmZvLFxyXG4gICAgSVBhZ2luYXRpb25EYXRhLFxyXG4gICAgUGFnaW5hdGlvbkRhdGFMb2FkZXIsXHJcbiAgICBQYWdpbmF0aW9uSXRlbUNvbnRleHQsXHJcbiAgICBJSHR0cEhlYWRlcnMsXHJcbiAgICBJSHR0cFBhcmFtcyxcclxuICAgIElSZXF1ZXN0T3B0aW9ucyxcclxuICAgIElJc3N1ZUNvbnRleHQsXHJcbiAgICBJUHJvZ3Jlc3MsXHJcbiAgICBQcm9ncmVzc0xpc3RlbmVyLFxyXG4gICAgUHJvbWlzZUV4ZWN1dG9yLFxyXG4gICAgSHR0cFByb21pc2UsXHJcbiAgICBJSHR0cFNlcnZpY2UsXHJcbiAgICBFWFBSRVNTX1JFUVVFU1QsXHJcbiAgICBJQXBpU2VydmljZSxcclxuICAgIEFQSV9TRVJWSUNFLFxyXG4gICAgSU9wZW5BcGlTY2hlbWFQcm9wZXJ0eSxcclxuICAgIElPcGVuQXBpU2NoZW1hLFxyXG4gICAgSU9wZW5BcGlTY2hlbWFzLFxyXG4gICAgSVRhYmxlT3JkZXJzLFxyXG4gICAgSVRhYmxlQ29sdW1uLFxyXG4gICAgSVRhYmxlQ29sdW1ucyxcclxuICAgIFRhYmxlQ29sdW1ucyxcclxuICAgIElUYWJsZVRlbXBsYXRlLFxyXG4gICAgSVRhYmxlVGVtcGxhdGVzLFxyXG4gICAgSVRhYmxlRGF0YVF1ZXJ5LFxyXG4gICAgVGFibGVEYXRhTG9hZGVyLFxyXG4gICAgUmVzb3VyY2VJZkNvbnRleHQsXHJcbiAgICBBUFBfQkFTRV9VUkwsXHJcbiAgICBJQ29uZmlndXJhdGlvbixcclxuICAgIElDb25maWdTZXJ2aWNlLFxyXG4gICAgQ09ORklHX1NFUlZJQ0UsXHJcbiAgICBCQVNFX0NPTkZJRyxcclxuICAgIFNDUklQVF9QQVJBTVMsXHJcbiAgICBST09UX0VMRU1FTlQsXHJcbiAgICBSRVNJWkVfREVMQVksXHJcbiAgICBSZXNpemVFdmVudFN0cmF0ZWd5LFxyXG4gICAgUkVTSVpFX1NUUkFURUdZLFxyXG4gICAgRXJyb3JIYW5kbGVyQ2FsbGJhY2ssXHJcbiAgICBFUlJPUl9IQU5ETEVSLFxyXG4gICAgR2xvYmFsQ29tcG9uZW50TW9kaWZpZXIsXHJcbiAgICBBcHBJbml0aWFsaXplckZ1bmMsXHJcbiAgICBJTW9kdWxlQ29uZmlnLFxyXG4gICAgVmFsdWVkUHJvbWlzZVxyXG59IGZyb20gXCIuL25neC11dGlscy9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCB7QWpheFJlcXVlc3RIYW5kbGVyfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvYWpheC1yZXF1ZXN0LWhhbmRsZXJcIjtcclxuZXhwb3J0IHtBcnJheVV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvYXJyYXkudXRpbHNcIjtcclxuZXhwb3J0IHtBdXRoR3VhcmR9IGZyb20gXCIuL25neC11dGlscy91dGlscy9hdXRoLmd1YXJkXCI7XHJcbmV4cG9ydCB7Y2FjaGVkRmFjdG9yeX0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2NhY2hlZC1mYWN0b3J5XCI7XHJcbmV4cG9ydCB7Q2FudmFzVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9jYW52YXMudXRpbHNcIjtcclxuZXhwb3J0IHtEYXRlVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9kYXRlLnV0aWxzXCI7XHJcbmV4cG9ydCB7RmlsZVV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvZmlsZS51dGlsc1wiO1xyXG5leHBvcnQge0dlbmVyaWNWYWx1ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2dlbmVyaWMtdmFsdWVcIjtcclxuZXhwb3J0IHtGaWxlU3lzdGVtRW50cnlPcGVuUmVzdWx0LCBGaWxlU3lzdGVtRW50cnlPcGVuQ2IsIEZpbGVTeXN0ZW1FbnRyeX0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2ZpbGUtc3lzdGVtXCI7XHJcbmV4cG9ydCB7SVNoYXBlLCBSZWN0LCBDaXJjbGUsIFBvaW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvZ2VvbWV0cnlcIjtcclxuZXhwb3J0IHtJbml0aWFsaXplcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2luaXRpYWxpemVyXCI7XHJcbmV4cG9ydCB7SlNPTmZufSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvanNvbmZuXCI7XHJcbmV4cG9ydCB7UmVmbGVjdFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvcmVmbGVjdC51dGlsc1wiO1xyXG5leHBvcnQge0xvYWRlclV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvbG9hZGVyLnV0aWxzXCI7XHJcbmV4cG9ydCB7TWF0aFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvbWF0aC51dGlsc1wiO1xyXG5leHBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcbmV4cG9ydCB7T2JzZXJ2YWJsZVV0aWxzLCBJU3Vic2NyaWJlckluZm99IGZyb20gXCIuL25neC11dGlscy91dGlscy9vYnNlcnZhYmxlLnV0aWxzXCI7XHJcbmV4cG9ydCB7Q2FuY2VsYWJsZVByb21pc2UsIGNhbmNlbGFibGVQcm9taXNlLCBpbXBhdGllbnRQcm9taXNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvcHJvbWlzZS51dGlsc1wiO1xyXG5leHBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvc3RyaW5nLnV0aWxzXCI7XHJcbmV4cG9ydCB7U2V0VXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9zZXQudXRpbHNcIjtcclxuZXhwb3J0IHtUaW1lclV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvdGltZXIudXRpbHNcIjtcclxuZXhwb3J0IHtVbmlxdWVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3VuaXF1ZS51dGlsc1wiO1xyXG5leHBvcnQge1ZlY3Rvcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3ZlY3RvclwiO1xyXG5leHBvcnQge3Byb3ZpZGVXaXRoT3B0aW9uc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3dpdGgtb3B0aW9ucy1wcm92aWRlclwiO1xyXG5cclxuZXhwb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvdW5pdmVyc2FsLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtXYXNtU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3dhc20uc2VydmljZVwiO1xyXG5leHBvcnQge0FjbFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hY2wuc2VydmljZVwiO1xyXG5leHBvcnQge0FwaVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5leHBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7QmFzZUh0dHBDbGllbnR9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9iYXNlLWh0dHAuY2xpZW50XCI7XHJcbmV4cG9ydCB7QmFzZUh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7RXZlbnRzU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZ2xvYmFsLXRlbXBsYXRlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2ljb24uc2VydmljZVwiO1xyXG5leHBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtMb2NhbEh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvbG9jYWwtaHR0cC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7T3BlbkFwaVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9vcGVuLWFwaS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7SVN0YXRlSW5mbywgU3RhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZVwiO1xyXG5leHBvcnQge1N0YXRpY0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3N0YXRpYy1sYW5ndWFnZS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7U3RvcmFnZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtDb25zb2xlVG9hc3RlclNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtJVXJsRGljdGlvbmFyeSwgVHJhbnNsYXRlZFVybFNlcmlhbGl6ZXJ9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy90cmFuc2xhdGVkLXVybC5zZXJpYWxpemVyXCI7XHJcbmV4cG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9wcm9taXNlLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCB7UmVzaXplRXZlbnRQbHVnaW59IGZyb20gXCIuL25neC11dGlscy9wbHVnaW5zL3Jlc2l6ZS1ldmVudC5wbHVnaW5cIjtcclxuZXhwb3J0IHtTY3JvbGxFdmVudFBsdWdpbn0gZnJvbSBcIi4vbmd4LXV0aWxzL3BsdWdpbnMvc2Nyb2xsLWV2ZW50LnBsdWdpblwiO1xyXG5cclxuZXhwb3J0IHtDaHVua1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9jaHVuay5waXBlXCI7XHJcbmV4cG9ydCB7RW50cmllc1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9lbnRyaWVzLnBpcGVcIjtcclxuZXhwb3J0IHtFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlXCI7XHJcbmV4cG9ydCB7RmlsdGVyUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlXCI7XHJcbmV4cG9ydCB7RmluZFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9maW5kLnBpcGVcIjtcclxuZXhwb3J0IHtGb3JtYXROdW1iZXJQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZm9ybWF0LW51bWJlci5waXBlXCI7XHJcbmV4cG9ydCB7R2V0T2Zmc2V0UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dldC1vZmZzZXQucGlwZVwiO1xyXG5leHBvcnQge0dldFR5cGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ2V0LXR5cGUucGlwZVwiO1xyXG5leHBvcnQge0dldFZhbHVlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dldC12YWx1ZS5waXBlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ2xvYmFsLXRlbXBsYXRlLnBpcGVcIjtcclxuZXhwb3J0IHtHcm91cEJ5UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dyb3VwLWJ5LnBpcGVcIjtcclxuZXhwb3J0IHtJc1R5cGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvaXMtdHlwZS5waXBlXCI7XHJcbmV4cG9ydCB7Sm9pblBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9qb2luLnBpcGVcIjtcclxuZXhwb3J0IHtLZXlzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2tleXMucGlwZVwiO1xyXG5leHBvcnQge01hcFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9tYXAucGlwZVwiO1xyXG5leHBvcnQge01heFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9tYXgucGlwZVwiO1xyXG5leHBvcnQge01pblBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9taW4ucGlwZVwiO1xyXG5leHBvcnQge1BvcFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9wb3AucGlwZVwiO1xyXG5leHBvcnQge1JlZHVjZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yZWR1Y2UucGlwZVwiO1xyXG5leHBvcnQge1JlbWFwUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JlbWFwLnBpcGVcIjtcclxuZXhwb3J0IHtSZXBsYWNlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JlcGxhY2UucGlwZVwiO1xyXG5leHBvcnQge1JldmVyc2VQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmV2ZXJzZS5waXBlXCI7XHJcbmV4cG9ydCB7Um91bmRQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcm91bmQucGlwZVwiO1xyXG5leHBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3NhZmUtaHRtbC5waXBlXCI7XHJcbmV4cG9ydCB7U2hpZnRQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvc2hpZnQucGlwZVwiO1xyXG5leHBvcnQge1NwbGl0UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3NwbGl0LnBpcGVcIjtcclxuZXhwb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcclxuZXhwb3J0IHtWYWx1ZXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvdmFsdWVzLnBpcGVcIjtcclxuXHJcbmV4cG9ydCB7QXN5bmNNZXRob2RCYXNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9hc3luYy1tZXRob2QuYmFzZVwiO1xyXG5leHBvcnQge0FzeW5jTWV0aG9kRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9hc3luYy1tZXRob2QuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7QmFja2dyb3VuZERpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYmFja2dyb3VuZC5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtEeW5hbWljVGFibGVUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvZHluYW1pYy10YWJsZS10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtHbG9iYWxUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvZ2xvYmFsLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge0ljb25EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2ljb24uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7Tmd4VGVtcGxhdGVPdXRsZXREaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL25neC10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7UGFnaW5hdGlvbkRpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtQYWdpbmF0aW9uSXRlbURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1Jlc291cmNlSWZEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3Jlc291cmNlLWlmLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1N0aWNreURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvc3RpY2t5LmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1N0aWNreUNsYXNzRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9zdGlja3ktY2xhc3MuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvdW5vcmRlcmVkLWxpc3QvdW5vcmRlcmVkLWxpc3QuY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7RHluYW1pY1RhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvY29tcG9uZW50cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50XCI7XHJcbmV4cG9ydCB7UGFnaW5hdGlvbk1lbnVDb21wb25lbnR9IGZyb20gXCIuL25neC11dGlscy9jb21wb25lbnRzL3BhZ2luYXRpb24tbWVudS9wYWdpbmF0aW9uLW1lbnUuY29tcG9uZW50XCI7XHJcblxyXG5leHBvcnQge05neFV0aWxzTW9kdWxlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZVwiO1xyXG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLSCxhQUFhLEVBRWIsV0FBVyxFQUVYLFlBQVksRUFNWixnQkFBZ0IsRUFLaEIsWUFBWSxFQUdaLGVBQWUsRUFLZixtQkFBbUIsRUFHbkIsV0FBVyxFQUVYLGVBQWUsRUFZZixtQkFBbUIsRUFDbkIsVUFBVSxFQVFWLHFCQUFxQixFQVFyQixXQUFXLEVBRVgsZUFBZSxFQUVmLFdBQVcsRUFZWCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGNBQWMsRUFFZCxjQUFjLEVBQ2QsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUVaLGVBQWUsRUFFZixhQUFhLEVBSWIsYUFBYSxFQUNoQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQW1ELGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxXQUFXLEVBQUMs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LE1BQU0sa0VBQWtFLENBQUM7QUFFekcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgICBUeXBlZEZhY3RvcnlQcm92aWRlcixcbiAgICBUeXBlZFZhbHVlUHJvdmlkZXIsXG4gICAgQ2FjaGVkUHJvdmlkZXIsXG4gICAgQ2FjaGVkRmFjdG9yeSxcbiAgICBPUFRJT05TX1RPS0VOLFxuICAgIElSZXNvbHZlRmFjdG9yeSxcbiAgICBDYW52YXNDb2xvcixcbiAgICBJSWNvblNlcnZpY2UsXG4gICAgSUNPTl9TRVJWSUNFLFxuICAgIElUcmFuc2xhdGlvbixcbiAgICBJVHJhbnNsYXRpb25zLFxuICAgIElMYW5ndWFnZVNldHRpbmcsXG4gICAgSUxhbmd1YWdlU2V0dGluZ3MsXG4gICAgSUxhbmd1YWdlU2VydmljZSxcbiAgICBMQU5HVUFHRV9TRVJWSUNFLFxuICAgIElBdXRoU2VydmljZSxcbiAgICBSb3V0ZVZhbGlkYXRvcixcbiAgICBJUm91dGVEYXRhLFxuICAgIElSb3V0ZSxcbiAgICBBVVRIX1NFUlZJQ0UsXG4gICAgSUFjbENvbXBvbmVudCxcbiAgICBJUHJvbWlzZVNlcnZpY2UsXG4gICAgUFJPTUlTRV9TRVJWSUNFLFxuICAgIElXYXNpLFxuICAgIElXYXNtRXhwb3J0cyxcbiAgICBJV2FzbSxcbiAgICBJV2FzbUFzeW5jLFxuICAgIFdBU0lfSU1QTEVNRU5UQVRJT04sXG4gICAgSVJvdXRlU3RhdGVJbmZvLFxuICAgIE5hdmlnYXRpb25VcmxQYXJhbSxcbiAgICBTdG9yYWdlTW9kZSxcbiAgICBJVG9hc3RlclNlcnZpY2UsXG4gICAgVE9BU1RFUl9TRVJWSUNFLFxuICAgIElBc3luY01lc3NhZ2UsXG4gICAgQXN5bmNNZXRob2QsXG4gICAgVW5vcmRlcmVkTGlzdFRlbXBsYXRlLFxuICAgIFVub3JkZXJlZExpc3RUZW1wbGF0ZXMsXG4gICAgVW5vcmRlcmVkTGlzdFN0eWxlLFxuICAgIElBamF4UmVxdWVzdERldGFpbHMsXG4gICAgQWpheFJlcXVlc3RDYWxsYmFjayxcbiAgICBTY3JpcHRUeXBlLFxuICAgIElTY3JpcHRQcm9taXNlcyxcbiAgICBJU3R5bGVQcm9taXNlcyxcbiAgICBJU2VhcmNoT2JzZXJ2YWJsZSxcbiAgICBGYWN0b3J5RGVwZW5kZW5jaWVzLFxuICAgIE9iamVjdFR5cGUsXG4gICAgSVRpbWVyLFxuICAgIElFeHRyYVByb3BlcnRpZXMsXG4gICAgSUdyb3VwTWFwLFxuICAgIFRyYW5zbGF0aW9uUXVlcnksXG4gICAgSVBhZ2VJbmZvLFxuICAgIElQYWdpbmF0aW9uRGF0YSxcbiAgICBQYWdpbmF0aW9uRGF0YUxvYWRlcixcbiAgICBQYWdpbmF0aW9uSXRlbUNvbnRleHQsXG4gICAgSUh0dHBIZWFkZXJzLFxuICAgIElIdHRwUGFyYW1zLFxuICAgIElSZXF1ZXN0T3B0aW9ucyxcbiAgICBJSXNzdWVDb250ZXh0LFxuICAgIElQcm9ncmVzcyxcbiAgICBQcm9ncmVzc0xpc3RlbmVyLFxuICAgIFByb21pc2VFeGVjdXRvcixcbiAgICBIdHRwUHJvbWlzZSxcbiAgICBJSHR0cFNlcnZpY2UsXG4gICAgRVhQUkVTU19SRVFVRVNULFxuICAgIElBcGlTZXJ2aWNlLFxuICAgIEFQSV9TRVJWSUNFLFxuICAgIElPcGVuQXBpU2NoZW1hUHJvcGVydHksXG4gICAgSU9wZW5BcGlTY2hlbWEsXG4gICAgSU9wZW5BcGlTY2hlbWFzLFxuICAgIElUYWJsZU9yZGVycyxcbiAgICBJVGFibGVDb2x1bW4sXG4gICAgSVRhYmxlQ29sdW1ucyxcbiAgICBUYWJsZUNvbHVtbnMsXG4gICAgSVRhYmxlVGVtcGxhdGUsXG4gICAgSVRhYmxlVGVtcGxhdGVzLFxuICAgIElUYWJsZURhdGFRdWVyeSxcbiAgICBUYWJsZURhdGFMb2FkZXIsXG4gICAgUmVzb3VyY2VJZkNvbnRleHQsXG4gICAgQVBQX0JBU0VfVVJMLFxuICAgIElDb25maWd1cmF0aW9uLFxuICAgIElDb25maWdTZXJ2aWNlLFxuICAgIENPTkZJR19TRVJWSUNFLFxuICAgIEJBU0VfQ09ORklHLFxuICAgIFNDUklQVF9QQVJBTVMsXG4gICAgUk9PVF9FTEVNRU5ULFxuICAgIFJFU0laRV9ERUxBWSxcbiAgICBSZXNpemVFdmVudFN0cmF0ZWd5LFxuICAgIFJFU0laRV9TVFJBVEVHWSxcbiAgICBFcnJvckhhbmRsZXJDYWxsYmFjayxcbiAgICBFUlJPUl9IQU5ETEVSLFxuICAgIEdsb2JhbENvbXBvbmVudE1vZGlmaWVyLFxuICAgIEFwcEluaXRpYWxpemVyRnVuYyxcbiAgICBJTW9kdWxlQ29uZmlnLFxuICAgIFZhbHVlZFByb21pc2Vcbn0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbW1vbi10eXBlc1wiO1xuXG5leHBvcnQge0FqYXhSZXF1ZXN0SGFuZGxlcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2FqYXgtcmVxdWVzdC1oYW5kbGVyXCI7XG5leHBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9hcnJheS51dGlsc1wiO1xuZXhwb3J0IHtBdXRoR3VhcmR9IGZyb20gXCIuL25neC11dGlscy91dGlscy9hdXRoLmd1YXJkXCI7XG5leHBvcnQge2NhY2hlZEZhY3Rvcnl9IGZyb20gXCIuL25neC11dGlscy91dGlscy9jYWNoZWQtZmFjdG9yeVwiO1xuZXhwb3J0IHtDYW52YXNVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2NhbnZhcy51dGlsc1wiO1xuZXhwb3J0IHtEYXRlVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9kYXRlLnV0aWxzXCI7XG5leHBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2ZpbGUudXRpbHNcIjtcbmV4cG9ydCB7R2VuZXJpY1ZhbHVlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvZ2VuZXJpYy12YWx1ZVwiO1xuZXhwb3J0IHtGaWxlU3lzdGVtRW50cnlPcGVuUmVzdWx0LCBGaWxlU3lzdGVtRW50cnlPcGVuQ2IsIEZpbGVTeXN0ZW1FbnRyeX0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2ZpbGUtc3lzdGVtXCI7XG5leHBvcnQge0lTaGFwZSwgUmVjdCwgQ2lyY2xlLCBQb2ludH0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2dlb21ldHJ5XCI7XG5leHBvcnQge0luaXRpYWxpemVyfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvaW5pdGlhbGl6ZXJcIjtcbmV4cG9ydCB7SlNPTmZufSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvanNvbmZuXCI7XG5leHBvcnQge1JlZmxlY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3JlZmxlY3QudXRpbHNcIjtcbmV4cG9ydCB7TG9hZGVyVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9sb2FkZXIudXRpbHNcIjtcbmV4cG9ydCB7TWF0aFV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvbWF0aC51dGlsc1wiO1xuZXhwb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29iamVjdC51dGlsc1wiO1xuZXhwb3J0IHtPYnNlcnZhYmxlVXRpbHMsIElTdWJzY3JpYmVySW5mb30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29ic2VydmFibGUudXRpbHNcIjtcbmV4cG9ydCB7Q2FuY2VsYWJsZVByb21pc2UsIGNhbmNlbGFibGVQcm9taXNlLCBpbXBhdGllbnRQcm9taXNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvcHJvbWlzZS51dGlsc1wiO1xuZXhwb3J0IHtTdHJpbmdVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3N0cmluZy51dGlsc1wiO1xuZXhwb3J0IHtTZXRVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3NldC51dGlsc1wiO1xuZXhwb3J0IHtUaW1lclV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvdGltZXIudXRpbHNcIjtcbmV4cG9ydCB7VW5pcXVlVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy91bmlxdWUudXRpbHNcIjtcbmV4cG9ydCB7VmVjdG9yfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvdmVjdG9yXCI7XG5leHBvcnQge3Byb3ZpZGVXaXRoT3B0aW9uc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3dpdGgtb3B0aW9ucy1wcm92aWRlclwiO1xuXG5leHBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xuZXhwb3J0IHtXYXNtU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3dhc20uc2VydmljZVwiO1xuZXhwb3J0IHtBY2xTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYWNsLnNlcnZpY2VcIjtcbmV4cG9ydCB7QXBpU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2FwaS5zZXJ2aWNlXCI7XG5leHBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XG5leHBvcnQge0Jhc2VIdHRwQ2xpZW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYmFzZS1odHRwLmNsaWVudFwiO1xuZXhwb3J0IHtCYXNlSHR0cFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9iYXNlLWh0dHAuc2VydmljZVwiO1xuZXhwb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcbmV4cG9ydCB7RXJyb3JIYW5kbGVyU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2Vycm9yLWhhbmRsZXIuc2VydmljZVwiO1xuZXhwb3J0IHtFdmVudHNTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZXZlbnRzLnNlcnZpY2VcIjtcbmV4cG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XG5leHBvcnQge0dsb2JhbFRlbXBsYXRlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2dsb2JhbC10ZW1wbGF0ZS5zZXJ2aWNlXCI7XG5leHBvcnQge0ljb25TZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XG5leHBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcbmV4cG9ydCB7TG9jYWxIdHRwU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2xvY2FsLWh0dHAuc2VydmljZVwiO1xuZXhwb3J0IHtPcGVuQXBpU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL29wZW4tYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCB7SVN0YXRlSW5mbywgU3RhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZVwiO1xuZXhwb3J0IHtTdGF0aWNMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xuZXhwb3J0IHtTdG9yYWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZVwiO1xuZXhwb3J0IHtDb25zb2xlVG9hc3RlclNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2VcIjtcbmV4cG9ydCB7SVVybERpY3Rpb25hcnksIFRyYW5zbGF0ZWRVcmxTZXJpYWxpemVyfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvdHJhbnNsYXRlZC11cmwuc2VyaWFsaXplclwiO1xuZXhwb3J0IHtQcm9taXNlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xuXG5leHBvcnQge1Jlc2l6ZUV2ZW50UGx1Z2lufSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luXCI7XG5leHBvcnQge1Njcm9sbEV2ZW50UGx1Z2lufSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGx1Z2lucy9zY3JvbGwtZXZlbnQucGx1Z2luXCI7XG5cbmV4cG9ydCB7Q2h1bmtQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZVwiO1xuZXhwb3J0IHtFbnRyaWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2VudHJpZXMucGlwZVwiO1xuZXhwb3J0IHtFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlXCI7XG5leHBvcnQge0ZpbHRlclBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9maWx0ZXIucGlwZVwiO1xuZXhwb3J0IHtGaW5kUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2ZpbmQucGlwZVwiO1xuZXhwb3J0IHtGb3JtYXROdW1iZXJQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZm9ybWF0LW51bWJlci5waXBlXCI7XG5leHBvcnQge0dldE9mZnNldFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9nZXQtb2Zmc2V0LnBpcGVcIjtcbmV4cG9ydCB7R2V0VHlwZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9nZXQtdHlwZS5waXBlXCI7XG5leHBvcnQge0dldFZhbHVlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dldC12YWx1ZS5waXBlXCI7XG5leHBvcnQge0dsb2JhbFRlbXBsYXRlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dsb2JhbC10ZW1wbGF0ZS5waXBlXCI7XG5leHBvcnQge0dyb3VwQnlQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ3JvdXAtYnkucGlwZVwiO1xuZXhwb3J0IHtJc1R5cGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvaXMtdHlwZS5waXBlXCI7XG5leHBvcnQge0pvaW5QaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvam9pbi5waXBlXCI7XG5leHBvcnQge0tleXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMva2V5cy5waXBlXCI7XG5leHBvcnQge01hcFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9tYXAucGlwZVwiO1xuZXhwb3J0IHtNYXhQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvbWF4LnBpcGVcIjtcbmV4cG9ydCB7TWluUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL21pbi5waXBlXCI7XG5leHBvcnQge1BvcFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9wb3AucGlwZVwiO1xuZXhwb3J0IHtSZWR1Y2VQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmVkdWNlLnBpcGVcIjtcbmV4cG9ydCB7UmVtYXBQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmVtYXAucGlwZVwiO1xuZXhwb3J0IHtSZXBsYWNlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JlcGxhY2UucGlwZVwiO1xuZXhwb3J0IHtSZXZlcnNlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JldmVyc2UucGlwZVwiO1xuZXhwb3J0IHtSb3VuZFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yb3VuZC5waXBlXCI7XG5leHBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3NhZmUtaHRtbC5waXBlXCI7XG5leHBvcnQge1NoaWZ0UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3NoaWZ0LnBpcGVcIjtcbmV4cG9ydCB7U3BsaXRQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvc3BsaXQucGlwZVwiO1xuZXhwb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcbmV4cG9ydCB7VmFsdWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3ZhbHVlcy5waXBlXCI7XG5cbmV4cG9ydCB7QXN5bmNNZXRob2RCYXNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9hc3luYy1tZXRob2QuYmFzZVwiO1xuZXhwb3J0IHtBc3luY01ldGhvZERpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmRpcmVjdGl2ZVwiO1xuZXhwb3J0IHtCYWNrZ3JvdW5kRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9iYWNrZ3JvdW5kLmRpcmVjdGl2ZVwiO1xuZXhwb3J0IHtEeW5hbWljVGFibGVUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvZHluYW1pYy10YWJsZS10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2dsb2JhbC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcbmV4cG9ydCB7SWNvbkRpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmVcIjtcbmV4cG9ydCB7Tmd4VGVtcGxhdGVPdXRsZXREaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL25neC10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlXCI7XG5leHBvcnQge1BhZ2luYXRpb25EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3BhZ2luYXRpb24uZGlyZWN0aXZlXCI7XG5leHBvcnQge1BhZ2luYXRpb25JdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9wYWdpbmF0aW9uLWl0ZW0uZGlyZWN0aXZlXCI7XG5leHBvcnQge1Jlc291cmNlSWZEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3Jlc291cmNlLWlmLmRpcmVjdGl2ZVwiO1xuZXhwb3J0IHtTdGlja3lEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3N0aWNreS5kaXJlY3RpdmVcIjtcbmV4cG9ydCB7U3RpY2t5Q2xhc3NEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3N0aWNreS1jbGFzcy5kaXJlY3RpdmVcIjtcbmV4cG9ydCB7VW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LWl0ZW0uZGlyZWN0aXZlXCI7XG5leHBvcnQge1Vub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XG5cbmV4cG9ydCB7VW5vcmRlcmVkTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvdW5vcmRlcmVkLWxpc3QvdW5vcmRlcmVkLWxpc3QuY29tcG9uZW50XCI7XG5leHBvcnQge0R5bmFtaWNUYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudFwiO1xuZXhwb3J0IHtQYWdpbmF0aW9uTWVudUNvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1tZW51L3BhZ2luYXRpb24tbWVudS5jb21wb25lbnRcIjtcblxuZXhwb3J0IHtOZ3hVdGlsc01vZHVsZX0gZnJvbSBcIi4vbmd4LXV0aWxzL25neC11dGlscy5tb2R1bGVcIjtcbiJdfQ==
@@ -68,4 +68,4 @@ export function createConfig(config, alternatives) {
68
68
  console.log("Parsing config...");
69
69
  return createConfigRecursive(null, parseConfig(config), "", alternatives);
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG9vbHMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBVTtJQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLEtBQUssQ0FBQztJQUMxQixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFVO0lBQzdCLE9BQU8sSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLEtBQUssT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ25GLENBQUM7QUFNRCxTQUFTLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtJQUMxQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ1gsS0FBSyxTQUFTO1lBQ1YsS0FBSyxHQUFHLE9BQU8sS0FBSyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDL0QsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqRixLQUFLLFFBQVE7WUFDVCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBWSxFQUFFLFlBQXNDLEVBQUUsS0FBVTtJQUNoRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxFQUFDLENBQUM7UUFDdkQsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ2hDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxLQUFLLENBQUMsQ0FBQztZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEMsT0FBTyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxNQUFXLEVBQUUsTUFBVyxFQUFFLElBQVksRUFBRSxZQUFzQztJQUN6RyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUs7Z0JBQ3JCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQzs7Z0JBRWxILE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM5RyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQzlDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFXO0lBQ25DLElBQUksT0FBTyxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBVyxFQUFFLFlBQXVDO0lBQzdFLFlBQVksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNqQyxPQUFPLHFCQUFxQixDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcclxuICAgIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8ICh0eXBlICE9PSBcIm9iamVjdFwiICYmIHR5cGUgIT09IFwiZnVuY3Rpb25cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGUodmFsdWU6IGFueSk6IHZhbHVlIGlzIERhdGUge1xyXG4gICAgcmV0dXJuIG51bGwgIT09IHZhbHVlICYmICFpc05hTih2YWx1ZSkgJiYgXCJ1bmRlZmluZWRcIiAhPT0gdHlwZW9mIHZhbHVlLmdldERhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzIHtcclxuICAgIFtuYW1lOiBzdHJpbmddOiBzdHJpbmdbXVxyXG59XHJcblxyXG5mdW5jdGlvbiBjb252ZXJ0VmFsdWUodmFsdWU6IGFueSwgdHlwZTogc3RyaW5nKTogYW55IHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJib29sZWFuXCI6XHJcbiAgICAgICAgICAgIHZhbHVlID0gdHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIgPyB2YWx1ZS50b0xvd2VyQ2FzZSgpIDogdmFsdWU7XHJcbiAgICAgICAgICAgIHJldHVybiAodmFsdWUgPT0gXCJub1wiIHx8IHZhbHVlID09IFwiZmFsc2VcIiB8fCB2YWx1ZSA9PSBcIjBcIikgPyBmYWxzZSA6ICEhdmFsdWU7XHJcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuICAgICAgICAgICAgcmV0dXJuIGlzTmFOKHZhbCkgPyAwIDogdmFsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRGcm9tRW52KHBhdGg6IHN0cmluZywgYWx0ZXJuYXRpdmVzOiBJRW52aXJvbm1lbnRBbHRlcm5hdGl2ZXMsIHZhbHVlOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgbmFtZSA9IHBhdGgucmVwbGFjZSgvXFwuPyhbQS1afDAtOV0rKS9nLCBmdW5jdGlvbiAoeCx5KXtcclxuICAgICAgICByZXR1cm4gXCJfXCIgKyB5LnRvTG93ZXJDYXNlKClcclxuICAgIH0pLnJlcGxhY2UoL1xcLi9naSwgXCJfXCIpLnJlcGxhY2UoL15fLywgXCJcIikudG9VcHBlckNhc2UoKTtcclxuICAgIGNvbnN0IGFsdHMgPSBBcnJheS5mcm9tKGFsdGVybmF0aXZlc1tuYW1lXSB8fCBbXSk7XHJcbiAgICBhbHRzLnVuc2hpZnQobmFtZSk7XHJcbiAgICBmb3IgKGNvbnN0IGVudk5hbWUgb2YgYWx0cykge1xyXG4gICAgICAgIGNvbnN0IGVudlZhbHVlID0gcHJvY2Vzcy5lbnZbZW52TmFtZV07XHJcbiAgICAgICAgaWYgKHR5cGVvZiBlbnZWYWx1ZSAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICBjb25zdCB2YWwgPSBjb252ZXJ0VmFsdWUoZW52VmFsdWUsIHR5cGVvZiB2YWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKG5hbWUsIGVudk5hbWUsIHZhbCk7XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWUoZW52VmFsdWUsIHR5cGVvZiB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2cobmFtZSwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVDb25maWdSZWN1cnNpdmUodGFyZ2V0OiBhbnksIHNvdXJjZTogYW55LCBwYXRoOiBzdHJpbmcsIGFsdGVybmF0aXZlczogSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzKTogYW55IHtcclxuICAgIGlmIChpc1ByaW1pdGl2ZShzb3VyY2UpIHx8IGlzRGF0ZShzb3VyY2UpKSB7XHJcbiAgICAgICAgcmV0dXJuIGdldEZyb21FbnYocGF0aCwgYWx0ZXJuYXRpdmVzLCBzb3VyY2UpO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlKSkge1xyXG4gICAgICAgIHRhcmdldCA9IEFycmF5LmlzQXJyYXkodGFyZ2V0KSA/IEFycmF5LmZyb20odGFyZ2V0KSA6IFtdO1xyXG4gICAgICAgIHNvdXJjZS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGFyZ2V0Lmxlbmd0aCA+IGluZGV4KVxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0W2luZGV4XSA9IGNyZWF0ZUNvbmZpZ1JlY3Vyc2l2ZSh0YXJnZXRbaW5kZXhdLCBpdGVtLCAhcGF0aCA/IGAke2luZGV4fWAgOiBgJHtwYXRofS4ke2luZGV4fWAsIGFsdGVybmF0aXZlcyk7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRhcmdldC5wdXNoKGNyZWF0ZUNvbmZpZ1JlY3Vyc2l2ZShudWxsLCBpdGVtLCAhcGF0aCA/IGAke2luZGV4fWAgOiBgJHtwYXRofS4ke2luZGV4fWAsIGFsdGVybmF0aXZlcykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XHJcbiAgICAgICAgcmVzdWx0W2tleV0gPSBjcmVhdGVDb25maWdSZWN1cnNpdmUocmVzdWx0W2tleV0sIHNvdXJjZVtrZXldLCAhcGF0aCA/IGAke2tleX1gIDogYCR7cGF0aH0uJHtrZXl9YCwgYWx0ZXJuYXRpdmVzKTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfSwgT2JqZWN0LmFzc2lnbih7fSwgdGFyZ2V0KSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNvbmZpZyhjb25maWc6IGFueSk6IGFueSB7XHJcbiAgICBpZiAodHlwZW9mIGNvbmZpZyA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uZmlnID0gSlNPTi5wYXJzZShjb25maWcpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb25maWcoY29uZmlnOiBhbnksIGFsdGVybmF0aXZlcz86IElFbnZpcm9ubWVudEFsdGVybmF0aXZlcyk6IGFueSB7XHJcbiAgICBhbHRlcm5hdGl2ZXMgPSBhbHRlcm5hdGl2ZXMgfHwge307XHJcbiAgICBjb25zb2xlLmxvZyhcIlBhcnNpbmcgY29uZmlnLi4uXCIpO1xyXG4gICAgcmV0dXJuIGNyZWF0ZUNvbmZpZ1JlY3Vyc2l2ZShudWxsLCBwYXJzZUNvbmZpZyhjb25maWcpLCBcIlwiLCBhbHRlcm5hdGl2ZXMpO1xyXG59XHJcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG9vbHMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBVTtJQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLEtBQUssQ0FBQztJQUMxQixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFVO0lBQzdCLE9BQU8sSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLEtBQUssT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ25GLENBQUM7QUFNRCxTQUFTLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtJQUMxQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ1gsS0FBSyxTQUFTO1lBQ1YsS0FBSyxHQUFHLE9BQU8sS0FBSyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDL0QsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqRixLQUFLLFFBQVE7WUFDVCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxVQUFV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LEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxHQUFHLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFXO0lBQ25DLElBQUksT0FBTyxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBVyxFQUFFLFlBQXVDO0lBQzdFLFlBQVksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNqQyxPQUFPLHFCQUFxQixDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgKHR5cGUgIT09IFwib2JqZWN0XCIgJiYgdHlwZSAhPT0gXCJmdW5jdGlvblwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgRGF0ZSB7XG4gICAgcmV0dXJuIG51bGwgIT09IHZhbHVlICYmICFpc05hTih2YWx1ZSkgJiYgXCJ1bmRlZmluZWRcIiAhPT0gdHlwZW9mIHZhbHVlLmdldERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzIHtcbiAgICBbbmFtZTogc3RyaW5nXTogc3RyaW5nW11cbn1cblxuZnVuY3Rpb24gY29udmVydFZhbHVlKHZhbHVlOiBhbnksIHR5cGU6IHN0cmluZyk6IGFueSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgICAgICB2YWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiID8gdmFsdWUudG9Mb3dlckNhc2UoKSA6IHZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSA9PSBcIm5vXCIgfHwgdmFsdWUgPT0gXCJmYWxzZVwiIHx8IHZhbHVlID09IFwiMFwiKSA/IGZhbHNlIDogISF2YWx1ZTtcbiAgICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICAgICAgY29uc3QgdmFsID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gaXNOYU4odmFsKSA/IDAgOiB2YWw7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gZ2V0RnJvbUVudihwYXRoOiBzdHJpbmcsIGFsdGVybmF0aXZlczogSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICBjb25zdCBuYW1lID0gcGF0aC5yZXBsYWNlKC9cXC4/KFtBLVp8MC05XSspL2csIGZ1bmN0aW9uICh4LHkpe1xuICAgICAgICByZXR1cm4gXCJfXCIgKyB5LnRvTG93ZXJDYXNlKClcbiAgICB9KS5yZXBsYWNlKC9cXC4vZ2ksIFwiX1wiKS5yZXBsYWNlKC9eXy8sIFwiXCIpLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgYWx0cyA9IEFycmF5LmZyb20oYWx0ZXJuYXRpdmVzW25hbWVdIHx8IFtdKTtcbiAgICBhbHRzLnVuc2hpZnQobmFtZSk7XG4gICAgZm9yIChjb25zdCBlbnZOYW1lIG9mIGFsdHMpIHtcbiAgICAgICAgY29uc3QgZW52VmFsdWUgPSBwcm9jZXNzLmVudltlbnZOYW1lXTtcbiAgICAgICAgaWYgKHR5cGVvZiBlbnZWYWx1ZSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgY29uc3QgdmFsID0gY29udmVydFZhbHVlKGVudlZhbHVlLCB0eXBlb2YgdmFsdWUpO1xuICAgICAgICAgICAgY29uc29sZS5sb2cobmFtZSwgZW52TmFtZSwgdmFsKTtcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWUoZW52VmFsdWUsIHR5cGVvZiB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc29sZS5sb2cobmFtZSwgdmFsdWUpO1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29uZmlnUmVjdXJzaXZlKHRhcmdldDogYW55LCBzb3VyY2U6IGFueSwgcGF0aDogc3RyaW5nLCBhbHRlcm5hdGl2ZXM6IElFbnZpcm9ubWVudEFsdGVybmF0aXZlcyk6IGFueSB7XG4gICAgaWYgKGlzUHJpbWl0aXZlKHNvdXJjZSkgfHwgaXNEYXRlKHNvdXJjZSkpIHtcbiAgICAgICAgcmV0dXJuIGdldEZyb21FbnYocGF0aCwgYWx0ZXJuYXRpdmVzLCBzb3VyY2UpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2UpKSB7XG4gICAgICAgIHRhcmdldCA9IEFycmF5LmlzQXJyYXkodGFyZ2V0KSA/IEFycmF5LmZyb20odGFyZ2V0KSA6IFtdO1xuICAgICAgICBzb3VyY2UuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICh0YXJnZXQubGVuZ3RoID4gaW5kZXgpXG4gICAgICAgICAgICAgICAgdGFyZ2V0W2luZGV4XSA9IGNyZWF0ZUNvbmZpZ1JlY3Vyc2l2ZSh0YXJnZXRbaW5kZXhdLCBpdGVtLCAhcGF0aCA/IGAke2luZGV4fWAgOiBgJHtwYXRofS4ke2luZGV4fWAsIGFsdGVybmF0aXZlcyk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnB1c2goY3JlYXRlQ29uZmlnUmVjdXJzaXZlKG51bGwsIGl0ZW0sICFwYXRoID8gYCR7aW5kZXh9YCA6IGAke3BhdGh9LiR7aW5kZXh9YCwgYWx0ZXJuYXRpdmVzKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gY3JlYXRlQ29uZmlnUmVjdXJzaXZlKHJlc3VsdFtrZXldLCBzb3VyY2Vba2V5XSwgIXBhdGggPyBgJHtrZXl9YCA6IGAke3BhdGh9LiR7a2V5fWAsIGFsdGVybmF0aXZlcyk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgT2JqZWN0LmFzc2lnbih7fSwgdGFyZ2V0KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNvbmZpZyhjb25maWc6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uZmlnID0gSlNPTi5wYXJzZShjb25maWcpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbmZpZyhjb25maWc6IGFueSwgYWx0ZXJuYXRpdmVzPzogSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzKTogYW55IHtcbiAgICBhbHRlcm5hdGl2ZXMgPSBhbHRlcm5hdGl2ZXMgfHwge307XG4gICAgY29uc29sZS5sb2coXCJQYXJzaW5nIGNvbmZpZy4uLlwiKTtcbiAgICByZXR1cm4gY3JlYXRlQ29uZmlnUmVjdXJzaXZlKG51bGwsIHBhcnNlQ29uZmlnKGNvbmZpZyksIFwiXCIsIGFsdGVybmF0aXZlcyk7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export { createConfig } from "./config";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rvb2xzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBMkIsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge2NyZWF0ZUNvbmZpZywgSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzfSBmcm9tIFwiLi9jb25maWdcIjtcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rvb2xzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBMkIsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge2NyZWF0ZUNvbmZpZywgSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzfSBmcm9tIFwiLi9jb25maWdcIjtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"stemy-ngx-utils-tools.mjs","sources":["../../tools/config.ts","../../tools/stemy-ngx-utils-tools.ts"],"sourcesContent":["export function isPrimitive(value: any): boolean {\r\n const type = typeof value;\r\n return value == null || (type !== \"object\" && type !== \"function\");\r\n}\r\n\r\nexport function isDate(value: any): value is Date {\r\n return null !== value && !isNaN(value) && \"undefined\" !== typeof value.getDate;\r\n}\r\n\r\nexport interface IEnvironmentAlternatives {\r\n [name: string]: string[]\r\n}\r\n\r\nfunction convertValue(value: any, type: string): any {\r\n switch (type) {\r\n case \"boolean\":\r\n value = typeof value == \"string\" ? value.toLowerCase() : value;\r\n return (value == \"no\" || value == \"false\" || value == \"0\") ? false : !!value;\r\n case \"number\":\r\n const val = parseFloat(value);\r\n return isNaN(val) ? 0 : val;\r\n }\r\n return value;\r\n}\r\n\r\nfunction getFromEnv(path: string, alternatives: IEnvironmentAlternatives, value: any): any {\r\n const name = path.replace(/\\.?([A-Z|0-9]+)/g, function (x,y){\r\n return \"_\" + y.toLowerCase()\r\n }).replace(/\\./gi, \"_\").replace(/^_/, \"\").toUpperCase();\r\n const alts = Array.from(alternatives[name] || []);\r\n alts.unshift(name);\r\n for (const envName of alts) {\r\n const envValue = process.env[envName];\r\n if (typeof envValue !== \"undefined\") {\r\n const val = convertValue(envValue, typeof value);\r\n console.log(name, envName, val);\r\n return convertValue(envValue, typeof value);\r\n }\r\n }\r\n console.log(name, value);\r\n return value;\r\n}\r\n\r\nfunction createConfigRecursive(target: any, source: any, path: string, alternatives: IEnvironmentAlternatives): any {\r\n if (isPrimitive(source) || isDate(source)) {\r\n return getFromEnv(path, alternatives, source);\r\n }\r\n if (Array.isArray(source)) {\r\n target = Array.isArray(target) ? Array.from(target) : [];\r\n source.forEach((item, index) => {\r\n if (target.length > index)\r\n target[index] = createConfigRecursive(target[index], item, !path ? `${index}` : `${path}.${index}`, alternatives);\r\n else\r\n target.push(createConfigRecursive(null, item, !path ? `${index}` : `${path}.${index}`, alternatives));\r\n });\r\n return target;\r\n }\r\n return Object.keys(source).reduce((result, key) => {\r\n result[key] = createConfigRecursive(result[key], source[key], !path ? `${key}` : `${path}.${key}`, alternatives);\r\n return result;\r\n }, Object.assign({}, target));\r\n}\r\n\r\nexport function parseConfig(config: any): any {\r\n if (typeof config == \"string\") {\r\n try {\r\n config = JSON.parse(config);\r\n } catch (e) {\r\n return {};\r\n }\r\n }\r\n return config;\r\n}\r\n\r\nexport function createConfig(config: any, alternatives?: IEnvironmentAlternatives): any {\r\n alternatives = alternatives || {};\r\n console.log(\"Parsing config...\");\r\n return createConfigRecursive(null, parseConfig(config), \"\", alternatives);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stemy-ngx-utils-tools.mjs","sources":["../../tools/config.ts","../../tools/stemy-ngx-utils-tools.ts"],"sourcesContent":["export function isPrimitive(value: any): boolean {\n const type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\n\nexport function isDate(value: any): value is Date {\n return null !== value && !isNaN(value) && \"undefined\" !== typeof value.getDate;\n}\n\nexport interface IEnvironmentAlternatives {\n [name: string]: string[]\n}\n\nfunction convertValue(value: any, type: string): any {\n switch (type) {\n case \"boolean\":\n value = typeof value == \"string\" ? value.toLowerCase() : value;\n return (value == \"no\" || value == \"false\" || value == \"0\") ? false : !!value;\n case \"number\":\n const val = parseFloat(value);\n return isNaN(val) ? 0 : val;\n }\n return value;\n}\n\nfunction getFromEnv(path: string, alternatives: IEnvironmentAlternatives, value: any): any {\n const name = path.replace(/\\.?([A-Z|0-9]+)/g, function (x,y){\n return \"_\" + y.toLowerCase()\n }).replace(/\\./gi, \"_\").replace(/^_/, \"\").toUpperCase();\n const alts = Array.from(alternatives[name] || []);\n alts.unshift(name);\n for (const envName of alts) {\n const envValue = process.env[envName];\n if (typeof envValue !== \"undefined\") {\n const val = convertValue(envValue, typeof value);\n console.log(name, envName, val);\n return convertValue(envValue, typeof value);\n }\n }\n console.log(name, value);\n return value;\n}\n\nfunction createConfigRecursive(target: any, source: any, path: string, alternatives: IEnvironmentAlternatives): any {\n if (isPrimitive(source) || isDate(source)) {\n return getFromEnv(path, alternatives, source);\n }\n if (Array.isArray(source)) {\n target = Array.isArray(target) ? Array.from(target) : [];\n source.forEach((item, index) => {\n if (target.length > index)\n target[index] = createConfigRecursive(target[index], item, !path ? `${index}` : `${path}.${index}`, alternatives);\n else\n target.push(createConfigRecursive(null, item, !path ? `${index}` : `${path}.${index}`, alternatives));\n });\n return target;\n }\n return Object.keys(source).reduce((result, key) => {\n result[key] = createConfigRecursive(result[key], source[key], !path ? `${key}` : `${path}.${key}`, alternatives);\n return result;\n }, Object.assign({}, target));\n}\n\nexport function parseConfig(config: any): any {\n if (typeof config == \"string\") {\n try {\n config = JSON.parse(config);\n } catch (e) {\n return {};\n }\n }\n return config;\n}\n\nexport function createConfig(config: any, alternatives?: IEnvironmentAlternatives): any {\n alternatives = alternatives || {};\n console.log(\"Parsing config...\");\n return createConfigRecursive(null, parseConfig(config), \"\", alternatives);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, Injector, EventEmitter, isDevMode, ErrorHandler, NgZone, Pipe, Directive, Input, Output, HostBinding, HostListener, Component, ContentChildren, ViewChild, ContentChild, APP_INITIALIZER, makeEnvironmentProviders, NgModule } from '@angular/core';
2
+ import { InjectionToken, PLATFORM_ID, Inject, Injectable, Optional, Injector, EventEmitter, isDevMode, ErrorHandler, NgZone, Pipe, HostListener, HostBinding, Output, Input, Directive, ViewChild, ContentChildren, Component, ContentChild, APP_INITIALIZER, makeEnvironmentProviders, NgModule } from '@angular/core';
3
3
  import 'reflect-metadata';
4
4
  import * as i2 from '@angular/router';
5
5
  import { ActivatedRouteSnapshot, Scroll, NavigationEnd, DefaultUrlSerializer, UrlTree, UrlSegmentGroup, UrlSegment, UrlSerializer } from '@angular/router';
@@ -1613,12 +1613,14 @@ class GenericValue extends Subject {
1613
1613
  }
1614
1614
 
1615
1615
  class FileSystemEntry {
1616
- constructor(label, meta, image, data, parent, openCb) {
1616
+ get parent() {
1617
+ return this.level === 0 ? null : this.path[this.level - 1] || null;
1618
+ }
1619
+ constructor(label, meta, image, data, openCb, parent = null) {
1617
1620
  this.label = label;
1618
1621
  this.meta = meta;
1619
1622
  this.image = image;
1620
1623
  this.data = data;
1621
- this.parent = parent;
1622
1624
  this.openCb = openCb;
1623
1625
  this.path = !parent ? [this] : parent.path.concat([this]);
1624
1626
  this.level = this.path.length - 1;
@@ -1627,7 +1629,7 @@ class FileSystemEntry {
1627
1629
  .concat([`level-${this.level}`]);
1628
1630
  }
1629
1631
  open() {
1630
- this.result = this.result || this.openCb(this.data, this);
1632
+ this.result = this.result || this.openCb(this);
1631
1633
  this.result.then(res => {
1632
1634
  if (Array.isArray(res))
1633
1635
  return;
@@ -5136,11 +5138,11 @@ class UnorderedListComponent {
5136
5138
  this.cdr.detectChanges();
5137
5139
  }
5138
5140
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UnorderedListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: UnorderedListComponent, selector: "unordered-list", inputs: { data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates" }, queries: [{ propertyName: "templateDirectives", predicate: UnorderedListTemplateDirective }], viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" let-isArray=\"isArray\" #defaultKeyTemplate>\r\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\r\n</ng-template>\r\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-val=\"item.value\" let-path=\"path\"\r\n let-templates=\"templates\" let-isObject=\"valueIsObject\" let-isArray=\"valueIsArray\" #defaultValueTemplate>\r\n <ng-template #value>\r\n <span [innerHTML]=\"val\"></span>\r\n </ng-template>\r\n <unordered-list [data]=\"val\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level + 1\"\r\n [templates]=\"templates\"\r\n *ngIf=\"(isObject || isArray); else value\"></unordered-list>\r\n</ng-template>\r\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\r\n <ng-template #itemKey>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"key\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-template #itemValue>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"value\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"!isArray\">\r\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\r\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\r\n </th>\r\n </ng-container>\r\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\r\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\r\n </td>\r\n</ng-template>\r\n<ng-template #value>\r\n <span [innerHTML]=\"data\"></span>\r\n</ng-template>\r\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\r\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\r\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </li>\r\n </ul>\r\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\r\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </tr>\r\n </table>\r\n</ng-container>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: UnorderedListItemDirective, selector: "[unorderedListItem]", inputs: ["unorderedListItem", "type", "data", "keyPrefix", "listStyle", "path", "level", "templates", "defaultTemplates"] }, { kind: "component", type: UnorderedListComponent, selector: "unordered-list", inputs: ["data", "keyPrefix", "listStyle", "path", "level", "templates"] }, { kind: "pipe", type: EntriesPipe, name: "entries" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: UnorderedListComponent, selector: "unordered-list", inputs: { data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates" }, queries: [{ propertyName: "templateDirectives", predicate: UnorderedListTemplateDirective }], viewQueries: [{ propertyName: "defaultKeyTemplate", first: true, predicate: ["defaultKeyTemplate"], descendants: true }, { propertyName: "defaultValueTemplate", first: true, predicate: ["defaultValueTemplate"], descendants: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" let-isArray=\"isArray\" #defaultKeyTemplate>\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\n</ng-template>\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-val=\"item.value\" let-path=\"path\"\n let-templates=\"templates\" let-isObject=\"valueIsObject\" let-isArray=\"valueIsArray\" #defaultValueTemplate>\n <ng-template #value>\n <span [innerHTML]=\"val\"></span>\n </ng-template>\n <unordered-list [data]=\"val\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path\"\n [level]=\"level + 1\"\n [templates]=\"templates\"\n *ngIf=\"(isObject || isArray); else value\"></unordered-list>\n</ng-template>\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\n <ng-template #itemKey>\n <ng-container [unorderedListItem]=\"item\"\n type=\"key\"\n [data]=\"data\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path\"\n [level]=\"level\"\n [templates]=\"templates\"\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\n </ng-template>\n <ng-template #itemValue>\n <ng-container [unorderedListItem]=\"item\"\n type=\"value\"\n [data]=\"data\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path\"\n [level]=\"level\"\n [templates]=\"templates\"\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"!isArray\">\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\n </th>\n </ng-container>\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\n </td>\n</ng-template>\n<ng-template #value>\n <span [innerHTML]=\"data\"></span>\n</ng-template>\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\n <ng-container [unorderedListItem]=\"item\"\n type=\"item\"\n [data]=\"data\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path ? path + '.' + item.key : item.key\"\n [level]=\"level\"\n [templates]=\"templates\"\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\n </li>\n </ul>\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\n <ng-container [unorderedListItem]=\"item\"\n type=\"item\"\n [data]=\"data\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path ? path + '.' + item.key : item.key\"\n [level]=\"level\"\n [templates]=\"templates\"\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\n </tr>\n </table>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: UnorderedListItemDirective, selector: "[unorderedListItem]", inputs: ["unorderedListItem", "type", "data", "keyPrefix", "listStyle", "path", "level", "templates", "defaultTemplates"] }, { kind: "component", type: UnorderedListComponent, selector: "unordered-list", inputs: ["data", "keyPrefix", "listStyle", "path", "level", "templates"] }, { kind: "pipe", type: EntriesPipe, name: "entries" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5140
5142
  }
5141
5143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UnorderedListComponent, decorators: [{
5142
5144
  type: Component,
5143
- args: [{ selector: "unordered-list", template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" let-isArray=\"isArray\" #defaultKeyTemplate>\r\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\r\n</ng-template>\r\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-val=\"item.value\" let-path=\"path\"\r\n let-templates=\"templates\" let-isObject=\"valueIsObject\" let-isArray=\"valueIsArray\" #defaultValueTemplate>\r\n <ng-template #value>\r\n <span [innerHTML]=\"val\"></span>\r\n </ng-template>\r\n <unordered-list [data]=\"val\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level + 1\"\r\n [templates]=\"templates\"\r\n *ngIf=\"(isObject || isArray); else value\"></unordered-list>\r\n</ng-template>\r\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\r\n <ng-template #itemKey>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"key\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-template #itemValue>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"value\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"!isArray\">\r\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\r\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\r\n </th>\r\n </ng-container>\r\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\r\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\r\n </td>\r\n</ng-template>\r\n<ng-template #value>\r\n <span [innerHTML]=\"data\"></span>\r\n</ng-template>\r\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\r\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\r\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </li>\r\n </ul>\r\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\r\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </tr>\r\n </table>\r\n</ng-container>\r\n" }]
5145
+ args: [{ selector: "unordered-list", template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" let-isArray=\"isArray\" #defaultKeyTemplate>\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\n</ng-template>\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-val=\"item.value\" let-path=\"path\"\n let-templates=\"templates\" let-isObject=\"valueIsObject\" let-isArray=\"valueIsArray\" #defaultValueTemplate>\n <ng-template #value>\n <span [innerHTML]=\"val\"></span>\n </ng-template>\n <unordered-list [data]=\"val\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path\"\n [level]=\"level + 1\"\n [templates]=\"templates\"\n *ngIf=\"(isObject || isArray); else value\"></unordered-list>\n</ng-template>\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\n <ng-template #itemKey>\n <ng-container [unorderedListItem]=\"item\"\n type=\"key\"\n [data]=\"data\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path\"\n [level]=\"level\"\n [templates]=\"templates\"\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\n </ng-template>\n <ng-template #itemValue>\n <ng-container [unorderedListItem]=\"item\"\n type=\"value\"\n [data]=\"data\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path\"\n [level]=\"level\"\n [templates]=\"templates\"\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"!isArray\">\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\n </th>\n </ng-container>\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\n </td>\n</ng-template>\n<ng-template #value>\n <span [innerHTML]=\"data\"></span>\n</ng-template>\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\n <ng-container [unorderedListItem]=\"item\"\n type=\"item\"\n [data]=\"data\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path ? path + '.' + item.key : item.key\"\n [level]=\"level\"\n [templates]=\"templates\"\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\n </li>\n </ul>\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\n <ng-container [unorderedListItem]=\"item\"\n type=\"item\"\n [data]=\"data\"\n [keyPrefix]=\"keyPrefix\"\n [listStyle]=\"listStyle\"\n [path]=\"path ? path + '.' + item.key : item.key\"\n [level]=\"level\"\n [templates]=\"templates\"\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\n </tr>\n </table>\n</ng-container>\n" }]
5144
5146
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { data: [{
5145
5147
  type: Input
5146
5148
  }], keyPrefix: [{
@@ -5240,11 +5242,11 @@ class PaginationMenuComponent {
5240
5242
  this.pages = pages;
5241
5243
  }
5242
5244
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationMenuComponent, deps: [{ token: StateService }, { token: PaginationDirective }, { token: ICON_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
5243
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PaginationMenuComponent, selector: "pagination-menu", inputs: { maxSize: "maxSize", urlParam: "urlParam", directionLinks: "directionLinks", boundaryLinks: "boundaryLinks" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-menu\" *ngIf=\"pagination.total > pagination.itemsPerPage\">\r\n <ul class=\"pagination\">\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"boundaryLinks\">\r\n <a class=\"page-link\" (click)=\"paginate(1)\" [innerHTML]=\"firstLabel | safe\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"directionLinks\">\r\n <a class=\"page-link\" (click)=\"paginate(pagination.page - 1)\" [innerHTML]=\"prevLabel | safe\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{active: pagination.page == page}\" *ngFor=\"let page of pages\">\r\n <a class=\"page-link\" [ngClass]=\"{active: pagination.page == page}\" (click)=\"paginate(page)\">{{ page }}</a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"directionLinks\">\r\n <a class=\"page-link\" (click)=\"paginate(pagination.page + 1)\" [innerHTML]=\"nextLabel | safe\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"boundaryLinks\">\r\n <a class=\"page-link\" (click)=\"paginate(pagination.maxPage)\" [innerHTML]=\"lastLabel | safe\"></a>\r\n </li>\r\n </ul>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safe" }] }); }
5245
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PaginationMenuComponent, selector: "pagination-menu", inputs: { maxSize: "maxSize", urlParam: "urlParam", directionLinks: "directionLinks", boundaryLinks: "boundaryLinks" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-menu\" *ngIf=\"pagination.total > pagination.itemsPerPage\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"boundaryLinks\">\n <a class=\"page-link\" (click)=\"paginate(1)\" [innerHTML]=\"firstLabel | safe\"></a>\n </li>\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"directionLinks\">\n <a class=\"page-link\" (click)=\"paginate(pagination.page - 1)\" [innerHTML]=\"prevLabel | safe\"></a>\n </li>\n <li class=\"page-item\" [ngClass]=\"{active: pagination.page == page}\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" [ngClass]=\"{active: pagination.page == page}\" (click)=\"paginate(page)\">{{ page }}</a>\n </li>\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"directionLinks\">\n <a class=\"page-link\" (click)=\"paginate(pagination.page + 1)\" [innerHTML]=\"nextLabel | safe\"></a>\n </li>\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"boundaryLinks\">\n <a class=\"page-link\" (click)=\"paginate(pagination.maxPage)\" [innerHTML]=\"lastLabel | safe\"></a>\n </li>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SafeHtmlPipe, name: "safe" }] }); }
5244
5246
  }
5245
5247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PaginationMenuComponent, decorators: [{
5246
5248
  type: Component,
5247
- args: [{ selector: "pagination-menu", template: "<div class=\"pagination-menu\" *ngIf=\"pagination.total > pagination.itemsPerPage\">\r\n <ul class=\"pagination\">\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"boundaryLinks\">\r\n <a class=\"page-link\" (click)=\"paginate(1)\" [innerHTML]=\"firstLabel | safe\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"directionLinks\">\r\n <a class=\"page-link\" (click)=\"paginate(pagination.page - 1)\" [innerHTML]=\"prevLabel | safe\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{active: pagination.page == page}\" *ngFor=\"let page of pages\">\r\n <a class=\"page-link\" [ngClass]=\"{active: pagination.page == page}\" (click)=\"paginate(page)\">{{ page }}</a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"directionLinks\">\r\n <a class=\"page-link\" (click)=\"paginate(pagination.page + 1)\" [innerHTML]=\"nextLabel | safe\"></a>\r\n </li>\r\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"boundaryLinks\">\r\n <a class=\"page-link\" (click)=\"paginate(pagination.maxPage)\" [innerHTML]=\"lastLabel | safe\"></a>\r\n </li>\r\n </ul>\r\n</div>\r\n" }]
5249
+ args: [{ selector: "pagination-menu", template: "<div class=\"pagination-menu\" *ngIf=\"pagination.total > pagination.itemsPerPage\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"boundaryLinks\">\n <a class=\"page-link\" (click)=\"paginate(1)\" [innerHTML]=\"firstLabel | safe\"></a>\n </li>\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasPrev}\" *ngIf=\"directionLinks\">\n <a class=\"page-link\" (click)=\"paginate(pagination.page - 1)\" [innerHTML]=\"prevLabel | safe\"></a>\n </li>\n <li class=\"page-item\" [ngClass]=\"{active: pagination.page == page}\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" [ngClass]=\"{active: pagination.page == page}\" (click)=\"paginate(page)\">{{ page }}</a>\n </li>\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"directionLinks\">\n <a class=\"page-link\" (click)=\"paginate(pagination.page + 1)\" [innerHTML]=\"nextLabel | safe\"></a>\n </li>\n <li class=\"page-item\" [ngClass]=\"{disabled: !hasNext}\" *ngIf=\"boundaryLinks\">\n <a class=\"page-link\" (click)=\"paginate(pagination.maxPage)\" [innerHTML]=\"lastLabel | safe\"></a>\n </li>\n </ul>\n</div>\n" }]
5248
5250
  }], ctorParameters: () => [{ type: StateService }, { type: PaginationDirective }, { type: undefined, decorators: [{
5249
5251
  type: Inject,
5250
5252
  args: [ICON_SERVICE]
@@ -5381,11 +5383,11 @@ class DynamicTableComponent {
5381
5383
  });
5382
5384
  }
5383
5385
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DynamicTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5384
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DynamicTableComponent, selector: "dynamic-table", inputs: { label: "label", placeholder: "placeholder", dataLoader: "dataLoader", data: "data", page: "page", urlParam: "urlParam", parallelData: "parallelData", columns: "columns", showFilter: "showFilter", itemsPerPage: "itemsPerPage", updateTime: "updateTime", filterTime: "filterTime", maxPages: "maxPages", directionLinks: "directionLinks", boundaryLinks: "boundaryLinks", orderBy: "orderBy", orderDescending: "orderDescending", testId: "testId", titlePrefix: "titlePrefix" }, queries: [{ propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true, static: true }, { propertyName: "wrapperTemplate", first: true, predicate: ["wrapperTemplate"], descendants: true, static: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true, static: true }, { propertyName: "templateDirectives", predicate: DynamicTableTemplateDirective }], viewQueries: [{ propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }, { propertyName: "defaultRowTemplate", first: true, predicate: ["defaultRowTemplate"], descendants: true, static: true }, { propertyName: "defaultWrapperTemplate", first: true, predicate: ["defaultWrapperTemplate"], descendants: true, static: true }, { propertyName: "defaultFilterTemplate", first: true, predicate: ["defaultFilterTemplate"], descendants: true, static: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"dynamic-table\" #pagination=\"pagination\" [pagination]=\"loadData\" [page]=\"page\" [itemsPerPage]=\"itemsPerPage\" [updateTime]=\"updateTime\">\r\n <ng-template #defaultFilterTemplate let-table>\r\n <div class=\"table-search\" *ngIf=\"table.showFilter\">\r\n <label *ngIf=\"label\" [attr.for]=\"tableId\">{{ label | translate }}</label>\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n [attr.id]=\"tableId\"\r\n [attr.data-testid]=\"testId + '-filter-input'\"\r\n [placeholder]=\"placeholder | translate\"\r\n [ngModel]=\"table.filter\"\r\n (ngModelChange)=\"table.setFilter($event)\"/>\r\n </div>\r\n </ng-template>\r\n <ng-container [ngxTemplateOutlet]=\"filterTemplate || defaultFilterTemplate\" [context]=\"this\"></ng-container>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n <div class=\"table-responsive\">\r\n <ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\r\n <ng-template #defaultTemplate let-column=\"column\" let-item=\"item\">\r\n <span>{{ item[column] == undefined || item[column] == null ? '-' : item[column] }}</span>\r\n </ng-template>\r\n <ng-template #pureTemplate>\r\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\r\n </ng-template>\r\n <td [ngClass]=\"'column-' + column\"\r\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\" *ngIf=\"!template || !template.pure; else pureTemplate\">\r\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\" [context]=\"context\"></ng-container>\r\n </td>\r\n </ng-template>\r\n\r\n <ng-template #columnsTemplate let-context>\r\n <ng-container *ngFor=\"let column of cols\"\r\n [ngxTemplateOutlet]=\"columnTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"{\r\n template: templates[column],\r\n column: column\r\n }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template #defaultRowTemplate let-context>\r\n <tr>\r\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\" [context]=\"context\"></ng-container>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template #defaultWrapperTemplate>\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"'column-' + column\">\r\n <ng-template #defaultCol>\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n </ng-template>\r\n <a *ngIf=\"realColumns[column].sort; else defaultCol\" (click)=\"setOrder(column)\">\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n <i *ngIf=\"orderBy == column\"\r\n [icon]=\"orderDescending ? 'sort-desc' : 'sort-asc'\"\r\n [ngClass]=\"orderBy == column ? (orderDescending ? 'sort-desc': 'sort-asc') : ''\"></i>\r\n </a>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"hasQuery\">\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"['column-' + column, 'filter-column']\">\r\n <ng-container *ngIf=\"realColumns[column].filter\">\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [placeholder]=\"realColumns[column].title | translate\"\r\n [ngModel]=\"query[column]\"\r\n (ngModelChange)=\"updateQuery(column, $event)\"/>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *paginationItem=\"let context\"\r\n [ngxTemplateOutlet]=\"rowTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"this\"></ng-container>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n\r\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [context]=\"this\"></ng-container>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IconDirective, selector: "[icon]", inputs: ["icon", "activeIcon", "active"], outputs: ["activeChange"] }, { kind: "directive", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "directive", type: PaginationDirective, selector: "[pagination]", inputs: ["pagination", "page", "itemsPerPage", "updateTime", "waitFor"], outputs: ["pageChange", "onRefresh"], exportAs: ["pagination"] }, { kind: "directive", type: PaginationItemDirective, selector: "[paginationItem]" }, { kind: "component", type: PaginationMenuComponent, selector: "pagination-menu", inputs: ["maxSize", "urlParam", "directionLinks", "boundaryLinks"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5386
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DynamicTableComponent, selector: "dynamic-table", inputs: { label: "label", placeholder: "placeholder", dataLoader: "dataLoader", data: "data", page: "page", urlParam: "urlParam", parallelData: "parallelData", columns: "columns", showFilter: "showFilter", itemsPerPage: "itemsPerPage", updateTime: "updateTime", filterTime: "filterTime", maxPages: "maxPages", directionLinks: "directionLinks", boundaryLinks: "boundaryLinks", orderBy: "orderBy", orderDescending: "orderDescending", testId: "testId", titlePrefix: "titlePrefix" }, queries: [{ propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true, static: true }, { propertyName: "wrapperTemplate", first: true, predicate: ["wrapperTemplate"], descendants: true, static: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true, static: true }, { propertyName: "templateDirectives", predicate: DynamicTableTemplateDirective }], viewQueries: [{ propertyName: "columnsTemplate", first: true, predicate: ["columnsTemplate"], descendants: true, static: true }, { propertyName: "defaultRowTemplate", first: true, predicate: ["defaultRowTemplate"], descendants: true, static: true }, { propertyName: "defaultWrapperTemplate", first: true, predicate: ["defaultWrapperTemplate"], descendants: true, static: true }, { propertyName: "defaultFilterTemplate", first: true, predicate: ["defaultFilterTemplate"], descendants: true, static: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"dynamic-table\" #pagination=\"pagination\" [pagination]=\"loadData\" [page]=\"page\" [itemsPerPage]=\"itemsPerPage\" [updateTime]=\"updateTime\">\n <ng-template #defaultFilterTemplate let-table>\n <div class=\"table-search\" *ngIf=\"table.showFilter\">\n <label *ngIf=\"label\" [attr.for]=\"tableId\">{{ label | translate }}</label>\n <input type=\"text\"\n class=\"form-control\"\n [attr.id]=\"tableId\"\n [attr.data-testid]=\"testId + '-filter-input'\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"table.filter\"\n (ngModelChange)=\"table.setFilter($event)\"/>\n </div>\n </ng-template>\n <ng-container [ngxTemplateOutlet]=\"filterTemplate || defaultFilterTemplate\" [context]=\"this\"></ng-container>\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\n <div class=\"table-responsive\">\n <ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\n <ng-template #defaultTemplate let-column=\"column\" let-item=\"item\">\n <span>{{ item[column] == undefined || item[column] == null ? '-' : item[column] }}</span>\n </ng-template>\n <ng-template #pureTemplate>\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\n </ng-template>\n <td [ngClass]=\"'column-' + column\"\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\" *ngIf=\"!template || !template.pure; else pureTemplate\">\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\" [context]=\"context\"></ng-container>\n </td>\n </ng-template>\n\n <ng-template #columnsTemplate let-context>\n <ng-container *ngFor=\"let column of cols\"\n [ngxTemplateOutlet]=\"columnTemplate\"\n [context]=\"context\"\n [additionalContext]=\"{\n template: templates[column],\n column: column\n }\"></ng-container>\n </ng-template>\n\n <ng-template #defaultRowTemplate let-context>\n <tr>\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\" [context]=\"context\"></ng-container>\n </tr>\n </ng-template>\n\n <ng-template #defaultWrapperTemplate>\n <table class=\"table table-striped\">\n <thead>\n <tr>\n <th *ngFor=\"let column of cols\" [ngClass]=\"'column-' + column\">\n <ng-template #defaultCol>\n <span>{{ realColumns[column].title | translate }}</span>\n </ng-template>\n <a *ngIf=\"realColumns[column].sort; else defaultCol\" (click)=\"setOrder(column)\">\n <span>{{ realColumns[column].title | translate }}</span>\n <i *ngIf=\"orderBy == column\"\n [icon]=\"orderDescending ? 'sort-desc' : 'sort-asc'\"\n [ngClass]=\"orderBy == column ? (orderDescending ? 'sort-desc': 'sort-asc') : ''\"></i>\n </a>\n </th>\n </tr>\n <tr *ngIf=\"hasQuery\">\n <th *ngFor=\"let column of cols\" [ngClass]=\"['column-' + column, 'filter-column']\">\n <ng-container *ngIf=\"realColumns[column].filter\">\n <input type=\"text\"\n class=\"form-control\"\n [attr.data-testid]=\"testId + '-filter-' + column\"\n [placeholder]=\"realColumns[column].title | translate\"\n [ngModel]=\"query[column]\"\n (ngModelChange)=\"updateQuery(column, $event)\"/>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *paginationItem=\"let context\"\n [ngxTemplateOutlet]=\"rowTemplate\"\n [context]=\"context\"\n [additionalContext]=\"this\"></ng-container>\n </tbody>\n </table>\n </ng-template>\n\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\n [context]=\"this\"></ng-container>\n </div>\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\n</div>\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: IconDirective, selector: "[icon]", inputs: ["icon", "activeIcon", "active"], outputs: ["activeChange"] }, { kind: "directive", type: NgxTemplateOutletDirective, selector: "[ngxTemplateOutlet]", inputs: ["context", "additionalContext", "ngxTemplateOutlet"] }, { kind: "directive", type: PaginationDirective, selector: "[pagination]", inputs: ["pagination", "page", "itemsPerPage", "updateTime", "waitFor"], outputs: ["pageChange", "onRefresh"], exportAs: ["pagination"] }, { kind: "directive", type: PaginationItemDirective, selector: "[paginationItem]" }, { kind: "component", type: PaginationMenuComponent, selector: "pagination-menu", inputs: ["maxSize", "urlParam", "directionLinks", "boundaryLinks"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5385
5387
  }
5386
5388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DynamicTableComponent, decorators: [{
5387
5389
  type: Component,
5388
- args: [{ selector: "dynamic-table", template: "<div class=\"dynamic-table\" #pagination=\"pagination\" [pagination]=\"loadData\" [page]=\"page\" [itemsPerPage]=\"itemsPerPage\" [updateTime]=\"updateTime\">\r\n <ng-template #defaultFilterTemplate let-table>\r\n <div class=\"table-search\" *ngIf=\"table.showFilter\">\r\n <label *ngIf=\"label\" [attr.for]=\"tableId\">{{ label | translate }}</label>\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n [attr.id]=\"tableId\"\r\n [attr.data-testid]=\"testId + '-filter-input'\"\r\n [placeholder]=\"placeholder | translate\"\r\n [ngModel]=\"table.filter\"\r\n (ngModelChange)=\"table.setFilter($event)\"/>\r\n </div>\r\n </ng-template>\r\n <ng-container [ngxTemplateOutlet]=\"filterTemplate || defaultFilterTemplate\" [context]=\"this\"></ng-container>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n <div class=\"table-responsive\">\r\n <ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\r\n <ng-template #defaultTemplate let-column=\"column\" let-item=\"item\">\r\n <span>{{ item[column] == undefined || item[column] == null ? '-' : item[column] }}</span>\r\n </ng-template>\r\n <ng-template #pureTemplate>\r\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\r\n </ng-template>\r\n <td [ngClass]=\"'column-' + column\"\r\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\" *ngIf=\"!template || !template.pure; else pureTemplate\">\r\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\" [context]=\"context\"></ng-container>\r\n </td>\r\n </ng-template>\r\n\r\n <ng-template #columnsTemplate let-context>\r\n <ng-container *ngFor=\"let column of cols\"\r\n [ngxTemplateOutlet]=\"columnTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"{\r\n template: templates[column],\r\n column: column\r\n }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template #defaultRowTemplate let-context>\r\n <tr>\r\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\" [context]=\"context\"></ng-container>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template #defaultWrapperTemplate>\r\n <table class=\"table table-striped\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"'column-' + column\">\r\n <ng-template #defaultCol>\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n </ng-template>\r\n <a *ngIf=\"realColumns[column].sort; else defaultCol\" (click)=\"setOrder(column)\">\r\n <span>{{ realColumns[column].title | translate }}</span>\r\n <i *ngIf=\"orderBy == column\"\r\n [icon]=\"orderDescending ? 'sort-desc' : 'sort-asc'\"\r\n [ngClass]=\"orderBy == column ? (orderDescending ? 'sort-desc': 'sort-asc') : ''\"></i>\r\n </a>\r\n </th>\r\n </tr>\r\n <tr *ngIf=\"hasQuery\">\r\n <th *ngFor=\"let column of cols\" [ngClass]=\"['column-' + column, 'filter-column']\">\r\n <ng-container *ngIf=\"realColumns[column].filter\">\r\n <input type=\"text\"\r\n class=\"form-control\"\r\n [attr.data-testid]=\"testId + '-filter-' + column\"\r\n [placeholder]=\"realColumns[column].title | translate\"\r\n [ngModel]=\"query[column]\"\r\n (ngModelChange)=\"updateQuery(column, $event)\"/>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *paginationItem=\"let context\"\r\n [ngxTemplateOutlet]=\"rowTemplate\"\r\n [context]=\"context\"\r\n [additionalContext]=\"this\"></ng-container>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n\r\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\r\n [context]=\"this\"></ng-container>\r\n </div>\r\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\r\n</div>\r\n" }]
5390
+ args: [{ selector: "dynamic-table", template: "<div class=\"dynamic-table\" #pagination=\"pagination\" [pagination]=\"loadData\" [page]=\"page\" [itemsPerPage]=\"itemsPerPage\" [updateTime]=\"updateTime\">\n <ng-template #defaultFilterTemplate let-table>\n <div class=\"table-search\" *ngIf=\"table.showFilter\">\n <label *ngIf=\"label\" [attr.for]=\"tableId\">{{ label | translate }}</label>\n <input type=\"text\"\n class=\"form-control\"\n [attr.id]=\"tableId\"\n [attr.data-testid]=\"testId + '-filter-input'\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"table.filter\"\n (ngModelChange)=\"table.setFilter($event)\"/>\n </div>\n </ng-template>\n <ng-container [ngxTemplateOutlet]=\"filterTemplate || defaultFilterTemplate\" [context]=\"this\"></ng-container>\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\n <div class=\"table-responsive\">\n <ng-template #columnTemplate let-context let-column=\"column\" let-template=\"template\">\n <ng-template #defaultTemplate let-column=\"column\" let-item=\"item\">\n <span>{{ item[column] == undefined || item[column] == null ? '-' : item[column] }}</span>\n </ng-template>\n <ng-template #pureTemplate>\n <ng-container [ngxTemplateOutlet]=\"template.ref\" [context]=\"context\"></ng-container>\n </ng-template>\n <td [ngClass]=\"'column-' + column\"\n [attr.data-testid]=\"testId + '-' + column + '-' + context.rowIndex\" *ngIf=\"!template || !template.pure; else pureTemplate\">\n <ng-container [ngxTemplateOutlet]=\"!template ? defaultTemplate : template.ref\" [context]=\"context\"></ng-container>\n </td>\n </ng-template>\n\n <ng-template #columnsTemplate let-context>\n <ng-container *ngFor=\"let column of cols\"\n [ngxTemplateOutlet]=\"columnTemplate\"\n [context]=\"context\"\n [additionalContext]=\"{\n template: templates[column],\n column: column\n }\"></ng-container>\n </ng-template>\n\n <ng-template #defaultRowTemplate let-context>\n <tr>\n <ng-container [ngxTemplateOutlet]=\"columnsTemplate\" [context]=\"context\"></ng-container>\n </tr>\n </ng-template>\n\n <ng-template #defaultWrapperTemplate>\n <table class=\"table table-striped\">\n <thead>\n <tr>\n <th *ngFor=\"let column of cols\" [ngClass]=\"'column-' + column\">\n <ng-template #defaultCol>\n <span>{{ realColumns[column].title | translate }}</span>\n </ng-template>\n <a *ngIf=\"realColumns[column].sort; else defaultCol\" (click)=\"setOrder(column)\">\n <span>{{ realColumns[column].title | translate }}</span>\n <i *ngIf=\"orderBy == column\"\n [icon]=\"orderDescending ? 'sort-desc' : 'sort-asc'\"\n [ngClass]=\"orderBy == column ? (orderDescending ? 'sort-desc': 'sort-asc') : ''\"></i>\n </a>\n </th>\n </tr>\n <tr *ngIf=\"hasQuery\">\n <th *ngFor=\"let column of cols\" [ngClass]=\"['column-' + column, 'filter-column']\">\n <ng-container *ngIf=\"realColumns[column].filter\">\n <input type=\"text\"\n class=\"form-control\"\n [attr.data-testid]=\"testId + '-filter-' + column\"\n [placeholder]=\"realColumns[column].title | translate\"\n [ngModel]=\"query[column]\"\n (ngModelChange)=\"updateQuery(column, $event)\"/>\n </ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *paginationItem=\"let context\"\n [ngxTemplateOutlet]=\"rowTemplate\"\n [context]=\"context\"\n [additionalContext]=\"this\"></ng-container>\n </tbody>\n </table>\n </ng-template>\n\n <ng-container [ngxTemplateOutlet]=\"wrapperTemplate || defaultWrapperTemplate\"\n [context]=\"this\"></ng-container>\n </div>\n <pagination-menu [urlParam]=\"urlParam\" [maxSize]=\"maxPages\" [directionLinks]=\"directionLinks\" [boundaryLinks]=\"boundaryLinks\"></pagination-menu>\n</div>\n" }]
5389
5391
  }], ctorParameters: () => [], propDecorators: { label: [{
5390
5392
  type: Input
5391
5393
  }], placeholder: [{