@alauda-fe/common 1.4.39 → 1.4.40

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 (579) hide show
  1. package/api/k8s-api.service.d.ts +3 -1
  2. package/array-form-table/form/component.d.ts +1 -1
  3. package/core/abstract/base-nested-form-control.d.ts +1 -1
  4. package/core/types/k8s/crd.d.ts +16 -0
  5. package/core/types/k8s/raw.d.ts +4 -0
  6. package/core/types/resource-definitions.d.ts +1 -9
  7. package/esm2022/api/auth-api.service.mjs +7 -3
  8. package/esm2022/api/k8s-api.service.mjs +17 -7
  9. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +7 -7
  10. package/esm2022/code/resource-yaml-display/component.mjs +2 -2
  11. package/esm2022/code/resource-yaml-editor/component.mjs +2 -2
  12. package/esm2022/core/types/k8s/crd.mjs +1 -1
  13. package/esm2022/core/types/k8s/raw.mjs +1 -1
  14. package/esm2022/core/types/resource-definitions.mjs +1 -5
  15. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
  16. package/esm2022/page-scaffold/page/helper-directives.mjs +14 -1
  17. package/esm2022/page-scaffold/page/page.component.mjs +32 -13
  18. package/esm2022/page-scaffold/page/page.module.mjs +8 -4
  19. package/esm2022/page-scaffold/public-api.mjs +2 -1
  20. package/esm2022/page-scaffold/trademark-footer/public-api.mjs +2 -0
  21. package/esm2022/page-scaffold/trademark-footer/trademark-footer.component.mjs +126 -0
  22. package/esm2022/permission/k8s-permission.service.mjs +4 -3
  23. package/esm2022/pod-status/component.mjs +19 -7
  24. package/esm2022/pod-status/status.mjs +44 -15
  25. package/esm2022/table/component.mjs +298 -255
  26. package/esm2022/table/types.mjs +1 -1
  27. package/package.json +1 -1
  28. package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -0
  29. package/page-scaffold/page/helper-directives.d.ts +6 -0
  30. package/page-scaffold/page/page.component.d.ts +2 -1
  31. package/page-scaffold/page/page.module.d.ts +1 -1
  32. package/page-scaffold/public-api.d.ts +1 -0
  33. package/page-scaffold/trademark-footer/public-api.d.ts +1 -0
  34. package/page-scaffold/trademark-footer/trademark-footer.component.d.ts +40 -0
  35. package/permission/k8s-permission.service.d.ts +1 -1
  36. package/styles/mixins.scss +14 -5
  37. package/table/component.d.ts +1 -0
  38. package/table/types.d.ts +1 -0
  39. package/abnormal-page/abnormal-page.component.d.ts.map +0 -1
  40. package/abnormal-page/abnormal-page.module.d.ts.map +0 -1
  41. package/abnormal-page/public-api.d.ts.map +0 -1
  42. package/alauda-fe-common.d.ts.map +0 -1
  43. package/api/acp-common-api.service.d.ts.map +0 -1
  44. package/api/api-compatible.interceptor.d.ts.map +0 -1
  45. package/api/api-gateway.interceptor.d.ts.map +0 -1
  46. package/api/api-gateway.service.d.ts.map +0 -1
  47. package/api/auth-api.service.d.ts.map +0 -1
  48. package/api/cluster-version.service.d.ts.map +0 -1
  49. package/api/crypto.interceptor.d.ts.map +0 -1
  50. package/api/helpers.d.ts.map +0 -1
  51. package/api/k8s-api-resource.service.d.ts.map +0 -1
  52. package/api/k8s-api.service.d.ts.map +0 -1
  53. package/api/page-visibility.service.d.ts.map +0 -1
  54. package/api/platform-ui.service.d.ts.map +0 -1
  55. package/api/product.service.d.ts.map +0 -1
  56. package/api/project-api.service.d.ts.map +0 -1
  57. package/api/public-api.d.ts.map +0 -1
  58. package/api/resource-update.service.d.ts.map +0 -1
  59. package/api/types.d.ts.map +0 -1
  60. package/array-form-table/base-string-map-form.component.d.ts.map +0 -1
  61. package/array-form-table/form/component.d.ts.map +0 -1
  62. package/array-form-table/form/module.d.ts.map +0 -1
  63. package/array-form-table/key-value-form/component.d.ts.map +0 -1
  64. package/array-form-table/key-value-table/component.d.ts.map +0 -1
  65. package/array-form-table/public-api.d.ts.map +0 -1
  66. package/array-form-table/string-array-form/component.d.ts.map +0 -1
  67. package/async-data/async-data-loader.d.ts.map +0 -1
  68. package/async-data/async-data.module.d.ts.map +0 -1
  69. package/async-data/error-page/component.d.ts.map +0 -1
  70. package/async-data/page-state/component.d.ts.map +0 -1
  71. package/async-data/public-api.d.ts.map +0 -1
  72. package/async-data/types.d.ts.map +0 -1
  73. package/authorization/app-init-url.d.ts.map +0 -1
  74. package/authorization/authorization.d.ts.map +0 -1
  75. package/authorization/constants.d.ts.map +0 -1
  76. package/authorization/guard.service.d.ts.map +0 -1
  77. package/authorization/interceptor.service.d.ts.map +0 -1
  78. package/authorization/public-api.d.ts.map +0 -1
  79. package/authorization/runtime.d.ts +0 -33
  80. package/authorization/runtime.d.ts.map +0 -1
  81. package/authorization/session-manage.service.d.ts.map +0 -1
  82. package/authorization/state.service.d.ts.map +0 -1
  83. package/authorization/storage-token.d.ts.map +0 -1
  84. package/business/notification-disabled-container/component.d.ts.map +0 -1
  85. package/business/notification-disabled-container/public-api.d.ts.map +0 -1
  86. package/business/public-api.d.ts.map +0 -1
  87. package/business/resource-select/base-list.d.ts.map +0 -1
  88. package/business/resource-select/context.service.d.ts.map +0 -1
  89. package/business/resource-select/exports/cluster-list/component.d.ts.map +0 -1
  90. package/business/resource-select/exports/cluster-selector/component.d.ts.map +0 -1
  91. package/business/resource-select/exports/icon/component.d.ts.map +0 -1
  92. package/business/resource-select/exports/mesh-group-selector/component.d.ts.map +0 -1
  93. package/business/resource-select/exports/namespace-list/component.d.ts.map +0 -1
  94. package/business/resource-select/exports/namespace-page/component.d.ts.map +0 -1
  95. package/business/resource-select/exports/namespace-selector/component.d.ts.map +0 -1
  96. package/business/resource-select/exports/project-list/component.d.ts.map +0 -1
  97. package/business/resource-select/exports/project-page/component.d.ts.map +0 -1
  98. package/business/resource-select/exports/project-selector/component.d.ts.map +0 -1
  99. package/business/resource-select/helpers.directive.d.ts.map +0 -1
  100. package/business/resource-select/internals/data-grid/component.d.ts.map +0 -1
  101. package/business/resource-select/internals/meshgroup-list/component.d.ts.map +0 -1
  102. package/business/resource-select/internals/no-data/component.d.ts.map +0 -1
  103. package/business/resource-select/internals/resource-dashboard/component.d.ts.map +0 -1
  104. package/business/resource-select/internals/selector-popup/component.d.ts.map +0 -1
  105. package/business/resource-select/internals/selector-popup/ref.d.ts.map +0 -1
  106. package/business/resource-select/internals/selector-popup/service.d.ts.map +0 -1
  107. package/business/resource-select/module.d.ts.map +0 -1
  108. package/business/resource-select/project.service.d.ts.map +0 -1
  109. package/business/resource-select/public-api.d.ts.map +0 -1
  110. package/business/resource-select/types.d.ts.map +0 -1
  111. package/business/resource-select/utils.d.ts.map +0 -1
  112. package/chart/chart.module.d.ts.map +0 -1
  113. package/chart/chart.service.d.ts.map +0 -1
  114. package/chart/common/axis/axis-label.component.d.ts.map +0 -1
  115. package/chart/common/axis/x-axis-ticks.component.d.ts.map +0 -1
  116. package/chart/common/axis/x-axis.component.d.ts.map +0 -1
  117. package/chart/common/axis/x-plot-lines.component.d.ts.map +0 -1
  118. package/chart/common/axis/y-axis-ticks.component.d.ts.map +0 -1
  119. package/chart/common/axis/y-axis.component.d.ts.map +0 -1
  120. package/chart/common/axis/y-plot-lines.component.d.ts.map +0 -1
  121. package/chart/common/chart/chart.component.d.ts.map +0 -1
  122. package/chart/common/legend/legend.component.d.ts.map +0 -1
  123. package/chart/common/public-api.d.ts.map +0 -1
  124. package/chart/common/range-area/range-area.component.d.ts.map +0 -1
  125. package/chart/common/reference-area/reference-area.component.d.ts.map +0 -1
  126. package/chart/common/series/area-series.component.d.ts.map +0 -1
  127. package/chart/common/series/bar-path.component.d.ts.map +0 -1
  128. package/chart/common/series/bar-series.component.d.ts.map +0 -1
  129. package/chart/common/series/line-series.component.d.ts.map +0 -1
  130. package/chart/common/series/series.component.d.ts.map +0 -1
  131. package/chart/common/tooltip/tooltip.component.d.ts.map +0 -1
  132. package/chart/constants.d.ts.map +0 -1
  133. package/chart/custom-template/dropdown-legend.d.ts.map +0 -1
  134. package/chart/public-api.d.ts.map +0 -1
  135. package/chart/types.d.ts.map +0 -1
  136. package/chart/utils.d.ts.map +0 -1
  137. package/code/code-display-dialog/component.d.ts.map +0 -1
  138. package/code/code-editor-configs.d.ts.map +0 -1
  139. package/code/code.module.d.ts.map +0 -1
  140. package/code/k8s-yaml-display-dialog/component.d.ts.map +0 -1
  141. package/code/managed-fields-folder.util.d.ts.map +0 -1
  142. package/code/public-api.d.ts.map +0 -1
  143. package/code/resource-yaml-display/component.d.ts.map +0 -1
  144. package/code/resource-yaml-editor/component.d.ts.map +0 -1
  145. package/code/yaml-examples.d.ts.map +0 -1
  146. package/code/yaml-sidebar/component.d.ts.map +0 -1
  147. package/code/yaml-sidebar/types.d.ts.map +0 -1
  148. package/core/abstract/base-form-container.d.ts.map +0 -1
  149. package/core/abstract/base-nested-form-control.d.ts.map +0 -1
  150. package/core/abstract/public-api.d.ts.map +0 -1
  151. package/core/components/public-api.d.ts.map +0 -1
  152. package/core/components/tree/module.d.ts.map +0 -1
  153. package/core/components/tree/node/component.d.ts.map +0 -1
  154. package/core/components/tree/outlet.d.ts.map +0 -1
  155. package/core/components/tree/padding.d.ts.map +0 -1
  156. package/core/components/tree/toggle.d.ts.map +0 -1
  157. package/core/components/tree/tree/component.d.ts.map +0 -1
  158. package/core/constants/constants.d.ts.map +0 -1
  159. package/core/constants/patterns.d.ts.map +0 -1
  160. package/core/constants/public-api.d.ts.map +0 -1
  161. package/core/constants/status-icons.d.ts.map +0 -1
  162. package/core/constants/timezones.d.ts.map +0 -1
  163. package/core/constants/tokens.d.ts.map +0 -1
  164. package/core/directives/aui-code-editor.directive.d.ts.map +0 -1
  165. package/core/directives/click-outside.directive.d.ts.map +0 -1
  166. package/core/directives/declare.directive.d.ts.map +0 -1
  167. package/core/directives/disabled.directive.d.ts.map +0 -1
  168. package/core/directives/feature-gate.directive.d.ts.map +0 -1
  169. package/core/directives/intercept-deactivate.directive.d.ts.map +0 -1
  170. package/core/directives/last-form-item.directive.d.ts.map +0 -1
  171. package/core/directives/page-header-content.directive.d.ts.map +0 -1
  172. package/core/directives/public-api.d.ts.map +0 -1
  173. package/core/directives/readonly-field.directive.d.ts.map +0 -1
  174. package/core/directives/resize.directive.d.ts.map +0 -1
  175. package/core/directives/scroll-border-observer.directive.d.ts.map +0 -1
  176. package/core/directives/scroll-to-first-invalid.directive.d.ts.map +0 -1
  177. package/core/guards/feature.guard.d.ts.map +0 -1
  178. package/core/guards/intercept-deactivate.guard.d.ts.map +0 -1
  179. package/core/guards/leave-edit-page.guard.d.ts.map +0 -1
  180. package/core/guards/project-namespace.guard.d.ts.map +0 -1
  181. package/core/guards/public-api.d.ts.map +0 -1
  182. package/core/module.d.ts.map +0 -1
  183. package/core/pipes/calc.pipe.d.ts.map +0 -1
  184. package/core/pipes/cron-human-readable.pipe.d.ts.map +0 -1
  185. package/core/pipes/crontab-next.pipe.d.ts.map +0 -1
  186. package/core/pipes/duration.pipe.d.ts.map +0 -1
  187. package/core/pipes/field-not-available.pipe.d.ts.map +0 -1
  188. package/core/pipes/img-header.pipe.d.ts.map +0 -1
  189. package/core/pipes/img-theme.pipe.d.ts.map +0 -1
  190. package/core/pipes/k8s-util.pipe.d.ts.map +0 -1
  191. package/core/pipes/k8s-util.pipe.module.d.ts.map +0 -1
  192. package/core/pipes/keyvalue.pipe.d.ts.map +0 -1
  193. package/core/pipes/marked.pipe.d.ts.map +0 -1
  194. package/core/pipes/minimum-format.pipe.d.ts.map +0 -1
  195. package/core/pipes/page-env.pipe.d.ts.map +0 -1
  196. package/core/pipes/parse-json-translate.pipe.d.ts.map +0 -1
  197. package/core/pipes/parse-json.pipe.d.ts.map +0 -1
  198. package/core/pipes/public-api.d.ts.map +0 -1
  199. package/core/pipes/pure.pipe.d.ts.map +0 -1
  200. package/core/pipes/pure.pipe.module.d.ts.map +0 -1
  201. package/core/pipes/safe.pipe.d.ts.map +0 -1
  202. package/core/pipes/sanitize.pipe.d.ts.map +0 -1
  203. package/core/pipes/time.pipe.d.ts.map +0 -1
  204. package/core/pipes/timezone-display.pipe.d.ts.map +0 -1
  205. package/core/public-api.d.ts.map +0 -1
  206. package/core/services/aui-paginator-intl.service.d.ts.map +0 -1
  207. package/core/services/aui-tooltip-copy-intl.service.d.ts.map +0 -1
  208. package/core/services/context.service.d.ts.map +0 -1
  209. package/core/services/custom-code-editor-intl.service.d.ts.map +0 -1
  210. package/core/services/disaster-recovery.service.d.ts.map +0 -1
  211. package/core/services/encode-url-param.interceptor.d.ts.map +0 -1
  212. package/core/services/feature-gate.service.d.ts.map +0 -1
  213. package/core/services/form-row-duplicate/form-row-duplicate.service.d.ts.map +0 -1
  214. package/core/services/intercept-deactivate.service.d.ts.map +0 -1
  215. package/core/services/k8s-util.service.d.ts.map +0 -1
  216. package/core/services/kubernetes-schema.service.d.ts.map +0 -1
  217. package/core/services/on-resize.service.d.ts.map +0 -1
  218. package/core/services/plugin-util.service.d.ts.map +0 -1
  219. package/core/services/public-api.d.ts.map +0 -1
  220. package/core/services/silently-navigate.service.d.ts.map +0 -1
  221. package/core/services/time.service.d.ts.map +0 -1
  222. package/core/services/ui-state.service.d.ts.map +0 -1
  223. package/core/services/workspace-helper.service.d.ts.map +0 -1
  224. package/core/services/yaml-util.service.d.ts.map +0 -1
  225. package/core/types/commons.d.ts.map +0 -1
  226. package/core/types/helpers.d.ts.map +0 -1
  227. package/core/types/k8s/core.d.ts.map +0 -1
  228. package/core/types/k8s/crd.d.ts.map +0 -1
  229. package/core/types/k8s/public-api.d.ts.map +0 -1
  230. package/core/types/k8s/raw.d.ts.map +0 -1
  231. package/core/types/openapi.d.ts.map +0 -1
  232. package/core/types/public-api.d.ts.map +0 -1
  233. package/core/types/resource-definitions.d.ts.map +0 -1
  234. package/core/types/schema.d.ts.map +0 -1
  235. package/core/utils/browser.d.ts.map +0 -1
  236. package/core/utils/cache-store.d.ts.map +0 -1
  237. package/core/utils/color-helpers.d.ts.map +0 -1
  238. package/core/utils/common.d.ts.map +0 -1
  239. package/core/utils/create-recursive-filter.d.ts.map +0 -1
  240. package/core/utils/cron-util.d.ts.map +0 -1
  241. package/core/utils/decorators.d.ts.map +0 -1
  242. package/core/utils/dev-helpers.d.ts.map +0 -1
  243. package/core/utils/disabled-state.d.ts.map +0 -1
  244. package/core/utils/format-number.d.ts.map +0 -1
  245. package/core/utils/k8s-util.d.ts.map +0 -1
  246. package/core/utils/local-storage-constants.d.ts.map +0 -1
  247. package/core/utils/node.d.ts.map +0 -1
  248. package/core/utils/observable.d.ts.map +0 -1
  249. package/core/utils/operators.d.ts.map +0 -1
  250. package/core/utils/public-api.d.ts.map +0 -1
  251. package/core/utils/request-pool.d.ts.map +0 -1
  252. package/core/utils/resources.d.ts.map +0 -1
  253. package/core/utils/router.d.ts.map +0 -1
  254. package/core/utils/sort-fn.d.ts.map +0 -1
  255. package/core/utils/tree.d.ts.map +0 -1
  256. package/core/utils/unit.d.ts.map +0 -1
  257. package/core/utils/version.d.ts.map +0 -1
  258. package/core/utils/with-load-state.d.ts.map +0 -1
  259. package/core/utils/workload.d.ts.map +0 -1
  260. package/core/utils/workspace.d.ts.map +0 -1
  261. package/core/utils/yaml.d.ts.map +0 -1
  262. package/custom-columns-setting/component.d.ts.map +0 -1
  263. package/custom-columns-setting/public-api.d.ts.map +0 -1
  264. package/disabled-container/disabled-container.component.d.ts.map +0 -1
  265. package/disabled-container/disabled-container.module.d.ts.map +0 -1
  266. package/disabled-container/public-api.d.ts.map +0 -1
  267. package/editable/editable.component.d.ts.map +0 -1
  268. package/editable/editable.directive.d.ts.map +0 -1
  269. package/editable/editable.type.d.ts.map +0 -1
  270. package/editable/public-api.d.ts.map +0 -1
  271. package/editable-text/component.d.ts.map +0 -1
  272. package/editable-text/module.d.ts.map +0 -1
  273. package/editable-text/public-api.d.ts.map +0 -1
  274. package/effect-directive/coerce-number.directive.d.ts.map +0 -1
  275. package/effect-directive/e2e-attribute-binding.directive.d.ts.map +0 -1
  276. package/effect-directive/event.directive.d.ts.map +0 -1
  277. package/effect-directive/min-max.directive.d.ts.map +0 -1
  278. package/effect-directive/module.d.ts.map +0 -1
  279. package/effect-directive/public-api.d.ts.map +0 -1
  280. package/effect-directive/trim.directive.d.ts.map +0 -1
  281. package/effect-directive/validators.directive.d.ts.map +0 -1
  282. package/esm2022/authorization/runtime.mjs +0 -96
  283. package/exec/constants.d.ts.map +0 -1
  284. package/exec/module.d.ts.map +0 -1
  285. package/exec/placeholder/component.d.ts.map +0 -1
  286. package/exec/public-api.d.ts.map +0 -1
  287. package/exec/service.d.ts.map +0 -1
  288. package/exec/terminal/component.d.ts.map +0 -1
  289. package/exec/terminal-group/component.d.ts.map +0 -1
  290. package/exec/types.d.ts.map +0 -1
  291. package/feature-gate-forbidden/component/component.d.ts.map +0 -1
  292. package/feature-gate-forbidden/module.d.ts.map +0 -1
  293. package/feature-gate-forbidden/public-api.d.ts.map +0 -1
  294. package/form/directives/value-trace.directive.d.ts.map +0 -1
  295. package/form/errors-mapper/base-errors-mapper.d.ts.map +0 -1
  296. package/form/errors-mapper/default-errors-mapper.service.d.ts.map +0 -1
  297. package/form/errors-mapper/errors-mapper-component/component.d.ts.map +0 -1
  298. package/form/errors-mapper/errors-mapper.directive.d.ts.map +0 -1
  299. package/form/errors-mapper/errors-mapper.module.d.ts.map +0 -1
  300. package/form/errors-mapper/public-api.d.ts.map +0 -1
  301. package/form/errors-mapper/types.d.ts.map +0 -1
  302. package/form/labels-editor/component.d.ts.map +0 -1
  303. package/form/public-api.d.ts.map +0 -1
  304. package/form/taints-editor/component.d.ts.map +0 -1
  305. package/form/upload-file/component.d.ts.map +0 -1
  306. package/form/utils.d.ts.map +0 -1
  307. package/form/validators/async-function-validator.directive.d.ts.map +0 -1
  308. package/form/validators/dns1123-subdomain.d.ts.map +0 -1
  309. package/form/validators/function-validator.directive.d.ts.map +0 -1
  310. package/form/validators/maxlength-minlength-validator.directive.d.ts.map +0 -1
  311. package/form/validators/module.d.ts.map +0 -1
  312. package/form/validators/not-be-validator.directive.d.ts.map +0 -1
  313. package/form/validators/one-of-validator.directive.d.ts.map +0 -1
  314. package/form/validators/public-api.d.ts.map +0 -1
  315. package/form/validators/resource-limit.d.ts.map +0 -1
  316. package/form/validators/strong-password/public-api.d.ts.map +0 -1
  317. package/form/validators/strong-password/strong-password-tooltip/component.d.ts.map +0 -1
  318. package/form/validators/strong-password/strong-password-validator.directive.d.ts.map +0 -1
  319. package/form/validators/strong-password/strong-password-validator.module.d.ts.map +0 -1
  320. package/form/validators/utils.d.ts.map +0 -1
  321. package/graph-canvas/components/graph-actions.component.d.ts.map +0 -1
  322. package/graph-canvas/components/graph-canvas.component.d.ts.map +0 -1
  323. package/graph-canvas/components/graph-link.component.d.ts.map +0 -1
  324. package/graph-canvas/components/graph-links.component.d.ts.map +0 -1
  325. package/graph-canvas/components/graph-node.directive.d.ts.map +0 -1
  326. package/graph-canvas/graph-canvas.module.d.ts.map +0 -1
  327. package/graph-canvas/graph-store.service.d.ts.map +0 -1
  328. package/graph-canvas/public-api.d.ts.map +0 -1
  329. package/graph-canvas/types.d.ts.map +0 -1
  330. package/graph-canvas/utils.d.ts.map +0 -1
  331. package/grid-layout/components/grid/component.d.ts.map +0 -1
  332. package/grid-layout/components/grid-items/component.d.ts.map +0 -1
  333. package/grid-layout/constant.d.ts.map +0 -1
  334. package/grid-layout/directives/drag-handler.directive.d.ts.map +0 -1
  335. package/grid-layout/directives/placeholder.directive.d.ts.map +0 -1
  336. package/grid-layout/directives/remove-handler.directive.d.ts.map +0 -1
  337. package/grid-layout/directives/resize-handler.directive.d.ts.map +0 -1
  338. package/grid-layout/grid-layout.service.d.ts.map +0 -1
  339. package/grid-layout/grid-placeholder.service.d.ts.map +0 -1
  340. package/grid-layout/module.d.ts.map +0 -1
  341. package/grid-layout/public-api.d.ts.map +0 -1
  342. package/grid-layout/type.d.ts.map +0 -1
  343. package/grid-layout/utils/client-rect.utils.d.ts.map +0 -1
  344. package/grid-layout/utils/grid.utils.d.ts.map +0 -1
  345. package/grid-layout/utils/mouse.utils.d.ts.map +0 -1
  346. package/grid-layout/utils/operator.d.ts.map +0 -1
  347. package/grid-layout/utils/react-grid-layout.utils.d.ts.map +0 -1
  348. package/grid-layout/utils/scroll.utils.d.ts.map +0 -1
  349. package/help-document/component.d.ts.map +0 -1
  350. package/help-document/directive.d.ts.map +0 -1
  351. package/help-document/module.d.ts.map +0 -1
  352. package/help-document/public-api.d.ts.map +0 -1
  353. package/help-document/service.d.ts.map +0 -1
  354. package/iframe-config/config.service.d.ts.map +0 -1
  355. package/iframe-config/constants.d.ts.map +0 -1
  356. package/iframe-config/public-api.d.ts.map +0 -1
  357. package/k8s-resource-list/footer/component.d.ts.map +0 -1
  358. package/k8s-resource-list/k8s-resource-list.d.ts.map +0 -1
  359. package/k8s-resource-list/k8s-resource-list.module.d.ts.map +0 -1
  360. package/k8s-resource-list/k8s-resource-paged-list.d.ts.map +0 -1
  361. package/k8s-resource-list/public-api.d.ts.map +0 -1
  362. package/k8s-resource-list/types.d.ts.map +0 -1
  363. package/k8s-resource-list/utils.d.ts.map +0 -1
  364. package/k8s-shared/constants.d.ts.map +0 -1
  365. package/k8s-shared/k8s-resource-translate-key.pipe.d.ts.map +0 -1
  366. package/k8s-shared/k8s-shared-util.service.d.ts.map +0 -1
  367. package/k8s-shared/public-api.d.ts.map +0 -1
  368. package/k8s-shared/resource-mark/k8s-resource-mark.component.d.ts.map +0 -1
  369. package/k8s-shared/resource-mark/util.d.ts.map +0 -1
  370. package/k8s-shared/update-description-dialog/component.d.ts.map +0 -1
  371. package/k8s-shared/update-display-name-dialog/component.d.ts.map +0 -1
  372. package/k8s-shared/update-key-value-dialog/component.d.ts.map +0 -1
  373. package/lazy-component/lazy-load-component.d.ts.map +0 -1
  374. package/lazy-component/public-api.d.ts.map +0 -1
  375. package/lazy-component/visibility.service.d.ts.map +0 -1
  376. package/license/license-api.d.ts.map +0 -1
  377. package/license/license-error/component.d.ts.map +0 -1
  378. package/license/license-error/module.d.ts.map +0 -1
  379. package/license/license.guard.d.ts.map +0 -1
  380. package/license/license.service.d.ts.map +0 -1
  381. package/license/license.type.d.ts.map +0 -1
  382. package/license/public-api.d.ts.map +0 -1
  383. package/list-display/component.d.ts.map +0 -1
  384. package/list-display/public-api.d.ts.map +0 -1
  385. package/metric-chart/common-chart.service.d.ts.map +0 -1
  386. package/metric-chart/helpers.d.ts.map +0 -1
  387. package/metric-chart/metric-chart.component.d.ts.map +0 -1
  388. package/metric-chart/metric-chart.module.d.ts.map +0 -1
  389. package/metric-chart/metric-time-pick.d.ts.map +0 -1
  390. package/metric-chart/public-api.d.ts.map +0 -1
  391. package/metric-chart/types.d.ts.map +0 -1
  392. package/metric-chart/utils.d.ts.map +0 -1
  393. package/multi-search/action-input/component.d.ts.map +0 -1
  394. package/multi-search/form/component.d.ts.map +0 -1
  395. package/multi-search/multi-search-tags/component.d.ts.map +0 -1
  396. package/multi-search/public-api.d.ts.map +0 -1
  397. package/multi-search/types.d.ts.map +0 -1
  398. package/multi-search/utils.d.ts.map +0 -1
  399. package/mutable/element.d.ts.map +0 -1
  400. package/mutable/mosaic/mosaic.component.d.ts.map +0 -1
  401. package/mutable/mosaic/mosaic.directive.d.ts.map +0 -1
  402. package/mutable/mutable.directive.d.ts.map +0 -1
  403. package/mutable/mutable.module.d.ts.map +0 -1
  404. package/mutable/public-api.d.ts.map +0 -1
  405. package/mutable/util.d.ts.map +0 -1
  406. package/notification/errors-mapper.d.ts.map +0 -1
  407. package/notification/feedback-notification/component.d.ts.map +0 -1
  408. package/notification/helpers.d.ts.map +0 -1
  409. package/notification/notification-util.service.d.ts.map +0 -1
  410. package/notification/public-api.d.ts.map +0 -1
  411. package/notification/resource-error.interceptor.d.ts.map +0 -1
  412. package/overview-banner/overview-banner.component.d.ts.map +0 -1
  413. package/overview-banner/overview-banner.module.d.ts.map +0 -1
  414. package/overview-banner/overview-banner.types.d.ts.map +0 -1
  415. package/overview-banner/public-api.d.ts.map +0 -1
  416. package/page-guard/component/component.d.ts.map +0 -1
  417. package/page-guard/component/helper-directives.d.ts.map +0 -1
  418. package/page-guard/component/page-guard.type.d.ts.map +0 -1
  419. package/page-guard/module.d.ts.map +0 -1
  420. package/page-guard/public-api.d.ts.map +0 -1
  421. package/page-scaffold/module.d.ts.map +0 -1
  422. package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts.map +0 -1
  423. package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts.map +0 -1
  424. package/page-scaffold/navigation/breadcrumb/breadcrumb.service.d.ts.map +0 -1
  425. package/page-scaffold/navigation/breadcrumb/module.d.ts.map +0 -1
  426. package/page-scaffold/navigation/breadcrumb/public-api.d.ts.map +0 -1
  427. package/page-scaffold/navigation/lottie-icons/animation-data.d.ts.map +0 -1
  428. package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts.map +0 -1
  429. package/page-scaffold/navigation/lottie-icons/module.d.ts.map +0 -1
  430. package/page-scaffold/navigation/lottie-icons/public-api.d.ts.map +0 -1
  431. package/page-scaffold/navigation/lottie-icons/replace-lottie-colors.d.ts.map +0 -1
  432. package/page-scaffold/navigation/module.d.ts.map +0 -1
  433. package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts.map +0 -1
  434. package/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.d.ts.map +0 -1
  435. package/page-scaffold/navigation/nav-menu/nav-menu.component.d.ts.map +0 -1
  436. package/page-scaffold/navigation/nav-menu/nav-menu.module.d.ts.map +0 -1
  437. package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts.map +0 -1
  438. package/page-scaffold/navigation/nav-menu/public-api.d.ts.map +0 -1
  439. package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts.map +0 -1
  440. package/page-scaffold/navigation/navconfig-loader/public-api.d.ts.map +0 -1
  441. package/page-scaffold/navigation/public-api.d.ts.map +0 -1
  442. package/page-scaffold/navigation/utils.d.ts.map +0 -1
  443. package/page-scaffold/page/context.service.d.ts.map +0 -1
  444. package/page-scaffold/page/helper-directives.d.ts.map +0 -1
  445. package/page-scaffold/page/notices/maintenance.component.d.ts.map +0 -1
  446. package/page-scaffold/page/notices/notice.component.d.ts.map +0 -1
  447. package/page-scaffold/page/page.component.d.ts.map +0 -1
  448. package/page-scaffold/page/page.module.d.ts.map +0 -1
  449. package/page-scaffold/page/public-api.d.ts.map +0 -1
  450. package/page-scaffold/page-header/account-menu/component/component.d.ts.map +0 -1
  451. package/page-scaffold/page-header/account-menu/module.d.ts.map +0 -1
  452. package/page-scaffold/page-header/account-menu/public-api.d.ts.map +0 -1
  453. package/page-scaffold/page-header/common-layout/common-layout.module.d.ts.map +0 -1
  454. package/page-scaffold/page-header/common-layout/context.service.d.ts.map +0 -1
  455. package/page-scaffold/page-header/common-layout/namespace-select/component.d.ts.map +0 -1
  456. package/page-scaffold/page-header/common-layout/product-select/component.d.ts.map +0 -1
  457. package/page-scaffold/page-header/common-layout/product-select/service.d.ts.map +0 -1
  458. package/page-scaffold/page-header/common-layout/project-select/base-selection.d.ts.map +0 -1
  459. package/page-scaffold/page-header/common-layout/public-api.d.ts.map +0 -1
  460. package/page-scaffold/page-header/common-layout/store.service.d.ts.map +0 -1
  461. package/page-scaffold/page-header/common-layout/utils.d.ts.map +0 -1
  462. package/page-scaffold/page-header/component.d.ts.map +0 -1
  463. package/page-scaffold/page-header/enterprise-support-status/component.d.ts.map +0 -1
  464. package/page-scaffold/page-header/header-notify/component/header-notify.component.d.ts.map +0 -1
  465. package/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.d.ts.map +0 -1
  466. package/page-scaffold/page-header/header-notify/header-notify.module.d.ts.map +0 -1
  467. package/page-scaffold/page-header/header-notify/notify.service.d.ts.map +0 -1
  468. package/page-scaffold/page-header/header-notify/public-api.d.ts.map +0 -1
  469. package/page-scaffold/page-header/header-notify/utils.d.ts.map +0 -1
  470. package/page-scaffold/page-header/help-menu/component/component.d.ts.map +0 -1
  471. package/page-scaffold/page-header/help-menu/module.d.ts.map +0 -1
  472. package/page-scaffold/page-header/help-menu/public-api.d.ts.map +0 -1
  473. package/page-scaffold/page-header/module.d.ts.map +0 -1
  474. package/page-scaffold/page-header/public-api.d.ts.map +0 -1
  475. package/page-scaffold/public-api.d.ts.map +0 -1
  476. package/permission/constants.d.ts.map +0 -1
  477. package/permission/helpers.d.ts.map +0 -1
  478. package/permission/k8s-permission.service.d.ts.map +0 -1
  479. package/permission/permission.guard.d.ts.map +0 -1
  480. package/permission/public-api.d.ts.map +0 -1
  481. package/permission/types.d.ts.map +0 -1
  482. package/pie-derivative-chart/donut-status/component.d.ts.map +0 -1
  483. package/pie-derivative-chart/indicator-color.directive.d.ts.map +0 -1
  484. package/pie-derivative-chart/numerical-limit.pipe.d.ts.map +0 -1
  485. package/pie-derivative-chart/pie-derivative-chart.module.d.ts.map +0 -1
  486. package/pie-derivative-chart/public-api.d.ts.map +0 -1
  487. package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts.map +0 -1
  488. package/pie-derivative-chart/units.d.ts.map +0 -1
  489. package/pod-status/component.d.ts.map +0 -1
  490. package/pod-status/public-api.d.ts.map +0 -1
  491. package/pod-status/status.d.ts.map +0 -1
  492. package/pod-status/typings.d.ts.map +0 -1
  493. package/public-api.d.ts.map +0 -1
  494. package/searchable-selector/component.d.ts.map +0 -1
  495. package/searchable-selector/module.d.ts.map +0 -1
  496. package/searchable-selector/public-api.d.ts.map +0 -1
  497. package/skeleton/item/component.d.ts.map +0 -1
  498. package/skeleton/module.d.ts.map +0 -1
  499. package/skeleton/nav-skeleton/component.d.ts.map +0 -1
  500. package/skeleton/public-api.d.ts.map +0 -1
  501. package/table/component.d.ts.map +0 -1
  502. package/table/constants.d.ts.map +0 -1
  503. package/table/helper.d.ts.map +0 -1
  504. package/table/helpers.directive.d.ts.map +0 -1
  505. package/table/module.d.ts.map +0 -1
  506. package/table/public-api.d.ts.map +0 -1
  507. package/table/types.d.ts.map +0 -1
  508. package/table/util.service.d.ts.map +0 -1
  509. package/translate/constants.d.ts.map +0 -1
  510. package/translate/helpers.d.ts.map +0 -1
  511. package/translate/i18n-assets-loader.d.ts.map +0 -1
  512. package/translate/i18n-config.d.ts.map +0 -1
  513. package/translate/intl-format.pipes.d.ts.map +0 -1
  514. package/translate/public-api.d.ts.map +0 -1
  515. package/translate/relative-time-manager.service.d.ts.map +0 -1
  516. package/translate/tokens.d.ts.map +0 -1
  517. package/translate/translate.directive.d.ts.map +0 -1
  518. package/translate/translate.module.d.ts.map +0 -1
  519. package/translate/translate.pipe.d.ts.map +0 -1
  520. package/translate/translate.service.d.ts.map +0 -1
  521. package/translate/types.d.ts.map +0 -1
  522. package/view-chart/custom-template/dropdown-legend.d.ts.map +0 -1
  523. package/view-chart/legend/legend.component.d.ts.map +0 -1
  524. package/view-chart/public-api.d.ts.map +0 -1
  525. package/view-chart/types.d.ts.map +0 -1
  526. package/view-chart/view-chart.component.d.ts.map +0 -1
  527. package/view-chart/view-chart.module.d.ts.map +0 -1
  528. package/view-zchart/custom-template/dropdown-legend.d.ts.map +0 -1
  529. package/view-zchart/legend/legend.component.d.ts.map +0 -1
  530. package/view-zchart/public-api.d.ts.map +0 -1
  531. package/view-zchart/types.d.ts.map +0 -1
  532. package/view-zchart/units.d.ts.map +0 -1
  533. package/view-zchart/view-zchart.component.d.ts.map +0 -1
  534. package/view-zchart/view-zchart.module.d.ts.map +0 -1
  535. package/widget/card-section/card-section.component.d.ts.map +0 -1
  536. package/widget/confirm-delete/confirm-delete.component.d.ts.map +0 -1
  537. package/widget/confirm-delete/utils.d.ts.map +0 -1
  538. package/widget/current-time/component.d.ts.map +0 -1
  539. package/widget/date-range-picker/component.d.ts.map +0 -1
  540. package/widget/date-range-picker/public-api.d.ts.map +0 -1
  541. package/widget/date-range-picker/type.d.ts.map +0 -1
  542. package/widget/date-range-picker/util.d.ts.map +0 -1
  543. package/widget/field-set/column/component.d.ts.map +0 -1
  544. package/widget/field-set/group/component.d.ts.map +0 -1
  545. package/widget/field-set/index.d.ts.map +0 -1
  546. package/widget/field-set/item/component.d.ts.map +0 -1
  547. package/widget/foldable-block/component.d.ts.map +0 -1
  548. package/widget/foldable-item-in-table/component.d.ts.map +0 -1
  549. package/widget/loading-mask/loading-mask.component.d.ts.map +0 -1
  550. package/widget/password-input/component.d.ts.map +0 -1
  551. package/widget/public-api.d.ts.map +0 -1
  552. package/widget/relative-time/component.d.ts.map +0 -1
  553. package/widget/resource-label/component.d.ts.map +0 -1
  554. package/widget/resource-multi-select/component.d.ts.map +0 -1
  555. package/widget/resource-multi-select/util.d.ts.map +0 -1
  556. package/widget/search-panel/component.d.ts.map +0 -1
  557. package/widget/search-panel/helper.directive.d.ts.map +0 -1
  558. package/widget/search-panel/search-item/component.d.ts.map +0 -1
  559. package/widget/select-prefix-label/directive.d.ts.map +0 -1
  560. package/widget/status-icon/status-icon.component.d.ts.map +0 -1
  561. package/widget/tags-label/component.d.ts.map +0 -1
  562. package/widget/terminating-tag/component.d.ts.map +0 -1
  563. package/widget/text-ellipsis/component.d.ts.map +0 -1
  564. package/widget/text-tooltip/directive.d.ts.map +0 -1
  565. package/widget/text-with-url/component.d.ts.map +0 -1
  566. package/widget/widget.module.d.ts.map +0 -1
  567. package/widget/zero-state/zero-state.component.d.ts.map +0 -1
  568. package/window-channel/base-window-channel.d.ts.map +0 -1
  569. package/window-channel/directives/host-link.directive.d.ts.map +0 -1
  570. package/window-channel/host-window-channel.service.d.ts.map +0 -1
  571. package/window-channel/plugin-window-channel.service.d.ts.map +0 -1
  572. package/window-channel/public-api.d.ts.map +0 -1
  573. package/window-channel/utils.d.ts.map +0 -1
  574. package/workload-status-icon/component.d.ts.map +0 -1
  575. package/workload-status-icon/public-api.d.ts.map +0 -1
  576. package/xterm/public-api.d.ts.map +0 -1
  577. package/xterm/xterm-terminal/xterm-terminal.component.d.ts.map +0 -1
  578. package/xterm/xterm-terminal/xterm-terminal.directive.d.ts.map +0 -1
  579. package/xterm/xterm.component.d.ts.map +0 -1
@@ -28,61 +28,57 @@ import * as i10 from "../core/pipes/field-not-available.pipe";
28
28
  import * as i11 from "../core/pipes/pure.pipe";
29
29
  import * as i12 from "../core/pipes/k8s-util.pipe";
30
30
  import * as i13 from "../translate/translate.pipe";
31
- const _c0 = (a0, a1, a2, a3, a4) => ({ $implicit: a0, index: a1, even: a2, odd: a3, last: a4 });
32
- const _c1 = (a0, a1) => ({ columnDef: a0, value: a1 });
33
- const _c2 = (a0, a1) => ({ data: a0, columnDef: a1 });
34
- const _c3 = a0 => ({ name: a0 });
35
- const _c4 = (a0, a1) => [a0, "detail", a1];
36
- const _c5 = (a0, a1) => ({ $implicit: a0, columnDef: a1 });
37
- function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
38
- i0.ɵɵelementStart(0, "span", 20);
39
- i0.ɵɵtext(1);
40
- i0.ɵɵpipe(2, "translate");
41
- i0.ɵɵelementEnd();
42
- } if (rf & 2) {
43
- const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
44
- i0.ɵɵproperty("start", columnDef_r2.sort.direction);
45
- i0.ɵɵadvance();
46
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, columnDef_r2.label || columnDef_r2.name));
31
+ const _c0 = a0 => ({ columnDef: a0 });
32
+ const _c1 = (a0, a1, a2, a3, a4) => ({ $implicit: a0, index: a1, even: a2, odd: a3, last: a4 });
33
+ const _c2 = (a0, a1) => ({ columnDef: a0, value: a1 });
34
+ const _c3 = (a0, a1) => ({ data: a0, columnDef: a1 });
35
+ const _c4 = a0 => ({ name: a0 });
36
+ const _c5 = (a0, a1) => [a0, "detail", a1];
37
+ const _c6 = (a0, a1) => ({ $implicit: a0, columnDef: a1 });
38
+ function TableComponent_ng_container_3_ng_container_1_aui_table_header_cell_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelementContainer(0);
47
40
  } }
48
- function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_span_2_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵelementStart(0, "span");
50
- i0.ɵɵtext(1);
51
- i0.ɵɵpipe(2, "translate");
41
+ function TableComponent_ng_container_3_ng_container_1_aui_table_header_cell_1_Template(rf, ctx) { if (rf & 1) {
42
+ i0.ɵɵelementStart(0, "aui-table-header-cell", 22);
43
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_ng_container_1_aui_table_header_cell_1_ng_container_1_Template, 1, 0, "ng-container", 23);
52
44
  i0.ɵɵelementEnd();
53
45
  } if (rf & 2) {
54
- const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
46
+ const columnDef_r2 = i0.ɵɵnextContext(2).$implicit;
47
+ i0.ɵɵnextContext();
48
+ const columnHeaderTpl_r3 = i0.ɵɵreference(6);
49
+ i0.ɵɵstyleMap(columnDef_r2.style);
55
50
  i0.ɵɵadvance();
56
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, columnDef_r2.label || columnDef_r2.name));
51
+ i0.ɵɵproperty("ngTemplateOutlet", columnHeaderTpl_r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(4, _c0, columnDef_r2));
57
52
  } }
58
- function TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
53
+ function TableComponent_ng_container_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
59
54
  i0.ɵɵelementContainerStart(0);
60
- 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);
55
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_ng_container_1_aui_table_header_cell_1_Template, 2, 6, "aui-table-header-cell", 21);
61
56
  i0.ɵɵelementContainerEnd();
62
- } if (rf & 2) {
63
- const columnDef_r2 = i0.ɵɵnextContext(2).$implicit;
64
- i0.ɵɵadvance();
65
- i0.ɵɵproperty("ngIf", columnDef_r2.sort);
66
- i0.ɵɵadvance();
67
- i0.ɵɵproperty("ngIf", !columnDef_r2.sort);
68
57
  } }
69
- function TableComponent_ng_container_3_aui_table_header_cell_1_Template(rf, ctx) { if (rf & 1) {
58
+ function TableComponent_ng_container_3_ng_template_2_aui_table_header_cell_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelementContainer(0);
60
+ } }
61
+ function TableComponent_ng_container_3_ng_template_2_aui_table_header_cell_0_Template(rf, ctx) { if (rf & 1) {
70
62
  i0.ɵɵelementStart(0, "aui-table-header-cell");
71
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_header_cell_1_ng_container_1_Template, 3, 2, "ng-container", 15);
63
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_ng_template_2_aui_table_header_cell_0_ng_container_1_Template, 1, 0, "ng-container", 23);
72
64
  i0.ɵɵelementEnd();
73
65
  } if (rf & 2) {
74
- const columnDef_r2 = i0.ɵɵnextContext().$implicit;
75
- const ctx_r2 = i0.ɵɵnextContext();
66
+ const columnDef_r2 = i0.ɵɵnextContext(2).$implicit;
67
+ i0.ɵɵnextContext();
68
+ const columnHeaderTpl_r3 = i0.ɵɵreference(6);
76
69
  i0.ɵɵstyleMap(columnDef_r2.style);
77
70
  i0.ɵɵadvance();
78
- i0.ɵɵproperty("ngIf", columnDef_r2.name !== ctx_r2.ACTION);
71
+ i0.ɵɵproperty("ngTemplateOutlet", columnHeaderTpl_r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(4, _c0, columnDef_r2));
79
72
  } }
80
- function TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
73
+ function TableComponent_ng_container_3_ng_template_2_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵtemplate(0, TableComponent_ng_container_3_ng_template_2_aui_table_header_cell_0_Template, 2, 6, "aui-table-header-cell", 24);
75
+ } }
76
+ function TableComponent_ng_container_3_aui_table_cell_4_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
81
77
  i0.ɵɵelementContainer(0);
82
78
  } }
83
- function TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
79
+ function TableComponent_ng_container_3_aui_table_cell_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
84
80
  i0.ɵɵelementContainerStart(0);
85
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 23);
81
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 23);
86
82
  i0.ɵɵelementContainerEnd();
87
83
  } if (rf & 2) {
88
84
  const template_r4 = ctx.ngIf;
@@ -93,436 +89,480 @@ function TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template(
93
89
  const odd_r9 = ctx_r4.odd;
94
90
  const last_r10 = ctx_r4.last;
95
91
  i0.ɵɵadvance();
96
- i0.ɵɵproperty("ngTemplateOutlet", template_r4)("ngTemplateOutletContext", i0.ɵɵpureFunction5(2, _c0, data_r6, index_r7, even_r8, odd_r9, last_r10));
92
+ i0.ɵɵproperty("ngTemplateOutlet", template_r4)("ngTemplateOutletContext", i0.ɵɵpureFunction5(2, _c1, data_r6, index_r7, even_r8, odd_r9, last_r10));
97
93
  } }
98
- function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
94
+ function TableComponent_ng_container_3_aui_table_cell_4_ng_template_3_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
99
95
  i0.ɵɵelementContainer(0);
100
96
  } }
101
- function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_Template(rf, ctx) { if (rf & 1) {
97
+ function TableComponent_ng_container_3_aui_table_cell_4_ng_template_3_ng_container_0_Template(rf, ctx) { if (rf & 1) {
102
98
  i0.ɵɵelementContainerStart(0);
103
- 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);
99
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_4_ng_template_3_ng_container_0_ng_container_1_Template, 1, 0, "ng-container", 23);
104
100
  i0.ɵɵelementContainerEnd();
105
101
  } if (rf & 2) {
106
102
  const value_r11 = ctx.ngIf;
107
103
  const columnDef_r2 = i0.ɵɵnextContext(3).$implicit;
108
104
  i0.ɵɵnextContext();
109
- const tableCellContent_r12 = i0.ɵɵreference(14);
105
+ const tableCellContent_r12 = i0.ɵɵreference(16);
110
106
  i0.ɵɵadvance();
111
- i0.ɵɵproperty("ngTemplateOutlet", tableCellContent_r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, columnDef_r2, value_r11));
107
+ i0.ɵɵproperty("ngTemplateOutlet", tableCellContent_r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c2, columnDef_r2, value_r11));
112
108
  } }
113
- function TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_3_ng_container_0_Template, 2, 5, "ng-container", 22);
109
+ function TableComponent_ng_container_3_aui_table_cell_4_ng_template_3_Template(rf, ctx) { if (rf & 1) {
110
+ i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_4_ng_template_3_ng_container_0_Template, 2, 5, "ng-container", 19);
115
111
  i0.ɵɵpipe(1, "pure");
116
112
  } if (rf & 2) {
117
113
  const data_r6 = i0.ɵɵnextContext().$implicit;
118
114
  const defaultTableCellTpl_r13 = i0.ɵɵreference(6);
119
115
  const columnDef_r2 = i0.ɵɵnextContext().$implicit;
120
- const ctx_r2 = i0.ɵɵnextContext();
121
- 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);
116
+ const ctx_r13 = i0.ɵɵnextContext();
117
+ i0.ɵɵproperty("ngIf", columnDef_r2.path != null && i0.ɵɵpipeBind4(1, 2, data_r6, ctx_r13.getValueFromPath, columnDef_r2.name, columnDef_r2.path))("ngIfElse", defaultTableCellTpl_r13);
122
118
  } }
123
- function TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_ng_container_0_Template(rf, ctx) { if (rf & 1) {
119
+ function TableComponent_ng_container_3_aui_table_cell_4_ng_template_5_ng_container_0_Template(rf, ctx) { if (rf & 1) {
124
120
  i0.ɵɵelementContainer(0);
125
121
  } }
126
- function TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_Template(rf, ctx) { if (rf & 1) {
127
- i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_2_ng_template_5_ng_container_0_Template, 1, 0, "ng-container", 23);
122
+ function TableComponent_ng_container_3_aui_table_cell_4_ng_template_5_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵtemplate(0, TableComponent_ng_container_3_aui_table_cell_4_ng_template_5_ng_container_0_Template, 1, 0, "ng-container", 23);
128
124
  } if (rf & 2) {
129
125
  const data_r6 = i0.ɵɵnextContext().$implicit;
130
126
  const columnDef_r2 = i0.ɵɵnextContext().$implicit;
131
127
  i0.ɵɵnextContext();
132
- const defaultTableCell_r14 = i0.ɵɵreference(12);
133
- i0.ɵɵproperty("ngTemplateOutlet", defaultTableCell_r14)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c2, data_r6, columnDef_r2));
128
+ const defaultTableCell_r15 = i0.ɵɵreference(14);
129
+ i0.ɵɵproperty("ngTemplateOutlet", defaultTableCell_r15)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c3, data_r6, columnDef_r2));
134
130
  } }
135
- function TableComponent_ng_container_3_aui_table_cell_2_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵelementStart(0, "aui-table-cell", 21);
137
- i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_2_ng_container_1_Template, 2, 8, "ng-container", 22);
131
+ function TableComponent_ng_container_3_aui_table_cell_4_Template(rf, ctx) { if (rf & 1) {
132
+ i0.ɵɵelementStart(0, "aui-table-cell", 25);
133
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_aui_table_cell_4_ng_container_1_Template, 2, 8, "ng-container", 19);
138
134
  i0.ɵɵpipe(2, "pure");
139
- 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);
135
+ i0.ɵɵtemplate(3, TableComponent_ng_container_3_aui_table_cell_4_ng_template_3_Template, 2, 7, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor)(5, TableComponent_ng_container_3_aui_table_cell_4_ng_template_5_Template, 1, 5, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
140
136
  i0.ɵɵelementEnd();
141
137
  } if (rf & 2) {
142
- const tableCellDefTpl_r15 = i0.ɵɵreference(4);
138
+ const tableCellDefTpl_r16 = i0.ɵɵreference(4);
143
139
  const columnDef_r2 = i0.ɵɵnextContext().$implicit;
144
- const ctx_r2 = i0.ɵɵnextContext();
140
+ const ctx_r13 = i0.ɵɵnextContext();
145
141
  i0.ɵɵstyleMap(columnDef_r2.style);
142
+ i0.ɵɵclassProp("acl-table__cell--resizable", columnDef_r2.resizable);
146
143
  i0.ɵɵproperty("direction", columnDef_r2.direction)("ngClass", columnDef_r2.class);
147
144
  i0.ɵɵadvance();
148
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(2, 6, columnDef_r2.name, ctx_r2.getColumnTemplate))("ngIfElse", tableCellDefTpl_r15);
145
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(2, 8, columnDef_r2.name, ctx_r13.getColumnTemplate))("ngIfElse", tableCellDefTpl_r16);
149
146
  } }
150
147
  function TableComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
151
- i0.ɵɵelementContainerStart(0, 16);
152
- 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);
148
+ i0.ɵɵelementContainerStart(0, 18);
149
+ i0.ɵɵtemplate(1, TableComponent_ng_container_3_ng_container_1_Template, 2, 0, "ng-container", 19)(2, TableComponent_ng_container_3_ng_template_2_Template, 1, 0, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor)(4, TableComponent_ng_container_3_aui_table_cell_4_Template, 7, 11, "aui-table-cell", 20);
153
150
  i0.ɵɵelementContainerEnd();
154
151
  } if (rf & 2) {
155
152
  const columnDef_r2 = ctx.$implicit;
153
+ const defaultHeaderCellTpl_r17 = i0.ɵɵreference(3);
156
154
  i0.ɵɵproperty("auiTableColumnDef", columnDef_r2.name)("sticky", columnDef_r2.sticky)("stickyEnd", columnDef_r2.stickyEnd);
155
+ i0.ɵɵadvance();
156
+ i0.ɵɵproperty("ngIf", columnDef_r2.resizable)("ngIfElse", defaultHeaderCellTpl_r17);
157
+ } }
158
+ function TableComponent_ng_template_5_ng_container_0_span_1_Template(rf, ctx) { if (rf & 1) {
159
+ i0.ɵɵelementStart(0, "span", 27);
160
+ i0.ɵɵtext(1);
161
+ i0.ɵɵpipe(2, "translate");
162
+ i0.ɵɵelementEnd();
163
+ } if (rf & 2) {
164
+ const columnDef_r18 = i0.ɵɵnextContext(2).columnDef;
165
+ i0.ɵɵpropertyInterpolate("aui-sort-header", columnDef_r18.name);
166
+ i0.ɵɵproperty("start", columnDef_r18.sort.direction);
167
+ i0.ɵɵadvance();
168
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 3, columnDef_r18.label || columnDef_r18.name));
169
+ } }
170
+ function TableComponent_ng_template_5_ng_container_0_span_2_Template(rf, ctx) { if (rf & 1) {
171
+ i0.ɵɵelementStart(0, "span");
172
+ i0.ɵɵtext(1);
173
+ i0.ɵɵpipe(2, "translate");
174
+ i0.ɵɵelementEnd();
175
+ } if (rf & 2) {
176
+ const columnDef_r18 = i0.ɵɵnextContext(2).columnDef;
177
+ i0.ɵɵadvance();
178
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, columnDef_r18.label || columnDef_r18.name));
179
+ } }
180
+ function TableComponent_ng_template_5_ng_container_0_Template(rf, ctx) { if (rf & 1) {
181
+ i0.ɵɵelementContainerStart(0);
182
+ i0.ɵɵtemplate(1, TableComponent_ng_template_5_ng_container_0_span_1_Template, 3, 5, "span", 26)(2, TableComponent_ng_template_5_ng_container_0_span_2_Template, 3, 3, "span", 17);
183
+ i0.ɵɵelementContainerEnd();
184
+ } if (rf & 2) {
185
+ const columnDef_r18 = i0.ɵɵnextContext().columnDef;
186
+ i0.ɵɵadvance();
187
+ i0.ɵɵproperty("ngIf", columnDef_r18.sort);
188
+ i0.ɵɵadvance();
189
+ i0.ɵɵproperty("ngIf", !columnDef_r18.sort);
190
+ } }
191
+ function TableComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
192
+ i0.ɵɵtemplate(0, TableComponent_ng_template_5_ng_container_0_Template, 3, 2, "ng-container", 17);
193
+ } if (rf & 2) {
194
+ const columnDef_r18 = ctx.columnDef;
195
+ const ctx_r13 = i0.ɵɵnextContext();
196
+ i0.ɵɵproperty("ngIf", columnDef_r18.name !== ctx_r13.ACTION);
157
197
  } }
158
- function TableComponent_aui_table_header_row_5_Template(rf, ctx) { if (rf & 1) {
198
+ function TableComponent_aui_table_header_row_7_Template(rf, ctx) { if (rf & 1) {
159
199
  i0.ɵɵelement(0, "aui-table-header-row");
160
200
  } }
161
- function TableComponent_aui_table_row_7_Template(rf, ctx) { if (rf & 1) {
201
+ function TableComponent_aui_table_row_9_Template(rf, ctx) { if (rf & 1) {
162
202
  i0.ɵɵelement(0, "aui-table-row");
163
203
  } }
164
- function TableComponent_ng_container_9_ng_container_1_ng_container_4_Template(rf, ctx) { if (rf & 1) {
204
+ function TableComponent_ng_container_11_ng_container_1_ng_container_4_Template(rf, ctx) { if (rf & 1) {
165
205
  i0.ɵɵelementContainerStart(0);
166
206
  i0.ɵɵtext(1);
167
207
  i0.ɵɵpipe(2, "translate");
168
208
  i0.ɵɵpipe(3, "translate");
169
209
  i0.ɵɵelementContainerEnd();
170
210
  } if (rf & 2) {
171
- const finalResourceName_r16 = ctx.ngIf;
172
- const ctx_r2 = i0.ɵɵnextContext(3);
211
+ const finalResourceName_r19 = ctx.ngIf;
212
+ const ctx_r13 = i0.ɵɵnextContext(3);
173
213
  i0.ɵɵadvance();
174
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 3, "no_named_data_hint", i0.ɵɵpureFunction1(6, _c3, ctx_r2.resourceNameTranslated || i0.ɵɵpipeBind1(2, 1, finalResourceName_r16))), " ");
214
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 3, "no_named_data_hint", i0.ɵɵpureFunction1(6, _c4, ctx_r13.resourceNameTranslated || i0.ɵɵpipeBind1(2, 1, finalResourceName_r19))), " ");
175
215
  } }
176
- function TableComponent_ng_container_9_ng_container_1_ng_container_10_ng_container_1_Template(rf, ctx) { if (rf & 1) {
177
- i0.ɵɵelementContainer(0, 28);
216
+ function TableComponent_ng_container_11_ng_container_1_ng_container_10_ng_container_1_Template(rf, ctx) { if (rf & 1) {
217
+ i0.ɵɵelementContainer(0, 32);
178
218
  } if (rf & 2) {
179
- const ctx_r2 = i0.ɵɵnextContext(4);
180
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.loadingErrorTemplate);
219
+ const ctx_r13 = i0.ɵɵnextContext(4);
220
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r13.loadingErrorTemplate);
181
221
  } }
182
- function TableComponent_ng_container_9_ng_container_1_ng_container_10_Template(rf, ctx) { if (rf & 1) {
222
+ function TableComponent_ng_container_11_ng_container_1_ng_container_10_Template(rf, ctx) { if (rf & 1) {
183
223
  i0.ɵɵelementContainerStart(0);
184
- i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_ng_container_10_ng_container_1_Template, 1, 1, "ng-container", 27);
224
+ i0.ɵɵtemplate(1, TableComponent_ng_container_11_ng_container_1_ng_container_10_ng_container_1_Template, 1, 1, "ng-container", 31);
185
225
  i0.ɵɵelementContainerEnd();
186
226
  } }
187
- function TableComponent_ng_container_9_ng_container_1_Template(rf, ctx) { if (rf & 1) {
227
+ function TableComponent_ng_container_11_ng_container_1_Template(rf, ctx) { if (rf & 1) {
188
228
  i0.ɵɵelementContainerStart(0);
189
- i0.ɵɵelementStart(1, "div", 25);
229
+ i0.ɵɵelementStart(1, "div", 29);
190
230
  i0.ɵɵpipe(2, "async");
191
231
  i0.ɵɵpipe(3, "async");
192
- i0.ɵɵtemplate(4, TableComponent_ng_container_9_ng_container_1_ng_container_4_Template, 4, 8, "ng-container", 22);
232
+ i0.ɵɵtemplate(4, TableComponent_ng_container_11_ng_container_1_ng_container_4_Template, 4, 8, "ng-container", 19);
193
233
  i0.ɵɵpipe(5, "async");
194
234
  i0.ɵɵelementEnd();
195
- i0.ɵɵelementStart(6, "acl-k8s-resource-list-footer", 26);
235
+ i0.ɵɵelementStart(6, "acl-k8s-resource-list-footer", 30);
196
236
  i0.ɵɵpipe(7, "async");
197
237
  i0.ɵɵpipe(8, "async");
198
238
  i0.ɵɵpipe(9, "async");
199
- i0.ɵɵtemplate(10, TableComponent_ng_container_9_ng_container_1_ng_container_10_Template, 2, 0, "ng-container", 15);
239
+ i0.ɵɵtemplate(10, TableComponent_ng_container_11_ng_container_1_ng_container_10_Template, 2, 0, "ng-container", 17);
200
240
  i0.ɵɵelementEnd();
201
241
  i0.ɵɵelementContainerEnd();
202
242
  } if (rf & 2) {
203
- let tmp_7_0;
204
- let tmp_10_0;
205
- const ctx_r2 = i0.ɵɵnextContext(2);
206
- const noData_r17 = i0.ɵɵreference(20);
243
+ let tmp_8_0;
244
+ let tmp_11_0;
245
+ const ctx_r13 = i0.ɵɵnextContext(2);
246
+ const noData_r20 = i0.ɵɵreference(22);
207
247
  i0.ɵɵadvance();
208
- i0.ɵɵproperty("hidden", ((tmp_7_0 = i0.ɵɵpipeBind1(2, 9, ctx_r2.pagedItems$)) == null ? null : tmp_7_0.length) || !((tmp_7_0 = i0.ɵɵpipeBind1(3, 11, ctx_r2.list.items$)) == null ? null : tmp_7_0.length));
248
+ i0.ɵɵproperty("hidden", ((tmp_8_0 = i0.ɵɵpipeBind1(2, 9, ctx_r13.pagedItems$)) == null ? null : tmp_8_0.length) || !((tmp_8_0 = i0.ɵɵpipeBind1(3, 11, ctx_r13.list.items$)) == null ? null : tmp_8_0.length));
209
249
  i0.ɵɵadvance(3);
210
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 13, ctx_r2.finalResourceName$))("ngIfElse", noData_r17);
250
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 13, ctx_r13.finalResourceName$))("ngIfElse", noData_r20);
211
251
  i0.ɵɵadvance(2);
212
- i0.ɵɵproperty("hidden", !((tmp_10_0 = i0.ɵɵpipeBind1(7, 15, ctx_r2.pagedItems$)) == null ? null : tmp_10_0.length) && ((tmp_10_0 = i0.ɵɵpipeBind1(8, 17, ctx_r2.list.items$)) == null ? null : tmp_10_0.length))("list", ctx_r2.list)("resourceName", i0.ɵɵpipeBind1(9, 19, ctx_r2.finalResourceName$))("resourceNameTranslated", ctx_r2.resourceNameTranslated)("firstScrollLoad", ctx_r2.firstScrollLoad);
252
+ i0.ɵɵproperty("hidden", !((tmp_11_0 = i0.ɵɵpipeBind1(7, 15, ctx_r13.pagedItems$)) == null ? null : tmp_11_0.length) && ((tmp_11_0 = i0.ɵɵpipeBind1(8, 17, ctx_r13.list.items$)) == null ? null : tmp_11_0.length))("list", ctx_r13.list)("resourceName", i0.ɵɵpipeBind1(9, 19, ctx_r13.finalResourceName$))("resourceNameTranslated", ctx_r13.resourceNameTranslated)("firstScrollLoad", ctx_r13.firstScrollLoad);
213
253
  i0.ɵɵadvance(4);
214
- i0.ɵɵproperty("ngIf", ctx_r2.loadingErrorTemplate);
254
+ i0.ɵɵproperty("ngIf", ctx_r13.loadingErrorTemplate);
215
255
  } }
216
- function TableComponent_ng_container_9_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
256
+ function TableComponent_ng_container_11_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
217
257
  i0.ɵɵelementContainerStart(0);
218
258
  i0.ɵɵtext(1);
219
259
  i0.ɵɵpipe(2, "translate");
220
260
  i0.ɵɵpipe(3, "translate");
221
261
  i0.ɵɵelementContainerEnd();
222
262
  } if (rf & 2) {
223
- const ctx_r2 = i0.ɵɵnextContext(3);
263
+ const ctx_r13 = i0.ɵɵnextContext(3);
224
264
  i0.ɵɵadvance();
225
- i0.ɵɵtextInterpolate1(" ", ctx_r2.noDataHint || i0.ɵɵpipeBind2(3, 3, "no_named_data_hint", i0.ɵɵpureFunction1(6, _c3, ctx_r2.resourceNameTranslated || i0.ɵɵpipeBind1(2, 1, ctx_r2.resourceName))), " ");
265
+ i0.ɵɵtextInterpolate1(" ", ctx_r13.noDataHint || i0.ɵɵpipeBind2(3, 3, "no_named_data_hint", i0.ɵɵpureFunction1(6, _c4, ctx_r13.resourceNameTranslated || i0.ɵɵpipeBind1(2, 1, ctx_r13.resourceName))), " ");
226
266
  } }
227
- function TableComponent_ng_container_9_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
228
- i0.ɵɵelement(0, "aui-icon", 30);
267
+ function TableComponent_ng_container_11_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
268
+ i0.ɵɵelement(0, "aui-icon", 34);
229
269
  i0.ɵɵtext(1);
230
270
  i0.ɵɵpipe(2, "translate");
231
271
  } if (rf & 2) {
232
272
  i0.ɵɵadvance();
233
273
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "loading_please_wait"), " ");
234
274
  } }
235
- function TableComponent_ng_container_9_div_2_Template(rf, ctx) { if (rf & 1) {
236
- i0.ɵɵelementStart(0, "div", 29);
237
- i0.ɵɵtemplate(1, TableComponent_ng_container_9_div_2_ng_container_1_Template, 4, 8, "ng-container", 22);
275
+ function TableComponent_ng_container_11_div_2_Template(rf, ctx) { if (rf & 1) {
276
+ i0.ɵɵelementStart(0, "div", 33);
277
+ i0.ɵɵtemplate(1, TableComponent_ng_container_11_div_2_ng_container_1_Template, 4, 8, "ng-container", 19);
238
278
  i0.ɵɵpipe(2, "async");
239
- i0.ɵɵtemplate(3, TableComponent_ng_container_9_div_2_ng_template_3_Template, 3, 3, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
279
+ i0.ɵɵtemplate(3, TableComponent_ng_container_11_div_2_ng_template_3_Template, 3, 3, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
240
280
  i0.ɵɵelementEnd();
241
281
  } if (rf & 2) {
242
- const loading_r18 = i0.ɵɵreference(4);
243
- const ctx_r2 = i0.ɵɵnextContext(2);
282
+ const loading_r21 = i0.ɵɵreference(4);
283
+ const ctx_r13 = i0.ɵɵnextContext(2);
244
284
  i0.ɵɵadvance();
245
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, ctx_r2.finalDataSource$))("ngIfElse", loading_r18);
285
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, ctx_r13.finalDataSource$))("ngIfElse", loading_r21);
246
286
  } }
247
- function TableComponent_ng_container_9_Template(rf, ctx) { if (rf & 1) {
287
+ function TableComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
248
288
  i0.ɵɵelementContainerStart(0);
249
- i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_Template, 11, 21, "ng-container", 15)(2, TableComponent_ng_container_9_div_2_Template, 5, 4, "div", 24);
289
+ i0.ɵɵtemplate(1, TableComponent_ng_container_11_ng_container_1_Template, 11, 21, "ng-container", 17)(2, TableComponent_ng_container_11_div_2_Template, 5, 4, "div", 28);
250
290
  i0.ɵɵpipe(3, "async");
251
291
  i0.ɵɵelementContainerEnd();
252
292
  } if (rf & 2) {
253
- let tmp_7_0;
254
- const ctx_r2 = i0.ɵɵnextContext();
293
+ let tmp_8_0;
294
+ const ctx_r13 = i0.ɵɵnextContext();
255
295
  i0.ɵɵadvance();
256
- i0.ɵɵproperty("ngIf", ctx_r2.list);
296
+ i0.ɵɵproperty("ngIf", ctx_r13.list);
257
297
  i0.ɵɵadvance();
258
- i0.ɵɵproperty("ngIf", !ctx_r2.list && !((tmp_7_0 = i0.ɵɵpipeBind1(3, 2, ctx_r2.pagedItems$)) == null ? null : tmp_7_0.length));
298
+ i0.ɵɵproperty("ngIf", !ctx_r13.list && !((tmp_8_0 = i0.ɵɵpipeBind1(3, 2, ctx_r13.pagedItems$)) == null ? null : tmp_8_0.length));
259
299
  } }
260
- function TableComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {
261
- const _r19 = i0.ɵɵgetCurrentView();
300
+ function TableComponent_ng_container_12_Template(rf, ctx) { if (rf & 1) {
301
+ const _r22 = i0.ɵɵgetCurrentView();
262
302
  i0.ɵɵelementContainerStart(0);
263
- i0.ɵɵelementStart(1, "aui-paginator", 31);
303
+ i0.ɵɵelementStart(1, "aui-paginator", 35);
264
304
  i0.ɵɵpipe(2, "async");
265
305
  i0.ɵɵpipe(3, "async");
266
- 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)); });
306
+ i0.ɵɵlistener("currentPageChange", function TableComponent_ng_container_12_Template_aui_paginator_currentPageChange_1_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.currentPage$.next($event)); })("pageSizeChange", function TableComponent_ng_container_12_Template_aui_paginator_pageSizeChange_1_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.pageSize$.next($event)); });
267
307
  i0.ɵɵelementEnd();
268
308
  i0.ɵɵelementContainerEnd();
269
309
  } if (rf & 2) {
270
- const ctx_r2 = i0.ɵɵnextContext();
310
+ const ctx_r13 = i0.ɵɵnextContext();
271
311
  i0.ɵɵadvance();
272
- 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);
312
+ i0.ɵɵproperty("layout", ctx_r13.paginationLayout)("currentPage", i0.ɵɵpipeBind1(2, 5, ctx_r13.currentPage$))("pageSize", i0.ɵɵpipeBind1(3, 7, ctx_r13.pageSize$))("total", ctx_r13.pagination.total)("pageSizeOptions", ctx_r13.pageSizeOptions);
273
313
  } }
274
- function TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
314
+ function TableComponent_ng_template_13_ng_container_1_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
275
315
  i0.ɵɵelementContainerStart(0);
276
- i0.ɵɵelementStart(1, "a", 39);
316
+ i0.ɵɵelementStart(1, "a", 43);
277
317
  i0.ɵɵpipe(2, "async");
278
318
  i0.ɵɵtext(3);
279
319
  i0.ɵɵelementEnd();
280
320
  i0.ɵɵelementContainerEnd();
281
321
  } if (rf & 2) {
282
- const name_r20 = i0.ɵɵnextContext().ngIf;
283
- const ctx_r2 = i0.ɵɵnextContext(3);
322
+ const name_r23 = i0.ɵɵnextContext().ngIf;
323
+ const ctx_r13 = i0.ɵɵnextContext(3);
284
324
  i0.ɵɵadvance();
285
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(5, _c4, i0.ɵɵpipeBind1(2, 3, ctx_r2.isListPage$) ? ".." : ".", name_r20))("auiTooltip", name_r20);
325
+ i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(5, _c5, i0.ɵɵpipeBind1(2, 3, ctx_r13.isListPage$) ? ".." : ".", name_r23))("auiTooltip", name_r23);
286
326
  i0.ɵɵadvance(2);
287
- i0.ɵɵtextInterpolate1(" ", name_r20, " ");
327
+ i0.ɵɵtextInterpolate1(" ", name_r23, " ");
288
328
  } }
289
- function TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
290
- i0.ɵɵelementStart(0, "span", 40);
329
+ function TableComponent_ng_template_13_ng_container_1_div_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
330
+ i0.ɵɵelementStart(0, "span", 44);
291
331
  i0.ɵɵpipe(1, "aclIsDeleting");
292
332
  i0.ɵɵtext(2);
293
333
  i0.ɵɵelementEnd();
294
334
  } if (rf & 2) {
295
- const name_r20 = i0.ɵɵnextContext().ngIf;
296
- const data_r21 = i0.ɵɵnextContext(2).data;
297
- i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 4, data_r21));
298
- i0.ɵɵproperty("auiTooltip", name_r20);
335
+ const name_r23 = i0.ɵɵnextContext().ngIf;
336
+ const data_r24 = i0.ɵɵnextContext(2).data;
337
+ i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 4, data_r24));
338
+ i0.ɵɵproperty("auiTooltip", name_r23);
299
339
  i0.ɵɵadvance(2);
300
- i0.ɵɵtextInterpolate(name_r20);
340
+ i0.ɵɵtextInterpolate(name_r23);
301
341
  } }
302
- function TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template(rf, ctx) { if (rf & 1) {
303
- i0.ɵɵelement(0, "acl-deleting-tag", 41);
342
+ function TableComponent_ng_template_13_ng_container_1_div_1_acl_deleting_tag_5_Template(rf, ctx) { if (rf & 1) {
343
+ i0.ɵɵelement(0, "acl-deleting-tag", 45);
304
344
  } if (rf & 2) {
305
- const data_r21 = i0.ɵɵnextContext(3).data;
306
- i0.ɵɵproperty("resource", data_r21);
345
+ const data_r24 = i0.ɵɵnextContext(3).data;
346
+ i0.ɵɵproperty("resource", data_r24);
307
347
  } }
308
- function TableComponent_ng_template_11_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
309
- i0.ɵɵelementStart(0, "div", 37);
310
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template, 4, 8, "ng-container", 22);
348
+ function TableComponent_ng_template_13_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
349
+ i0.ɵɵelementStart(0, "div", 41);
350
+ i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_1_div_1_ng_container_1_Template, 4, 8, "ng-container", 19);
311
351
  i0.ɵɵpipe(2, "aclIsDeleting");
312
- 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", 38);
352
+ i0.ɵɵtemplate(3, TableComponent_ng_template_13_ng_container_1_div_1_ng_template_3_Template, 3, 6, "ng-template", null, 10, i0.ɵɵtemplateRefExtractor)(5, TableComponent_ng_template_13_ng_container_1_div_1_acl_deleting_tag_5_Template, 1, 1, "acl-deleting-tag", 42);
313
353
  i0.ɵɵpipe(6, "pure");
314
354
  i0.ɵɵelementEnd();
315
355
  } if (rf & 2) {
316
- const plainName_r22 = i0.ɵɵreference(4);
317
- const ctx_r22 = i0.ɵɵnextContext(2);
318
- const data_r21 = ctx_r22.data;
319
- const columnDef_r24 = ctx_r22.columnDef;
320
- const ctx_r2 = i0.ɵɵnextContext();
356
+ const plainName_r25 = i0.ɵɵreference(4);
357
+ const ctx_r25 = i0.ɵɵnextContext(2);
358
+ const data_r24 = ctx_r25.data;
359
+ const columnDef_r27 = ctx_r25.columnDef;
360
+ const ctx_r13 = i0.ɵɵnextContext();
321
361
  i0.ɵɵadvance();
322
- i0.ɵɵproperty("ngIf", (columnDef_r24.extra == null ? null : columnDef_r24.extra.link) !== false && !i0.ɵɵpipeBind1(2, 3, data_r21))("ngIfElse", plainName_r22);
362
+ i0.ɵɵproperty("ngIf", (columnDef_r27.extra == null ? null : columnDef_r27.extra.link) !== false && !i0.ɵɵpipeBind1(2, 3, data_r24))("ngIfElse", plainName_r25);
323
363
  i0.ɵɵadvance(4);
324
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(6, 5, data_r21, ctx_r2.isK8sResource));
364
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(6, 5, data_r24, ctx_r13.isK8sResource));
325
365
  } }
326
- function TableComponent_ng_template_11_ng_container_1_div_3_Template(rf, ctx) { if (rf & 1) {
327
- i0.ɵɵelementStart(0, "div", 42);
366
+ function TableComponent_ng_template_13_ng_container_1_div_3_Template(rf, ctx) { if (rf & 1) {
367
+ i0.ɵɵelementStart(0, "div", 46);
328
368
  i0.ɵɵpipe(1, "aclIsDeleting");
329
369
  i0.ɵɵtext(2);
330
370
  i0.ɵɵelementEnd();
331
371
  } if (rf & 2) {
332
- const displayName_r25 = ctx.ngIf;
333
- const data_r21 = i0.ɵɵnextContext(2).data;
334
- i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 3, data_r21));
372
+ const displayName_r28 = ctx.ngIf;
373
+ const data_r24 = i0.ɵɵnextContext(2).data;
374
+ i0.ɵɵclassProp("deleting-text", i0.ɵɵpipeBind1(1, 3, data_r24));
335
375
  i0.ɵɵadvance(2);
336
- i0.ɵɵtextInterpolate1(" ", displayName_r25, " ");
376
+ i0.ɵɵtextInterpolate1(" ", displayName_r28, " ");
337
377
  } }
338
- function TableComponent_ng_template_11_ng_container_1_Template(rf, ctx) { if (rf & 1) {
378
+ function TableComponent_ng_template_13_ng_container_1_Template(rf, ctx) { if (rf & 1) {
339
379
  i0.ɵɵelementContainerStart(0);
340
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_Template, 7, 8, "div", 35);
380
+ i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_1_div_1_Template, 7, 8, "div", 39);
341
381
  i0.ɵɵpipe(2, "pure");
342
- i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_3_Template, 3, 5, "div", 36);
382
+ i0.ɵɵtemplate(3, TableComponent_ng_template_13_ng_container_1_div_3_Template, 3, 5, "div", 40);
343
383
  i0.ɵɵpipe(4, "pure");
344
384
  i0.ɵɵpipe(5, "aclDisplayName");
345
385
  i0.ɵɵelementContainerEnd();
346
386
  } if (rf & 2) {
347
- const ctx_r22 = i0.ɵɵnextContext();
348
- const data_r21 = ctx_r22.data;
349
- const columnDef_r24 = ctx_r22.columnDef;
350
- const ctx_r2 = i0.ɵɵnextContext();
387
+ const ctx_r25 = i0.ɵɵnextContext();
388
+ const data_r24 = ctx_r25.data;
389
+ const columnDef_r27 = ctx_r25.columnDef;
390
+ const ctx_r13 = i0.ɵɵnextContext();
351
391
  i0.ɵɵadvance();
352
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name));
392
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r24, ctx_r13.getValueFromPath, columnDef_r27.name));
353
393
  i0.ɵɵadvance(2);
354
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(4, 6, data_r21, ctx_r2.isK8sResource) ? i0.ɵɵpipeBind1(5, 9, data_r21) : data_r21.displayName);
394
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(4, 6, data_r24, ctx_r13.isK8sResource) ? i0.ɵɵpipeBind1(5, 9, data_r24) : data_r24.displayName);
355
395
  } }
356
- function TableComponent_ng_template_11_ng_container_2_Template(rf, ctx) { if (rf & 1) {
396
+ function TableComponent_ng_template_13_ng_container_2_Template(rf, ctx) { if (rf & 1) {
357
397
  i0.ɵɵelementContainerStart(0);
358
- i0.ɵɵelement(1, "acl-relative-time", 43);
398
+ i0.ɵɵelement(1, "acl-relative-time", 47);
359
399
  i0.ɵɵpipe(2, "pure");
360
400
  i0.ɵɵelementContainerEnd();
361
401
  } if (rf & 2) {
362
- const ctx_r22 = i0.ɵɵnextContext();
363
- const data_r21 = ctx_r22.data;
364
- const columnDef_r24 = ctx_r22.columnDef;
365
- const ctx_r2 = i0.ɵɵnextContext();
402
+ const ctx_r25 = i0.ɵɵnextContext();
403
+ const data_r24 = ctx_r25.data;
404
+ const columnDef_r27 = ctx_r25.columnDef;
405
+ const ctx_r13 = i0.ɵɵnextContext();
366
406
  i0.ɵɵadvance();
367
- i0.ɵɵproperty("time", i0.ɵɵpipeBind3(2, 1, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name));
407
+ i0.ɵɵproperty("time", i0.ɵɵpipeBind3(2, 1, data_r24, ctx_r13.getValueFromPath, columnDef_r27.name));
368
408
  } }
369
- function TableComponent_ng_template_11_ng_container_3_Template(rf, ctx) { if (rf & 1) {
409
+ function TableComponent_ng_template_13_ng_container_3_Template(rf, ctx) { if (rf & 1) {
370
410
  i0.ɵɵelementContainerStart(0);
371
- i0.ɵɵelementStart(1, "button", 44);
372
- i0.ɵɵelement(2, "aui-icon", 45);
411
+ i0.ɵɵelementStart(1, "button", 48);
412
+ i0.ɵɵelement(2, "aui-icon", 49);
373
413
  i0.ɵɵelementEnd();
374
414
  i0.ɵɵelementContainerEnd();
375
415
  } if (rf & 2) {
376
- const ctx_r22 = i0.ɵɵnextContext();
377
- const data_r21 = ctx_r22.data;
378
- const columnDef_r24 = ctx_r22.columnDef;
416
+ const ctx_r25 = i0.ɵɵnextContext();
417
+ const data_r24 = ctx_r25.data;
418
+ const columnDef_r27 = ctx_r25.columnDef;
379
419
  i0.ɵɵnextContext();
380
- const menu_r26 = i0.ɵɵreference(16);
420
+ const menu_r29 = i0.ɵɵreference(18);
381
421
  i0.ɵɵadvance();
382
- i0.ɵɵproperty("square", true)("auiDropdown", menu_r26)("auiDropdownContext", i0.ɵɵpureFunction2(3, _c5, data_r21, columnDef_r24));
422
+ i0.ɵɵproperty("square", true)("auiDropdown", menu_r29)("auiDropdownContext", i0.ɵɵpureFunction2(3, _c6, data_r24, columnDef_r27));
383
423
  } }
384
- function TableComponent_ng_template_11_ng_container_4_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
424
+ function TableComponent_ng_template_13_ng_container_4_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
385
425
  i0.ɵɵelementContainer(0);
386
426
  } }
387
- function TableComponent_ng_template_11_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
427
+ function TableComponent_ng_template_13_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
388
428
  i0.ɵɵelementContainerStart(0);
389
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 23);
429
+ i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_4_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 23);
390
430
  i0.ɵɵelementContainerEnd();
391
431
  } if (rf & 2) {
392
- const value_r27 = ctx.ngIf;
393
- const columnDef_r24 = i0.ɵɵnextContext(2).columnDef;
432
+ const value_r30 = ctx.ngIf;
433
+ const columnDef_r27 = i0.ɵɵnextContext(2).columnDef;
394
434
  i0.ɵɵnextContext();
395
- const tableCellContent_r12 = i0.ɵɵreference(14);
435
+ const tableCellContent_r12 = i0.ɵɵreference(16);
396
436
  i0.ɵɵadvance();
397
- i0.ɵɵproperty("ngTemplateOutlet", tableCellContent_r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c1, columnDef_r24, value_r27));
437
+ i0.ɵɵproperty("ngTemplateOutlet", tableCellContent_r12)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c2, columnDef_r27, value_r30));
398
438
  } }
399
- function TableComponent_ng_template_11_ng_container_4_Template(rf, ctx) { if (rf & 1) {
439
+ function TableComponent_ng_template_13_ng_container_4_Template(rf, ctx) { if (rf & 1) {
400
440
  i0.ɵɵelementContainerStart(0);
401
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_4_ng_container_1_Template, 2, 5, "ng-container", 22);
441
+ i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_4_ng_container_1_Template, 2, 5, "ng-container", 19);
402
442
  i0.ɵɵpipe(2, "pure");
403
443
  i0.ɵɵelementContainerEnd();
404
444
  } if (rf & 2) {
405
- const ctx_r22 = i0.ɵɵnextContext();
406
- const data_r21 = ctx_r22.data;
407
- const columnDef_r24 = ctx_r22.columnDef;
408
- const ctx_r2 = i0.ɵɵnextContext();
409
- const empty_r28 = i0.ɵɵreference(18);
445
+ const ctx_r25 = i0.ɵɵnextContext();
446
+ const data_r24 = ctx_r25.data;
447
+ const columnDef_r27 = ctx_r25.columnDef;
448
+ const ctx_r13 = i0.ɵɵnextContext();
449
+ const empty_r31 = i0.ɵɵreference(20);
410
450
  i0.ɵɵadvance();
411
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name))("ngIfElse", empty_r28);
451
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r24, ctx_r13.getValueFromPath, columnDef_r27.name))("ngIfElse", empty_r31);
412
452
  } }
413
- function TableComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
414
- i0.ɵɵelementContainerStart(0, 32);
415
- i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_Template, 6, 11, "ng-container", 33)(2, TableComponent_ng_template_11_ng_container_2_Template, 3, 5, "ng-container", 33)(3, TableComponent_ng_template_11_ng_container_3_Template, 3, 6, "ng-container", 33)(4, TableComponent_ng_template_11_ng_container_4_Template, 3, 6, "ng-container", 34);
453
+ function TableComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
454
+ i0.ɵɵelementContainerStart(0, 36);
455
+ i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_1_Template, 6, 11, "ng-container", 37)(2, TableComponent_ng_template_13_ng_container_2_Template, 3, 5, "ng-container", 37)(3, TableComponent_ng_template_13_ng_container_3_Template, 3, 6, "ng-container", 37)(4, TableComponent_ng_template_13_ng_container_4_Template, 3, 6, "ng-container", 38);
416
456
  i0.ɵɵelementContainerEnd();
417
457
  } if (rf & 2) {
418
- const columnDef_r24 = ctx.columnDef;
419
- const ctx_r2 = i0.ɵɵnextContext();
420
- i0.ɵɵproperty("ngSwitch", columnDef_r24.name);
458
+ const columnDef_r27 = ctx.columnDef;
459
+ const ctx_r13 = i0.ɵɵnextContext();
460
+ i0.ɵɵproperty("ngSwitch", columnDef_r27.name);
421
461
  i0.ɵɵadvance();
422
- i0.ɵɵproperty("ngSwitchCase", ctx_r2.NAME);
462
+ i0.ɵɵproperty("ngSwitchCase", ctx_r13.NAME);
423
463
  i0.ɵɵadvance();
424
- i0.ɵɵproperty("ngSwitchCase", ctx_r2.CREATED_AT);
464
+ i0.ɵɵproperty("ngSwitchCase", ctx_r13.CREATED_AT);
425
465
  i0.ɵɵadvance();
426
- i0.ɵɵproperty("ngSwitchCase", ctx_r2.ACTION);
466
+ i0.ɵɵproperty("ngSwitchCase", ctx_r13.ACTION);
427
467
  } }
428
- function TableComponent_ng_template_13_ng_container_0_div_1_Template(rf, ctx) { if (rf & 1) {
429
- i0.ɵɵelementStart(0, "div", 47);
468
+ function TableComponent_ng_template_15_ng_container_0_div_1_Template(rf, ctx) { if (rf & 1) {
469
+ i0.ɵɵelementStart(0, "div", 51);
430
470
  i0.ɵɵtext(1);
431
471
  i0.ɵɵelementEnd();
432
472
  } if (rf & 2) {
433
- const text_r29 = i0.ɵɵnextContext().ngIf;
434
- i0.ɵɵproperty("auiTooltip", text_r29);
473
+ const text_r32 = i0.ɵɵnextContext().ngIf;
474
+ i0.ɵɵproperty("auiTooltip", text_r32);
435
475
  i0.ɵɵadvance();
436
- i0.ɵɵtextInterpolate1(" ", text_r29, " ");
476
+ i0.ɵɵtextInterpolate1(" ", text_r32, " ");
437
477
  } }
438
- function TableComponent_ng_template_13_ng_container_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
478
+ function TableComponent_ng_template_15_ng_container_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
439
479
  i0.ɵɵtext(0);
440
480
  } if (rf & 2) {
441
- const text_r29 = i0.ɵɵnextContext().ngIf;
442
- i0.ɵɵtextInterpolate(text_r29);
481
+ const text_r32 = i0.ɵɵnextContext().ngIf;
482
+ i0.ɵɵtextInterpolate(text_r32);
443
483
  } }
444
- function TableComponent_ng_template_13_ng_container_0_Template(rf, ctx) { if (rf & 1) {
484
+ function TableComponent_ng_template_15_ng_container_0_Template(rf, ctx) { if (rf & 1) {
445
485
  i0.ɵɵelementContainerStart(0);
446
- i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_0_div_1_Template, 2, 2, "div", 46)(2, TableComponent_ng_template_13_ng_container_0_ng_template_2_Template, 1, 1, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
486
+ i0.ɵɵtemplate(1, TableComponent_ng_template_15_ng_container_0_div_1_Template, 2, 2, "div", 50)(2, TableComponent_ng_template_15_ng_container_0_ng_template_2_Template, 1, 1, "ng-template", null, 11, i0.ɵɵtemplateRefExtractor);
447
487
  i0.ɵɵelementContainerEnd();
448
488
  } if (rf & 2) {
449
- const plainText_r30 = i0.ɵɵreference(3);
450
- const columnDef_r31 = i0.ɵɵnextContext().columnDef;
489
+ const plainText_r33 = i0.ɵɵreference(3);
490
+ const columnDef_r34 = i0.ɵɵnextContext().columnDef;
451
491
  i0.ɵɵadvance();
452
- i0.ɵɵproperty("ngIf", columnDef_r31.ellipsis)("ngIfElse", plainText_r30);
492
+ i0.ɵɵproperty("ngIf", columnDef_r34.ellipsis)("ngIfElse", plainText_r33);
453
493
  } }
454
- function TableComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
455
- i0.ɵɵtemplate(0, TableComponent_ng_template_13_ng_container_0_Template, 4, 2, "ng-container", 22);
494
+ function TableComponent_ng_template_15_Template(rf, ctx) { if (rf & 1) {
495
+ i0.ɵɵtemplate(0, TableComponent_ng_template_15_ng_container_0_Template, 4, 2, "ng-container", 19);
456
496
  i0.ɵɵpipe(1, "translate");
457
497
  i0.ɵɵpipe(2, "pure");
458
498
  i0.ɵɵpipe(3, "translate");
459
499
  } if (rf & 2) {
460
- const columnDef_r31 = ctx.columnDef;
461
- const value_r32 = ctx.value;
462
- const ctx_r2 = i0.ɵɵnextContext();
463
- const empty_r28 = i0.ɵɵreference(18);
464
- 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);
500
+ const columnDef_r34 = ctx.columnDef;
501
+ const value_r35 = ctx.value;
502
+ const ctx_r13 = i0.ɵɵnextContext();
503
+ const empty_r31 = i0.ɵɵreference(20);
504
+ i0.ɵɵproperty("ngIf", columnDef_r34.translate == null ? value_r35 : columnDef_r34.translate === true ? i0.ɵɵpipeBind1(1, 2, value_r35) : i0.ɵɵpipeBind1(3, 8, i0.ɵɵpipeBind3(2, 4, value_r35, columnDef_r34.translate, ctx_r13.finalContext)))("ngIfElse", empty_r31);
465
505
  } }
466
- function TableComponent_ng_template_15_acl_disabled_container_1_Template(rf, ctx) { if (rf & 1) {
467
- const _r33 = i0.ɵɵgetCurrentView();
468
- i0.ɵɵelementStart(0, "acl-disabled-container", 49);
506
+ function TableComponent_ng_template_17_acl_disabled_container_1_Template(rf, ctx) { if (rf & 1) {
507
+ const _r36 = i0.ɵɵgetCurrentView();
508
+ i0.ɵɵelementStart(0, "acl-disabled-container", 53);
469
509
  i0.ɵɵpipe(1, "pure");
470
510
  i0.ɵɵpipe(2, "pure");
471
511
  i0.ɵɵpipe(3, "pure");
472
512
  i0.ɵɵpipe(4, "translate");
473
- 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)); });
513
+ i0.ɵɵlistener("click", function TableComponent_ng_template_17_acl_disabled_container_1_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r36); const ctx_r36 = i0.ɵɵnextContext(); const data_r38 = ctx_r36.$implicit; const columnDef_r39 = ctx_r36.columnDef; const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onUpdate(data_r38, columnDef_r39)); });
474
514
  i0.ɵɵelementStart(5, "aui-menu-item");
475
515
  i0.ɵɵtext(6);
476
516
  i0.ɵɵpipe(7, "translate");
477
517
  i0.ɵɵelementEnd()();
478
518
  } if (rf & 2) {
479
- const ctx_r33 = i0.ɵɵnextContext();
480
- const data_r35 = ctx_r33.$implicit;
481
- const columnDef_r36 = ctx_r33.columnDef;
482
- const ctx_r2 = i0.ɵɵnextContext();
483
- 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)));
519
+ const ctx_r36 = i0.ɵɵnextContext();
520
+ const data_r38 = ctx_r36.$implicit;
521
+ const columnDef_r39 = ctx_r36.columnDef;
522
+ const ctx_r13 = i0.ɵɵnextContext();
523
+ i0.ɵɵproperty("isAllowed", !ctx_r13.permissions || ctx_r13.permissions.update)("isDisabled", i0.ɵɵpipeBind2(1, 4, columnDef_r39.extra == null ? null : columnDef_r39.extra.update == null ? null : columnDef_r39.extra.update.disabled.handler, ctx_r13.isFunction) && i0.ɵɵpipeBind3(2, 7, data_r38, columnDef_r39.extra.update.disabled.handler, ctx_r13.finalContext))("tooltip", i0.ɵɵpipeBind1(4, 16, i0.ɵɵpipeBind4(3, 11, columnDef_r39.extra == null ? null : columnDef_r39.extra.update == null ? null : columnDef_r39.extra.update.disabled.tooltip, ctx_r13.getValue, data_r38, ctx_r13.finalContext)));
484
524
  i0.ɵɵadvance(6);
485
525
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 18, "update"));
486
526
  } }
487
- function TableComponent_ng_template_15_acl_disabled_container_2_Template(rf, ctx) { if (rf & 1) {
488
- const _r37 = i0.ɵɵgetCurrentView();
489
- i0.ɵɵelementStart(0, "acl-disabled-container", 49);
527
+ function TableComponent_ng_template_17_acl_disabled_container_2_Template(rf, ctx) { if (rf & 1) {
528
+ const _r40 = i0.ɵɵgetCurrentView();
529
+ i0.ɵɵelementStart(0, "acl-disabled-container", 53);
490
530
  i0.ɵɵpipe(1, "pure");
491
531
  i0.ɵɵpipe(2, "pure");
492
532
  i0.ɵɵpipe(3, "pure");
493
533
  i0.ɵɵpipe(4, "translate");
494
- 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)); });
534
+ i0.ɵɵlistener("click", function TableComponent_ng_template_17_acl_disabled_container_2_Template_acl_disabled_container_click_0_listener() { i0.ɵɵrestoreView(_r40); const data_r38 = i0.ɵɵnextContext().$implicit; const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.delete.emit(data_r38)); });
495
535
  i0.ɵɵelementStart(5, "aui-menu-item");
496
536
  i0.ɵɵtext(6);
497
537
  i0.ɵɵpipe(7, "translate");
498
538
  i0.ɵɵelementEnd()();
499
539
  } if (rf & 2) {
500
- const ctx_r33 = i0.ɵɵnextContext();
501
- const data_r35 = ctx_r33.$implicit;
502
- const columnDef_r36 = ctx_r33.columnDef;
503
- const ctx_r2 = i0.ɵɵnextContext();
504
- 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)));
540
+ const ctx_r36 = i0.ɵɵnextContext();
541
+ const data_r38 = ctx_r36.$implicit;
542
+ const columnDef_r39 = ctx_r36.columnDef;
543
+ const ctx_r13 = i0.ɵɵnextContext();
544
+ i0.ɵɵproperty("isAllowed", !ctx_r13.permissions || ctx_r13.permissions.delete)("isDisabled", i0.ɵɵpipeBind2(1, 4, columnDef_r39.extra == null ? null : columnDef_r39.extra.delete == null ? null : columnDef_r39.extra.delete.disabled.handler, ctx_r13.isFunction) && i0.ɵɵpipeBind3(2, 7, data_r38, columnDef_r39.extra.delete.disabled.handler, ctx_r13.finalContext))("tooltip", i0.ɵɵpipeBind1(4, 16, i0.ɵɵpipeBind4(3, 11, columnDef_r39.extra == null ? null : columnDef_r39.extra.delete == null ? null : columnDef_r39.extra.delete.disabled.tooltip, ctx_r13.getValue, data_r38, ctx_r13.finalContext)));
505
545
  i0.ɵɵadvance(6);
506
546
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 18, "delete"));
507
547
  } }
508
- function TableComponent_ng_template_15_Template(rf, ctx) { if (rf & 1) {
548
+ function TableComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
509
549
  i0.ɵɵelementStart(0, "aui-menu");
510
- i0.ɵɵtemplate(1, TableComponent_ng_template_15_acl_disabled_container_1_Template, 8, 20, "acl-disabled-container", 48)(2, TableComponent_ng_template_15_acl_disabled_container_2_Template, 8, 20, "acl-disabled-container", 48);
550
+ i0.ɵɵtemplate(1, TableComponent_ng_template_17_acl_disabled_container_1_Template, 8, 20, "acl-disabled-container", 52)(2, TableComponent_ng_template_17_acl_disabled_container_2_Template, 8, 20, "acl-disabled-container", 52);
511
551
  i0.ɵɵelementEnd();
512
552
  } if (rf & 2) {
513
- const columnDef_r36 = ctx.columnDef;
553
+ const columnDef_r39 = ctx.columnDef;
514
554
  i0.ɵɵadvance();
515
- i0.ɵɵproperty("ngIf", (columnDef_r36.extra == null ? null : columnDef_r36.extra.update) !== false);
555
+ i0.ɵɵproperty("ngIf", (columnDef_r39.extra == null ? null : columnDef_r39.extra.update) !== false);
516
556
  i0.ɵɵadvance();
517
- i0.ɵɵproperty("ngIf", (columnDef_r36.extra == null ? null : columnDef_r36.extra.delete) !== false);
557
+ i0.ɵɵproperty("ngIf", (columnDef_r39.extra == null ? null : columnDef_r39.extra.delete) !== false);
518
558
  } }
519
- function TableComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
559
+ function TableComponent_ng_template_19_Template(rf, ctx) { if (rf & 1) {
520
560
  i0.ɵɵtext(0);
521
561
  i0.ɵɵpipe(1, "aclFieldNotAvailable");
522
562
  } if (rf & 2) {
523
563
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(1, 1, null));
524
564
  } }
525
- function TableComponent_ng_template_19_Template(rf, ctx) { if (rf & 1) {
565
+ function TableComponent_ng_template_21_Template(rf, ctx) { if (rf & 1) {
526
566
  i0.ɵɵtext(0);
527
567
  i0.ɵɵpipe(1, "translate");
528
568
  } if (rf & 2) {
@@ -533,11 +573,14 @@ export class TableComponent {
533
573
  return this.context ?? this.util;
534
574
  }
535
575
  get scrollWrapper() {
536
- return !!this.sticky;
576
+ return !!this.sticky || this.hasResizableColumns;
537
577
  }
538
578
  get scrollWrapperHeight() {
539
579
  return handlePixel(this.sticky);
540
580
  }
581
+ get hasResizableColumns() {
582
+ return (this.columns || []).some(column => !isString(column) && column.resizable);
583
+ }
541
584
  get isListPage() {
542
585
  return this.route.routeConfig?.path === 'list';
543
586
  }
@@ -726,34 +769,34 @@ export class TableComponent {
726
769
  } }, hostVars: 4, hostBindings: function TableComponent_HostBindings(rf, ctx) { if (rf & 2) {
727
770
  i0.ɵɵstyleProp("max-height", ctx.scrollWrapperHeight);
728
771
  i0.ɵɵclassProp("aui-table__scroll-wrapper", ctx.scrollWrapper);
729
- } }, 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", loadingErrorTemplate: "loadingErrorTemplate", 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"], [3, "ngTemplateOutlet", 4, "aclK8sListFooterLoadingError"], [3, "ngTemplateOutlet"], [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) {
772
+ } }, 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", loadingErrorTemplate: "loadingErrorTemplate", enablePagination: "enablePagination", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", paginationLayout: "paginationLayout", firstScrollLoad: "firstScrollLoad" }, outputs: { update: "update", delete: "delete", sortChange: "sortChange" }, decls: 23, vars: 21, consts: [["columnHeaderTpl", ""], ["defaultTableCell", ""], ["tableCellContent", ""], ["menu", ""], ["empty", ""], ["noData", ""], ["defaultHeaderCellTpl", ""], ["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"], [4, "ngIf", "ngIfElse"], [3, "direction", "ngClass", "acl-table__cell--resizable", "style", 4, "auiTableCellDef"], ["auiTableColumnResizable", "", 3, "style", 4, "auiTableHeaderCellDef"], ["auiTableColumnResizable", ""], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "style", 4, "auiTableHeaderCellDef"], [3, "direction", "ngClass"], [3, "aui-sort-header", "start", 4, "ngIf"], [3, "aui-sort-header", "start"], ["class", "empty-placeholder", 4, "ngIf"], [1, "empty-placeholder", 3, "hidden"], [3, "hidden", "list", "resourceName", "resourceNameTranslated", "firstScrollLoad"], [3, "ngTemplateOutlet", 4, "aclK8sListFooterLoadingError"], [3, "ngTemplateOutlet"], [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) {
730
773
  const _r1 = i0.ɵɵgetCurrentView();
731
- i0.ɵɵelementStart(0, "aui-table", 10);
774
+ i0.ɵɵelementStart(0, "aui-table", 12);
732
775
  i0.ɵɵpipe(1, "async");
733
776
  i0.ɵɵpipe(2, "async");
734
777
  i0.ɵɵlistener("sortChange", function TableComponent_Template_aui_table_sortChange_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSortChange($event)); });
735
- i0.ɵɵtemplate(3, TableComponent_ng_container_3_Template, 3, 3, "ng-container", 11);
778
+ i0.ɵɵtemplate(3, TableComponent_ng_container_3_Template, 5, 5, "ng-container", 13);
736
779
  i0.ɵɵpipe(4, "async");
737
- i0.ɵɵtemplate(5, TableComponent_aui_table_header_row_5_Template, 1, 0, "aui-table-header-row", 12);
738
- i0.ɵɵpipe(6, "async");
739
- i0.ɵɵtemplate(7, TableComponent_aui_table_row_7_Template, 1, 0, "aui-table-row", 13);
780
+ i0.ɵɵtemplate(5, TableComponent_ng_template_5_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(7, TableComponent_aui_table_header_row_7_Template, 1, 0, "aui-table-header-row", 14);
740
781
  i0.ɵɵpipe(8, "async");
741
- i0.ɵɵtemplate(9, TableComponent_ng_container_9_Template, 4, 4, "ng-container", 14);
782
+ i0.ɵɵtemplate(9, TableComponent_aui_table_row_9_Template, 1, 0, "aui-table-row", 15);
783
+ i0.ɵɵpipe(10, "async");
784
+ i0.ɵɵtemplate(11, TableComponent_ng_container_11_Template, 4, 4, "ng-container", 16);
742
785
  i0.ɵɵelementEnd();
743
- 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);
786
+ i0.ɵɵtemplate(12, TableComponent_ng_container_12_Template, 4, 9, "ng-container", 17)(13, TableComponent_ng_template_13_Template, 5, 4, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(15, TableComponent_ng_template_15_Template, 4, 10, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(17, TableComponent_ng_template_17_Template, 3, 2, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor)(19, TableComponent_ng_template_19_Template, 2, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor)(21, TableComponent_ng_template_21_Template, 2, 3, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
744
787
  } if (rf & 2) {
745
- let tmp_5_0;
746
788
  let tmp_6_0;
747
- 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);
789
+ let tmp_7_0;
790
+ i0.ɵɵproperty("active", (tmp_6_0 = i0.ɵɵpipeBind1(1, 11, ctx.activeSort$)) == null ? null : tmp_6_0.active)("direction", (tmp_7_0 = i0.ɵɵpipeBind1(2, 13, ctx.activeSort$)) == null ? null : tmp_7_0.direction)("dataSource", ctx.pagedItems$)("trackBy", ctx.trackBy)("auiTableScrollable", !!ctx.sticky || ctx.hasResizableColumns);
748
791
  i0.ɵɵadvance(3);
749
792
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(4, 15, ctx.columnDefs$))("ngForTrackBy", ctx.trackByName);
793
+ i0.ɵɵadvance(4);
794
+ i0.ɵɵproperty("auiTableHeaderRowDef", i0.ɵɵpipeBind1(8, 17, ctx.columnNames$))("auiTableHeaderRowDefSticky", !!ctx.sticky);
750
795
  i0.ɵɵadvance(2);
751
- i0.ɵɵproperty("auiTableHeaderRowDef", i0.ɵɵpipeBind1(6, 17, ctx.columnNames$))("auiTableHeaderRowDefSticky", !!ctx.sticky);
752
- i0.ɵɵadvance(2);
753
- i0.ɵɵproperty("auiTableRowDefColumns", i0.ɵɵpipeBind1(8, 19, ctx.columnNames$));
796
+ i0.ɵɵproperty("auiTableRowDefColumns", i0.ɵɵpipeBind1(10, 19, ctx.columnNames$));
754
797
  i0.ɵɵadvance(3);
755
798
  i0.ɵɵproperty("ngIf", ctx.enablePagination);
756
- } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i1.RouterLink, i4.ButtonComponent, i4.DropdownDirective, i4.MenuComponent, i4.MenuItemComponent, i4.IconComponent, i4.SortDirective, i4.SortHeaderComponent, i4.TooltipDirective, i4.TableComponent, i4.TableRowComponent, i4.TableHeaderRowComponent, i4.TableCellDirective, i4.TableCellDefDirective, i4.TableHeaderCellDirective, i4.TableRowDefDirective, i4.TableHeaderRowDefDirective, i4.TableHeaderCellDefDirective, i4.TableColumnDefDirective, i4.TablePlaceholderDefDirective, i4.TableScrollableDirective, i5.K8SResourceListFooterComponent, i5.K8sListFooterLoadingErrorDirective, i6.E2eAttributeBindingDirective, i7.RelativeTimeComponent, i8.DisabledContainerComponent, i9.TerminatingTagComponent, i4.PaginatorComponent, i3.AsyncPipe, i10.FieldNotAvailablePipe, i11.PurePipe, i12.K8sDisplayNamePipe, i12.K8sIsDeletingPipe, i13.TranslatePipe], styles: [".deleting-text[_ngcontent-%COMP%]{color:rgb(var(--aui-color-disabled-text))}[_nghost-%COMP%]{display:block}.aui-table__scroll-wrapper[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] +acl-table{margin-top:12px}html:not([lang|=zh]) [_nghost-%COMP%] .aui-table__column-created_at{flex:0 0 140px}"], changeDetection: 0 }); }
799
+ } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i1.RouterLink, i4.ButtonComponent, i4.DropdownDirective, i4.MenuComponent, i4.MenuItemComponent, i4.IconComponent, i4.SortDirective, i4.SortHeaderComponent, i4.TooltipDirective, i4.TableComponent, i4.TableRowComponent, i4.TableHeaderRowComponent, i4.TableCellDirective, i4.TableCellDefDirective, i4.TableHeaderCellDirective, i4.TableRowDefDirective, i4.TableHeaderRowDefDirective, i4.TableHeaderCellDefDirective, i4.TableColumnDefDirective, i4.TableColumnResizableDirective, i4.TablePlaceholderDefDirective, i4.TableScrollableDirective, i5.K8SResourceListFooterComponent, i5.K8sListFooterLoadingErrorDirective, i6.E2eAttributeBindingDirective, i7.RelativeTimeComponent, i8.DisabledContainerComponent, i9.TerminatingTagComponent, i4.PaginatorComponent, i3.AsyncPipe, i10.FieldNotAvailablePipe, i11.PurePipe, i12.K8sDisplayNamePipe, i12.K8sIsDeletingPipe, i13.TranslatePipe], styles: [".deleting-text[_ngcontent-%COMP%]{color:rgb(var(--aui-color-disabled-text))}[_nghost-%COMP%]{display:block}.aui-table__scroll-wrapper[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] +acl-table{margin-top:12px}html:not([lang|=zh]) [_nghost-%COMP%] .aui-table__column-created_at{flex:0 0 140px}[_nghost-%COMP%] .acl-table__cell--resizable .aui-table__cell__name{width:100%}[_nghost-%COMP%] .acl-table__cell--resizable .aui-table__cell__name>a, [_nghost-%COMP%] .acl-table__cell--resizable .aui-table__cell__name>button, [_nghost-%COMP%] .acl-table__cell--resizable .aui-table__cell__name>div, [_nghost-%COMP%] .acl-table__cell--resizable .aui-table__cell__name>span{max-width:100%}"], changeDetection: 0 }); }
757
800
  }
758
801
  __decorate([
759
802
  ObservableInput(),
@@ -781,7 +824,7 @@ __decorate([
781
824
  ], TableComponent.prototype, "filterFn$", void 0);
782
825
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
783
826
  type: Component,
784
- 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 || (finalResourceName | translate),\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 >\n <ng-container *ngIf=\"loadingErrorTemplate\">\n <ng-container\n *aclK8sListFooterLoadingError\n [ngTemplateOutlet]=\"loadingErrorTemplate\"\n ></ng-container>\n </ng-container>\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: resourceNameTranslated || (resourceName | translate),\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"] }]
827
+ 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 || hasResizableColumns\"\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 <ng-container *ngIf=\"columnDef.resizable; else defaultHeaderCellTpl\">\n <aui-table-header-cell\n *auiTableHeaderCellDef\n [style]=\"columnDef.style\"\n auiTableColumnResizable\n >\n <ng-container\n *ngTemplateOutlet=\"columnHeaderTpl; context: { columnDef: columnDef }\"\n ></ng-container>\n </aui-table-header-cell>\n </ng-container>\n <ng-template #defaultHeaderCellTpl>\n <aui-table-header-cell\n *auiTableHeaderCellDef\n [style]=\"columnDef.style\"\n >\n <ng-container\n *ngTemplateOutlet=\"columnHeaderTpl; context: { columnDef: columnDef }\"\n ></ng-container>\n </aui-table-header-cell>\n </ng-template>\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 [class.acl-table__cell--resizable]=\"columnDef.resizable\"\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 <ng-template\n #columnHeaderTpl\n let-columnDef=\"columnDef\"\n >\n <ng-container *ngIf=\"columnDef.name !== ACTION\">\n <span\n *ngIf=\"columnDef.sort\"\n aui-sort-header=\"{{ columnDef.name }}\"\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 </ng-template>\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 || (finalResourceName | translate),\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 >\n <ng-container *ngIf=\"loadingErrorTemplate\">\n <ng-container\n *aclK8sListFooterLoadingError\n [ngTemplateOutlet]=\"loadingErrorTemplate\"\n ></ng-container>\n </ng-container>\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: resourceNameTranslated || (resourceName | translate),\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}:host ::ng-deep .acl-table__cell--resizable .aui-table__cell__name{width:100%}:host ::ng-deep .acl-table__cell--resizable .aui-table__cell__name>a,:host ::ng-deep .acl-table__cell--resizable .aui-table__cell__name>button,:host ::ng-deep .acl-table__cell--resizable .aui-table__cell__name>div,:host ::ng-deep .acl-table__cell--resizable .aui-table__cell__name>span{max-width:100%}\n"] }]
785
828
  }], () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TableUtilService }], { list: [{
786
829
  type: Input
787
830
  }], list$: [], dataSource: [{
@@ -835,4 +878,4 @@ __decorate([
835
878
  args: ['style.max-height']
836
879
  }] }); })();
837
880
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent" }); })();
838
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFDSCxLQUFLLEVBQ0wsVUFBVSxFQUNWLEVBQUUsRUFDRixhQUFhLEVBQ2IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFP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O2dEQUFvQztBQU16RDtJQURDLGVBQWUsRUFBRTs4QkFDRixVQUFVO3FEQUEwQjtBQWFwRDtJQURDLGVBQWUsRUFBRTs4QkFDTixVQUFVO2lEQUErQjtpRkF0RDFDLGNBQWM7Y0FOMUIsU0FBUzsyQkFDRSxXQUFXLG1CQUVKLHVCQUF1QixDQUFDLE1BQU07bUdBUS9DLElBQUk7a0JBREgsS0FBSztZQUlOLEtBQUssTUFHTCxVQUFVO2tCQURULEtBQUs7WUFJTixXQUFXLE1BR1gsWUFBWTtrQkFEWCxLQUFLO1lBSU4sYUFBYSxNQUdiLHNCQUFzQjtrQkFEckIsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLE9BQU87a0JBRE4sS0FBSztZQUlOLFFBQVEsTUFHUixZQUFZO2tCQURYLEtBQUs7WUFJTixhQUFhLE1BR2IsT0FBTztrQkFETixLQUFLO1lBUU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sU0FBUyxNQUdULE9BQU87a0JBRE4sS0FBSztZQUlOLFVBQVU7a0JBRFQsS0FBSztZQUlOLG9CQUFvQjtrQkFEbkIsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sZUFBZTtrQkFEZCxLQUFLO1lBSU4sZ0JBQWdCO2tCQURmLEtBQUs7WUFHRyxlQUFlO2tCQUF2QixLQUFLO1lBR04sTUFBTTtrQkFETCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNO1lBSVAsVUFBVTtrQkFEVCxNQUFNO1lBSVAsYUFBYTtrQkFEWixlQUFlO21CQUFDLHFCQUFxQjtZQUlsQyxhQUFhO2tCQURoQixXQUFXO21CQUFDLGlDQUFpQztZQU0xQyxtQkFBbUI7a0JBRHRCLFdBQVc7bUJBQUMsa0JBQWtCOztrRkFoR3BCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoYW5kbGVQaXhlbCwgU29ydCB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIGlzT2JqZWN0TGlrZSwgaXNTdHJpbmcsIGxhc3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgUmVwbGF5U3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBQ1RJT04sIENSRUFURURfQVQsIExJTkssIFVQREFURSB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc0ZpZWxkTm90QXZhaWxhYmxlIH0gZnJvbSAnLi4vY29yZS9waXBlcy9maWVsZC1ub3QtYXZhaWxhYmxlLnBpcGUnO1xuaW1wb3J0IHsgQ1JFQVRPUiwgTkFNRSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvazhzLXV0aWwuc2VydmljZSc7XG5pbXBvcnQge1xuICBLOHNSZXNvdXJjZUFjdGlvbixcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbn0gZnJvbSAnLi4vY29yZS90eXBlcy9rOHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBpc0s4c1Jlc291cmNlLCBub29wLCB0cmFja0J5VWlkIH0gZnJvbSAnLi4vY29yZS91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vY29yZS91dGlscy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IHB1Ymxpc2hSZWYgfSBmcm9tICcuLi9jb3JlL3V0aWxzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdHJlYW1MaXN0TG9hZGVyIH0gZnJvbSAnLi4vazhzLXJlc291cmNlLWxpc3QvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBERUZBVUxUX1BBR0VfU0laRSxcbiAgREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUyxcbiAgREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9oZWxwZXJzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWYsXG4gIFRhYmxlQ29sdW1uRGVmcyxcbiAgVGFibGVDb2x1bW4sXG4gIFRhYmxlQ29sdW1uRGVmLFxuICBUYWJsZUZpbHRlckZuLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbSxcbiAgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXIsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgS05PV05fQ09MVU1OUywgVGFibGVVdGlsU2VydmljZSB9IGZyb20gJy4vdXRpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIENvbnRleHQgPSBUYWJsZVV0aWxTZXJ2aWNlPEl0ZW0+LFxuPiB7XG4gIEBJbnB1dCgpXG4gIGxpc3QhOiBTdHJlYW1MaXN0TG9hZGVyPEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8SXRlbT4sIEl0ZW0+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBsaXN0JCE6IE9ic2VydmFibGU8U3RyZWFtTGlzdExvYWRlcjxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEl0ZW0+LCBJdGVtPj47XG5cbiAgQElucHV0KClcbiAgZGF0YVNvdXJjZTogSXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhU291cmNlJCE6IE9ic2VydmFibGU8SXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+PjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWU6IHN0cmluZztcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVzb3VyY2VOYW1lJCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc3RpY2t5OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcGVybWlzc2lvbnM6IFBhcnRpYWw8UmVjb3JkPEs4c1Jlc291cmNlQWN0aW9uLCBib29sZWFuPj47XG5cbiAgQElucHV0KClcbiAgY29sdW1uczogUmVhZG9ubHlBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGNvbHVtbnMkITogT2JzZXJ2YWJsZTxBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj4+O1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlclBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGZpbHRlclBhcmFtcyQhOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcblxuICBASW5wdXQoKVxuICBjb250ZXh0OiBDb250ZXh0O1xuXG4gIGdldCBmaW5hbENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dCA/PyAodGhpcy51dGlsIGFzIHVua25vd24gYXMgQ29udGV4dCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmaWx0ZXJGbjogVGFibGVGaWx0ZXJGbjxJdGVtLCBDb250ZXh0PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmlsdGVyRm4kITogT2JzZXJ2YWJsZTxUYWJsZUZpbHRlckZuPEl0ZW0sIENvbnRleHQ+PjtcblxuICBASW5wdXQoKVxuICB0cmFja0J5OiBUcmFja0J5RnVuY3Rpb248SXRlbT4gPSB0aGlzLnRyYWNrQnlGbjtcblxuICBASW5wdXQoKVxuICBub0RhdGFIaW50OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbG9hZGluZ0Vycm9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgZW5hYmxlUGFnaW5hdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2VTaXplID0gREVGQVVMVF9QQUdFX1NJWkU7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemVPcHRpb25zID0gREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUztcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uTGF5b3V0ID0gREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVDtcblxuICBASW5wdXQoKSBmaXJzdFNjcm9sbExvYWQ6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtPigpO1xuXG4gIEBPdXRwdXQoKVxuICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJsZUNlbGxEZWZEaXJlY3RpdmUpXG4gIHRhYmxlQ2VsbERlZnM6IFF1ZXJ5TGlzdDxUYWJsZUNlbGxEZWZEaXJlY3RpdmU8SXRlbT4+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXVpLXRhYmxlX19zY3JvbGwtd3JhcHBlcicpXG4gIGdldCBzY3JvbGxXcmFwcGVyKCkge1xuICAgIHJldHVybiAhIXRoaXMuc3RpY2t5O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgZ2V0IHNjcm9sbFdyYXBwZXJIZWlnaHQoKSB7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKHRoaXMuc3RpY2t5KTtcbiAgfVxuXG4gIGN1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcblxuICBwYWdlU2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4odGhpcy5wYWdlU2l6ZSB8fCBERUZBVUxUX1BBR0VfU0laRSk7XG5cbiAgcGFnaW5hdGlvbiA9IHtcbiAgICB0b3RhbDogMCxcbiAgICBwYWdlczogMCxcbiAgfTtcblxuICBmaW5hbERhdGFTb3VyY2UkID0gdGhpcy5kYXRhU291cmNlJC5waXBlKFxuICAgIHN3aXRjaE1hcChkYXRhU291cmNlID0+XG4gICAgICBkYXRhU291cmNlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IGRhdGFTb3VyY2UgOiBvZihkYXRhU291cmNlKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBmaW5hbFJlc291cmNlTmFtZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLnJlc291cmNlTmFtZSRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpc3QsIHJlc291cmNlTmFtZV0pID0+XG4gICAgICAhbGlzdCB8fCByZXNvdXJjZU5hbWVcbiAgICAgICAgPyBvZihyZXNvdXJjZU5hbWUpXG4gICAgICAgIDogbGlzdC5yYXdSZXNwb25zZSQucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4gcmVzPy5raW5kLnNsaWNlKDAsIC00KS50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgICApLFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGNvbHVtbkRlZnMkID0gdGhpcy5jb2x1bW5zJC5waXBlKFxuICAgIG1hcChcbiAgICAgIGNvbHVtbnMgPT5cbiAgICAgICAgKGNvbHVtbnMgfHwgW10pLm1hcChjb2x1bW4gPT4ge1xuICAgICAgICAgIGNvbHVtbiA9IGlzU3RyaW5nKGNvbHVtbikgPyB7IG5hbWU6IGNvbHVtbiB9IDogY29sdW1uO1xuICAgICAgICAgIGlmICghKCdwYXRoJyBpbiBjb2x1bW4pICYmICFLTk9XTl9DT0xVTU5TLmhhcyhjb2x1bW4ubmFtZSkpIHtcbiAgICAgICAgICAgIGNvbHVtbi5wYXRoID0gY29sdW1uLm5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubm9ybWFsaXplQ29sdW1uRGVmU29ydChjb2x1bW4pO1xuICAgICAgICAgIHRoaXMubm9ybWFsaXplQ29sdW1uRGVmVHJhbnNsYXRlKGNvbHVtbik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplQWN0aW9uQ29sdW1uRGVmKGNvbHVtbik7XG4gICAgICAgIH0pIGFzIFRhYmxlQ29sdW1uRGVmczxJdGVtLCBDb250ZXh0PixcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb2x1bW5OYW1lcyQgPSB0aGlzLmNvbHVtbkRlZnMkLnBpcGUoXG4gICAgbWFwKGNvbHVtbnMgPT4gY29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi5uYW1lKSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGFjdGl2ZVNvcnQkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFNvcnQ+KDEpO1xuXG4gIGFjdGl2ZVNvcnQkOiBPYnNlcnZhYmxlPFNvcnQ+ID0gbWVyZ2UoXG4gICAgdGhpcy5hY3RpdmVTb3J0JCQsXG4gICAgdGhpcy5jb2x1bW5EZWZzJC5waXBlKFxuICAgICAgbWFwKGNvbHVtbkRlZnMgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW5EZWYgPSBjb2x1bW5EZWZzLmZpbmQoY29sdW1uID0+IGNvbHVtbi5zb3J0Py5hY3RpdmUpO1xuICAgICAgICByZXR1cm4gY29sdW1uRGVmXG4gICAgICAgICAgPyB7IGFjdGl2ZTogY29sdW1uRGVmLm5hbWUsIGRpcmVjdGlvbjogY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uIH1cbiAgICAgICAgICA6IG51bGw7XG4gICAgICB9KSxcbiAgICApLFxuICApLnBpcGUocHVibGlzaFJlZigpKTtcblxuICBmaWx0ZXJlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubGlzdCQsIHRoaXMuZmluYWxEYXRhU291cmNlJF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtsaXN0LCBkYXRhU291cmNlXSkgPT4gKGxpc3QgPyBsaXN0Lml0ZW1zJCA6IG9mKGRhdGFTb3VyY2UpKSksXG4gICAgKSxcbiAgICB0aGlzLmNvbHVtbkRlZnMkLFxuICAgIHRoaXMuYWN0aXZlU29ydCQsXG4gICAgdGhpcy5maWx0ZXJQYXJhbXMkLFxuICAgIHRoaXMuZmlsdGVyRm4kLFxuICBdKS5waXBlKFxuICAgIG1hcChcbiAgICAgIChbXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBjb2x1bW5EZWZzLFxuICAgICAgICBhY3RpdmVTb3J0LFxuICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgIGZpbHRlckZuID0gdGhpcy51dGlsLmRlZmF1bHRGaWx0ZXJGbixcbiAgICAgIF0pID0+XG4gICAgICAgIGZpbHRlckZuLmNhbGwoXG4gICAgICAgICAgdGhpcy5maW5hbENvbnRleHQsXG4gICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgY29sdW1uRGVmcyxcbiAgICAgICAgICBhY3RpdmVTb3J0LFxuICAgICAgICAgIGZpbHRlclBhcmFtcyxcbiAgICAgICAgICB0aGlzLmZpbmFsQ29udGV4dCxcbiAgICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBwYWdlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQsXG4gICAgdGhpcy5jdXJyZW50UGFnZSQsXG4gICAgdGhpcy5wYWdlU2l6ZSQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKChbaXRlbXMsIF8sIHBhZ2VTaXplXSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPVxuICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgPyB7IHRvdGFsOiAwLCBwYWdlczogMCB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgIHBhZ2VzOiBNYXRoLmNlaWwoaXRlbXMubGVuZ3RoIC8gcGFnZVNpemUpLFxuICAgICAgICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pLFxuICAgIG1hcCgoW2l0ZW1zLCBjdXJyZW50UGFnZSwgcGFnZVNpemVdKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdpbmF0aW9uLnBhZ2VzIDwgY3VycmVudFBhZ2UgJiYgdGhpcy5wYWdpbmF0aW9uLnBhZ2VzICE9PSAwKSB7XG4gICAgICAgIGN1cnJlbnRQYWdlID0gdGhpcy5wYWdpbmF0aW9uLnBhZ2VzO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlJC5uZXh0KGN1cnJlbnRQYWdlKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJlZ2luID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBwYWdlU2l6ZTtcbiAgICAgIHJldHVybiBpdGVtcy5zbGljZShiZWdpbiwgYmVnaW4gKyBwYWdlU2l6ZSk7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGdldCBpc0xpc3RQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID09PSAnbGlzdCc7XG4gIH1cblxuICBpc0xpc3RQYWdlJCA9IHRoaXMucm91dGUudXJsLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuaXNMaXN0UGFnZSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGlzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uO1xuICBpc0s4c1Jlc291cmNlID0gaXNLOHNSZXNvdXJjZTtcbiAgaXNGaWVsZE5vdEF2YWlsYWJsZSA9IGlzRmllbGROb3RBdmFpbGFibGU7XG5cbiAgZ2V0VmFsdWVGcm9tUGF0aCA9IHRoaXMudXRpbC5nZXRWYWx1ZUZyb21QYXRoO1xuICB0cmFja0J5TmFtZShfOiBudW1iZXIsIGNvbHVtbkRlZjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICByZXR1cm4gY29sdW1uRGVmLm5hbWU7XG4gIH1cblxuICBOQU1FID0gTkFNRTtcbiAgQ1JFQVRPUiA9IENSRUFUT1I7XG4gIENSRUFURURfQVQgPSBDUkVBVEVEX0FUO1xuICBBQ1RJT04gPSBBQ1RJT047XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdXRpbDogVGFibGVVdGlsU2VydmljZTxJdGVtPixcbiAgKSB7XG4gICAgdGhpcy5nZXRDb2x1bW5UZW1wbGF0ZSA9IHRoaXMuZ2V0Q29sdW1uVGVtcGxhdGUuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUNvbHVtbkRlZlRyYW5zbGF0ZShjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgY29uc3QgeyB0cmFuc2xhdGUgfSA9IGNvbHVtbjtcbiAgICBpZiAodHJhbnNsYXRlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfVxuICAgIGlmICh0cmFuc2xhdGUgPT09IHRydWUpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaXNTdHJpbmcodHJhbnNsYXRlKSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiB0cmFuc2xhdGUgKyB2YWx1ZTtcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0TGlrZSh0cmFuc2xhdGUpKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpID0+IGdldCh0cmFuc2xhdGUsIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIG5vcm1hbGl6ZUNvbHVtbkRlZlNvcnQoY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIGNvbnN0IHsgc29ydCB9ID0gY29sdW1uO1xuICAgIGlmIChzb3J0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfVxuICAgIGlmIChzb3J0ID09PSB0cnVlKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYXNjJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc1N0cmluZyhzb3J0KSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogc29ydCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0Z1bmN0aW9uKHNvcnQpKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYXNjJyxcbiAgICAgICAgaGFuZGxlcjogc29ydCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChzb3J0LmRpcmVjdGlvbiA9PSBudWxsKSB7XG4gICAgICBzb3J0LmRpcmVjdGlvbiA9ICdhc2MnO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1uO1xuICB9XG5cbiAgb25Tb3J0Q2hhbmdlKCRldmVudDogU29ydCkge1xuICAgIHRoaXMuc29ydENoYW5nZS5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5hY3RpdmVTb3J0JCQubmV4dCgkZXZlbnQpO1xuICB9XG5cbiAgbm9ybWFsaXplQWN0aW9uQ29sdW1uRGVmKFxuICAgIGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4sXG4gICk6IE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PiB7XG4gICAgaWYgKGNvbHVtbi5uYW1lICE9PSBBQ1RJT04gfHwgIWNvbHVtbi5leHRyYSkge1xuICAgICAgcmV0dXJuIGNvbHVtbiBhcyBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD47XG4gICAgfVxuXG4gICAgY29uc3QgZXh0cmEgPSBjb2x1bW4uZXh0cmEgYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYTxJdGVtLCBDb250ZXh0PjtcbiAgICAoW0s4c1Jlc291cmNlQWN0aW9uLkRFTEVURSwgSzhzUmVzb3VyY2VBY3Rpb24uVVBEQVRFXSBhcyBjb25zdCkuZm9yRWFjaChcbiAgICAgIGFjdGlvbiA9PiB7XG4gICAgICAgIGlmICghZXh0cmFbYWN0aW9uXSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaGFuZGxlciA9IChcbiAgICAgICAgICBleHRyYVthY3Rpb25dIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtPEl0ZW0sIENvbnRleHQ+XG4gICAgICAgICkuZGlzYWJsZWQ7XG4gICAgICAgIGlmIChoYW5kbGVyID09IG51bGwpIHtcbiAgICAgICAgICBoYW5kbGVyID0gbm9vcCBhcyBUYWJsZUNvbHVtbkFjdGlvbkRpc2FibGVkSGFuZGxlcjxJdGVtLCBDb250ZXh0PjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNGdW5jdGlvbihoYW5kbGVyKSkge1xuICAgICAgICAgIChcbiAgICAgICAgICAgIGV4dHJhW2FjdGlvbl0gYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYUl0ZW08SXRlbSwgQ29udGV4dD5cbiAgICAgICAgICApLmRpc2FibGVkID0geyBoYW5kbGVyIH07XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gY29sdW1uIGFzIE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PjtcbiAgfVxuXG4gIGdldENvbHVtblRlbXBsYXRlKGNvbHVtbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVDZWxsRGVmcy5maW5kKGRlZiA9PiBkZWYuYWNsVGFibGVDZWxsRGVmID09PSBjb2x1bW4pXG4gICAgICA/LnRlbXBsYXRlUmVmO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IEl0ZW0pIHtcbiAgICByZXR1cm4gaXNLOHNSZXNvdXJjZShpdGVtKVxuICAgICAgPyB0cmFja0J5VWlkKGluZGV4LCBpdGVtKVxuICAgICAgOiBnZXQoaXRlbSwgTkFNRSwgaW5kZXgpO1xuICB9XG5cbiAgb25VcGRhdGUoZGF0YTogSXRlbSwgY29sdW1uRGVmOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIHRoaXMudXBkYXRlLmVtaXQoZGF0YSk7XG5cbiAgICBpZiAoZ2V0KGNvbHVtbkRlZi5leHRyYSwgW1VQREFURSwgTElOS10pICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXG4gICAgICAgIFtcbiAgICAgICAgICB0aGlzLmlzTGlzdFBhZ2UgPyAnLi4nIDogJy4nLFxuICAgICAgICAgIFVQREFURSxcbiAgICAgICAgICB0aGlzLmdldFZhbHVlRnJvbVBhdGgoZGF0YSwgTkFNRSksXG4gICAgICAgIF0sXG4gICAgICAgIHtcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRWYWx1ZTxULCBGIGV4dGVuZHMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gVD4oXG4gICAgZnVuY3Rpb25PclZhbHVlOiBUIHwgRixcbiAgICAuLi5hcmdzOiBQYXJhbWV0ZXJzPEY+XG4gICk6IFQge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZ1bmN0aW9uT3JWYWx1ZSlcbiAgICAgID8gZnVuY3Rpb25PclZhbHVlLmNhbGwobGFzdChhcmdzKSwgLi4uYXJncylcbiAgICAgIDogZnVuY3Rpb25PclZhbHVlO1xuICB9XG59XG4iLCI8YXVpLXRhYmxlXG4gIGF1aVNvcnRcbiAgW2FjdGl2ZV09XCIoYWN0aXZlU29ydCQgfCBhc3luYyk/LmFjdGl2ZVwiXG4gIFtkaXJlY3Rpb25dPVwiKGFjdGl2ZVNvcnQkIHwgYXN5bmMpPy5kaXJlY3Rpb25cIlxuICBbZGF0YVNvdXJjZV09XCJwYWdlZEl0ZW1zJFwiXG4gIFt0cmFja0J5XT1cInRyYWNrQnlcIlxuICAoc29ydENoYW5nZSk9XCJvblNvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gIFthdWlUYWJsZVNjcm9sbGFibGVdPVwiISFzdGlja3lcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwibGV0IGNvbHVtbkRlZiBvZiBjb2x1bW5EZWZzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5TmFtZVwiXG4gICAgW2F1aVRhYmxlQ29sdW1uRGVmXT1cImNvbHVtbkRlZi5uYW1lXCJcbiAgICBbc3RpY2t5XT1cImNvbHVtbkRlZi5zdGlja3lcIlxuICAgIFtzdGlja3lFbmRdPVwiY29sdW1uRGVmLnN0aWNreUVuZFwiXG4gID5cbiAgICA8YXVpLXRhYmxlLWhlYWRlci1jZWxsXG4gICAgICAqYXVpVGFibGVIZWFkZXJDZWxsRGVmXG4gICAgICBbc3R5bGVdPVwiY29sdW1uRGVmLnN0eWxlXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uRGVmLm5hbWUgIT09IEFDVElPTlwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiY29sdW1uRGVmLnNvcnRcIlxuICAgICAgICAgIGF1aS1zb3J0LWhlYWRlclxuICAgICAgICAgIFtzdGFydF09XCJjb2x1bW5EZWYuc29ydC5kaXJlY3Rpb25cIlxuICAgICAgICAgID57eyBjb2x1bW5EZWYubGFiZWwgfHwgY29sdW1uRGVmLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFjb2x1bW5EZWYuc29ydFwiPnt7XG4gICAgICAgICAgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hdWktdGFibGUtaGVhZGVyLWNlbGw+XG5cbiAgICA8YXVpLXRhYmxlLWNlbGxcbiAgICAgICphdWlUYWJsZUNlbGxEZWY9XCJcbiAgICAgICAgbGV0IGRhdGE7XG4gICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICBsZXQgZXZlbiA9IGV2ZW47XG4gICAgICAgIGxldCBvZGQgPSBvZGQ7XG4gICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgXCJcbiAgICAgIFtkaXJlY3Rpb25dPVwiY29sdW1uRGVmLmRpcmVjdGlvblwiXG4gICAgICBbbmdDbGFzc109XCJjb2x1bW5EZWYuY2xhc3NcIlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGNvbHVtbkRlZi5uYW1lIHwgcHVyZTogZ2V0Q29sdW1uVGVtcGxhdGUgYXMgdGVtcGxhdGU7XG4gICAgICAgICAgZWxzZSB0YWJsZUNlbGxEZWZUcGxcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICB0ZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBkYXRhLFxuICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgIGV2ZW46IGV2ZW4sXG4gICAgICAgICAgICAgIG9kZDogb2RkLFxuICAgICAgICAgICAgICBsYXN0OiBsYXN0LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxEZWZUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29sdW1uRGVmLnBhdGggIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAoZGF0YVxuICAgICAgICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgICAgICAgOiBnZXRWYWx1ZUZyb21QYXRoXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5uYW1lXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5wYXRoKSBhcyB2YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgZGVmYXVsdFRhYmxlQ2VsbFRwbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICB0YWJsZUNlbGxDb250ZW50O1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYmxlQ2VsbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBkZWZhdWx0VGFibGVDZWxsO1xuICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2F1aS10YWJsZS1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5OYW1lcyQgfCBhc3luYzsgc3RpY2t5OiAhIXN0aWNreVwiXG4gID48L2F1aS10YWJsZS1oZWFkZXItcm93PlxuICA8YXVpLXRhYmxlLXJvd1xuICAgICphdWlUYWJsZVJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbk5hbWVzJCB8IGFzeW5jXCJcbiAgPjwvYXVpLXRhYmxlLXJvdz5cblxuICA8bmctY29udGFpbmVyICphdWlUYWJsZVBsYWNlaG9sZGVyRGVmPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIFtoaWRkZW5dPVwiXG4gICAgICAgICAgKHBhZ2VkSXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggfHwgIShsaXN0Lml0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiZW1wdHktcGxhY2Vob2xkZXJcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luYyBhcyBmaW5hbFJlc291cmNlTmFtZTsgZWxzZSBub0RhdGFcIlxuICAgICAgICA+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdub19uYW1lZF9kYXRhX2hpbnQnXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lVHJhbnNsYXRlZCB8fCAoZmluYWxSZXNvdXJjZU5hbWUgfCB0cmFuc2xhdGUpLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3RlclxuICAgICAgICBbaGlkZGVuXT1cIlxuICAgICAgICAgICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aCAmJiAobGlzdC5pdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFxuICAgICAgICBcIlxuICAgICAgICBbbGlzdF09XCJsaXN0XCJcbiAgICAgICAgW3Jlc291cmNlTmFtZV09XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luY1wiXG4gICAgICAgIFtyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXT1cInJlc291cmNlTmFtZVRyYW5zbGF0ZWRcIlxuICAgICAgICBbZmlyc3RTY3JvbGxMb2FkXT1cImZpcnN0U2Nyb2xsTG9hZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICphY2xLOHNMaXN0Rm9vdGVyTG9hZGluZ0Vycm9yXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3Rlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVzb3VyY2VOYW1lVHJhbnNsYXRlZCB8fCAocmVzb3VyY2VOYW1lIHwgdHJhbnNsYXRlKSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgY2xhc3M9XCJhY2wtbG9hZGluZy1tYXNrX19pY29uXCJcbiAgICAgICAgICBzaXplPVwiMTZweFwiXG4gICAgICAgICAgaWNvbj1cInNwaW5uZXJcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgJ2xvYWRpbmdfcGxlYXNlX3dhaXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvYXVpLXRhYmxlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZW5hYmxlUGFnaW5hdGlvblwiPlxuICA8YXVpLXBhZ2luYXRvclxuICAgIFtsYXlvdXRdPVwicGFnaW5hdGlvbkxheW91dFwiXG4gICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlJCB8IGFzeW5jXCJcbiAgICBbcGFnZVNpemVdPVwicGFnZVNpemUkIHwgYXN5bmNcIlxuICAgIFt0b3RhbF09XCJwYWdpbmF0aW9uLnRvdGFsXCJcbiAgICAoY3VycmVudFBhZ2VDaGFuZ2UpPVwiY3VycmVudFBhZ2UkLm5leHQoJGV2ZW50KVwiXG4gICAgKHBhZ2VTaXplQ2hhbmdlKT1cInBhZ2VTaXplJC5uZXh0KCRldmVudClcIlxuICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCJcbiAgPjwvYXVpLXBhZ2luYXRvcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRUYWJsZUNlbGxcbiAgbGV0LWRhdGE9XCJkYXRhXCJcbiAgbGV0LWNvbHVtbkRlZj1cImNvbHVtbkRlZlwiXG4+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbkRlZi5uYW1lXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiTkFNRVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEgfCBwdXJlOiBnZXRWYWx1ZUZyb21QYXRoIDogY29sdW1uRGVmLm5hbWUgYXMgbmFtZVwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19uYW1lXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBjb2x1bW5EZWYuZXh0cmE/LmxpbmsgIT09IGZhbHNlICYmICEoZGF0YSB8IGFjbElzRGVsZXRpbmcpO1xuICAgICAgICAgICAgZWxzZSBwbGFpbk5hbWVcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsoaXNMaXN0UGFnZSQgfCBhc3luYykgPyAnLi4nIDogJy4nLCAnZGV0YWlsJywgbmFtZV1cIlxuICAgICAgICAgICAgW2F1aVRvb2x0aXBdPVwibmFtZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5OYW1lPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICAgIFtjbGFzcy5kZWxldGluZy10ZXh0XT1cImRhdGEgfCBhY2xJc0RlbGV0aW5nXCJcbiAgICAgICAgICAgID57eyBuYW1lIH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8YWNsLWRlbGV0aW5nLXRhZ1xuICAgICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGlzSzhzUmVzb3VyY2VcIlxuICAgICAgICAgIFtyZXNvdXJjZV09XCJkYXRhXCJcbiAgICAgICAgPjwvYWNsLWRlbGV0aW5nLXRhZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIChkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZSlcbiAgICAgICAgICAgID8gKGRhdGEgfCBhY2xEaXNwbGF5TmFtZSlcbiAgICAgICAgICAgIDogZGF0YS5kaXNwbGF5TmFtZSBhcyBkaXNwbGF5TmFtZVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImF1aS10YWJsZV9fY2VsbF9fZGlzcGxheS1uYW1lXCJcbiAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBkaXNwbGF5TmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ1JFQVRFRF9BVFwiPlxuICAgICAgPGFjbC1yZWxhdGl2ZS10aW1lXG4gICAgICAgIFt0aW1lXT1cImRhdGEgfCBwdXJlOiBnZXRWYWx1ZUZyb21QYXRoIDogY29sdW1uRGVmLm5hbWVcIlxuICAgICAgPjwvYWNsLXJlbGF0aXZlLXRpbWU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQUNUSU9OXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgW2F1aURyb3Bkb3duXT1cIm1lbnVcIlxuICAgICAgICBbYXVpRHJvcGRvd25Db250ZXh0XT1cInsgJGltcGxpY2l0OiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XCJcbiAgICAgID5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJlbGxpcHNpc192X3NcIj48L2F1aS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGRhdGEgfCBwdXJlOiBnZXRWYWx1ZUZyb21QYXRoIDogY29sdW1uRGVmLm5hbWUgYXMgdmFsdWU7XG4gICAgICAgICAgZWxzZSBlbXB0eVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIHRhYmxlQ2VsbENvbnRlbnQ7XG4gICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjdGFibGVDZWxsQ29udGVudFxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbiAgbGV0LXZhbHVlPVwidmFsdWVcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGNvbHVtbkRlZi50cmFuc2xhdGUgPT0gbnVsbFxuICAgICAgICA/IHZhbHVlXG4gICAgICAgIDogY29sdW1uRGVmLnRyYW5zbGF0ZSA9PT0gdHJ1ZVxuICAgICAgICAgID8gKHZhbHVlIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIDogKHZhbHVlXG4gICAgICAgICAgICB8IHB1cmU6IGNvbHVtbkRlZi50cmFuc2xhdGUgOiBmaW5hbENvbnRleHRcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlKSBhcyB0ZXh0O1xuICAgICAgZWxzZSBlbXB0eVxuICAgIFwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImNvbHVtbkRlZi5lbGxpcHNpczsgZWxzZSBwbGFpblRleHRcIlxuICAgICAgY2xhc3M9XCJ0ZXh0LW92ZXJmbG93XCJcbiAgICAgIFthdWlUb29sdGlwXT1cInRleHRcIlxuICAgID5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3BsYWluVGV4dD57eyB0ZXh0IH19PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI21lbnVcbiAgbGV0LWRhdGFcbiAgbGV0LWNvbHVtbkRlZj1cImNvbHVtbkRlZlwiXG4gID48YXVpLW1lbnU+XG4gICAgPGFjbC1kaXNhYmxlZC1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmV4dHJhPy51cGRhdGUgIT09IGZhbHNlXCJcbiAgICAgIFtpc0FsbG93ZWRdPVwiIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLnVwZGF0ZVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGNvbHVtbkRlZi5leHRyYT8udXBkYXRlPy5kaXNhYmxlZC5oYW5kbGVyIHwgcHVyZTogaXNGdW5jdGlvbikgJiZcbiAgICAgICAgKGRhdGEgfCBwdXJlOiBjb2x1bW5EZWYuZXh0cmEudXBkYXRlLmRpc2FibGVkLmhhbmRsZXIgOiBmaW5hbENvbnRleHQpXG4gICAgICBcIlxuICAgICAgW3Rvb2x0aXBdPVwiXG4gICAgICAgIGNvbHVtbkRlZi5leHRyYT8udXBkYXRlPy5kaXNhYmxlZC50b29sdGlwXG4gICAgICAgICAgfCBwdXJlOiBnZXRWYWx1ZSA6IGRhdGEgOiBmaW5hbENvbnRleHRcbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJvblVwZGF0ZShkYXRhLCBjb2x1bW5EZWYpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAndXBkYXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gICAgPGFjbC1kaXNhYmxlZC1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmV4dHJhPy5kZWxldGUgIT09IGZhbHNlXCJcbiAgICAgIFtpc0FsbG93ZWRdPVwiIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmRlbGV0ZVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGNvbHVtbkRlZi5leHRyYT8uZGVsZXRlPy5kaXNhYmxlZC5oYW5kbGVyIHwgcHVyZTogaXNGdW5jdGlvbikgJiZcbiAgICAgICAgKGRhdGEgfCBwdXJlOiBjb2x1bW5EZWYuZXh0cmEuZGVsZXRlLmRpc2FibGVkLmhhbmRsZXIgOiBmaW5hbENvbnRleHQpXG4gICAgICBcIlxuICAgICAgW3Rvb2x0aXBdPVwiXG4gICAgICAgIGNvbHVtbkRlZi5leHRyYT8uZGVsZXRlPy5kaXNhYmxlZC50b29sdGlwXG4gICAgICAgICAgfCBwdXJlOiBnZXRWYWx1ZSA6IGRhdGEgOiBmaW5hbENvbnRleHRcbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJkZWxldGUuZW1pdChkYXRhKVwiXG4gICAgPlxuICAgICAgPGF1aS1tZW51LWl0ZW0+e3sgJ2RlbGV0ZScgfCB0cmFuc2xhdGUgfX08L2F1aS1tZW51LWl0ZW0+XG4gICAgPC9hY2wtZGlzYWJsZWQtY29udGFpbmVyPlxuICA8L2F1aS1tZW51PjwvbmctdGVtcGxhdGVcbj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eT57eyBudWxsIHwgYWNsRmllbGROb3RBdmFpbGFibGUgfX08L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25vRGF0YT57eyAnbm9fZGF0YScgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuIl19
881
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFDSCxLQUFLLEVBQ0wsVUFBVSxFQUNWLEVBQUUsRUFDRixhQUFhLEVBQ2IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFP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QVMsTUFHVCxPQUFPO2tCQUROLEtBQUs7WUFJTixVQUFVO2tCQURULEtBQUs7WUFJTixvQkFBb0I7a0JBRG5CLEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLGVBQWU7a0JBRGQsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBR0csZUFBZTtrQkFBdkIsS0FBSztZQUdOLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLFVBQVU7a0JBRFQsTUFBTTtZQUlQLGFBQWE7a0JBRFosZUFBZTttQkFBQyxxQkFBcUI7WUFJbEMsYUFBYTtrQkFEaEIsV0FBVzttQkFBQyxpQ0FBaUM7WUFNMUMsbUJBQW1CO2tCQUR0QixXQUFXO21CQUFDLGtCQUFrQjs7a0ZBaEdwQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlUGl4ZWwsIFNvcnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZ2V0LCBpc0Z1bmN0aW9uLCBpc09iamVjdExpa2UsIGlzU3RyaW5nLCBsYXN0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBtZXJnZSxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFJlcGxheVN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQUNUSU9OLCBDUkVBVEVEX0FULCBMSU5LLCBVUERBVEUgfSBmcm9tICcuLi9jb3JlL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgaXNGaWVsZE5vdEF2YWlsYWJsZSB9IGZyb20gJy4uL2NvcmUvcGlwZXMvZmllbGQtbm90LWF2YWlsYWJsZS5waXBlJztcbmltcG9ydCB7IENSRUFUT1IsIE5BTUUgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL2s4cy11dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgSzhzUmVzb3VyY2VBY3Rpb24sXG4gIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3QsXG59IGZyb20gJy4uL2NvcmUvdHlwZXMvazhzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgaXNLOHNSZXNvdXJjZSwgbm9vcCwgdHJhY2tCeVVpZCB9IGZyb20gJy4uL2NvcmUvdXRpbHMvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL2NvcmUvdXRpbHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnLi4vY29yZS91dGlscy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3RyZWFtTGlzdExvYWRlciB9IGZyb20gJy4uL2s4cy1yZXNvdXJjZS1saXN0L3R5cGVzJztcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9QQUdFX1NJWkUsXG4gIERFRkFVTFRfUEFHRV9TSVpFX09QVElPTlMsXG4gIERFRkFVTFRfUEFHSU5BVElPTl9MQVlPVVQsXG59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRhYmxlQ2VsbERlZkRpcmVjdGl2ZSB9IGZyb20gJy4vaGVscGVycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgTm9ybWFsaXplZFRhYmxlQ29sdW1uRGVmLFxuICBUYWJsZUNvbHVtbkRlZnMsXG4gIFRhYmxlQ29sdW1uLFxuICBUYWJsZUNvbHVtbkRlZixcbiAgVGFibGVGaWx0ZXJGbixcbiAgVGFibGVDb2x1bW5BY3Rpb25FeHRyYSxcbiAgVGFibGVDb2x1bW5BY3Rpb25FeHRyYUl0ZW0sXG4gIFRhYmxlQ29sdW1uQWN0aW9uRGlzYWJsZWRIYW5kbGVyLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEtOT1dOX0NPTFVNTlMsIFRhYmxlVXRpbFNlcnZpY2UgfSBmcm9tICcuL3V0aWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50PFxuICBJdGVtIGV4dGVuZHMgb2JqZWN0LFxuICBDb250ZXh0ID0gVGFibGVVdGlsU2VydmljZTxJdGVtPixcbj4ge1xuICBASW5wdXQoKVxuICBsaXN0ITogU3RyZWFtTGlzdExvYWRlcjxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEl0ZW0+LCBJdGVtPjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgbGlzdCQhOiBPYnNlcnZhYmxlPFN0cmVhbUxpc3RMb2FkZXI8S3ViZXJuZXRlc1Jlc291cmNlTGlzdDxJdGVtPiwgSXRlbT4+O1xuXG4gIEBJbnB1dCgpXG4gIGRhdGFTb3VyY2U6IEl0ZW1bXSB8IE9ic2VydmFibGU8SXRlbVtdPjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZGF0YVNvdXJjZSQhOiBPYnNlcnZhYmxlPEl0ZW1bXSB8IE9ic2VydmFibGU8SXRlbVtdPj47XG5cbiAgQElucHV0KClcbiAgcmVzb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHJlc291cmNlTmFtZSQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgQElucHV0KClcbiAgcmVzb3VyY2VOYW1lVHJhbnNsYXRlZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHN0aWNreTogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHBlcm1pc3Npb25zOiBQYXJ0aWFsPFJlY29yZDxLOHNSZXNvdXJjZUFjdGlvbiwgYm9vbGVhbj4+O1xuXG4gIEBJbnB1dCgpXG4gIGNvbHVtbnM6IFJlYWRvbmx5QXJyYXk8VGFibGVDb2x1bW48SXRlbSwgQ29udGV4dD4+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBjb2x1bW5zJCE6IE9ic2VydmFibGU8QXJyYXk8VGFibGVDb2x1bW48SXRlbSwgQ29udGV4dD4+PjtcblxuICBASW5wdXQoKVxuICBmaWx0ZXJQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBmaWx0ZXJQYXJhbXMkITogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG5cbiAgQElucHV0KClcbiAgY29udGV4dDogQ29udGV4dDtcblxuICBnZXQgZmluYWxDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQgPz8gKHRoaXMudXRpbCBhcyB1bmtub3duIGFzIENvbnRleHQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZmlsdGVyRm46IFRhYmxlRmlsdGVyRm48SXRlbSwgQ29udGV4dD47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGZpbHRlckZuJCE6IE9ic2VydmFibGU8VGFibGVGaWx0ZXJGbjxJdGVtLCBDb250ZXh0Pj47XG5cbiAgQElucHV0KClcbiAgdHJhY2tCeTogVHJhY2tCeUZ1bmN0aW9uPEl0ZW0+ID0gdGhpcy50cmFja0J5Rm47XG5cbiAgQElucHV0KClcbiAgbm9EYXRhSGludDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmdFcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGVuYWJsZVBhZ2luYXRpb24gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwYWdlU2l6ZSA9IERFRkFVTFRfUEFHRV9TSVpFO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2VTaXplT3B0aW9ucyA9IERFRkFVTFRfUEFHRV9TSVpFX09QVElPTlM7XG5cbiAgQElucHV0KClcbiAgcGFnaW5hdGlvbkxheW91dCA9IERFRkFVTFRfUEFHSU5BVElPTl9MQVlPVVQ7XG5cbiAgQElucHV0KCkgZmlyc3RTY3JvbGxMb2FkOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHVwZGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8SXRlbT4oKTtcblxuICBAT3V0cHV0KClcbiAgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFibGVDZWxsRGVmRGlyZWN0aXZlKVxuICB0YWJsZUNlbGxEZWZzOiBRdWVyeUxpc3Q8VGFibGVDZWxsRGVmRGlyZWN0aXZlPEl0ZW0+PjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmF1aS10YWJsZV9fc2Nyb2xsLXdyYXBwZXInKVxuICBnZXQgc2Nyb2xsV3JhcHBlcigpIHtcbiAgICByZXR1cm4gISF0aGlzLnN0aWNreSB8fCB0aGlzLmhhc1Jlc2l6YWJsZUNvbHVtbnM7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBnZXQgc2Nyb2xsV3JhcHBlckhlaWdodCgpIHtcbiAgICByZXR1cm4gaGFuZGxlUGl4ZWwodGhpcy5zdGlja3kpO1xuICB9XG5cbiAgY3VycmVudFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEpO1xuXG4gIHBhZ2VTaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLnBhZ2VTaXplIHx8IERFRkFVTFRfUEFHRV9TSVpFKTtcblxuICBwYWdpbmF0aW9uID0ge1xuICAgIHRvdGFsOiAwLFxuICAgIHBhZ2VzOiAwLFxuICB9O1xuXG4gIGdldCBoYXNSZXNpemFibGVDb2x1bW5zKCkge1xuICAgIHJldHVybiAodGhpcy5jb2x1bW5zIHx8IFtdKS5zb21lKFxuICAgICAgY29sdW1uID0+ICFpc1N0cmluZyhjb2x1bW4pICYmIGNvbHVtbi5yZXNpemFibGUsXG4gICAgKTtcbiAgfVxuXG4gIGZpbmFsRGF0YVNvdXJjZSQgPSB0aGlzLmRhdGFTb3VyY2UkLnBpcGUoXG4gICAgc3dpdGNoTWFwKGRhdGFTb3VyY2UgPT5cbiAgICAgIGRhdGFTb3VyY2UgaW5zdGFuY2VvZiBPYnNlcnZhYmxlID8gZGF0YVNvdXJjZSA6IG9mKGRhdGFTb3VyY2UpLFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGZpbmFsUmVzb3VyY2VOYW1lJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubGlzdCQsIHRoaXMucmVzb3VyY2VOYW1lJF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbbGlzdCwgcmVzb3VyY2VOYW1lXSkgPT5cbiAgICAgICFsaXN0IHx8IHJlc291cmNlTmFtZVxuICAgICAgICA/IG9mKHJlc291cmNlTmFtZSlcbiAgICAgICAgOiBsaXN0LnJhd1Jlc3BvbnNlJC5waXBlKFxuICAgICAgICAgICAgbWFwKHJlcyA9PiByZXM/LmtpbmQuc2xpY2UoMCwgLTQpLnRvTG93ZXJDYXNlKCkpLFxuICAgICAgICAgICksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgY29sdW1uRGVmcyQgPSB0aGlzLmNvbHVtbnMkLnBpcGUoXG4gICAgbWFwKFxuICAgICAgY29sdW1ucyA9PlxuICAgICAgICAoY29sdW1ucyB8fCBbXSkubWFwKGNvbHVtbiA9PiB7XG4gICAgICAgICAgY29sdW1uID0gaXNTdHJpbmcoY29sdW1uKSA/IHsgbmFtZTogY29sdW1uIH0gOiBjb2x1bW47XG4gICAgICAgICAgaWYgKCEoJ3BhdGgnIGluIGNvbHVtbikgJiYgIUtOT1dOX0NPTFVNTlMuaGFzKGNvbHVtbi5uYW1lKSkge1xuICAgICAgICAgICAgY29sdW1uLnBhdGggPSBjb2x1bW4ubmFtZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5ub3JtYWxpemVDb2x1bW5EZWZTb3J0KGNvbHVtbik7XG4gICAgICAgICAgdGhpcy5ub3JtYWxpemVDb2x1bW5EZWZUcmFuc2xhdGUoY29sdW1uKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVBY3Rpb25Db2x1bW5EZWYoY29sdW1uKTtcbiAgICAgICAgfSkgYXMgVGFibGVDb2x1bW5EZWZzPEl0ZW0sIENvbnRleHQ+LFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGNvbHVtbk5hbWVzJCA9IHRoaXMuY29sdW1uRGVmcyQucGlwZShcbiAgICBtYXAoY29sdW1ucyA9PiBjb2x1bW5zLm1hcChjb2x1bW4gPT4gY29sdW1uLm5hbWUpKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgYWN0aXZlU29ydCQkID0gbmV3IFJlcGxheVN1YmplY3Q8U29ydD4oMSk7XG5cbiAgYWN0aXZlU29ydCQ6IE9ic2VydmFibGU8U29ydD4gPSBtZXJnZShcbiAgICB0aGlzLmFjdGl2ZVNvcnQkJCxcbiAgICB0aGlzLmNvbHVtbkRlZnMkLnBpcGUoXG4gICAgICBtYXAoY29sdW1uRGVmcyA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHVtbkRlZiA9IGNvbHVtbkRlZnMuZmluZChjb2x1bW4gPT4gY29sdW1uLnNvcnQ/LmFjdGl2ZSk7XG4gICAgICAgIHJldHVybiBjb2x1bW5EZWZcbiAgICAgICAgICA/IHsgYWN0aXZlOiBjb2x1bW5EZWYubmFtZSwgZGlyZWN0aW9uOiBjb2x1bW5EZWYuc29ydC5kaXJlY3Rpb24gfVxuICAgICAgICAgIDogbnVsbDtcbiAgICAgIH0pLFxuICAgICksXG4gICkucGlwZShwdWJsaXNoUmVmKCkpO1xuXG4gIGZpbHRlcmVkSXRlbXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5saXN0JCwgdGhpcy5maW5hbERhdGFTb3VyY2UkXSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoW2xpc3QsIGRhdGFTb3VyY2VdKSA9PiAobGlzdCA/IGxpc3QuaXRlbXMkIDogb2YoZGF0YVNvdXJjZSkpKSxcbiAgICApLFxuICAgIHRoaXMuY29sdW1uRGVmcyQsXG4gICAgdGhpcy5hY3RpdmVTb3J0JCxcbiAgICB0aGlzLmZpbHRlclBhcmFtcyQsXG4gICAgdGhpcy5maWx0ZXJGbiQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKFxuICAgICAgKFtcbiAgICAgICAgaXRlbXMsXG4gICAgICAgIGNvbHVtbkRlZnMsXG4gICAgICAgIGFjdGl2ZVNvcnQsXG4gICAgICAgIGZpbHRlclBhcmFtcyxcbiAgICAgICAgZmlsdGVyRm4gPSB0aGlzLnV0aWwuZGVmYXVsdEZpbHRlckZuLFxuICAgICAgXSkgPT5cbiAgICAgICAgZmlsdGVyRm4uY2FsbChcbiAgICAgICAgICB0aGlzLmZpbmFsQ29udGV4dCxcbiAgICAgICAgICBpdGVtcyxcbiAgICAgICAgICBjb2x1bW5EZWZzLFxuICAgICAgICAgIGFjdGl2ZVNvcnQsXG4gICAgICAgICAgZmlsdGVyUGFyYW1zLFxuICAgICAgICAgIHRoaXMuZmluYWxDb250ZXh0LFxuICAgICAgICApLFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIHBhZ2VkSXRlbXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5maWx0ZXJlZEl0ZW1zJCxcbiAgICB0aGlzLmN1cnJlbnRQYWdlJCxcbiAgICB0aGlzLnBhZ2VTaXplJCxcbiAgXSkucGlwZShcbiAgICB0YXAoKFtpdGVtcywgXywgcGFnZVNpemVdKSA9PiB7XG4gICAgICBpZiAodGhpcy5lbmFibGVQYWdpbmF0aW9uKSB7XG4gICAgICAgIHRoaXMucGFnaW5hdGlvbiA9XG4gICAgICAgICAgaXRlbXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICA/IHsgdG90YWw6IDAsIHBhZ2VzOiAwIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIHRvdGFsOiBpdGVtcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgcGFnZXM6IE1hdGguY2VpbChpdGVtcy5sZW5ndGggLyBwYWdlU2l6ZSksXG4gICAgICAgICAgICAgIH07XG4gICAgICB9XG4gICAgfSksXG4gICAgbWFwKChbaXRlbXMsIGN1cnJlbnRQYWdlLCBwYWdlU2l6ZV0pID0+IHtcbiAgICAgIGlmICghdGhpcy5lbmFibGVQYWdpbmF0aW9uKSB7XG4gICAgICAgIHJldHVybiBpdGVtcztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnBhZ2luYXRpb24ucGFnZXMgPCBjdXJyZW50UGFnZSAmJiB0aGlzLnBhZ2luYXRpb24ucGFnZXMgIT09IDApIHtcbiAgICAgICAgY3VycmVudFBhZ2UgPSB0aGlzLnBhZ2luYXRpb24ucGFnZXM7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UkLm5leHQoY3VycmVudFBhZ2UpO1xuICAgICAgfVxuICAgICAgY29uc3QgYmVnaW4gPSAoY3VycmVudFBhZ2UgLSAxKSAqIHBhZ2VTaXplO1xuICAgICAgcmV0dXJuIGl0ZW1zLnNsaWNlKGJlZ2luLCBiZWdpbiArIHBhZ2VTaXplKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgZ2V0IGlzTGlzdFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucm91dGUucm91dGVDb25maWc/LnBhdGggPT09ICdsaXN0JztcbiAgfVxuXG4gIGlzTGlzdFBhZ2UkID0gdGhpcy5yb3V0ZS51cmwucGlwZShcbiAgICBtYXAoKCkgPT4gdGhpcy5pc0xpc3RQYWdlKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgaXNGdW5jdGlvbiA9IGlzRnVuY3Rpb247XG4gIGlzSzhzUmVzb3VyY2UgPSBpc0s4c1Jlc291cmNlO1xuICBpc0ZpZWxkTm90QXZhaWxhYmxlID0gaXNGaWVsZE5vdEF2YWlsYWJsZTtcblxuICBnZXRWYWx1ZUZyb21QYXRoID0gdGhpcy51dGlsLmdldFZhbHVlRnJvbVBhdGg7XG4gIHRyYWNrQnlOYW1lKF86IG51bWJlciwgY29sdW1uRGVmOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIHJldHVybiBjb2x1bW5EZWYubmFtZTtcbiAgfVxuXG4gIE5BTUUgPSBOQU1FO1xuICBDUkVBVE9SID0gQ1JFQVRPUjtcbiAgQ1JFQVRFRF9BVCA9IENSRUFURURfQVQ7XG4gIEFDVElPTiA9IEFDVElPTjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyByZWFkb25seSB1dGlsOiBUYWJsZVV0aWxTZXJ2aWNlPEl0ZW0+LFxuICApIHtcbiAgICB0aGlzLmdldENvbHVtblRlbXBsYXRlID0gdGhpcy5nZXRDb2x1bW5UZW1wbGF0ZS5iaW5kKHRoaXMpO1xuICB9XG5cbiAgbm9ybWFsaXplQ29sdW1uRGVmVHJhbnNsYXRlKGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICBjb25zdCB7IHRyYW5zbGF0ZSB9ID0gY29sdW1uO1xuICAgIGlmICh0cmFuc2xhdGUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICB9XG4gICAgaWYgKHRyYW5zbGF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9IHRydWU7XG4gICAgfVxuICAgIGlmIChpc1N0cmluZyh0cmFuc2xhdGUpKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpID0+IHRyYW5zbGF0ZSArIHZhbHVlO1xuICAgIH0gZWxzZSBpZiAoaXNPYmplY3RMaWtlKHRyYW5zbGF0ZSkpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4gZ2V0KHRyYW5zbGF0ZSwgdmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1uO1xuICB9XG5cbiAgbm9ybWFsaXplQ29sdW1uRGVmU29ydChjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgY29uc3QgeyBzb3J0IH0gPSBjb2x1bW47XG4gICAgaWYgKHNvcnQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICB9XG4gICAgaWYgKHNvcnQgPT09IHRydWUpIHtcbiAgICAgIGNvbHVtbi5zb3J0ID0ge1xuICAgICAgICBkaXJlY3Rpb246ICdhc2MnLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKHNvcnQpKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiBzb3J0LFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKGlzRnVuY3Rpb24oc29ydCkpIHtcbiAgICAgIGNvbHVtbi5zb3J0ID0ge1xuICAgICAgICBkaXJlY3Rpb246ICdhc2MnLFxuICAgICAgICBoYW5kbGVyOiBzb3J0LFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHNvcnQuZGlyZWN0aW9uID09IG51bGwpIHtcbiAgICAgIHNvcnQuZGlyZWN0aW9uID0gJ2FzYyc7XG4gICAgfVxuICAgIHJldHVybiBjb2x1bW47XG4gIH1cblxuICBvblNvcnRDaGFuZ2UoJGV2ZW50OiBTb3J0KSB7XG4gICAgdGhpcy5zb3J0Q2hhbmdlLm5leHQoJGV2ZW50KTtcbiAgICB0aGlzLmFjdGl2ZVNvcnQkJC5uZXh0KCRldmVudCk7XG4gIH1cblxuICBub3JtYWxpemVBY3Rpb25Db2x1bW5EZWYoXG4gICAgY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PixcbiAgKTogTm9ybWFsaXplZFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+IHtcbiAgICBpZiAoY29sdW1uLm5hbWUgIT09IEFDVElPTiB8fCAhY29sdW1uLmV4dHJhKSB7XG4gICAgICByZXR1cm4gY29sdW1uIGFzIE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PjtcbiAgICB9XG5cbiAgICBjb25zdCBleHRyYSA9IGNvbHVtbi5leHRyYSBhcyBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhPEl0ZW0sIENvbnRleHQ+O1xuICAgIChbSzhzUmVzb3VyY2VBY3Rpb24uREVMRVRFLCBLOHNSZXNvdXJjZUFjdGlvbi5VUERBVEVdIGFzIGNvbnN0KS5mb3JFYWNoKFxuICAgICAgYWN0aW9uID0+IHtcbiAgICAgICAgaWYgKCFleHRyYVthY3Rpb25dKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBoYW5kbGVyID0gKFxuICAgICAgICAgIGV4dHJhW2FjdGlvbl0gYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYUl0ZW08SXRlbSwgQ29udGV4dD5cbiAgICAgICAgKS5kaXNhYmxlZDtcbiAgICAgICAgaWYgKGhhbmRsZXIgPT0gbnVsbCkge1xuICAgICAgICAgIGhhbmRsZXIgPSBub29wIGFzIFRhYmxlQ29sdW1uQWN0aW9uRGlzYWJsZWRIYW5kbGVyPEl0ZW0sIENvbnRleHQ+O1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKGhhbmRsZXIpKSB7XG4gICAgICAgICAgKFxuICAgICAgICAgICAgZXh0cmFbYWN0aW9uXSBhcyBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbTxJdGVtLCBDb250ZXh0PlxuICAgICAgICAgICkuZGlzYWJsZWQgPSB7IGhhbmRsZXIgfTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICAgIHJldHVybiBjb2x1bW4gYXMgTm9ybWFsaXplZFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+O1xuICB9XG5cbiAgZ2V0Q29sdW1uVGVtcGxhdGUoY29sdW1uOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy50YWJsZUNlbGxEZWZzLmZpbmQoZGVmID0+IGRlZi5hY2xUYWJsZUNlbGxEZWYgPT09IGNvbHVtbilcbiAgICAgID8udGVtcGxhdGVSZWY7XG4gIH1cblxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogSXRlbSkge1xuICAgIHJldHVybiBpc0s4c1Jlc291cmNlKGl0ZW0pXG4gICAgICA/IHRyYWNrQnlVaWQoaW5kZXgsIGl0ZW0pXG4gICAgICA6IGdldChpdGVtLCBOQU1FLCBpbmRleCk7XG4gIH1cblxuICBvblVwZGF0ZShkYXRhOiBJdGVtLCBjb2x1bW5EZWY6IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgdGhpcy51cGRhdGUuZW1pdChkYXRhKTtcblxuICAgIGlmIChnZXQoY29sdW1uRGVmLmV4dHJhLCBbVVBEQVRFLCBMSU5LXSkgIT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcbiAgICAgICAgW1xuICAgICAgICAgIHRoaXMuaXNMaXN0UGFnZSA/ICcuLicgOiAnLicsXG4gICAgICAgICAgVVBEQVRFLFxuICAgICAgICAgIHRoaXMuZ2V0VmFsdWVGcm9tUGF0aChkYXRhLCBOQU1FKSxcbiAgICAgICAgXSxcbiAgICAgICAge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldFZhbHVlPFQsIEYgZXh0ZW5kcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiBUPihcbiAgICBmdW5jdGlvbk9yVmFsdWU6IFQgfCBGLFxuICAgIC4uLmFyZ3M6IFBhcmFtZXRlcnM8Rj5cbiAgKTogVCB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oZnVuY3Rpb25PclZhbHVlKVxuICAgICAgPyBmdW5jdGlvbk9yVmFsdWUuY2FsbChsYXN0KGFyZ3MpLCAuLi5hcmdzKVxuICAgICAgOiBmdW5jdGlvbk9yVmFsdWU7XG4gIH1cbn1cbiIsIjxhdWktdGFibGVcbiAgYXVpU29ydFxuICBbYWN0aXZlXT1cIihhY3RpdmVTb3J0JCB8IGFzeW5jKT8uYWN0aXZlXCJcbiAgW2RpcmVjdGlvbl09XCIoYWN0aXZlU29ydCQgfCBhc3luYyk/LmRpcmVjdGlvblwiXG4gIFtkYXRhU291cmNlXT1cInBhZ2VkSXRlbXMkXCJcbiAgW3RyYWNrQnldPVwidHJhY2tCeVwiXG4gIChzb3J0Q2hhbmdlKT1cIm9uU29ydENoYW5nZSgkZXZlbnQpXCJcbiAgW2F1aVRhYmxlU2Nyb2xsYWJsZV09XCIhIXN0aWNreSB8fCBoYXNSZXNpemFibGVDb2x1bW5zXCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCBjb2x1bW5EZWYgb2YgY29sdW1uRGVmcyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIlxuICAgIFthdWlUYWJsZUNvbHVtbkRlZl09XCJjb2x1bW5EZWYubmFtZVwiXG4gICAgW3N0aWNreV09XCJjb2x1bW5EZWYuc3RpY2t5XCJcbiAgICBbc3RpY2t5RW5kXT1cImNvbHVtbkRlZi5zdGlja3lFbmRcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbkRlZi5yZXNpemFibGU7IGVsc2UgZGVmYXVsdEhlYWRlckNlbGxUcGxcIj5cbiAgICAgIDxhdWktdGFibGUtaGVhZGVyLWNlbGxcbiAgICAgICAgKmF1aVRhYmxlSGVhZGVyQ2VsbERlZlxuICAgICAgICBbc3R5bGVdPVwiY29sdW1uRGVmLnN0eWxlXCJcbiAgICAgICAgYXVpVGFibGVDb2x1bW5SZXNpemFibGVcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uSGVhZGVyVHBsOyBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2F1aS10YWJsZS1oZWFkZXItY2VsbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRIZWFkZXJDZWxsVHBsPlxuICAgICAgPGF1aS10YWJsZS1oZWFkZXItY2VsbFxuICAgICAgICAqYXVpVGFibGVIZWFkZXJDZWxsRGVmXG4gICAgICAgIFtzdHlsZV09XCJjb2x1bW5EZWYuc3R5bGVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5IZWFkZXJUcGw7IGNvbnRleHQ6IHsgY29sdW1uRGVmOiBjb2x1bW5EZWYgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYXVpLXRhYmxlLWhlYWRlci1jZWxsPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8YXVpLXRhYmxlLWNlbGxcbiAgICAgICphdWlUYWJsZUNlbGxEZWY9XCJcbiAgICAgICAgbGV0IGRhdGE7XG4gICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICBsZXQgZXZlbiA9IGV2ZW47XG4gICAgICAgIGxldCBvZGQgPSBvZGQ7XG4gICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgXCJcbiAgICAgIFtkaXJlY3Rpb25dPVwiY29sdW1uRGVmLmRpcmVjdGlvblwiXG4gICAgICBbbmdDbGFzc109XCJjb2x1bW5EZWYuY2xhc3NcIlxuICAgICAgW2NsYXNzLmFjbC10YWJsZV9fY2VsbC0tcmVzaXphYmxlXT1cImNvbHVtbkRlZi5yZXNpemFibGVcIlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGNvbHVtbkRlZi5uYW1lIHwgcHVyZTogZ2V0Q29sdW1uVGVtcGxhdGUgYXMgdGVtcGxhdGU7XG4gICAgICAgICAgZWxzZSB0YWJsZUNlbGxEZWZUcGxcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICB0ZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBkYXRhLFxuICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgIGV2ZW46IGV2ZW4sXG4gICAgICAgICAgICAgIG9kZDogb2RkLFxuICAgICAgICAgICAgICBsYXN0OiBsYXN0LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxEZWZUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29sdW1uRGVmLnBhdGggIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAoZGF0YVxuICAgICAgICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgICAgICAgOiBnZXRWYWx1ZUZyb21QYXRoXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5uYW1lXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5wYXRoKSBhcyB2YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgZGVmYXVsdFRhYmxlQ2VsbFRwbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICB0YWJsZUNlbGxDb250ZW50O1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYmxlQ2VsbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBkZWZhdWx0VGFibGVDZWxsO1xuICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2F1aS10YWJsZS1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGVcbiAgICAjY29sdW1uSGVhZGVyVHBsXG4gICAgbGV0LWNvbHVtbkRlZj1cImNvbHVtbkRlZlwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uRGVmLm5hbWUgIT09IEFDVElPTlwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuc29ydFwiXG4gICAgICAgIGF1aS1zb3J0LWhlYWRlcj1cInt7IGNvbHVtbkRlZi5uYW1lIH19XCJcbiAgICAgICAgW3N0YXJ0XT1cImNvbHVtbkRlZi5zb3J0LmRpcmVjdGlvblwiXG4gICAgICAgID57eyBjb2x1bW5EZWYubGFiZWwgfHwgY29sdW1uRGVmLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgID5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWNvbHVtbkRlZi5zb3J0XCI+e3tcbiAgICAgICAgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5OYW1lcyQgfCBhc3luYzsgc3RpY2t5OiAhIXN0aWNreVwiXG4gID48L2F1aS10YWJsZS1oZWFkZXItcm93PlxuICA8YXVpLXRhYmxlLXJvd1xuICAgICphdWlUYWJsZVJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbk5hbWVzJCB8IGFzeW5jXCJcbiAgPjwvYXVpLXRhYmxlLXJvdz5cblxuICA8bmctY29udGFpbmVyICphdWlUYWJsZVBsYWNlaG9sZGVyRGVmPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIFtoaWRkZW5dPVwiXG4gICAgICAgICAgKHBhZ2VkSXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggfHwgIShsaXN0Lml0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiZW1wdHktcGxhY2Vob2xkZXJcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luYyBhcyBmaW5hbFJlc291cmNlTmFtZTsgZWxzZSBub0RhdGFcIlxuICAgICAgICA+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdub19uYW1lZF9kYXRhX2hpbnQnXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lVHJhbnNsYXRlZCB8fCAoZmluYWxSZXNvdXJjZU5hbWUgfCB0cmFuc2xhdGUpLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3RlclxuICAgICAgICBbaGlkZGVuXT1cIlxuICAgICAgICAgICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aCAmJiAobGlzdC5pdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFxuICAgICAgICBcIlxuICAgICAgICBbbGlzdF09XCJsaXN0XCJcbiAgICAgICAgW3Jlc291cmNlTmFtZV09XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luY1wiXG4gICAgICAgIFtyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXT1cInJlc291cmNlTmFtZVRyYW5zbGF0ZWRcIlxuICAgICAgICBbZmlyc3RTY3JvbGxMb2FkXT1cImZpcnN0U2Nyb2xsTG9hZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICphY2xLOHNMaXN0Rm9vdGVyTG9hZGluZ0Vycm9yXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3Rlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVzb3VyY2VOYW1lVHJhbnNsYXRlZCB8fCAocmVzb3VyY2VOYW1lIHwgdHJhbnNsYXRlKSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgY2xhc3M9XCJhY2wtbG9hZGluZy1tYXNrX19pY29uXCJcbiAgICAgICAgICBzaXplPVwiMTZweFwiXG4gICAgICAgICAgaWNvbj1cInNwaW5uZXJcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgJ2xvYWRpbmdfcGxlYXNlX3dhaXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvYXVpLXRhYmxlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZW5hYmxlUGFnaW5hdGlvblwiPlxuICA8YXVpLXBhZ2luYXRvclxuICAgIFtsYXlvdXRdPVwicGFnaW5hdGlvbkxheW91dFwiXG4gICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlJCB8IGFzeW5jXCJcbiAgICBbcGFnZVNpemVdPVwicGFnZVNpemUkIHwgYXN5bmNcIlxuICAgIFt0b3RhbF09XCJwYWdpbmF0aW9uLnRvdGFsXCJcbiAgICAoY3VycmVudFBhZ2VDaGFuZ2UpPVwiY3VycmVudFBhZ2UkLm5leHQoJGV2ZW50KVwiXG4gICAgKHBhZ2VTaXplQ2hhbmdlKT1cInBhZ2VTaXplJC5uZXh0KCRldmVudClcIlxuICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCJcbiAgPjwvYXVpLXBhZ2luYXRvcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRUYWJsZUNlbGxcbiAgbGV0LWRhdGE9XCJkYXRhXCJcbiAgbGV0LWNvbHVtbkRlZj1cImNvbHVtbkRlZlwiXG4+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbkRlZi5uYW1lXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiTkFNRVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRhdGEgfCBwdXJlOiBnZXRWYWx1ZUZyb21QYXRoIDogY29sdW1uRGVmLm5hbWUgYXMgbmFtZVwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19uYW1lXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBjb2x1bW5EZWYuZXh0cmE/LmxpbmsgIT09IGZhbHNlICYmICEoZGF0YSB8IGFjbElzRGVsZXRpbmcpO1xuICAgICAgICAgICAgZWxzZSBwbGFpbk5hbWVcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsoaXNMaXN0UGFnZSQgfCBhc3luYykgPyAnLi4nIDogJy4nLCAnZGV0YWlsJywgbmFtZV1cIlxuICAgICAgICAgICAgW2F1aVRvb2x0aXBdPVwibmFtZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5OYW1lPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICAgIFtjbGFzcy5kZWxldGluZy10ZXh0XT1cImRhdGEgfCBhY2xJc0RlbGV0aW5nXCJcbiAgICAgICAgICAgID57eyBuYW1lIH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8YWNsLWRlbGV0aW5nLXRhZ1xuICAgICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGlzSzhzUmVzb3VyY2VcIlxuICAgICAgICAgIFtyZXNvdXJjZV09XCJkYXRhXCJcbiAgICAgICAgPjwvYWNsLWRlbGV0aW5nLXRhZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIChkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZSlcbiAgICAgICAgICAgID8gKGRhdGEgfCBhY2xEaXNwbGF5TmFtZSlcbiAgICAgICAgICAgIDogZGF0YS5kaXNwbGF5TmFtZSBhcyBkaXNwbGF5TmFtZVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImF1aS10YWJsZV9fY2VsbF9fZGlzcGxheS1uYW1lXCJcbiAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgPlxuICAgICAgICB7eyBkaXNwbGF5TmFtZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQ1JFQVRFRF9BVFwiPlxuICAgICAgPGFjbC1yZWxhdGl2ZS10aW1lXG4gICAgICAgIFt0aW1lXT1cImRhdGEgfCBwdXJlOiBnZXRWYWx1ZUZyb21QYXRoIDogY29sdW1uRGVmLm5hbWVcIlxuICAgICAgPjwvYWNsLXJlbGF0aXZlLXRpbWU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQUNUSU9OXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgW2F1aURyb3Bkb3duXT1cIm1lbnVcIlxuICAgICAgICBbYXVpRHJvcGRvd25Db250ZXh0XT1cInsgJGltcGxpY2l0OiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XCJcbiAgICAgID5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJlbGxpcHNpc192X3NcIj48L2F1aS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGRhdGEgfCBwdXJlOiBnZXRWYWx1ZUZyb21QYXRoIDogY29sdW1uRGVmLm5hbWUgYXMgdmFsdWU7XG4gICAgICAgICAgZWxzZSBlbXB0eVxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIHRhYmxlQ2VsbENvbnRlbnQ7XG4gICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjdGFibGVDZWxsQ29udGVudFxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbiAgbGV0LXZhbHVlPVwidmFsdWVcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGNvbHVtbkRlZi50cmFuc2xhdGUgPT0gbnVsbFxuICAgICAgICA/IHZhbHVlXG4gICAgICAgIDogY29sdW1uRGVmLnRyYW5zbGF0ZSA9PT0gdHJ1ZVxuICAgICAgICAgID8gKHZhbHVlIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIDogKHZhbHVlXG4gICAgICAgICAgICB8IHB1cmU6IGNvbHVtbkRlZi50cmFuc2xhdGUgOiBmaW5hbENvbnRleHRcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlKSBhcyB0ZXh0O1xuICAgICAgZWxzZSBlbXB0eVxuICAgIFwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImNvbHVtbkRlZi5lbGxpcHNpczsgZWxzZSBwbGFpblRleHRcIlxuICAgICAgY2xhc3M9XCJ0ZXh0LW92ZXJmbG93XCJcbiAgICAgIFthdWlUb29sdGlwXT1cInRleHRcIlxuICAgID5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3BsYWluVGV4dD57eyB0ZXh0IH19PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI21lbnVcbiAgbGV0LWRhdGFcbiAgbGV0LWNvbHVtbkRlZj1cImNvbHVtbkRlZlwiXG4gID48YXVpLW1lbnU+XG4gICAgPGFjbC1kaXNhYmxlZC1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmV4dHJhPy51cGRhdGUgIT09IGZhbHNlXCJcbiAgICAgIFtpc0FsbG93ZWRdPVwiIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLnVwZGF0ZVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGNvbHVtbkRlZi5leHRyYT8udXBkYXRlPy5kaXNhYmxlZC5oYW5kbGVyIHwgcHVyZTogaXNGdW5jdGlvbikgJiZcbiAgICAgICAgKGRhdGEgfCBwdXJlOiBjb2x1bW5EZWYuZXh0cmEudXBkYXRlLmRpc2FibGVkLmhhbmRsZXIgOiBmaW5hbENvbnRleHQpXG4gICAgICBcIlxuICAgICAgW3Rvb2x0aXBdPVwiXG4gICAgICAgIGNvbHVtbkRlZi5leHRyYT8udXBkYXRlPy5kaXNhYmxlZC50b29sdGlwXG4gICAgICAgICAgfCBwdXJlOiBnZXRWYWx1ZSA6IGRhdGEgOiBmaW5hbENvbnRleHRcbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJvblVwZGF0ZShkYXRhLCBjb2x1bW5EZWYpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAndXBkYXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gICAgPGFjbC1kaXNhYmxlZC1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmV4dHJhPy5kZWxldGUgIT09IGZhbHNlXCJcbiAgICAgIFtpc0FsbG93ZWRdPVwiIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmRlbGV0ZVwiXG4gICAgICBbaXNEaXNhYmxlZF09XCJcbiAgICAgICAgKGNvbHVtbkRlZi5leHRyYT8uZGVsZXRlPy5kaXNhYmxlZC5oYW5kbGVyIHwgcHVyZTogaXNGdW5jdGlvbikgJiZcbiAgICAgICAgKGRhdGEgfCBwdXJlOiBjb2x1bW5EZWYuZXh0cmEuZGVsZXRlLmRpc2FibGVkLmhhbmRsZXIgOiBmaW5hbENvbnRleHQpXG4gICAgICBcIlxuICAgICAgW3Rvb2x0aXBdPVwiXG4gICAgICAgIGNvbHVtbkRlZi5leHRyYT8uZGVsZXRlPy5kaXNhYmxlZC50b29sdGlwXG4gICAgICAgICAgfCBwdXJlOiBnZXRWYWx1ZSA6IGRhdGEgOiBmaW5hbENvbnRleHRcbiAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJkZWxldGUuZW1pdChkYXRhKVwiXG4gICAgPlxuICAgICAgPGF1aS1tZW51LWl0ZW0+e3sgJ2RlbGV0ZScgfCB0cmFuc2xhdGUgfX08L2F1aS1tZW51LWl0ZW0+XG4gICAgPC9hY2wtZGlzYWJsZWQtY29udGFpbmVyPlxuICA8L2F1aS1tZW51PjwvbmctdGVtcGxhdGVcbj5cblxuPG5nLXRlbXBsYXRlICNlbXB0eT57eyBudWxsIHwgYWNsRmllbGROb3RBdmFpbGFibGUgfX08L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25vRGF0YT57eyAnbm9fZGF0YScgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxuIl19