@alauda-fe/common 1.3.0 → 1.3.1

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 (508) hide show
  1. package/api/helpers.d.ts +8 -16
  2. package/array-form-table/form/component.d.ts +1 -1
  3. package/business/resource-select/internals/namespace-list/component.d.ts +3 -1
  4. package/business/resource-select/module.d.ts +2 -1
  5. package/core/components/tree/toggle.d.ts +3 -3
  6. package/core/constants/constants.d.ts +4 -1
  7. package/core/constants/patterns.d.ts +8 -0
  8. package/core/constants/status-icons.d.ts +2 -1
  9. package/core/services/encode-url-param.interceptor.d.ts +12 -0
  10. package/core/services/public-api.d.ts +1 -0
  11. package/core/services/time.service.d.ts +1 -0
  12. package/core/types/k8s/crd.d.ts +11 -5
  13. package/core/types/k8s/raw.d.ts +25 -38
  14. package/core/types/resource-definitions.d.ts +57 -71
  15. package/core/utils/common.d.ts +5 -11
  16. package/core/utils/disabled-state.d.ts +20 -0
  17. package/core/utils/public-api.d.ts +2 -0
  18. package/core/utils/workload.d.ts +66 -0
  19. package/esm2022/abnormal-page/abnormal-page.component.mjs +5 -4
  20. package/esm2022/abnormal-page/abnormal-page.module.mjs +2 -2
  21. package/esm2022/api/acp-common-api.service.mjs +3 -3
  22. package/esm2022/api/api-compatible.interceptor.mjs +1 -1
  23. package/esm2022/api/api-gateway.interceptor.mjs +3 -3
  24. package/esm2022/api/api-gateway.service.mjs +2 -2
  25. package/esm2022/api/cluster-version.service.mjs +3 -3
  26. package/esm2022/api/crypto.interceptor.mjs +4 -4
  27. package/esm2022/api/helpers.mjs +1 -1
  28. package/esm2022/api/k8s-api-resource.service.mjs +4 -4
  29. package/esm2022/api/k8s-api.service.mjs +6 -6
  30. package/esm2022/api/page-visibility.service.mjs +2 -2
  31. package/esm2022/api/platform-ui.service.mjs +2 -2
  32. package/esm2022/api/product.service.mjs +3 -3
  33. package/esm2022/api/project-api.service.mjs +3 -3
  34. package/esm2022/api/resource-update.service.mjs +3 -3
  35. package/esm2022/array-form-table/base-string-map-form.component.mjs +3 -3
  36. package/esm2022/array-form-table/form/component.mjs +104 -111
  37. package/esm2022/array-form-table/form/module.mjs +2 -2
  38. package/esm2022/array-form-table/key-value-form/component.mjs +53 -58
  39. package/esm2022/array-form-table/key-value-table/component.mjs +7 -7
  40. package/esm2022/array-form-table/string-array-form/component.mjs +48 -52
  41. package/esm2022/async-data/async-data-loader.mjs +1 -1
  42. package/esm2022/async-data/async-data.module.mjs +2 -2
  43. package/esm2022/async-data/error-page/component.mjs +21 -22
  44. package/esm2022/async-data/page-state/component.mjs +16 -15
  45. package/esm2022/authorization/app-init-url.mjs +1 -1
  46. package/esm2022/authorization/guard.service.mjs +4 -4
  47. package/esm2022/authorization/interceptor.service.mjs +4 -4
  48. package/esm2022/authorization/session-manage.service.mjs +5 -5
  49. package/esm2022/authorization/state.service.mjs +2 -2
  50. package/esm2022/authorization/storage-token.mjs +2 -2
  51. package/esm2022/business/module-info/api.service.mjs +3 -3
  52. package/esm2022/business/notification-disabled-container/component.mjs +14 -14
  53. package/esm2022/business/resource-select/base-list.mjs +3 -3
  54. package/esm2022/business/resource-select/context.service.mjs +3 -3
  55. package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +22 -20
  56. package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +22 -20
  57. package/esm2022/business/resource-select/exports/namespace-page/component.mjs +6 -5
  58. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +37 -35
  59. package/esm2022/business/resource-select/exports/project-page/component.mjs +6 -5
  60. package/esm2022/business/resource-select/exports/project-selector/component.mjs +23 -22
  61. package/esm2022/business/resource-select/helpers.directive.mjs +2 -2
  62. package/esm2022/business/resource-select/internals/cluster-list/component.mjs +7 -6
  63. package/esm2022/business/resource-select/internals/data-grid/component.mjs +173 -176
  64. package/esm2022/business/resource-select/internals/icon/component.mjs +3 -2
  65. package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +5 -4
  66. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +145 -100
  67. package/esm2022/business/resource-select/internals/no-data/component.mjs +12 -14
  68. package/esm2022/business/resource-select/internals/project-list/component.mjs +5 -4
  69. package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +7 -6
  70. package/esm2022/business/resource-select/internals/selector-popup/component.mjs +6 -5
  71. package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +1 -1
  72. package/esm2022/business/resource-select/internals/selector-popup/service.mjs +3 -3
  73. package/esm2022/business/resource-select/module.mjs +17 -14
  74. package/esm2022/business/resource-select/project.service.mjs +3 -3
  75. package/esm2022/business/resource-select/utils.mjs +1 -1
  76. package/esm2022/chart/chart.module.mjs +2 -2
  77. package/esm2022/chart/chart.service.mjs +4 -4
  78. package/esm2022/chart/common/axis/axis-label.component.mjs +4 -3
  79. package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +27 -27
  80. package/esm2022/chart/common/axis/x-axis.component.mjs +6 -5
  81. package/esm2022/chart/common/axis/x-plot-lines.component.mjs +7 -6
  82. package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +35 -35
  83. package/esm2022/chart/common/axis/y-axis.component.mjs +9 -8
  84. package/esm2022/chart/common/axis/y-plot-lines.component.mjs +6 -5
  85. package/esm2022/chart/common/chart/chart.component.mjs +41 -43
  86. package/esm2022/chart/common/legend/legend.component.mjs +62 -65
  87. package/esm2022/chart/common/range-area/range-area.component.mjs +13 -11
  88. package/esm2022/chart/common/reference-area/reference-area.component.mjs +4 -3
  89. package/esm2022/chart/common/series/area-series.component.mjs +15 -14
  90. package/esm2022/chart/common/series/bar-path.component.mjs +20 -21
  91. package/esm2022/chart/common/series/bar-series.component.mjs +8 -7
  92. package/esm2022/chart/common/series/line-series.component.mjs +7 -6
  93. package/esm2022/chart/common/series/series.component.mjs +3 -3
  94. package/esm2022/chart/common/tooltip/tooltip.component.mjs +73 -81
  95. package/esm2022/chart/custom-template/dropdown-legend.mjs +23 -25
  96. package/esm2022/chart/utils.mjs +1 -1
  97. package/esm2022/code/code-display-dialog/component.mjs +9 -8
  98. package/esm2022/code/code-editor-configs.mjs +2 -2
  99. package/esm2022/code/code.module.mjs +2 -2
  100. package/esm2022/code/k8s-yaml-display-dialog/component.mjs +9 -8
  101. package/esm2022/code/resource-yaml-display/component.mjs +21 -22
  102. package/esm2022/core/abstract/base-form-container.mjs +3 -3
  103. package/esm2022/core/abstract/base-nested-form-control.mjs +5 -5
  104. package/esm2022/core/components/tree/module.mjs +2 -2
  105. package/esm2022/core/components/tree/node/component.mjs +7 -6
  106. package/esm2022/core/components/tree/outlet.mjs +4 -4
  107. package/esm2022/core/components/tree/padding.mjs +6 -6
  108. package/esm2022/core/components/tree/toggle.mjs +9 -9
  109. package/esm2022/core/components/tree/tree/component.mjs +4 -3
  110. package/esm2022/core/constants/constants.mjs +4 -1
  111. package/esm2022/core/constants/patterns.mjs +10 -1
  112. package/esm2022/core/constants/status-icons.mjs +2 -1
  113. package/esm2022/core/constants/tokens.mjs +1 -1
  114. package/esm2022/core/directives/aui-code-editor.directive.mjs +3 -3
  115. package/esm2022/core/directives/click-outside.directive.mjs +4 -4
  116. package/esm2022/core/directives/declare.directive.mjs +2 -2
  117. package/esm2022/core/directives/disabled.directive.mjs +4 -4
  118. package/esm2022/core/directives/feature-gate.directive.mjs +4 -4
  119. package/esm2022/core/directives/intercept-deactivate.directive.mjs +4 -4
  120. package/esm2022/core/directives/last-form-item.directive.mjs +3 -3
  121. package/esm2022/core/directives/page-header-content.directive.mjs +3 -3
  122. package/esm2022/core/directives/readonly-field.directive.mjs +8 -7
  123. package/esm2022/core/directives/resize.directive.mjs +3 -3
  124. package/esm2022/core/directives/scroll-border-observer.directive.mjs +4 -4
  125. package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +5 -5
  126. package/esm2022/core/guards/feature.guard.mjs +4 -4
  127. package/esm2022/core/guards/intercept-deactivate.guard.mjs +3 -3
  128. package/esm2022/core/guards/leave-edit-page.guard.mjs +3 -3
  129. package/esm2022/core/guards/project-namespace.guard.mjs +5 -5
  130. package/esm2022/core/module.mjs +2 -2
  131. package/esm2022/core/pipes/calc.pipe.mjs +2 -2
  132. package/esm2022/core/pipes/cron-human-readable.pipe.mjs +2 -2
  133. package/esm2022/core/pipes/crontab-next.pipe.mjs +3 -3
  134. package/esm2022/core/pipes/duration.pipe.mjs +3 -3
  135. package/esm2022/core/pipes/field-not-available.pipe.mjs +2 -2
  136. package/esm2022/core/pipes/img-header.pipe.mjs +2 -2
  137. package/esm2022/core/pipes/img-theme.pipe.mjs +3 -3
  138. package/esm2022/core/pipes/k8s-util.pipe.mjs +24 -24
  139. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -2
  140. package/esm2022/core/pipes/keyvalue.pipe.mjs +3 -3
  141. package/esm2022/core/pipes/marked.pipe.mjs +2 -2
  142. package/esm2022/core/pipes/minimum-format.pipe.mjs +3 -3
  143. package/esm2022/core/pipes/page-env.pipe.mjs +5 -5
  144. package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -3
  145. package/esm2022/core/pipes/parse-json.pipe.mjs +2 -2
  146. package/esm2022/core/pipes/pure.pipe.mjs +2 -2
  147. package/esm2022/core/pipes/pure.pipe.module.mjs +2 -2
  148. package/esm2022/core/pipes/safe.pipe.mjs +3 -3
  149. package/esm2022/core/pipes/sanitize.pipe.mjs +3 -3
  150. package/esm2022/core/pipes/time.pipe.mjs +9 -9
  151. package/esm2022/core/pipes/timezone-display.pipe.mjs +2 -2
  152. package/esm2022/core/services/aui-paginator-intl.service.mjs +3 -3
  153. package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +3 -3
  154. package/esm2022/core/services/context.service.mjs +4 -4
  155. package/esm2022/core/services/custom-code-editor-intl.service.mjs +3 -3
  156. package/esm2022/core/services/encode-url-param.interceptor.mjs +32 -0
  157. package/esm2022/core/services/feature-gate.service.mjs +3 -3
  158. package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +3 -3
  159. package/esm2022/core/services/intercept-deactivate.service.mjs +3 -3
  160. package/esm2022/core/services/k8s-util.service.mjs +3 -3
  161. package/esm2022/core/services/on-resize.service.mjs +5 -5
  162. package/esm2022/core/services/public-api.mjs +2 -1
  163. package/esm2022/core/services/silently-navigate.service.mjs +3 -3
  164. package/esm2022/core/services/time.service.mjs +4 -3
  165. package/esm2022/core/services/ui-state.service.mjs +2 -2
  166. package/esm2022/core/services/workspace-helper.service.mjs +2 -2
  167. package/esm2022/core/services/yaml-util.service.mjs +4 -4
  168. package/esm2022/core/types/k8s/crd.mjs +1 -1
  169. package/esm2022/core/types/k8s/raw.mjs +1 -1
  170. package/esm2022/core/types/resource-definitions.mjs +42 -65
  171. package/esm2022/core/utils/cache-store.mjs +1 -1
  172. package/esm2022/core/utils/common.mjs +3 -2
  173. package/esm2022/core/utils/create-recursive-filter.mjs +1 -1
  174. package/esm2022/core/utils/cron-util.mjs +1 -1
  175. package/esm2022/core/utils/decorators.mjs +1 -1
  176. package/esm2022/core/utils/disabled-state.mjs +47 -0
  177. package/esm2022/core/utils/format-number.mjs +1 -1
  178. package/esm2022/core/utils/k8s-util.mjs +1 -1
  179. package/esm2022/core/utils/observable.mjs +1 -1
  180. package/esm2022/core/utils/operators.mjs +1 -1
  181. package/esm2022/core/utils/public-api.mjs +3 -1
  182. package/esm2022/core/utils/request-pool.mjs +1 -1
  183. package/esm2022/core/utils/resources.mjs +1 -1
  184. package/esm2022/core/utils/sort-fn.mjs +1 -1
  185. package/esm2022/core/utils/tree.mjs +1 -1
  186. package/esm2022/core/utils/unit.mjs +1 -1
  187. package/esm2022/core/utils/version.mjs +1 -1
  188. package/esm2022/core/utils/workload.mjs +183 -0
  189. package/esm2022/core/utils/workspace.mjs +1 -1
  190. package/esm2022/core/utils/yaml.mjs +1 -1
  191. package/esm2022/custom-columns-setting/component.mjs +30 -23
  192. package/esm2022/disabled-container/disabled-container.component.mjs +4 -3
  193. package/esm2022/disabled-container/disabled-container.module.mjs +2 -2
  194. package/esm2022/editable-text/component.mjs +14 -12
  195. package/esm2022/editable-text/module.mjs +2 -2
  196. package/esm2022/effect-directive/coerce-number.directive.mjs +4 -4
  197. package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +3 -3
  198. package/esm2022/effect-directive/event.directive.mjs +3 -3
  199. package/esm2022/effect-directive/min-max.directive.mjs +3 -3
  200. package/esm2022/effect-directive/module.mjs +2 -2
  201. package/esm2022/effect-directive/trim.directive.mjs +3 -3
  202. package/esm2022/effect-directive/validators.directive.mjs +3 -3
  203. package/esm2022/exec/module.mjs +2 -2
  204. package/esm2022/exec/placeholder/component.mjs +4 -3
  205. package/esm2022/exec/service.mjs +3 -3
  206. package/esm2022/exec/terminal/component.mjs +77 -69
  207. package/esm2022/exec/terminal-group/component.mjs +42 -44
  208. package/esm2022/feature-gate-forbidden/component/component.mjs +9 -8
  209. package/esm2022/feature-gate-forbidden/module.mjs +2 -2
  210. package/esm2022/form/directives/value-trace.directive.mjs +4 -4
  211. package/esm2022/form/errors-mapper/base-errors-mapper.mjs +3 -3
  212. package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +3 -3
  213. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +6 -5
  214. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +7 -6
  215. package/esm2022/form/errors-mapper/errors-mapper.module.mjs +2 -2
  216. package/esm2022/form/labels-editor/component.mjs +36 -36
  217. package/esm2022/form/taints-editor/component.mjs +42 -42
  218. package/esm2022/form/upload-file/component.mjs +9 -7
  219. package/esm2022/form/utils.mjs +1 -1
  220. package/esm2022/form/validators/async-function-validator.directive.mjs +4 -3
  221. package/esm2022/form/validators/dns1123-subdomain.mjs +1 -1
  222. package/esm2022/form/validators/function-validator.directive.mjs +4 -3
  223. package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +9 -7
  224. package/esm2022/form/validators/module.mjs +7 -8
  225. package/esm2022/form/validators/not-be-validator.directive.mjs +4 -3
  226. package/esm2022/form/validators/one-of-validator.directive.mjs +4 -3
  227. package/esm2022/form/validators/resource-limit.mjs +1 -1
  228. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +30 -28
  229. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +3 -3
  230. package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +6 -7
  231. package/esm2022/form/validators/utils.mjs +1 -1
  232. package/esm2022/graph-canvas/components/graph-actions.component.mjs +3 -2
  233. package/esm2022/graph-canvas/components/graph-canvas.component.mjs +25 -23
  234. package/esm2022/graph-canvas/components/graph-link.component.mjs +12 -13
  235. package/esm2022/graph-canvas/components/graph-links.component.mjs +3 -2
  236. package/esm2022/graph-canvas/components/graph-node.directive.mjs +4 -4
  237. package/esm2022/graph-canvas/graph-canvas.module.mjs +2 -2
  238. package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
  239. package/esm2022/grid-layout/components/grid/component.mjs +5 -4
  240. package/esm2022/grid-layout/components/grid-items/component.mjs +8 -7
  241. package/esm2022/grid-layout/directives/drag-handler.directive.mjs +3 -3
  242. package/esm2022/grid-layout/directives/placeholder.directive.mjs +3 -3
  243. package/esm2022/grid-layout/directives/remove-handler.directive.mjs +3 -3
  244. package/esm2022/grid-layout/directives/resize-handler.directive.mjs +3 -3
  245. package/esm2022/grid-layout/grid-layout.service.mjs +2 -2
  246. package/esm2022/grid-layout/grid-placeholder.service.mjs +3 -3
  247. package/esm2022/grid-layout/module.mjs +2 -2
  248. package/esm2022/grid-layout/utils/grid.utils.mjs +1 -1
  249. package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +1 -1
  250. package/esm2022/grid-layout/utils/scroll.utils.mjs +1 -1
  251. package/esm2022/help-document/component.mjs +18 -16
  252. package/esm2022/help-document/directive.mjs +4 -4
  253. package/esm2022/help-document/module.mjs +2 -2
  254. package/esm2022/help-document/service.mjs +4 -4
  255. package/esm2022/iframe-config/config.service.mjs +3 -3
  256. package/esm2022/k8s-resource-list/footer/component.mjs +53 -51
  257. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +3 -6
  258. package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +2 -2
  259. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +1 -1
  260. package/esm2022/k8s-resource-list/utils.mjs +1 -1
  261. package/esm2022/k8s-shared/constants.mjs +53 -0
  262. package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +30 -0
  263. package/esm2022/k8s-shared/k8s-shared-util.service.mjs +3 -3
  264. package/esm2022/k8s-shared/public-api.mjs +2 -1
  265. package/esm2022/k8s-shared/update-description-dialog/component.mjs +10 -9
  266. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +22 -20
  267. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +13 -11
  268. package/esm2022/lazy-component/lazy-load-component.mjs +25 -26
  269. package/esm2022/lazy-component/visibility.service.mjs +2 -2
  270. package/esm2022/license/license-api.mjs +3 -3
  271. package/esm2022/license/license-error/component.mjs +25 -25
  272. package/esm2022/license/license-error/module.mjs +2 -2
  273. package/esm2022/license/license.guard.mjs +4 -4
  274. package/esm2022/license/license.service.mjs +4 -4
  275. package/esm2022/list-display/component.mjs +39 -40
  276. package/esm2022/metric-chart/common-chart.service.mjs +3 -3
  277. package/esm2022/metric-chart/helpers.mjs +1 -1
  278. package/esm2022/metric-chart/metric-chart.component.mjs +6 -5
  279. package/esm2022/metric-chart/metric-chart.module.mjs +2 -2
  280. package/esm2022/metric-chart/metric-time-pick.mjs +20 -17
  281. package/esm2022/metric-chart/utils.mjs +1 -1
  282. package/esm2022/multi-search/action-input/component.mjs +180 -181
  283. package/esm2022/multi-search/form/component.mjs +26 -22
  284. package/esm2022/multi-search/multi-search-tags/component.mjs +33 -31
  285. package/esm2022/mutable/element.mjs +1 -1
  286. package/esm2022/mutable/mosaic/mosaic.component.mjs +6 -5
  287. package/esm2022/mutable/mosaic/mosaic.directive.mjs +3 -3
  288. package/esm2022/mutable/mutable.directive.mjs +4 -4
  289. package/esm2022/mutable/mutable.module.mjs +2 -2
  290. package/esm2022/notification/feedback-notification/component.mjs +22 -23
  291. package/esm2022/notification/notification-util.service.mjs +3 -3
  292. package/esm2022/notification/resource-error.interceptor.mjs +3 -3
  293. package/esm2022/overview-banner/overview-banner.component.mjs +3 -2
  294. package/esm2022/overview-banner/overview-banner.module.mjs +2 -2
  295. package/esm2022/page-guard/component/component.mjs +70 -78
  296. package/esm2022/page-guard/component/helper-directives.mjs +5 -5
  297. package/esm2022/page-guard/module.mjs +2 -2
  298. package/esm2022/page-scaffold/module.mjs +2 -2
  299. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -3
  300. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +177 -88
  301. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +2 -2
  302. package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +2 -2
  303. package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +1 -3
  304. package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -3
  305. package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +2 -2
  306. package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +11 -11
  307. package/esm2022/page-scaffold/navigation/module.mjs +2 -2
  308. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +128 -99
  309. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +30 -32
  310. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +21 -19
  311. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
  312. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
  313. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +6 -5
  314. package/esm2022/page-scaffold/page/context.service.mjs +2 -2
  315. package/esm2022/page-scaffold/page/helper-directives.mjs +10 -10
  316. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +11 -11
  317. package/esm2022/page-scaffold/page/notices/notice.component.mjs +15 -15
  318. package/esm2022/page-scaffold/page/page.component.mjs +20 -20
  319. package/esm2022/page-scaffold/page/page.module.mjs +2 -2
  320. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +40 -39
  321. package/esm2022/page-scaffold/page-header/account-menu/module.mjs +2 -2
  322. package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +2 -2
  323. package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +4 -4
  324. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +58 -59
  325. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +64 -65
  326. package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +2 -2
  327. package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +3 -3
  328. package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +3 -3
  329. package/esm2022/page-scaffold/page-header/component.mjs +24 -25
  330. package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +15 -14
  331. package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +27 -27
  332. package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +22 -21
  333. package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +2 -2
  334. package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +5 -5
  335. package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +59 -62
  336. package/esm2022/page-scaffold/page-header/help-menu/module.mjs +2 -2
  337. package/esm2022/page-scaffold/page-header/module.mjs +2 -2
  338. package/esm2022/permission/helpers.mjs +1 -1
  339. package/esm2022/permission/k8s-permission.service.mjs +3 -3
  340. package/esm2022/permission/permission.guard.mjs +3 -3
  341. package/esm2022/pie-derivative-chart/donut-status/component.mjs +29 -28
  342. package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +3 -3
  343. package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +3 -3
  344. package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +2 -2
  345. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +54 -59
  346. package/esm2022/pod-status/component.mjs +167 -0
  347. package/esm2022/pod-status/public-api.mjs +4 -0
  348. package/esm2022/pod-status/status.mjs +84 -0
  349. package/esm2022/pod-status/typings.mjs +19 -0
  350. package/esm2022/public-api.mjs +3 -1
  351. package/esm2022/searchable-selector/component.mjs +73 -75
  352. package/esm2022/searchable-selector/module.mjs +2 -2
  353. package/esm2022/skeleton/item/component.mjs +4 -3
  354. package/esm2022/skeleton/module.mjs +2 -2
  355. package/esm2022/skeleton/nav-skeleton/component.mjs +8 -7
  356. package/esm2022/table/component.mjs +253 -271
  357. package/esm2022/table/helper.mjs +1 -1
  358. package/esm2022/table/helpers.directive.mjs +3 -3
  359. package/esm2022/table/module.mjs +40 -31
  360. package/esm2022/table/util.service.mjs +4 -4
  361. package/esm2022/translate/helpers.mjs +1 -1
  362. package/esm2022/translate/i18n-config.mjs +3 -8
  363. package/esm2022/translate/translate.directive.mjs +9 -9
  364. package/esm2022/translate/translate.module.mjs +2 -2
  365. package/esm2022/translate/translate.pipe.mjs +3 -3
  366. package/esm2022/translate/translate.service.mjs +4 -4
  367. package/esm2022/view-chart/custom-template/dropdown-legend.mjs +24 -26
  368. package/esm2022/view-chart/legend/legend.component.mjs +66 -70
  369. package/esm2022/view-chart/view-chart.component.mjs +90 -98
  370. package/esm2022/view-chart/view-chart.module.mjs +2 -2
  371. package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +24 -26
  372. package/esm2022/view-zchart/legend/legend.component.mjs +77 -82
  373. package/esm2022/view-zchart/units.mjs +1 -1
  374. package/esm2022/view-zchart/view-zchart.component.mjs +111 -120
  375. package/esm2022/view-zchart/view-zchart.module.mjs +2 -2
  376. package/esm2022/widget/card-section/card-section.component.mjs +13 -12
  377. package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +45 -46
  378. package/esm2022/widget/current-time/component.mjs +4 -3
  379. package/esm2022/widget/date-range-picker/component.mjs +42 -40
  380. package/esm2022/widget/field-set/column/component.mjs +5 -3
  381. package/esm2022/widget/field-set/group/component.mjs +3 -2
  382. package/esm2022/widget/field-set/item/component.mjs +8 -7
  383. package/esm2022/widget/foldable-block/component.mjs +25 -24
  384. package/esm2022/widget/foldable-item-in-table/component.mjs +41 -42
  385. package/esm2022/widget/loading-mask/loading-mask.component.mjs +9 -9
  386. package/esm2022/widget/password-input/component.mjs +72 -71
  387. package/esm2022/widget/relative-time/component.mjs +4 -3
  388. package/esm2022/widget/resource-multi-select/component.mjs +20 -19
  389. package/esm2022/widget/resource-multi-select/util.mjs +1 -1
  390. package/esm2022/widget/search-panel/component.mjs +3 -2
  391. package/esm2022/widget/search-panel/helper.directive.mjs +2 -2
  392. package/esm2022/widget/search-panel/search-item/component.mjs +3 -2
  393. package/esm2022/widget/select-prefix-label/directive.mjs +4 -4
  394. package/esm2022/widget/status-icon/status-icon.component.mjs +16 -15
  395. package/esm2022/widget/tags-label/component.mjs +61 -62
  396. package/esm2022/widget/terminating-tag/component.mjs +4 -3
  397. package/esm2022/widget/text-ellipsis/component.mjs +11 -11
  398. package/esm2022/widget/text-tooltip/directive.mjs +3 -3
  399. package/esm2022/widget/text-with-url/component.mjs +8 -8
  400. package/esm2022/widget/widget.module.mjs +2 -2
  401. package/esm2022/widget/zero-state/zero-state.component.mjs +17 -17
  402. package/esm2022/window-channel/base-window-channel.mjs +1 -1
  403. package/esm2022/window-channel/directives/host-link.directive.mjs +2 -2
  404. package/esm2022/window-channel/host-window-channel.service.mjs +3 -3
  405. package/esm2022/window-channel/plugin-window-channel.service.mjs +3 -3
  406. package/esm2022/workload-status-icon/component.mjs +72 -0
  407. package/esm2022/workload-status-icon/public-api.mjs +2 -0
  408. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +68 -71
  409. package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +3 -3
  410. package/esm2022/xterm/xterm.component.mjs +5 -4
  411. package/exec/terminal/component.d.ts +0 -1
  412. package/form/validators/async-function-validator.directive.d.ts +1 -1
  413. package/form/validators/function-validator.directive.d.ts +1 -1
  414. package/form/validators/maxlength-minlength-validator.directive.d.ts +2 -2
  415. package/form/validators/module.d.ts +8 -8
  416. package/form/validators/not-be-validator.directive.d.ts +1 -1
  417. package/form/validators/one-of-validator.directive.d.ts +1 -1
  418. package/form/validators/resource-limit.d.ts +1 -1
  419. package/form/validators/strong-password/strong-password-validator.module.d.ts +2 -2
  420. package/graph-canvas/components/graph-canvas.component.d.ts +2 -2
  421. package/k8s-resource-list/footer/component.d.ts +2 -1
  422. package/k8s-shared/constants.d.ts +7 -0
  423. package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
  424. package/k8s-shared/public-api.d.ts +1 -0
  425. package/license/license-api.d.ts +1 -1
  426. package/license/license-error/component.d.ts +1 -1
  427. package/metric-chart/helpers.d.ts +1 -1
  428. package/package.json +2 -1
  429. package/page-guard/component/component.d.ts +1 -1
  430. package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +2 -0
  431. package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +1 -0
  432. package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -1
  433. package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +2 -1
  434. package/page-scaffold/page-header/header-notify/utils.d.ts +3 -3
  435. package/pod-status/component.d.ts +27 -0
  436. package/pod-status/public-api.d.ts +3 -0
  437. package/pod-status/status.d.ts +4 -0
  438. package/pod-status/typings.d.ts +16 -0
  439. package/public-api.d.ts +2 -0
  440. package/styles/ansi-color.scss +131 -0
  441. package/styles/global.scss +3 -1
  442. package/styles/tailwind-preset.scss +1 -1
  443. package/table/component.d.ts +2 -1
  444. package/table/module.d.ts +22 -6
  445. package/widget/zero-state/zero-state.component.d.ts +1 -1
  446. package/workload-status-icon/component.d.ts +36 -0
  447. package/workload-status-icon/public-api.d.ts +1 -0
  448. package/a-chart/a-chart.module.d.ts +0 -16
  449. package/a-chart/base-chart.d.ts +0 -24
  450. package/a-chart/chart-status.component.d.ts +0 -15
  451. package/a-chart/chart.component.d.ts +0 -56
  452. package/a-chart/components/base-component.d.ts +0 -12
  453. package/a-chart/components/legend/base-legend.component.d.ts +0 -31
  454. package/a-chart/components/legend/dropdown-legend.d.ts +0 -17
  455. package/a-chart/components/legend/legend.component.d.ts +0 -17
  456. package/a-chart/components/legend/public-api.d.ts +0 -3
  457. package/a-chart/components/public-api.d.ts +0 -3
  458. package/a-chart/components/title.component.d.ts +0 -17
  459. package/a-chart/constant.d.ts +0 -6
  460. package/a-chart/public-api.d.ts +0 -12
  461. package/a-chart/types.d.ts +0 -38
  462. package/a-chart/utils.d.ts +0 -13
  463. package/a-metric-chart/a-metric-chart.component.d.ts +0 -154
  464. package/a-metric-chart/a-metric-chart.module.d.ts +0 -16
  465. package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +0 -25
  466. package/a-metric-chart/base-chart.component.d.ts +0 -14
  467. package/a-metric-chart/metric-chart-refresh.service.d.ts +0 -8
  468. package/a-metric-chart/public-api.d.ts +0 -14
  469. package/a-metric-chart/stat-chart/stat-chart.component.d.ts +0 -11
  470. package/a-metric-chart/table-chart/table-chart.component.d.ts +0 -29
  471. package/a-metric-chart/types.d.ts +0 -130
  472. package/a-metric-chart/utils/public-api.d.ts +0 -3
  473. package/a-metric-chart/utils/range.d.ts +0 -1
  474. package/a-metric-chart/utils/unit.d.ts +0 -48
  475. package/a-metric-chart/utils/util.d.ts +0 -45
  476. package/api/monitor-api.service.d.ts +0 -104
  477. package/esm2022/a-chart/a-chart.module.mjs +0 -76
  478. package/esm2022/a-chart/base-chart.mjs +0 -98
  479. package/esm2022/a-chart/chart-status.component.mjs +0 -195
  480. package/esm2022/a-chart/chart.component.mjs +0 -307
  481. package/esm2022/a-chart/components/base-component.mjs +0 -23
  482. package/esm2022/a-chart/components/legend/base-legend.component.mjs +0 -111
  483. package/esm2022/a-chart/components/legend/dropdown-legend.mjs +0 -199
  484. package/esm2022/a-chart/components/legend/legend.component.mjs +0 -102
  485. package/esm2022/a-chart/components/legend/public-api.mjs +0 -4
  486. package/esm2022/a-chart/components/public-api.mjs +0 -4
  487. package/esm2022/a-chart/components/title.component.mjs +0 -99
  488. package/esm2022/a-chart/constant.mjs +0 -24
  489. package/esm2022/a-chart/public-api.mjs +0 -13
  490. package/esm2022/a-chart/types.mjs +0 -7
  491. package/esm2022/a-chart/utils.mjs +0 -37
  492. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +0 -937
  493. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +0 -74
  494. package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +0 -166
  495. package/esm2022/a-metric-chart/base-chart.component.mjs +0 -30
  496. package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +0 -18
  497. package/esm2022/a-metric-chart/public-api.mjs +0 -15
  498. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +0 -122
  499. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +0 -201
  500. package/esm2022/a-metric-chart/types.mjs +0 -26
  501. package/esm2022/a-metric-chart/utils/public-api.mjs +0 -4
  502. package/esm2022/a-metric-chart/utils/range.mjs +0 -35
  503. package/esm2022/a-metric-chart/utils/unit.mjs +0 -83
  504. package/esm2022/a-metric-chart/utils/util.mjs +0 -243
  505. package/esm2022/api/monitor-api.service.mjs +0 -158
  506. package/esm2022/notification/notification-util.module.mjs +0 -32
  507. package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +0 -1
  508. package/notification/notification-util.module.d.ts +0 -10
@@ -17,16 +17,22 @@ import { KNOWN_COLUMNS, TableUtilService } from './util.service';
17
17
  import * as i0 from "@angular/core";
18
18
  import * as i1 from "@angular/router";
19
19
  import * as i2 from "./util.service";
20
+ const _c0 = (a0, a1, a2, a3, a4) => ({ $implicit: a0, index: a1, even: a2, odd: a3, last: a4 });
21
+ const _c1 = (a0, a1) => ({ columnDef: a0, value: a1 });
22
+ const _c2 = (a0, a1) => ({ data: a0, columnDef: a1 });
23
+ const _c3 = a0 => ({ name: a0 });
24
+ const _c4 = (a0, a1) => [a0, "detail", a1];
25
+ const _c5 = (a0, a1) => ({ $implicit: a0, columnDef: a1 });
20
26
  function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
21
- i0.ɵɵelementStart(0, "span", 15);
27
+ i0.ɵɵelementStart(0, "span", 20);
22
28
  i0.ɵɵtext(1);
23
29
  i0.ɵɵpipe(2, "translate");
24
30
  i0.ɵɵelementEnd();
25
31
  } if (rf & 2) {
26
- const columnDef_r15 = i0.ɵɵnextContext(3).$implicit;
27
- i0.ɵɵproperty("start", columnDef_r15.sort.direction);
28
- i0.ɵɵadvance(1);
29
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, columnDef_r15.label || columnDef_r15.name));
32
+ const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
33
+ i0.ɵɵproperty("start", columnDef_r2.sort.direction);
34
+ i0.ɵɵadvance();
35
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, columnDef_r2.label || columnDef_r2.name));
30
36
  } }
31
37
  function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_2_Template(rf, ctx) { if (rf & 1) {
32
38
  i0.ɵɵelementStart(0, "span");
@@ -34,115 +40,109 @@ function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_sp
34
40
  i0.ɵɵpipe(2, "translate");
35
41
  i0.ɵɵelementEnd();
36
42
  } if (rf & 2) {
37
- const columnDef_r15 = i0.ɵɵnextContext(3).$implicit;
38
- i0.ɵɵadvance(1);
39
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, columnDef_r15.label || columnDef_r15.name));
43
+ const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
44
+ i0.ɵɵadvance();
45
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, columnDef_r2.label || columnDef_r2.name));
40
46
  } }
41
47
  function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
42
48
  i0.ɵɵelementContainerStart(0);
43
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_1_Template, 3, 4, "span", 14);
44
- i0.ɵɵtemplate(2, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_2_Template, 3, 3, "span", 5);
49
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_1_Template, 3, 4, "span", 19)(2, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_2_Template, 3, 3, "span", 15);
45
50
  i0.ɵɵelementContainerEnd();
46
51
  } if (rf & 2) {
47
- const columnDef_r15 = i0.ɵɵnextContext(2).$implicit;
48
- i0.ɵɵadvance(1);
49
- i0.ɵɵproperty("ngIf", columnDef_r15.sort);
50
- i0.ɵɵadvance(1);
51
- i0.ɵɵproperty("ngIf", !columnDef_r15.sort);
52
+ const columnDef_r2 = i0.ɵɵnextContext(2).$implicit;
53
+ i0.ɵɵadvance();
54
+ i0.ɵɵproperty("ngIf", columnDef_r2.sort);
55
+ i0.ɵɵadvance();
56
+ i0.ɵɵproperty("ngIf", !columnDef_r2.sort);
52
57
  } }
53
58
  function TableComponent_ng_container_3_aui_table_header_cell_1_Template(rf, ctx) { if (rf & 1) {
54
59
  i0.ɵɵelementStart(0, "aui-table-header-cell");
55
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_Template, 3, 2, "ng-container", 5);
60
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_Template, 3, 2, "ng-container", 15);
56
61
  i0.ɵɵelementEnd();
57
62
  } if (rf & 2) {
58
- const columnDef_r15 = i0.ɵɵnextContext().$implicit;
59
- const ctx_r16 = i0.ɵɵnextContext();
60
- i0.ɵɵstyleMap(columnDef_r15.style);
61
- i0.ɵɵadvance(1);
62
- i0.ɵɵproperty("ngIf", columnDef_r15.name !== ctx_r16.ACTION);
63
+ const columnDef_r2 = i0.ɵɵnextContext().$implicit;
64
+ const ctx_r2 = i0.ɵɵnextContext();
65
+ i0.ɵɵstyleMap(columnDef_r2.style);
66
+ i0.ɵɵadvance();
67
+ i0.ɵɵproperty("ngIf", columnDef_r2.name !== ctx_r2.ACTION);
63
68
  } }
64
69
  function TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
65
70
  i0.ɵɵelementContainer(0);
66
71
  } }
67
- const _c0 = function (a0, a1, a2, a3, a4) { return { $implicit: a0, index: a1, even: a2, odd: a3, last: a4 }; };
68
72
  function TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
69
73
  i0.ɵɵelementContainerStart(0);
70
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 20);
74
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 23);
71
75
  i0.ɵɵelementContainerEnd();
72
76
  } if (rf & 2) {
73
- const template_r35 = ctx.ngIf;
74
- const ctx_r37 = i0.ɵɵnextContext();
75
- const data_r25 = ctx_r37.$implicit;
76
- const index_r26 = ctx_r37.index;
77
- const even_r27 = ctx_r37.even;
78
- const odd_r28 = ctx_r37.odd;
79
- const last_r29 = ctx_r37.last;
80
- i0.ɵɵadvance(1);
81
- i0.ɵɵproperty("ngTemplateOutlet", template_r35)("ngTemplateOutletContext", i0.ɵɵpureFunction5(2, _c0, data_r25, index_r26, even_r27, odd_r28, last_r29));
77
+ const template_r4 = ctx.ngIf;
78
+ const ctx_r4 = i0.ɵɵnextContext();
79
+ const data_r6 = ctx_r4.$implicit;
80
+ const index_r7 = ctx_r4.index;
81
+ const even_r8 = ctx_r4.even;
82
+ const odd_r9 = ctx_r4.odd;
83
+ const last_r10 = ctx_r4.last;
84
+ i0.ɵɵadvance();
85
+ i0.ɵɵproperty("ngTemplateOutlet", template_r4)("ngTemplateOutletContext", i0.ɵɵpureFunction5(2, _c0, data_r6, index_r7, even_r8, odd_r9, last_r10));
82
86
  } }
83
87
  function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
84
88
  i0.ɵɵelementContainer(0);
85
89
  } }
86
- const _c1 = function (a0, a1) { return { columnDef: a0, value: a1 }; };
87
90
  function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_Template(rf, ctx) { if (rf & 1) {
88
91
  i0.ɵɵelementContainerStart(0);
89
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_ng_container_1_Template, 1, 0, "ng-container", 20);
92
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_ng_container_1_Template, 1, 0, "ng-container", 23);
90
93
  i0.ɵɵelementContainerEnd();
91
94
  } if (rf & 2) {
92
- const value_r39 = ctx.ngIf;
93
- const columnDef_r15 = i0.ɵɵnextContext(3).$implicit;
95
+ const value_r11 = ctx.ngIf;
96
+ const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
94
97
  i0.ɵɵnextContext();
95
- const _r7 = i0.ɵɵreference(14);
96
- i0.ɵɵadvance(1);
97
- i0.ɵɵproperty("ngTemplateOutlet", _r7)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, columnDef_r15, value_r39));
98
+ const tableCellContent_r12 = i0.ɵɵreference(14);
99
+ i0.ɵɵadvance();
100
+ i0.ɵɵproperty("ngTemplateOutlet", tableCellContent_r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, columnDef_r2, value_r11));
98
101
  } }
99
102
  function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
100
- i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_Template, 2, 5, "ng-container", 17);
103
+ i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_Template, 2, 5, "ng-container", 22);
101
104
  i0.ɵɵpipe(1, "pure");
102
105
  } if (rf & 2) {
103
- const data_r25 = i0.ɵɵnextContext().$implicit;
104
- const _r33 = i0.ɵɵreference(6);
105
- const columnDef_r15 = i0.ɵɵnextContext().$implicit;
106
- const ctx_r32 = i0.ɵɵnextContext();
107
- i0.ɵɵproperty("ngIf", columnDef_r15.path != null && i0.ɵɵpipeBind4(1, 2, data_r25, ctx_r32.getValueFromPath, columnDef_r15.name, columnDef_r15.path))("ngIfElse", _r33);
106
+ const data_r6 = i0.ɵɵnextContext().$implicit;
107
+ const defaultTableCellTpl_r13 = i0.ɵɵreference(6);
108
+ const columnDef_r2 = i0.ɵɵnextContext().$implicit;
109
+ const ctx_r2 = i0.ɵɵnextContext();
110
+ i0.ɵɵproperty("ngIf", columnDef_r2.path != null && i0.ɵɵpipeBind4(1, 2, data_r6, ctx_r2.getValueFromPath, columnDef_r2.name, columnDef_r2.path))("ngIfElse", defaultTableCellTpl_r13);
108
111
  } }
109
112
  function TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_ng_container_0_Template(rf, ctx) { if (rf & 1) {
110
113
  i0.ɵɵelementContainer(0);
111
114
  } }
112
- const _c2 = function (a0, a1) { return { data: a0, columnDef: a1 }; };
113
115
  function TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_ng_container_0_Template, 1, 0, "ng-container", 20);
116
+ i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_ng_container_0_Template, 1, 0, "ng-container", 23);
115
117
  } if (rf & 2) {
116
- const data_r25 = i0.ɵɵnextContext().$implicit;
117
- const columnDef_r15 = i0.ɵɵnextContext().$implicit;
118
+ const data_r6 = i0.ɵɵnextContext().$implicit;
119
+ const columnDef_r2 = i0.ɵɵnextContext().$implicit;
118
120
  i0.ɵɵnextContext();
119
- const _r5 = i0.ɵɵreference(12);
120
- i0.ɵɵproperty("ngTemplateOutlet", _r5)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c2, data_r25, columnDef_r15));
121
+ const defaultTableCell_r14 = i0.ɵɵreference(12);
122
+ i0.ɵɵproperty("ngTemplateOutlet", defaultTableCell_r14)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c2, data_r6, columnDef_r2));
121
123
  } }
122
124
  function TableComponent_ng_container_3_aui_table_cell_2_Template(rf, ctx) { if (rf & 1) {
123
- i0.ɵɵelementStart(0, "aui-table-cell", 16);
124
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template, 2, 8, "ng-container", 17);
125
+ i0.ɵɵelementStart(0, "aui-table-cell", 21);
126
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template, 2, 8, "ng-container", 22);
125
127
  i0.ɵɵpipe(2, "pure");
126
- i0.ɵɵtemplate(3, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_Template, 2, 7, "ng-template", null, 18, i0.ɵɵtemplateRefExtractor);
127
- i0.ɵɵtemplate(5, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_Template, 1, 5, "ng-template", null, 19, i0.ɵɵtemplateRefExtractor);
128
+ i0.ɵɵtemplate(3, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_Template, 2, 7, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor)(5, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_Template, 1, 5, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
128
129
  i0.ɵɵelementEnd();
129
130
  } if (rf & 2) {
130
- const _r31 = i0.ɵɵreference(4);
131
- const columnDef_r15 = i0.ɵɵnextContext().$implicit;
132
- const ctx_r17 = i0.ɵɵnextContext();
133
- i0.ɵɵstyleMap(columnDef_r15.style);
134
- i0.ɵɵproperty("direction", columnDef_r15.direction)("ngClass", columnDef_r15.class);
135
- i0.ɵɵadvance(1);
136
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(2, 6, columnDef_r15.name, ctx_r17.getColumnTemplate))("ngIfElse", _r31);
131
+ const tableCellDefTpl_r15 = i0.ɵɵreference(4);
132
+ const columnDef_r2 = i0.ɵɵnextContext().$implicit;
133
+ const ctx_r2 = i0.ɵɵnextContext();
134
+ i0.ɵɵstyleMap(columnDef_r2.style);
135
+ i0.ɵɵproperty("direction", columnDef_r2.direction)("ngClass", columnDef_r2.class);
136
+ i0.ɵɵadvance();
137
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(2, 6, columnDef_r2.name, ctx_r2.getColumnTemplate))("ngIfElse", tableCellDefTpl_r15);
137
138
  } }
138
139
  function TableComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
139
- i0.ɵɵelementContainerStart(0, 11);
140
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_Template, 2, 3, "aui-table-header-cell", 12);
141
- i0.ɵɵtemplate(2, TableComponent_ng_container_3_aui_table_cell_2_Template, 7, 9, "aui-table-cell", 13);
140
+ i0.ɵɵelementContainerStart(0, 16);
141
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_Template, 2, 3, "aui-table-header-cell", 17)(2, TableComponent_ng_container_3_aui_table_cell_2_Template, 7, 9, "aui-table-cell", 18);
142
142
  i0.ɵɵelementContainerEnd();
143
143
  } if (rf & 2) {
144
- const columnDef_r15 = ctx.$implicit;
145
- i0.ɵɵproperty("auiTableColumnDef", columnDef_r15.name)("sticky", columnDef_r15.sticky)("stickyEnd", columnDef_r15.stickyEnd);
144
+ const columnDef_r2 = ctx.$implicit;
145
+ i0.ɵɵproperty("auiTableColumnDef", columnDef_r2.name)("sticky", columnDef_r2.sticky)("stickyEnd", columnDef_r2.stickyEnd);
146
146
  } }
147
147
  function TableComponent_aui_table_header_row_5_Template(rf, ctx) { if (rf & 1) {
148
148
  i0.ɵɵelement(0, "aui-table-header-row");
@@ -150,50 +150,42 @@ function TableComponent_aui_table_header_row_5_Template(rf, ctx) { if (rf & 1) {
150
150
  function TableComponent_aui_table_row_7_Template(rf, ctx) { if (rf & 1) {
151
151
  i0.ɵɵelement(0, "aui-table-row");
152
152
  } }
153
- const _c3 = function (a0) { return { name: a0 }; };
154
- function TableComponent_ng_container_9_ng_container_1_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
153
+ function TableComponent_ng_container_9_ng_container_1_ng_container_4_Template(rf, ctx) { if (rf & 1) {
155
154
  i0.ɵɵelementContainerStart(0);
156
155
  i0.ɵɵtext(1);
157
156
  i0.ɵɵpipe(2, "translate");
158
157
  i0.ɵɵpipe(3, "translate");
159
158
  i0.ɵɵelementContainerEnd();
160
159
  } if (rf & 2) {
161
- const finalResourceName_r55 = ctx.ngIf;
162
- const ctx_r54 = i0.ɵɵnextContext(4);
163
- i0.ɵɵadvance(1);
164
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, "no_named_data_hint", i0.ɵɵpureFunction1(8, _c3, ctx_r54.resourceNameTranslated || i0.ɵɵpipeBind3(3, 4, finalResourceName_r55, null, true))), " ");
165
- } }
166
- function TableComponent_ng_container_9_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
167
- i0.ɵɵelementStart(0, "div", 24);
168
- i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_div_1_ng_container_1_Template, 4, 10, "ng-container", 17);
169
- i0.ɵɵpipe(2, "async");
170
- i0.ɵɵelementEnd();
171
- } if (rf & 2) {
172
- const ctx_r51 = i0.ɵɵnextContext(3);
173
- const _r13 = i0.ɵɵreference(20);
174
- i0.ɵɵadvance(1);
175
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, ctx_r51.finalResourceName$))("ngIfElse", _r13);
176
- } }
177
- function TableComponent_ng_container_9_ng_container_1_ng_template_4_Template(rf, ctx) { if (rf & 1) {
178
- i0.ɵɵelement(0, "acl-k8s-resource-list-footer", 25);
179
- i0.ɵɵpipe(1, "async");
180
- } if (rf & 2) {
181
- const ctx_r53 = i0.ɵɵnextContext(3);
182
- i0.ɵɵproperty("list", ctx_r53.list)("resourceName", i0.ɵɵpipeBind1(1, 3, ctx_r53.finalResourceName$))("resourceNameTranslated", ctx_r53.resourceNameTranslated);
160
+ const finalResourceName_r16 = ctx.ngIf;
161
+ const ctx_r2 = i0.ɵɵnextContext(3);
162
+ i0.ɵɵadvance();
163
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 5, "no_named_data_hint", i0.ɵɵpureFunction1(8, _c3, ctx_r2.resourceNameTranslated || i0.ɵɵpipeBind3(2, 1, finalResourceName_r16, null, true))), " ");
183
164
  } }
184
165
  function TableComponent_ng_container_9_ng_container_1_Template(rf, ctx) { if (rf & 1) {
185
166
  i0.ɵɵelementContainerStart(0);
186
- i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_div_1_Template, 3, 4, "div", 22);
167
+ i0.ɵɵelementStart(1, "div", 25);
187
168
  i0.ɵɵpipe(2, "async");
188
169
  i0.ɵɵpipe(3, "async");
189
- i0.ɵɵtemplate(4, TableComponent_ng_container_9_ng_container_1_ng_template_4_Template, 2, 5, "ng-template", null, 23, i0.ɵɵtemplateRefExtractor);
170
+ i0.ɵɵtemplate(4, TableComponent_ng_container_9_ng_container_1_ng_container_4_Template, 4, 10, "ng-container", 22);
171
+ i0.ɵɵpipe(5, "async");
172
+ i0.ɵɵelementEnd();
173
+ i0.ɵɵelement(6, "acl-k8s-resource-list-footer", 26);
174
+ i0.ɵɵpipe(7, "async");
175
+ i0.ɵɵpipe(8, "async");
176
+ i0.ɵɵpipe(9, "async");
190
177
  i0.ɵɵelementContainerEnd();
191
178
  } if (rf & 2) {
192
- const _r52 = i0.ɵɵreference(5);
193
- const ctx_r49 = i0.ɵɵnextContext(2);
194
- let tmp_0_0;
195
- i0.ɵɵadvance(1);
196
- i0.ɵɵproperty("ngIf", !((tmp_0_0 = i0.ɵɵpipeBind1(2, 2, ctx_r49.pagedItems$)) == null ? null : tmp_0_0.length) && ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r49.list.items$)) == null ? null : tmp_0_0.length))("ngIfElse", _r52);
179
+ let tmp_7_0;
180
+ let tmp_10_0;
181
+ const ctx_r2 = i0.ɵɵnextContext(2);
182
+ const noData_r17 = i0.ɵɵreference(20);
183
+ i0.ɵɵadvance();
184
+ i0.ɵɵproperty("hidden", ((tmp_7_0 = i0.ɵɵpipeBind1(2, 8, ctx_r2.pagedItems$)) == null ? null : tmp_7_0.length) || !((tmp_7_0 = i0.ɵɵpipeBind1(3, 10, ctx_r2.list.items$)) == null ? null : tmp_7_0.length));
185
+ i0.ɵɵadvance(3);
186
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 12, ctx_r2.finalResourceName$))("ngIfElse", noData_r17);
187
+ i0.ɵɵadvance(2);
188
+ i0.ɵɵproperty("hidden", !((tmp_10_0 = i0.ɵɵpipeBind1(7, 14, ctx_r2.pagedItems$)) == null ? null : tmp_10_0.length) && ((tmp_10_0 = i0.ɵɵpipeBind1(8, 16, ctx_r2.list.items$)) == null ? null : tmp_10_0.length))("list", ctx_r2.list)("resourceName", i0.ɵɵpipeBind1(9, 18, ctx_r2.finalResourceName$))("resourceNameTranslated", ctx_r2.resourceNameTranslated)("firstScrollLoad", ctx_r2.firstScrollLoad);
197
189
  } }
198
190
  function TableComponent_ng_container_9_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
199
191
  i0.ɵɵelementContainerStart(0);
@@ -202,59 +194,57 @@ function TableComponent_ng_container_9_div_2_ng_container_1_Template(rf, ctx) {
202
194
  i0.ɵɵpipe(3, "translate");
203
195
  i0.ɵɵelementContainerEnd();
204
196
  } if (rf & 2) {
205
- const ctx_r56 = i0.ɵɵnextContext(3);
206
- i0.ɵɵadvance(1);
207
- i0.ɵɵtextInterpolate1(" ", ctx_r56.noDataHint || i0.ɵɵpipeBind2(2, 1, "no_named_data_hint", i0.ɵɵpureFunction1(8, _c3, ctx_r56.resourceNameTranslated || i0.ɵɵpipeBind3(3, 4, ctx_r56.resourceName, null, true))), " ");
197
+ const ctx_r2 = i0.ɵɵnextContext(3);
198
+ i0.ɵɵadvance();
199
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.noDataHint || i0.ɵɵpipeBind2(3, 5, "no_named_data_hint", i0.ɵɵpureFunction1(8, _c3, ctx_r2.resourceNameTranslated || i0.ɵɵpipeBind3(2, 1, ctx_r2.resourceName, null, true))), " ");
208
200
  } }
209
201
  function TableComponent_ng_container_9_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
210
- i0.ɵɵelement(0, "aui-icon", 27);
202
+ i0.ɵɵelement(0, "aui-icon", 28);
211
203
  i0.ɵɵtext(1);
212
204
  i0.ɵɵpipe(2, "translate");
213
205
  } if (rf & 2) {
214
- i0.ɵɵadvance(1);
206
+ i0.ɵɵadvance();
215
207
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "loading_please_wait"), " ");
216
208
  } }
217
209
  function TableComponent_ng_container_9_div_2_Template(rf, ctx) { if (rf & 1) {
218
- i0.ɵɵelementStart(0, "div", 24);
219
- i0.ɵɵtemplate(1, TableComponent_ng_container_9_div_2_ng_container_1_Template, 4, 10, "ng-container", 17);
210
+ i0.ɵɵelementStart(0, "div", 27);
211
+ i0.ɵɵtemplate(1, TableComponent_ng_container_9_div_2_ng_container_1_Template, 4, 10, "ng-container", 22);
220
212
  i0.ɵɵpipe(2, "async");
221
- i0.ɵɵtemplate(3, TableComponent_ng_container_9_div_2_ng_template_3_Template, 3, 3, "ng-template", null, 26, i0.ɵɵtemplateRefExtractor);
213
+ i0.ɵɵtemplate(3, TableComponent_ng_container_9_div_2_ng_template_3_Template, 3, 3, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
222
214
  i0.ɵɵelementEnd();
223
215
  } if (rf & 2) {
224
- const _r57 = i0.ɵɵreference(4);
225
- const ctx_r50 = i0.ɵɵnextContext(2);
226
- i0.ɵɵadvance(1);
227
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, ctx_r50.finalDataSource$))("ngIfElse", _r57);
216
+ const loading_r18 = i0.ɵɵreference(4);
217
+ const ctx_r2 = i0.ɵɵnextContext(2);
218
+ i0.ɵɵadvance();
219
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, ctx_r2.finalDataSource$))("ngIfElse", loading_r18);
228
220
  } }
229
221
  function TableComponent_ng_container_9_Template(rf, ctx) { if (rf & 1) {
230
222
  i0.ɵɵelementContainerStart(0);
231
- i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_Template, 6, 6, "ng-container", 5);
232
- i0.ɵɵtemplate(2, TableComponent_ng_container_9_div_2_Template, 5, 4, "div", 21);
223
+ i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_Template, 10, 20, "ng-container", 15)(2, TableComponent_ng_container_9_div_2_Template, 5, 4, "div", 24);
233
224
  i0.ɵɵpipe(3, "async");
234
225
  i0.ɵɵelementContainerEnd();
235
226
  } if (rf & 2) {
236
- const ctx_r3 = i0.ɵɵnextContext();
237
- let tmp_1_0;
238
- i0.ɵɵadvance(1);
239
- i0.ɵɵproperty("ngIf", ctx_r3.list);
240
- i0.ɵɵadvance(1);
241
- i0.ɵɵproperty("ngIf", !ctx_r3.list && !((tmp_1_0 = i0.ɵɵpipeBind1(3, 2, ctx_r3.pagedItems$)) == null ? null : tmp_1_0.length));
227
+ let tmp_7_0;
228
+ const ctx_r2 = i0.ɵɵnextContext();
229
+ i0.ɵɵadvance();
230
+ i0.ɵɵproperty("ngIf", ctx_r2.list);
231
+ i0.ɵɵadvance();
232
+ i0.ɵɵproperty("ngIf", !ctx_r2.list && !((tmp_7_0 = i0.ɵɵpipeBind1(3, 2, ctx_r2.pagedItems$)) == null ? null : tmp_7_0.length));
242
233
  } }
243
234
  function TableComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {
244
- const _r60 = i0.ɵɵgetCurrentView();
235
+ const _r19 = i0.ɵɵgetCurrentView();
245
236
  i0.ɵɵelementContainerStart(0);
246
- i0.ɵɵelementStart(1, "aui-paginator", 28);
247
- i0.ɵɵlistener("currentPageChange", function TableComponent_ng_container_10_Template_aui_paginator_currentPageChange_1_listener($event) { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r59.currentPage$.next($event)); })("pageSizeChange", function TableComponent_ng_container_10_Template_aui_paginator_pageSizeChange_1_listener($event) { i0.ɵɵrestoreView(_r60); const ctx_r61 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r61.pageSize$.next($event)); });
237
+ i0.ɵɵelementStart(1, "aui-paginator", 29);
248
238
  i0.ɵɵpipe(2, "async");
249
239
  i0.ɵɵpipe(3, "async");
240
+ i0.ɵɵlistener("currentPageChange", function TableComponent_ng_container_10_Template_aui_paginator_currentPageChange_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.currentPage$.next($event)); })("pageSizeChange", function TableComponent_ng_container_10_Template_aui_paginator_pageSizeChange_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.pageSize$.next($event)); });
250
241
  i0.ɵɵelementEnd();
251
242
  i0.ɵɵelementContainerEnd();
252
243
  } if (rf & 2) {
253
- const ctx_r4 = i0.ɵɵnextContext();
254
- i0.ɵɵadvance(1);
255
- i0.ɵɵproperty("layout", ctx_r4.paginationLayout)("currentPage", i0.ɵɵpipeBind1(2, 5, ctx_r4.currentPage$))("pageSize", i0.ɵɵpipeBind1(3, 7, ctx_r4.pageSize$))("total", ctx_r4.pagination.total)("pageSizeOptions", ctx_r4.pageSizeOptions);
244
+ const ctx_r2 = i0.ɵɵnextContext();
245
+ i0.ɵɵadvance();
246
+ i0.ɵɵproperty("layout", ctx_r2.paginationLayout)("currentPage", i0.ɵɵpipeBind1(2, 5, ctx_r2.currentPage$))("pageSize", i0.ɵɵpipeBind1(3, 7, ctx_r2.pageSize$))("total", ctx_r2.pagination.total)("pageSizeOptions", ctx_r2.pageSizeOptions);
256
247
  } }
257
- const _c4 = function (a0, a2) { return [a0, "detail", a2]; };
258
248
  function TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
259
249
  i0.ɵɵelementContainerStart(0);
260
250
  i0.ɵɵelementStart(1, "a", 37);
@@ -263,12 +253,12 @@ function TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Templ
263
253
  i0.ɵɵelementEnd();
264
254
  i0.ɵɵelementContainerEnd();
265
255
  } if (rf & 2) {
266
- const name_r70 = i0.ɵɵnextContext().ngIf;
267
- const ctx_r71 = i0.ɵɵnextContext(3);
268
- i0.ɵɵadvance(1);
269
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(5, _c4, i0.ɵɵpipeBind1(2, 3, ctx_r71.isListPage$) ? ".." : ".", name_r70))("auiTooltip", name_r70);
256
+ const name_r20 = i0.ɵɵnextContext().ngIf;
257
+ const ctx_r2 = i0.ɵɵnextContext(3);
258
+ i0.ɵɵadvance();
259
+ i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(5, _c4, i0.ɵɵpipeBind1(2, 3, ctx_r2.isListPage$) ? ".." : ".", name_r20))("auiTooltip", name_r20);
270
260
  i0.ɵɵadvance(2);
271
- i0.ɵɵtextInterpolate1(" ", name_r70, " ");
261
+ i0.ɵɵtextInterpolate1(" ", name_r20, " ");
272
262
  } }
273
263
  function TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
274
264
  i0.ɵɵelementStart(0, "span", 38);
@@ -276,37 +266,36 @@ function TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Templa
276
266
  i0.ɵɵtext(2);
277
267
  i0.ɵɵelementEnd();
278
268
  } if (rf & 2) {
279
- const name_r70 = i0.ɵɵnextContext().ngIf;
280
- const data_r62 = i0.ɵɵnextContext(2).data;
281
- i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 4, data_r62));
282
- i0.ɵɵproperty("auiTooltip", name_r70);
269
+ const name_r20 = i0.ɵɵnextContext().ngIf;
270
+ const data_r21 = i0.ɵɵnextContext(2).data;
271
+ i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 4, data_r21));
272
+ i0.ɵɵproperty("auiTooltip", name_r20);
283
273
  i0.ɵɵadvance(2);
284
- i0.ɵɵtextInterpolate(name_r70);
274
+ i0.ɵɵtextInterpolate(name_r20);
285
275
  } }
286
276
  function TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template(rf, ctx) { if (rf & 1) {
287
277
  i0.ɵɵelement(0, "acl-deleting-tag", 39);
288
278
  } if (rf & 2) {
289
- const data_r62 = i0.ɵɵnextContext(3).data;
290
- i0.ɵɵproperty("resource", data_r62);
279
+ const data_r21 = i0.ɵɵnextContext(3).data;
280
+ i0.ɵɵproperty("resource", data_r21);
291
281
  } }
292
282
  function TableComponent_ng_template_11_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
293
- i0.ɵɵelementStart(0, "div", 34);
294
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template, 4, 8, "ng-container", 17);
283
+ i0.ɵɵelementStart(0, "div", 35);
284
+ i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template, 4, 8, "ng-container", 22);
295
285
  i0.ɵɵpipe(2, "aclIsDeleting");
296
- i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template, 3, 6, "ng-template", null, 35, i0.ɵɵtemplateRefExtractor);
297
- i0.ɵɵtemplate(5, TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template, 1, 1, "acl-deleting-tag", 36);
286
+ i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template, 3, 6, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor)(5, TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template, 1, 1, "acl-deleting-tag", 36);
298
287
  i0.ɵɵpipe(6, "pure");
299
288
  i0.ɵɵelementEnd();
300
289
  } if (rf & 2) {
301
- const _r72 = i0.ɵɵreference(4);
302
- const ctx_r79 = i0.ɵɵnextContext(2);
303
- const columnDef_r63 = ctx_r79.columnDef;
304
- const data_r62 = ctx_r79.data;
305
- const ctx_r68 = i0.ɵɵnextContext();
306
- i0.ɵɵadvance(1);
307
- i0.ɵɵproperty("ngIf", (columnDef_r63.extra == null ? null : columnDef_r63.extra.link) !== false && !i0.ɵɵpipeBind1(2, 3, data_r62))("ngIfElse", _r72);
290
+ const plainName_r22 = i0.ɵɵreference(4);
291
+ const ctx_r22 = i0.ɵɵnextContext(2);
292
+ const data_r21 = ctx_r22.data;
293
+ const columnDef_r24 = ctx_r22.columnDef;
294
+ const ctx_r2 = i0.ɵɵnextContext();
295
+ i0.ɵɵadvance();
296
+ i0.ɵɵproperty("ngIf", (columnDef_r24.extra == null ? null : columnDef_r24.extra.link) !== false && !i0.ɵɵpipeBind1(2, 3, data_r21))("ngIfElse", plainName_r22);
308
297
  i0.ɵɵadvance(4);
309
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(6, 5, data_r62, ctx_r68.isK8sResource));
298
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(6, 5, data_r21, ctx_r2.isK8sResource));
310
299
  } }
311
300
  function TableComponent_ng_template_11_ng_container_1_div_3_Template(rf, ctx) { if (rf & 1) {
312
301
  i0.ɵɵelementStart(0, "div", 40);
@@ -314,29 +303,29 @@ function TableComponent_ng_template_11_ng_container_1_div_3_Template(rf, ctx) {
314
303
  i0.ɵɵtext(2);
315
304
  i0.ɵɵelementEnd();
316
305
  } if (rf & 2) {
317
- const displayName_r80 = ctx.ngIf;
318
- const data_r62 = i0.ɵɵnextContext(2).data;
319
- i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 3, data_r62));
306
+ const displayName_r25 = ctx.ngIf;
307
+ const data_r21 = i0.ɵɵnextContext(2).data;
308
+ i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 3, data_r21));
320
309
  i0.ɵɵadvance(2);
321
- i0.ɵɵtextInterpolate1(" ", displayName_r80, " ");
310
+ i0.ɵɵtextInterpolate1(" ", displayName_r25, " ");
322
311
  } }
323
312
  function TableComponent_ng_template_11_ng_container_1_Template(rf, ctx) { if (rf & 1) {
324
313
  i0.ɵɵelementContainerStart(0);
325
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_Template, 7, 8, "div", 32);
314
+ i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_Template, 7, 8, "div", 33);
326
315
  i0.ɵɵpipe(2, "pure");
327
- i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_3_Template, 3, 5, "div", 33);
316
+ i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_3_Template, 3, 5, "div", 34);
328
317
  i0.ɵɵpipe(4, "pure");
329
318
  i0.ɵɵpipe(5, "aclDisplayName");
330
319
  i0.ɵɵelementContainerEnd();
331
320
  } if (rf & 2) {
332
- const ctx_r82 = i0.ɵɵnextContext();
333
- const data_r62 = ctx_r82.data;
334
- const columnDef_r63 = ctx_r82.columnDef;
335
- const ctx_r64 = i0.ɵɵnextContext();
336
- i0.ɵɵadvance(1);
337
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r62, ctx_r64.getValueFromPath, columnDef_r63.name));
321
+ const ctx_r22 = i0.ɵɵnextContext();
322
+ const data_r21 = ctx_r22.data;
323
+ const columnDef_r24 = ctx_r22.columnDef;
324
+ const ctx_r2 = i0.ɵɵnextContext();
325
+ i0.ɵɵadvance();
326
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name));
338
327
  i0.ɵɵadvance(2);
339
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(4, 6, data_r62, ctx_r64.isK8sResource) ? i0.ɵɵpipeBind1(5, 9, data_r62) : data_r62.displayName);
328
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(4, 6, data_r21, ctx_r2.isK8sResource) ? i0.ɵɵpipeBind1(5, 9, data_r21) : data_r21.displayName);
340
329
  } }
341
330
  function TableComponent_ng_template_11_ng_container_2_Template(rf, ctx) { if (rf & 1) {
342
331
  i0.ɵɵelementContainerStart(0);
@@ -344,14 +333,13 @@ function TableComponent_ng_template_11_ng_container_2_Template(rf, ctx) { if (rf
344
333
  i0.ɵɵpipe(2, "pure");
345
334
  i0.ɵɵelementContainerEnd();
346
335
  } if (rf & 2) {
347
- const ctx_r83 = i0.ɵɵnextContext();
348
- const data_r62 = ctx_r83.data;
349
- const columnDef_r63 = ctx_r83.columnDef;
350
- const ctx_r65 = i0.ɵɵnextContext();
351
- i0.ɵɵadvance(1);
352
- i0.ɵɵproperty("time", i0.ɵɵpipeBind3(2, 1, data_r62, ctx_r65.getValueFromPath, columnDef_r63.name));
336
+ const ctx_r22 = i0.ɵɵnextContext();
337
+ const data_r21 = ctx_r22.data;
338
+ const columnDef_r24 = ctx_r22.columnDef;
339
+ const ctx_r2 = i0.ɵɵnextContext();
340
+ i0.ɵɵadvance();
341
+ i0.ɵɵproperty("time", i0.ɵɵpipeBind3(2, 1, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name));
353
342
  } }
354
- const _c5 = function (a0, a1) { return { $implicit: a0, columnDef: a1 }; };
355
343
  function TableComponent_ng_template_11_ng_container_3_Template(rf, ctx) { if (rf & 1) {
356
344
  i0.ɵɵelementContainerStart(0);
357
345
  i0.ɵɵelementStart(1, "button", 42);
@@ -359,153 +347,148 @@ function TableComponent_ng_template_11_ng_container_3_Template(rf, ctx) { if (rf
359
347
  i0.ɵɵelementEnd();
360
348
  i0.ɵɵelementContainerEnd();
361
349
  } if (rf & 2) {
362
- const ctx_r84 = i0.ɵɵnextContext();
363
- const data_r62 = ctx_r84.data;
364
- const columnDef_r63 = ctx_r84.columnDef;
350
+ const ctx_r22 = i0.ɵɵnextContext();
351
+ const data_r21 = ctx_r22.data;
352
+ const columnDef_r24 = ctx_r22.columnDef;
365
353
  i0.ɵɵnextContext();
366
- const _r9 = i0.ɵɵreference(16);
367
- i0.ɵɵadvance(1);
368
- i0.ɵɵproperty("square", true)("auiDropdown", _r9)("auiDropdownContext", i0.ɵɵpureFunction2(3, _c5, data_r62, columnDef_r63));
354
+ const menu_r26 = i0.ɵɵreference(16);
355
+ i0.ɵɵadvance();
356
+ i0.ɵɵproperty("square", true)("auiDropdown", menu_r26)("auiDropdownContext", i0.ɵɵpureFunction2(3, _c5, data_r21, columnDef_r24));
369
357
  } }
370
358
  function TableComponent_ng_template_11_ng_container_4_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
371
359
  i0.ɵɵelementContainer(0);
372
360
  } }
373
361
  function TableComponent_ng_template_11_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
374
362
  i0.ɵɵelementContainerStart(0);
375
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 20);
363
+ i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 23);
376
364
  i0.ɵɵelementContainerEnd();
377
365
  } if (rf & 2) {
378
- const value_r86 = ctx.ngIf;
379
- const columnDef_r63 = i0.ɵɵnextContext(2).columnDef;
366
+ const value_r27 = ctx.ngIf;
367
+ const columnDef_r24 = i0.ɵɵnextContext(2).columnDef;
380
368
  i0.ɵɵnextContext();
381
- const _r7 = i0.ɵɵreference(14);
382
- i0.ɵɵadvance(1);
383
- i0.ɵɵproperty("ngTemplateOutlet", _r7)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, columnDef_r63, value_r86));
369
+ const tableCellContent_r12 = i0.ɵɵreference(14);
370
+ i0.ɵɵadvance();
371
+ i0.ɵɵproperty("ngTemplateOutlet", tableCellContent_r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, columnDef_r24, value_r27));
384
372
  } }
385
373
  function TableComponent_ng_template_11_ng_container_4_Template(rf, ctx) { if (rf & 1) {
386
374
  i0.ɵɵelementContainerStart(0);
387
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_Template, 2, 5, "ng-container", 17);
375
+ i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_Template, 2, 5, "ng-container", 22);
388
376
  i0.ɵɵpipe(2, "pure");
389
377
  i0.ɵɵelementContainerEnd();
390
378
  } if (rf & 2) {
391
- const ctx_r89 = i0.ɵɵnextContext();
392
- const data_r62 = ctx_r89.data;
393
- const columnDef_r63 = ctx_r89.columnDef;
394
- const ctx_r67 = i0.ɵɵnextContext();
395
- const _r11 = i0.ɵɵreference(18);
396
- i0.ɵɵadvance(1);
397
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r62, ctx_r67.getValueFromPath, columnDef_r63.name))("ngIfElse", _r11);
379
+ const ctx_r22 = i0.ɵɵnextContext();
380
+ const data_r21 = ctx_r22.data;
381
+ const columnDef_r24 = ctx_r22.columnDef;
382
+ const ctx_r2 = i0.ɵɵnextContext();
383
+ const empty_r28 = i0.ɵɵreference(18);
384
+ i0.ɵɵadvance();
385
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name))("ngIfElse", empty_r28);
398
386
  } }
399
387
  function TableComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
400
- i0.ɵɵelementContainerStart(0, 29);
401
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_Template, 6, 11, "ng-container", 30);
402
- i0.ɵɵtemplate(2, TableComponent_ng_template_11_ng_container_2_Template, 3, 5, "ng-container", 30);
403
- i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_3_Template, 3, 6, "ng-container", 30);
404
- i0.ɵɵtemplate(4, TableComponent_ng_template_11_ng_container_4_Template, 3, 6, "ng-container", 31);
388
+ i0.ɵɵelementContainerStart(0, 30);
389
+ i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_Template, 6, 11, "ng-container", 31)(2, TableComponent_ng_template_11_ng_container_2_Template, 3, 5, "ng-container", 31)(3, TableComponent_ng_template_11_ng_container_3_Template, 3, 6, "ng-container", 31)(4, TableComponent_ng_template_11_ng_container_4_Template, 3, 6, "ng-container", 32);
405
390
  i0.ɵɵelementContainerEnd();
406
391
  } if (rf & 2) {
407
- const columnDef_r63 = ctx.columnDef;
408
- const ctx_r6 = i0.ɵɵnextContext();
409
- i0.ɵɵproperty("ngSwitch", columnDef_r63.name);
410
- i0.ɵɵadvance(1);
411
- i0.ɵɵproperty("ngSwitchCase", ctx_r6.NAME);
412
- i0.ɵɵadvance(1);
413
- i0.ɵɵproperty("ngSwitchCase", ctx_r6.CREATED_AT);
414
- i0.ɵɵadvance(1);
415
- i0.ɵɵproperty("ngSwitchCase", ctx_r6.ACTION);
392
+ const columnDef_r24 = ctx.columnDef;
393
+ const ctx_r2 = i0.ɵɵnextContext();
394
+ i0.ɵɵproperty("ngSwitch", columnDef_r24.name);
395
+ i0.ɵɵadvance();
396
+ i0.ɵɵproperty("ngSwitchCase", ctx_r2.NAME);
397
+ i0.ɵɵadvance();
398
+ i0.ɵɵproperty("ngSwitchCase", ctx_r2.CREATED_AT);
399
+ i0.ɵɵadvance();
400
+ i0.ɵɵproperty("ngSwitchCase", ctx_r2.ACTION);
416
401
  } }
417
402
  function TableComponent_ng_template_13_ng_container_0_div_1_Template(rf, ctx) { if (rf & 1) {
418
- i0.ɵɵelementStart(0, "div", 46);
403
+ i0.ɵɵelementStart(0, "div", 45);
419
404
  i0.ɵɵtext(1);
420
405
  i0.ɵɵelementEnd();
421
406
  } if (rf & 2) {
422
- const text_r93 = i0.ɵɵnextContext().ngIf;
423
- i0.ɵɵproperty("auiTooltip", text_r93);
424
- i0.ɵɵadvance(1);
425
- i0.ɵɵtextInterpolate1(" ", text_r93, " ");
407
+ const text_r29 = i0.ɵɵnextContext().ngIf;
408
+ i0.ɵɵproperty("auiTooltip", text_r29);
409
+ i0.ɵɵadvance();
410
+ i0.ɵɵtextInterpolate1(" ", text_r29, " ");
426
411
  } }
427
412
  function TableComponent_ng_template_13_ng_container_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
428
413
  i0.ɵɵtext(0);
429
414
  } if (rf & 2) {
430
- const text_r93 = i0.ɵɵnextContext().ngIf;
431
- i0.ɵɵtextInterpolate(text_r93);
415
+ const text_r29 = i0.ɵɵnextContext().ngIf;
416
+ i0.ɵɵtextInterpolate(text_r29);
432
417
  } }
433
418
  function TableComponent_ng_template_13_ng_container_0_Template(rf, ctx) { if (rf & 1) {
434
419
  i0.ɵɵelementContainerStart(0);
435
- i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_0_div_1_Template, 2, 2, "div", 44);
436
- i0.ɵɵtemplate(2, TableComponent_ng_template_13_ng_container_0_ng_template_2_Template, 1, 1, "ng-template", null, 45, i0.ɵɵtemplateRefExtractor);
420
+ i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_0_div_1_Template, 2, 2, "div", 44)(2, TableComponent_ng_template_13_ng_container_0_ng_template_2_Template, 1, 1, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
437
421
  i0.ɵɵelementContainerEnd();
438
422
  } if (rf & 2) {
439
- const _r95 = i0.ɵɵreference(3);
440
- const columnDef_r90 = i0.ɵɵnextContext().columnDef;
441
- i0.ɵɵadvance(1);
442
- i0.ɵɵproperty("ngIf", columnDef_r90.ellipsis)("ngIfElse", _r95);
423
+ const plainText_r30 = i0.ɵɵreference(3);
424
+ const columnDef_r31 = i0.ɵɵnextContext().columnDef;
425
+ i0.ɵɵadvance();
426
+ i0.ɵɵproperty("ngIf", columnDef_r31.ellipsis)("ngIfElse", plainText_r30);
443
427
  } }
444
428
  function TableComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
445
- i0.ɵɵtemplate(0, TableComponent_ng_template_13_ng_container_0_Template, 4, 2, "ng-container", 17);
429
+ i0.ɵɵtemplate(0, TableComponent_ng_template_13_ng_container_0_Template, 4, 2, "ng-container", 22);
446
430
  i0.ɵɵpipe(1, "translate");
447
- i0.ɵɵpipe(2, "translate");
448
- i0.ɵɵpipe(3, "pure");
431
+ i0.ɵɵpipe(2, "pure");
432
+ i0.ɵɵpipe(3, "translate");
449
433
  } if (rf & 2) {
450
- const columnDef_r90 = ctx.columnDef;
451
- const value_r91 = ctx.value;
452
- const ctx_r8 = i0.ɵɵnextContext();
453
- const _r11 = i0.ɵɵreference(18);
454
- i0.ɵɵproperty("ngIf", columnDef_r90.translate == null ? value_r91 : columnDef_r90.translate === true ? i0.ɵɵpipeBind1(1, 2, value_r91) : i0.ɵɵpipeBind1(2, 4, i0.ɵɵpipeBind3(3, 6, value_r91, columnDef_r90.translate, ctx_r8.finalContext)))("ngIfElse", _r11);
434
+ const columnDef_r31 = ctx.columnDef;
435
+ const value_r32 = ctx.value;
436
+ const ctx_r2 = i0.ɵɵnextContext();
437
+ const empty_r28 = i0.ɵɵreference(18);
438
+ i0.ɵɵproperty("ngIf", columnDef_r31.translate == null ? value_r32 : columnDef_r31.translate === true ? i0.ɵɵpipeBind1(1, 2, value_r32) : i0.ɵɵpipeBind1(3, 8, i0.ɵɵpipeBind3(2, 4, value_r32, columnDef_r31.translate, ctx_r2.finalContext)))("ngIfElse", empty_r28);
455
439
  } }
456
440
  function TableComponent_ng_template_15_acl_disabled_container_1_Template(rf, ctx) { if (rf & 1) {
457
- const _r106 = i0.ɵɵgetCurrentView();
458
- i0.ɵɵelementStart(0, "acl-disabled-container", 48);
459
- i0.ɵɵlistener("click", function TableComponent_ng_template_15_acl_disabled_container_1_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r106); const ctx_r105 = i0.ɵɵnextContext(); const data_r100 = ctx_r105.$implicit; const columnDef_r101 = ctx_r105.columnDef; const ctx_r104 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r104.onUpdate(data_r100, columnDef_r101)); });
441
+ const _r33 = i0.ɵɵgetCurrentView();
442
+ i0.ɵɵelementStart(0, "acl-disabled-container", 47);
460
443
  i0.ɵɵpipe(1, "pure");
461
444
  i0.ɵɵpipe(2, "pure");
462
- i0.ɵɵpipe(3, "translate");
463
- i0.ɵɵpipe(4, "pure");
445
+ i0.ɵɵpipe(3, "pure");
446
+ i0.ɵɵpipe(4, "translate");
447
+ i0.ɵɵlistener("click", function TableComponent_ng_template_15_acl_disabled_container_1_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r33 = i0.ɵɵnextContext(); const data_r35 = ctx_r33.$implicit; const columnDef_r36 = ctx_r33.columnDef; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onUpdate(data_r35, columnDef_r36)); });
464
448
  i0.ɵɵelementStart(5, "aui-menu-item");
465
449
  i0.ɵɵtext(6);
466
450
  i0.ɵɵpipe(7, "translate");
467
451
  i0.ɵɵelementEnd()();
468
452
  } if (rf & 2) {
469
- const ctx_r107 = i0.ɵɵnextContext();
470
- const columnDef_r101 = ctx_r107.columnDef;
471
- const data_r100 = ctx_r107.$implicit;
472
- const ctx_r102 = i0.ɵɵnextContext();
473
- i0.ɵɵproperty("isAllowed", !ctx_r102.permissions || ctx_r102.permissions.update)("isDisabled", i0.ɵɵpipeBind2(1, 4, columnDef_r101.extra == null ? null : columnDef_r101.extra.update == null ? null : columnDef_r101.extra.update.disabled.handler, ctx_r102.isFunction) && i0.ɵɵpipeBind3(2, 7, data_r100, columnDef_r101.extra.update.disabled.handler, ctx_r102.finalContext))("tooltip", i0.ɵɵpipeBind1(3, 11, i0.ɵɵpipeBind4(4, 13, columnDef_r101.extra == null ? null : columnDef_r101.extra.update == null ? null : columnDef_r101.extra.update.disabled.tooltip, ctx_r102.getValue, data_r100, ctx_r102.finalContext)));
453
+ const ctx_r33 = i0.ɵɵnextContext();
454
+ const data_r35 = ctx_r33.$implicit;
455
+ const columnDef_r36 = ctx_r33.columnDef;
456
+ const ctx_r2 = i0.ɵɵnextContext();
457
+ i0.ɵɵproperty("isAllowed", !ctx_r2.permissions || ctx_r2.permissions.update)("isDisabled", i0.ɵɵpipeBind2(1, 4, columnDef_r36.extra == null ? null : columnDef_r36.extra.update == null ? null : columnDef_r36.extra.update.disabled.handler, ctx_r2.isFunction) && i0.ɵɵpipeBind3(2, 7, data_r35, columnDef_r36.extra.update.disabled.handler, ctx_r2.finalContext))("tooltip", i0.ɵɵpipeBind1(4, 16, i0.ɵɵpipeBind4(3, 11, columnDef_r36.extra == null ? null : columnDef_r36.extra.update == null ? null : columnDef_r36.extra.update.disabled.tooltip, ctx_r2.getValue, data_r35, ctx_r2.finalContext)));
474
458
  i0.ɵɵadvance(6);
475
459
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 18, "update"));
476
460
  } }
477
461
  function TableComponent_ng_template_15_acl_disabled_container_2_Template(rf, ctx) { if (rf & 1) {
478
- const _r110 = i0.ɵɵgetCurrentView();
479
- i0.ɵɵelementStart(0, "acl-disabled-container", 48);
480
- i0.ɵɵlistener("click", function TableComponent_ng_template_15_acl_disabled_container_2_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r110); const data_r100 = i0.ɵɵnextContext().$implicit; const ctx_r108 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r108.delete.emit(data_r100)); });
462
+ const _r37 = i0.ɵɵgetCurrentView();
463
+ i0.ɵɵelementStart(0, "acl-disabled-container", 47);
481
464
  i0.ɵɵpipe(1, "pure");
482
465
  i0.ɵɵpipe(2, "pure");
483
- i0.ɵɵpipe(3, "translate");
484
- i0.ɵɵpipe(4, "pure");
466
+ i0.ɵɵpipe(3, "pure");
467
+ i0.ɵɵpipe(4, "translate");
468
+ i0.ɵɵlistener("click", function TableComponent_ng_template_15_acl_disabled_container_2_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r37); const data_r35 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.delete.emit(data_r35)); });
485
469
  i0.ɵɵelementStart(5, "aui-menu-item");
486
470
  i0.ɵɵtext(6);
487
471
  i0.ɵɵpipe(7, "translate");
488
472
  i0.ɵɵelementEnd()();
489
473
  } if (rf & 2) {
490
- const ctx_r111 = i0.ɵɵnextContext();
491
- const columnDef_r101 = ctx_r111.columnDef;
492
- const data_r100 = ctx_r111.$implicit;
493
- const ctx_r103 = i0.ɵɵnextContext();
494
- i0.ɵɵproperty("isAllowed", !ctx_r103.permissions || ctx_r103.permissions.delete)("isDisabled", i0.ɵɵpipeBind2(1, 4, columnDef_r101.extra == null ? null : columnDef_r101.extra.delete == null ? null : columnDef_r101.extra.delete.disabled.handler, ctx_r103.isFunction) && i0.ɵɵpipeBind3(2, 7, data_r100, columnDef_r101.extra.delete.disabled.handler, ctx_r103.finalContext))("tooltip", i0.ɵɵpipeBind1(3, 11, i0.ɵɵpipeBind4(4, 13, columnDef_r101.extra == null ? null : columnDef_r101.extra.delete == null ? null : columnDef_r101.extra.delete.disabled.tooltip, ctx_r103.getValue, data_r100, ctx_r103.finalContext)));
474
+ const ctx_r33 = i0.ɵɵnextContext();
475
+ const data_r35 = ctx_r33.$implicit;
476
+ const columnDef_r36 = ctx_r33.columnDef;
477
+ const ctx_r2 = i0.ɵɵnextContext();
478
+ i0.ɵɵproperty("isAllowed", !ctx_r2.permissions || ctx_r2.permissions.delete)("isDisabled", i0.ɵɵpipeBind2(1, 4, columnDef_r36.extra == null ? null : columnDef_r36.extra.delete == null ? null : columnDef_r36.extra.delete.disabled.handler, ctx_r2.isFunction) && i0.ɵɵpipeBind3(2, 7, data_r35, columnDef_r36.extra.delete.disabled.handler, ctx_r2.finalContext))("tooltip", i0.ɵɵpipeBind1(4, 16, i0.ɵɵpipeBind4(3, 11, columnDef_r36.extra == null ? null : columnDef_r36.extra.delete == null ? null : columnDef_r36.extra.delete.disabled.tooltip, ctx_r2.getValue, data_r35, ctx_r2.finalContext)));
495
479
  i0.ɵɵadvance(6);
496
480
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 18, "delete"));
497
481
  } }
498
482
  function TableComponent_ng_template_15_Template(rf, ctx) { if (rf & 1) {
499
483
  i0.ɵɵelementStart(0, "aui-menu");
500
- i0.ɵɵtemplate(1, TableComponent_ng_template_15_acl_disabled_container_1_Template, 8, 20, "acl-disabled-container", 47);
501
- i0.ɵɵtemplate(2, TableComponent_ng_template_15_acl_disabled_container_2_Template, 8, 20, "acl-disabled-container", 47);
484
+ i0.ɵɵtemplate(1, TableComponent_ng_template_15_acl_disabled_container_1_Template, 8, 20, "acl-disabled-container", 46)(2, TableComponent_ng_template_15_acl_disabled_container_2_Template, 8, 20, "acl-disabled-container", 46);
502
485
  i0.ɵɵelementEnd();
503
486
  } if (rf & 2) {
504
- const columnDef_r101 = ctx.columnDef;
505
- i0.ɵɵadvance(1);
506
- i0.ɵɵproperty("ngIf", (columnDef_r101.extra == null ? null : columnDef_r101.extra.update) !== false);
507
- i0.ɵɵadvance(1);
508
- i0.ɵɵproperty("ngIf", (columnDef_r101.extra == null ? null : columnDef_r101.extra.delete) !== false);
487
+ const columnDef_r36 = ctx.columnDef;
488
+ i0.ɵɵadvance();
489
+ i0.ɵɵproperty("ngIf", (columnDef_r36.extra == null ? null : columnDef_r36.extra.update) !== false);
490
+ i0.ɵɵadvance();
491
+ i0.ɵɵproperty("ngIf", (columnDef_r36.extra == null ? null : columnDef_r36.extra.delete) !== false);
509
492
  } }
510
493
  function TableComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
511
494
  i0.ɵɵtext(0);
@@ -717,29 +700,25 @@ export class TableComponent {
717
700
  } }, hostVars: 4, hostBindings: function TableComponent_HostBindings(rf, ctx) { if (rf & 2) {
718
701
  i0.ɵɵstyleProp("max-height", ctx.scrollWrapperHeight);
719
702
  i0.ɵɵclassProp("aui-table__scroll-wrapper", ctx.scrollWrapper);
720
- } }, inputs: { list: "list", dataSource: "dataSource", resourceName: "resourceName", resourceNameTranslated: "resourceNameTranslated", sticky: "sticky", permissions: "permissions", columns: "columns", filterParams: "filterParams", context: "context", filterFn: "filterFn", trackBy: "trackBy", noDataHint: "noDataHint", enablePagination: "enablePagination", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", paginationLayout: "paginationLayout" }, outputs: { update: "update", delete: "delete", sortChange: "sortChange" }, decls: 21, vars: 21, consts: [["auiSort", "", 3, "active", "direction", "dataSource", "trackBy", "auiTableScrollable", "sortChange"], [3, "auiTableColumnDef", "sticky", "stickyEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [4, "auiTableHeaderRowDef", "auiTableHeaderRowDefSticky"], [4, "auiTableRowDef", "auiTableRowDefColumns"], [4, "auiTablePlaceholderDef"], [4, "ngIf"], ["defaultTableCell", ""], ["tableCellContent", ""], ["menu", ""], ["empty", ""], ["noData", ""], [3, "auiTableColumnDef", "sticky", "stickyEnd"], [3, "style", 4, "auiTableHeaderCellDef"], [3, "direction", "ngClass", "style", 4, "auiTableCellDef"], ["aui-sort-header", "", 3, "start", 4, "ngIf"], ["aui-sort-header", "", 3, "start"], [3, "direction", "ngClass"], [4, "ngIf", "ngIfElse"], ["tableCellDefTpl", ""], ["defaultTableCellTpl", ""], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "empty-placeholder", 4, "ngIf"], ["class", "empty-placeholder", 4, "ngIf", "ngIfElse"], ["listFooter", ""], [1, "empty-placeholder"], [3, "list", "resourceName", "resourceNameTranslated"], ["loading", ""], ["size", "16px", "icon", "spinner", 1, "acl-loading-mask__icon"], [3, "layout", "currentPage", "pageSize", "total", "pageSizeOptions", "currentPageChange", "pageSizeChange"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], ["class", "aui-table__cell__name", 4, "ngIf"], ["class", "aui-table__cell__display-name", 3, "deleting-text", 4, "ngIf"], [1, "aui-table__cell__name"], ["plainName", ""], [3, "resource", 4, "ngIf"], [3, "routerLink", "auiTooltip"], [3, "auiTooltip"], [3, "resource"], [1, "aui-table__cell__display-name"], [3, "time"], ["aui-button", "text", "size", "small", 3, "square", "auiDropdown", "auiDropdownContext"], ["icon", "ellipsis_v_s"], ["class", "text-overflow", 3, "auiTooltip", 4, "ngIf", "ngIfElse"], ["plainText", ""], [1, "text-overflow", 3, "auiTooltip"], [3, "isAllowed", "isDisabled", "tooltip", "click", 4, "ngIf"], [3, "isAllowed", "isDisabled", "tooltip", "click"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
721
- i0.ɵɵelementStart(0, "aui-table", 0);
722
- i0.ɵɵlistener("sortChange", function TableComponent_Template_aui_table_sortChange_0_listener($event) { return ctx.onSortChange($event); });
703
+ } }, inputs: { list: "list", dataSource: "dataSource", resourceName: "resourceName", resourceNameTranslated: "resourceNameTranslated", sticky: "sticky", permissions: "permissions", columns: "columns", filterParams: "filterParams", context: "context", filterFn: "filterFn", trackBy: "trackBy", noDataHint: "noDataHint", enablePagination: "enablePagination", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", paginationLayout: "paginationLayout", firstScrollLoad: "firstScrollLoad" }, outputs: { update: "update", delete: "delete", sortChange: "sortChange" }, decls: 21, vars: 21, consts: [["defaultTableCell", ""], ["tableCellContent", ""], ["menu", ""], ["empty", ""], ["noData", ""], ["tableCellDefTpl", ""], ["defaultTableCellTpl", ""], ["loading", ""], ["plainName", ""], ["plainText", ""], ["auiSort", "", 3, "sortChange", "active", "direction", "dataSource", "trackBy", "auiTableScrollable"], [3, "auiTableColumnDef", "sticky", "stickyEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [4, "auiTableHeaderRowDef", "auiTableHeaderRowDefSticky"], [4, "auiTableRowDef", "auiTableRowDefColumns"], [4, "auiTablePlaceholderDef"], [4, "ngIf"], [3, "auiTableColumnDef", "sticky", "stickyEnd"], [3, "style", 4, "auiTableHeaderCellDef"], [3, "direction", "ngClass", "style", 4, "auiTableCellDef"], ["aui-sort-header", "", 3, "start", 4, "ngIf"], ["aui-sort-header", "", 3, "start"], [3, "direction", "ngClass"], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "empty-placeholder", 4, "ngIf"], [1, "empty-placeholder", 3, "hidden"], [3, "hidden", "list", "resourceName", "resourceNameTranslated", "firstScrollLoad"], [1, "empty-placeholder"], ["size", "16px", "icon", "spinner", 1, "acl-loading-mask__icon"], [3, "currentPageChange", "pageSizeChange", "layout", "currentPage", "pageSize", "total", "pageSizeOptions"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], ["class", "aui-table__cell__name", 4, "ngIf"], ["class", "aui-table__cell__display-name", 3, "deleting-text", 4, "ngIf"], [1, "aui-table__cell__name"], [3, "resource", 4, "ngIf"], [3, "routerLink", "auiTooltip"], [3, "auiTooltip"], [3, "resource"], [1, "aui-table__cell__display-name"], [3, "time"], ["aui-button", "text", "size", "small", 3, "square", "auiDropdown", "auiDropdownContext"], ["icon", "ellipsis_v_s"], ["class", "text-overflow", 3, "auiTooltip", 4, "ngIf", "ngIfElse"], [1, "text-overflow", 3, "auiTooltip"], [3, "isAllowed", "isDisabled", "tooltip", "click", 4, "ngIf"], [3, "click", "isAllowed", "isDisabled", "tooltip"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
704
+ const _r1 = i0.ɵɵgetCurrentView();
705
+ i0.ɵɵelementStart(0, "aui-table", 10);
723
706
  i0.ɵɵpipe(1, "async");
724
707
  i0.ɵɵpipe(2, "async");
725
- i0.ɵɵtemplate(3, TableComponent_ng_container_3_Template, 3, 3, "ng-container", 1);
708
+ i0.ɵɵlistener("sortChange", function TableComponent_Template_aui_table_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSortChange($event)); });
709
+ i0.ɵɵtemplate(3, TableComponent_ng_container_3_Template, 3, 3, "ng-container", 11);
726
710
  i0.ɵɵpipe(4, "async");
727
- i0.ɵɵtemplate(5, TableComponent_aui_table_header_row_5_Template, 1, 0, "aui-table-header-row", 2);
711
+ i0.ɵɵtemplate(5, TableComponent_aui_table_header_row_5_Template, 1, 0, "aui-table-header-row", 12);
728
712
  i0.ɵɵpipe(6, "async");
729
- i0.ɵɵtemplate(7, TableComponent_aui_table_row_7_Template, 1, 0, "aui-table-row", 3);
713
+ i0.ɵɵtemplate(7, TableComponent_aui_table_row_7_Template, 1, 0, "aui-table-row", 13);
730
714
  i0.ɵɵpipe(8, "async");
731
- i0.ɵɵtemplate(9, TableComponent_ng_container_9_Template, 4, 4, "ng-container", 4);
715
+ i0.ɵɵtemplate(9, TableComponent_ng_container_9_Template, 4, 4, "ng-container", 14);
732
716
  i0.ɵɵelementEnd();
733
- i0.ɵɵtemplate(10, TableComponent_ng_container_10_Template, 4, 9, "ng-container", 5);
734
- i0.ɵɵtemplate(11, TableComponent_ng_template_11_Template, 5, 4, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
735
- i0.ɵɵtemplate(13, TableComponent_ng_template_13_Template, 4, 10, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
736
- i0.ɵɵtemplate(15, TableComponent_ng_template_15_Template, 3, 2, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
737
- i0.ɵɵtemplate(17, TableComponent_ng_template_17_Template, 2, 3, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
738
- i0.ɵɵtemplate(19, TableComponent_ng_template_19_Template, 2, 3, "ng-template", null, 10, i0.ɵɵtemplateRefExtractor);
717
+ i0.ɵɵtemplate(10, TableComponent_ng_container_10_Template, 4, 9, "ng-container", 15)(11, TableComponent_ng_template_11_Template, 5, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(13, TableComponent_ng_template_13_Template, 4, 10, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(15, TableComponent_ng_template_15_Template, 3, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(17, TableComponent_ng_template_17_Template, 2, 3, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(19, TableComponent_ng_template_19_Template, 2, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
739
718
  } if (rf & 2) {
740
- let tmp_0_0;
741
- let tmp_1_0;
742
- i0.ɵɵproperty("active", (tmp_0_0 = i0.ɵɵpipeBind1(1, 11, ctx.activeSort$)) == null ? null : tmp_0_0.active)("direction", (tmp_1_0 = i0.ɵɵpipeBind1(2, 13, ctx.activeSort$)) == null ? null : tmp_1_0.direction)("dataSource", ctx.pagedItems$)("trackBy", ctx.trackBy)("auiTableScrollable", !!ctx.sticky);
719
+ let tmp_5_0;
720
+ let tmp_6_0;
721
+ i0.ɵɵproperty("active", (tmp_5_0 = i0.ɵɵpipeBind1(1, 11, ctx.activeSort$)) == null ? null : tmp_5_0.active)("direction", (tmp_6_0 = i0.ɵɵpipeBind1(2, 13, ctx.activeSort$)) == null ? null : tmp_6_0.direction)("dataSource", ctx.pagedItems$)("trackBy", ctx.trackBy)("auiTableScrollable", !!ctx.sticky);
743
722
  i0.ɵɵadvance(3);
744
723
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(4, 15, ctx.columnDefs$))("ngForTrackBy", ctx.trackByName);
745
724
  i0.ɵɵadvance(2);
@@ -774,10 +753,10 @@ __decorate([
774
753
  ObservableInput(),
775
754
  __metadata("design:type", Observable)
776
755
  ], TableComponent.prototype, "filterFn$", void 0);
777
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
756
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
778
757
  type: Component,
779
- args: [{ selector: 'acl-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-table\n auiSort\n [active]=\"(activeSort$ | async)?.active\"\n [direction]=\"(activeSort$ | async)?.direction\"\n [dataSource]=\"pagedItems$\"\n [trackBy]=\"trackBy\"\n (sortChange)=\"onSortChange($event)\"\n [auiTableScrollable]=\"!!sticky\"\n>\n <ng-container\n *ngFor=\"let columnDef of columnDefs$ | async; trackBy: trackByName\"\n [auiTableColumnDef]=\"columnDef.name\"\n [sticky]=\"columnDef.sticky\"\n [stickyEnd]=\"columnDef.stickyEnd\"\n >\n <aui-table-header-cell\n *auiTableHeaderCellDef\n [style]=\"columnDef.style\"\n >\n <ng-container *ngIf=\"columnDef.name !== ACTION\">\n <span\n *ngIf=\"columnDef.sort\"\n aui-sort-header\n [start]=\"columnDef.sort.direction\"\n >{{ columnDef.label || columnDef.name | translate }}</span\n >\n <span *ngIf=\"!columnDef.sort\">{{\n columnDef.label || columnDef.name | translate\n }}</span>\n </ng-container>\n </aui-table-header-cell>\n\n <aui-table-cell\n *auiTableCellDef=\"\n let data;\n let index = index;\n let even = even;\n let odd = odd;\n let last = last\n \"\n [direction]=\"columnDef.direction\"\n [ngClass]=\"columnDef.class\"\n [style]=\"columnDef.style\"\n >\n <ng-container\n *ngIf=\"\n columnDef.name | pure: getColumnTemplate as template;\n else tableCellDefTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: {\n $implicit: data,\n index: index,\n even: even,\n odd: odd,\n last: last\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #tableCellDefTpl>\n <ng-container\n *ngIf=\"\n columnDef.path != null &&\n (data\n | pure\n : getValueFromPath\n : columnDef.name\n : columnDef.path) as value;\n else defaultTableCellTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #defaultTableCellTpl>\n <ng-container\n *ngTemplateOutlet=\"\n defaultTableCell;\n context: { data: data, columnDef: columnDef }\n \"\n ></ng-container>\n </ng-template>\n </aui-table-cell>\n </ng-container>\n\n <aui-table-header-row\n *auiTableHeaderRowDef=\"columnNames$ | async; sticky: !!sticky\"\n ></aui-table-header-row>\n <aui-table-row\n *auiTableRowDef=\"let row; columns: columnNames$ | async\"\n ></aui-table-row>\n\n <ng-container *auiTablePlaceholderDef>\n <ng-container *ngIf=\"list\">\n <div\n *ngIf=\"\n !(pagedItems$ | async)?.length && (list.items$ | async)?.length;\n else listFooter\n \"\n class=\"empty-placeholder\"\n >\n <ng-container\n *ngIf=\"finalResourceName$ | async as finalResourceName; else noData\"\n >\n {{\n 'no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (finalResourceName | translate: null:true)\n }\n }}\n </ng-container>\n </div>\n <ng-template #listFooter>\n <acl-k8s-resource-list-footer\n [list]=\"list\"\n [resourceName]=\"finalResourceName$ | async\"\n [resourceNameTranslated]=\"resourceNameTranslated\"\n ></acl-k8s-resource-list-footer>\n </ng-template>\n </ng-container>\n <div\n *ngIf=\"!list && !(pagedItems$ | async)?.length\"\n class=\"empty-placeholder\"\n >\n <ng-container *ngIf=\"finalDataSource$ | async; else loading\">\n {{\n noDataHint ||\n ('no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (resourceName | translate: null:true)\n })\n }}\n </ng-container>\n <ng-template #loading>\n <aui-icon\n class=\"acl-loading-mask__icon\"\n size=\"16px\"\n icon=\"spinner\"\n ></aui-icon>\n {{ 'loading_please_wait' | translate }}\n </ng-template>\n </div>\n </ng-container>\n</aui-table>\n\n<ng-container *ngIf=\"enablePagination\">\n <aui-paginator\n [layout]=\"paginationLayout\"\n [currentPage]=\"currentPage$ | async\"\n [pageSize]=\"pageSize$ | async\"\n [total]=\"pagination.total\"\n (currentPageChange)=\"currentPage$.next($event)\"\n (pageSizeChange)=\"pageSize$.next($event)\"\n [pageSizeOptions]=\"pageSizeOptions\"\n ></aui-paginator>\n</ng-container>\n\n<ng-template\n #defaultTableCell\n let-data=\"data\"\n let-columnDef=\"columnDef\"\n>\n <ng-container [ngSwitch]=\"columnDef.name\">\n <ng-container *ngSwitchCase=\"NAME\">\n <div\n *ngIf=\"data | pure: getValueFromPath:columnDef.name as name\"\n class=\"aui-table__cell__name\"\n >\n <ng-container\n *ngIf=\"\n columnDef.extra?.link !== false && !(data | aclIsDeleting);\n else plainName\n \"\n >\n <a\n [routerLink]=\"[(isListPage$ | async) ? '..' : '.', 'detail', name]\"\n [auiTooltip]=\"name\"\n >\n {{ name }}\n </a>\n </ng-container>\n <ng-template #plainName>\n <span\n [auiTooltip]=\"name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >{{ name }}</span\n >\n </ng-template>\n <acl-deleting-tag\n *ngIf=\"data | pure: isK8sResource\"\n [resource]=\"data\"\n ></acl-deleting-tag>\n </div>\n <div\n *ngIf=\"\n (data | pure: isK8sResource)\n ? (data | aclDisplayName)\n : data.displayName as displayName\n \"\n class=\"aui-table__cell__display-name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >\n {{ displayName }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"CREATED_AT\">\n <acl-relative-time\n [time]=\"data | pure: getValueFromPath:columnDef.name\"\n ></acl-relative-time>\n </ng-container>\n <ng-container *ngSwitchCase=\"ACTION\">\n <button\n aui-button=\"text\"\n [square]=\"true\"\n size=\"small\"\n [auiDropdown]=\"menu\"\n [auiDropdownContext]=\"{ $implicit: data, columnDef: columnDef }\"\n >\n <aui-icon icon=\"ellipsis_v_s\"></aui-icon>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngIf=\"\n data | pure: getValueFromPath:columnDef.name as value;\n else empty\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #tableCellContent\n let-columnDef=\"columnDef\"\n let-value=\"value\"\n>\n <ng-container\n *ngIf=\"\n columnDef.translate == null\n ? value\n : columnDef.translate === true\n ? (value | translate)\n : (value | pure: columnDef.translate:finalContext | translate) as text;\n else empty\n \"\n >\n <div\n *ngIf=\"columnDef.ellipsis; else plainText\"\n class=\"text-overflow\"\n [auiTooltip]=\"text\"\n >\n {{ text }}\n </div>\n <ng-template #plainText>{{ text }}</ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #menu\n let-data\n let-columnDef=\"columnDef\"\n ><aui-menu>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.update !== false\"\n [isAllowed]=\"!permissions || permissions.update\"\n [isDisabled]=\"\n (columnDef.extra?.update?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.update.disabled.handler:finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.update?.disabled.tooltip\n | pure: getValue:data:finalContext\n | translate\n \"\n (click)=\"onUpdate(data, columnDef)\"\n >\n <aui-menu-item>{{ 'update' | translate }}</aui-menu-item>\n </acl-disabled-container>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.delete !== false\"\n [isAllowed]=\"!permissions || permissions.delete\"\n [isDisabled]=\"\n (columnDef.extra?.delete?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.delete.disabled.handler:finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.delete?.disabled.tooltip\n | pure: getValue:data:finalContext\n | translate\n \"\n (click)=\"delete.emit(data)\"\n >\n <aui-menu-item>{{ 'delete' | translate }}</aui-menu-item>\n </acl-disabled-container>\n </aui-menu></ng-template\n>\n\n<ng-template #empty>{{ null | aclFieldNotAvailable }}</ng-template>\n\n<ng-template #noData>{{ 'no_data' | translate }}</ng-template>\n", styles: [".deleting-text{color:rgb(var(--aui-color-disabled-text))}:host{display:block}:host.aui-table__scroll-wrapper{display:flex}:host ::ng-deep+acl-table{margin-top:12px}html:not([lang|=zh]) :host ::ng-deep .aui-table__column-created_at{flex:0 0 140px}\n"] }]
780
- }], function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TableUtilService }]; }, { list: [{
758
+ args: [{ selector: 'acl-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-table\n auiSort\n [active]=\"(activeSort$ | async)?.active\"\n [direction]=\"(activeSort$ | async)?.direction\"\n [dataSource]=\"pagedItems$\"\n [trackBy]=\"trackBy\"\n (sortChange)=\"onSortChange($event)\"\n [auiTableScrollable]=\"!!sticky\"\n>\n <ng-container\n *ngFor=\"let columnDef of columnDefs$ | async; trackBy: trackByName\"\n [auiTableColumnDef]=\"columnDef.name\"\n [sticky]=\"columnDef.sticky\"\n [stickyEnd]=\"columnDef.stickyEnd\"\n >\n <aui-table-header-cell\n *auiTableHeaderCellDef\n [style]=\"columnDef.style\"\n >\n <ng-container *ngIf=\"columnDef.name !== ACTION\">\n <span\n *ngIf=\"columnDef.sort\"\n aui-sort-header\n [start]=\"columnDef.sort.direction\"\n >{{ columnDef.label || columnDef.name | translate }}</span\n >\n <span *ngIf=\"!columnDef.sort\">{{\n columnDef.label || columnDef.name | translate\n }}</span>\n </ng-container>\n </aui-table-header-cell>\n\n <aui-table-cell\n *auiTableCellDef=\"\n let data;\n let index = index;\n let even = even;\n let odd = odd;\n let last = last\n \"\n [direction]=\"columnDef.direction\"\n [ngClass]=\"columnDef.class\"\n [style]=\"columnDef.style\"\n >\n <ng-container\n *ngIf=\"\n columnDef.name | pure: getColumnTemplate as template;\n else tableCellDefTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: {\n $implicit: data,\n index: index,\n even: even,\n odd: odd,\n last: last,\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #tableCellDefTpl>\n <ng-container\n *ngIf=\"\n columnDef.path != null &&\n (data\n | pure\n : getValueFromPath\n : columnDef.name\n : columnDef.path) as value;\n else defaultTableCellTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #defaultTableCellTpl>\n <ng-container\n *ngTemplateOutlet=\"\n defaultTableCell;\n context: { data: data, columnDef: columnDef }\n \"\n ></ng-container>\n </ng-template>\n </aui-table-cell>\n </ng-container>\n\n <aui-table-header-row\n *auiTableHeaderRowDef=\"columnNames$ | async; sticky: !!sticky\"\n ></aui-table-header-row>\n <aui-table-row\n *auiTableRowDef=\"let row; columns: columnNames$ | async\"\n ></aui-table-row>\n\n <ng-container *auiTablePlaceholderDef>\n <ng-container *ngIf=\"list\">\n <div\n [hidden]=\"\n (pagedItems$ | async)?.length || !(list.items$ | async)?.length\n \"\n class=\"empty-placeholder\"\n >\n <ng-container\n *ngIf=\"finalResourceName$ | async as finalResourceName; else noData\"\n >\n {{\n 'no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (finalResourceName | translate: null : true),\n }\n }}\n </ng-container>\n </div>\n <acl-k8s-resource-list-footer\n [hidden]=\"\n !(pagedItems$ | async)?.length && (list.items$ | async)?.length\n \"\n [list]=\"list\"\n [resourceName]=\"finalResourceName$ | async\"\n [resourceNameTranslated]=\"resourceNameTranslated\"\n [firstScrollLoad]=\"firstScrollLoad\"\n ></acl-k8s-resource-list-footer>\n </ng-container>\n <div\n *ngIf=\"!list && !(pagedItems$ | async)?.length\"\n class=\"empty-placeholder\"\n >\n <ng-container *ngIf=\"finalDataSource$ | async; else loading\">\n {{\n noDataHint ||\n ('no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (resourceName | translate: null : true),\n })\n }}\n </ng-container>\n <ng-template #loading>\n <aui-icon\n class=\"acl-loading-mask__icon\"\n size=\"16px\"\n icon=\"spinner\"\n ></aui-icon>\n {{ 'loading_please_wait' | translate }}\n </ng-template>\n </div>\n </ng-container>\n</aui-table>\n\n<ng-container *ngIf=\"enablePagination\">\n <aui-paginator\n [layout]=\"paginationLayout\"\n [currentPage]=\"currentPage$ | async\"\n [pageSize]=\"pageSize$ | async\"\n [total]=\"pagination.total\"\n (currentPageChange)=\"currentPage$.next($event)\"\n (pageSizeChange)=\"pageSize$.next($event)\"\n [pageSizeOptions]=\"pageSizeOptions\"\n ></aui-paginator>\n</ng-container>\n\n<ng-template\n #defaultTableCell\n let-data=\"data\"\n let-columnDef=\"columnDef\"\n>\n <ng-container [ngSwitch]=\"columnDef.name\">\n <ng-container *ngSwitchCase=\"NAME\">\n <div\n *ngIf=\"data | pure: getValueFromPath : columnDef.name as name\"\n class=\"aui-table__cell__name\"\n >\n <ng-container\n *ngIf=\"\n columnDef.extra?.link !== false && !(data | aclIsDeleting);\n else plainName\n \"\n >\n <a\n [routerLink]=\"[(isListPage$ | async) ? '..' : '.', 'detail', name]\"\n [auiTooltip]=\"name\"\n >\n {{ name }}\n </a>\n </ng-container>\n <ng-template #plainName>\n <span\n [auiTooltip]=\"name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >{{ name }}</span\n >\n </ng-template>\n <acl-deleting-tag\n *ngIf=\"data | pure: isK8sResource\"\n [resource]=\"data\"\n ></acl-deleting-tag>\n </div>\n <div\n *ngIf=\"\n (data | pure: isK8sResource)\n ? (data | aclDisplayName)\n : data.displayName as displayName\n \"\n class=\"aui-table__cell__display-name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >\n {{ displayName }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"CREATED_AT\">\n <acl-relative-time\n [time]=\"data | pure: getValueFromPath : columnDef.name\"\n ></acl-relative-time>\n </ng-container>\n <ng-container *ngSwitchCase=\"ACTION\">\n <button\n aui-button=\"text\"\n [square]=\"true\"\n size=\"small\"\n [auiDropdown]=\"menu\"\n [auiDropdownContext]=\"{ $implicit: data, columnDef: columnDef }\"\n >\n <aui-icon icon=\"ellipsis_v_s\"></aui-icon>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngIf=\"\n data | pure: getValueFromPath : columnDef.name as value;\n else empty\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #tableCellContent\n let-columnDef=\"columnDef\"\n let-value=\"value\"\n>\n <ng-container\n *ngIf=\"\n columnDef.translate == null\n ? value\n : columnDef.translate === true\n ? (value | translate)\n : (value\n | pure: columnDef.translate : finalContext\n | translate) as text;\n else empty\n \"\n >\n <div\n *ngIf=\"columnDef.ellipsis; else plainText\"\n class=\"text-overflow\"\n [auiTooltip]=\"text\"\n >\n {{ text }}\n </div>\n <ng-template #plainText>{{ text }}</ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #menu\n let-data\n let-columnDef=\"columnDef\"\n ><aui-menu>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.update !== false\"\n [isAllowed]=\"!permissions || permissions.update\"\n [isDisabled]=\"\n (columnDef.extra?.update?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.update.disabled.handler : finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.update?.disabled.tooltip\n | pure: getValue : data : finalContext\n | translate\n \"\n (click)=\"onUpdate(data, columnDef)\"\n >\n <aui-menu-item>{{ 'update' | translate }}</aui-menu-item>\n </acl-disabled-container>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.delete !== false\"\n [isAllowed]=\"!permissions || permissions.delete\"\n [isDisabled]=\"\n (columnDef.extra?.delete?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.delete.disabled.handler : finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.delete?.disabled.tooltip\n | pure: getValue : data : finalContext\n | translate\n \"\n (click)=\"delete.emit(data)\"\n >\n <aui-menu-item>{{ 'delete' | translate }}</aui-menu-item>\n </acl-disabled-container>\n </aui-menu></ng-template\n>\n\n<ng-template #empty>{{ null | aclFieldNotAvailable }}</ng-template>\n\n<ng-template #noData>{{ 'no_data' | translate }}</ng-template>\n", styles: [".deleting-text{color:rgb(var(--aui-color-disabled-text))}:host{display:block}:host.aui-table__scroll-wrapper{display:flex}:host ::ng-deep+acl-table{margin-top:12px}html:not([lang|=zh]) :host ::ng-deep .aui-table__column-created_at{flex:0 0 140px}\n"] }]
759
+ }], () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TableUtilService }], { list: [{
781
760
  type: Input
782
761
  }], list$: [], dataSource: [{
783
762
  type: Input
@@ -809,6 +788,8 @@ __decorate([
809
788
  type: Input
810
789
  }], paginationLayout: [{
811
790
  type: Input
791
+ }], firstScrollLoad: [{
792
+ type: Input
812
793
  }], update: [{
813
794
  type: Output
814
795
  }], delete: [{
@@ -825,4 +806,5 @@ __decorate([
825
806
  type: HostBinding,
826
807
  args: ['style.max-height']
827
808
  }] }); })();
828
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUUsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsRUFBRSxFQUNGLGFBQWEsRUFDYixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixHQUVsQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFl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LE1BR1IsWUFBWTtrQkFEWCxLQUFLO1lBSU4sYUFBYSxNQUdiLE9BQU87a0JBRE4sS0FBSztZQVFOLFFBQVE7a0JBRFAsS0FBSztZQUlOLFNBQVMsTUFHVCxPQUFPO2tCQUROLEtBQUs7WUFJTixVQUFVO2tCQURULEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLGVBQWU7a0JBRGQsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBSU4sTUFBTTtrQkFETCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNO1lBSVAsVUFBVTtrQkFEVCxNQUFNO1lBSVAsYUFBYTtrQkFEWixlQUFlO21CQUFDLHFCQUFxQjtZQUlsQyxhQUFhO2tCQURoQixXQUFXO21CQUFDLGlDQUFpQztZQU0xQyxtQkFBbUI7a0JBRHRCLFdBQVc7bUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlUGl4ZWwsIFNvcnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIGlzT2JqZWN0TGlrZSwgaXNTdHJpbmcsIGxhc3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgUmVwbGF5U3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBQ1RJT04sIENSRUFURURfQVQsIExJTkssIFVQREFURSB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc0ZpZWxkTm90QXZhaWxhYmxlIH0gZnJvbSAnLi4vY29yZS9waXBlcy9maWVsZC1ub3QtYXZhaWxhYmxlLnBpcGUnO1xuaW1wb3J0IHsgQ1JFQVRPUiwgTkFNRSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvazhzLXV0aWwuc2VydmljZSc7XG5pbXBvcnQge1xuICBLOHNSZXNvdXJjZUFjdGlvbixcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbn0gZnJvbSAnLi4vY29yZS90eXBlcy9rOHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBpc0s4c1Jlc291cmNlLCBub29wLCB0cmFja0J5VWlkIH0gZnJvbSAnLi4vY29yZS91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vY29yZS91dGlscy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IHB1Ymxpc2hSZWYgfSBmcm9tICcuLi9jb3JlL3V0aWxzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdHJlYW1MaXN0TG9hZGVyIH0gZnJvbSAnLi4vazhzLXJlc291cmNlLWxpc3QvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBERUZBVUxUX1BBR0VfU0laRSxcbiAgREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUyxcbiAgREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9oZWxwZXJzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWYsXG4gIFRhYmxlQ29sdW1uRGVmcyxcbiAgVGFibGVDb2x1bW4sXG4gIFRhYmxlQ29sdW1uRGVmLFxuICBUYWJsZUZpbHRlckZuLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbSxcbiAgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXIsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgS05PV05fQ09MVU1OUywgVGFibGVVdGlsU2VydmljZSB9IGZyb20gJy4vdXRpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIENvbnRleHQgPSBUYWJsZVV0aWxTZXJ2aWNlPEl0ZW0+LFxuPiB7XG4gIEBJbnB1dCgpXG4gIGxpc3QhOiBTdHJlYW1MaXN0TG9hZGVyPEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8SXRlbT4sIEl0ZW0+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBsaXN0JCE6IE9ic2VydmFibGU8U3RyZWFtTGlzdExvYWRlcjxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEl0ZW0+LCBJdGVtPj47XG5cbiAgQElucHV0KClcbiAgZGF0YVNvdXJjZTogSXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhU291cmNlJCE6IE9ic2VydmFibGU8SXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+PjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWU6IHN0cmluZztcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVzb3VyY2VOYW1lJCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc3RpY2t5OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcGVybWlzc2lvbnM6IFBhcnRpYWw8UmVjb3JkPEs4c1Jlc291cmNlQWN0aW9uLCBib29sZWFuPj47XG5cbiAgQElucHV0KClcbiAgY29sdW1uczogUmVhZG9ubHlBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGNvbHVtbnMkITogT2JzZXJ2YWJsZTxBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj4+O1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlclBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGZpbHRlclBhcmFtcyQhOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcblxuICBASW5wdXQoKVxuICBjb250ZXh0OiBDb250ZXh0O1xuXG4gIGdldCBmaW5hbENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dCA/PyAodGhpcy51dGlsIGFzIHVua25vd24gYXMgQ29udGV4dCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmaWx0ZXJGbjogVGFibGVGaWx0ZXJGbjxJdGVtLCBDb250ZXh0PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmlsdGVyRm4kITogT2JzZXJ2YWJsZTxUYWJsZUZpbHRlckZuPEl0ZW0sIENvbnRleHQ+PjtcblxuICBASW5wdXQoKVxuICB0cmFja0J5OiBUcmFja0J5RnVuY3Rpb248SXRlbT4gPSB0aGlzLnRyYWNrQnlGbjtcblxuICBASW5wdXQoKVxuICBub0RhdGFIaW50OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZW5hYmxlUGFnaW5hdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2VTaXplID0gREVGQVVMVF9QQUdFX1NJWkU7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemVPcHRpb25zID0gREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUztcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uTGF5b3V0ID0gREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVDtcblxuICBAT3V0cHV0KClcbiAgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtPigpO1xuXG4gIEBPdXRwdXQoKVxuICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJsZUNlbGxEZWZEaXJlY3RpdmUpXG4gIHRhYmxlQ2VsbERlZnM6IFF1ZXJ5TGlzdDxUYWJsZUNlbGxEZWZEaXJlY3RpdmU8SXRlbT4+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXVpLXRhYmxlX19zY3JvbGwtd3JhcHBlcicpXG4gIGdldCBzY3JvbGxXcmFwcGVyKCkge1xuICAgIHJldHVybiAhIXRoaXMuc3RpY2t5O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgZ2V0IHNjcm9sbFdyYXBwZXJIZWlnaHQoKSB7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKHRoaXMuc3RpY2t5KTtcbiAgfVxuXG4gIGN1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcblxuICBwYWdlU2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9QQUdFX1NJWkUpO1xuXG4gIHBhZ2luYXRpb24gPSB7XG4gICAgdG90YWw6IDAsXG4gICAgcGFnZXM6IDAsXG4gIH07XG5cbiAgZmluYWxEYXRhU291cmNlJCA9IHRoaXMuZGF0YVNvdXJjZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoZGF0YVNvdXJjZSA9PlxuICAgICAgZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyBkYXRhU291cmNlIDogb2YoZGF0YVNvdXJjZSksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgZmluYWxSZXNvdXJjZU5hbWUkID0gY29tYmluZUxhdGVzdChbdGhpcy5saXN0JCwgdGhpcy5yZXNvdXJjZU5hbWUkXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtsaXN0LCByZXNvdXJjZU5hbWVdKSA9PlxuICAgICAgIWxpc3QgfHwgcmVzb3VyY2VOYW1lXG4gICAgICAgID8gb2YocmVzb3VyY2VOYW1lKVxuICAgICAgICA6IGxpc3QucmF3UmVzcG9uc2UkLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzID0+IHJlcz8ua2luZC5zbGljZSgwLCAtNCkudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb2x1bW5EZWZzJCA9IHRoaXMuY29sdW1ucyQucGlwZShcbiAgICBtYXAoXG4gICAgICBjb2x1bW5zID0+XG4gICAgICAgIChjb2x1bW5zIHx8IFtdKS5tYXAoY29sdW1uID0+IHtcbiAgICAgICAgICBjb2x1bW4gPSBpc1N0cmluZyhjb2x1bW4pID8geyBuYW1lOiBjb2x1bW4gfSA6IGNvbHVtbjtcbiAgICAgICAgICBpZiAoISgncGF0aCcgaW4gY29sdW1uKSAmJiAhS05PV05fQ09MVU1OUy5oYXMoY29sdW1uLm5hbWUpKSB7XG4gICAgICAgICAgICBjb2x1bW4ucGF0aCA9IGNvbHVtbi5uYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUNvbHVtbkRlZlNvcnQoY29sdW1uKTtcbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUNvbHVtbkRlZlRyYW5zbGF0ZShjb2x1bW4pO1xuICAgICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZUFjdGlvbkNvbHVtbkRlZihjb2x1bW4pO1xuICAgICAgICB9KSBhcyBUYWJsZUNvbHVtbkRlZnM8SXRlbSwgQ29udGV4dD4sXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgY29sdW1uTmFtZXMkID0gdGhpcy5jb2x1bW5EZWZzJC5waXBlKFxuICAgIG1hcChjb2x1bW5zID0+IGNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ubmFtZSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBhY3RpdmVTb3J0JCQgPSBuZXcgUmVwbGF5U3ViamVjdDxTb3J0PigxKTtcblxuICBhY3RpdmVTb3J0JDogT2JzZXJ2YWJsZTxTb3J0PiA9IG1lcmdlKFxuICAgIHRoaXMuYWN0aXZlU29ydCQkLFxuICAgIHRoaXMuY29sdW1uRGVmcyQucGlwZShcbiAgICAgIG1hcChjb2x1bW5EZWZzID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uRGVmID0gY29sdW1uRGVmcy5maW5kKGNvbHVtbiA9PiBjb2x1bW4uc29ydD8uYWN0aXZlKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbkRlZlxuICAgICAgICAgID8geyBhY3RpdmU6IGNvbHVtbkRlZi5uYW1lLCBkaXJlY3Rpb246IGNvbHVtbkRlZi5zb3J0LmRpcmVjdGlvbiB9XG4gICAgICAgICAgOiBudWxsO1xuICAgICAgfSksXG4gICAgKSxcbiAgKS5waXBlKHB1Ymxpc2hSZWYoKSk7XG5cbiAgZmlsdGVyZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLmZpbmFsRGF0YVNvdXJjZSRdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChbbGlzdCwgZGF0YVNvdXJjZV0pID0+IChsaXN0ID8gbGlzdC5pdGVtcyQgOiBvZihkYXRhU291cmNlKSkpLFxuICAgICksXG4gICAgdGhpcy5jb2x1bW5EZWZzJCxcbiAgICB0aGlzLmFjdGl2ZVNvcnQkLFxuICAgIHRoaXMuZmlsdGVyUGFyYW1zJCxcbiAgICB0aGlzLmZpbHRlckZuJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW1xuICAgICAgICBpdGVtcyxcbiAgICAgICAgY29sdW1uRGVmcyxcbiAgICAgICAgYWN0aXZlU29ydCxcbiAgICAgICAgZmlsdGVyUGFyYW1zLFxuICAgICAgICBmaWx0ZXJGbiA9IHRoaXMudXRpbC5kZWZhdWx0RmlsdGVyRm4sXG4gICAgICBdKSA9PlxuICAgICAgICBmaWx0ZXJGbi5jYWxsKFxuICAgICAgICAgIHRoaXMuZmluYWxDb250ZXh0LFxuICAgICAgICAgIGl0ZW1zLFxuICAgICAgICAgIGNvbHVtbkRlZnMsXG4gICAgICAgICAgYWN0aXZlU29ydCxcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgICAgdGhpcy5maW5hbENvbnRleHQsXG4gICAgICAgICksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgcGFnZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLFxuICAgIHRoaXMuY3VycmVudFBhZ2UkLFxuICAgIHRoaXMucGFnZVNpemUkLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW2l0ZW1zLCBfLCBwYWdlU2l6ZV0pID0+IHtcbiAgICAgIGlmICh0aGlzLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID1cbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgID8geyB0b3RhbDogMCwgcGFnZXM6IDAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgdG90YWw6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgICAgICAgICBwYWdlczogTWF0aC5jZWlsKGl0ZW1zLmxlbmd0aCAvIHBhZ2VTaXplKSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBtYXAoKFtpdGVtcywgY3VycmVudFBhZ2UsIHBhZ2VTaXplXSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbi5wYWdlcyA8IGN1cnJlbnRQYWdlICYmIHRoaXMucGFnaW5hdGlvbi5wYWdlcyAhPT0gMCkge1xuICAgICAgICBjdXJyZW50UGFnZSA9IHRoaXMucGFnaW5hdGlvbi5wYWdlcztcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSQubmV4dChjdXJyZW50UGFnZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBiZWdpbiA9IChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemU7XG4gICAgICByZXR1cm4gaXRlbXMuc2xpY2UoYmVnaW4sIGJlZ2luICsgcGFnZVNpemUpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBnZXQgaXNMaXN0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aCA9PT0gJ2xpc3QnO1xuICB9XG5cbiAgaXNMaXN0UGFnZSQgPSB0aGlzLnJvdXRlLnVybC5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLmlzTGlzdFBhZ2UpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBpc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcbiAgaXNLOHNSZXNvdXJjZSA9IGlzSzhzUmVzb3VyY2U7XG4gIGlzRmllbGROb3RBdmFpbGFibGUgPSBpc0ZpZWxkTm90QXZhaWxhYmxlO1xuXG4gIGdldFZhbHVlRnJvbVBhdGggPSB0aGlzLnV0aWwuZ2V0VmFsdWVGcm9tUGF0aDtcbiAgdHJhY2tCeU5hbWUoXzogbnVtYmVyLCBjb2x1bW5EZWY6IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgcmV0dXJuIGNvbHVtbkRlZi5uYW1lO1xuICB9XG5cbiAgTkFNRSA9IE5BTUU7XG4gIENSRUFUT1IgPSBDUkVBVE9SO1xuICBDUkVBVEVEX0FUID0gQ1JFQVRFRF9BVDtcbiAgQUNUSU9OID0gQUNUSU9OO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHV0aWw6IFRhYmxlVXRpbFNlcnZpY2U8SXRlbT4sXG4gICkge1xuICAgIHRoaXMuZ2V0Q29sdW1uVGVtcGxhdGUgPSB0aGlzLmdldENvbHVtblRlbXBsYXRlLmJpbmQodGhpcyk7XG4gIH1cblxuICBub3JtYWxpemVDb2x1bW5EZWZUcmFuc2xhdGUoY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIGNvbnN0IHsgdHJhbnNsYXRlIH0gPSBjb2x1bW47XG4gICAgaWYgKHRyYW5zbGF0ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cbiAgICBpZiAodHJhbnNsYXRlID09PSB0cnVlKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzU3RyaW5nKHRyYW5zbGF0ZSkpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4gdHJhbnNsYXRlICsgdmFsdWU7XG4gICAgfSBlbHNlIGlmIChpc09iamVjdExpa2UodHJhbnNsYXRlKSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiBnZXQodHJhbnNsYXRlLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBjb2x1bW47XG4gIH1cblxuICBub3JtYWxpemVDb2x1bW5EZWZTb3J0KGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICBjb25zdCB7IHNvcnQgfSA9IGNvbHVtbjtcbiAgICBpZiAoc29ydCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cbiAgICBpZiAoc29ydCA9PT0gdHJ1ZSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2FzYycsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcoc29ydCkpIHtcbiAgICAgIGNvbHVtbi5zb3J0ID0ge1xuICAgICAgICBkaXJlY3Rpb246IHNvcnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbihzb3J0KSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2FzYycsXG4gICAgICAgIGhhbmRsZXI6IHNvcnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoc29ydC5kaXJlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgc29ydC5kaXJlY3Rpb24gPSAnYXNjJztcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIG9uU29ydENoYW5nZSgkZXZlbnQ6IFNvcnQpIHtcbiAgICB0aGlzLnNvcnRDaGFuZ2UubmV4dCgkZXZlbnQpO1xuICAgIHRoaXMuYWN0aXZlU29ydCQkLm5leHQoJGV2ZW50KTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUFjdGlvbkNvbHVtbkRlZihcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+LFxuICApOiBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4ge1xuICAgIGlmIChjb2x1bW4ubmFtZSAhPT0gQUNUSU9OIHx8ICFjb2x1bW4uZXh0cmEpIHtcbiAgICAgIHJldHVybiBjb2x1bW4gYXMgTm9ybWFsaXplZFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+O1xuICAgIH1cblxuICAgIGNvbnN0IGV4dHJhID0gY29sdW1uLmV4dHJhIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmE8SXRlbSwgQ29udGV4dD47XG4gICAgKFtLOHNSZXNvdXJjZUFjdGlvbi5ERUxFVEUsIEs4c1Jlc291cmNlQWN0aW9uLlVQREFURV0gYXMgY29uc3QpLmZvckVhY2goXG4gICAgICBhY3Rpb24gPT4ge1xuICAgICAgICBpZiAoIWV4dHJhW2FjdGlvbl0pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhbmRsZXIgPSAoXG4gICAgICAgICAgZXh0cmFbYWN0aW9uXSBhcyBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbTxJdGVtLCBDb250ZXh0PlxuICAgICAgICApLmRpc2FibGVkO1xuICAgICAgICBpZiAoaGFuZGxlciA9PSBudWxsKSB7XG4gICAgICAgICAgaGFuZGxlciA9IG5vb3AgYXMgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXI8SXRlbSwgQ29udGV4dD47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24oaGFuZGxlcikpIHtcbiAgICAgICAgICAoXG4gICAgICAgICAgICBleHRyYVthY3Rpb25dIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtPEl0ZW0sIENvbnRleHQ+XG4gICAgICAgICAgKS5kaXNhYmxlZCA9IHsgaGFuZGxlciB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIGNvbHVtbiBhcyBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD47XG4gIH1cblxuICBnZXRDb2x1bW5UZW1wbGF0ZShjb2x1bW46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnRhYmxlQ2VsbERlZnMuZmluZChkZWYgPT4gZGVmLmFjbFRhYmxlQ2VsbERlZiA9PT0gY29sdW1uKVxuICAgICAgPy50ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBJdGVtKSB7XG4gICAgcmV0dXJuIGlzSzhzUmVzb3VyY2UoaXRlbSlcbiAgICAgID8gdHJhY2tCeVVpZChpbmRleCwgaXRlbSlcbiAgICAgIDogZ2V0KGl0ZW0sIE5BTUUsIGluZGV4KTtcbiAgfVxuXG4gIG9uVXBkYXRlKGRhdGE6IEl0ZW0sIGNvbHVtbkRlZjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICB0aGlzLnVwZGF0ZS5lbWl0KGRhdGEpO1xuXG4gICAgaWYgKGdldChjb2x1bW5EZWYuZXh0cmEsIFtVUERBVEUsIExJTktdKSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5pc0xpc3RQYWdlID8gJy4uJyA6ICcuJyxcbiAgICAgICAgICBVUERBVEUsXG4gICAgICAgICAgdGhpcy5nZXRWYWx1ZUZyb21QYXRoKGRhdGEsIE5BTUUpLFxuICAgICAgICBdLFxuICAgICAgICB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VmFsdWU8VCwgRiBleHRlbmRzICguLi5hcmdzOiB1bmtub3duW10pID0+IFQ+KFxuICAgIGZ1bmN0aW9uT3JWYWx1ZTogVCB8IEYsXG4gICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICApOiBUIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmdW5jdGlvbk9yVmFsdWUpXG4gICAgICA/IGZ1bmN0aW9uT3JWYWx1ZS5jYWxsKGxhc3QoYXJncyksIC4uLmFyZ3MpXG4gICAgICA6IGZ1bmN0aW9uT3JWYWx1ZTtcbiAgfVxufVxuIiwiPGF1aS10YWJsZVxuICBhdWlTb3J0XG4gIFthY3RpdmVdPVwiKGFjdGl2ZVNvcnQkIHwgYXN5bmMpPy5hY3RpdmVcIlxuICBbZGlyZWN0aW9uXT1cIihhY3RpdmVTb3J0JCB8IGFzeW5jKT8uZGlyZWN0aW9uXCJcbiAgW2RhdGFTb3VyY2VdPVwicGFnZWRJdGVtcyRcIlxuICBbdHJhY2tCeV09XCJ0cmFja0J5XCJcbiAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICBbYXVpVGFibGVTY3JvbGxhYmxlXT1cIiEhc3RpY2t5XCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCBjb2x1bW5EZWYgb2YgY29sdW1uRGVmcyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIlxuICAgIFthdWlUYWJsZUNvbHVtbkRlZl09XCJjb2x1bW5EZWYubmFtZVwiXG4gICAgW3N0aWNreV09XCJjb2x1bW5EZWYuc3RpY2t5XCJcbiAgICBbc3RpY2t5RW5kXT1cImNvbHVtbkRlZi5zdGlja3lFbmRcIlxuICA+XG4gICAgPGF1aS10YWJsZS1oZWFkZXItY2VsbFxuICAgICAgKmF1aVRhYmxlSGVhZGVyQ2VsbERlZlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbkRlZi5uYW1lICE9PSBBQ1RJT05cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImNvbHVtbkRlZi5zb3J0XCJcbiAgICAgICAgICBhdWktc29ydC1oZWFkZXJcbiAgICAgICAgICBbc3RhcnRdPVwiY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uXCJcbiAgICAgICAgICA+e3sgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29sdW1uRGVmLnNvcnRcIj57e1xuICAgICAgICAgIGNvbHVtbkRlZi5sYWJlbCB8fCBjb2x1bW5EZWYubmFtZSB8IHRyYW5zbGF0ZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXVpLXRhYmxlLWhlYWRlci1jZWxsPlxuXG4gICAgPGF1aS10YWJsZS1jZWxsXG4gICAgICAqYXVpVGFibGVDZWxsRGVmPVwiXG4gICAgICAgIGxldCBkYXRhO1xuICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgbGV0IGV2ZW4gPSBldmVuO1xuICAgICAgICBsZXQgb2RkID0gb2RkO1xuICAgICAgICBsZXQgbGFzdCA9IGxhc3RcbiAgICAgIFwiXG4gICAgICBbZGlyZWN0aW9uXT1cImNvbHVtbkRlZi5kaXJlY3Rpb25cIlxuICAgICAgW25nQ2xhc3NdPVwiY29sdW1uRGVmLmNsYXNzXCJcbiAgICAgIFtzdHlsZV09XCJjb2x1bW5EZWYuc3R5bGVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBjb2x1bW5EZWYubmFtZSB8IHB1cmU6IGdldENvbHVtblRlbXBsYXRlIGFzIHRlbXBsYXRlO1xuICAgICAgICAgIGVsc2UgdGFibGVDZWxsRGVmVHBsXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogZGF0YSxcbiAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICBldmVuOiBldmVuLFxuICAgICAgICAgICAgICBvZGQ6IG9kZCxcbiAgICAgICAgICAgICAgbGFzdDogbGFzdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxEZWZUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29sdW1uRGVmLnBhdGggIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAoZGF0YVxuICAgICAgICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgICAgICAgOiBnZXRWYWx1ZUZyb21QYXRoXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5uYW1lXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5wYXRoKSBhcyB2YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgZGVmYXVsdFRhYmxlQ2VsbFRwbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICB0YWJsZUNlbGxDb250ZW50O1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYmxlQ2VsbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBkZWZhdWx0VGFibGVDZWxsO1xuICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2F1aS10YWJsZS1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5OYW1lcyQgfCBhc3luYzsgc3RpY2t5OiAhIXN0aWNreVwiXG4gID48L2F1aS10YWJsZS1oZWFkZXItcm93PlxuICA8YXVpLXRhYmxlLXJvd1xuICAgICphdWlUYWJsZVJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbk5hbWVzJCB8IGFzeW5jXCJcbiAgPjwvYXVpLXRhYmxlLXJvdz5cblxuICA8bmctY29udGFpbmVyICphdWlUYWJsZVBsYWNlaG9sZGVyRGVmPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgIShwYWdlZEl0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoICYmIChsaXN0Lml0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoO1xuICAgICAgICAgIGVsc2UgbGlzdEZvb3RlclxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiZmluYWxSZXNvdXJjZU5hbWUkIHwgYXN5bmMgYXMgZmluYWxSZXNvdXJjZU5hbWU7IGVsc2Ugbm9EYXRhXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnbm9fbmFtZWRfZGF0YV9oaW50J1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOlxuICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlTmFtZVRyYW5zbGF0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAoZmluYWxSZXNvdXJjZU5hbWUgfCB0cmFuc2xhdGU6IG51bGw6dHJ1ZSlcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNsaXN0Rm9vdGVyPlxuICAgICAgICA8YWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3RlclxuICAgICAgICAgIFtsaXN0XT1cImxpc3RcIlxuICAgICAgICAgIFtyZXNvdXJjZU5hbWVdPVwiZmluYWxSZXNvdXJjZU5hbWUkIHwgYXN5bmNcIlxuICAgICAgICAgIFtyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXT1cInJlc291cmNlTmFtZVRyYW5zbGF0ZWRcIlxuICAgICAgICA+PC9hY2wtazhzLXJlc291cmNlLWxpc3QtZm9vdGVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTpcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbDp0cnVlKVxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBjbGFzcz1cImFjbC1sb2FkaW5nLW1hc2tfX2ljb25cIlxuICAgICAgICAgIHNpemU9XCIxNnB4XCJcbiAgICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICB7eyAnbG9hZGluZ19wbGVhc2Vfd2FpdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktdGFibGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVQYWdpbmF0aW9uXCI+XG4gIDxhdWktcGFnaW5hdG9yXG4gICAgW2xheW91dF09XCJwYWdpbmF0aW9uTGF5b3V0XCJcbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZSQgfCBhc3luY1wiXG4gICAgW3RvdGFsXT1cInBhZ2luYXRpb24udG90YWxcIlxuICAgIChjdXJyZW50UGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSQubmV4dCgkZXZlbnQpXCJcbiAgICAocGFnZVNpemVDaGFuZ2UpPVwicGFnZVNpemUkLm5leHQoJGV2ZW50KVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICA+PC9hdWktcGFnaW5hdG9yPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRhYmxlQ2VsbFxuICBsZXQtZGF0YT1cImRhdGFcIlxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uRGVmLm5hbWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJOQU1FXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGg6Y29sdW1uRGVmLm5hbWUgYXMgbmFtZVwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19uYW1lXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBjb2x1bW5EZWYuZXh0cmE/LmxpbmsgIT09IGZhbHNlICYmICEoZGF0YSB8IGFjbElzRGVsZXRpbmcpO1xuICAgICAgICAgICAgZWxzZSBwbGFpbk5hbWVcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsoaXNMaXN0UGFnZSQgfCBhc3luYykgPyAnLi4nIDogJy4nLCAnZGV0YWlsJywgbmFtZV1cIlxuICAgICAgICAgICAgW2F1aVRvb2x0aXBdPVwibmFtZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5OYW1lPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICAgIFtjbGFzcy5kZWxldGluZy10ZXh0XT1cImRhdGEgfCBhY2xJc0RlbGV0aW5nXCJcbiAgICAgICAgICAgID57eyBuYW1lIH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8YWNsLWRlbGV0aW5nLXRhZ1xuICAgICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGlzSzhzUmVzb3VyY2VcIlxuICAgICAgICAgIFtyZXNvdXJjZV09XCJkYXRhXCJcbiAgICAgICAgPjwvYWNsLWRlbGV0aW5nLXRhZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIChkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZSlcbiAgICAgICAgICAgID8gKGRhdGEgfCBhY2xEaXNwbGF5TmFtZSlcbiAgICAgICAgICAgIDogZGF0YS5kaXNwbGF5TmFtZSBhcyBkaXNwbGF5TmFtZVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImF1aS10YWJsZV9fY2VsbF9fZGlzcGxheS1uYW1lXCJcbiAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBkaXNwbGF5TmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ1JFQVRFRF9BVFwiPlxuICAgICAgPGFjbC1yZWxhdGl2ZS10aW1lXG4gICAgICAgIFt0aW1lXT1cImRhdGEgfCBwdXJlOiBnZXRWYWx1ZUZyb21QYXRoOmNvbHVtbkRlZi5uYW1lXCJcbiAgICAgID48L2FjbC1yZWxhdGl2ZS10aW1lPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkFDVElPTlwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIFthdWlEcm9wZG93bl09XCJtZW51XCJcbiAgICAgICAgW2F1aURyb3Bkb3duQ29udGV4dF09XCJ7ICRpbXBsaWNpdDogZGF0YSwgY29sdW1uRGVmOiBjb2x1bW5EZWYgfVwiXG4gICAgICA+XG4gICAgICAgIDxhdWktaWNvbiBpY29uPVwiZWxsaXBzaXNfdl9zXCI+PC9hdWktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBkYXRhIHwgcHVyZTogZ2V0VmFsdWVGcm9tUGF0aDpjb2x1bW5EZWYubmFtZSBhcyB2YWx1ZTtcbiAgICAgICAgICBlbHNlIGVtcHR5XG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgY29sdW1uRGVmOiBjb2x1bW5EZWYsIHZhbHVlOiB2YWx1ZSB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNlbGxDb250ZW50XG4gIGxldC1jb2x1bW5EZWY9XCJjb2x1bW5EZWZcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgY29sdW1uRGVmLnRyYW5zbGF0ZSA9PSBudWxsXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjb2x1bW5EZWYudHJhbnNsYXRlID09PSB0cnVlXG4gICAgICAgID8gKHZhbHVlIHwgdHJhbnNsYXRlKVxuICAgICAgICA6ICh2YWx1ZSB8IHB1cmU6IGNvbHVtbkRlZi50cmFuc2xhdGU6ZmluYWxDb250ZXh0IHwgdHJhbnNsYXRlKSBhcyB0ZXh0O1xuICAgICAgZWxzZSBlbXB0eVxuICAgIFwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImNvbHVtbkRlZi5lbGxpcHNpczsgZWxzZSBwbGFpblRleHRcIlxuICAgICAgY2xhc3M9XCJ0ZXh0LW92ZXJmbG93XCJcbiAgICAgIFthdWlUb29sdGlwXT1cInRleHRcIlxuICAgID5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3BsYWluVGV4dD57eyB0ZXh0IH19PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI21lbnVcbiAgbGV0LWRhdGFcbiAgbGV0LWNvbHVtbkRlZj1cImNvbHVtbkRlZlwiXG4gID48YXVpLW1lbnU+XG4gICAgPGFjbC1kaXNhYmxlZC1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmV4dHJhPy51cGRhdGUgIT09IGZhbHNlXCJcbiAgICAgIFtpc0FsbG93ZWRdPVwiIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLnVwZGF0ZVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGNvbHVtbkRlZi5leHRyYT8udXBkYXRlPy5kaXNhYmxlZC5oYW5kbGVyIHwgcHVyZTogaXNGdW5jdGlvbikgJiZcbiAgICAgICAgKGRhdGEgfCBwdXJlOiBjb2x1bW5EZWYuZXh0cmEudXBkYXRlLmRpc2FibGVkLmhhbmRsZXI6ZmluYWxDb250ZXh0KVxuICAgICAgXCJcbiAgICAgIFt0b29sdGlwXT1cIlxuICAgICAgICBjb2x1bW5EZWYuZXh0cmE/LnVwZGF0ZT8uZGlzYWJsZWQudG9vbHRpcFxuICAgICAgICAgIHwgcHVyZTogZ2V0VmFsdWU6ZGF0YTpmaW5hbENvbnRleHRcbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJvblVwZGF0ZShkYXRhLCBjb2x1bW5EZWYpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAndXBkYXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gICAgPGFjbC1kaXNhYmxlZC1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmV4dHJhPy5kZWxldGUgIT09IGZhbHNlXCJcbiAgICAgIFtpc0FsbG93ZWRdPVwiIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmRlbGV0ZVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGNvbHVtbkRlZi5leHRyYT8uZGVsZXRlPy5kaXNhYmxlZC5oYW5kbGVyIHwgcHVyZTogaXNGdW5jdGlvbikgJiZcbiAgICAgICAgKGRhdGEgfCBwdXJlOiBjb2x1bW5EZWYuZXh0cmEuZGVsZXRlLmRpc2FibGVkLmhhbmRsZXI6ZmluYWxDb250ZXh0KVxuICAgICAgXCJcbiAgICAgIFt0b29sdGlwXT1cIlxuICAgICAgICBjb2x1bW5EZWYuZXh0cmE/LmRlbGV0ZT8uZGlzYWJsZWQudG9vbHRpcFxuICAgICAgICAgIHwgcHVyZTogZ2V0VmFsdWU6ZGF0YTpmaW5hbENvbnRleHRcbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJkZWxldGUuZW1pdChkYXRhKVwiXG4gICAgPlxuICAgICAgPGF1aS1tZW51LWl0ZW0+e3sgJ2RlbGV0ZScgfCB0cmFuc2xhdGUgfX08L2F1aS1tZW51LWl0ZW0+XG4gICAgPC9hY2wtZGlzYWJsZWQtY29udGFpbmVyPlxuICA8L2F1aS1tZW51PjwvbmctdGVtcGxhdGVcbj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eT57eyBudWxsIHwgYWNsRmllbGROb3RBdmFpbGFibGUgfX08L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25vRGF0YT57eyAnbm9fZGF0YScgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuIl19
809
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent" }); })();
810
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUUsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsRUFBRSxFQUNGLGFBQWEsRUFDYixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixHQUVsQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFl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QVEvQyxJQUFJO2tCQURILEtBQUs7WUFJTixLQUFLLE1BR0wsVUFBVTtrQkFEVCxLQUFLO1lBSU4sV0FBVyxNQUdYLFlBQVk7a0JBRFgsS0FBSztZQUlOLGFBQWEsTUFHYixzQkFBc0I7a0JBRHJCLEtBQUs7WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixXQUFXO2tCQURWLEtBQUs7WUFJTixPQUFPO2tCQUROLEtBQUs7WUFJTixRQUFRLE1BR1IsWUFBWTtrQkFEWCxLQUFLO1lBSU4sYUFBYSxNQUdiLE9BQU87a0JBRE4sS0FBSztZQVFOLFFBQVE7a0JBRFAsS0FBSztZQUlOLFNBQVMsTUFHVCxPQUFPO2tCQUROLEtBQUs7WUFJTixVQUFVO2tCQURULEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLGVBQWU7a0JBRGQsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBR0csZUFBZTtrQkFBdkIsS0FBSztZQUdOLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLFVBQVU7a0JBRFQsTUFBTTtZQUlQLGFBQWE7a0JBRFosZUFBZTttQkFBQyxxQkFBcUI7WUFJbEMsYUFBYTtrQkFEaEIsV0FBVzttQkFBQyxpQ0FBaUM7WUFNMUMsbUJBQW1CO2tCQUR0QixXQUFXO21CQUFDLGtCQUFrQjs7a0ZBN0ZwQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlUGl4ZWwsIFNvcnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIGlzT2JqZWN0TGlrZSwgaXNTdHJpbmcsIGxhc3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgUmVwbGF5U3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBQ1RJT04sIENSRUFURURfQVQsIExJTkssIFVQREFURSB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc0ZpZWxkTm90QXZhaWxhYmxlIH0gZnJvbSAnLi4vY29yZS9waXBlcy9maWVsZC1ub3QtYXZhaWxhYmxlLnBpcGUnO1xuaW1wb3J0IHsgQ1JFQVRPUiwgTkFNRSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvazhzLXV0aWwuc2VydmljZSc7XG5pbXBvcnQge1xuICBLOHNSZXNvdXJjZUFjdGlvbixcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbn0gZnJvbSAnLi4vY29yZS90eXBlcy9rOHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBpc0s4c1Jlc291cmNlLCBub29wLCB0cmFja0J5VWlkIH0gZnJvbSAnLi4vY29yZS91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vY29yZS91dGlscy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IHB1Ymxpc2hSZWYgfSBmcm9tICcuLi9jb3JlL3V0aWxzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdHJlYW1MaXN0TG9hZGVyIH0gZnJvbSAnLi4vazhzLXJlc291cmNlLWxpc3QvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBERUZBVUxUX1BBR0VfU0laRSxcbiAgREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUyxcbiAgREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9oZWxwZXJzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWYsXG4gIFRhYmxlQ29sdW1uRGVmcyxcbiAgVGFibGVDb2x1bW4sXG4gIFRhYmxlQ29sdW1uRGVmLFxuICBUYWJsZUZpbHRlckZuLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbSxcbiAgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXIsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgS05PV05fQ09MVU1OUywgVGFibGVVdGlsU2VydmljZSB9IGZyb20gJy4vdXRpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIENvbnRleHQgPSBUYWJsZVV0aWxTZXJ2aWNlPEl0ZW0+LFxuPiB7XG4gIEBJbnB1dCgpXG4gIGxpc3QhOiBTdHJlYW1MaXN0TG9hZGVyPEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8SXRlbT4sIEl0ZW0+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBsaXN0JCE6IE9ic2VydmFibGU8U3RyZWFtTGlzdExvYWRlcjxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEl0ZW0+LCBJdGVtPj47XG5cbiAgQElucHV0KClcbiAgZGF0YVNvdXJjZTogSXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhU291cmNlJCE6IE9ic2VydmFibGU8SXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+PjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWU6IHN0cmluZztcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVzb3VyY2VOYW1lJCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc3RpY2t5OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcGVybWlzc2lvbnM6IFBhcnRpYWw8UmVjb3JkPEs4c1Jlc291cmNlQWN0aW9uLCBib29sZWFuPj47XG5cbiAgQElucHV0KClcbiAgY29sdW1uczogUmVhZG9ubHlBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGNvbHVtbnMkITogT2JzZXJ2YWJsZTxBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj4+O1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlclBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGZpbHRlclBhcmFtcyQhOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcblxuICBASW5wdXQoKVxuICBjb250ZXh0OiBDb250ZXh0O1xuXG4gIGdldCBmaW5hbENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dCA/PyAodGhpcy51dGlsIGFzIHVua25vd24gYXMgQ29udGV4dCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmaWx0ZXJGbjogVGFibGVGaWx0ZXJGbjxJdGVtLCBDb250ZXh0PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmlsdGVyRm4kITogT2JzZXJ2YWJsZTxUYWJsZUZpbHRlckZuPEl0ZW0sIENvbnRleHQ+PjtcblxuICBASW5wdXQoKVxuICB0cmFja0J5OiBUcmFja0J5RnVuY3Rpb248SXRlbT4gPSB0aGlzLnRyYWNrQnlGbjtcblxuICBASW5wdXQoKVxuICBub0RhdGFIaW50OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZW5hYmxlUGFnaW5hdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2VTaXplID0gREVGQVVMVF9QQUdFX1NJWkU7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemVPcHRpb25zID0gREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUztcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uTGF5b3V0ID0gREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVDtcblxuICBASW5wdXQoKSBmaXJzdFNjcm9sbExvYWQ6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtPigpO1xuXG4gIEBPdXRwdXQoKVxuICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJsZUNlbGxEZWZEaXJlY3RpdmUpXG4gIHRhYmxlQ2VsbERlZnM6IFF1ZXJ5TGlzdDxUYWJsZUNlbGxEZWZEaXJlY3RpdmU8SXRlbT4+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXVpLXRhYmxlX19zY3JvbGwtd3JhcHBlcicpXG4gIGdldCBzY3JvbGxXcmFwcGVyKCkge1xuICAgIHJldHVybiAhIXRoaXMuc3RpY2t5O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgZ2V0IHNjcm9sbFdyYXBwZXJIZWlnaHQoKSB7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKHRoaXMuc3RpY2t5KTtcbiAgfVxuXG4gIGN1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcblxuICBwYWdlU2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9QQUdFX1NJWkUpO1xuXG4gIHBhZ2luYXRpb24gPSB7XG4gICAgdG90YWw6IDAsXG4gICAgcGFnZXM6IDAsXG4gIH07XG5cbiAgZmluYWxEYXRhU291cmNlJCA9IHRoaXMuZGF0YVNvdXJjZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoZGF0YVNvdXJjZSA9PlxuICAgICAgZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyBkYXRhU291cmNlIDogb2YoZGF0YVNvdXJjZSksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgZmluYWxSZXNvdXJjZU5hbWUkID0gY29tYmluZUxhdGVzdChbdGhpcy5saXN0JCwgdGhpcy5yZXNvdXJjZU5hbWUkXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtsaXN0LCByZXNvdXJjZU5hbWVdKSA9PlxuICAgICAgIWxpc3QgfHwgcmVzb3VyY2VOYW1lXG4gICAgICAgID8gb2YocmVzb3VyY2VOYW1lKVxuICAgICAgICA6IGxpc3QucmF3UmVzcG9uc2UkLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzID0+IHJlcz8ua2luZC5zbGljZSgwLCAtNCkudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb2x1bW5EZWZzJCA9IHRoaXMuY29sdW1ucyQucGlwZShcbiAgICBtYXAoXG4gICAgICBjb2x1bW5zID0+XG4gICAgICAgIChjb2x1bW5zIHx8IFtdKS5tYXAoY29sdW1uID0+IHtcbiAgICAgICAgICBjb2x1bW4gPSBpc1N0cmluZyhjb2x1bW4pID8geyBuYW1lOiBjb2x1bW4gfSA6IGNvbHVtbjtcbiAgICAgICAgICBpZiAoISgncGF0aCcgaW4gY29sdW1uKSAmJiAhS05PV05fQ09MVU1OUy5oYXMoY29sdW1uLm5hbWUpKSB7XG4gICAgICAgICAgICBjb2x1bW4ucGF0aCA9IGNvbHVtbi5uYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUNvbHVtbkRlZlNvcnQoY29sdW1uKTtcbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUNvbHVtbkRlZlRyYW5zbGF0ZShjb2x1bW4pO1xuICAgICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZUFjdGlvbkNvbHVtbkRlZihjb2x1bW4pO1xuICAgICAgICB9KSBhcyBUYWJsZUNvbHVtbkRlZnM8SXRlbSwgQ29udGV4dD4sXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgY29sdW1uTmFtZXMkID0gdGhpcy5jb2x1bW5EZWZzJC5waXBlKFxuICAgIG1hcChjb2x1bW5zID0+IGNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ubmFtZSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBhY3RpdmVTb3J0JCQgPSBuZXcgUmVwbGF5U3ViamVjdDxTb3J0PigxKTtcblxuICBhY3RpdmVTb3J0JDogT2JzZXJ2YWJsZTxTb3J0PiA9IG1lcmdlKFxuICAgIHRoaXMuYWN0aXZlU29ydCQkLFxuICAgIHRoaXMuY29sdW1uRGVmcyQucGlwZShcbiAgICAgIG1hcChjb2x1bW5EZWZzID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uRGVmID0gY29sdW1uRGVmcy5maW5kKGNvbHVtbiA9PiBjb2x1bW4uc29ydD8uYWN0aXZlKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbkRlZlxuICAgICAgICAgID8geyBhY3RpdmU6IGNvbHVtbkRlZi5uYW1lLCBkaXJlY3Rpb246IGNvbHVtbkRlZi5zb3J0LmRpcmVjdGlvbiB9XG4gICAgICAgICAgOiBudWxsO1xuICAgICAgfSksXG4gICAgKSxcbiAgKS5waXBlKHB1Ymxpc2hSZWYoKSk7XG5cbiAgZmlsdGVyZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLmZpbmFsRGF0YVNvdXJjZSRdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChbbGlzdCwgZGF0YVNvdXJjZV0pID0+IChsaXN0ID8gbGlzdC5pdGVtcyQgOiBvZihkYXRhU291cmNlKSkpLFxuICAgICksXG4gICAgdGhpcy5jb2x1bW5EZWZzJCxcbiAgICB0aGlzLmFjdGl2ZVNvcnQkLFxuICAgIHRoaXMuZmlsdGVyUGFyYW1zJCxcbiAgICB0aGlzLmZpbHRlckZuJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW1xuICAgICAgICBpdGVtcyxcbiAgICAgICAgY29sdW1uRGVmcyxcbiAgICAgICAgYWN0aXZlU29ydCxcbiAgICAgICAgZmlsdGVyUGFyYW1zLFxuICAgICAgICBmaWx0ZXJGbiA9IHRoaXMudXRpbC5kZWZhdWx0RmlsdGVyRm4sXG4gICAgICBdKSA9PlxuICAgICAgICBmaWx0ZXJGbi5jYWxsKFxuICAgICAgICAgIHRoaXMuZmluYWxDb250ZXh0LFxuICAgICAgICAgIGl0ZW1zLFxuICAgICAgICAgIGNvbHVtbkRlZnMsXG4gICAgICAgICAgYWN0aXZlU29ydCxcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgICAgdGhpcy5maW5hbENvbnRleHQsXG4gICAgICAgICksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgcGFnZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLFxuICAgIHRoaXMuY3VycmVudFBhZ2UkLFxuICAgIHRoaXMucGFnZVNpemUkLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW2l0ZW1zLCBfLCBwYWdlU2l6ZV0pID0+IHtcbiAgICAgIGlmICh0aGlzLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID1cbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgID8geyB0b3RhbDogMCwgcGFnZXM6IDAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgdG90YWw6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgICAgICAgICBwYWdlczogTWF0aC5jZWlsKGl0ZW1zLmxlbmd0aCAvIHBhZ2VTaXplKSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBtYXAoKFtpdGVtcywgY3VycmVudFBhZ2UsIHBhZ2VTaXplXSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbi5wYWdlcyA8IGN1cnJlbnRQYWdlICYmIHRoaXMucGFnaW5hdGlvbi5wYWdlcyAhPT0gMCkge1xuICAgICAgICBjdXJyZW50UGFnZSA9IHRoaXMucGFnaW5hdGlvbi5wYWdlcztcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSQubmV4dChjdXJyZW50UGFnZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBiZWdpbiA9IChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemU7XG4gICAgICByZXR1cm4gaXRlbXMuc2xpY2UoYmVnaW4sIGJlZ2luICsgcGFnZVNpemUpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBnZXQgaXNMaXN0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aCA9PT0gJ2xpc3QnO1xuICB9XG5cbiAgaXNMaXN0UGFnZSQgPSB0aGlzLnJvdXRlLnVybC5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLmlzTGlzdFBhZ2UpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBpc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcbiAgaXNLOHNSZXNvdXJjZSA9IGlzSzhzUmVzb3VyY2U7XG4gIGlzRmllbGROb3RBdmFpbGFibGUgPSBpc0ZpZWxkTm90QXZhaWxhYmxlO1xuXG4gIGdldFZhbHVlRnJvbVBhdGggPSB0aGlzLnV0aWwuZ2V0VmFsdWVGcm9tUGF0aDtcbiAgdHJhY2tCeU5hbWUoXzogbnVtYmVyLCBjb2x1bW5EZWY6IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgcmV0dXJuIGNvbHVtbkRlZi5uYW1lO1xuICB9XG5cbiAgTkFNRSA9IE5BTUU7XG4gIENSRUFUT1IgPSBDUkVBVE9SO1xuICBDUkVBVEVEX0FUID0gQ1JFQVRFRF9BVDtcbiAgQUNUSU9OID0gQUNUSU9OO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHV0aWw6IFRhYmxlVXRpbFNlcnZpY2U8SXRlbT4sXG4gICkge1xuICAgIHRoaXMuZ2V0Q29sdW1uVGVtcGxhdGUgPSB0aGlzLmdldENvbHVtblRlbXBsYXRlLmJpbmQodGhpcyk7XG4gIH1cblxuICBub3JtYWxpemVDb2x1bW5EZWZUcmFuc2xhdGUoY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIGNvbnN0IHsgdHJhbnNsYXRlIH0gPSBjb2x1bW47XG4gICAgaWYgKHRyYW5zbGF0ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cbiAgICBpZiAodHJhbnNsYXRlID09PSB0cnVlKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzU3RyaW5nKHRyYW5zbGF0ZSkpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4gdHJhbnNsYXRlICsgdmFsdWU7XG4gICAgfSBlbHNlIGlmIChpc09iamVjdExpa2UodHJhbnNsYXRlKSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiBnZXQodHJhbnNsYXRlLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBjb2x1bW47XG4gIH1cblxuICBub3JtYWxpemVDb2x1bW5EZWZTb3J0KGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICBjb25zdCB7IHNvcnQgfSA9IGNvbHVtbjtcbiAgICBpZiAoc29ydCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cbiAgICBpZiAoc29ydCA9PT0gdHJ1ZSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2FzYycsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcoc29ydCkpIHtcbiAgICAgIGNvbHVtbi5zb3J0ID0ge1xuICAgICAgICBkaXJlY3Rpb246IHNvcnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbihzb3J0KSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2FzYycsXG4gICAgICAgIGhhbmRsZXI6IHNvcnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoc29ydC5kaXJlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgc29ydC5kaXJlY3Rpb24gPSAnYXNjJztcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIG9uU29ydENoYW5nZSgkZXZlbnQ6IFNvcnQpIHtcbiAgICB0aGlzLnNvcnRDaGFuZ2UubmV4dCgkZXZlbnQpO1xuICAgIHRoaXMuYWN0aXZlU29ydCQkLm5leHQoJGV2ZW50KTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUFjdGlvbkNvbHVtbkRlZihcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+LFxuICApOiBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4ge1xuICAgIGlmIChjb2x1bW4ubmFtZSAhPT0gQUNUSU9OIHx8ICFjb2x1bW4uZXh0cmEpIHtcbiAgICAgIHJldHVybiBjb2x1bW4gYXMgTm9ybWFsaXplZFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+O1xuICAgIH1cblxuICAgIGNvbnN0IGV4dHJhID0gY29sdW1uLmV4dHJhIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmE8SXRlbSwgQ29udGV4dD47XG4gICAgKFtLOHNSZXNvdXJjZUFjdGlvbi5ERUxFVEUsIEs4c1Jlc291cmNlQWN0aW9uLlVQREFURV0gYXMgY29uc3QpLmZvckVhY2goXG4gICAgICBhY3Rpb24gPT4ge1xuICAgICAgICBpZiAoIWV4dHJhW2FjdGlvbl0pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhbmRsZXIgPSAoXG4gICAgICAgICAgZXh0cmFbYWN0aW9uXSBhcyBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbTxJdGVtLCBDb250ZXh0PlxuICAgICAgICApLmRpc2FibGVkO1xuICAgICAgICBpZiAoaGFuZGxlciA9PSBudWxsKSB7XG4gICAgICAgICAgaGFuZGxlciA9IG5vb3AgYXMgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXI8SXRlbSwgQ29udGV4dD47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24oaGFuZGxlcikpIHtcbiAgICAgICAgICAoXG4gICAgICAgICAgICBleHRyYVthY3Rpb25dIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtPEl0ZW0sIENvbnRleHQ+XG4gICAgICAgICAgKS5kaXNhYmxlZCA9IHsgaGFuZGxlciB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIGNvbHVtbiBhcyBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD47XG4gIH1cblxuICBnZXRDb2x1bW5UZW1wbGF0ZShjb2x1bW46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnRhYmxlQ2VsbERlZnMuZmluZChkZWYgPT4gZGVmLmFjbFRhYmxlQ2VsbERlZiA9PT0gY29sdW1uKVxuICAgICAgPy50ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBJdGVtKSB7XG4gICAgcmV0dXJuIGlzSzhzUmVzb3VyY2UoaXRlbSlcbiAgICAgID8gdHJhY2tCeVVpZChpbmRleCwgaXRlbSlcbiAgICAgIDogZ2V0KGl0ZW0sIE5BTUUsIGluZGV4KTtcbiAgfVxuXG4gIG9uVXBkYXRlKGRhdGE6IEl0ZW0sIGNvbHVtbkRlZjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICB0aGlzLnVwZGF0ZS5lbWl0KGRhdGEpO1xuXG4gICAgaWYgKGdldChjb2x1bW5EZWYuZXh0cmEsIFtVUERBVEUsIExJTktdKSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5pc0xpc3RQYWdlID8gJy4uJyA6ICcuJyxcbiAgICAgICAgICBVUERBVEUsXG4gICAgICAgICAgdGhpcy5nZXRWYWx1ZUZyb21QYXRoKGRhdGEsIE5BTUUpLFxuICAgICAgICBdLFxuICAgICAgICB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VmFsdWU8VCwgRiBleHRlbmRzICguLi5hcmdzOiB1bmtub3duW10pID0+IFQ+KFxuICAgIGZ1bmN0aW9uT3JWYWx1ZTogVCB8IEYsXG4gICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICApOiBUIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmdW5jdGlvbk9yVmFsdWUpXG4gICAgICA/IGZ1bmN0aW9uT3JWYWx1ZS5jYWxsKGxhc3QoYXJncyksIC4uLmFyZ3MpXG4gICAgICA6IGZ1bmN0aW9uT3JWYWx1ZTtcbiAgfVxufVxuIiwiPGF1aS10YWJsZVxuICBhdWlTb3J0XG4gIFthY3RpdmVdPVwiKGFjdGl2ZVNvcnQkIHwgYXN5bmMpPy5hY3RpdmVcIlxuICBbZGlyZWN0aW9uXT1cIihhY3RpdmVTb3J0JCB8IGFzeW5jKT8uZGlyZWN0aW9uXCJcbiAgW2RhdGFTb3VyY2VdPVwicGFnZWRJdGVtcyRcIlxuICBbdHJhY2tCeV09XCJ0cmFja0J5XCJcbiAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICBbYXVpVGFibGVTY3JvbGxhYmxlXT1cIiEhc3RpY2t5XCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCBjb2x1bW5EZWYgb2YgY29sdW1uRGVmcyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIlxuICAgIFthdWlUYWJsZUNvbHVtbkRlZl09XCJjb2x1bW5EZWYubmFtZVwiXG4gICAgW3N0aWNreV09XCJjb2x1bW5EZWYuc3RpY2t5XCJcbiAgICBbc3RpY2t5RW5kXT1cImNvbHVtbkRlZi5zdGlja3lFbmRcIlxuICA+XG4gICAgPGF1aS10YWJsZS1oZWFkZXItY2VsbFxuICAgICAgKmF1aVRhYmxlSGVhZGVyQ2VsbERlZlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbkRlZi5uYW1lICE9PSBBQ1RJT05cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImNvbHVtbkRlZi5zb3J0XCJcbiAgICAgICAgICBhdWktc29ydC1oZWFkZXJcbiAgICAgICAgICBbc3RhcnRdPVwiY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uXCJcbiAgICAgICAgICA+e3sgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29sdW1uRGVmLnNvcnRcIj57e1xuICAgICAgICAgIGNvbHVtbkRlZi5sYWJlbCB8fCBjb2x1bW5EZWYubmFtZSB8IHRyYW5zbGF0ZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXVpLXRhYmxlLWhlYWRlci1jZWxsPlxuXG4gICAgPGF1aS10YWJsZS1jZWxsXG4gICAgICAqYXVpVGFibGVDZWxsRGVmPVwiXG4gICAgICAgIGxldCBkYXRhO1xuICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgbGV0IGV2ZW4gPSBldmVuO1xuICAgICAgICBsZXQgb2RkID0gb2RkO1xuICAgICAgICBsZXQgbGFzdCA9IGxhc3RcbiAgICAgIFwiXG4gICAgICBbZGlyZWN0aW9uXT1cImNvbHVtbkRlZi5kaXJlY3Rpb25cIlxuICAgICAgW25nQ2xhc3NdPVwiY29sdW1uRGVmLmNsYXNzXCJcbiAgICAgIFtzdHlsZV09XCJjb2x1bW5EZWYuc3R5bGVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBjb2x1bW5EZWYubmFtZSB8IHB1cmU6IGdldENvbHVtblRlbXBsYXRlIGFzIHRlbXBsYXRlO1xuICAgICAgICAgIGVsc2UgdGFibGVDZWxsRGVmVHBsXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogZGF0YSxcbiAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICBldmVuOiBldmVuLFxuICAgICAgICAgICAgICBvZGQ6IG9kZCxcbiAgICAgICAgICAgICAgbGFzdDogbGFzdCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdGFibGVDZWxsRGVmVHBsPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvbHVtbkRlZi5wYXRoICE9IG51bGwgJiZcbiAgICAgICAgICAgICAgKGRhdGFcbiAgICAgICAgICAgICAgICB8IHB1cmVcbiAgICAgICAgICAgICAgICAgIDogZ2V0VmFsdWVGcm9tUGF0aFxuICAgICAgICAgICAgICAgICAgOiBjb2x1bW5EZWYubmFtZVxuICAgICAgICAgICAgICAgICAgOiBjb2x1bW5EZWYucGF0aCkgYXMgdmFsdWU7XG4gICAgICAgICAgICBlbHNlIGRlZmF1bHRUYWJsZUNlbGxUcGxcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBjb2x1bW5EZWY6IGNvbHVtbkRlZiwgdmFsdWU6IHZhbHVlIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgZGVmYXVsdFRhYmxlQ2VsbDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgZGF0YTogZGF0YSwgY29sdW1uRGVmOiBjb2x1bW5EZWYgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hdWktdGFibGUtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGF1aS10YWJsZS1oZWFkZXItcm93XG4gICAgKmF1aVRhYmxlSGVhZGVyUm93RGVmPVwiY29sdW1uTmFtZXMkIHwgYXN5bmM7IHN0aWNreTogISFzdGlja3lcIlxuICA+PC9hdWktdGFibGUtaGVhZGVyLXJvdz5cbiAgPGF1aS10YWJsZS1yb3dcbiAgICAqYXVpVGFibGVSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2x1bW5OYW1lcyQgfCBhc3luY1wiXG4gID48L2F1aS10YWJsZS1yb3c+XG5cbiAgPG5nLWNvbnRhaW5lciAqYXVpVGFibGVQbGFjZWhvbGRlckRlZj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGlzdFwiPlxuICAgICAgPGRpdlxuICAgICAgICBbaGlkZGVuXT1cIlxuICAgICAgICAgIChwYWdlZEl0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoIHx8ICEobGlzdC5pdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiZmluYWxSZXNvdXJjZU5hbWUkIHwgYXN5bmMgYXMgZmluYWxSZXNvdXJjZU5hbWU7IGVsc2Ugbm9EYXRhXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnbm9fbmFtZWRfZGF0YV9oaW50J1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOlxuICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlTmFtZVRyYW5zbGF0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAoZmluYWxSZXNvdXJjZU5hbWUgfCB0cmFuc2xhdGU6IG51bGwgOiB0cnVlKSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGFjbC1rOHMtcmVzb3VyY2UtbGlzdC1mb290ZXJcbiAgICAgICAgW2hpZGRlbl09XCJcbiAgICAgICAgICAhKHBhZ2VkSXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggJiYgKGxpc3QuaXRlbXMkIHwgYXN5bmMpPy5sZW5ndGhcbiAgICAgICAgXCJcbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgICAgIFtyZXNvdXJjZU5hbWVdPVwiZmluYWxSZXNvdXJjZU5hbWUkIHwgYXN5bmNcIlxuICAgICAgICBbcmVzb3VyY2VOYW1lVHJhbnNsYXRlZF09XCJyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXCJcbiAgICAgICAgW2ZpcnN0U2Nyb2xsTG9hZF09XCJmaXJzdFNjcm9sbExvYWRcIlxuICAgICAgPjwvYWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3Rlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTpcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbCA6IHRydWUpLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBjbGFzcz1cImFjbC1sb2FkaW5nLW1hc2tfX2ljb25cIlxuICAgICAgICAgIHNpemU9XCIxNnB4XCJcbiAgICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICB7eyAnbG9hZGluZ19wbGVhc2Vfd2FpdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktdGFibGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVQYWdpbmF0aW9uXCI+XG4gIDxhdWktcGFnaW5hdG9yXG4gICAgW2xheW91dF09XCJwYWdpbmF0aW9uTGF5b3V0XCJcbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZSQgfCBhc3luY1wiXG4gICAgW3RvdGFsXT1cInBhZ2luYXRpb24udG90YWxcIlxuICAgIChjdXJyZW50UGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSQubmV4dCgkZXZlbnQpXCJcbiAgICAocGFnZVNpemVDaGFuZ2UpPVwicGFnZVNpemUkLm5leHQoJGV2ZW50KVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICA+PC9hdWktcGFnaW5hdG9yPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRhYmxlQ2VsbFxuICBsZXQtZGF0YT1cImRhdGFcIlxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uRGVmLm5hbWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJOQU1FXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyBuYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhdWktdGFibGVfX2NlbGxfX25hbWVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvbHVtbkRlZi5leHRyYT8ubGluayAhPT0gZmFsc2UgJiYgIShkYXRhIHwgYWNsSXNEZWxldGluZyk7XG4gICAgICAgICAgICBlbHNlIHBsYWluTmFtZVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWyhpc0xpc3RQYWdlJCB8IGFzeW5jKSA/ICcuLicgOiAnLicsICdkZXRhaWwnLCBuYW1lXVwiXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBuYW1lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFpbk5hbWU+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFthdWlUb29sdGlwXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgICAgICAgPnt7IG5hbWUgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxhY2wtZGVsZXRpbmctdGFnXG4gICAgICAgICAgKm5nSWY9XCJkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZVwiXG4gICAgICAgICAgW3Jlc291cmNlXT1cImRhdGFcIlxuICAgICAgICA+PC9hY2wtZGVsZXRpbmctdGFnPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgKGRhdGEgfCBwdXJlOiBpc0s4c1Jlc291cmNlKVxuICAgICAgICAgICAgPyAoZGF0YSB8IGFjbERpc3BsYXlOYW1lKVxuICAgICAgICAgICAgOiBkYXRhLmRpc3BsYXlOYW1lIGFzIGRpc3BsYXlOYW1lXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19kaXNwbGF5LW5hbWVcIlxuICAgICAgICBbY2xhc3MuZGVsZXRpbmctdGV4dF09XCJkYXRhIHwgYWNsSXNEZWxldGluZ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGRpc3BsYXlOYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDUkVBVEVEX0FUXCI+XG4gICAgICA8YWNsLXJlbGF0aXZlLXRpbWVcbiAgICAgICAgW3RpbWVdPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZVwiXG4gICAgICA+PC9hY2wtcmVsYXRpdmUtdGltZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBQ1RJT05cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBbYXVpRHJvcGRvd25dPVwibWVudVwiXG4gICAgICAgIFthdWlEcm9wZG93bkNvbnRleHRdPVwieyAkaW1wbGljaXQ6IGRhdGEsIGNvbHVtbkRlZjogY29sdW1uRGVmIH1cIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImVsbGlwc2lzX3Zfc1wiPjwvYXVpLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyB2YWx1ZTtcbiAgICAgICAgICBlbHNlIGVtcHR5XG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgY29sdW1uRGVmOiBjb2x1bW5EZWYsIHZhbHVlOiB2YWx1ZSB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNlbGxDb250ZW50XG4gIGxldC1jb2x1bW5EZWY9XCJjb2x1bW5EZWZcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgY29sdW1uRGVmLnRyYW5zbGF0ZSA9PSBudWxsXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjb2x1bW5EZWYudHJhbnNsYXRlID09PSB0cnVlXG4gICAgICAgICAgPyAodmFsdWUgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAodmFsdWVcbiAgICAgICAgICAgIHwgcHVyZTogY29sdW1uRGVmLnRyYW5zbGF0ZSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgICAgfCB0cmFuc2xhdGUpIGFzIHRleHQ7XG4gICAgICBlbHNlIGVtcHR5XG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmVsbGlwc2lzOyBlbHNlIHBsYWluVGV4dFwiXG4gICAgICBjbGFzcz1cInRleHQtb3ZlcmZsb3dcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwidGV4dFwiXG4gICAgPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5UZXh0Pnt7IHRleHQgfX08L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjbWVudVxuICBsZXQtZGF0YVxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbiAgPjxhdWktbWVudT5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LnVwZGF0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMudXBkYXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS51cGRhdGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm9uVXBkYXRlKGRhdGEsIGNvbHVtbkRlZilcIlxuICAgID5cbiAgICAgIDxhdWktbWVudS1pdGVtPnt7ICd1cGRhdGUnIHwgdHJhbnNsYXRlIH19PC9hdWktbWVudS1pdGVtPlxuICAgIDwvYWNsLWRpc2FibGVkLWNvbnRhaW5lcj5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LmRlbGV0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMuZGVsZXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS5kZWxldGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZS5lbWl0KGRhdGEpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAnZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gIDwvYXVpLW1lbnU+PC9uZy10ZW1wbGF0ZVxuPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5Pnt7IG51bGwgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fTwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPnt7ICdub19kYXRhJyB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4iXX0=