@cuby-ui/core 0.0.563 → 0.0.564

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 (539) hide show
  1. package/README.md +811 -811
  2. package/components/filter-bar/components/date-filter/date-filter.component.d.ts +1 -1
  3. package/components/notification/notification.component.d.ts +2 -2
  4. package/directives/tooltip/tooltip.component.d.ts +1 -1
  5. package/esm2022/animations/animations.mjs +1 -1
  6. package/esm2022/animations/index.mjs +1 -1
  7. package/esm2022/classes/accessors.mjs +1 -1
  8. package/esm2022/classes/driver.mjs +1 -1
  9. package/esm2022/classes/index.mjs +1 -1
  10. package/esm2022/classes/vehicle.mjs +1 -1
  11. package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +3 -3
  12. package/esm2022/components/accordion/accordion-item/accordion-item.options.mjs +1 -1
  13. package/esm2022/components/accordion/accordion.component.mjs +3 -3
  14. package/esm2022/components/accordion/accordion.directive.mjs +1 -1
  15. package/esm2022/components/accordion/accordion.module.mjs +1 -1
  16. package/esm2022/components/accordion/index.mjs +1 -1
  17. package/esm2022/components/alert/alert.component.mjs +3 -3
  18. package/esm2022/components/alert/alert.interfaces.mjs +1 -1
  19. package/esm2022/components/alert/alert.module.mjs +1 -1
  20. package/esm2022/components/alert/alert.service.mjs +1 -1
  21. package/esm2022/components/alert/alert.tokens.mjs +1 -1
  22. package/esm2022/components/alert/alert.types.mjs +1 -1
  23. package/esm2022/components/alert/alerts.component.mjs +3 -3
  24. package/esm2022/components/alert/index.mjs +1 -1
  25. package/esm2022/components/alert-hint/alert-hint.component.mjs +3 -3
  26. package/esm2022/components/alert-hint/error-status.mjs +1 -1
  27. package/esm2022/components/alert-hint/index.mjs +1 -1
  28. package/esm2022/components/badge/badge.component.mjs +3 -3
  29. package/esm2022/components/badge/badge.module.mjs +1 -1
  30. package/esm2022/components/badge/badge.options.mjs +1 -1
  31. package/esm2022/components/badge/index.mjs +1 -1
  32. package/esm2022/components/banner/banner.component.mjs +3 -3
  33. package/esm2022/components/banner/banner.module.mjs +1 -1
  34. package/esm2022/components/banner/banner.options.mjs +1 -1
  35. package/esm2022/components/banner/index.mjs +1 -1
  36. package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +3 -3
  37. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
  38. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +1 -1
  39. package/esm2022/components/breadcrumbs/index.mjs +1 -1
  40. package/esm2022/components/button/button.component.mjs +3 -3
  41. package/esm2022/components/button/button.module.mjs +1 -1
  42. package/esm2022/components/button/button.options.mjs +1 -1
  43. package/esm2022/components/button/index.mjs +1 -1
  44. package/esm2022/components/button-group/button-group.component.mjs +3 -3
  45. package/esm2022/components/button-group/button-group.module.mjs +1 -1
  46. package/esm2022/components/button-group/index.mjs +1 -1
  47. package/esm2022/components/card-wrapper/card-wrapper.component.mjs +3 -3
  48. package/esm2022/components/card-wrapper/index.mjs +1 -1
  49. package/esm2022/components/checkbox/checkbox.component.mjs +1 -1
  50. package/esm2022/components/checkbox/checkbox.module.mjs +1 -1
  51. package/esm2022/components/checkbox/index.mjs +1 -1
  52. package/esm2022/components/content-header/content-header.component.mjs +3 -3
  53. package/esm2022/components/content-header/index.mjs +1 -1
  54. package/esm2022/components/content-wrapper/content-wrapper.component.mjs +3 -3
  55. package/esm2022/components/content-wrapper/index.mjs +1 -1
  56. package/esm2022/components/context-menu/context-menu.component.mjs +3 -3
  57. package/esm2022/components/context-menu/context-menu.module.mjs +1 -1
  58. package/esm2022/components/context-menu/index.mjs +1 -1
  59. package/esm2022/components/date-range-calendar/date-range-calendar.component.mjs +3 -3
  60. package/esm2022/components/date-range-calendar/date-range-calendar.interfaces.mjs +1 -1
  61. package/esm2022/components/date-range-calendar/date-range-calendar.module.mjs +1 -1
  62. package/esm2022/components/date-range-calendar/index.mjs +1 -1
  63. package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +3 -3
  64. package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +3 -3
  65. package/esm2022/components/dialog/dialog.component.mjs +3 -3
  66. package/esm2022/components/dialog/dialog.interfaces.mjs +1 -1
  67. package/esm2022/components/dialog/dialog.module.mjs +1 -1
  68. package/esm2022/components/dialog/dialog.service.mjs +1 -1
  69. package/esm2022/components/dialog/dialog.tokens.mjs +1 -1
  70. package/esm2022/components/dialog/dialogs.component.mjs +3 -3
  71. package/esm2022/components/dialog/index.mjs +1 -1
  72. package/esm2022/components/dropdown/dropdown.interfaces.mjs +1 -1
  73. package/esm2022/components/dropdown/index.mjs +1 -1
  74. package/esm2022/components/empty-state/empty-state.component.mjs +3 -3
  75. package/esm2022/components/empty-state/index.mjs +1 -1
  76. package/esm2022/components/file-icon/file-icon.component.mjs +3 -3
  77. package/esm2022/components/file-icon/file-icon.options.mjs +1 -1
  78. package/esm2022/components/file-icon/index.mjs +1 -1
  79. package/esm2022/components/filter-bar/components/add-filter-button/add-filter-button.component.mjs +3 -3
  80. package/esm2022/components/filter-bar/components/date-filter/date-filter.component.mjs +3 -3
  81. package/esm2022/components/filter-bar/components/filter-remove-button/filter-remove-button.component.mjs +3 -3
  82. package/esm2022/components/filter-bar/components/index.mjs +1 -1
  83. package/esm2022/components/filter-bar/components/multiselect-filter/multiselect-filter.component.mjs +3 -3
  84. package/esm2022/components/filter-bar/components/range-filter/range-filter.component.mjs +3 -3
  85. package/esm2022/components/filter-bar/components/select-filter/select-filter.component.mjs +3 -3
  86. package/esm2022/components/filter-bar/components/string-filter/string-filter.component.mjs +3 -3
  87. package/esm2022/components/filter-bar/filter-bar.component.mjs +3 -3
  88. package/esm2022/components/filter-bar/filter-bar.interfaces.mjs +1 -1
  89. package/esm2022/components/filter-bar/filter-bar.module.mjs +1 -1
  90. package/esm2022/components/filter-bar/filter-bar.utils.mjs +1 -1
  91. package/esm2022/components/filter-bar/index.mjs +1 -1
  92. package/esm2022/components/form-field/form-field.component.mjs +3 -3
  93. package/esm2022/components/form-field/form-field.module.mjs +1 -1
  94. package/esm2022/components/form-field/index.mjs +1 -1
  95. package/esm2022/components/ghost-input/ghost-input.component.mjs +1 -1
  96. package/esm2022/components/ghost-input/index.mjs +1 -1
  97. package/esm2022/components/hint/hint.component.mjs +3 -3
  98. package/esm2022/components/hint/hint.module.mjs +1 -1
  99. package/esm2022/components/hint/index.mjs +1 -1
  100. package/esm2022/components/icon-button/icon-button.component.mjs +3 -3
  101. package/esm2022/components/icon-button/icon-button.module.mjs +1 -1
  102. package/esm2022/components/icon-button/index.mjs +1 -1
  103. package/esm2022/components/index.mjs +1 -1
  104. package/esm2022/components/input-number/index.mjs +1 -1
  105. package/esm2022/components/input-number/input-number.component.mjs +3 -3
  106. package/esm2022/components/input-number/input-number.module.mjs +1 -1
  107. package/esm2022/components/input-password/index.mjs +1 -1
  108. package/esm2022/components/input-password/input-password.component.mjs +3 -3
  109. package/esm2022/components/input-password/input-password.module.mjs +1 -1
  110. package/esm2022/components/input-text/index.mjs +1 -1
  111. package/esm2022/components/input-text/input-text.component.mjs +3 -3
  112. package/esm2022/components/input-text/input-text.module.mjs +1 -1
  113. package/esm2022/components/input-time/index.mjs +1 -1
  114. package/esm2022/components/input-time/input-time.component.mjs +3 -3
  115. package/esm2022/components/input-time/input-time.module.mjs +1 -1
  116. package/esm2022/components/input-time/input-time.options.mjs +1 -1
  117. package/esm2022/components/label/index.mjs +1 -1
  118. package/esm2022/components/label/label.component.mjs +3 -3
  119. package/esm2022/components/label/label.module.mjs +1 -1
  120. package/esm2022/components/layout/index.mjs +1 -1
  121. package/esm2022/components/layout/layout.component.mjs +3 -3
  122. package/esm2022/components/letter-box/index.mjs +1 -1
  123. package/esm2022/components/letter-box/letter-box.component.mjs +3 -3
  124. package/esm2022/components/letter-box/letter-box.interfaces.mjs +1 -1
  125. package/esm2022/components/notification/index.mjs +1 -1
  126. package/esm2022/components/notification/notification.component.mjs +3 -3
  127. package/esm2022/components/notification/notification.module.mjs +1 -1
  128. package/esm2022/components/notification/notification.options.mjs +1 -1
  129. package/esm2022/components/options-button/index.mjs +1 -1
  130. package/esm2022/components/options-button/options-button.component.mjs +3 -3
  131. package/esm2022/components/radio/index.mjs +1 -1
  132. package/esm2022/components/radio/radio.component.mjs +1 -1
  133. package/esm2022/components/radio/radio.module.mjs +1 -1
  134. package/esm2022/components/render-dynamic-components/index.mjs +1 -1
  135. package/esm2022/components/render-dynamic-components/render-dynamic-components.component.mjs +3 -3
  136. package/esm2022/components/render-dynamic-components/render-dynamic-components.options.mjs +1 -1
  137. package/esm2022/components/render-dynamic-components/render-dynamic-components.service.mjs +1 -1
  138. package/esm2022/components/root/index.mjs +1 -1
  139. package/esm2022/components/root/root.component.mjs +3 -3
  140. package/esm2022/components/root/root.module.mjs +1 -1
  141. package/esm2022/components/root/root.options.mjs +1 -1
  142. package/esm2022/components/select/index.mjs +1 -1
  143. package/esm2022/components/select/select.component.mjs +3 -3
  144. package/esm2022/components/select/select.module.mjs +1 -1
  145. package/esm2022/components/sidebar/index.mjs +1 -1
  146. package/esm2022/components/sidebar/sidebar-container/index.mjs +1 -1
  147. package/esm2022/components/sidebar/sidebar-container/sidebar-container.component.mjs +3 -3
  148. package/esm2022/components/sidebar/sidebar-header/index.mjs +1 -1
  149. package/esm2022/components/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  150. package/esm2022/components/sidebar/sidebar-navigation/index.mjs +1 -1
  151. package/esm2022/components/sidebar/sidebar-navigation/sidebar-navigation.component.mjs +3 -3
  152. package/esm2022/components/sidebar/sidebar-navigation-container/index.mjs +1 -1
  153. package/esm2022/components/sidebar/sidebar-navigation-container/sidebar-navigation-container.component.mjs +3 -3
  154. package/esm2022/components/sidebar/sidebar-navigation-item/index.mjs +1 -1
  155. package/esm2022/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.mjs +3 -3
  156. package/esm2022/components/sidebar/sidebar.options.mjs +1 -1
  157. package/esm2022/components/sidebar/sidebar.service.mjs +1 -1
  158. package/esm2022/components/svg/index.mjs +1 -1
  159. package/esm2022/components/svg/svg.component.mjs +3 -3
  160. package/esm2022/components/svg/svg.module.mjs +1 -1
  161. package/esm2022/components/tab/index.mjs +1 -1
  162. package/esm2022/components/tab/tab.component.mjs +1 -1
  163. package/esm2022/components/tabs/components/abstract-tabs/abstract-tabs.component.mjs +3 -3
  164. package/esm2022/components/tabs/components/abstract-tabs/index.mjs +1 -1
  165. package/esm2022/components/tabs/components/index.mjs +1 -1
  166. package/esm2022/components/tabs/index.mjs +1 -1
  167. package/esm2022/components/tabs/services/index.mjs +1 -1
  168. package/esm2022/components/tabs/services/tabs.service.mjs +1 -1
  169. package/esm2022/components/tabs/tabs.component.mjs +3 -3
  170. package/esm2022/components/tabs/tabs.options.mjs +1 -1
  171. package/esm2022/components/tabs/tabs.provider.mjs +1 -1
  172. package/esm2022/components/textarea/index.mjs +1 -1
  173. package/esm2022/components/textarea/textarea.component.mjs +1 -1
  174. package/esm2022/components/textarea/textarea.module.mjs +1 -1
  175. package/esm2022/components/toggle/index.mjs +1 -1
  176. package/esm2022/components/toggle/toggle.component.mjs +1 -1
  177. package/esm2022/components/toggle/toggle.module.mjs +1 -1
  178. package/esm2022/directives/index.mjs +1 -1
  179. package/esm2022/directives/skeleton/constants/fade.const.mjs +1 -1
  180. package/esm2022/directives/skeleton/constants/index.mjs +1 -1
  181. package/esm2022/directives/skeleton/constants/max-placeholder-length-limiter.const.mjs +1 -1
  182. package/esm2022/directives/skeleton/constants/min-placeholder-length-limiter.const.mjs +1 -1
  183. package/esm2022/directives/skeleton/index.mjs +1 -1
  184. package/esm2022/directives/skeleton/skeleton.directive.mjs +1 -1
  185. package/esm2022/directives/text-field-controller/index.mjs +1 -1
  186. package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +1 -1
  187. package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +1 -1
  188. package/esm2022/directives/text-field-controller/text-field-icon-left.directive.mjs +1 -1
  189. package/esm2022/directives/text-field-controller/text-field-id.directive.mjs +1 -1
  190. package/esm2022/directives/text-field-controller/text-field-is-error.directive.mjs +1 -1
  191. package/esm2022/directives/text-field-controller/text-field-placeholder.directive.mjs +1 -1
  192. package/esm2022/directives/text-field-controller/text-field-size.directive.mjs +1 -1
  193. package/esm2022/directives/text-field-controller/text-field.controller.mjs +1 -1
  194. package/esm2022/directives/tooltip/index.mjs +1 -1
  195. package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +1 -1
  196. package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +1 -1
  197. package/esm2022/directives/tooltip/tooltip-host.directive.mjs +1 -1
  198. package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +1 -1
  199. package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +1 -1
  200. package/esm2022/directives/tooltip/tooltip-options.directive.mjs +1 -1
  201. package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +1 -1
  202. package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +1 -1
  203. package/esm2022/directives/tooltip/tooltip-position.directive.mjs +1 -1
  204. package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +1 -1
  205. package/esm2022/directives/tooltip/tooltip.component.mjs +13 -13
  206. package/esm2022/directives/tooltip/tooltip.directive.mjs +1 -1
  207. package/esm2022/directives/tooltip/tooltip.mjs +1 -1
  208. package/esm2022/directives/tooltip/tooltip.providers.mjs +1 -1
  209. package/esm2022/directives/tooltip/tooltip.service.mjs +1 -1
  210. package/esm2022/directives/tooltip/tooltips.component.mjs +3 -3
  211. package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.component.mjs +3 -3
  212. package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.options.mjs +1 -1
  213. package/esm2022/editor/components/marker-modal/marker-modal.component.mjs +3 -3
  214. package/esm2022/editor/components/marker-select/component/select-item/select-option.component.mjs +3 -3
  215. package/esm2022/editor/components/marker-select/marker-select.component.mjs +3 -3
  216. package/esm2022/editor/config/custom-elements.mjs +1 -1
  217. package/esm2022/editor/editor.component.mjs +25 -9
  218. package/esm2022/editor/interfaces/angular-element.mjs +1 -1
  219. package/esm2022/editor/interfaces/chunk-descriptor.mjs +1 -1
  220. package/esm2022/editor/interfaces/custom-element.mjs +1 -1
  221. package/esm2022/editor/interfaces/editor-service.mjs +1 -1
  222. package/esm2022/editor/providers/index.mjs +1 -1
  223. package/esm2022/editor/services/editor.service.mjs +3 -3
  224. package/esm2022/editor/tools/combined-text-block.tool.mjs +2 -2
  225. package/esm2022/editor/tools/role-marker.tool.mjs +3 -3
  226. package/esm2022/editor/tools/tool-marker.tool.mjs +1 -1
  227. package/esm2022/editor/utils/copy-text-to-clipboard.mjs +1 -1
  228. package/esm2022/editor/utils/create-tools-data.mjs +1 -1
  229. package/esm2022/editor/utils/merge-small-chunks.mjs +1 -1
  230. package/esm2022/editor/utils/open-file-in-browser.mjs +1 -1
  231. package/esm2022/editor/utils/preset-config-token.mjs +1 -1
  232. package/esm2022/editor/utils/set-loading.mjs +1 -1
  233. package/esm2022/editor/utils/url.validator.mjs +1 -1
  234. package/esm2022/editor/widgets/editor-block/editor-block.component.mjs +3 -3
  235. package/esm2022/editor/widgets/editor-modal/editor-modal.component.mjs +3 -3
  236. package/esm2022/editor/widgets/editor-modal/index.mjs +1 -1
  237. package/esm2022/editor/widgets/editor-readonly/editor-readonly.options.mjs +1 -1
  238. package/esm2022/editor/widgets/editor-readonly/editor-resize-observer.directive.mjs +1 -1
  239. package/esm2022/editor/widgets/index.mjs +1 -1
  240. package/esm2022/i18n/index.mjs +1 -1
  241. package/esm2022/index.mjs +1 -1
  242. package/esm2022/interceptors/auth.interceptor.mjs +1 -1
  243. package/esm2022/interceptors/error-handler.interceptor.mjs +1 -1
  244. package/esm2022/interceptors/sse-stream-reader.interceptor.mjs +1 -1
  245. package/esm2022/interceptors/x-ndjson.interceptor.mjs +1 -1
  246. package/esm2022/interfaces/context-menu-item.mjs +1 -1
  247. package/esm2022/interfaces/error-notification-service.mjs +1 -1
  248. package/esm2022/interfaces/error-stategy.mjs +1 -1
  249. package/esm2022/interfaces/image.mjs +1 -1
  250. package/esm2022/interfaces/index.mjs +1 -1
  251. package/esm2022/interfaces/option.mjs +1 -1
  252. package/esm2022/operators/handle-error.mjs +1 -1
  253. package/esm2022/operators/index.mjs +1 -1
  254. package/esm2022/pipes/index.mjs +1 -1
  255. package/esm2022/pipes/time.pipe.mjs +1 -1
  256. package/esm2022/providers/auth.options.mjs +1 -1
  257. package/esm2022/providers/auth.provider.mjs +1 -1
  258. package/esm2022/providers/error-handler.options.mjs +1 -1
  259. package/esm2022/providers/error-handler.provider.mjs +1 -1
  260. package/esm2022/providers/index.mjs +1 -1
  261. package/esm2022/services/auth.service.mjs +1 -1
  262. package/esm2022/services/browser-auth.service.mjs +1 -1
  263. package/esm2022/services/error-resolver-factory.service.mjs +1 -1
  264. package/esm2022/services/global-handler-error.service.mjs +1 -1
  265. package/esm2022/services/hybrid-storage.service.mjs +1 -1
  266. package/esm2022/services/index.mjs +1 -1
  267. package/esm2022/services/loader.options.mjs +1 -1
  268. package/esm2022/services/mobile-auth.service.mjs +1 -1
  269. package/esm2022/services/position.service.mjs +1 -1
  270. package/esm2022/services/theme.options.mjs +1 -1
  271. package/esm2022/services/theme.service.mjs +1 -1
  272. package/esm2022/services/token.options.mjs +1 -1
  273. package/esm2022/services/token.service.mjs +1 -1
  274. package/esm2022/services/visual-viewport.service.mjs +1 -1
  275. package/esm2022/tokens/animations-speed.mjs +1 -1
  276. package/esm2022/tokens/error-notification-service.mjs +1 -1
  277. package/esm2022/tokens/error-translation-prefix.mjs +1 -1
  278. package/esm2022/tokens/index.mjs +1 -1
  279. package/esm2022/tokens/reduced-motion.mjs +1 -1
  280. package/esm2022/tokens/should-handle-error.mjs +1 -1
  281. package/esm2022/tokens/viewport.mjs +1 -1
  282. package/esm2022/types/appearance.mjs +1 -1
  283. package/esm2022/types/button-theme.mjs +1 -1
  284. package/esm2022/types/hint-type.mjs +1 -1
  285. package/esm2022/types/index.mjs +1 -1
  286. package/esm2022/types/point.mjs +1 -1
  287. package/esm2022/types/portal-item.mjs +1 -1
  288. package/esm2022/types/position.mjs +1 -1
  289. package/esm2022/types/resizing.mjs +1 -1
  290. package/esm2022/types/shape.mjs +1 -1
  291. package/esm2022/types/should-handle-error.type.mjs +1 -1
  292. package/esm2022/types/size.mjs +1 -1
  293. package/esm2022/types/status.mjs +1 -1
  294. package/esm2022/utils/check-fixed-position.mjs +1 -1
  295. package/esm2022/utils/default-validators/create-default-validators.mjs +1 -1
  296. package/esm2022/utils/default-validators/create-default-validators.options.mjs +1 -1
  297. package/esm2022/utils/default-validators/extra-spaces.options.mjs +1 -1
  298. package/esm2022/utils/default-validators/extra-spaces.validators.mjs +1 -1
  299. package/esm2022/utils/default-validators/index.mjs +1 -1
  300. package/esm2022/utils/format/index.mjs +1 -1
  301. package/esm2022/utils/format/remove-spaces.mjs +1 -1
  302. package/esm2022/utils/format/replace.mjs +1 -1
  303. package/esm2022/utils/index.mjs +1 -1
  304. package/esm2022/utils/miscellaneous/index.mjs +1 -1
  305. package/esm2022/utils/miscellaneous/is-obscured.mjs +1 -1
  306. package/esm2022/utils/miscellaneous/override-options.mjs +1 -1
  307. package/esm2022/utils/miscellaneous/to-animation-options.mjs +1 -1
  308. package/esm2022/widgets/assets/constants/index.mjs +1 -1
  309. package/esm2022/widgets/assets/constants/translations.mjs +1 -1
  310. package/esm2022/widgets/assets/index.mjs +1 -1
  311. package/esm2022/widgets/index.mjs +1 -1
  312. package/esm2022/widgets/model/index.mjs +1 -1
  313. package/esm2022/widgets/model/loader.options.mjs +1 -1
  314. package/esm2022/widgets/model/resource-state-service.interface.mjs +1 -1
  315. package/esm2022/widgets/model/resource-state-service.token.mjs +1 -1
  316. package/esm2022/widgets/model/resources-block.options.mjs +1 -1
  317. package/esm2022/widgets/model/subject-modal-service.interface.mjs +1 -1
  318. package/esm2022/widgets/model/subject-modal-service.token.mjs +1 -1
  319. package/esm2022/widgets/model/used-elements-service.interface.mjs +1 -1
  320. package/esm2022/widgets/model/used-elements-service.token.mjs +1 -1
  321. package/esm2022/widgets/model/utility-service.interface.mjs +1 -1
  322. package/esm2022/widgets/model/utility-service.token.mjs +1 -1
  323. package/esm2022/widgets/service/index.mjs +1 -1
  324. package/esm2022/widgets/service/resource-state-base.service.mjs +1 -1
  325. package/esm2022/widgets/service/subject-modal-base.service.mjs +1 -1
  326. package/esm2022/widgets/service/used-elements-base.service.mjs +1 -1
  327. package/esm2022/widgets/service/utility-base.service.mjs +1 -1
  328. package/esm2022/widgets/ui/assignee-role-item/assignee-role-item.component.mjs +3 -3
  329. package/esm2022/widgets/ui/assignee-role-item/index.mjs +1 -1
  330. package/esm2022/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.mjs +3 -3
  331. package/esm2022/widgets/ui/assignee-roles-tabs/index.mjs +1 -1
  332. package/esm2022/widgets/ui/button-change-theme/button-change-theme.component.mjs +3 -3
  333. package/esm2022/widgets/ui/button-change-theme/index.mjs +1 -1
  334. package/esm2022/widgets/ui/categories/categories.component.mjs +3 -3
  335. package/esm2022/widgets/ui/categories/components/categories-list/categories-list.component.mjs +3 -3
  336. package/esm2022/widgets/ui/categories/components/categories-list/index.mjs +1 -1
  337. package/esm2022/widgets/ui/categories/components/category-form/category-form.component.mjs +3 -3
  338. package/esm2022/widgets/ui/categories/components/category-form/index.mjs +1 -1
  339. package/esm2022/widgets/ui/categories/components/category-item/category-item.component.mjs +3 -3
  340. package/esm2022/widgets/ui/categories/components/category-item/index.mjs +1 -1
  341. package/esm2022/widgets/ui/categories/components/create-category-item/create-category-item.component.mjs +3 -3
  342. package/esm2022/widgets/ui/categories/components/create-category-item/index.mjs +1 -1
  343. package/esm2022/widgets/ui/categories/components/index.mjs +1 -1
  344. package/esm2022/widgets/ui/categories/index.mjs +1 -1
  345. package/esm2022/widgets/ui/categories/services/index.mjs +1 -1
  346. package/esm2022/widgets/ui/categories/services/selected-category.service.mjs +1 -1
  347. package/esm2022/widgets/ui/checklist-block/checklist-block.component.mjs +3 -3
  348. package/esm2022/widgets/ui/checklist-block/checklist-block.options.mjs +1 -1
  349. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.mjs +3 -3
  350. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/index.mjs +1 -1
  351. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +3 -3
  352. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.mjs +1 -1
  353. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +3 -3
  354. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.mjs +1 -1
  355. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +3 -3
  356. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.mjs +1 -1
  357. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +3 -3
  358. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +1 -1
  359. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.mjs +1 -1
  360. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +3 -3
  361. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.mjs +1 -1
  362. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.mjs +1 -1
  363. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +3 -3
  364. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.mjs +1 -1
  365. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.mjs +1 -1
  366. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.mjs +3 -3
  367. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/index.mjs +1 -1
  368. package/esm2022/widgets/ui/checklist-block/components/index.mjs +1 -1
  369. package/esm2022/widgets/ui/checklist-block/index.mjs +1 -1
  370. package/esm2022/widgets/ui/checklist-block/services/checklist-block.service.mjs +1 -1
  371. package/esm2022/widgets/ui/checklist-block/services/index.mjs +1 -1
  372. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.mjs +3 -3
  373. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.mjs +1 -1
  374. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/index.mjs +1 -1
  375. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.mjs +3 -3
  376. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.mjs +1 -1
  377. package/esm2022/widgets/ui/consumable-form/components/index.mjs +1 -1
  378. package/esm2022/widgets/ui/consumable-form/consumable-form.component.mjs +3 -3
  379. package/esm2022/widgets/ui/consumable-form/consumable-form.options.mjs +1 -1
  380. package/esm2022/widgets/ui/consumable-form/index.mjs +1 -1
  381. package/esm2022/widgets/ui/criterion-info/criterion-info.component.mjs +3 -3
  382. package/esm2022/widgets/ui/criterion-info/index.mjs +1 -1
  383. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.component.mjs +3 -3
  384. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.options.mjs +1 -1
  385. package/esm2022/widgets/ui/criterion-info-form/index.mjs +1 -1
  386. package/esm2022/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.mjs +3 -3
  387. package/esm2022/widgets/ui/criterion-readonly-info/index.mjs +1 -1
  388. package/esm2022/widgets/ui/delete-modal/delete-modal.component.mjs +3 -3
  389. package/esm2022/widgets/ui/delete-modal/delete-modal.options.mjs +1 -1
  390. package/esm2022/widgets/ui/delete-modal/index.mjs +1 -1
  391. package/esm2022/widgets/ui/framer-preview/framer-preview.component.mjs +3 -3
  392. package/esm2022/widgets/ui/framer-preview/framer-preview.options.mjs +1 -1
  393. package/esm2022/widgets/ui/framer-preview/index.mjs +1 -1
  394. package/esm2022/widgets/ui/general-control-error-hint/general-control-error-hint.component.mjs +3 -3
  395. package/esm2022/widgets/ui/general-control-error-hint/index.mjs +1 -1
  396. package/esm2022/widgets/ui/index.mjs +1 -1
  397. package/esm2022/widgets/ui/inserted/index.mjs +1 -1
  398. package/esm2022/widgets/ui/inserted/inserted.component.mjs +3 -3
  399. package/esm2022/widgets/ui/instruction-info/index.mjs +1 -1
  400. package/esm2022/widgets/ui/instruction-info/instruction-info.component.mjs +3 -3
  401. package/esm2022/widgets/ui/instruction-info-form/index.mjs +1 -1
  402. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.component.mjs +3 -3
  403. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.options.mjs +1 -1
  404. package/esm2022/widgets/ui/instruction-readonly-info/index.mjs +1 -1
  405. package/esm2022/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.mjs +3 -3
  406. package/esm2022/widgets/ui/loader/components/circle-loader/circle-loader.component.mjs +3 -3
  407. package/esm2022/widgets/ui/loader/components/circle-loader/index.mjs +1 -1
  408. package/esm2022/widgets/ui/loader/components/index.mjs +1 -1
  409. package/esm2022/widgets/ui/loader/components/linear-loader/index.mjs +1 -1
  410. package/esm2022/widgets/ui/loader/components/linear-loader/linear-loader.component.mjs +3 -3
  411. package/esm2022/widgets/ui/loader/components/pulse-loader/index.mjs +1 -1
  412. package/esm2022/widgets/ui/loader/components/pulse-loader/pulse-loader.component.mjs +3 -3
  413. package/esm2022/widgets/ui/loader/components/stated-loader/index.mjs +1 -1
  414. package/esm2022/widgets/ui/loader/components/stated-loader/stated-loader.component.mjs +3 -3
  415. package/esm2022/widgets/ui/loader/index.mjs +1 -1
  416. package/esm2022/widgets/ui/loader/loader.component.mjs +3 -3
  417. package/esm2022/widgets/ui/modal-criteria-tab/index.mjs +1 -1
  418. package/esm2022/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.mjs +3 -3
  419. package/esm2022/widgets/ui/modal-divided-section/index.mjs +1 -1
  420. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.component.mjs +3 -3
  421. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.interfaces.mjs +1 -1
  422. package/esm2022/widgets/ui/modal-header/index.mjs +1 -1
  423. package/esm2022/widgets/ui/modal-header/modal-header.component.mjs +3 -3
  424. package/esm2022/widgets/ui/modal-header-inserted-buttons/index.mjs +1 -1
  425. package/esm2022/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.mjs +3 -3
  426. package/esm2022/widgets/ui/modal-header-tabs/index.mjs +1 -1
  427. package/esm2022/widgets/ui/modal-header-tabs/modal-header-tabs.component.mjs +3 -3
  428. package/esm2022/widgets/ui/modal-info-tab/index.mjs +1 -1
  429. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.component.mjs +3 -3
  430. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.options.mjs +1 -1
  431. package/esm2022/widgets/ui/modal-instructions-tab/index.mjs +1 -1
  432. package/esm2022/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.mjs +3 -3
  433. package/esm2022/widgets/ui/modal-operation-part/index.mjs +1 -1
  434. package/esm2022/widgets/ui/modal-operation-part/modal-operation-part.component.mjs +3 -3
  435. package/esm2022/widgets/ui/modal-resources-tab/index.mjs +1 -1
  436. package/esm2022/widgets/ui/modal-resources-tab/modal-resources-tab.component.mjs +3 -3
  437. package/esm2022/widgets/ui/render-dynamic-modal/index.mjs +1 -1
  438. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.mjs +3 -3
  439. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.mjs +1 -1
  440. package/esm2022/widgets/ui/resources-block/components/index.mjs +1 -1
  441. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/index.mjs +1 -1
  442. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.mjs +3 -3
  443. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.mjs +1 -1
  444. package/esm2022/widgets/ui/resources-block/components/resources-block-content/index.mjs +1 -1
  445. package/esm2022/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.mjs +3 -3
  446. package/esm2022/widgets/ui/resources-block/components/resources-block-part/index.mjs +1 -1
  447. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.mjs +3 -3
  448. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.mjs +1 -1
  449. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/index.mjs +1 -1
  450. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.mjs +3 -3
  451. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.mjs +1 -1
  452. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/index.mjs +1 -1
  453. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.mjs +3 -3
  454. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.mjs +1 -1
  455. package/esm2022/widgets/ui/resources-block/components/resources-options/index.mjs +1 -1
  456. package/esm2022/widgets/ui/resources-block/components/resources-options/resources-options.component.mjs +3 -3
  457. package/esm2022/widgets/ui/resources-block/index.mjs +1 -1
  458. package/esm2022/widgets/ui/resources-block/resources-block.component.mjs +3 -3
  459. package/esm2022/widgets/ui/resources-block-tabs/index.mjs +1 -1
  460. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.component.mjs +3 -3
  461. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.options.mjs +1 -1
  462. package/esm2022/widgets/ui/select-modal/components/index.mjs +1 -1
  463. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/index.mjs +1 -1
  464. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.mjs +3 -3
  465. package/esm2022/widgets/ui/select-modal/components/select-modal-search/index.mjs +1 -1
  466. package/esm2022/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.mjs +3 -3
  467. package/esm2022/widgets/ui/select-modal/index.mjs +1 -1
  468. package/esm2022/widgets/ui/select-modal/select-modal.component.mjs +3 -3
  469. package/esm2022/widgets/ui/select-modal/select-modal.interfaces.mjs +1 -1
  470. package/esm2022/widgets/ui/select-modal/select-modal.service.mjs +1 -1
  471. package/esm2022/widgets/ui/storage-list/components/index.mjs +1 -1
  472. package/esm2022/widgets/ui/storage-list/components/storage-list-item/index.mjs +1 -1
  473. package/esm2022/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.mjs +3 -3
  474. package/esm2022/widgets/ui/storage-list/index.mjs +1 -1
  475. package/esm2022/widgets/ui/storage-list/storage-list.component.mjs +3 -3
  476. package/esm2022/widgets/ui/storage-list/storage-list.options.mjs +1 -1
  477. package/esm2022/widgets/ui/toolbox-form/components/index.mjs +1 -1
  478. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/index.mjs +1 -1
  479. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.mjs +3 -3
  480. package/esm2022/widgets/ui/toolbox-form/index.mjs +1 -1
  481. package/esm2022/widgets/ui/toolbox-form/tool-form.component.mjs +3 -3
  482. package/esm2022/widgets/ui/toolbox-form/tool-form.options.mjs +1 -1
  483. package/esm2022/widgets/ui/user-action-context-menu/activity-item/activity-item.component.mjs +3 -3
  484. package/esm2022/widgets/ui/user-action-context-menu/activity-item/index.mjs +1 -1
  485. package/esm2022/widgets/ui/user-action-context-menu/company-item/company-item.component.mjs +3 -3
  486. package/esm2022/widgets/ui/user-action-context-menu/company-item/index.mjs +1 -1
  487. package/esm2022/widgets/ui/user-action-context-menu/index.mjs +1 -1
  488. package/esm2022/widgets/ui/user-action-context-menu/services/activity-base.service.mjs +1 -1
  489. package/esm2022/widgets/ui/user-action-context-menu/services/activity.service.mjs +1 -1
  490. package/esm2022/widgets/ui/user-action-context-menu/services/index.mjs +1 -1
  491. package/esm2022/widgets/ui/user-action-context-menu/user-action-context-menu.component.mjs +3 -3
  492. package/esm2022/widgets/ui/user-action-context-menu/user-action-context.option.mjs +1 -1
  493. package/esm2022/widgets/ui/utility-info-readonly/index.mjs +1 -1
  494. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.component.mjs +3 -3
  495. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.options.mjs +1 -1
  496. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +3 -3
  497. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/index.mjs +1 -1
  498. package/esm2022/widgets/ui/utility-modal/components/index.mjs +1 -1
  499. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/index.mjs +1 -1
  500. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +3 -3
  501. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/index.mjs +1 -1
  502. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.mjs +3 -3
  503. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/index.mjs +1 -1
  504. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +3 -3
  505. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/index.mjs +1 -1
  506. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +3 -3
  507. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/index.mjs +1 -1
  508. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +3 -3
  509. package/esm2022/widgets/ui/utility-modal/index.mjs +1 -1
  510. package/esm2022/widgets/ui/utility-modal/utility-modal.component.mjs +3 -3
  511. package/esm2022/widgets/ui/utility-modal/utility-modal.options.mjs +1 -1
  512. package/esm2022/widgets/ui/utility-readonly-thumbnail/index.mjs +1 -1
  513. package/esm2022/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +3 -3
  514. package/esm2022/widgets/ui/utility-thumbnail/index.mjs +1 -1
  515. package/esm2022/widgets/ui/utility-thumbnail/utility-thumbnail.component.mjs +3 -3
  516. package/fesm2022/cuby-ui-core.mjs +306 -290
  517. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  518. package/fonts/Inter-Bold.svg +25443 -25443
  519. package/fonts/Inter-Medium.svg +25400 -25400
  520. package/fonts/Inter-Regular.svg +24341 -24341
  521. package/fonts/Inter-SemiBold.svg +25459 -25459
  522. package/fonts/Nunito-ExtraBoldItalic.svg +9508 -9508
  523. package/package.json +4 -4
  524. package/providers/auth.options.d.ts +1 -1
  525. package/styles/direcive/flex-container.scss +3 -3
  526. package/styles/fonts.scss +69 -69
  527. package/styles/global.scss +10 -10
  528. package/styles/mixins/buttons.scss +13 -13
  529. package/styles/mixins/flex.scss +10 -10
  530. package/styles/mixins/headings.scss +115 -115
  531. package/styles/mixins/inputs.scss +101 -101
  532. package/styles/mixins/lists.scss +41 -41
  533. package/styles/mixins/paddings.scss +35 -35
  534. package/styles/mixins/shadows.scss +42 -42
  535. package/styles/mixins/texts.scss +224 -224
  536. package/styles/theme.scss +608 -608
  537. package/styles/variables/colors.scss +396 -396
  538. package/styles/variables/fonts.scss +2 -2
  539. package/widgets/ui/user-action-context-menu/activity-item/activity-item.component.d.ts +1 -1
@@ -160,7 +160,7 @@ export class ConsumableFormComponent {
160
160
  };
161
161
  }
162
162
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConsumableFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ConsumableFormComponent, isStandalone: true, selector: "cui-consumable-form", inputs: { utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, consumable: { classPropertyName: "consumable", publicName: "consumable", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { consumableChanged: "consumableChanged", consumableDeleted: "consumableDeleted" }, ngImport: i0, template: "<cui-accordion-item\n *transloco=\"let t\"\n class=\"accordion\"\n>\n <div class=\"header\">\n {{ consumable().name }}\n\n @if (!readonly()) {\n <cui-options-button [options]=\"CONSUMABLE_OPTIONS\" />\n }\n </div>\n\n <div\n cuiAccordionItemContent\n class=\"content\"\n >\n <div class=\"info\">\n <div class=\"title\">{{ t('SEASON_CONSUMPTION') }}</div>\n\n @if (allSeasonForm() && consumptionOptions().length) {\n <cc-consumable-form-item\n title=\"{{ t('ALL_SEASON') }}:\"\n [consumptionOptions]=\"consumptionOptions()\"\n [form]=\"allSeasonForm()!\"\n [readonly]=\"readonly()\"\n (consumableChanged)=\"onConsumableChanged()\"\n />\n }\n </div>\n\n <div>\n @for (season of seasonForms(); track season) {\n <div class=\"season\">\n @if (consumptionOptions().length) {\n <cc-consumable-form-item\n title=\"{{ t(season.type) }}:\"\n [consumptionOptions]=\"consumptionOptions()\"\n [form]=\"season.form\"\n [readonly]=\"readonly()\"\n (consumableChanged)=\"onConsumableChanged()\"\n />\n }\n\n @if (!readonly()) {\n <div class=\"container-trash\">\n <button\n type=\"button\"\n cuiButton\n size=\"xxs\"\n appearance=\"ghost\"\n icon=\"cuiIconTrash\"\n (click)=\"onRemoveSeason(season.type)\"\n ></button>\n </div>\n }\n </div>\n }\n </div>\n @if (!readonly()) {\n <button\n #seasonButton=\"elementRef\"\n cuiButton\n cuiElement\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n [disabled]=\"!availableSeasons().length\"\n class=\"add-button\"\n >\n {{ t('ADD_SEASON') }}\n </button>\n <cui-context-menu\n [items]=\"SEASON_OPTIONS()\"\n [target]=\"seasonButton.nativeElement\"\n />\n }\n </div>\n</cui-accordion-item>\n", styles: [":host{display:flex;flex-direction:row;gap:0;width:100%}.info{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.accordion{display:flex;flex-direction:column;gap:16px;padding-top:8px;padding-bottom:8px;flex-grow:1;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.season{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start;padding:16px;border:solid 1px var(--cui-base-200);border-radius:8px}.header{display:flex;flex-direction:row;gap:0;justify-content:space-between;align-items:center}.title{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500);text-transform:uppercase}.content{display:flex;flex-direction:column;gap:4px}.container-trash{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:center}.add-button{align-self:flex-start}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "component", type: i1.CuiAccordionItemComponent, selector: "cui-accordion-item", inputs: ["isOpen", "appearance"], outputs: ["isOpenChange"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: i3.CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width", "withPaddings"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: OptionsButtonComponent, selector: "cui-options-button", inputs: ["options", "hoverBackgroundColor"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: ConsumableFormItemComponent, selector: "cc-consumable-form-item", inputs: ["title", "consumptionOptions", "form", "readonly"], outputs: ["consumableChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ConsumableFormComponent, isStandalone: true, selector: "cui-consumable-form", inputs: { utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, consumable: { classPropertyName: "consumable", publicName: "consumable", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { consumableChanged: "consumableChanged", consumableDeleted: "consumableDeleted" }, ngImport: i0, template: "<cui-accordion-item\r\n *transloco=\"let t\"\r\n class=\"accordion\"\r\n>\r\n <div class=\"header\">\r\n {{ consumable().name }}\r\n\r\n @if (!readonly()) {\r\n <cui-options-button [options]=\"CONSUMABLE_OPTIONS\" />\r\n }\r\n </div>\r\n\r\n <div\r\n cuiAccordionItemContent\r\n class=\"content\"\r\n >\r\n <div class=\"info\">\r\n <div class=\"title\">{{ t('SEASON_CONSUMPTION') }}</div>\r\n\r\n @if (allSeasonForm() && consumptionOptions().length) {\r\n <cc-consumable-form-item\r\n title=\"{{ t('ALL_SEASON') }}:\"\r\n [consumptionOptions]=\"consumptionOptions()\"\r\n [form]=\"allSeasonForm()!\"\r\n [readonly]=\"readonly()\"\r\n (consumableChanged)=\"onConsumableChanged()\"\r\n />\r\n }\r\n </div>\r\n\r\n <div>\r\n @for (season of seasonForms(); track season) {\r\n <div class=\"season\">\r\n @if (consumptionOptions().length) {\r\n <cc-consumable-form-item\r\n title=\"{{ t(season.type) }}:\"\r\n [consumptionOptions]=\"consumptionOptions()\"\r\n [form]=\"season.form\"\r\n [readonly]=\"readonly()\"\r\n (consumableChanged)=\"onConsumableChanged()\"\r\n />\r\n }\r\n\r\n @if (!readonly()) {\r\n <div class=\"container-trash\">\r\n <button\r\n type=\"button\"\r\n cuiButton\r\n size=\"xxs\"\r\n appearance=\"ghost\"\r\n icon=\"cuiIconTrash\"\r\n (click)=\"onRemoveSeason(season.type)\"\r\n ></button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n @if (!readonly()) {\r\n <button\r\n #seasonButton=\"elementRef\"\r\n cuiButton\r\n cuiElement\r\n type=\"button\"\r\n appearance=\"flat\"\r\n size=\"xxs\"\r\n icon=\"cuiIconPlus\"\r\n [disabled]=\"!availableSeasons().length\"\r\n class=\"add-button\"\r\n >\r\n {{ t('ADD_SEASON') }}\r\n </button>\r\n <cui-context-menu\r\n [items]=\"SEASON_OPTIONS()\"\r\n [target]=\"seasonButton.nativeElement\"\r\n />\r\n }\r\n </div>\r\n</cui-accordion-item>\r\n", styles: [":host{display:flex;flex-direction:row;gap:0;width:100%}.info{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.accordion{display:flex;flex-direction:column;gap:16px;padding-top:8px;padding-bottom:8px;flex-grow:1;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.season{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start;padding:16px;border:solid 1px var(--cui-base-200);border-radius:8px}.header{display:flex;flex-direction:row;gap:0;justify-content:space-between;align-items:center}.title{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500);text-transform:uppercase}.content{display:flex;flex-direction:column;gap:4px}.container-trash{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:center}.add-button{align-self:flex-start}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "component", type: i1.CuiAccordionItemComponent, selector: "cui-accordion-item", inputs: ["isOpen", "appearance"], outputs: ["isOpenChange"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: i3.CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width", "withPaddings"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: OptionsButtonComponent, selector: "cui-options-button", inputs: ["options", "hoverBackgroundColor"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: ConsumableFormItemComponent, selector: "cc-consumable-form-item", inputs: ["title", "consumptionOptions", "form", "readonly"], outputs: ["consumableChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
164
  }
165
165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConsumableFormComponent, decorators: [{
166
166
  type: Component,
@@ -179,6 +179,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
179
179
  ConsumableFormItemComponent,
180
180
  ConsumableFormItemComponent,
181
181
  ConsumableFormItemComponent
182
- ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<cui-accordion-item\n *transloco=\"let t\"\n class=\"accordion\"\n>\n <div class=\"header\">\n {{ consumable().name }}\n\n @if (!readonly()) {\n <cui-options-button [options]=\"CONSUMABLE_OPTIONS\" />\n }\n </div>\n\n <div\n cuiAccordionItemContent\n class=\"content\"\n >\n <div class=\"info\">\n <div class=\"title\">{{ t('SEASON_CONSUMPTION') }}</div>\n\n @if (allSeasonForm() && consumptionOptions().length) {\n <cc-consumable-form-item\n title=\"{{ t('ALL_SEASON') }}:\"\n [consumptionOptions]=\"consumptionOptions()\"\n [form]=\"allSeasonForm()!\"\n [readonly]=\"readonly()\"\n (consumableChanged)=\"onConsumableChanged()\"\n />\n }\n </div>\n\n <div>\n @for (season of seasonForms(); track season) {\n <div class=\"season\">\n @if (consumptionOptions().length) {\n <cc-consumable-form-item\n title=\"{{ t(season.type) }}:\"\n [consumptionOptions]=\"consumptionOptions()\"\n [form]=\"season.form\"\n [readonly]=\"readonly()\"\n (consumableChanged)=\"onConsumableChanged()\"\n />\n }\n\n @if (!readonly()) {\n <div class=\"container-trash\">\n <button\n type=\"button\"\n cuiButton\n size=\"xxs\"\n appearance=\"ghost\"\n icon=\"cuiIconTrash\"\n (click)=\"onRemoveSeason(season.type)\"\n ></button>\n </div>\n }\n </div>\n }\n </div>\n @if (!readonly()) {\n <button\n #seasonButton=\"elementRef\"\n cuiButton\n cuiElement\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n [disabled]=\"!availableSeasons().length\"\n class=\"add-button\"\n >\n {{ t('ADD_SEASON') }}\n </button>\n <cui-context-menu\n [items]=\"SEASON_OPTIONS()\"\n [target]=\"seasonButton.nativeElement\"\n />\n }\n </div>\n</cui-accordion-item>\n", styles: [":host{display:flex;flex-direction:row;gap:0;width:100%}.info{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.accordion{display:flex;flex-direction:column;gap:16px;padding-top:8px;padding-bottom:8px;flex-grow:1;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.season{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start;padding:16px;border:solid 1px var(--cui-base-200);border-radius:8px}.header{display:flex;flex-direction:row;gap:0;justify-content:space-between;align-items:center}.title{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500);text-transform:uppercase}.content{display:flex;flex-direction:column;gap:4px}.container-trash{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:center}.add-button{align-self:flex-start}\n"] }]
182
+ ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<cui-accordion-item\r\n *transloco=\"let t\"\r\n class=\"accordion\"\r\n>\r\n <div class=\"header\">\r\n {{ consumable().name }}\r\n\r\n @if (!readonly()) {\r\n <cui-options-button [options]=\"CONSUMABLE_OPTIONS\" />\r\n }\r\n </div>\r\n\r\n <div\r\n cuiAccordionItemContent\r\n class=\"content\"\r\n >\r\n <div class=\"info\">\r\n <div class=\"title\">{{ t('SEASON_CONSUMPTION') }}</div>\r\n\r\n @if (allSeasonForm() && consumptionOptions().length) {\r\n <cc-consumable-form-item\r\n title=\"{{ t('ALL_SEASON') }}:\"\r\n [consumptionOptions]=\"consumptionOptions()\"\r\n [form]=\"allSeasonForm()!\"\r\n [readonly]=\"readonly()\"\r\n (consumableChanged)=\"onConsumableChanged()\"\r\n />\r\n }\r\n </div>\r\n\r\n <div>\r\n @for (season of seasonForms(); track season) {\r\n <div class=\"season\">\r\n @if (consumptionOptions().length) {\r\n <cc-consumable-form-item\r\n title=\"{{ t(season.type) }}:\"\r\n [consumptionOptions]=\"consumptionOptions()\"\r\n [form]=\"season.form\"\r\n [readonly]=\"readonly()\"\r\n (consumableChanged)=\"onConsumableChanged()\"\r\n />\r\n }\r\n\r\n @if (!readonly()) {\r\n <div class=\"container-trash\">\r\n <button\r\n type=\"button\"\r\n cuiButton\r\n size=\"xxs\"\r\n appearance=\"ghost\"\r\n icon=\"cuiIconTrash\"\r\n (click)=\"onRemoveSeason(season.type)\"\r\n ></button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n @if (!readonly()) {\r\n <button\r\n #seasonButton=\"elementRef\"\r\n cuiButton\r\n cuiElement\r\n type=\"button\"\r\n appearance=\"flat\"\r\n size=\"xxs\"\r\n icon=\"cuiIconPlus\"\r\n [disabled]=\"!availableSeasons().length\"\r\n class=\"add-button\"\r\n >\r\n {{ t('ADD_SEASON') }}\r\n </button>\r\n <cui-context-menu\r\n [items]=\"SEASON_OPTIONS()\"\r\n [target]=\"seasonButton.nativeElement\"\r\n />\r\n }\r\n </div>\r\n</cui-accordion-item>\r\n", styles: [":host{display:flex;flex-direction:row;gap:0;width:100%}.info{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.accordion{display:flex;flex-direction:column;gap:16px;padding-top:8px;padding-bottom:8px;flex-grow:1;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.season{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start;padding:16px;border:solid 1px var(--cui-base-200);border-radius:8px}.header{display:flex;flex-direction:row;gap:0;justify-content:space-between;align-items:center}.title{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500);text-transform:uppercase}.content{display:flex;flex-direction:column;gap:4px}.container-trash{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:center}.add-button{align-self:flex-start}\n"] }]
183
183
  }], ctorParameters: () => [] });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jb25zdW1hYmxlLWZvcm0vY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jb25zdW1hYmxlLWZvcm0vY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpGLE9BQU8sRUFBZSwwQkFBMEIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNELE9BQU8sRUFBRSxtQkFBbUIsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUNILDJDQUEyQyxFQUczQyxVQUFVLEVBQ2IsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNILGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUF5QjdCLE1BQU0sT0FBTyx1QkFBdUI7YUFRUiwyQkFBc0IsR0FBRyxxQ0FBcUMsQUFBeEMsQ0FBeUM7SUFpRHZGO1FBeERpQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDN0Msb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsK0JBQTBCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDaEUsNkNBQXdDLEdBQUcsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFJN0YsdUJBQWtCLEdBQXlCO1lBQzFEO2dCQUNJLEtBQUssRUFBRSxRQUFRO2dCQUNmLElBQUksRUFBRSxjQUFjO2dCQUNwQixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDOUM7U0FDSixDQUFDO1FBQ2lCLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBDLGtCQUFhLEdBQUcsTUFBTSxDQUF5QixJQUFJLENBQUMsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLE1BQU0sQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUN2QyxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRWhFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBQ2dCLHVCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBRXJDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV6RixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO2lCQUNoQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDN0QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7UUFFZ0IsbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQzlDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyQyxLQUFLLEVBQUUsTUFBTTtZQUNiLE9BQU8sRUFBRSxHQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDakUsQ0FBQyxDQUFDLENBQ04sQ0FBQztRQUVjLGNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDckMsZUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTJCLENBQUM7UUFDdkQsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QixzQkFBaUIsR0FBRyxNQUFNLEVBQTJCLENBQUM7UUFDdEQsc0JBQWlCLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFHakQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVTLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRVMsY0FBYyxDQUFDLElBQWdCO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVTLGtCQUFrQjtRQUN4QixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyx3Q0FBd0M7YUFDeEMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7YUFDN0YsSUFBSSxDQUNELGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDbkMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDMUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3pDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDWCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsQ0FBQyxFQUMvRTtZQUNJLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQ0osQ0FDSixDQUNKO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixNQUFNLENBQ0YsR0FBRyxFQUFFO1lBQ0QsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUVoRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUN6QyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFeEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDVixPQUFPO2dCQUNYLENBQUM7Z0JBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUMzRCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUMvRSxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDOUIsQ0FBQztJQUNOLENBQUM7SUFFTyxTQUFTLENBQUMsVUFBc0IsRUFBRSxJQUFlO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixHQUFHLEtBQUs7WUFDUjtnQkFDSSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSTthQUNQO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFM0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN4QixPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUU7YUFDNUIsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNyQyxHQUFHLENBQ0EsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUF1QixDQUMzRyxDQUFDO1FBRU4sTUFBTSxXQUFXLEdBQUc7WUFDaEIsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFO1lBQ3hCLElBQUksb0RBQWlDO1lBQ3JDLGVBQWUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBMEI7WUFDdEYsTUFBTTtTQUNULENBQUM7UUFDRixNQUFNLGlCQUFpQixHQUFHO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixHQUFHLFdBQVc7U0FDakIsQ0FBQztRQUVGLElBQUksQ0FBQyx3Q0FBd0M7YUFDeEMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7YUFDeEYsSUFBSSxDQUNELGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDbkMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUM1RDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxVQUFVLENBQUMsTUFBNkI7UUFDNUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtnQkFDakQsVUFBVSxDQUFDLFFBQVE7Z0JBQ25CLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUN4QixDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0UsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO2dCQUM1QixPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQzdCLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTztvQkFDcEIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUs7d0JBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO3dCQUMxRixDQUFDLGtDQUFtQixDQUFDLEVBQzdCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN4QjtnQkFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7b0JBQ3BELFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDckIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7aUJBQ3hCLENBQUM7Z0JBQ0YsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUMxQixNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sS0FBSyxRQUFRO29CQUNqQyxDQUFDLENBQUMsUUFBUTtvQkFDVixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUNyRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDeEI7YUFDSixDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGtCQUFrQixDQUN0QixRQUFvRDtRQUVwRCxPQUFPO1lBQ0gsR0FBRyxRQUFRO1lBQ1gsT0FBTyxFQUFFO2dCQUNMLEdBQUcsUUFBUSxDQUFDLE9BQU87Z0JBQ25CLElBQUksRUFDQSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxRQUFRO29CQUNqQyxDQUFDLENBQUMsSUFBSTtvQkFDTixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUM5RTtTQUNKLENBQUM7SUFDTixDQUFDOytHQTdNUSx1QkFBdUI7bUdBQXZCLHVCQUF1Qixra0JDcEVwQywwckZBK0VBLHM0QkQvQlEsa0JBQWtCLHNMQUNsQixlQUFlLG1PQUNmLG9CQUFvQiwyTEFDcEIsbUJBQW1CLGtGQUNuQixtQkFBbUIsK0JBQ25CLGtCQUFrQixnTUFDbEIsc0JBQXNCLDJHQUN0QixvQkFBb0IsOEJBQ3BCLFlBQVksOEJBQ1osa0JBQWtCLDhCQUNsQixjQUFjLCtCQUNkLDJCQUEyQjs7NEZBU3RCLHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBQ0kscUJBQXFCLFdBQ3RCO3dCQUNMLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3FCQUM5QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGVzdHJveVJlZixcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG91dHB1dCxcbiAgICBzaWduYWwsXG4gICAgdW50cmFja2VkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHR5cGUgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBDb25zdW1wdGlvbiwgQ3VpQ29uc3VtcHRpb25Vbml0c1NlcnZpY2UsIEN1aUVsZW1lbnREaXJlY3RpdmUsIFVuaXRzQW1vdW50IH0gZnJvbSAnQGN1YnktdWkvY2RrJztcblxuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB7IGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVV0aWxpdHlNYXRlcmlhbCB9IGZyb20gJy4uL3Jlc291cmNlcy1ibG9jay9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgQ29uc3VtYWJsZUZvcm1JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgQ29uc3VtYWJsZUZvcm1WYWx1ZXMsIFNlYXNvbkZvcm0gfSBmcm9tICcuL2NvbnN1bWFibGUtZm9ybS5vcHRpb25zJztcbmltcG9ydCB7IFJlc291cmNlQ29udGVudFR5cGUsIFJlc291cmNlUmVxdWVzdFR5cGUgfSBmcm9tICdAY3VieS11aS9hcGknO1xuaW1wb3J0IHsgT3B0aW9uc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvb3B0aW9ucy1idXR0b24vb3B0aW9ucy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgQ3VpUXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZSxcbiAgICBNYXRlcmlhbFR5cGVEZWZvbGlhdGUsXG4gICAgTWF0ZXJpYWxUeXBlU3VwcGx5LFxuICAgIFNlYXNvblR5cGVcbn0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IEN1aUNvbnRleHRNZW51SXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBDdWlBY2NvcmRpb25Nb2R1bGUsXG4gICAgQ3VpQWxlcnRTZXJ2aWNlLFxuICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcbiAgICBDdWlGb3JtRmllbGRNb2R1bGUsXG4gICAgQ3VpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgQ3VpU3ZnTW9kdWxlXG59IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1jb25zdW1hYmxlLWZvcm0nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQWNjb3JkaW9uTW9kdWxlLFxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgICAgICBDdWlFbGVtZW50RGlyZWN0aXZlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xvY29EaXJlY3RpdmUsXG4gICAgICAgIE9wdGlvbnNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIEN1aUlucHV0TnVtYmVyTW9kdWxlLFxuICAgICAgICBDdWlTdmdNb2R1bGUsXG4gICAgICAgIEN1aUZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgICAgIENvbnN1bWFibGVGb3JtSXRlbUNvbXBvbmVudCxcbiAgICAgICAgQ29uc3VtYWJsZUZvcm1JdGVtQ29tcG9uZW50LFxuICAgICAgICBDb25zdW1hYmxlRm9ybUl0ZW1Db21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25zdW1hYmxlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jb25zdW1hYmxlLWZvcm0uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ29uc3VtYWJsZUZvcm1Db21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFsZXJ0U2VydmljZSA9IGluamVjdChDdWlBbGVydFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpQ29uc3VtcHRpb25Vbml0c1NlcnZpY2UgPSBpbmplY3QoQ3VpQ29uc3VtcHRpb25Vbml0c1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZSA9IGluamVjdChDdWlRdWFudHVtR3JvdXBSZXNvdXJjZXNTdHJ1Y3R1cmVBcGlTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENPTlNVTUFCTEVfV0FTX0RFTEVURUQgPSAnQ09OU1VNQUJMRV9XQVNfU1VDQ0VTU0ZVTExZX0RFTEVURUQnO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IENPTlNVTUFCTEVfT1BUSU9OUzogQ3VpQ29udGV4dE1lbnVJdGVtW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiAnRGVsZXRlJyxcbiAgICAgICAgICAgIGljb246ICdjdWlJY29uVHJhc2gnLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1jdWktZGFuZ2VyKScsXG4gICAgICAgICAgICBjb21tYW5kOiB0aGlzLm9uRGVsZXRlQ29uc3VtYWJsZS5iaW5kKHRoaXMpXG4gICAgICAgIH1cbiAgICBdO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWFzb25zID0gT2JqZWN0LnZhbHVlcyhTZWFzb25UeXBlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhbGxTZWFzb25Gb3JtID0gc2lnbmFsPEN1aU51bGxhYmxlPEZvcm1Hcm91cD4+KG51bGwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWFzb25Gb3JtcyA9IHNpZ25hbDxTZWFzb25Gb3JtW10+KFtdKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhdmFpbGFibGVTZWFzb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB1c2VkU2Vhc29ucyA9IHRoaXMuc2Vhc29uRm9ybXMoKS5tYXAoKGZvcm0pID0+IGZvcm0udHlwZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2Vhc29ucy5maWx0ZXIoKHNlYXNvbikgPT4gIXVzZWRTZWFzb25zLmluY2x1ZGVzKHNlYXNvbikpO1xuICAgIH0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb25zdW1wdGlvbk9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnN1bWFibGUgPSB0aGlzLmNvbnN1bWFibGUoKTtcblxuICAgICAgICBpZiAoIShjb25zdW1hYmxlLnNwZWNpZmljYXRpb25zIHx8IGNvbnN1bWFibGUucGFyYW1ldGVycykpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnN1bWFibGVVbml0cyA9IHRoaXMuY3VpQ29uc3VtcHRpb25Vbml0c1NlcnZpY2UuZ2V0Q29uc3VtcHRpb25zVW5pdHMoY29uc3VtYWJsZSk7XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoY29uc3VtYWJsZVVuaXRzKVxuICAgICAgICAgICAgLnJlZHVjZSgoYWNjdW11bGF0b3IsIHZhbHVlKSA9PiBhY2N1bXVsYXRvci5jb25jYXQodmFsdWUpLCBbXSlcbiAgICAgICAgICAgIC5tYXAoKHVuaXQpID0+ICh7IGxhYmVsOiB1bml0LmFiYnJldmlhdGlvbiwgdmFsdWU6IHVuaXQudmFsdWUgfSkpO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IFNFQVNPTl9PUFRJT05TID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVTZWFzb25zKCkubWFwKChzZWFzb24pID0+ICh7XG4gICAgICAgICAgICBsYWJlbDogc2Vhc29uLFxuICAgICAgICAgICAgY29tbWFuZDogKCk6IHZvaWQgPT4gdGhpcy5hZGRTZWFzb24oc2Vhc29uLCB0aGlzLmNyZWF0ZUZvcm0oKSlcbiAgICAgICAgfSkpXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSB1dGlsaXR5SWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnN1bWFibGUgPSBpbnB1dC5yZXF1aXJlZDxSZXNvdXJjZVV0aWxpdHlNYXRlcmlhbD4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVhZG9ubHkgPSBpbnB1dChmYWxzZSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uc3VtYWJsZUNoYW5nZWQgPSBvdXRwdXQ8UmVzb3VyY2VVdGlsaXR5TWF0ZXJpYWw+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnN1bWFibGVEZWxldGVkID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXRGb3JtVmFsdWVzRWZmZWN0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ29uc3VtYWJsZUNoYW5nZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ29uc3VtYWJsZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblJlbW92ZVNlYXNvbih0eXBlOiBTZWFzb25UeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Vhc29uRm9ybXMudXBkYXRlKChmb3JtcykgPT4gZm9ybXMuZmlsdGVyKChmb3JtKSA9PiBmb3JtLnR5cGUgIT09IHR5cGUpKTtcbiAgICAgICAgdGhpcy51cGRhdGVDb25zdW1hYmxlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGVsZXRlQ29uc3VtYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBpZCB9ID0gdGhpcy5jb25zdW1hYmxlKCk7XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLnF1YW50dW1Hcm91cFJlc291cmNlc1N0cnVjdHVyZUFwaVNlcnZpY2VcbiAgICAgICAgICAgIC5kZWxldGVFbGVtZW50SW5TdHJ1Y3R1cmUodGhpcy51dGlsaXR5SWQoKSwgUmVzb3VyY2VDb250ZW50VHlwZS5Db25zdW1hYmxlcy50b0xvd2VyQ2FzZSgpLCBpZClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmNvbnN1bWFibGVEZWxldGVkLmVtaXQoaWQpKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdWlBbGVydFNlcnZpY2Uub3BlbihcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoQ29uc3VtYWJsZUZvcm1Db21wb25lbnQuQ09OU1VNQUJMRV9XQVNfREVMRVRFRCksXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcydcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRGb3JtVmFsdWVzRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Vhc29uRm9ybXMgPSB1bnRyYWNrZWQodGhpcy5zZWFzb25Gb3Jtcyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWFibGUoKS5zdXBwbHk/LmZvckVhY2goKHNlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0V4aXN0ID0gc2Vhc29uRm9ybXMuZmluZCgoZm9ybSkgPT4gZm9ybS50eXBlID09PSBzZWFzb24uc2Vhc29uKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNFeGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRTZWFzb24oc2Vhc29uLnNlYXNvbiwgdGhpcy5jcmVhdGVGb3JtKHNlYXNvbikpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWxsU2Vhc29uRm9ybSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFsbFNlYXNvbkZvcm0uc2V0KHRoaXMuY3JlYXRlRm9ybSh0aGlzLmNvbnN1bWFibGUoKS5zdXBwbHlEZWZvbGlhdGUpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFNlYXNvbihzZWFzb25UeXBlOiBTZWFzb25UeXBlLCBmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFzb25Gb3Jtcy51cGRhdGUoKGZvcm1zKSA9PiBbXG4gICAgICAgICAgICAuLi5mb3JtcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBzZWFzb25UeXBlLFxuICAgICAgICAgICAgICAgIGZvcm1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb25zdW1hYmxlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbGxTZWFzb25Gb3JtID0gdGhpcy5hbGxTZWFzb25Gb3JtKCk7XG5cbiAgICAgICAgaWYgKCFhbGxTZWFzb25Gb3JtPy52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3VwcGx5ID0gdGhpcy5zZWFzb25Gb3JtcygpXG4gICAgICAgICAgICAuZmlsdGVyKChzZWFzb24pID0+IHNlYXNvbi5mb3JtLnZhbGlkKVxuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAoc2Vhc29uKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdE1lYXN1cmVVbml0cyh7IHNlYXNvbjogc2Vhc29uLnR5cGUsIC4uLnNlYXNvbi5mb3JtLmdldFJhd1ZhbHVlKCkgfSkgYXMgTWF0ZXJpYWxUeXBlU3VwcGx5XG4gICAgICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMuY29uc3VtYWJsZSgpLmlkLFxuICAgICAgICAgICAgdHlwZTogUmVzb3VyY2VSZXF1ZXN0VHlwZS5Db25zdW1hYmxlcyxcbiAgICAgICAgICAgIHN1cHBseURlZm9saWF0ZTogdGhpcy5mb3JtYXRNZWFzdXJlVW5pdHMoYWxsU2Vhc29uRm9ybS52YWx1ZSkgYXMgTWF0ZXJpYWxUeXBlRGVmb2xpYXRlLFxuICAgICAgICAgICAgc3VwcGx5XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRDb25zdW1hYmxlID0ge1xuICAgICAgICAgICAgLi4udGhpcy5jb25zdW1hYmxlKCksXG4gICAgICAgICAgICAuLi5yZXF1ZXN0Qm9keVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZVxuICAgICAgICAgICAgLnVwZGF0ZUVsZW1lbnRJblN0cnVjdHVyZSh0aGlzLnV0aWxpdHlJZCgpLCBSZXNvdXJjZUNvbnRlbnRUeXBlLkNvbnN1bWFibGVzLCByZXF1ZXN0Qm9keSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmNvbnN1bWFibGVDaGFuZ2VkLmVtaXQodXBkYXRlZENvbnN1bWFibGUpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybSh2YWx1ZXM/OiBDb25zdW1hYmxlRm9ybVZhbHVlcyk6IEZvcm1Hcm91cCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIHF1YW50aXR5OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wodmFsdWVzPy5xdWFudGl0eSwgW1xuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5taW4oMSksXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXgoOTk5OTkpXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHVuaXQ6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChVbml0c0Ftb3VudFswXS52YWx1ZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgICAgIG1lYXN1cmU6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIG1lYXN1cmU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzPy5tZWFzdXJlPy5tZWFzdXJlID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5jb25zdW1wdGlvbk9wdGlvbnM/LigpWzBdPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5jdWlDb25zdW1wdGlvblVuaXRzU2VydmljZS5nZXRDb25zdW1wdGlvbkJ5VW5pdCh0aGlzLmNvbnN1bXB0aW9uT3B0aW9ucygpWzBdLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQ29uc3VtcHRpb24uTGVuZ3RoKSxcbiAgICAgICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKHZhbHVlcz8ubWVhc3VyZT8udmFsdWUsIFtcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5taW4oMC4wMDEpLFxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heCg5OTk5OSlcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICB1bml0OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWVhc3VyZT8ubWVhc3VyZSA9PT0gJ0FNT1VOVCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ1BJRUNFUydcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKHZhbHVlcz8ubWVhc3VyZT8udW5pdCA/PyB0aGlzLmNvbnN1bXB0aW9uT3B0aW9ucz8uKClbMF0udmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdE1lYXN1cmVVbml0cyhcbiAgICAgICAgbWF0ZXJpYWw6IE1hdGVyaWFsVHlwZURlZm9saWF0ZSB8IE1hdGVyaWFsVHlwZVN1cHBseVxuICAgICk6IE1hdGVyaWFsVHlwZURlZm9saWF0ZSB8IE1hdGVyaWFsVHlwZVN1cHBseSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5tYXRlcmlhbCxcbiAgICAgICAgICAgIG1lYXN1cmU6IHtcbiAgICAgICAgICAgICAgICAuLi5tYXRlcmlhbC5tZWFzdXJlLFxuICAgICAgICAgICAgICAgIHVuaXQ6XG4gICAgICAgICAgICAgICAgICAgIG1hdGVyaWFsLm1lYXN1cmUubWVhc3VyZSA9PT0gJ0FNT1VOVCdcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiAobWF0ZXJpYWw/Lm1lYXN1cmU/LnVuaXQgPz8gdGhpcy5jb25zdW1wdGlvbk9wdGlvbnM/LigpWzBdLnZhbHVlKVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjxjdWktYWNjb3JkaW9uLWl0ZW1cbiAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgIGNsYXNzPVwiYWNjb3JkaW9uXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgIHt7IGNvbnN1bWFibGUoKS5uYW1lIH19XG5cbiAgICAgICAgQGlmICghcmVhZG9ubHkoKSkge1xuICAgICAgICAgICAgPGN1aS1vcHRpb25zLWJ1dHRvbiBbb3B0aW9uc109XCJDT05TVU1BQkxFX09QVElPTlNcIiAvPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAgIGN1aUFjY29yZGlvbkl0ZW1Db250ZW50XG4gICAgICAgIGNsYXNzPVwiY29udGVudFwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgdCgnU0VBU09OX0NPTlNVTVBUSU9OJykgfX08L2Rpdj5cblxuICAgICAgICAgICAgQGlmIChhbGxTZWFzb25Gb3JtKCkgJiYgY29uc3VtcHRpb25PcHRpb25zKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGNjLWNvbnN1bWFibGUtZm9ybS1pdGVtXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgdCgnQUxMX1NFQVNPTicpIH19OlwiXG4gICAgICAgICAgICAgICAgICAgIFtjb25zdW1wdGlvbk9wdGlvbnNdPVwiY29uc3VtcHRpb25PcHRpb25zKClcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJhbGxTZWFzb25Gb3JtKCkhXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5KClcIlxuICAgICAgICAgICAgICAgICAgICAoY29uc3VtYWJsZUNoYW5nZWQpPVwib25Db25zdW1hYmxlQ2hhbmdlZCgpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgQGZvciAoc2Vhc29uIG9mIHNlYXNvbkZvcm1zKCk7IHRyYWNrIHNlYXNvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFzb25cIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChjb25zdW1wdGlvbk9wdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjYy1jb25zdW1hYmxlLWZvcm0taXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgdChzZWFzb24udHlwZSkgfX06XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uc3VtcHRpb25PcHRpb25zXT1cImNvbnN1bXB0aW9uT3B0aW9ucygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJzZWFzb24uZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdW1hYmxlQ2hhbmdlZCk9XCJvbkNvbnN1bWFibGVDaGFuZ2VkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIXJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItdHJhc2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uVHJhc2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SZW1vdmVTZWFzb24oc2Vhc29uLnR5cGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmICghcmVhZG9ubHkoKSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICNzZWFzb25CdXR0b249XCJlbGVtZW50UmVmXCJcbiAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICBjdWlFbGVtZW50XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFhdmFpbGFibGVTZWFzb25zKCkubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZC1idXR0b25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHQoJ0FERF9TRUFTT04nKSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Y3VpLWNvbnRleHQtbWVudVxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJTRUFTT05fT1BUSU9OUygpXCJcbiAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInNlYXNvbkJ1dHRvbi5uYXRpdmVFbGVtZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvY3VpLWFjY29yZGlvbi1pdGVtPlxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jb25zdW1hYmxlLWZvcm0vY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jb25zdW1hYmxlLWZvcm0vY29uc3VtYWJsZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpGLE9BQU8sRUFBZSwwQkFBMEIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNELE9BQU8sRUFBRSxtQkFBbUIsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDckcsT0FBTyxFQUNILDJDQUEyQyxFQUczQyxVQUFVLEVBQ2IsTUFBTSxjQUFjLENBQUM7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QUFrQixnTUFDbEIsc0JBQXNCLDJHQUN0QixvQkFBb0IsOEJBQ3BCLFlBQVksOEJBQ1osa0JBQWtCLDhCQUNsQixjQUFjLCtCQUNkLDJCQUEyQjs7NEZBU3RCLHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBQ0kscUJBQXFCLFdBQ3RCO3dCQUNMLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3FCQUM5QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgY29tcHV0ZWQsXHJcbiAgICBEZXN0cm95UmVmLFxyXG4gICAgZWZmZWN0LFxyXG4gICAgaW5qZWN0LFxyXG4gICAgaW5wdXQsXHJcbiAgICBvdXRwdXQsXHJcbiAgICBzaWduYWwsXHJcbiAgICB1bnRyYWNrZWRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQgdHlwZSB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XHJcbmltcG9ydCB7IENvbnN1bXB0aW9uLCBDdWlDb25zdW1wdGlvblVuaXRzU2VydmljZSwgQ3VpRWxlbWVudERpcmVjdGl2ZSwgVW5pdHNBbW91bnQgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVV0aWxpdHlNYXRlcmlhbCB9IGZyb20gJy4uL3Jlc291cmNlcy1ibG9jay9jb21wb25lbnRzJztcclxuXHJcbmltcG9ydCB7IENvbnN1bWFibGVGb3JtSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB0eXBlIHsgQ29uc3VtYWJsZUZvcm1WYWx1ZXMsIFNlYXNvbkZvcm0gfSBmcm9tICcuL2NvbnN1bWFibGUtZm9ybS5vcHRpb25zJztcclxuaW1wb3J0IHsgUmVzb3VyY2VDb250ZW50VHlwZSwgUmVzb3VyY2VSZXF1ZXN0VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XHJcbmltcG9ydCB7IE9wdGlvbnNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL29wdGlvbnMtYnV0dG9uL29wdGlvbnMtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBDdWlRdWFudHVtR3JvdXBSZXNvdXJjZXNTdHJ1Y3R1cmVBcGlTZXJ2aWNlLFxyXG4gICAgTWF0ZXJpYWxUeXBlRGVmb2xpYXRlLFxyXG4gICAgTWF0ZXJpYWxUeXBlU3VwcGx5LFxyXG4gICAgU2Vhc29uVHlwZVxyXG59IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XHJcbmltcG9ydCB7IEN1aUNvbnRleHRNZW51SXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQ3VpQWNjb3JkaW9uTW9kdWxlLFxyXG4gICAgQ3VpQWxlcnRTZXJ2aWNlLFxyXG4gICAgQ3VpQnV0dG9uTW9kdWxlLFxyXG4gICAgQ3VpQ29udGV4dE1lbnVNb2R1bGUsXHJcbiAgICBDdWlGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBDdWlJbnB1dE51bWJlck1vZHVsZSxcclxuICAgIEN1aUxhYmVsTW9kdWxlLFxyXG4gICAgQ3VpU3ZnTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY3VpLWNvbnN1bWFibGUtZm9ybScsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ3VpQWNjb3JkaW9uTW9kdWxlLFxyXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcclxuICAgICAgICBDdWlFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlLFxyXG4gICAgICAgIE9wdGlvbnNCdXR0b25Db21wb25lbnQsXHJcbiAgICAgICAgQ3VpSW5wdXROdW1iZXJNb2R1bGUsXHJcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxyXG4gICAgICAgIEN1aUZvcm1GaWVsZE1vZHVsZSxcclxuICAgICAgICBDdWlMYWJlbE1vZHVsZSxcclxuICAgICAgICBDb25zdW1hYmxlRm9ybUl0ZW1Db21wb25lbnQsXHJcbiAgICAgICAgQ29uc3VtYWJsZUZvcm1JdGVtQ29tcG9uZW50LFxyXG4gICAgICAgIENvbnN1bWFibGVGb3JtSXRlbUNvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25zdW1hYmxlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2NvbnN1bWFibGUtZm9ybS5jb21wb25lbnQuc2NzcycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnN1bWFibGVGb3JtQ29tcG9uZW50IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXIgPSBpbmplY3QoTm9uTnVsbGFibGVGb3JtQnVpbGRlcik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUFsZXJ0U2VydmljZSA9IGluamVjdChDdWlBbGVydFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlDb25zdW1wdGlvblVuaXRzU2VydmljZSA9IGluamVjdChDdWlDb25zdW1wdGlvblVuaXRzU2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1YW50dW1Hcm91cFJlc291cmNlc1N0cnVjdHVyZUFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpUXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZSk7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ09OU1VNQUJMRV9XQVNfREVMRVRFRCA9ICdDT05TVU1BQkxFX1dBU19TVUNDRVNTRlVMTFlfREVMRVRFRCc7XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IENPTlNVTUFCTEVfT1BUSU9OUzogQ3VpQ29udGV4dE1lbnVJdGVtW10gPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBsYWJlbDogJ0RlbGV0ZScsXHJcbiAgICAgICAgICAgIGljb246ICdjdWlJY29uVHJhc2gnLFxyXG4gICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWN1aS1kYW5nZXIpJyxcclxuICAgICAgICAgICAgY29tbWFuZDogdGhpcy5vbkRlbGV0ZUNvbnN1bWFibGUuYmluZCh0aGlzKVxyXG4gICAgICAgIH1cclxuICAgIF07XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vhc29ucyA9IE9iamVjdC52YWx1ZXMoU2Vhc29uVHlwZSk7XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFsbFNlYXNvbkZvcm0gPSBzaWduYWw8Q3VpTnVsbGFibGU8Rm9ybUdyb3VwPj4obnVsbCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vhc29uRm9ybXMgPSBzaWduYWw8U2Vhc29uRm9ybVtdPihbXSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXZhaWxhYmxlU2Vhc29ucyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgICBjb25zdCB1c2VkU2Vhc29ucyA9IHRoaXMuc2Vhc29uRm9ybXMoKS5tYXAoKGZvcm0pID0+IGZvcm0udHlwZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlYXNvbnMuZmlsdGVyKChzZWFzb24pID0+ICF1c2VkU2Vhc29ucy5pbmNsdWRlcyhzZWFzb24pKTtcclxuICAgIH0pO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnN1bXB0aW9uT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgICBjb25zdCBjb25zdW1hYmxlID0gdGhpcy5jb25zdW1hYmxlKCk7XHJcblxyXG4gICAgICAgIGlmICghKGNvbnN1bWFibGUuc3BlY2lmaWNhdGlvbnMgfHwgY29uc3VtYWJsZS5wYXJhbWV0ZXJzKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjb25zdW1hYmxlVW5pdHMgPSB0aGlzLmN1aUNvbnN1bXB0aW9uVW5pdHNTZXJ2aWNlLmdldENvbnN1bXB0aW9uc1VuaXRzKGNvbnN1bWFibGUpO1xyXG5cclxuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhjb25zdW1hYmxlVW5pdHMpXHJcbiAgICAgICAgICAgIC5yZWR1Y2UoKGFjY3VtdWxhdG9yLCB2YWx1ZSkgPT4gYWNjdW11bGF0b3IuY29uY2F0KHZhbHVlKSwgW10pXHJcbiAgICAgICAgICAgIC5tYXAoKHVuaXQpID0+ICh7IGxhYmVsOiB1bml0LmFiYnJldmlhdGlvbiwgdmFsdWU6IHVuaXQudmFsdWUgfSkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IFNFQVNPTl9PUFRJT05TID0gY29tcHV0ZWQoKCkgPT5cclxuICAgICAgICB0aGlzLmF2YWlsYWJsZVNlYXNvbnMoKS5tYXAoKHNlYXNvbikgPT4gKHtcclxuICAgICAgICAgICAgbGFiZWw6IHNlYXNvbixcclxuICAgICAgICAgICAgY29tbWFuZDogKCk6IHZvaWQgPT4gdGhpcy5hZGRTZWFzb24oc2Vhc29uLCB0aGlzLmNyZWF0ZUZvcm0oKSlcclxuICAgICAgICB9KSlcclxuICAgICk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IHV0aWxpdHlJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcclxuICAgIHB1YmxpYyByZWFkb25seSBjb25zdW1hYmxlID0gaW5wdXQucmVxdWlyZWQ8UmVzb3VyY2VVdGlsaXR5TWF0ZXJpYWw+KCk7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVhZG9ubHkgPSBpbnB1dChmYWxzZSk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnN1bWFibGVDaGFuZ2VkID0gb3V0cHV0PFJlc291cmNlVXRpbGl0eU1hdGVyaWFsPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnN1bWFibGVEZWxldGVkID0gb3V0cHV0PHN0cmluZz4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmluaXRGb3JtVmFsdWVzRWZmZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uQ29uc3VtYWJsZUNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb25zdW1hYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlU2Vhc29uKHR5cGU6IFNlYXNvblR5cGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlYXNvbkZvcm1zLnVwZGF0ZSgoZm9ybXMpID0+IGZvcm1zLmZpbHRlcigoZm9ybSkgPT4gZm9ybS50eXBlICE9PSB0eXBlKSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb25zdW1hYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uRGVsZXRlQ29uc3VtYWJsZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB7IGlkIH0gPSB0aGlzLmNvbnN1bWFibGUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgICAgIHRoaXMucXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZVxyXG4gICAgICAgICAgICAuZGVsZXRlRWxlbWVudEluU3RydWN0dXJlKHRoaXMudXRpbGl0eUlkKCksIFJlc291cmNlQ29udGVudFR5cGUuQ29uc3VtYWJsZXMudG9Mb3dlckNhc2UoKSwgaWQpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXHJcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5jb25zdW1hYmxlRGVsZXRlZC5lbWl0KGlkKSksXHJcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpKSxcclxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VpQWxlcnRTZXJ2aWNlLm9wZW4oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoQ29uc3VtYWJsZUZvcm1Db21wb25lbnQuQ09OU1VNQUJMRV9XQVNfREVMRVRFRCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdEZvcm1WYWx1ZXNFZmZlY3QoKTogdm9pZCB7XHJcbiAgICAgICAgZWZmZWN0KFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzZWFzb25Gb3JtcyA9IHVudHJhY2tlZCh0aGlzLnNlYXNvbkZvcm1zKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWFibGUoKS5zdXBwbHk/LmZvckVhY2goKHNlYXNvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzRXhpc3QgPSBzZWFzb25Gb3Jtcy5maW5kKChmb3JtKSA9PiBmb3JtLnR5cGUgPT09IHNlYXNvbi5zZWFzb24pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNFeGlzdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFNlYXNvbihzZWFzb24uc2Vhc29uLCB0aGlzLmNyZWF0ZUZvcm0oc2Vhc29uKSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hbGxTZWFzb25Gb3JtKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxTZWFzb25Gb3JtLnNldCh0aGlzLmNyZWF0ZUZvcm0odGhpcy5jb25zdW1hYmxlKCkuc3VwcGx5RGVmb2xpYXRlKSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRTZWFzb24oc2Vhc29uVHlwZTogU2Vhc29uVHlwZSwgZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWFzb25Gb3Jtcy51cGRhdGUoKGZvcm1zKSA9PiBbXHJcbiAgICAgICAgICAgIC4uLmZvcm1zLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBzZWFzb25UeXBlLFxyXG4gICAgICAgICAgICAgICAgZm9ybVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVDb25zdW1hYmxlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFsbFNlYXNvbkZvcm0gPSB0aGlzLmFsbFNlYXNvbkZvcm0oKTtcclxuXHJcbiAgICAgICAgaWYgKCFhbGxTZWFzb25Gb3JtPy52YWxpZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzdXBwbHkgPSB0aGlzLnNlYXNvbkZvcm1zKClcclxuICAgICAgICAgICAgLmZpbHRlcigoc2Vhc29uKSA9PiBzZWFzb24uZm9ybS52YWxpZClcclxuICAgICAgICAgICAgLm1hcChcclxuICAgICAgICAgICAgICAgIChzZWFzb24pID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRNZWFzdXJlVW5pdHMoeyBzZWFzb246IHNlYXNvbi50eXBlLCAuLi5zZWFzb24uZm9ybS5nZXRSYXdWYWx1ZSgpIH0pIGFzIE1hdGVyaWFsVHlwZVN1cHBseVxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICBjb25zdCByZXF1ZXN0Qm9keSA9IHtcclxuICAgICAgICAgICAgaWQ6IHRoaXMuY29uc3VtYWJsZSgpLmlkLFxyXG4gICAgICAgICAgICB0eXBlOiBSZXNvdXJjZVJlcXVlc3RUeXBlLkNvbnN1bWFibGVzLFxyXG4gICAgICAgICAgICBzdXBwbHlEZWZvbGlhdGU6IHRoaXMuZm9ybWF0TWVhc3VyZVVuaXRzKGFsbFNlYXNvbkZvcm0udmFsdWUpIGFzIE1hdGVyaWFsVHlwZURlZm9saWF0ZSxcclxuICAgICAgICAgICAgc3VwcGx5XHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCB1cGRhdGVkQ29uc3VtYWJsZSA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5jb25zdW1hYmxlKCksXHJcbiAgICAgICAgICAgIC4uLnJlcXVlc3RCb2R5XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5xdWFudHVtR3JvdXBSZXNvdXJjZXNTdHJ1Y3R1cmVBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgIC51cGRhdGVFbGVtZW50SW5TdHJ1Y3R1cmUodGhpcy51dGlsaXR5SWQoKSwgUmVzb3VyY2VDb250ZW50VHlwZS5Db25zdW1hYmxlcywgcmVxdWVzdEJvZHkpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXHJcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5jb25zdW1hYmxlQ2hhbmdlZC5lbWl0KHVwZGF0ZWRDb25zdW1hYmxlKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtKHZhbHVlcz86IENvbnN1bWFibGVGb3JtVmFsdWVzKTogRm9ybUdyb3VwIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgICAgIHF1YW50aXR5OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wodmFsdWVzPy5xdWFudGl0eSwgW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWluKDEpLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXgoOTk5OTkpXHJcbiAgICAgICAgICAgIF0pLFxyXG4gICAgICAgICAgICB1bml0OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woVW5pdHNBbW91bnRbMF0udmFsdWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgICAgICAgIG1lYXN1cmU6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICAgICAgICAgICAgbWVhc3VyZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlcz8ubWVhc3VyZT8ubWVhc3VyZSA/P1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5jb25zdW1wdGlvbk9wdGlvbnM/LigpWzBdPy52YWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmN1aUNvbnN1bXB0aW9uVW5pdHNTZXJ2aWNlLmdldENvbnN1bXB0aW9uQnlVbml0KHRoaXMuY29uc3VtcHRpb25PcHRpb25zKClbMF0udmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IENvbnN1bXB0aW9uLkxlbmd0aCksXHJcbiAgICAgICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh2YWx1ZXM/Lm1lYXN1cmU/LnZhbHVlLCBbXHJcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1pbigwLjAwMSksXHJcbiAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXgoOTk5OTkpXHJcbiAgICAgICAgICAgICAgICBdKSxcclxuICAgICAgICAgICAgICAgIHVuaXQ6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM/Lm1lYXN1cmU/Lm1lYXN1cmUgPT09ICdBTU9VTlQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ1BJRUNFUydcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAodmFsdWVzPy5tZWFzdXJlPy51bml0ID8/IHRoaXMuY29uc3VtcHRpb25PcHRpb25zPy4oKVswXS52YWx1ZSksXHJcbiAgICAgICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmb3JtYXRNZWFzdXJlVW5pdHMoXHJcbiAgICAgICAgbWF0ZXJpYWw6IE1hdGVyaWFsVHlwZURlZm9saWF0ZSB8IE1hdGVyaWFsVHlwZVN1cHBseVxyXG4gICAgKTogTWF0ZXJpYWxUeXBlRGVmb2xpYXRlIHwgTWF0ZXJpYWxUeXBlU3VwcGx5IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5tYXRlcmlhbCxcclxuICAgICAgICAgICAgbWVhc3VyZToge1xyXG4gICAgICAgICAgICAgICAgLi4ubWF0ZXJpYWwubWVhc3VyZSxcclxuICAgICAgICAgICAgICAgIHVuaXQ6XHJcbiAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWwubWVhc3VyZS5tZWFzdXJlID09PSAnQU1PVU5UJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IG51bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAobWF0ZXJpYWw/Lm1lYXN1cmU/LnVuaXQgPz8gdGhpcy5jb25zdW1wdGlvbk9wdGlvbnM/LigpWzBdLnZhbHVlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iLCI8Y3VpLWFjY29yZGlvbi1pdGVtXHJcbiAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxyXG4gICAgY2xhc3M9XCJhY2NvcmRpb25cIlxyXG4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgICAge3sgY29uc3VtYWJsZSgpLm5hbWUgfX1cclxuXHJcbiAgICAgICAgQGlmICghcmVhZG9ubHkoKSkge1xyXG4gICAgICAgICAgICA8Y3VpLW9wdGlvbnMtYnV0dG9uIFtvcHRpb25zXT1cIkNPTlNVTUFCTEVfT1BUSU9OU1wiIC8+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICAgIGN1aUFjY29yZGlvbkl0ZW1Db250ZW50XHJcbiAgICAgICAgY2xhc3M9XCJjb250ZW50XCJcclxuICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57eyB0KCdTRUFTT05fQ09OU1VNUFRJT04nKSB9fTwvZGl2PlxyXG5cclxuICAgICAgICAgICAgQGlmIChhbGxTZWFzb25Gb3JtKCkgJiYgY29uc3VtcHRpb25PcHRpb25zKCkubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICA8Y2MtY29uc3VtYWJsZS1mb3JtLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IHQoJ0FMTF9TRUFTT04nKSB9fTpcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25zdW1wdGlvbk9wdGlvbnNdPVwiY29uc3VtcHRpb25PcHRpb25zKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImFsbFNlYXNvbkZvcm0oKSFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY29uc3VtYWJsZUNoYW5nZWQpPVwib25Db25zdW1hYmxlQ2hhbmdlZCgpXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgQGZvciAoc2Vhc29uIG9mIHNlYXNvbkZvcm1zKCk7IHRyYWNrIHNlYXNvbikge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY29uc3VtcHRpb25PcHRpb25zKCkubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjYy1jb25zdW1hYmxlLWZvcm0taXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyB0KHNlYXNvbi50eXBlKSB9fTpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnN1bXB0aW9uT3B0aW9uc109XCJjb25zdW1wdGlvbk9wdGlvbnMoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybV09XCJzZWFzb24uZm9ybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3VtYWJsZUNoYW5nZWQpPVwib25Db25zdW1hYmxlQ2hhbmdlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIXJlYWRvbmx5KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10cmFzaFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1aUJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25UcmFzaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVtb3ZlU2Vhc29uKHNlYXNvbi50eXBlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmICghcmVhZG9ubHkoKSkge1xyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAjc2Vhc29uQnV0dG9uPVwiZWxlbWVudFJlZlwiXHJcbiAgICAgICAgICAgICAgICBjdWlCdXR0b25cclxuICAgICAgICAgICAgICAgIGN1aUVsZW1lbnRcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXHJcbiAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvblBsdXNcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFhdmFpbGFibGVTZWFzb25zKCkubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRkLWJ1dHRvblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IHQoJ0FERF9TRUFTT04nKSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGN1aS1jb250ZXh0LW1lbnVcclxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJTRUFTT05fT1BUSU9OUygpXCJcclxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwic2Vhc29uQnV0dG9uLm5hdGl2ZUVsZW1lbnRcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG48L2N1aS1hY2NvcmRpb24taXRlbT5cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtYWJsZS1mb3JtLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY29uc3VtYWJsZS1mb3JtL2NvbnN1bWFibGUtZm9ybS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IE1lYXN1cmVtZW50IH0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IFNlYXNvblR5cGUgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXNvbkZvcm0ge1xuICAgIHJlYWRvbmx5IHR5cGU6IFNlYXNvblR5cGU7XG4gICAgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwPENvbnN1bWFibGVGb3JtR3JvdXA+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN1bWFibGVGb3JtR3JvdXAge1xuICAgIHJlYWRvbmx5IHF1YW50aXR5OiBGb3JtQ29udHJvbDxudW1iZXI+O1xuICAgIHJlYWRvbmx5IHVuaXQ6IEZvcm1Db250cm9sPHN0cmluZz47XG4gICAgcmVhZG9ubHkgbWVhc3VyZTogRm9ybUdyb3VwPENvbnN1bWFibGVNZWFzdXJlRm9ybUdyb3VwPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25zdW1hYmxlTWVhc3VyZUZvcm1Hcm91cCB7XG4gICAgcmVhZG9ubHkgbWVhc3VyZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICByZWFkb25seSB1bml0OiBGb3JtQ29udHJvbDxzdHJpbmc+O1xuICAgIHJlYWRvbmx5IHZhbHVlOiBGb3JtQ29udHJvbDxudW1iZXI+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN1bWFibGVGb3JtVmFsdWVzIHtcbiAgICByZWFkb25seSBxdWFudGl0eTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHVuaXQ6IHN0cmluZztcbiAgICByZWFkb25seSBtZWFzdXJlOiBNZWFzdXJlbWVudDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3VtYWJsZS1mb3JtLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY29uc3VtYWJsZS1mb3JtL2NvbnN1bWFibGUtZm9ybS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB0eXBlIHsgTWVhc3VyZW1lbnQgfSBmcm9tICdAY3VieS11aS9hcGknO1xyXG5pbXBvcnQgeyBTZWFzb25UeXBlIH0gZnJvbSAnQGN1YnktdWkvYXBpJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2Vhc29uRm9ybSB7XHJcbiAgICByZWFkb25seSB0eXBlOiBTZWFzb25UeXBlO1xyXG4gICAgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwPENvbnN1bWFibGVGb3JtR3JvdXA+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnN1bWFibGVGb3JtR3JvdXAge1xyXG4gICAgcmVhZG9ubHkgcXVhbnRpdHk6IEZvcm1Db250cm9sPG51bWJlcj47XHJcbiAgICByZWFkb25seSB1bml0OiBGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG4gICAgcmVhZG9ubHkgbWVhc3VyZTogRm9ybUdyb3VwPENvbnN1bWFibGVNZWFzdXJlRm9ybUdyb3VwPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25zdW1hYmxlTWVhc3VyZUZvcm1Hcm91cCB7XHJcbiAgICByZWFkb25seSBtZWFzdXJlOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xyXG4gICAgcmVhZG9ubHkgdW5pdDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxuICAgIHJlYWRvbmx5IHZhbHVlOiBGb3JtQ29udHJvbDxudW1iZXI+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnN1bWFibGVGb3JtVmFsdWVzIHtcclxuICAgIHJlYWRvbmx5IHF1YW50aXR5OiBudW1iZXI7XHJcbiAgICByZWFkb25seSB1bml0OiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBtZWFzdXJlOiBNZWFzdXJlbWVudDtcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export { ConsumableFormComponent } from './consumable-form.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY29uc3VtYWJsZS1mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29uc3VtYWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbnN1bWFibGUtZm9ybS5jb21wb25lbnQnO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY29uc3VtYWJsZS1mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29uc3VtYWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbnN1bWFibGUtZm9ybS5jb21wb25lbnQnO1xyXG4iXX0=
@@ -127,7 +127,7 @@ export class CuiCriterionInfoComponent {
127
127
  }))));
128
128
  }
129
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCriterionInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCriterionInfoComponent, isStandalone: true, selector: "cui-criterion-info", inputs: { criterion: { classPropertyName: "criterion", publicName: "criterion", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { criterion: "criterionChange", validationChanged: "validationChanged", criterionCreated: "criterionCreated" }, providers: [CuiSelectedCategoryService], viewQueries: [{ propertyName: "element", first: true, predicate: ["scrollContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"wrapper\"\n *transloco=\"let t\"\n>\n <div\n #scrollContent\n class=\"content content_scrollable\"\n >\n <div class=\"category\">\n <cui-form-field>\n <label\n cuiLabel\n [for]=\"categoryId\"\n [isRequired]=\"true\"\n >\n {{ t('SELECT_CATEGORY') }}\n </label>\n <cui-categories\n [buttonId]=\"categoryId\"\n [treeStructType]=\"TYPE\"\n >\n <div class=\"select\">\n <span [style.color]=\"labelColor()\">\n {{ selectTitle() }}\n </span>\n\n <cui-svg icon=\"cuiIconChevronDown\" />\n </div>\n </cui-categories>\n </cui-form-field>\n </div>\n\n @let criterionData = criterion();\n @let editorConfigData = editorConfig();\n\n @if (editorConfigData && criterionData) {\n <cui-criterion-info-form\n [config]=\"editorConfigData\"\n [title]=\"criterionData.storageElement.title\"\n [description]=\"criterionData.storageElement.shortDescription\"\n [framerId]=\"criterionData.storageElement.framerCriterionId\"\n class=\"utility\"\n (isFormValidChanged)=\"onFormValidationChanged($event)\"\n (formChanged)=\"onFormChanged($event, criterionData.id)\"\n />\n }\n </div>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;height:100%}.content{height:calc(100vh - 109px)}.content_scrollable{overflow:auto}.category{padding-top:16px;padding-right:23px;padding-left:23px}.select{padding:7px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;height:36px;border-radius:8px;border:1px solid var(--cui-base-200);color:var(--cui-base-900);background:var(--cui-input)}.utility{--editor-height: none}\n"], dependencies: [{ kind: "ngmodule", type: CuiBadgeModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiCategoriesComponent, selector: "cui-categories", inputs: ["treeStructType", "buttonId", "disabled", "context"] }, { kind: "ngmodule", type: CuiDialogModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: i1.CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiCriterionInfoFormComponent, selector: "cui-criterion-info-form", inputs: ["title", "description", "framerId", "config"], outputs: ["formChanged", "isFormValidChanged"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: i2.CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCriterionInfoComponent, isStandalone: true, selector: "cui-criterion-info", inputs: { criterion: { classPropertyName: "criterion", publicName: "criterion", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { criterion: "criterionChange", validationChanged: "validationChanged", criterionCreated: "criterionCreated" }, providers: [CuiSelectedCategoryService], viewQueries: [{ propertyName: "element", first: true, predicate: ["scrollContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n class=\"wrapper\"\r\n *transloco=\"let t\"\r\n>\r\n <div\r\n #scrollContent\r\n class=\"content content_scrollable\"\r\n >\r\n <div class=\"category\">\r\n <cui-form-field>\r\n <label\r\n cuiLabel\r\n [for]=\"categoryId\"\r\n [isRequired]=\"true\"\r\n >\r\n {{ t('SELECT_CATEGORY') }}\r\n </label>\r\n <cui-categories\r\n [buttonId]=\"categoryId\"\r\n [treeStructType]=\"TYPE\"\r\n >\r\n <div class=\"select\">\r\n <span [style.color]=\"labelColor()\">\r\n {{ selectTitle() }}\r\n </span>\r\n\r\n <cui-svg icon=\"cuiIconChevronDown\" />\r\n </div>\r\n </cui-categories>\r\n </cui-form-field>\r\n </div>\r\n\r\n @let criterionData = criterion();\r\n @let editorConfigData = editorConfig();\r\n\r\n @if (editorConfigData && criterionData) {\r\n <cui-criterion-info-form\r\n [config]=\"editorConfigData\"\r\n [title]=\"criterionData.storageElement.title\"\r\n [description]=\"criterionData.storageElement.shortDescription\"\r\n [framerId]=\"criterionData.storageElement.framerCriterionId\"\r\n class=\"utility\"\r\n (isFormValidChanged)=\"onFormValidationChanged($event)\"\r\n (formChanged)=\"onFormChanged($event, criterionData.id)\"\r\n />\r\n }\r\n </div>\r\n</div>\r\n", styles: [".wrapper{display:flex;flex-direction:column;height:100%}.content{height:calc(100vh - 109px)}.content_scrollable{overflow:auto}.category{padding-top:16px;padding-right:23px;padding-left:23px}.select{padding:7px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;height:36px;border-radius:8px;border:1px solid var(--cui-base-200);color:var(--cui-base-900);background:var(--cui-input)}.utility{--editor-height: none}\n"], dependencies: [{ kind: "ngmodule", type: CuiBadgeModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiCategoriesComponent, selector: "cui-categories", inputs: ["treeStructType", "buttonId", "disabled", "context"] }, { kind: "ngmodule", type: CuiDialogModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: i1.CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiCriterionInfoFormComponent, selector: "cui-criterion-info-form", inputs: ["title", "description", "framerId", "config"], outputs: ["formChanged", "isFormValidChanged"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: i2.CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i3.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
131
131
  }
132
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCriterionInfoComponent, decorators: [{
133
133
  type: Component,
@@ -141,6 +141,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
141
141
  CuiLabelModule,
142
142
  CuiSvgModule,
143
143
  TranslocoModule
144
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiSelectedCategoryService], template: "<div\n class=\"wrapper\"\n *transloco=\"let t\"\n>\n <div\n #scrollContent\n class=\"content content_scrollable\"\n >\n <div class=\"category\">\n <cui-form-field>\n <label\n cuiLabel\n [for]=\"categoryId\"\n [isRequired]=\"true\"\n >\n {{ t('SELECT_CATEGORY') }}\n </label>\n <cui-categories\n [buttonId]=\"categoryId\"\n [treeStructType]=\"TYPE\"\n >\n <div class=\"select\">\n <span [style.color]=\"labelColor()\">\n {{ selectTitle() }}\n </span>\n\n <cui-svg icon=\"cuiIconChevronDown\" />\n </div>\n </cui-categories>\n </cui-form-field>\n </div>\n\n @let criterionData = criterion();\n @let editorConfigData = editorConfig();\n\n @if (editorConfigData && criterionData) {\n <cui-criterion-info-form\n [config]=\"editorConfigData\"\n [title]=\"criterionData.storageElement.title\"\n [description]=\"criterionData.storageElement.shortDescription\"\n [framerId]=\"criterionData.storageElement.framerCriterionId\"\n class=\"utility\"\n (isFormValidChanged)=\"onFormValidationChanged($event)\"\n (formChanged)=\"onFormChanged($event, criterionData.id)\"\n />\n }\n </div>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;height:100%}.content{height:calc(100vh - 109px)}.content_scrollable{overflow:auto}.category{padding-top:16px;padding-right:23px;padding-left:23px}.select{padding:7px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;height:36px;border-radius:8px;border:1px solid var(--cui-base-200);color:var(--cui-base-900);background:var(--cui-input)}.utility{--editor-height: none}\n"] }]
144
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiSelectedCategoryService], template: "<div\r\n class=\"wrapper\"\r\n *transloco=\"let t\"\r\n>\r\n <div\r\n #scrollContent\r\n class=\"content content_scrollable\"\r\n >\r\n <div class=\"category\">\r\n <cui-form-field>\r\n <label\r\n cuiLabel\r\n [for]=\"categoryId\"\r\n [isRequired]=\"true\"\r\n >\r\n {{ t('SELECT_CATEGORY') }}\r\n </label>\r\n <cui-categories\r\n [buttonId]=\"categoryId\"\r\n [treeStructType]=\"TYPE\"\r\n >\r\n <div class=\"select\">\r\n <span [style.color]=\"labelColor()\">\r\n {{ selectTitle() }}\r\n </span>\r\n\r\n <cui-svg icon=\"cuiIconChevronDown\" />\r\n </div>\r\n </cui-categories>\r\n </cui-form-field>\r\n </div>\r\n\r\n @let criterionData = criterion();\r\n @let editorConfigData = editorConfig();\r\n\r\n @if (editorConfigData && criterionData) {\r\n <cui-criterion-info-form\r\n [config]=\"editorConfigData\"\r\n [title]=\"criterionData.storageElement.title\"\r\n [description]=\"criterionData.storageElement.shortDescription\"\r\n [framerId]=\"criterionData.storageElement.framerCriterionId\"\r\n class=\"utility\"\r\n (isFormValidChanged)=\"onFormValidationChanged($event)\"\r\n (formChanged)=\"onFormChanged($event, criterionData.id)\"\r\n />\r\n }\r\n </div>\r\n</div>\r\n", styles: [".wrapper{display:flex;flex-direction:column;height:100%}.content{height:calc(100vh - 109px)}.content_scrollable{overflow:auto}.category{padding-top:16px;padding-right:23px;padding-left:23px}.select{padding:7px 13px;font-weight:400;font-size:14px;line-height:20px;display:flex;justify-content:space-between;height:36px;border-radius:8px;border:1px solid var(--cui-base-200);color:var(--cui-base-900);background:var(--cui-input)}.utility{--editor-height: none}\n"] }]
145
145
  }], ctorParameters: () => [] });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaW9uLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL2NyaXRlcmlvbi1pbmZvL2NyaXRlcmlvbi1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jcml0ZXJpb24taW5mby9jcml0ZXJpb24taW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGdDQUFnQyxFQUF5RCxNQUFNLGNBQWMsQ0FBQztBQUVsSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQ0gsY0FBYyxFQUNkLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUEwQiw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBRSwyQkFBMkIsRUFBdUIsTUFBTSxr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dEIsZUFBZSw4QkFDZixrQkFBa0Isa0hBQ2xCLDZCQUE2QiwyS0FDN0IsY0FBYyxzSUFDZCxZQUFZLHVLQUNaLGVBQWU7OzRGQVFWLHlCQUF5QjtrQkFuQnJDLFNBQVM7K0JBQ0ksb0JBQW9CLFdBQ3JCO3dCQUNMLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixlQUFlO3FCQUNsQixjQUNXLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBtb2RlbCxcbiAgICBvdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIHVudHJhY2tlZCxcbiAgICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDcml0ZXJpb24sIEN1aVRyZWVTdHJ1Y3ROYXZpZ2F0b3JBcGlTZXJ2aWNlLCBNb3ZpbmdUeXBlLCBTdG9yYWdlT2JqZWN0LCBUcmVlU3RydWN0LCBUcmVlU3RydWN0VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUlkU2VydmljZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIEN1aUJhZGdlTW9kdWxlLFxuICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICBDdWlEaWFsb2dNb2R1bGUsXG4gICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxuICAgIEN1aUxhYmVsTW9kdWxlLFxuICAgIEN1aVN2Z01vZHVsZVxufSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgQ3VpRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yJztcbmltcG9ydCB7IEN1aUNhdGVnb3JpZXNDb21wb25lbnQsIEN1aVNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vY2F0ZWdvcmllcyc7XG5pbXBvcnQgeyBDdWlDcml0ZXJpb25Gb3JtVmFsdWVzLCBDdWlDcml0ZXJpb25JbmZvRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NyaXRlcmlvbi1pbmZvLWZvcm0nO1xuaW1wb3J0IHsgVVRJTElUWV9NT0RBTF9TRVJWSUNFX1RPS0VOLCBVdGlsaXR5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbGl0eS1tb2RhbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNyaXRlcmlvbi1pbmZvJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEN1aUJhZGdlTW9kdWxlLFxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUNhdGVnb3JpZXNDb21wb25lbnQsXG4gICAgICAgIEN1aURpYWxvZ01vZHVsZSxcbiAgICAgICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBDdWlDcml0ZXJpb25JbmZvRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgICAgIEN1aVN2Z01vZHVsZSxcbiAgICAgICAgVHJhbnNsb2NvTW9kdWxlXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jcml0ZXJpb24taW5mby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY3JpdGVyaW9uLWluZm8uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtDdWlTZWxlY3RlZENhdGVnb3J5U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ3JpdGVyaW9uSW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUlkU2VydmljZSA9IGluamVjdChDdWlJZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpQ2F0ZWdvcmllc01vZGFsU2VydmljZSA9IGluamVjdChDdWlTZWxlY3RlZENhdGVnb3J5U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSA9IGluamVjdChDdWlUcmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjcml0ZXJpb25BcGlTZXJ2aWNlID0gaW5qZWN0PFV0aWxpdHlNb2RhbFNlcnZpY2U8Q3JpdGVyaW9uPj4oVVRJTElUWV9NT0RBTF9TRVJWSUNFX1RPS0VOKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBUWVBFID0gVHJlZVN0cnVjdFR5cGUuSW5zdHJ1Y3Rpb247XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHNraXBDYXRlZ29yeUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhdGVnb3J5SWQgPSB0aGlzLmN1aUlkU2VydmljZS5nZW5lcmF0ZSgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhdGVnb3J5ID0gdGhpcy5jdWlDYXRlZ29yaWVzTW9kYWxTZXJ2aWNlLmNhdGVnb3J5O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0Zvcm1WYWxpZCA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByZXZDYXRlZ29yeUlkID0gc2lnbmFsPEN1aU51bGxhYmxlPHN0cmluZz4+KG51bGwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JDb25maWcgPSBzaWduYWw8Q3VpTnVsbGFibGU8Q3VpRWRpdG9yQ29uZmlnPj4obnVsbCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhYmVsQ29sb3IgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmNhdGVnb3J5KCk/LnRpdGxlID8gJ3ZhcigtLWN1aS1iYXNlLTkwMCknIDogJ3ZhcigtLWN1aS1iYXNlLTQwMCknXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0VGl0bGUgPSBjb21wdXRlZChcbiAgICAgICAgKCkgPT4gdGhpcy5jYXRlZ29yeSgpPy50aXRsZSB8fCB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdTRUxFQ1QnKSArICcuLi4nXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pignc2Nyb2xsQ29udGVudCcpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNyaXRlcmlvbiA9IG1vZGVsPFN0b3JhZ2VPYmplY3Q8Q3JpdGVyaW9uPj4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8Q3VpRWRpdG9yQ29uZmlnPigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbGlkYXRpb25DaGFuZ2VkID0gb3V0cHV0PGJvb2xlYW4+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNyaXRlcmlvbkNyZWF0ZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaW5pdENvbmZpZ0VmZmVjdCgpO1xuICAgICAgICB0aGlzLmluaXRDYXRlZ29yeUVmZmVjdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0Q2F0ZWdvcnkoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb3JtQ2hhbmdlZCh2YWx1ZXM6IFBhcnRpYWw8Q3VpQ3JpdGVyaW9uRm9ybVZhbHVlcz4sIGNyaXRlcmlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aW9uczogUmVjb3JkPGtleW9mIEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXMsICh2YWx1ZTogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPHZvaWQ+PiA9IHtcbiAgICAgICAgICAgIHRpdGxlOiAodGl0bGU6IHN0cmluZykgPT4gdGhpcy5jaGFuZ2VUaXRsZSh0aXRsZSwgY3JpdGVyaW9uSWQpLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IChkZXNjcmlwdGlvbjogc3RyaW5nKSA9PiB0aGlzLmNoYW5nZURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uLCBjcml0ZXJpb25JZClcbiAgICAgICAgfTtcblxuICAgICAgICBmb3JrSm9pbihcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlcykubWFwKChrZXkpID0+XG4gICAgICAgICAgICAgICAgYWN0aW9uc1trZXkgYXMga2V5b2YgQ3VpQ3JpdGVyaW9uRm9ybVZhbHVlc10odmFsdWVzW2tleSBhcyBrZXlvZiBDdWlDcml0ZXJpb25Gb3JtVmFsdWVzXSB8fCAnJylcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9ybVZhbGlkYXRpb25DaGFuZ2VkKGlzVmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Zvcm1WYWxpZC5zZXQoaXNWYWxpZCk7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkNoYW5nZWQuZW1pdChpc1ZhbGlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDYXRlZ29yeUVmZmVjdCgpOiB2b2lkIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yeSgpO1xuICAgICAgICAgICAgY29uc3Qgc3RvcmFnZU9iamVjdENyaXRlcmlvbiA9IHVudHJhY2tlZCh0aGlzLmNyaXRlcmlvbik7XG5cbiAgICAgICAgICAgIGlmICghY2F0ZWdvcnkgfHwgdGhpcy5za2lwQ2F0ZWdvcnlDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNraXBDYXRlZ29yeUNoYW5nZSA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc3RvcmFnZU9iamVjdENyaXRlcmlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlQ2F0ZWdvcnkoY2F0ZWdvcnkuaWQsIHN0b3JhZ2VPYmplY3RDcml0ZXJpb24uaWQpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUNyaXRlcmlvbihjYXRlZ29yeS5pZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdENvbmZpZ0VmZmVjdCgpOiB2b2lkIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnQoKT8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmVkaXRvckNvbmZpZy5zZXQoeyAuLi50aGlzLmNvbmZpZygpLCBlbGVtZW50IH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDYXRlZ29yeSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZU9iamVjdElkID0gdGhpcy5jcml0ZXJpb24oKT8uaWQ7XG5cbiAgICAgICAgaWYgKCFzdG9yYWdlT2JqZWN0SWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHJlZVN0cnVjdE5hdmlnYXRvckFwaVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDYXRlZ29yeShzdG9yYWdlT2JqZWN0SWQsIFRyZWVTdHJ1Y3RUeXBlLkNyaXRlcmlhLCB0aGlzLmNvbmZpZygpLnJlcXVlc3RPcHRpb25zKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjYXRlZ29yeSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2tpcENhdGVnb3J5Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnByZXZDYXRlZ29yeUlkLnNldChjYXRlZ29yeS5pZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jdWlDYXRlZ29yaWVzTW9kYWxTZXJ2aWNlLnNldEN1cnJlbnRDYXRlZ29yeShjYXRlZ29yeSBhcyBUcmVlU3RydWN0KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlQ2F0ZWdvcnkoY2F0ZWdvcnlJZDogc3RyaW5nLCB0YXJnZXRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZDYXRlZ29yeUlkID0gdW50cmFja2VkKHRoaXMucHJldkNhdGVnb3J5SWQpO1xuXG4gICAgICAgIGlmICghcHJldkNhdGVnb3J5SWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudHJlZVN0cnVjdE5hdmlnYXRvckFwaVNlcnZpY2VcbiAgICAgICAgICAgIC5tb3ZlRWxlbWVudCh7XG4gICAgICAgICAgICAgICAgdHlwZTogTW92aW5nVHlwZS5UQVJHRVRfVFJFRV9TVFJVQ1QsXG4gICAgICAgICAgICAgICAgbW92YWJsZUl0ZW1JZDogdGFyZ2V0SWQsXG4gICAgICAgICAgICAgICAgdHJlZVN0cnVjdFRhcmdldEl0ZW1JZDogY2F0ZWdvcnlJZCxcbiAgICAgICAgICAgICAgICB0cmVlU3RydWN0TW92YWJsZUl0ZW1JZDogcHJldkNhdGVnb3J5SWRcbiAgICAgICAgICAgIH0sIHRoaXMuY29uZmlnKCkucmVxdWVzdE9wdGlvbnMpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJldkNhdGVnb3J5SWQuc2V0KGNhdGVnb3J5SWQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNyaXRlcmlvbihjYXRlZ29yeUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcml0ZXJpb25DcmVhdGVkLmVtaXQoY2F0ZWdvcnlJZCk7XG4gICAgICAgIHRoaXMucHJldkNhdGVnb3J5SWQuc2V0KGNhdGVnb3J5SWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlVGl0bGUodmFsdWU6IHN0cmluZywgY3JpdGVyaW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpb25BcGlTZXJ2aWNlLmNoYW5nZVRpdGxlKGNyaXRlcmlvbklkLCB2YWx1ZSwgdGhpcy5jb25maWcoKS5yZXF1ZXN0T3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jcml0ZXJpb24udXBkYXRlKChwcmV2KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi5wcmV2ISxcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZUVsZW1lbnQ6IHsgLi4ucHJldiEuc3RvcmFnZUVsZW1lbnQsIHRpdGxlOiB2YWx1ZSB9XG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXNjcmlwdGlvbih2YWx1ZTogc3RyaW5nLCBjcml0ZXJpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5jcml0ZXJpb25BcGlTZXJ2aWNlLmNoYW5nZURlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NoYW5nZSBkZXNjcmlwdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNyaXRlcmlvbkFwaVNlcnZpY2UuY2hhbmdlRGVzY3JpcHRpb24oY3JpdGVyaW9uSWQsIHZhbHVlLCB0aGlzLmNvbmZpZygpLnJlcXVlc3RPcHRpb25zKS5waXBlKFxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmNyaXRlcmlvbi51cGRhdGUoKHByZXYpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnByZXYhLFxuICAgICAgICAgICAgICAgICAgICBzdG9yYWdlRWxlbWVudDogeyAuLi5wcmV2IS5zdG9yYWdlRWxlbWVudCwgc2hvcnREZXNjcmlwdGlvbjogdmFsdWUgfVxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cIndyYXBwZXJcIlxuICAgICp0cmFuc2xvY289XCJsZXQgdFwiXG4+XG4gICAgPGRpdlxuICAgICAgICAjc2Nyb2xsQ29udGVudFxuICAgICAgICBjbGFzcz1cImNvbnRlbnQgY29udGVudF9zY3JvbGxhYmxlXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeVwiPlxuICAgICAgICAgICAgPGN1aS1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBjdWlMYWJlbFxuICAgICAgICAgICAgICAgICAgICBbZm9yXT1cImNhdGVnb3J5SWRcIlxuICAgICAgICAgICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1NFTEVDVF9DQVRFR09SWScpIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8Y3VpLWNhdGVnb3JpZXNcbiAgICAgICAgICAgICAgICAgICAgW2J1dHRvbklkXT1cImNhdGVnb3J5SWRcIlxuICAgICAgICAgICAgICAgICAgICBbdHJlZVN0cnVjdFR5cGVdPVwiVFlQRVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwibGFiZWxDb2xvcigpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2VsZWN0VGl0bGUoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvbkNoZXZyb25Eb3duXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9jdWktY2F0ZWdvcmllcz5cbiAgICAgICAgICAgIDwvY3VpLWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBsZXQgY3JpdGVyaW9uRGF0YSA9IGNyaXRlcmlvbigpO1xuICAgICAgICBAbGV0IGVkaXRvckNvbmZpZ0RhdGEgPSBlZGl0b3JDb25maWcoKTtcblxuICAgICAgICBAaWYgKGVkaXRvckNvbmZpZ0RhdGEgJiYgY3JpdGVyaW9uRGF0YSkge1xuICAgICAgICAgICAgPGN1aS1jcml0ZXJpb24taW5mby1mb3JtXG4gICAgICAgICAgICAgICAgW2NvbmZpZ109XCJlZGl0b3JDb25maWdEYXRhXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiY3JpdGVyaW9uRGF0YS5zdG9yYWdlRWxlbWVudC50aXRsZVwiXG4gICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImNyaXRlcmlvbkRhdGEuc3RvcmFnZUVsZW1lbnQuc2hvcnREZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgW2ZyYW1lcklkXT1cImNyaXRlcmlvbkRhdGEuc3RvcmFnZUVsZW1lbnQuZnJhbWVyQ3JpdGVyaW9uSWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidXRpbGl0eVwiXG4gICAgICAgICAgICAgICAgKGlzRm9ybVZhbGlkQ2hhbmdlZCk9XCJvbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoZm9ybUNoYW5nZWQpPVwib25Gb3JtQ2hhbmdlZCgkZXZlbnQsIGNyaXRlcmlvbkRhdGEuaWQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaW9uLWluZm8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL2NyaXRlcmlvbi1pbmZvL2NyaXRlcmlvbi1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jcml0ZXJpb24taW5mby9jcml0ZXJpb24taW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFhLGdDQUFnQyxFQUF5RCxNQUFNLGNBQWMsQ0FBQztBQUVsSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQ0gsY0FBYyxFQUNkLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxZQUFZLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUEwQiw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBRSwyQkFBMkIsRUFBdUIsTUFBTSxr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dEIsZUFBZSw4QkFDZixrQkFBa0Isa0hBQ2xCLDZCQUE2QiwyS0FDN0IsY0FBYyxzSUFDZCxZQUFZLHVLQUNaLGVBQWU7OzRGQVFWLHlCQUF5QjtrQkFuQnJDLFNBQVM7K0JBQ0ksb0JBQW9CLFdBQ3JCO3dCQUNMLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQiw2QkFBNkI7d0JBQzdCLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixlQUFlO3FCQUNsQixjQUNXLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgY29tcHV0ZWQsXHJcbiAgICBEZXN0cm95UmVmLFxyXG4gICAgZWZmZWN0LFxyXG4gICAgaW5qZWN0LFxyXG4gICAgaW5wdXQsXHJcbiAgICBtb2RlbCxcclxuICAgIG91dHB1dCxcclxuICAgIHNpZ25hbCxcclxuICAgIHVudHJhY2tlZCxcclxuICAgIHZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IENyaXRlcmlvbiwgQ3VpVHJlZVN0cnVjdE5hdmlnYXRvckFwaVNlcnZpY2UsIE1vdmluZ1R5cGUsIFN0b3JhZ2VPYmplY3QsIFRyZWVTdHJ1Y3QsIFRyZWVTdHJ1Y3RUeXBlIH0gZnJvbSAnQGN1YnktdWkvYXBpJztcclxuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XHJcbmltcG9ydCB7IEN1aUlkU2VydmljZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XHJcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEN1aUJhZGdlTW9kdWxlLFxyXG4gICAgQ3VpQnV0dG9uTW9kdWxlLFxyXG4gICAgQ3VpRGlhbG9nTW9kdWxlLFxyXG4gICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgQ3VpTGFiZWxNb2R1bGUsXHJcbiAgICBDdWlTdmdNb2R1bGVcclxufSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHR5cGUgeyBDdWlFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3InO1xyXG5pbXBvcnQgeyBDdWlDYXRlZ29yaWVzQ29tcG9uZW50LCBDdWlTZWxlY3RlZENhdGVnb3J5U2VydmljZSB9IGZyb20gJy4uL2NhdGVnb3JpZXMnO1xyXG5pbXBvcnQgeyBDdWlDcml0ZXJpb25Gb3JtVmFsdWVzLCBDdWlDcml0ZXJpb25JbmZvRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NyaXRlcmlvbi1pbmZvLWZvcm0nO1xyXG5pbXBvcnQgeyBVVElMSVRZX01PREFMX1NFUlZJQ0VfVE9LRU4sIFV0aWxpdHlNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi91dGlsaXR5LW1vZGFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjdWktY3JpdGVyaW9uLWluZm8nLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEN1aUJhZGdlTW9kdWxlLFxyXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBDdWlDYXRlZ29yaWVzQ29tcG9uZW50LFxyXG4gICAgICAgIEN1aURpYWxvZ01vZHVsZSxcclxuICAgICAgICBDdWlGb3JtRmllbGRNb2R1bGUsXHJcbiAgICAgICAgQ3VpQ3JpdGVyaW9uSW5mb0Zvcm1Db21wb25lbnQsXHJcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXHJcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zbG9jb01vZHVsZVxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JpdGVyaW9uLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3JpdGVyaW9uLWluZm8uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbQ3VpU2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlDcml0ZXJpb25JbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsb2NvU2VydmljZSA9IGluamVjdChUcmFuc2xvY29TZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpSWRTZXJ2aWNlID0gaW5qZWN0KEN1aUlkU2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUNhdGVnb3JpZXNNb2RhbFNlcnZpY2UgPSBpbmplY3QoQ3VpU2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSA9IGluamVjdChDdWlUcmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyaXRlcmlvbkFwaVNlcnZpY2UgPSBpbmplY3Q8VXRpbGl0eU1vZGFsU2VydmljZTxDcml0ZXJpb24+PihVVElMSVRZX01PREFMX1NFUlZJQ0VfVE9LRU4pO1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBUWVBFID0gVHJlZVN0cnVjdFR5cGUuSW5zdHJ1Y3Rpb247XHJcblxyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgICBwcml2YXRlIHNraXBDYXRlZ29yeUNoYW5nZSA9IGZhbHNlO1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYXRlZ29yeUlkID0gdGhpcy5jdWlJZFNlcnZpY2UuZ2VuZXJhdGUoKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2F0ZWdvcnkgPSB0aGlzLmN1aUNhdGVnb3JpZXNNb2RhbFNlcnZpY2UuY2F0ZWdvcnk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNGb3JtVmFsaWQgPSBzaWduYWwoZmFsc2UpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByZXZDYXRlZ29yeUlkID0gc2lnbmFsPEN1aU51bGxhYmxlPHN0cmluZz4+KG51bGwpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRvckNvbmZpZyA9IHNpZ25hbDxDdWlOdWxsYWJsZTxDdWlFZGl0b3JDb25maWc+PihudWxsKTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBsYWJlbENvbG9yID0gY29tcHV0ZWQoKCkgPT5cclxuICAgICAgICB0aGlzLmNhdGVnb3J5KCk/LnRpdGxlID8gJ3ZhcigtLWN1aS1iYXNlLTkwMCknIDogJ3ZhcigtLWN1aS1iYXNlLTQwMCknXHJcbiAgICApO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdFRpdGxlID0gY29tcHV0ZWQoXHJcbiAgICAgICAgKCkgPT4gdGhpcy5jYXRlZ29yeSgpPy50aXRsZSB8fCB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdTRUxFQ1QnKSArICcuLi4nXHJcbiAgICApO1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+Pignc2Nyb2xsQ29udGVudCcpO1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBjcml0ZXJpb24gPSBtb2RlbDxTdG9yYWdlT2JqZWN0PENyaXRlcmlvbj4+KCk7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8Q3VpRWRpdG9yQ29uZmlnPigpO1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSB2YWxpZGF0aW9uQ2hhbmdlZCA9IG91dHB1dDxib29sZWFuPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNyaXRlcmlvbkNyZWF0ZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdENvbmZpZ0VmZmVjdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdENhdGVnb3J5RWZmZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW5pdENhdGVnb3J5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uRm9ybUNoYW5nZWQodmFsdWVzOiBQYXJ0aWFsPEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXM+LCBjcml0ZXJpb25JZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYWN0aW9uczogUmVjb3JkPGtleW9mIEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXMsICh2YWx1ZTogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPHZvaWQ+PiA9IHtcclxuICAgICAgICAgICAgdGl0bGU6ICh0aXRsZTogc3RyaW5nKSA9PiB0aGlzLmNoYW5nZVRpdGxlKHRpdGxlLCBjcml0ZXJpb25JZCksXHJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAoZGVzY3JpcHRpb246IHN0cmluZykgPT4gdGhpcy5jaGFuZ2VEZXNjcmlwdGlvbihkZXNjcmlwdGlvbiwgY3JpdGVyaW9uSWQpXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgZm9ya0pvaW4oXHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlcykubWFwKChrZXkpID0+XHJcbiAgICAgICAgICAgICAgICBhY3Rpb25zW2tleSBhcyBrZXlvZiBDdWlDcml0ZXJpb25Gb3JtVmFsdWVzXSh2YWx1ZXNba2V5IGFzIGtleW9mIEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXNdIHx8ICcnKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZChpc1ZhbGlkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0Zvcm1WYWxpZC5zZXQoaXNWYWxpZCk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uQ2hhbmdlZC5lbWl0KGlzVmFsaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdENhdGVnb3J5RWZmZWN0KCk6IHZvaWQge1xyXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yeSgpO1xyXG4gICAgICAgICAgICBjb25zdCBzdG9yYWdlT2JqZWN0Q3JpdGVyaW9uID0gdW50cmFja2VkKHRoaXMuY3JpdGVyaW9uKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghY2F0ZWdvcnkgfHwgdGhpcy5za2lwQ2F0ZWdvcnlDaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2tpcENhdGVnb3J5Q2hhbmdlID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoc3RvcmFnZU9iamVjdENyaXRlcmlvbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDYXRlZ29yeShjYXRlZ29yeS5pZCwgc3RvcmFnZU9iamVjdENyaXRlcmlvbi5pZCk7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUNyaXRlcmlvbihjYXRlZ29yeS5pZCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0Q29uZmlnRWZmZWN0KCk6IHZvaWQge1xyXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnQoKT8ubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgICAgICAgIGlmICghZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmVkaXRvckNvbmZpZy5zZXQoeyAuLi50aGlzLmNvbmZpZygpLCBlbGVtZW50IH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdENhdGVnb3J5KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHN0b3JhZ2VPYmplY3RJZCA9IHRoaXMuY3JpdGVyaW9uKCk/LmlkO1xyXG5cclxuICAgICAgICBpZiAoIXN0b3JhZ2VPYmplY3RJZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnRyZWVTdHJ1Y3ROYXZpZ2F0b3JBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRDYXRlZ29yeShzdG9yYWdlT2JqZWN0SWQsIFRyZWVTdHJ1Y3RUeXBlLkNyaXRlcmlhLCB0aGlzLmNvbmZpZygpLnJlcXVlc3RPcHRpb25zKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2F0ZWdvcnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2tpcENhdGVnb3J5Q2hhbmdlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMucHJldkNhdGVnb3J5SWQuc2V0KGNhdGVnb3J5LmlkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VpQ2F0ZWdvcmllc01vZGFsU2VydmljZS5zZXRDdXJyZW50Q2F0ZWdvcnkoY2F0ZWdvcnkgYXMgVHJlZVN0cnVjdCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hhbmdlQ2F0ZWdvcnkoY2F0ZWdvcnlJZDogc3RyaW5nLCB0YXJnZXRJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgcHJldkNhdGVnb3J5SWQgPSB1bnRyYWNrZWQodGhpcy5wcmV2Q2F0ZWdvcnlJZCk7XHJcblxyXG4gICAgICAgIGlmICghcHJldkNhdGVnb3J5SWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyZWVTdHJ1Y3ROYXZpZ2F0b3JBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5tb3ZlRWxlbWVudCh7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBNb3ZpbmdUeXBlLlRBUkdFVF9UUkVFX1NUUlVDVCxcclxuICAgICAgICAgICAgICAgIG1vdmFibGVJdGVtSWQ6IHRhcmdldElkLFxyXG4gICAgICAgICAgICAgICAgdHJlZVN0cnVjdFRhcmdldEl0ZW1JZDogY2F0ZWdvcnlJZCxcclxuICAgICAgICAgICAgICAgIHRyZWVTdHJ1Y3RNb3ZhYmxlSXRlbUlkOiBwcmV2Q2F0ZWdvcnlJZFxyXG4gICAgICAgICAgICB9LCB0aGlzLmNvbmZpZygpLnJlcXVlc3RPcHRpb25zKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJldkNhdGVnb3J5SWQuc2V0KGNhdGVnb3J5SWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZUNyaXRlcmlvbihjYXRlZ29yeUlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNyaXRlcmlvbkNyZWF0ZWQuZW1pdChjYXRlZ29yeUlkKTtcclxuICAgICAgICB0aGlzLnByZXZDYXRlZ29yeUlkLnNldChjYXRlZ29yeUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoYW5nZVRpdGxlKHZhbHVlOiBzdHJpbmcsIGNyaXRlcmlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpb25BcGlTZXJ2aWNlLmNoYW5nZVRpdGxlKGNyaXRlcmlvbklkLCB2YWx1ZSwgdGhpcy5jb25maWcoKS5yZXF1ZXN0T3B0aW9ucykucGlwZShcclxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuY3JpdGVyaW9uLnVwZGF0ZSgocHJldikgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5wcmV2ISxcclxuICAgICAgICAgICAgICAgICAgICBzdG9yYWdlRWxlbWVudDogeyAuLi5wcmV2IS5zdG9yYWdlRWxlbWVudCwgdGl0bGU6IHZhbHVlIH1cclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoYW5nZURlc2NyaXB0aW9uKHZhbHVlOiBzdHJpbmcsIGNyaXRlcmlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoIXRoaXMuY3JpdGVyaW9uQXBpU2VydmljZS5jaGFuZ2VEZXNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NoYW5nZSBkZXNjcmlwdGlvbiBub3QgaW1wbGVtZW50ZWQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmNyaXRlcmlvbkFwaVNlcnZpY2UuY2hhbmdlRGVzY3JpcHRpb24oY3JpdGVyaW9uSWQsIHZhbHVlLCB0aGlzLmNvbmZpZygpLnJlcXVlc3RPcHRpb25zKS5waXBlKFxyXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcml0ZXJpb24udXBkYXRlKChwcmV2KSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnByZXYhLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0b3JhZ2VFbGVtZW50OiB7IC4uLnByZXYhLnN0b3JhZ2VFbGVtZW50LCBzaG9ydERlc2NyaXB0aW9uOiB2YWx1ZSB9XHJcbiAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgY2xhc3M9XCJ3cmFwcGVyXCJcclxuICAgICp0cmFuc2xvY289XCJsZXQgdFwiXHJcbj5cclxuICAgIDxkaXZcclxuICAgICAgICAjc2Nyb2xsQ29udGVudFxyXG4gICAgICAgIGNsYXNzPVwiY29udGVudCBjb250ZW50X3Njcm9sbGFibGVcIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeVwiPlxyXG4gICAgICAgICAgICA8Y3VpLWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBjdWlMYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiY2F0ZWdvcnlJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgdCgnU0VMRUNUX0NBVEVHT1JZJykgfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8Y3VpLWNhdGVnb3JpZXNcclxuICAgICAgICAgICAgICAgICAgICBbYnV0dG9uSWRdPVwiY2F0ZWdvcnlJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RyZWVTdHJ1Y3RUeXBlXT1cIlRZUEVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImxhYmVsQ29sb3IoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2VsZWN0VGl0bGUoKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y3VpLXN2ZyBpY29uPVwiY3VpSWNvbkNoZXZyb25Eb3duXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvY3VpLWNhdGVnb3JpZXM+XHJcbiAgICAgICAgICAgIDwvY3VpLWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIEBsZXQgY3JpdGVyaW9uRGF0YSA9IGNyaXRlcmlvbigpO1xyXG4gICAgICAgIEBsZXQgZWRpdG9yQ29uZmlnRGF0YSA9IGVkaXRvckNvbmZpZygpO1xyXG5cclxuICAgICAgICBAaWYgKGVkaXRvckNvbmZpZ0RhdGEgJiYgY3JpdGVyaW9uRGF0YSkge1xyXG4gICAgICAgICAgICA8Y3VpLWNyaXRlcmlvbi1pbmZvLWZvcm1cclxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiZWRpdG9yQ29uZmlnRGF0YVwiXHJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiY3JpdGVyaW9uRGF0YS5zdG9yYWdlRWxlbWVudC50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiY3JpdGVyaW9uRGF0YS5zdG9yYWdlRWxlbWVudC5zaG9ydERlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIFtmcmFtZXJJZF09XCJjcml0ZXJpb25EYXRhLnN0b3JhZ2VFbGVtZW50LmZyYW1lckNyaXRlcmlvbklkXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidXRpbGl0eVwiXHJcbiAgICAgICAgICAgICAgICAoaXNGb3JtVmFsaWRDaGFuZ2VkKT1cIm9uRm9ybVZhbGlkYXRpb25DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGZvcm1DaGFuZ2VkKT1cIm9uRm9ybUNoYW5nZWQoJGV2ZW50LCBjcml0ZXJpb25EYXRhLmlkKVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export { CuiCriterionInfoComponent } from './criterion-info.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY3JpdGVyaW9uLWluZm8vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDdWlDcml0ZXJpb25JbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jcml0ZXJpb24taW5mby5jb21wb25lbnQnO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY3JpdGVyaW9uLWluZm8vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDdWlDcml0ZXJpb25JbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jcml0ZXJpb24taW5mby5jb21wb25lbnQnO1xyXG4iXX0=
@@ -139,7 +139,7 @@ export class CuiCriterionInfoFormComponent {
139
139
  return !this.isDescriptionEmpty() && !this.form.invalid;
140
140
  }
141
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCriterionInfoFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCriterionInfoFormComponent, isStandalone: true, selector: "cui-criterion-info-form", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: true, transformFunction: null }, framerId: { classPropertyName: "framerId", publicName: "framerId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { formChanged: "formChanged", isFormValidChanged: "isFormValidChanged" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <section class=\"content\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"titleId\"\n >\n {{ t('TITLE') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"titleId\"\n [cuiTextFieldPlaceholder]=\"t('ADD_A_TITLE')\"\n [cuiTextFieldIsError]=\"isTitleError\"\n [formControl]=\"form.controls.title\"\n />\n\n @if (isTitleError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.title\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"descriptionId\"\n >\n {{ t('SHORT_DESCRIPTION') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"descriptionId\"\n cuiTextFieldPlaceholder=\"{{ t('SHORT_DESCRIPTION') }}...\"\n [cuiTextFieldIsError]=\"isDescriptionError\"\n [formControl]=\"form.controls.description\"\n />\n\n @if (isDescriptionError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.description\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n\n <cui-utility-thumbnail\n [context]=\"config().requestOptions\"\n [framerId]=\"framerId()\"\n [(thumbnail)]=\"thumbnail\"\n />\n\n @if (editorId(); as editorId) {\n <cui-editor-block\n [title]=\"form.controls.title.value || title()\"\n [config]=\"config()\"\n [editorId]=\"editorId\"\n [required]=\"true\"\n class=\"editor\"\n (editorEmpty)=\"onEditorEmpty($event)\"\n />\n }\n </section>\n</ng-container>\n", styles: ["::ng-deep cui-dialog:has(.instruction-description-modal){inset:0;margin:auto;transform:none!important}:host{--editor-height: 650px;display:block}:host .editor{--max-editor-height: var(--editor-height)}.content{display:flex;flex-direction:column;gap:16px;padding:16px 24px}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: i1.CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: i2.CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: i3.CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: i4.CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: i5.CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: i6.CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "component", type: CuiUtilityThumbnailComponent, selector: "cui-utility-thumbnail", inputs: ["context", "thumbnail", "framerId"], outputs: ["thumbnailChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCriterionInfoFormComponent, isStandalone: true, selector: "cui-criterion-info-form", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: true, transformFunction: null }, framerId: { classPropertyName: "framerId", publicName: "framerId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { formChanged: "formChanged", isFormValidChanged: "isFormValidChanged" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <section class=\"content\">\r\n <cui-form-field>\r\n <label\r\n cuiLabel\r\n [isRequired]=\"true\"\r\n [for]=\"titleId\"\r\n >\r\n {{ t('TITLE') }}\r\n </label>\r\n\r\n <cui-input-text\r\n [cuiTextFieldId]=\"titleId\"\r\n [cuiTextFieldPlaceholder]=\"t('ADD_A_TITLE')\"\r\n [cuiTextFieldIsError]=\"isTitleError\"\r\n [formControl]=\"form.controls.title\"\r\n />\r\n\r\n @if (isTitleError) {\r\n <cui-general-control-error-hint\r\n [control]=\"form.controls.title\"\r\n [isVisible]=\"true\"\r\n />\r\n }\r\n </cui-form-field>\r\n\r\n <cui-form-field>\r\n <label\r\n cuiLabel\r\n [isRequired]=\"true\"\r\n [for]=\"descriptionId\"\r\n >\r\n {{ t('SHORT_DESCRIPTION') }}\r\n </label>\r\n\r\n <cui-input-text\r\n [cuiTextFieldId]=\"descriptionId\"\r\n cuiTextFieldPlaceholder=\"{{ t('SHORT_DESCRIPTION') }}...\"\r\n [cuiTextFieldIsError]=\"isDescriptionError\"\r\n [formControl]=\"form.controls.description\"\r\n />\r\n\r\n @if (isDescriptionError) {\r\n <cui-general-control-error-hint\r\n [control]=\"form.controls.description\"\r\n [isVisible]=\"true\"\r\n />\r\n }\r\n </cui-form-field>\r\n\r\n\r\n <cui-utility-thumbnail\r\n [context]=\"config().requestOptions\"\r\n [framerId]=\"framerId()\"\r\n [(thumbnail)]=\"thumbnail\"\r\n />\r\n\r\n @if (editorId(); as editorId) {\r\n <cui-editor-block\r\n [title]=\"form.controls.title.value || title()\"\r\n [config]=\"config()\"\r\n [editorId]=\"editorId\"\r\n [required]=\"true\"\r\n class=\"editor\"\r\n (editorEmpty)=\"onEditorEmpty($event)\"\r\n />\r\n }\r\n </section>\r\n</ng-container>\r\n", styles: ["::ng-deep cui-dialog:has(.instruction-description-modal){inset:0;margin:auto;transform:none!important}:host{--editor-height: 650px;display:block}:host .editor{--max-editor-height: var(--editor-height)}.content{display:flex;flex-direction:column;gap:16px;padding:16px 24px}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: i1.CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: i2.CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: i3.CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: i4.CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: i5.CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: i6.CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "component", type: CuiUtilityThumbnailComponent, selector: "cui-utility-thumbnail", inputs: ["context", "thumbnail", "framerId"], outputs: ["thumbnailChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
143
143
  }
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCriterionInfoFormComponent, decorators: [{
145
145
  type: Component,
@@ -155,6 +155,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
155
155
  CuiUtilityThumbnailComponent,
156
156
  ReactiveFormsModule,
157
157
  TranslocoDirective
158
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\n <section class=\"content\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"titleId\"\n >\n {{ t('TITLE') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"titleId\"\n [cuiTextFieldPlaceholder]=\"t('ADD_A_TITLE')\"\n [cuiTextFieldIsError]=\"isTitleError\"\n [formControl]=\"form.controls.title\"\n />\n\n @if (isTitleError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.title\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"descriptionId\"\n >\n {{ t('SHORT_DESCRIPTION') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"descriptionId\"\n cuiTextFieldPlaceholder=\"{{ t('SHORT_DESCRIPTION') }}...\"\n [cuiTextFieldIsError]=\"isDescriptionError\"\n [formControl]=\"form.controls.description\"\n />\n\n @if (isDescriptionError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.description\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n\n <cui-utility-thumbnail\n [context]=\"config().requestOptions\"\n [framerId]=\"framerId()\"\n [(thumbnail)]=\"thumbnail\"\n />\n\n @if (editorId(); as editorId) {\n <cui-editor-block\n [title]=\"form.controls.title.value || title()\"\n [config]=\"config()\"\n [editorId]=\"editorId\"\n [required]=\"true\"\n class=\"editor\"\n (editorEmpty)=\"onEditorEmpty($event)\"\n />\n }\n </section>\n</ng-container>\n", styles: ["::ng-deep cui-dialog:has(.instruction-description-modal){inset:0;margin:auto;transform:none!important}:host{--editor-height: 650px;display:block}:host .editor{--max-editor-height: var(--editor-height)}.content{display:flex;flex-direction:column;gap:16px;padding:16px 24px}\n"] }]
158
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\r\n <section class=\"content\">\r\n <cui-form-field>\r\n <label\r\n cuiLabel\r\n [isRequired]=\"true\"\r\n [for]=\"titleId\"\r\n >\r\n {{ t('TITLE') }}\r\n </label>\r\n\r\n <cui-input-text\r\n [cuiTextFieldId]=\"titleId\"\r\n [cuiTextFieldPlaceholder]=\"t('ADD_A_TITLE')\"\r\n [cuiTextFieldIsError]=\"isTitleError\"\r\n [formControl]=\"form.controls.title\"\r\n />\r\n\r\n @if (isTitleError) {\r\n <cui-general-control-error-hint\r\n [control]=\"form.controls.title\"\r\n [isVisible]=\"true\"\r\n />\r\n }\r\n </cui-form-field>\r\n\r\n <cui-form-field>\r\n <label\r\n cuiLabel\r\n [isRequired]=\"true\"\r\n [for]=\"descriptionId\"\r\n >\r\n {{ t('SHORT_DESCRIPTION') }}\r\n </label>\r\n\r\n <cui-input-text\r\n [cuiTextFieldId]=\"descriptionId\"\r\n cuiTextFieldPlaceholder=\"{{ t('SHORT_DESCRIPTION') }}...\"\r\n [cuiTextFieldIsError]=\"isDescriptionError\"\r\n [formControl]=\"form.controls.description\"\r\n />\r\n\r\n @if (isDescriptionError) {\r\n <cui-general-control-error-hint\r\n [control]=\"form.controls.description\"\r\n [isVisible]=\"true\"\r\n />\r\n }\r\n </cui-form-field>\r\n\r\n\r\n <cui-utility-thumbnail\r\n [context]=\"config().requestOptions\"\r\n [framerId]=\"framerId()\"\r\n [(thumbnail)]=\"thumbnail\"\r\n />\r\n\r\n @if (editorId(); as editorId) {\r\n <cui-editor-block\r\n [title]=\"form.controls.title.value || title()\"\r\n [config]=\"config()\"\r\n [editorId]=\"editorId\"\r\n [required]=\"true\"\r\n class=\"editor\"\r\n (editorEmpty)=\"onEditorEmpty($event)\"\r\n />\r\n }\r\n </section>\r\n</ng-container>\r\n", styles: ["::ng-deep cui-dialog:has(.instruction-description-modal){inset:0;margin:auto;transform:none!important}:host{--editor-height: 650px;display:block}:host .editor{--max-editor-height: var(--editor-height)}.content{display:flex;flex-direction:column;gap:16px;padding:16px 24px}\n"] }]
159
159
  }], ctorParameters: () => [] });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaW9uLWluZm8tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY3JpdGVyaW9uLWluZm8tZm9ybS9jcml0ZXJpb24taW5mby1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jcml0ZXJpb24taW5mby1mb3JtL2NyaXRlcmlvbi1pbmZvLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxjQUFjLENBQUM7QUFFdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsRSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGNBQWMsRUFDZCxjQUFjLEVBQ2pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxF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ZW50LCBEZXN0cm95UmVmLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBwYWlyd2lzZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlRnJhZ21lbnQgfSBmcm9tICdAY3VieS11aS9hcGknO1xuaW1wb3J0IHsgQ3VpRnJhbWVBcGlTZXJ2aWNlLCBDdWlSZXNvdXJjZUFwaVNlcnZpY2UsIEZyYWdtZW50VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUlkU2VydmljZSwgdGFrZUNhcHR1cmVGcm9tVmlkZW8gfSBmcm9tICdAY3VieS11aS9jZGsnO1xuXG5pbXBvcnQge1xuICAgIEN1aUFjY29yZGlvbk1vZHVsZSxcbiAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxuICAgIEN1aUhpbnRNb2R1bGUsXG4gICAgQ3VpSW5wdXRNb2R1bGUsXG4gICAgQ3VpTGFiZWxNb2R1bGVcbn0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEN1aUdlbmVyYWxDb250cm9sRXJyb3JIaW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VuZXJhbC1jb250cm9sLWVycm9yLWhpbnQnO1xuaW1wb3J0IHR5cGUgeyBDdWlFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3InO1xuaW1wb3J0IHsgQ3VpRWRpdG9yQmxvY2tDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3InO1xuaW1wb3J0IHsgQ3VpVXRpbGl0eVRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4uL3V0aWxpdHktdGh1bWJuYWlsJztcblxuaW1wb3J0IHR5cGUgeyBDdWlDcml0ZXJpb25Gb3JtR3JvdXAsIEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXMgfSBmcm9tICcuL2NyaXRlcmlvbi1pbmZvLWZvcm0ub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNyaXRlcmlvbi1pbmZvLWZvcm0nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQWNjb3JkaW9uTW9kdWxlLFxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUVkaXRvckJsb2NrQ29tcG9uZW50LFxuICAgICAgICBDdWlGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIEN1aUdlbmVyYWxDb250cm9sRXJyb3JIaW50Q29tcG9uZW50LFxuICAgICAgICBDdWlIaW50TW9kdWxlLFxuICAgICAgICBDdWlJbnB1dE1vZHVsZSxcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgICAgIEN1aVV0aWxpdHlUaHVtYm5haWxDb21wb25lbnQsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JpdGVyaW9uLWluZm8tZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NyaXRlcmlvbi1pbmZvLWZvcm0uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNyaXRlcmlvbkluZm9Gb3JtQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZyYW1lQXBpU2VydmljZSA9IGluamVjdChDdWlGcmFtZUFwaVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VBcGlTZXJ2aWNlID0gaW5qZWN0KEN1aVJlc291cmNlQXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlJZFNlcnZpY2UgPSBpbmplY3QoQ3VpSWRTZXJ2aWNlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBDT05UUk9MX0RFTEFZID0gNTAwO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRpdGxlSWQgPSB0aGlzLmN1aUlkU2VydmljZS5nZW5lcmF0ZSgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXNjcmlwdGlvbklkID0gdGhpcy5jdWlJZFNlcnZpY2UuZ2VuZXJhdGUoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXA8Q3VpQ3JpdGVyaW9uRm9ybUdyb3VwPih7XG4gICAgICAgIHRpdGxlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woJycsIGN1aUNyZWF0ZURlZmF1bHRWYWxpZGF0b3JzKHsgYXN5bmNEZWxheTogdGhpcy5DT05UUk9MX0RFTEFZIH0pKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCgnJywgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMoeyBhc3luY0RlbGF5OiB0aGlzLkNPTlRST0xfREVMQVkgfSkpXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgaGVhZGluZzogQ3VpTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEZXNjcmlwdGlvbkVtcHR5ID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdG9ySWQgPSBzaWduYWw8Q3VpTnVsbGFibGU8c3RyaW5nPj4obnVsbCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRodW1ibmFpbCA9IHNpZ25hbDxDdWlOdWxsYWJsZTxSZXNvdXJjZUZyYWdtZW50Pj4obnVsbCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIHB1YmxpYyByZWFkb25seSBmcmFtZXJJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8Q3VpRWRpdG9yQ29uZmlnPigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm1DaGFuZ2VkID0gb3V0cHV0PFBhcnRpYWw8Q3VpQ3JpdGVyaW9uRm9ybVZhbHVlcz4+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGlzRm9ybVZhbGlkQ2hhbmdlZCA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gICAgcHJvdGVjdGVkIGdldCBjb250cm9scygpOiBDdWlDcml0ZXJpb25Gb3JtR3JvdXAge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNUaXRsZUVycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9scy50aXRsZS5pbnZhbGlkICYmIHRoaXMuY29udHJvbHMudGl0bGUuZGlydHk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc0Rlc2NyaXB0aW9uRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmludmFsaWQgJiYgdGhpcy5jb250cm9scy5kZXNjcmlwdGlvbi5kaXJ0eTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbml0VXRpbGl0eUVmZmVjdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkVkaXRvckVtcHR5KGlzRW1wdHk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Rlc2NyaXB0aW9uRW1wdHkuc2V0KGlzRW1wdHkpO1xuICAgICAgICB0aGlzLmlzRm9ybVZhbGlkQ2hhbmdlZC5lbWl0KHRoaXMuY2hlY2tGb3JtVmFsaWRhdGlvbigpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRVdGlsaXR5RWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlZmZlY3RSZWYgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlKCk7XG5cbiAgICAgICAgICAgIGlmICghdGl0bGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaW5pdEZvcm1TdWJzY3JpcHRpb25zKCk7XG4gICAgICAgICAgICB0aGlzLmluaXRGcmFtZUZyYWdtZW50cygpO1xuICAgICAgICAgICAgZWZmZWN0UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Rm9ybVN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7IHRpdGxlOiB0aGlzLnRpdGxlKCksIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uKCkgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgICAgIHRoaXMuZm9ybS5zdGF0dXNDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95KSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5pc0Zvcm1WYWxpZENoYW5nZWQuZW1pdCh0aGlzLmNoZWNrRm9ybVZhbGlkYXRpb24oKSkpO1xuXG4gICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3kpLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLmZvcm0udmFsdWUpLFxuICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuQ09OVFJPTF9ERUxBWSksXG4gICAgICAgICAgICAgICAgbWFwKChbcHJldiwgY3VycmVudF0pID0+IHRoaXMuY29tcGFyZUZvcm1WYWx1ZXMoW3ByZXYsIGN1cnJlbnRdKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1DaGFuZ2VkLmVtaXQodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RnJhbWVGcmFnbWVudHMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZyYW1lSWQgPSB0aGlzLmZyYW1lcklkKCk7XG5cbiAgICAgICAgaWYgKCFmcmFtZUlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZyYW1lQXBpU2VydmljZS5nZXRGcmFtZShmcmFtZUlkLCB0aGlzLmNvbmZpZygpLnJlcXVlc3RPcHRpb25zKS5zdWJzY3JpYmUoKGZyYW1lKSA9PiB7XG4gICAgICAgICAgICBmcmFtZS5mcmFnbWVudHMuZm9yRWFjaCgoZnJhZ21lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZnJhZ21lbnQudHlwZSA9PT0gRnJhZ21lbnRUeXBlLmpUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9ySWQuc2V0KGZyYWdtZW50Py5pZCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGZyYWdtZW50LnR5cGUgPT09IEZyYWdtZW50VHlwZS5yZXNvdXJjZUZpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZXNvdXJjZUZpbGUoZnJhZ21lbnQgYXMgUmVzb3VyY2VGcmFnbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcGFyZUZvcm1WYWx1ZXMoW1xuICAgICAgICBwcmV2R3JvdXAsXG4gICAgICAgIGN1cnJlbnRHcnVvcFxuICAgIF06IFBhcnRpYWw8Q3VpQ3JpdGVyaW9uRm9ybVZhbHVlcz5bXSk6IFBhcnRpYWw8Q3VpQ3JpdGVyaW9uRm9ybVZhbHVlcz4ge1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY3VycmVudEdydW9wKSBhcyAoa2V5b2YgQ3VpQ3JpdGVyaW9uRm9ybVZhbHVlcylbXTtcbiAgICAgICAgY29uc3QgY2hhbmdlZEZpZWxkczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICAgICAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJldiA9IHByZXZHcm91cFtrZXldO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IGN1cnJlbnRHcnVvcFtrZXldO1xuXG4gICAgICAgICAgICBpZiAocHJldiA9PT0gY3VycmVudCB8fCB0aGlzLmNvbnRyb2xzW2tleV0uaW52YWxpZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2hhbmdlZEZpZWxkc1trZXldID0gY3VycmVudDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGNoYW5nZWRGaWVsZHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRSZXNvdXJjZUZpbGUocmVzb3VyY2U6IFJlc291cmNlRnJhZ21lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFyZXNvdXJjZS5maWxlSWQpIHtcbiAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsLnNldCh7IC4uLnJlc291cmNlIH0pO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlc291cmNlQXBpU2VydmljZS5nZXQocmVzb3VyY2UuZmlsZUlkLCB0aGlzLmNvbmZpZygpLnJlcXVlc3RPcHRpb25zKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSksXG4gICAgICAgICAgICAgICAgbWFwKCh1cmwpID0+IFVSTC5jcmVhdGVPYmplY3RVUkwodXJsKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHVybCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsLnNldCh7IC4uLnJlc291cmNlLCByZXNvdXJjZTogdXJsIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF1cmwgfHwgcmVzb3VyY2U/Lm5hbWU/LnNwbGl0KCcuJykucG9wKCkgIT09ICdtcDQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmdldENhcHR1cmVGcm9tVmlkZW8odXJsKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2FwdHVyZUZyb21WaWRlbyh1cmw6IHN0cmluZywgZmlsZT86IEZpbGUpOiB2b2lkIHtcbiAgICAgICAgdGFrZUNhcHR1cmVGcm9tVmlkZW8odXJsKS50aGVuKChjYXB0dXJlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRodW1ibmFpbC51cGRhdGUoKHByZXYpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4ucHJldiEsXG4gICAgICAgICAgICAgICAgbmFtZTogKGZpbGU/Lm5hbWUgPz8gcHJldj8ubmFtZSkhLFxuICAgICAgICAgICAgICAgIHJlc291cmNlOiBjYXB0dXJlXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tGb3JtVmFsaWRhdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzRGVzY3JpcHRpb25FbXB0eSgpICYmICF0aGlzLmZvcm0uaW52YWxpZDtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICA8Y3VpLWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjdWlMYWJlbFxuICAgICAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtmb3JdPVwidGl0bGVJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdCgnVElUTEUnKSB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cblxuICAgICAgICAgICAgPGN1aS1pbnB1dC10ZXh0XG4gICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZElkXT1cInRpdGxlSWRcIlxuICAgICAgICAgICAgICAgIFtjdWlUZXh0RmllbGRQbGFjZWhvbGRlcl09XCJ0KCdBRERfQV9USVRMRScpXCJcbiAgICAgICAgICAgICAgICBbY3VpVGV4dEZpZWxkSXNFcnJvcl09XCJpc1RpdGxlRXJyb3JcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLnRpdGxlXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIEBpZiAoaXNUaXRsZUVycm9yKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludFxuICAgICAgICAgICAgICAgICAgICBbY29udHJvbF09XCJmb3JtLmNvbnRyb2xzLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzVmlzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2N1aS1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxjdWktZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGN1aUxhYmVsXG4gICAgICAgICAgICAgICAgW2lzUmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2Zvcl09XCJkZXNjcmlwdGlvbklkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB0KCdTSE9SVF9ERVNDUklQVElPTicpIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuXG4gICAgICAgICAgICA8Y3VpLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICBbY3VpVGV4dEZpZWxkSWRdPVwiZGVzY3JpcHRpb25JZFwiXG4gICAgICAgICAgICAgICAgY3VpVGV4dEZpZWxkUGxhY2Vob2xkZXI9XCJ7eyB0KCdTSE9SVF9ERVNDUklQVElPTicpIH19Li4uXCJcbiAgICAgICAgICAgICAgICBbY3VpVGV4dEZpZWxkSXNFcnJvcl09XCJpc0Rlc2NyaXB0aW9uRXJyb3JcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIEBpZiAoaXNEZXNjcmlwdGlvbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludFxuICAgICAgICAgICAgICAgICAgICBbY29udHJvbF09XCJmb3JtLmNvbnRyb2xzLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzVmlzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2N1aS1mb3JtLWZpZWxkPlxuXG5cbiAgICAgICAgPGN1aS11dGlsaXR5LXRodW1ibmFpbFxuICAgICAgICAgICAgW2NvbnRleHRdPVwiY29uZmlnKCkucmVxdWVzdE9wdGlvbnNcIlxuICAgICAgICAgICAgW2ZyYW1lcklkXT1cImZyYW1lcklkKClcIlxuICAgICAgICAgICAgWyh0aHVtYm5haWwpXT1cInRodW1ibmFpbFwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgQGlmIChlZGl0b3JJZCgpOyBhcyBlZGl0b3JJZCkge1xuICAgICAgICAgICAgPGN1aS1lZGl0b3ItYmxvY2tcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZm9ybS5jb250cm9scy50aXRsZS52YWx1ZSB8fCB0aXRsZSgpXCJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZygpXCJcbiAgICAgICAgICAgICAgICBbZWRpdG9ySWRdPVwiZWRpdG9ySWRcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVkaXRvclwiXG4gICAgICAgICAgICAgICAgKGVkaXRvckVtcHR5KT1cIm9uRWRpdG9yRW1wdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgPC9zZWN0aW9uPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaW9uLWluZm8tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY3JpdGVyaW9uLWluZm8tZm9ybS9jcml0ZXJpb24taW5mby1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jcml0ZXJpb24taW5mby1mb3JtL2NyaXRlcmlvbi1pbmZvLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxjQUFjLENBQUM7QUFFdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsRSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGNBQWMsRUFDZCxjQUFjLEVBQ2pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxF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ZW50LCBEZXN0cm95UmVmLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZUZyYWdtZW50IH0gZnJvbSAnQGN1YnktdWkvYXBpJztcclxuaW1wb3J0IHsgQ3VpRnJhbWVBcGlTZXJ2aWNlLCBDdWlSZXNvdXJjZUFwaVNlcnZpY2UsIEZyYWdtZW50VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XHJcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgeyBDdWlJZFNlcnZpY2UsIHRha2VDYXB0dXJlRnJvbVZpZGVvIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBDdWlBY2NvcmRpb25Nb2R1bGUsXHJcbiAgICBDdWlCdXR0b25Nb2R1bGUsXHJcbiAgICBDdWlGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBDdWlIaW50TW9kdWxlLFxyXG4gICAgQ3VpSW5wdXRNb2R1bGUsXHJcbiAgICBDdWlMYWJlbE1vZHVsZVxyXG59IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQ3VpR2VuZXJhbENvbnRyb2xFcnJvckhpbnRDb21wb25lbnQgfSBmcm9tICcuLi9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludCc7XHJcbmltcG9ydCB0eXBlIHsgQ3VpRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yJztcclxuaW1wb3J0IHsgQ3VpRWRpdG9yQmxvY2tDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3InO1xyXG5pbXBvcnQgeyBDdWlVdGlsaXR5VGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vdXRpbGl0eS10aHVtYm5haWwnO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBDdWlDcml0ZXJpb25Gb3JtR3JvdXAsIEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXMgfSBmcm9tICcuL2NyaXRlcmlvbi1pbmZvLWZvcm0ub3B0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY3VpLWNyaXRlcmlvbi1pbmZvLWZvcm0nLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEN1aUFjY29yZGlvbk1vZHVsZSxcclxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgQ3VpRWRpdG9yQmxvY2tDb21wb25lbnQsXHJcbiAgICAgICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgICAgIEN1aUdlbmVyYWxDb250cm9sRXJyb3JIaW50Q29tcG9uZW50LFxyXG4gICAgICAgIEN1aUhpbnRNb2R1bGUsXHJcbiAgICAgICAgQ3VpSW5wdXRNb2R1bGUsXHJcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXHJcbiAgICAgICAgQ3VpVXRpbGl0eVRodW1ibmFpbENvbXBvbmVudCxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZVxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JpdGVyaW9uLWluZm8tZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY3JpdGVyaW9uLWluZm8tZm9ybS5jb21wb25lbnQuc2NzcycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VpQ3JpdGVyaW9uSW5mb0Zvcm1Db21wb25lbnQge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZnJhbWVBcGlTZXJ2aWNlID0gaW5qZWN0KEN1aUZyYW1lQXBpU2VydmljZSk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlQXBpU2VydmljZSA9IGluamVjdChDdWlSZXNvdXJjZUFwaVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlJZFNlcnZpY2UgPSBpbmplY3QoQ3VpSWRTZXJ2aWNlKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ09OVFJPTF9ERUxBWSA9IDUwMDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGl0bGVJZCA9IHRoaXMuY3VpSWRTZXJ2aWNlLmdlbmVyYXRlKCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzY3JpcHRpb25JZCA9IHRoaXMuY3VpSWRTZXJ2aWNlLmdlbmVyYXRlKCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXA8Q3VpQ3JpdGVyaW9uRm9ybUdyb3VwPih7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCgnJywgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMoeyBhc3luY0RlbGF5OiB0aGlzLkNPTlRST0xfREVMQVkgfSkpLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woJycsIGN1aUNyZWF0ZURlZmF1bHRWYWxpZGF0b3JzKHsgYXN5bmNEZWxheTogdGhpcy5DT05UUk9MX0RFTEFZIH0pKVxyXG4gICAgfSk7XHJcblxyXG4gICAgcHJvdGVjdGVkIGhlYWRpbmc6IEN1aU51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0Rlc2NyaXB0aW9uRW1wdHkgPSBzaWduYWwoZmFsc2UpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRvcklkID0gc2lnbmFsPEN1aU51bGxhYmxlPHN0cmluZz4+KG51bGwpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRodW1ibmFpbCA9IHNpZ25hbDxDdWlOdWxsYWJsZTxSZXNvdXJjZUZyYWdtZW50Pj4obnVsbCk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGZyYW1lcklkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEN1aUVkaXRvckNvbmZpZz4oKTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybUNoYW5nZWQgPSBvdXRwdXQ8UGFydGlhbDxDdWlDcml0ZXJpb25Gb3JtVmFsdWVzPj4oKTtcclxuICAgIHB1YmxpYyByZWFkb25seSBpc0Zvcm1WYWxpZENoYW5nZWQgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbnRyb2xzKCk6IEN1aUNyaXRlcmlvbkZvcm1Hcm91cCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGlzVGl0bGVFcnJvcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9scy50aXRsZS5pbnZhbGlkICYmIHRoaXMuY29udHJvbHMudGl0bGUuZGlydHk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBpc0Rlc2NyaXB0aW9uRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbHMuZGVzY3JpcHRpb24uaW52YWxpZCAmJiB0aGlzLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmRpcnR5O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdFV0aWxpdHlFZmZlY3QoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25FZGl0b3JFbXB0eShpc0VtcHR5OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0Rlc2NyaXB0aW9uRW1wdHkuc2V0KGlzRW1wdHkpO1xyXG4gICAgICAgIHRoaXMuaXNGb3JtVmFsaWRDaGFuZ2VkLmVtaXQodGhpcy5jaGVja0Zvcm1WYWxpZGF0aW9uKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFV0aWxpdHlFZmZlY3QoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZWZmZWN0UmVmID0gZWZmZWN0KCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnRpdGxlKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoIXRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEZvcm1TdWJzY3JpcHRpb25zKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEZyYW1lRnJhZ21lbnRzKCk7XHJcbiAgICAgICAgICAgIGVmZmVjdFJlZi5kZXN0cm95KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0Rm9ybVN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKHsgdGl0bGU6IHRoaXMudGl0bGUoKSwgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24oKSB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybS5zdGF0dXNDaGFuZ2VzXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3kpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuaXNGb3JtVmFsaWRDaGFuZ2VkLmVtaXQodGhpcy5jaGVja0Zvcm1WYWxpZGF0aW9uKCkpKTtcclxuXHJcbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3kpLFxyXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZm9ybS52YWx1ZSksXHJcbiAgICAgICAgICAgICAgICBwYWlyd2lzZSgpLFxyXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuQ09OVFJPTF9ERUxBWSksXHJcbiAgICAgICAgICAgICAgICBtYXAoKFtwcmV2LCBjdXJyZW50XSkgPT4gdGhpcy5jb21wYXJlRm9ybVZhbHVlcyhbcHJldiwgY3VycmVudF0pKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ2hhbmdlZC5lbWl0KHZhbHVlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0RnJhbWVGcmFnbWVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZnJhbWVJZCA9IHRoaXMuZnJhbWVySWQoKTtcclxuXHJcbiAgICAgICAgaWYgKCFmcmFtZUlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZnJhbWVBcGlTZXJ2aWNlLmdldEZyYW1lKGZyYW1lSWQsIHRoaXMuY29uZmlnKCkucmVxdWVzdE9wdGlvbnMpLnN1YnNjcmliZSgoZnJhbWUpID0+IHtcclxuICAgICAgICAgICAgZnJhbWUuZnJhZ21lbnRzLmZvckVhY2goKGZyYWdtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZnJhZ21lbnQudHlwZSA9PT0gRnJhZ21lbnRUeXBlLmpUZXh0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0b3JJZC5zZXQoZnJhZ21lbnQ/LmlkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZnJhZ21lbnQudHlwZSA9PT0gRnJhZ21lbnRUeXBlLnJlc291cmNlRmlsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVzb3VyY2VGaWxlKGZyYWdtZW50IGFzIFJlc291cmNlRnJhZ21lbnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNvbXBhcmVGb3JtVmFsdWVzKFtcclxuICAgICAgICBwcmV2R3JvdXAsXHJcbiAgICAgICAgY3VycmVudEdydW9wXHJcbiAgICBdOiBQYXJ0aWFsPEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXM+W10pOiBQYXJ0aWFsPEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXM+IHtcclxuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY3VycmVudEdydW9wKSBhcyAoa2V5b2YgQ3VpQ3JpdGVyaW9uRm9ybVZhbHVlcylbXTtcclxuICAgICAgICBjb25zdCBjaGFuZ2VkRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xyXG5cclxuICAgICAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gcHJldkdyb3VwW2tleV07XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBjdXJyZW50R3J1b3Bba2V5XTtcclxuXHJcbiAgICAgICAgICAgIGlmIChwcmV2ID09PSBjdXJyZW50IHx8IHRoaXMuY29udHJvbHNba2V5XS5pbnZhbGlkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNoYW5nZWRGaWVsZHNba2V5XSA9IGN1cnJlbnQ7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBjaGFuZ2VkRmllbGRzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0UmVzb3VyY2VGaWxlKHJlc291cmNlOiBSZXNvdXJjZUZyYWdtZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFyZXNvdXJjZS5maWxlSWQpIHtcclxuICAgICAgICAgICAgdGhpcy50aHVtYm5haWwuc2V0KHsgLi4ucmVzb3VyY2UgfSk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlc291cmNlQXBpU2VydmljZS5nZXQocmVzb3VyY2UuZmlsZUlkLCB0aGlzLmNvbmZpZygpLnJlcXVlc3RPcHRpb25zKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3kpLFxyXG4gICAgICAgICAgICAgICAgbWFwKCh1cmwpID0+IFVSTC5jcmVhdGVPYmplY3RVUkwodXJsKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmwpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudGh1bWJuYWlsLnNldCh7IC4uLnJlc291cmNlLCByZXNvdXJjZTogdXJsIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICghdXJsIHx8IHJlc291cmNlPy5uYW1lPy5zcGxpdCgnLicpLnBvcCgpICE9PSAnbXA0Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldENhcHR1cmVGcm9tVmlkZW8odXJsKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRDYXB0dXJlRnJvbVZpZGVvKHVybDogc3RyaW5nLCBmaWxlPzogRmlsZSk6IHZvaWQge1xyXG4gICAgICAgIHRha2VDYXB0dXJlRnJvbVZpZGVvKHVybCkudGhlbigoY2FwdHVyZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRodW1ibmFpbC51cGRhdGUoKHByZXYpID0+ICh7XHJcbiAgICAgICAgICAgICAgICAuLi5wcmV2ISxcclxuICAgICAgICAgICAgICAgIG5hbWU6IChmaWxlPy5uYW1lID8/IHByZXY/Lm5hbWUpISxcclxuICAgICAgICAgICAgICAgIHJlc291cmNlOiBjYXB0dXJlXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrRm9ybVZhbGlkYXRpb24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzRGVzY3JpcHRpb25FbXB0eSgpICYmICF0aGlzLmZvcm0uaW52YWxpZDtcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgPGN1aS1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgIGN1aUxhYmVsXHJcbiAgICAgICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtmb3JdPVwidGl0bGVJZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IHQoJ1RJVExFJykgfX1cclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgIDxjdWktaW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZElkXT1cInRpdGxlSWRcIlxyXG4gICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZFBsYWNlaG9sZGVyXT1cInQoJ0FERF9BX1RJVExFJylcIlxyXG4gICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZElzRXJyb3JdPVwiaXNUaXRsZUVycm9yXCJcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLnRpdGxlXCJcclxuICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgIEBpZiAoaXNUaXRsZUVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICA8Y3VpLWdlbmVyYWwtY29udHJvbC1lcnJvci1oaW50XHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwiZm9ybS5jb250cm9scy50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzVmlzaWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2N1aS1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8Y3VpLWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgY3VpTGFiZWxcclxuICAgICAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW2Zvcl09XCJkZXNjcmlwdGlvbklkXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgdCgnU0hPUlRfREVTQ1JJUFRJT04nKSB9fVxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgPGN1aS1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICBbY3VpVGV4dEZpZWxkSWRdPVwiZGVzY3JpcHRpb25JZFwiXHJcbiAgICAgICAgICAgICAgICBjdWlUZXh0RmllbGRQbGFjZWhvbGRlcj1cInt7IHQoJ1NIT1JUX0RFU0NSSVBUSU9OJykgfX0uLi5cIlxyXG4gICAgICAgICAgICAgICAgW2N1aVRleHRGaWVsZElzRXJyb3JdPVwiaXNEZXNjcmlwdGlvbkVycm9yXCJcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgIEBpZiAoaXNEZXNjcmlwdGlvbkVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICA8Y3VpLWdlbmVyYWwtY29udHJvbC1lcnJvci1oaW50XHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwiZm9ybS5jb250cm9scy5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzVmlzaWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2N1aS1mb3JtLWZpZWxkPlxyXG5cclxuXHJcbiAgICAgICAgPGN1aS11dGlsaXR5LXRodW1ibmFpbFxyXG4gICAgICAgICAgICBbY29udGV4dF09XCJjb25maWcoKS5yZXF1ZXN0T3B0aW9uc1wiXHJcbiAgICAgICAgICAgIFtmcmFtZXJJZF09XCJmcmFtZXJJZCgpXCJcclxuICAgICAgICAgICAgWyh0aHVtYm5haWwpXT1cInRodW1ibmFpbFwiXHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgQGlmIChlZGl0b3JJZCgpOyBhcyBlZGl0b3JJZCkge1xyXG4gICAgICAgICAgICA8Y3VpLWVkaXRvci1ibG9ja1xyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImZvcm0uY29udHJvbHMudGl0bGUudmFsdWUgfHwgdGl0bGUoKVwiXHJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZygpXCJcclxuICAgICAgICAgICAgICAgIFtlZGl0b3JJZF09XCJlZGl0b3JJZFwiXHJcbiAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImVkaXRvclwiXHJcbiAgICAgICAgICAgICAgICAoZWRpdG9yRW1wdHkpPVwib25FZGl0b3JFbXB0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICB9XHJcbiAgICA8L3NlY3Rpb24+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaW9uLWluZm8tZm9ybS5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL2NyaXRlcmlvbi1pbmZvLWZvcm0vY3JpdGVyaW9uLWluZm8tZm9ybS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1aUNyaXRlcmlvbkZvcm1Hcm91cCB7XG4gICAgcmVhZG9ubHkgdGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IEZvcm1Db250cm9sPHN0cmluZz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VpQ3JpdGVyaW9uRm9ybVZhbHVlcyB7XG4gICAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaW9uLWluZm8tZm9ybS5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL2NyaXRlcmlvbi1pbmZvLWZvcm0vY3JpdGVyaW9uLWluZm8tZm9ybS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWlDcml0ZXJpb25Gb3JtR3JvdXAge1xyXG4gICAgcmVhZG9ubHkgdGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWlDcml0ZXJpb25Gb3JtVmFsdWVzIHtcclxuICAgIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export { CuiCriterionInfoFormComponent } from './criterion-info-form.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY3JpdGVyaW9uLWluZm8tZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEN1aUNyaXRlcmlvbkluZm9Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jcml0ZXJpb24taW5mby1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDdWlDcml0ZXJpb25Gb3JtR3JvdXAsIEN1aUNyaXRlcmlvbkZvcm1WYWx1ZXMgfSBmcm9tICcuL2NyaXRlcmlvbi1pbmZvLWZvcm0ub3B0aW9ucyc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY3JpdGVyaW9uLWluZm8tZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEN1aUNyaXRlcmlvbkluZm9Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jcml0ZXJpb24taW5mby1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEN1aUNyaXRlcmlvbkZvcm1Hcm91cCwgQ3VpQ3JpdGVyaW9uRm9ybVZhbHVlcyB9IGZyb20gJy4vY3JpdGVyaW9uLWluZm8tZm9ybS5vcHRpb25zJztcclxuIl19