@provoly/dashboard 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1765) hide show
  1. package/README.md +5 -0
  2. package/admin/admin-routing.module.d.ts +9 -0
  3. package/admin/admin.module.d.ts +87 -0
  4. package/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.d.ts +14 -0
  5. package/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.d.ts +29 -0
  6. package/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.d.ts +12 -0
  7. package/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.d.ts +13 -0
  8. package/admin/components/admin-abac-rules/admin-abac-rules.component.d.ts +18 -0
  9. package/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.d.ts +26 -0
  10. package/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.d.ts +29 -0
  11. package/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.d.ts +28 -0
  12. package/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.d.ts +17 -0
  13. package/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.d.ts +14 -0
  14. package/admin/components/admin-abac-rules/store/abac-rules.actions.d.ts +147 -0
  15. package/admin/components/admin-abac-rules/store/abac-rules.effects.d.ts +67 -0
  16. package/admin/components/admin-abac-rules/store/abac-rules.model.d.ts +44 -0
  17. package/admin/components/admin-abac-rules/store/abac-rules.reducer.d.ts +10 -0
  18. package/admin/components/admin-abac-rules/store/abac-rules.selectors.d.ts +14 -0
  19. package/admin/components/admin-abac-rules/store/abac-rules.service.d.ts +21 -0
  20. package/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.d.ts +32 -0
  21. package/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.d.ts +46 -0
  22. package/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.d.ts +41 -0
  23. package/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.d.ts +16 -0
  24. package/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.d.ts +26 -0
  25. package/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.d.ts +5 -0
  26. package/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.d.ts +24 -0
  27. package/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.d.ts +17 -0
  28. package/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +43 -0
  29. package/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.d.ts +17 -0
  30. package/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.d.ts +27 -0
  31. package/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.d.ts +44 -0
  32. package/admin/components/admin-classes/admin-classes.component.d.ts +25 -0
  33. package/admin/components/admin-classes/store/admin-class.actions.d.ts +143 -0
  34. package/admin/components/admin-classes/store/admin-class.effects.d.ts +81 -0
  35. package/admin/components/admin-classes/store/admin-class.reducer.d.ts +11 -0
  36. package/admin/components/admin-classes/store/admin-class.selectors.d.ts +12 -0
  37. package/admin/components/admin-dataset/admin-dataset.component.d.ts +32 -0
  38. package/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.d.ts +15 -0
  39. package/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.d.ts +5 -0
  40. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +36 -0
  41. package/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.d.ts +34 -0
  42. package/admin/components/admin-dataset/store/admin-dataset.actions.d.ts +59 -0
  43. package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +30 -0
  44. package/admin/components/admin-dataset/store/admin-dataset.reducer.d.ts +6 -0
  45. package/admin/components/admin-dataset/store/admin-dataset.selector.d.ts +5 -0
  46. package/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.d.ts +35 -0
  47. package/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.d.ts +5 -0
  48. package/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.d.ts +24 -0
  49. package/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.d.ts +15 -0
  50. package/admin/components/admin-environment/admin-environment.component.d.ts +20 -0
  51. package/admin/components/admin-environment/store/environment.actions.d.ts +82 -0
  52. package/admin/components/admin-environment/store/environment.effects.d.ts +44 -0
  53. package/admin/components/admin-environment/store/environment.reducer.d.ts +9 -0
  54. package/admin/components/admin-environment/store/environment.selectors.d.ts +8 -0
  55. package/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.d.ts +15 -0
  56. package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +30 -0
  57. package/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.d.ts +5 -0
  58. package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +28 -0
  59. package/admin/components/admin-fields/admin-fields.component.d.ts +19 -0
  60. package/admin/components/admin-fields/store/admin-fields.model.d.ts +4 -0
  61. package/admin/components/admin-fields/store/fields.actions.d.ts +47 -0
  62. package/admin/components/admin-fields/store/fields.effects.d.ts +36 -0
  63. package/admin/components/admin-fields/store/fields.reducer.d.ts +8 -0
  64. package/admin/components/admin-fields/store/fields.selectors.d.ts +7 -0
  65. package/admin/components/admin-layout/admin-layout.component.d.ts +24 -0
  66. package/admin/components/admin-links/admin-links-new/admin-links-new.component.d.ts +33 -0
  67. package/admin/components/admin-links/admin-links.component.d.ts +19 -0
  68. package/admin/components/admin-links/store/links.actions.d.ts +31 -0
  69. package/admin/components/admin-links/store/links.effects.d.ts +28 -0
  70. package/admin/components/admin-links/store/links.reducer.d.ts +8 -0
  71. package/admin/components/admin-links/store/links.selectors.d.ts +5 -0
  72. package/admin/components/admin-menu/admin-menu.component.d.ts +14 -0
  73. package/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.d.ts +16 -0
  74. package/admin/components/admin-metadata/admin-metadata.component.d.ts +24 -0
  75. package/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.d.ts +10 -0
  76. package/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.d.ts +23 -0
  77. package/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.d.ts +36 -0
  78. package/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.d.ts +11 -0
  79. package/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.d.ts +40 -0
  80. package/admin/components/admin-metadata/store/metadata.action.d.ts +56 -0
  81. package/admin/components/admin-metadata/store/metadata.effects.d.ts +36 -0
  82. package/admin/components/admin-metadata/store/metadata.reducer.d.ts +13 -0
  83. package/admin/components/admin-metadata/store/metadata.selector.d.ts +10 -0
  84. package/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.d.ts +12 -0
  85. package/admin/components/admin-metadata-rules/admin-metadata-rules.component.d.ts +35 -0
  86. package/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.d.ts +5 -0
  87. package/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.d.ts +23 -0
  88. package/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.d.ts +41 -0
  89. package/admin/components/admin-metadata-rules/store/metadata-rules.actions.d.ts +49 -0
  90. package/admin/components/admin-metadata-rules/store/metadata-rules.effects.d.ts +39 -0
  91. package/admin/components/admin-metadata-rules/store/metadata-rules.reducer.d.ts +11 -0
  92. package/admin/components/admin-metadata-rules/store/metadata-rules.selectors.d.ts +7 -0
  93. package/admin/components/admin-metadata-user/admin-metadata-user.component.d.ts +25 -0
  94. package/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.d.ts +17 -0
  95. package/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.d.ts +10 -0
  96. package/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.d.ts +23 -0
  97. package/admin/components/admin-metadata-user/store/admin-metadata-user.action.d.ts +84 -0
  98. package/admin/components/admin-metadata-user/store/admin-metadata-user.effects.d.ts +48 -0
  99. package/admin/components/admin-metadata-user/store/admin-metadata-user.reducer.d.ts +11 -0
  100. package/admin/components/admin-metadata-user/store/admin-metadata-user.selector.d.ts +14 -0
  101. package/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.d.ts +34 -0
  102. package/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.d.ts +5 -0
  103. package/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.d.ts +22 -0
  104. package/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.d.ts +16 -0
  105. package/admin/components/admin-predicates/admin-predicates.component.d.ts +19 -0
  106. package/admin/components/admin-predicates/store/predicates.actions.d.ts +46 -0
  107. package/admin/components/admin-predicates/store/predicates.effects.d.ts +33 -0
  108. package/admin/components/admin-predicates/store/predicates.reducer.d.ts +9 -0
  109. package/admin/components/admin-predicates/store/predicates.selectors.d.ts +8 -0
  110. package/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.d.ts +32 -0
  111. package/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.d.ts +19 -0
  112. package/admin/components/admin-relation-types/admin-relation-types.component.d.ts +15 -0
  113. package/admin/components/admin-title/admin-title.component.d.ts +15 -0
  114. package/admin/components/admin-user/admin-user-select/admin-user-select.component.d.ts +35 -0
  115. package/admin/components/admin-user/admin-user.component.d.ts +18 -0
  116. package/admin/components/admin-user/store/admin-user.action.d.ts +76 -0
  117. package/admin/components/admin-user/store/admin-user.effects.d.ts +43 -0
  118. package/admin/components/admin-user/store/admin-user.reducer.d.ts +10 -0
  119. package/admin/components/admin-user/store/admin-user.selector.d.ts +8 -0
  120. package/admin/components/admin.component.d.ts +17 -0
  121. package/admin/i18n/en.translations.d.ts +327 -0
  122. package/admin/i18n/fr.translations.d.ts +328 -0
  123. package/admin/index.d.ts +5 -0
  124. package/admin/public-api.d.ts +1 -0
  125. package/admin/store/admin.actions.d.ts +41 -0
  126. package/admin/store/admin.effects.d.ts +34 -0
  127. package/admin/store/admin.reducer.d.ts +13 -0
  128. package/admin/store/admin.selectors.d.ts +13 -0
  129. package/admin/store/admin.service.d.ts +45 -0
  130. package/assets/backgrounds/chart.svg +684 -0
  131. package/assets/backgrounds/detail.svg +27 -0
  132. package/assets/backgrounds/graph.svg +1775 -0
  133. package/assets/backgrounds/iframe.svg +799 -0
  134. package/assets/backgrounds/img_processus.png +0 -0
  135. package/assets/backgrounds/map.svg +154 -0
  136. package/assets/backgrounds/placeholder.png +0 -0
  137. package/assets/backgrounds/table.svg +48 -0
  138. package/assets/backgrounds/template.svg +26 -0
  139. package/assets/backgrounds/tile.svg +26 -0
  140. package/assets/fonts/ubuntu-latin-bold.woff2 +0 -0
  141. package/assets/fonts/ubuntu-latin-medium.woff2 +0 -0
  142. package/assets/fonts/ubuntu-latin-regular.woff2 +0 -0
  143. package/assets/svgs/add.svg +4 -0
  144. package/assets/svgs/add_column.svg +5 -0
  145. package/assets/svgs/admin-fill.svg +5 -0
  146. package/assets/svgs/admin.svg +8 -0
  147. package/assets/svgs/ads_click.svg +5 -0
  148. package/assets/svgs/apps.svg +5 -0
  149. package/assets/svgs/area_chart.svg +19 -0
  150. package/assets/svgs/arrow_back.svg +4 -0
  151. package/assets/svgs/arrow_right.svg +6 -0
  152. package/assets/svgs/auto_graph.svg +12 -0
  153. package/assets/svgs/bar_chart.svg +18 -0
  154. package/assets/svgs/bubble-chart-line.svg +18 -0
  155. package/assets/svgs/bulles.svg +5 -0
  156. package/assets/svgs/chart.svg +5 -0
  157. package/assets/svgs/chat-settings.svg +5 -0
  158. package/assets/svgs/check.svg +4 -0
  159. package/assets/svgs/checkbox-circle.svg +6 -0
  160. package/assets/svgs/chevron_bottom.svg +6 -0
  161. package/assets/svgs/chevron_bottom_rounded.svg +5 -0
  162. package/assets/svgs/chevron_left.svg +6 -0
  163. package/assets/svgs/chevron_right.svg +6 -0
  164. package/assets/svgs/chevron_top.svg +3 -0
  165. package/assets/svgs/chevron_top_rounded.svg +5 -0
  166. package/assets/svgs/click.svg +4 -0
  167. package/assets/svgs/close.svg +5 -0
  168. package/assets/svgs/control.svg +5 -0
  169. package/assets/svgs/control_point.svg +5 -0
  170. package/assets/svgs/danger.svg +5 -0
  171. package/assets/svgs/data.svg +5 -0
  172. package/assets/svgs/data_usage.svg +5 -0
  173. package/assets/svgs/dataset.svg +0 -0
  174. package/assets/svgs/default-restitution.svg +6 -0
  175. package/assets/svgs/default.svg +28 -0
  176. package/assets/svgs/delete.svg +5 -0
  177. package/assets/svgs/detail.svg +5 -0
  178. package/assets/svgs/donut_large.svg +14 -0
  179. package/assets/svgs/download.svg +4 -0
  180. package/assets/svgs/drag_indicator.svg +5 -0
  181. package/assets/svgs/edit.svg +5 -0
  182. package/assets/svgs/edit_off.svg +5 -0
  183. package/assets/svgs/epingle.svg +6 -0
  184. package/assets/svgs/event-fill.svg +5 -0
  185. package/assets/svgs/event.svg +5 -0
  186. package/assets/svgs/exposure_neg_1.svg +4 -0
  187. package/assets/svgs/exposure_plus_1.svg +4 -0
  188. package/assets/svgs/eye-arrow-down.svg +14 -0
  189. package/assets/svgs/eye-arrow-up.svg +14 -0
  190. package/assets/svgs/eye.svg +5 -0
  191. package/assets/svgs/file_download.svg +5 -0
  192. package/assets/svgs/file_upload.svg +5 -0
  193. package/assets/svgs/fleche_bas.svg +4 -0
  194. package/assets/svgs/fleche_haut.svg +4 -0
  195. package/assets/svgs/frequentation.svg +4 -0
  196. package/assets/svgs/fullscreen.svg +4 -0
  197. package/assets/svgs/globe.svg +5 -0
  198. package/assets/svgs/graph.svg +20 -0
  199. package/assets/svgs/grid_1_2_horizontal.svg +4 -0
  200. package/assets/svgs/grid_1_2_vertical.svg +4 -0
  201. package/assets/svgs/grid_1_3_horizontal.svg +5 -0
  202. package/assets/svgs/grid_1_3_vertical.svg +5 -0
  203. package/assets/svgs/grid_1_4.svg +6 -0
  204. package/assets/svgs/grid_2_gauche_1_droite.svg +5 -0
  205. package/assets/svgs/grid_composition_libre.svg +7 -0
  206. package/assets/svgs/grid_full.svg +3 -0
  207. package/assets/svgs/grid_view.svg +4 -0
  208. package/assets/svgs/heart-add-line.svg +5 -0
  209. package/assets/svgs/heart-fill.svg +5 -0
  210. package/assets/svgs/highlight_alt.svg +5 -0
  211. package/assets/svgs/history-line.svg +5 -0
  212. package/assets/svgs/home-fill.svg +5 -0
  213. package/assets/svgs/home-fill_old.svg +4 -0
  214. package/assets/svgs/home-line.svg +12 -0
  215. package/assets/svgs/home-line_old.svg +5 -0
  216. package/assets/svgs/home.svg +12 -0
  217. package/assets/svgs/iframe.svg +11 -0
  218. package/assets/svgs/image.svg +6 -0
  219. package/assets/svgs/info.svg +8 -0
  220. package/assets/svgs/information-point.svg +5 -0
  221. package/assets/svgs/lasso.svg +5 -0
  222. package/assets/svgs/launch.svg +5 -0
  223. package/assets/svgs/legend.svg +4 -0
  224. package/assets/svgs/library_add.svg +5 -0
  225. package/assets/svgs/links_line.svg +5 -0
  226. package/assets/svgs/map.svg +8 -0
  227. package/assets/svgs/marqueur.svg +5 -0
  228. package/assets/svgs/mode_clic.svg +5 -0
  229. package/assets/svgs/more_horiz.svg +5 -0
  230. package/assets/svgs/more_vertical.svg +5 -0
  231. package/assets/svgs/move.svg +5 -0
  232. package/assets/svgs/noise_aware.svg +12 -0
  233. package/assets/svgs/north_east.svg +6 -0
  234. package/assets/svgs/north_west.svg +6 -0
  235. package/assets/svgs/notification-4-line.svg +5 -0
  236. package/assets/svgs/notification.svg +5 -0
  237. package/assets/svgs/notifications.svg +5 -0
  238. package/assets/svgs/picture-in-picture.svg +7 -0
  239. package/assets/svgs/place.svg +5 -0
  240. package/assets/svgs/post_add.svg +8 -0
  241. package/assets/svgs/presentation-fill.svg +4 -0
  242. package/assets/svgs/presentation.svg +5 -0
  243. package/assets/svgs/private.svg +10 -0
  244. package/assets/svgs/pry_recherche.svg +81 -0
  245. package/assets/svgs/pry_recherche_pas_de_resultat.svg +81 -0
  246. package/assets/svgs/public.svg +16 -0
  247. package/assets/svgs/published_with_changes.svg +5 -0
  248. package/assets/svgs/question-line.svg +5 -0
  249. package/assets/svgs/radar_chart.svg +11 -0
  250. package/assets/svgs/rectangle.svg +5 -0
  251. package/assets/svgs/remove.svg +4 -0
  252. package/assets/svgs/renamed.svg +6 -0
  253. package/assets/svgs/reset.svg +4 -0
  254. package/assets/svgs/resize.svg +4 -0
  255. package/assets/svgs/restitution-fill.svg +11 -0
  256. package/assets/svgs/restitution.svg +15 -0
  257. package/assets/svgs/restricted.svg +18 -0
  258. package/assets/svgs/rotate-lock-line.svg +5 -0
  259. package/assets/svgs/save-fill.svg +4 -0
  260. package/assets/svgs/save-line.svg +5 -0
  261. package/assets/svgs/screenshot-fill.svg +5 -0
  262. package/assets/svgs/search-criteria.svg +5 -0
  263. package/assets/svgs/search-fill.svg +5 -0
  264. package/assets/svgs/search-line.svg +5 -0
  265. package/assets/svgs/search.svg +4 -0
  266. package/assets/svgs/settings_applications.svg +12 -0
  267. package/assets/svgs/share.svg +5 -0
  268. package/assets/svgs/share_location.svg +20 -0
  269. package/assets/svgs/shield-lock.svg +7 -0
  270. package/assets/svgs/show_chart.svg +12 -0
  271. package/assets/svgs/south_east.svg +6 -0
  272. package/assets/svgs/south_west.svg +6 -0
  273. package/assets/svgs/stack-fill.svg +5 -0
  274. package/assets/svgs/stack-line.svg +5 -0
  275. package/assets/svgs/stop.svg +5 -0
  276. package/assets/svgs/supervision.svg +13 -0
  277. package/assets/svgs/svg.svg +5 -0
  278. package/assets/svgs/synchro.svg +5 -0
  279. package/assets/svgs/table.svg +5 -0
  280. package/assets/svgs/table_chart.svg +18 -0
  281. package/assets/svgs/tags.svg +11 -0
  282. package/assets/svgs/tile.svg +12 -0
  283. package/assets/svgs/toc.svg +20 -0
  284. package/assets/svgs/transformation-fill.svg +21 -0
  285. package/assets/svgs/transformation.svg +20 -0
  286. package/assets/svgs/tune.svg +5 -0
  287. package/assets/svgs/unpublished.svg +5 -0
  288. package/assets/svgs/upload.svg +4 -0
  289. package/assets/svgs/user.svg +5 -0
  290. package/assets/svgs/warning-triangle.svg +5 -0
  291. package/assets/svgs/warning.svg +5 -0
  292. package/assets/svgs/zoom.svg +6 -0
  293. package/components/card/card.component.d.ts +69 -0
  294. package/components/card/card.module.d.ts +10 -0
  295. package/components/card/index.d.ts +5 -0
  296. package/components/card/public-api.d.ts +2 -0
  297. package/components/checkbox/checkbox.component.d.ts +20 -0
  298. package/components/checkbox/checkbox.module.d.ts +9 -0
  299. package/components/checkbox/index.d.ts +5 -0
  300. package/components/checkbox/public-api.d.ts +2 -0
  301. package/components/expand-panel/expand-panel.component.d.ts +14 -0
  302. package/components/expand-panel/expand-panel.module.d.ts +7 -0
  303. package/components/expand-panel/index.d.ts +5 -0
  304. package/components/expand-panel/public-api.d.ts +2 -0
  305. package/components/filter/filter.module.d.ts +7 -0
  306. package/components/filter/filter.pipe.d.ts +7 -0
  307. package/components/filter/index.d.ts +5 -0
  308. package/components/filter/public-api.d.ts +2 -0
  309. package/components/sinceDate/index.d.ts +5 -0
  310. package/components/sinceDate/public-api.d.ts +2 -0
  311. package/components/sinceDate/sinceDate.module.d.ts +7 -0
  312. package/components/sinceDate/sinceDate.pipe.d.ts +11 -0
  313. package/components/stepper/index.d.ts +5 -0
  314. package/components/stepper/public-api.d.ts +4 -0
  315. package/components/stepper/step/step.component.d.ts +15 -0
  316. package/components/stepper/step-title.directive.d.ts +8 -0
  317. package/components/stepper/stepper.component.d.ts +28 -0
  318. package/components/stepper/stepper.module.d.ts +10 -0
  319. package/dataset/components/dataset-card/dataset-card.component.d.ts +10 -0
  320. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +29 -0
  321. package/dataset/components/dataset.component.d.ts +17 -0
  322. package/dataset/dataset.module.d.ts +17 -0
  323. package/dataset/i18n/en.translations.d.ts +33 -0
  324. package/dataset/i18n/fr.translations.d.ts +38 -0
  325. package/dataset/index.d.ts +5 -0
  326. package/dataset/public-api.d.ts +5 -0
  327. package/dataset/style/_o-pry-dataset-card.scss +29 -0
  328. package/dataset/style/_o-pry-dataset-detail.scss +55 -0
  329. package/dataset/style/_o-pry-dataset.scss +31 -0
  330. package/dataset/style/css.component.d.ts +5 -0
  331. package/esm2022/admin/admin-routing.module.mjs +567 -0
  332. package/esm2022/admin/admin.module.mjs +366 -0
  333. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +50 -0
  334. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +57 -0
  335. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +34 -0
  336. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +54 -0
  337. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +47 -0
  338. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +81 -0
  339. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +66 -0
  340. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +69 -0
  341. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +29 -0
  342. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +24 -0
  343. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.actions.mjs +28 -0
  344. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +78 -0
  345. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.model.mjs +20 -0
  346. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.reducer.mjs +110 -0
  347. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.selectors.mjs +29 -0
  348. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +161 -0
  349. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +92 -0
  350. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +146 -0
  351. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +127 -0
  352. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +26 -0
  353. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +91 -0
  354. package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +13 -0
  355. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +107 -0
  356. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +30 -0
  357. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +151 -0
  358. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +30 -0
  359. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +81 -0
  360. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +183 -0
  361. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +70 -0
  362. package/esm2022/admin/components/admin-classes/store/admin-class.actions.mjs +32 -0
  363. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +139 -0
  364. package/esm2022/admin/components/admin-classes/store/admin-class.reducer.mjs +43 -0
  365. package/esm2022/admin/components/admin-classes/store/admin-class.selectors.mjs +23 -0
  366. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +79 -0
  367. package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +26 -0
  368. package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +13 -0
  369. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +155 -0
  370. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +98 -0
  371. package/esm2022/admin/components/admin-dataset/store/admin-dataset.actions.mjs +14 -0
  372. package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +34 -0
  373. package/esm2022/admin/components/admin-dataset/store/admin-dataset.reducer.mjs +11 -0
  374. package/esm2022/admin/components/admin-dataset/store/admin-dataset.selector.mjs +9 -0
  375. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +125 -0
  376. package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +13 -0
  377. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +94 -0
  378. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +26 -0
  379. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +51 -0
  380. package/esm2022/admin/components/admin-environment/store/environment.actions.mjs +19 -0
  381. package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +47 -0
  382. package/esm2022/admin/components/admin-environment/store/environment.reducer.mjs +39 -0
  383. package/esm2022/admin/components/admin-environment/store/environment.selectors.mjs +15 -0
  384. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +25 -0
  385. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +85 -0
  386. package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +13 -0
  387. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +96 -0
  388. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +52 -0
  389. package/esm2022/admin/components/admin-fields/store/admin-fields.model.mjs +2 -0
  390. package/esm2022/admin/components/admin-fields/store/fields.actions.mjs +14 -0
  391. package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +54 -0
  392. package/esm2022/admin/components/admin-fields/store/fields.reducer.mjs +14 -0
  393. package/esm2022/admin/components/admin-fields/store/fields.selectors.mjs +13 -0
  394. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +81 -0
  395. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +92 -0
  396. package/esm2022/admin/components/admin-links/admin-links.component.mjs +60 -0
  397. package/esm2022/admin/components/admin-links/store/links.actions.mjs +10 -0
  398. package/esm2022/admin/components/admin-links/store/links.effects.mjs +27 -0
  399. package/esm2022/admin/components/admin-links/store/links.reducer.mjs +19 -0
  400. package/esm2022/admin/components/admin-links/store/links.selectors.mjs +9 -0
  401. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +38 -0
  402. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +32 -0
  403. package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +65 -0
  404. package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +21 -0
  405. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +77 -0
  406. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +130 -0
  407. package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +21 -0
  408. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +90 -0
  409. package/esm2022/admin/components/admin-metadata/store/metadata.action.mjs +19 -0
  410. package/esm2022/admin/components/admin-metadata/store/metadata.effects.mjs +33 -0
  411. package/esm2022/admin/components/admin-metadata/store/metadata.reducer.mjs +35 -0
  412. package/esm2022/admin/components/admin-metadata/store/metadata.selector.mjs +17 -0
  413. package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +22 -0
  414. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +86 -0
  415. package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +13 -0
  416. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +86 -0
  417. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +133 -0
  418. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.actions.mjs +23 -0
  419. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +51 -0
  420. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.reducer.mjs +28 -0
  421. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.selectors.mjs +13 -0
  422. package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +65 -0
  423. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +33 -0
  424. package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +21 -0
  425. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +77 -0
  426. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.action.mjs +23 -0
  427. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +38 -0
  428. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.reducer.mjs +45 -0
  429. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.selector.mjs +17 -0
  430. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +102 -0
  431. package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +13 -0
  432. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +69 -0
  433. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +27 -0
  434. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +46 -0
  435. package/esm2022/admin/components/admin-predicates/store/predicates.actions.mjs +13 -0
  436. package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +28 -0
  437. package/esm2022/admin/components/admin-predicates/store/predicates.reducer.mjs +40 -0
  438. package/esm2022/admin/components/admin-predicates/store/predicates.selectors.mjs +15 -0
  439. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +101 -0
  440. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +63 -0
  441. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +42 -0
  442. package/esm2022/admin/components/admin-title/admin-title.component.mjs +29 -0
  443. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +116 -0
  444. package/esm2022/admin/components/admin-user/admin-user.component.mjs +34 -0
  445. package/esm2022/admin/components/admin-user/store/admin-user.action.mjs +21 -0
  446. package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +38 -0
  447. package/esm2022/admin/components/admin-user/store/admin-user.reducer.mjs +27 -0
  448. package/esm2022/admin/components/admin-user/store/admin-user.selector.mjs +15 -0
  449. package/esm2022/admin/components/admin.component.mjs +29 -0
  450. package/esm2022/admin/i18n/en.translations.mjs +328 -0
  451. package/esm2022/admin/i18n/fr.translations.mjs +329 -0
  452. package/esm2022/admin/provoly-dashboard-admin.mjs +5 -0
  453. package/esm2022/admin/public-api.mjs +2 -0
  454. package/esm2022/admin/store/admin.actions.mjs +12 -0
  455. package/esm2022/admin/store/admin.effects.mjs +66 -0
  456. package/esm2022/admin/store/admin.reducer.mjs +52 -0
  457. package/esm2022/admin/store/admin.selectors.mjs +32 -0
  458. package/esm2022/admin/store/admin.service.mjs +181 -0
  459. package/esm2022/components/card/card.component.mjs +270 -0
  460. package/esm2022/components/card/card.module.mjs +38 -0
  461. package/esm2022/components/card/provoly-dashboard-components-card.mjs +5 -0
  462. package/esm2022/components/card/public-api.mjs +3 -0
  463. package/esm2022/components/checkbox/checkbox.component.mjs +58 -0
  464. package/esm2022/components/checkbox/checkbox.module.mjs +20 -0
  465. package/esm2022/components/checkbox/provoly-dashboard-components-checkbox.mjs +5 -0
  466. package/esm2022/components/checkbox/public-api.mjs +3 -0
  467. package/esm2022/components/expand-panel/expand-panel.component.mjs +65 -0
  468. package/esm2022/components/expand-panel/expand-panel.module.mjs +19 -0
  469. package/esm2022/components/expand-panel/provoly-dashboard-components-expand-panel.mjs +5 -0
  470. package/esm2022/components/expand-panel/public-api.mjs +3 -0
  471. package/esm2022/components/filter/filter.module.mjs +16 -0
  472. package/esm2022/components/filter/filter.pipe.mjs +16 -0
  473. package/esm2022/components/filter/provoly-dashboard-components-filter.mjs +5 -0
  474. package/esm2022/components/filter/public-api.mjs +3 -0
  475. package/esm2022/components/sinceDate/provoly-dashboard-components-sinceDate.mjs +5 -0
  476. package/esm2022/components/sinceDate/public-api.mjs +3 -0
  477. package/esm2022/components/sinceDate/sinceDate.module.mjs +16 -0
  478. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +40 -0
  479. package/esm2022/components/stepper/provoly-dashboard-components-stepper.mjs +5 -0
  480. package/esm2022/components/stepper/public-api.mjs +5 -0
  481. package/esm2022/components/stepper/step/step.component.mjs +36 -0
  482. package/esm2022/components/stepper/step-title.directive.mjs +14 -0
  483. package/esm2022/components/stepper/stepper.component.mjs +109 -0
  484. package/esm2022/components/stepper/stepper.module.mjs +20 -0
  485. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +24 -0
  486. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +86 -0
  487. package/esm2022/dataset/components/dataset.component.mjs +35 -0
  488. package/esm2022/dataset/dataset.module.mjs +59 -0
  489. package/esm2022/dataset/i18n/en.translations.mjs +34 -0
  490. package/esm2022/dataset/i18n/fr.translations.mjs +39 -0
  491. package/esm2022/dataset/provoly-dashboard-dataset.mjs +5 -0
  492. package/esm2022/dataset/public-api.mjs +6 -0
  493. package/esm2022/dataset/style/css.component.mjs +11 -0
  494. package/esm2022/filters/date/date-filter.component.mjs +50 -0
  495. package/esm2022/filters/date/date-filter.module.mjs +25 -0
  496. package/esm2022/filters/date/provoly-dashboard-filters-date.mjs +5 -0
  497. package/esm2022/filters/date/public-api.mjs +4 -0
  498. package/esm2022/filters/date/style/css.component.mjs +11 -0
  499. package/esm2022/filters/list/list-filter.component.mjs +31 -0
  500. package/esm2022/filters/list/list-filter.module.mjs +24 -0
  501. package/esm2022/filters/list/provoly-dashboard-filters-list.mjs +5 -0
  502. package/esm2022/filters/list/public-api.mjs +4 -0
  503. package/esm2022/filters/list/style/css.component.mjs +11 -0
  504. package/esm2022/filters/number/number-filter.component.mjs +26 -0
  505. package/esm2022/filters/number/number-filter.module.mjs +24 -0
  506. package/esm2022/filters/number/provoly-dashboard-filters-number.mjs +5 -0
  507. package/esm2022/filters/number/public-api.mjs +3 -0
  508. package/esm2022/filters/text/provoly-dashboard-filters-text.mjs +5 -0
  509. package/esm2022/filters/text/public-api.mjs +3 -0
  510. package/esm2022/filters/text/text-filter.component.mjs +29 -0
  511. package/esm2022/filters/text/text-filter.module.mjs +24 -0
  512. package/esm2022/import/components/import.component.mjs +72 -0
  513. package/esm2022/import/i18n/en.translations.mjs +28 -0
  514. package/esm2022/import/i18n/fr.translations.mjs +28 -0
  515. package/esm2022/import/import-routing.module.mjs +32 -0
  516. package/esm2022/import/import.module.mjs +61 -0
  517. package/esm2022/import/provoly-dashboard-import.mjs +5 -0
  518. package/esm2022/import/public-api.mjs +3 -0
  519. package/esm2022/import/store/import.actions.mjs +7 -0
  520. package/esm2022/import/store/import.effects.mjs +32 -0
  521. package/esm2022/import/store/import.reducer.mjs +23 -0
  522. package/esm2022/import/store/import.selectors.mjs +10 -0
  523. package/esm2022/import/store/import.service.mjs +29 -0
  524. package/esm2022/import/style/css.component.mjs +11 -0
  525. package/esm2022/lib/core/access/access.directive.mjs +45 -0
  526. package/esm2022/lib/core/access/access.guard.mjs +21 -0
  527. package/esm2022/lib/core/access/access.model.mjs +2 -0
  528. package/esm2022/lib/core/access/access.service.mjs +20 -0
  529. package/esm2022/lib/core/access/access.utils.mjs +83 -0
  530. package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +44 -0
  531. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +29 -0
  532. package/esm2022/lib/core/components/base-toolbox/base-toolbox-action.interface.mjs +2 -0
  533. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +23 -0
  534. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +64 -0
  535. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +206 -0
  536. package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +36 -0
  537. package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +42 -0
  538. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +92 -0
  539. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +81 -0
  540. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +60 -0
  541. package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +22 -0
  542. package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +25 -0
  543. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +30 -0
  544. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +20 -0
  545. package/esm2022/lib/core/components/icon/icon.component.mjs +92 -0
  546. package/esm2022/lib/core/components/icon/icon.module.mjs +19 -0
  547. package/esm2022/lib/core/components/modal/modal.component.mjs +34 -0
  548. package/esm2022/lib/core/components/modal/pry-modal.module.mjs +22 -0
  549. package/esm2022/lib/core/components/modalStatus/modalStatus.component.mjs +35 -0
  550. package/esm2022/lib/core/components/modalStatus/modalStatus.module.mjs +28 -0
  551. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +77 -0
  552. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +57 -0
  553. package/esm2022/lib/core/components/overlay/dialog-ref.mjs +15 -0
  554. package/esm2022/lib/core/components/overlay/dialog.service.mjs +71 -0
  555. package/esm2022/lib/core/components/overlay/overlay.constantes.mjs +9 -0
  556. package/esm2022/lib/core/components/overlay/overlay.directive.mjs +125 -0
  557. package/esm2022/lib/core/components/overlay/overlay.module.mjs +23 -0
  558. package/esm2022/lib/core/components/overlay/tooltip.directive.mjs +121 -0
  559. package/esm2022/lib/core/components/range/range.component.mjs +106 -0
  560. package/esm2022/lib/core/components/range/range.module.mjs +19 -0
  561. package/esm2022/lib/core/components/select/select.component.mjs +118 -0
  562. package/esm2022/lib/core/components/select/select.module.mjs +22 -0
  563. package/esm2022/lib/core/components/select-image/select-image.component.mjs +84 -0
  564. package/esm2022/lib/core/components/share/share.component.mjs +83 -0
  565. package/esm2022/lib/core/components/share/share.model.mjs +7 -0
  566. package/esm2022/lib/core/components/share/share.module.mjs +21 -0
  567. package/esm2022/lib/core/components/snackbar/snack.interface.mjs +2 -0
  568. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +65 -0
  569. package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +19 -0
  570. package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +63 -0
  571. package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +54 -0
  572. package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +52 -0
  573. package/esm2022/lib/core/components/sort/sort-header.directive.mjs +13 -0
  574. package/esm2022/lib/core/components/sort/sort-table.directive.mjs +64 -0
  575. package/esm2022/lib/core/components/sort/sort.model.mjs +2 -0
  576. package/esm2022/lib/core/components/sort/sort.module.mjs +23 -0
  577. package/esm2022/lib/core/components/title-presentation/title-presentation.component.mjs +26 -0
  578. package/esm2022/lib/core/components/toggle/toggle.component.mjs +100 -0
  579. package/esm2022/lib/core/components/toggle/toggle.module.mjs +21 -0
  580. package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +115 -0
  581. package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +27 -0
  582. package/esm2022/lib/core/components/upload/upload.component.mjs +88 -0
  583. package/esm2022/lib/core/core.module.mjs +179 -0
  584. package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +44 -0
  585. package/esm2022/lib/core/i18n/deep-merge.function.mjs +21 -0
  586. package/esm2022/lib/core/i18n/en.translations.mjs +323 -0
  587. package/esm2022/lib/core/i18n/fr.translations.mjs +323 -0
  588. package/esm2022/lib/core/i18n/i18n.module.mjs +16 -0
  589. package/esm2022/lib/core/i18n/i18n.pipe.mjs +42 -0
  590. package/esm2022/lib/core/i18n/i18n.service.mjs +88 -0
  591. package/esm2022/lib/core/model/admin-api.model.mjs +45 -0
  592. package/esm2022/lib/core/model/dataset.interface.mjs +13 -0
  593. package/esm2022/lib/core/model/filter.interface.mjs +2 -0
  594. package/esm2022/lib/core/model/item.interface.mjs +2 -0
  595. package/esm2022/lib/core/model/manifest.interface.mjs +11 -0
  596. package/esm2022/lib/core/model/mimetype-resultset.constant.mjs +2 -0
  597. package/esm2022/lib/core/model/notification-interface.mjs +2 -0
  598. package/esm2022/lib/core/model/public-api.mjs +25 -0
  599. package/esm2022/lib/core/model/relation.interface.mjs +2 -0
  600. package/esm2022/lib/core/model/result-order.interface.mjs +2 -0
  601. package/esm2022/lib/core/model/result-set.interface.mjs +2 -0
  602. package/esm2022/lib/core/model/search-mono-class.model.mjs +17 -0
  603. package/esm2022/lib/core/model/search-multi-class.model.mjs +2 -0
  604. package/esm2022/lib/core/model/tooltip-of-class.interface.mjs +2 -0
  605. package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +26 -0
  606. package/esm2022/lib/core/model/widget-chart-manifest.interface.mjs +63 -0
  607. package/esm2022/lib/core/model/widget-detail-manifest.interface.mjs +2 -0
  608. package/esm2022/lib/core/model/widget-graph-manifest.interface.mjs +2 -0
  609. package/esm2022/lib/core/model/widget-iframe-manifest.interface.mjs +2 -0
  610. package/esm2022/lib/core/model/widget-image-manifest.interface.mjs +2 -0
  611. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +19 -0
  612. package/esm2022/lib/core/model/widget-table-manifest.interface.mjs +2 -0
  613. package/esm2022/lib/core/model/widget-template-manifest.interface.mjs +2 -0
  614. package/esm2022/lib/core/model/widget-tile-manifest.interface.mjs +2 -0
  615. package/esm2022/lib/core/model/widget.interface.mjs +2 -0
  616. package/esm2022/lib/core/public-api.mjs +113 -0
  617. package/esm2022/lib/core/store/category/category.actions.mjs +7 -0
  618. package/esm2022/lib/core/store/category/category.effects.mjs +20 -0
  619. package/esm2022/lib/core/store/category/category.interface.mjs +2 -0
  620. package/esm2022/lib/core/store/category/category.reducer.mjs +19 -0
  621. package/esm2022/lib/core/store/category/category.selectors.mjs +11 -0
  622. package/esm2022/lib/core/store/category/category.service.mjs +26 -0
  623. package/esm2022/lib/core/store/class/class.actions.mjs +13 -0
  624. package/esm2022/lib/core/store/class/class.effects.mjs +26 -0
  625. package/esm2022/lib/core/store/class/class.interface.mjs +2 -0
  626. package/esm2022/lib/core/store/class/class.reducer.mjs +42 -0
  627. package/esm2022/lib/core/store/class/class.selectors.mjs +31 -0
  628. package/esm2022/lib/core/store/class/class.service.mjs +42 -0
  629. package/esm2022/lib/core/store/config/config.actions.mjs +31 -0
  630. package/esm2022/lib/core/store/config/config.effects.mjs +100 -0
  631. package/esm2022/lib/core/store/config/config.reducer.mjs +122 -0
  632. package/esm2022/lib/core/store/config/config.selectors.mjs +82 -0
  633. package/esm2022/lib/core/store/config/config.service.mjs +106 -0
  634. package/esm2022/lib/core/store/config/config.widget.constants.mjs +55 -0
  635. package/esm2022/lib/core/store/config/icon-definitions.interface.mjs +19 -0
  636. package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +37 -0
  637. package/esm2022/lib/core/store/context-menu/context-menu.actions.mjs +6 -0
  638. package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +14 -0
  639. package/esm2022/lib/core/store/context-menu/context-menu.reducer.mjs +29 -0
  640. package/esm2022/lib/core/store/context-menu/context-menu.selectors.mjs +19 -0
  641. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +53 -0
  642. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +151 -0
  643. package/esm2022/lib/core/store/data-source/data-source.model.mjs +2 -0
  644. package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +87 -0
  645. package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +66 -0
  646. package/esm2022/lib/core/store/data-source/data-source.service.mjs +123 -0
  647. package/esm2022/lib/core/store/data-source/named-query-types.model.mjs +7 -0
  648. package/esm2022/lib/core/store/data-source/named-query-utils.mjs +13 -0
  649. package/esm2022/lib/core/store/field/field.actions.mjs +7 -0
  650. package/esm2022/lib/core/store/field/field.effects.mjs +20 -0
  651. package/esm2022/lib/core/store/field/field.interface.mjs +18 -0
  652. package/esm2022/lib/core/store/field/field.reducer.mjs +19 -0
  653. package/esm2022/lib/core/store/field/field.selectors.mjs +19 -0
  654. package/esm2022/lib/core/store/field/field.service.mjs +36 -0
  655. package/esm2022/lib/core/store/image/image.actions.mjs +10 -0
  656. package/esm2022/lib/core/store/image/image.effects.mjs +21 -0
  657. package/esm2022/lib/core/store/image/image.reducer.mjs +23 -0
  658. package/esm2022/lib/core/store/image/image.selectors.mjs +19 -0
  659. package/esm2022/lib/core/store/image/image.service.mjs +72 -0
  660. package/esm2022/lib/core/store/item/item.actions.mjs +7 -0
  661. package/esm2022/lib/core/store/item/item.effects.mjs +44 -0
  662. package/esm2022/lib/core/store/item/item.service.mjs +50 -0
  663. package/esm2022/lib/core/store/raw/raw.service.mjs +50 -0
  664. package/esm2022/lib/core/store/relation-types/relation-types.actions.mjs +22 -0
  665. package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +48 -0
  666. package/esm2022/lib/core/store/relation-types/relation-types.interface.mjs +2 -0
  667. package/esm2022/lib/core/store/relation-types/relation-types.reducer.mjs +33 -0
  668. package/esm2022/lib/core/store/relation-types/relation-types.selectors.mjs +18 -0
  669. package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +46 -0
  670. package/esm2022/lib/core/store/search/lat-lon-to-geographic-field-transformation.function.mjs +35 -0
  671. package/esm2022/lib/core/store/search/search.actions.mjs +9 -0
  672. package/esm2022/lib/core/store/search/search.constants.mjs +3 -0
  673. package/esm2022/lib/core/store/search/search.effects.mjs +36 -0
  674. package/esm2022/lib/core/store/search/search.reducer.mjs +25 -0
  675. package/esm2022/lib/core/store/search/search.selectors.mjs +9 -0
  676. package/esm2022/lib/core/store/search/search.service.mjs +96 -0
  677. package/esm2022/lib/core/symbol/symbol.service.mjs +182 -0
  678. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +335 -0
  679. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +167 -0
  680. package/esm2022/lib/core/ws/websocket.service.mjs +92 -0
  681. package/esm2022/lib/dashboard/action-bus/bus-action.interface.mjs +2 -0
  682. package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +23 -0
  683. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +86 -0
  684. package/esm2022/lib/dashboard/action-bus/service/control-message.interface.mjs +2 -0
  685. package/esm2022/lib/dashboard/base-widget.module.mjs +16 -0
  686. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +131 -0
  687. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +267 -0
  688. package/esm2022/lib/dashboard/components/dashboard.component.mjs +558 -0
  689. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +60 -0
  690. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +33 -0
  691. package/esm2022/lib/dashboard/components/solve-collisions.function.mjs +88 -0
  692. package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +17 -0
  693. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +45 -0
  694. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +62 -0
  695. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +59 -0
  696. package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +45 -0
  697. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +474 -0
  698. package/esm2022/lib/dashboard/components/widgets/public-api.mjs +10 -0
  699. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +97 -0
  700. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +20 -0
  701. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +60 -0
  702. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +90 -0
  703. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widgets-definition.model.mjs +2 -0
  704. package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +17 -0
  705. package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +183 -0
  706. package/esm2022/lib/dashboard/dashboard.module.mjs +172 -0
  707. package/esm2022/lib/dashboard/date-utils.mjs +7 -0
  708. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +32 -0
  709. package/esm2022/lib/dashboard/filter/base-filter.module.mjs +15 -0
  710. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +42 -0
  711. package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +67 -0
  712. package/esm2022/lib/dashboard/filter/filter-loader.function.mjs +21 -0
  713. package/esm2022/lib/dashboard/filter/public-api.mjs +6 -0
  714. package/esm2022/lib/dashboard/guard/default-view.guard.mjs +41 -0
  715. package/esm2022/lib/dashboard/item-utils.mjs +167 -0
  716. package/esm2022/lib/dashboard/public-api.mjs +31 -0
  717. package/esm2022/lib/dashboard/resultset-utils.mjs +30 -0
  718. package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +37 -0
  719. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +76 -0
  720. package/esm2022/lib/dashboard/store/dashboard.contants.mjs +5 -0
  721. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +333 -0
  722. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +590 -0
  723. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +118 -0
  724. package/esm2022/lib/dashboard/store/geocoding.service.mjs +44 -0
  725. package/esm2022/lib/dashboard/store/manifest.service.mjs +95 -0
  726. package/esm2022/lib/dashboard/store/refresh.service.mjs +37 -0
  727. package/esm2022/lib/dashboard/store/title.service.mjs +39 -0
  728. package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +20 -0
  729. package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +16 -0
  730. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +15 -0
  731. package/esm2022/lib/dashboard/tooltip/public-api.mjs +6 -0
  732. package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +77 -0
  733. package/esm2022/lib/dashboard/tooltip/tooltip-loader.function.mjs +22 -0
  734. package/esm2022/lib/dashboard/widget-loader.function.mjs +22 -0
  735. package/esm2022/notification/components/notification/content/notification-content.component.mjs +62 -0
  736. package/esm2022/notification/components/notification/notification.component.mjs +59 -0
  737. package/esm2022/notification/i18n/en.translations.mjs +23 -0
  738. package/esm2022/notification/i18n/fr.translations.mjs +23 -0
  739. package/esm2022/notification/notification.module.mjs +53 -0
  740. package/esm2022/notification/provoly-dashboard-notification.mjs +5 -0
  741. package/esm2022/notification/public-api.mjs +9 -0
  742. package/esm2022/notification/store/notification.actions.mjs +9 -0
  743. package/esm2022/notification/store/notification.effects.mjs +37 -0
  744. package/esm2022/notification/store/notification.reducer.mjs +20 -0
  745. package/esm2022/notification/store/notification.selectors.mjs +9 -0
  746. package/esm2022/notification/store/notification.service.mjs +31 -0
  747. package/esm2022/notification/style/css.component.mjs +11 -0
  748. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +103 -0
  749. package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +101 -0
  750. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +305 -0
  751. package/esm2022/pipeline/components/pipeline-editor/pipeline.interface.mjs +7 -0
  752. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +174 -0
  753. package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +22 -0
  754. package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +58 -0
  755. package/esm2022/pipeline/i18n/en.translations.mjs +74 -0
  756. package/esm2022/pipeline/i18n/fr.translations.mjs +74 -0
  757. package/esm2022/pipeline/node-class/base-node.class.mjs +44 -0
  758. package/esm2022/pipeline/pipeline.module.mjs +83 -0
  759. package/esm2022/pipeline/provoly-dashboard-pipeline.mjs +5 -0
  760. package/esm2022/pipeline/public-api.mjs +17 -0
  761. package/esm2022/pipeline/store/pipeline.actions.mjs +15 -0
  762. package/esm2022/pipeline/store/pipeline.effects.mjs +71 -0
  763. package/esm2022/pipeline/store/pipeline.reducer.mjs +41 -0
  764. package/esm2022/pipeline/store/pipeline.selectors.mjs +18 -0
  765. package/esm2022/pipeline/store/pipeline.service.mjs +51 -0
  766. package/esm2022/pipeline/style/css.component.mjs +11 -0
  767. package/esm2022/pipeline-components/filter/component/filter.component.mjs +62 -0
  768. package/esm2022/pipeline-components/filter/filter.module.mjs +52 -0
  769. package/esm2022/pipeline-components/filter/i18n/en.translations.mjs +16 -0
  770. package/esm2022/pipeline-components/filter/i18n/fr.translations.mjs +16 -0
  771. package/esm2022/pipeline-components/filter/node-class/filter-node.class.mjs +10 -0
  772. package/esm2022/pipeline-components/filter/provoly-dashboard-pipeline-components-filter.mjs +5 -0
  773. package/esm2022/pipeline-components/filter/public-api.mjs +4 -0
  774. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +28 -0
  775. package/esm2022/pipeline-components/input-datasource/i18n/en.translations.mjs +8 -0
  776. package/esm2022/pipeline-components/input-datasource/i18n/fr.translations.mjs +8 -0
  777. package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +59 -0
  778. package/esm2022/pipeline-components/input-datasource/node-class/input-datasourse-node.class.mjs +16 -0
  779. package/esm2022/pipeline-components/input-datasource/provoly-dashboard-pipeline-components-input-datasource.mjs +5 -0
  780. package/esm2022/pipeline-components/input-datasource/public-api.mjs +4 -0
  781. package/esm2022/pipeline-components/noop/component/noop.component.mjs +18 -0
  782. package/esm2022/pipeline-components/noop/node-class/noop-node.class.mjs +10 -0
  783. package/esm2022/pipeline-components/noop/noop.module.mjs +46 -0
  784. package/esm2022/pipeline-components/noop/provoly-dashboard-pipeline-components-noop.mjs +5 -0
  785. package/esm2022/pipeline-components/noop/public-api.mjs +4 -0
  786. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +30 -0
  787. package/esm2022/pipeline-components/output-dataset/i18n/en.translations.mjs +8 -0
  788. package/esm2022/pipeline-components/output-dataset/i18n/fr.translations.mjs +8 -0
  789. package/esm2022/pipeline-components/output-dataset/node-class/output-dataset-node.class.mjs +17 -0
  790. package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +60 -0
  791. package/esm2022/pipeline-components/output-dataset/provoly-dashboard-pipeline-components-output-dataset.mjs +5 -0
  792. package/esm2022/pipeline-components/output-dataset/public-api.mjs +4 -0
  793. package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +18 -0
  794. package/esm2022/pipeline-components/subgraph/node-class/sub-graph-input.class.mjs +15 -0
  795. package/esm2022/pipeline-components/subgraph/node-class/sub-graph-node.class.mjs +96 -0
  796. package/esm2022/pipeline-components/subgraph/node-class/sub-graph-output.class.mjs +15 -0
  797. package/esm2022/pipeline-components/subgraph/provoly-dashboard-pipeline-components-subgraph.mjs +5 -0
  798. package/esm2022/pipeline-components/subgraph/public-api.mjs +6 -0
  799. package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +50 -0
  800. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +119 -0
  801. package/esm2022/presentation/components/presentation.component.mjs +231 -0
  802. package/esm2022/presentation/i18n/en.translations.mjs +40 -0
  803. package/esm2022/presentation/i18n/fr.translations.mjs +41 -0
  804. package/esm2022/presentation/presentation.module.mjs +72 -0
  805. package/esm2022/presentation/provoly-dashboard-presentation.mjs +5 -0
  806. package/esm2022/presentation/public-api.mjs +5 -0
  807. package/esm2022/presentation/style/css.component.mjs +11 -0
  808. package/esm2022/provoly-dashboard.mjs +5 -0
  809. package/esm2022/public-api.mjs +6 -0
  810. package/esm2022/restitution/components/restitution/restitution.component.mjs +216 -0
  811. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +114 -0
  812. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +68 -0
  813. package/esm2022/restitution/i18n/en.translations.mjs +44 -0
  814. package/esm2022/restitution/i18n/fr.translations.mjs +44 -0
  815. package/esm2022/restitution/model/restitution.model.mjs +2 -0
  816. package/esm2022/restitution/provoly-dashboard-restitution.mjs +5 -0
  817. package/esm2022/restitution/public-api.mjs +5 -0
  818. package/esm2022/restitution/restitution.module.mjs +86 -0
  819. package/esm2022/restitution/style/css.component.mjs +11 -0
  820. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +67 -0
  821. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +101 -0
  822. package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +55 -0
  823. package/esm2022/search/components/save-query/save-query.component.mjs +106 -0
  824. package/esm2022/search/components/save-query-button/save-query-button.component.mjs +76 -0
  825. package/esm2022/search/i18n/en.translations.mjs +132 -0
  826. package/esm2022/search/i18n/fr.translations.mjs +132 -0
  827. package/esm2022/search/provoly-dashboard-search.mjs +5 -0
  828. package/esm2022/search/public-api.mjs +13 -0
  829. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +207 -0
  830. package/esm2022/search/search-fulltext/store/search-fulltext.actions.mjs +6 -0
  831. package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +38 -0
  832. package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +22 -0
  833. package/esm2022/search/search-home/search-home.component.mjs +199 -0
  834. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +78 -0
  835. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +139 -0
  836. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +34 -0
  837. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +69 -0
  838. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +37 -0
  839. package/esm2022/search/search-mono-class/store/search-mono-class.actions.mjs +26 -0
  840. package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +112 -0
  841. package/esm2022/search/search-mono-class/store/search-mono-class.reducer.mjs +139 -0
  842. package/esm2022/search/search-mono-class/store/search-mono-class.selectors.mjs +38 -0
  843. package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +161 -0
  844. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +150 -0
  845. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +62 -0
  846. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +37 -0
  847. package/esm2022/search/search-multi-class/store/search-multi-class.actions.mjs +16 -0
  848. package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +66 -0
  849. package/esm2022/search/search-multi-class/store/search-multi-class.reducer.mjs +59 -0
  850. package/esm2022/search/search-multi-class/store/search-multi-class.selectors.mjs +32 -0
  851. package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +125 -0
  852. package/esm2022/search/search-tools/search-tools.component.mjs +151 -0
  853. package/esm2022/search/search.module.mjs +156 -0
  854. package/esm2022/search/style/css.component.mjs +11 -0
  855. package/esm2022/supervision/components/supervision-business-data/supervision-business-data.component.mjs +34 -0
  856. package/esm2022/supervision/components/supervision-flow/supervision-flow.component.mjs +33 -0
  857. package/esm2022/supervision/components/supervision-infrastructures/supervision-infrastructures.component.mjs +51 -0
  858. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +27 -0
  859. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +100 -0
  860. package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +47 -0
  861. package/esm2022/supervision/components/supervision-menu/supervision-menu.component.mjs +32 -0
  862. package/esm2022/supervision/components/supervision-title/supervision-title.component.mjs +24 -0
  863. package/esm2022/supervision/components/supervision.component.mjs +19 -0
  864. package/esm2022/supervision/i18n/en.translations.mjs +58 -0
  865. package/esm2022/supervision/i18n/fr.translations.mjs +58 -0
  866. package/esm2022/supervision/provoly-dashboard-supervision.mjs +5 -0
  867. package/esm2022/supervision/public-api.mjs +2 -0
  868. package/esm2022/supervision/store/supervision-api.model.mjs +2 -0
  869. package/esm2022/supervision/store/supervision.actions.mjs +33 -0
  870. package/esm2022/supervision/store/supervision.effects.mjs +60 -0
  871. package/esm2022/supervision/store/supervision.reducer.mjs +115 -0
  872. package/esm2022/supervision/store/supervision.selectors.mjs +35 -0
  873. package/esm2022/supervision/store/supervision.service.mjs +54 -0
  874. package/esm2022/supervision/supervision-routing.module.mjs +96 -0
  875. package/esm2022/supervision/supervision.module.mjs +96 -0
  876. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +24 -0
  877. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +43 -0
  878. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +27 -0
  879. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +235 -0
  880. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +24 -0
  881. package/esm2022/toolbox/components/named-query/named-query.component.mjs +35 -0
  882. package/esm2022/toolbox/components/save-view/save-view.component.mjs +207 -0
  883. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +109 -0
  884. package/esm2022/toolbox/components/toolbox.component.mjs +32 -0
  885. package/esm2022/toolbox/provoly-dashboard-toolbox.mjs +5 -0
  886. package/esm2022/toolbox/public-api.mjs +12 -0
  887. package/esm2022/toolbox/style/css.component.mjs +11 -0
  888. package/esm2022/toolbox/toolbox.module.mjs +107 -0
  889. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +33 -0
  890. package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +24 -0
  891. package/esm2022/tooltips/attribute/provoly-dashboard-tooltips-attribute.mjs +5 -0
  892. package/esm2022/tooltips/attribute/public-api.mjs +3 -0
  893. package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +12 -0
  894. package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +24 -0
  895. package/esm2022/tooltips/cluster/provoly-dashboard-tooltips-cluster.mjs +5 -0
  896. package/esm2022/tooltips/cluster/public-api.mjs +3 -0
  897. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +633 -0
  898. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +104 -0
  899. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +104 -0
  900. package/esm2022/widgets/widget-aggregated-chart/provoly-dashboard-widgets-widget-aggregated-chart.mjs +5 -0
  901. package/esm2022/widgets/widget-aggregated-chart/public-api.mjs +6 -0
  902. package/esm2022/widgets/widget-aggregated-chart/service/backend-aggregation.service.mjs +103 -0
  903. package/esm2022/widgets/widget-aggregated-chart/service/base-aggregation.service.mjs +16 -0
  904. package/esm2022/widgets/widget-aggregated-chart/service/frontend-aggregation.service.mjs +206 -0
  905. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +11 -0
  906. package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +72 -0
  907. package/esm2022/widgets/widget-chart/component/vega-error.handler.mjs +36 -0
  908. package/esm2022/widgets/widget-chart/component/vega-spec.constant.mjs +248 -0
  909. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +652 -0
  910. package/esm2022/widgets/widget-chart/i18n/en.translations.mjs +114 -0
  911. package/esm2022/widgets/widget-chart/i18n/fr.translations.mjs +114 -0
  912. package/esm2022/widgets/widget-chart/provoly-dashboard-widgets-widget-chart.mjs +5 -0
  913. package/esm2022/widgets/widget-chart/public-api.mjs +3 -0
  914. package/esm2022/widgets/widget-chart/style/css.component.mjs +11 -0
  915. package/esm2022/widgets/widget-chart/widget-chart.module.mjs +70 -0
  916. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +131 -0
  917. package/esm2022/widgets/widget-detail/i18n/en.translations.mjs +14 -0
  918. package/esm2022/widgets/widget-detail/i18n/fr.translations.mjs +14 -0
  919. package/esm2022/widgets/widget-detail/provoly-dashboard-widgets-widget-detail.mjs +5 -0
  920. package/esm2022/widgets/widget-detail/public-api.mjs +3 -0
  921. package/esm2022/widgets/widget-detail/style/css.component.mjs +11 -0
  922. package/esm2022/widgets/widget-detail/widget-detail.module.mjs +64 -0
  923. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +448 -0
  924. package/esm2022/widgets/widget-graph/i18n/en.translations.mjs +15 -0
  925. package/esm2022/widgets/widget-graph/i18n/fr.translations.mjs +15 -0
  926. package/esm2022/widgets/widget-graph/layout/node.interface.mjs +2 -0
  927. package/esm2022/widgets/widget-graph/layout/simple.function.mjs +99 -0
  928. package/esm2022/widgets/widget-graph/provoly-dashboard-widgets-widget-graph.mjs +5 -0
  929. package/esm2022/widgets/widget-graph/public-api.mjs +4 -0
  930. package/esm2022/widgets/widget-graph/style/css.component.mjs +11 -0
  931. package/esm2022/widgets/widget-graph/widget-graph.module.mjs +73 -0
  932. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +53 -0
  933. package/esm2022/widgets/widget-iframe/i18n/en.translations.mjs +11 -0
  934. package/esm2022/widgets/widget-iframe/i18n/fr.translations.mjs +11 -0
  935. package/esm2022/widgets/widget-iframe/messaging/iframe-message-type.interface.mjs +2 -0
  936. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +30 -0
  937. package/esm2022/widgets/widget-iframe/provoly-dashboard-widgets-widget-iframe.mjs +5 -0
  938. package/esm2022/widgets/widget-iframe/public-api.mjs +5 -0
  939. package/esm2022/widgets/widget-iframe/style/css.component.mjs +11 -0
  940. package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +66 -0
  941. package/esm2022/widgets/widget-image/component/widget-image.component.mjs +33 -0
  942. package/esm2022/widgets/widget-image/provoly-dashboard-widgets-widget-image.mjs +5 -0
  943. package/esm2022/widgets/widget-image/public-api.mjs +3 -0
  944. package/esm2022/widgets/widget-image/style/css.component.mjs +11 -0
  945. package/esm2022/widgets/widget-image/widget-image.module.mjs +24 -0
  946. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +317 -0
  947. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +822 -0
  948. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +81 -0
  949. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +81 -0
  950. package/esm2022/widgets/widget-map/interaction/selection-interaction.class.mjs +170 -0
  951. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +52 -0
  952. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +22 -0
  953. package/esm2022/widgets/widget-map/provoly-dashboard-widgets-widget-map.mjs +5 -0
  954. package/esm2022/widgets/widget-map/public-api.mjs +7 -0
  955. package/esm2022/widgets/widget-map/reader/kmz-zip-reader.class.mjs +57 -0
  956. package/esm2022/widgets/widget-map/reader/map-formats-reader.class.mjs +37 -0
  957. package/esm2022/widgets/widget-map/reader/random-color-style.function.mjs +32 -0
  958. package/esm2022/widgets/widget-map/reader/read-as-text.class.mjs +30 -0
  959. package/esm2022/widgets/widget-map/reader/shp-zip-reader.class.mjs +35 -0
  960. package/esm2022/widgets/widget-map/search-bar/search-bar.control.mjs +66 -0
  961. package/esm2022/widgets/widget-map/style/css.component.mjs +11 -0
  962. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +229 -0
  963. package/esm2022/widgets/widget-map/widget-map.module.mjs +72 -0
  964. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +187 -0
  965. package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +30 -0
  966. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +32 -0
  967. package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +29 -0
  968. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +43 -0
  969. package/esm2022/widgets/widget-table/i18n/en.translations.mjs +15 -0
  970. package/esm2022/widgets/widget-table/i18n/fr.translations.mjs +15 -0
  971. package/esm2022/widgets/widget-table/provoly-dashboard-widgets-widget-table.mjs +5 -0
  972. package/esm2022/widgets/widget-table/public-api.mjs +6 -0
  973. package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +21 -0
  974. package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +34 -0
  975. package/esm2022/widgets/widget-table/style/css.component.mjs +11 -0
  976. package/esm2022/widgets/widget-table/widget-table.module.mjs +86 -0
  977. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +86 -0
  978. package/esm2022/widgets/widget-template/provoly-dashboard-widgets-widget-template.mjs +5 -0
  979. package/esm2022/widgets/widget-template/public-api.mjs +3 -0
  980. package/esm2022/widgets/widget-template/style/css.component.mjs +11 -0
  981. package/esm2022/widgets/widget-template/widget-template.module.mjs +52 -0
  982. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +114 -0
  983. package/esm2022/widgets/widget-tile/i18n/en.translations.mjs +13 -0
  984. package/esm2022/widgets/widget-tile/i18n/fr.translations.mjs +13 -0
  985. package/esm2022/widgets/widget-tile/provoly-dashboard-widgets-widget-tile.mjs +5 -0
  986. package/esm2022/widgets/widget-tile/public-api.mjs +3 -0
  987. package/esm2022/widgets/widget-tile/style/css.component.mjs +11 -0
  988. package/esm2022/widgets/widget-tile/widget-tile.module.mjs +72 -0
  989. package/fesm2022/provoly-dashboard-admin.mjs +6992 -0
  990. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -0
  991. package/fesm2022/provoly-dashboard-components-card.mjs +312 -0
  992. package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -0
  993. package/fesm2022/provoly-dashboard-components-checkbox.mjs +81 -0
  994. package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -0
  995. package/fesm2022/provoly-dashboard-components-expand-panel.mjs +88 -0
  996. package/fesm2022/provoly-dashboard-components-expand-panel.mjs.map +1 -0
  997. package/fesm2022/provoly-dashboard-components-filter.mjs +36 -0
  998. package/fesm2022/provoly-dashboard-components-filter.mjs.map +1 -0
  999. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +60 -0
  1000. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -0
  1001. package/fesm2022/provoly-dashboard-components-stepper.mjs +175 -0
  1002. package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -0
  1003. package/fesm2022/provoly-dashboard-dataset.mjs +268 -0
  1004. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -0
  1005. package/fesm2022/provoly-dashboard-filters-date.mjs +85 -0
  1006. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -0
  1007. package/fesm2022/provoly-dashboard-filters-list.mjs +65 -0
  1008. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -0
  1009. package/fesm2022/provoly-dashboard-filters-number.mjs +53 -0
  1010. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -0
  1011. package/fesm2022/provoly-dashboard-filters-text.mjs +56 -0
  1012. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -0
  1013. package/fesm2022/provoly-dashboard-import.mjs +302 -0
  1014. package/fesm2022/provoly-dashboard-import.mjs.map +1 -0
  1015. package/fesm2022/provoly-dashboard-notification.mjs +303 -0
  1016. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -0
  1017. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +154 -0
  1018. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -0
  1019. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +116 -0
  1020. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -0
  1021. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +76 -0
  1022. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs.map +1 -0
  1023. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +120 -0
  1024. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -0
  1025. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +188 -0
  1026. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs.map +1 -0
  1027. package/fesm2022/provoly-dashboard-pipeline.mjs +1183 -0
  1028. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -0
  1029. package/fesm2022/provoly-dashboard-presentation.mjs +498 -0
  1030. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -0
  1031. package/fesm2022/provoly-dashboard-restitution.mjs +557 -0
  1032. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -0
  1033. package/fesm2022/provoly-dashboard-search.mjs +2590 -0
  1034. package/fesm2022/provoly-dashboard-search.mjs.map +1 -0
  1035. package/fesm2022/provoly-dashboard-supervision.mjs +866 -0
  1036. package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -0
  1037. package/fesm2022/provoly-dashboard-toolbox.mjs +774 -0
  1038. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -0
  1039. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +60 -0
  1040. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -0
  1041. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +39 -0
  1042. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs.map +1 -0
  1043. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +1228 -0
  1044. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -0
  1045. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1238 -0
  1046. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -0
  1047. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +230 -0
  1048. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -0
  1049. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +656 -0
  1050. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -0
  1051. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +173 -0
  1052. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -0
  1053. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +67 -0
  1054. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -0
  1055. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +2055 -0
  1056. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -0
  1057. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +464 -0
  1058. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -0
  1059. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +148 -0
  1060. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -0
  1061. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +219 -0
  1062. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -0
  1063. package/fesm2022/provoly-dashboard.mjs +10650 -0
  1064. package/fesm2022/provoly-dashboard.mjs.map +1 -0
  1065. package/filters/date/date-filter.component.d.ts +17 -0
  1066. package/filters/date/date-filter.module.d.ts +15 -0
  1067. package/filters/date/index.d.ts +5 -0
  1068. package/filters/date/public-api.d.ts +3 -0
  1069. package/filters/date/style/_m-date.scss +6 -0
  1070. package/filters/date/style/css.component.d.ts +5 -0
  1071. package/filters/list/index.d.ts +5 -0
  1072. package/filters/list/list-filter.component.d.ts +12 -0
  1073. package/filters/list/list-filter.module.d.ts +14 -0
  1074. package/filters/list/public-api.d.ts +3 -0
  1075. package/filters/list/style/_m-list.scss +7 -0
  1076. package/filters/list/style/css.component.d.ts +5 -0
  1077. package/filters/number/index.d.ts +5 -0
  1078. package/filters/number/number-filter.component.d.ts +11 -0
  1079. package/filters/number/number-filter.module.d.ts +14 -0
  1080. package/filters/number/public-api.d.ts +2 -0
  1081. package/filters/text/index.d.ts +5 -0
  1082. package/filters/text/public-api.d.ts +2 -0
  1083. package/filters/text/text-filter.component.d.ts +12 -0
  1084. package/filters/text/text-filter.module.d.ts +14 -0
  1085. package/import/components/import.component.d.ts +29 -0
  1086. package/import/i18n/en.translations.d.ts +27 -0
  1087. package/import/i18n/fr.translations.d.ts +27 -0
  1088. package/import/import-routing.module.d.ts +7 -0
  1089. package/import/import.module.d.ts +17 -0
  1090. package/import/index.d.ts +5 -0
  1091. package/import/public-api.d.ts +2 -0
  1092. package/import/store/import.actions.d.ts +33 -0
  1093. package/import/store/import.effects.d.ts +18 -0
  1094. package/import/store/import.reducer.d.ts +11 -0
  1095. package/import/store/import.selectors.d.ts +9 -0
  1096. package/import/store/import.service.d.ts +12 -0
  1097. package/import/style/_o-import.scss +51 -0
  1098. package/import/style/css.component.d.ts +5 -0
  1099. package/index.d.ts +5 -0
  1100. package/lib/core/access/access.directive.d.ts +16 -0
  1101. package/lib/core/access/access.guard.d.ts +13 -0
  1102. package/lib/core/access/access.model.d.ts +24 -0
  1103. package/lib/core/access/access.service.d.ts +13 -0
  1104. package/lib/core/access/access.utils.d.ts +6 -0
  1105. package/lib/core/components/base-layout/base-layout.component.d.ts +20 -0
  1106. package/lib/core/components/base-menu/base-menu.component.d.ts +27 -0
  1107. package/lib/core/components/base-toolbox/base-toolbox-action.interface.d.ts +12 -0
  1108. package/lib/core/components/base-toolbox/base-toolbox.component.d.ts +10 -0
  1109. package/lib/core/components/base-toolbox-action/base-toolbox-action.component.d.ts +23 -0
  1110. package/lib/core/components/date-picker/date-picker.component.d.ts +47 -0
  1111. package/lib/core/components/date-picker/date-picker.module.d.ts +14 -0
  1112. package/lib/core/components/date-picker/date-range-highlight.pipe.d.ts +8 -0
  1113. package/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.d.ts +26 -0
  1114. package/lib/core/components/date-picker/time-picker/time-picker.component.d.ts +28 -0
  1115. package/lib/core/components/edit-input/edit-input.component.d.ts +21 -0
  1116. package/lib/core/components/edit-input/edit-input.module.d.ts +11 -0
  1117. package/lib/core/components/get-secured-image/get-secured-image.pipe.d.ts +16 -0
  1118. package/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.d.ts +12 -0
  1119. package/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.d.ts +9 -0
  1120. package/lib/core/components/icon/icon.component.d.ts +32 -0
  1121. package/lib/core/components/icon/icon.module.d.ts +8 -0
  1122. package/lib/core/components/modal/modal.component.d.ts +11 -0
  1123. package/lib/core/components/modal/pry-modal.module.d.ts +11 -0
  1124. package/lib/core/components/modalStatus/modalStatus.component.d.ts +17 -0
  1125. package/lib/core/components/modalStatus/modalStatus.module.d.ts +13 -0
  1126. package/lib/core/components/nq-color-selector/nq-color-selector.component.d.ts +23 -0
  1127. package/lib/core/components/overlay/dialog-confirm.component.d.ts +29 -0
  1128. package/lib/core/components/overlay/dialog-ref.d.ts +9 -0
  1129. package/lib/core/components/overlay/dialog.service.d.ts +27 -0
  1130. package/lib/core/components/overlay/overlay.constantes.d.ts +4 -0
  1131. package/lib/core/components/overlay/overlay.directive.d.ts +27 -0
  1132. package/lib/core/components/overlay/overlay.module.d.ts +13 -0
  1133. package/lib/core/components/overlay/tooltip.directive.d.ts +28 -0
  1134. package/lib/core/components/range/range.component.d.ts +35 -0
  1135. package/lib/core/components/range/range.module.d.ts +9 -0
  1136. package/lib/core/components/select/select.component.d.ts +42 -0
  1137. package/lib/core/components/select/select.module.d.ts +12 -0
  1138. package/lib/core/components/select-image/select-image.component.d.ts +28 -0
  1139. package/lib/core/components/share/share.component.d.ts +31 -0
  1140. package/lib/core/components/share/share.model.d.ts +9 -0
  1141. package/lib/core/components/share/share.module.d.ts +11 -0
  1142. package/lib/core/components/snackbar/snack.interface.d.ts +6 -0
  1143. package/lib/core/components/snackbar/snackbar/snackbar.component.d.ts +25 -0
  1144. package/lib/core/components/snackbar/snackbar.module.d.ts +9 -0
  1145. package/lib/core/components/snackbar/snackbar.service.d.ts +22 -0
  1146. package/lib/core/components/sort/sort-data.pipe.d.ts +10 -0
  1147. package/lib/core/components/sort/sort-header/sort-header.component.d.ts +16 -0
  1148. package/lib/core/components/sort/sort-header.directive.d.ts +5 -0
  1149. package/lib/core/components/sort/sort-table.directive.d.ts +17 -0
  1150. package/lib/core/components/sort/sort.model.d.ts +4 -0
  1151. package/lib/core/components/sort/sort.module.d.ts +12 -0
  1152. package/lib/core/components/title-presentation/title-presentation.component.d.ts +12 -0
  1153. package/lib/core/components/toggle/toggle.component.d.ts +31 -0
  1154. package/lib/core/components/toggle/toggle.module.d.ts +10 -0
  1155. package/lib/core/components/translate-id/translate-id.pipe.d.ts +20 -0
  1156. package/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.d.ts +18 -0
  1157. package/lib/core/components/upload/upload.component.d.ts +19 -0
  1158. package/lib/core/core.module.d.ts +36 -0
  1159. package/lib/core/errors/http-error-interceptor.service.d.ts +16 -0
  1160. package/lib/core/i18n/deep-merge.function.d.ts +1 -0
  1161. package/lib/core/i18n/en.translations.d.ts +322 -0
  1162. package/lib/core/i18n/fr.translations.d.ts +322 -0
  1163. package/lib/core/i18n/i18n.module.d.ts +7 -0
  1164. package/lib/core/i18n/i18n.pipe.d.ts +16 -0
  1165. package/lib/core/i18n/i18n.service.d.ts +35 -0
  1166. package/lib/core/model/admin-api.model.d.ts +111 -0
  1167. package/lib/core/model/dataset.interface.d.ts +29 -0
  1168. package/lib/core/model/filter.interface.d.ts +20 -0
  1169. package/lib/core/model/item.interface.d.ts +38 -0
  1170. package/lib/core/model/manifest.interface.d.ts +84 -0
  1171. package/lib/core/model/mimetype-resultset.constant.d.ts +1 -0
  1172. package/lib/core/model/notification-interface.d.ts +13 -0
  1173. package/lib/core/model/public-api.d.ts +24 -0
  1174. package/lib/core/model/relation.interface.d.ts +5 -0
  1175. package/lib/core/model/result-order.interface.d.ts +5 -0
  1176. package/lib/core/model/result-set.interface.d.ts +19 -0
  1177. package/lib/core/model/search-mono-class.model.d.ts +49 -0
  1178. package/lib/core/model/search-multi-class.model.d.ts +38 -0
  1179. package/lib/core/model/tooltip-of-class.interface.d.ts +4 -0
  1180. package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +60 -0
  1181. package/lib/core/model/widget-chart-manifest.interface.d.ts +150 -0
  1182. package/lib/core/model/widget-detail-manifest.interface.d.ts +4 -0
  1183. package/lib/core/model/widget-graph-manifest.interface.d.ts +14 -0
  1184. package/lib/core/model/widget-iframe-manifest.interface.d.ts +3 -0
  1185. package/lib/core/model/widget-image-manifest.interface.d.ts +4 -0
  1186. package/lib/core/model/widget-map-manifest.interface.d.ts +97 -0
  1187. package/lib/core/model/widget-table-manifest.interface.d.ts +9 -0
  1188. package/lib/core/model/widget-template-manifest.interface.d.ts +5 -0
  1189. package/lib/core/model/widget-tile-manifest.interface.d.ts +10 -0
  1190. package/lib/core/model/widget.interface.d.ts +13 -0
  1191. package/lib/core/public-api.d.ts +113 -0
  1192. package/lib/core/store/category/category.actions.d.ts +14 -0
  1193. package/lib/core/store/category/category.effects.d.ts +15 -0
  1194. package/lib/core/store/category/category.interface.d.ts +4 -0
  1195. package/lib/core/store/category/category.reducer.d.ts +11 -0
  1196. package/lib/core/store/category/category.selectors.d.ts +6 -0
  1197. package/lib/core/store/category/category.service.d.ts +13 -0
  1198. package/lib/core/store/class/class.actions.d.ts +37 -0
  1199. package/lib/core/store/class/class.effects.d.ts +25 -0
  1200. package/lib/core/store/class/class.interface.d.ts +19 -0
  1201. package/lib/core/store/class/class.reducer.d.ts +15 -0
  1202. package/lib/core/store/class/class.selectors.d.ts +14 -0
  1203. package/lib/core/store/class/class.service.d.ts +22 -0
  1204. package/lib/core/store/config/config.actions.d.ts +185 -0
  1205. package/lib/core/store/config/config.effects.d.ts +51 -0
  1206. package/lib/core/store/config/config.reducer.d.ts +37 -0
  1207. package/lib/core/store/config/config.selectors.d.ts +52 -0
  1208. package/lib/core/store/config/config.service.d.ts +51 -0
  1209. package/lib/core/store/config/config.widget.constants.d.ts +12 -0
  1210. package/lib/core/store/config/icon-definitions.interface.d.ts +34 -0
  1211. package/lib/core/store/config/open-map-tiles.service.d.ts +17 -0
  1212. package/lib/core/store/context-menu/context-menu.actions.d.ts +18 -0
  1213. package/lib/core/store/context-menu/context-menu.effects.d.ts +8 -0
  1214. package/lib/core/store/context-menu/context-menu.reducer.d.ts +12 -0
  1215. package/lib/core/store/context-menu/context-menu.selectors.d.ts +16 -0
  1216. package/lib/core/store/data-source/data-source.actions.d.ts +238 -0
  1217. package/lib/core/store/data-source/data-source.effects.d.ts +106 -0
  1218. package/lib/core/store/data-source/data-source.model.d.ts +32 -0
  1219. package/lib/core/store/data-source/data-source.reducer.d.ts +21 -0
  1220. package/lib/core/store/data-source/data-source.selectors.d.ts +31 -0
  1221. package/lib/core/store/data-source/data-source.service.d.ts +40 -0
  1222. package/lib/core/store/data-source/named-query-types.model.d.ts +5 -0
  1223. package/lib/core/store/data-source/named-query-utils.d.ts +6 -0
  1224. package/lib/core/store/field/field.actions.d.ts +14 -0
  1225. package/lib/core/store/field/field.effects.d.ts +15 -0
  1226. package/lib/core/store/field/field.interface.d.ts +21 -0
  1227. package/lib/core/store/field/field.reducer.d.ts +11 -0
  1228. package/lib/core/store/field/field.selectors.d.ts +7 -0
  1229. package/lib/core/store/field/field.service.d.ts +15 -0
  1230. package/lib/core/store/image/image.actions.d.ts +32 -0
  1231. package/lib/core/store/image/image.effects.d.ts +20 -0
  1232. package/lib/core/store/image/image.reducer.d.ts +9 -0
  1233. package/lib/core/store/image/image.selectors.d.ts +7 -0
  1234. package/lib/core/store/image/image.service.d.ts +29 -0
  1235. package/lib/core/store/item/item.actions.d.ts +18 -0
  1236. package/lib/core/store/item/item.effects.d.ts +27 -0
  1237. package/lib/core/store/item/item.service.d.ts +28 -0
  1238. package/lib/core/store/raw/raw.service.d.ts +18 -0
  1239. package/lib/core/store/relation-types/relation-types.actions.d.ts +65 -0
  1240. package/lib/core/store/relation-types/relation-types.effects.d.ts +31 -0
  1241. package/lib/core/store/relation-types/relation-types.interface.d.ts +8 -0
  1242. package/lib/core/store/relation-types/relation-types.reducer.d.ts +11 -0
  1243. package/lib/core/store/relation-types/relation-types.selectors.d.ts +8 -0
  1244. package/lib/core/store/relation-types/relation-types.service.d.ts +17 -0
  1245. package/lib/core/store/search/lat-lon-to-geographic-field-transformation.function.d.ts +2 -0
  1246. package/lib/core/store/search/search.actions.d.ts +33 -0
  1247. package/lib/core/store/search/search.constants.d.ts +2 -0
  1248. package/lib/core/store/search/search.effects.d.ts +33 -0
  1249. package/lib/core/store/search/search.reducer.d.ts +10 -0
  1250. package/lib/core/store/search/search.selectors.d.ts +5 -0
  1251. package/lib/core/store/search/search.service.d.ts +50 -0
  1252. package/lib/core/symbol/symbol.service.d.ts +27 -0
  1253. package/lib/core/toolbox/toolbox-manifest.service.d.ts +21 -0
  1254. package/lib/core/toolbox/toolbox-menu.service.d.ts +45 -0
  1255. package/lib/core/ws/websocket.service.d.ts +26 -0
  1256. package/lib/dashboard/action-bus/bus-action.interface.d.ts +4 -0
  1257. package/lib/dashboard/action-bus/effect/action-bus.effects.d.ts +13 -0
  1258. package/lib/dashboard/action-bus/service/bus.service.d.ts +22 -0
  1259. package/lib/dashboard/action-bus/service/control-message.interface.d.ts +6 -0
  1260. package/lib/dashboard/base-widget.module.d.ts +9 -0
  1261. package/lib/dashboard/components/context-menu/context-menu.component.d.ts +59 -0
  1262. package/lib/dashboard/components/context-menu/object-edition/object-edition.component.d.ts +78 -0
  1263. package/lib/dashboard/components/dashboard.component.d.ts +99 -0
  1264. package/lib/dashboard/components/manifests/manifests.component.d.ts +20 -0
  1265. package/lib/dashboard/components/metadata/metadata.component.d.ts +16 -0
  1266. package/lib/dashboard/components/solve-collisions.function.d.ts +15 -0
  1267. package/lib/dashboard/components/subscriptionner.directive.d.ts +9 -0
  1268. package/lib/dashboard/components/vizualize-raw/vizualize-raw.component.d.ts +26 -0
  1269. package/lib/dashboard/components/widgets/base-widget.component.d.ts +36 -0
  1270. package/lib/dashboard/components/widgets/data-widget.component.d.ts +20 -0
  1271. package/lib/dashboard/components/widgets/header/resultset-size.pipe.d.ts +18 -0
  1272. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +115 -0
  1273. package/lib/dashboard/components/widgets/public-api.d.ts +9 -0
  1274. package/lib/dashboard/components/widgets/settings/settings.component.d.ts +35 -0
  1275. package/lib/dashboard/components/widgets/widget-filler/widget-filler.component.d.ts +10 -0
  1276. package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +24 -0
  1277. package/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.d.ts +34 -0
  1278. package/lib/dashboard/components/widgets/widget-instanciator/widgets-definition.model.d.ts +11 -0
  1279. package/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.d.ts +9 -0
  1280. package/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.d.ts +39 -0
  1281. package/lib/dashboard/dashboard.module.d.ts +59 -0
  1282. package/lib/dashboard/date-utils.d.ts +3 -0
  1283. package/lib/dashboard/filter/base-filter.component.d.ts +13 -0
  1284. package/lib/dashboard/filter/base-filter.module.d.ts +9 -0
  1285. package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +20 -0
  1286. package/lib/dashboard/filter/filter-factory.service.d.ts +40 -0
  1287. package/lib/dashboard/filter/filter-loader.function.d.ts +3 -0
  1288. package/lib/dashboard/filter/public-api.d.ts +5 -0
  1289. package/lib/dashboard/guard/default-view.guard.d.ts +14 -0
  1290. package/lib/dashboard/item-utils.d.ts +35 -0
  1291. package/lib/dashboard/public-api.d.ts +30 -0
  1292. package/lib/dashboard/resultset-utils.d.ts +4 -0
  1293. package/lib/dashboard/store/dashboard-init.service.d.ts +20 -0
  1294. package/lib/dashboard/store/dashboard.actions.d.ts +455 -0
  1295. package/lib/dashboard/store/dashboard.contants.d.ts +4 -0
  1296. package/lib/dashboard/store/dashboard.effects.d.ts +226 -0
  1297. package/lib/dashboard/store/dashboard.reducers.d.ts +48 -0
  1298. package/lib/dashboard/store/dashboard.selectors.d.ts +374 -0
  1299. package/lib/dashboard/store/geocoding.service.d.ts +56 -0
  1300. package/lib/dashboard/store/manifest.service.d.ts +26 -0
  1301. package/lib/dashboard/store/refresh.service.d.ts +12 -0
  1302. package/lib/dashboard/store/title.service.d.ts +17 -0
  1303. package/lib/dashboard/tooltip/base-tooltip.component.d.ts +15 -0
  1304. package/lib/dashboard/tooltip/base-tooltip.module.d.ts +9 -0
  1305. package/lib/dashboard/tooltip/components/default/default.tooltip.component.d.ts +6 -0
  1306. package/lib/dashboard/tooltip/public-api.d.ts +5 -0
  1307. package/lib/dashboard/tooltip/tooltip-factory.service.d.ts +42 -0
  1308. package/lib/dashboard/tooltip/tooltip-loader.function.d.ts +3 -0
  1309. package/lib/dashboard/widget-loader.function.d.ts +3 -0
  1310. package/notification/components/notification/content/notification-content.component.d.ts +25 -0
  1311. package/notification/components/notification/notification.component.d.ts +20 -0
  1312. package/notification/i18n/en.translations.d.ts +22 -0
  1313. package/notification/i18n/fr.translations.d.ts +22 -0
  1314. package/notification/index.d.ts +5 -0
  1315. package/notification/notification.module.d.ts +17 -0
  1316. package/notification/public-api.d.ts +9 -0
  1317. package/notification/store/notification.actions.d.ts +20 -0
  1318. package/notification/store/notification.effects.d.ts +18 -0
  1319. package/notification/store/notification.reducer.d.ts +6 -0
  1320. package/notification/store/notification.selectors.d.ts +5 -0
  1321. package/notification/store/notification.service.d.ts +12 -0
  1322. package/notification/style/_m-notifications.scss +127 -0
  1323. package/notification/style/css.component.d.ts +5 -0
  1324. package/package.json +266 -0
  1325. package/pipeline/components/pipeline-details/pipeline-details.component.d.ts +27 -0
  1326. package/pipeline/components/pipeline-editor/graph-serializer.utils.d.ts +8 -0
  1327. package/pipeline/components/pipeline-editor/pipeline-editor.component.d.ts +73 -0
  1328. package/pipeline/components/pipeline-editor/pipeline.interface.d.ts +52 -0
  1329. package/pipeline/components/pipeline-list/pipeline-list.component.d.ts +46 -0
  1330. package/pipeline/components/pipeline-properties-panel.component.d.ts +11 -0
  1331. package/pipeline/factory/pipeline-component-factory.service.d.ts +29 -0
  1332. package/pipeline/i18n/en.translations.d.ts +73 -0
  1333. package/pipeline/i18n/fr.translations.d.ts +73 -0
  1334. package/pipeline/index.d.ts +5 -0
  1335. package/pipeline/node-class/base-node.class.d.ts +13 -0
  1336. package/pipeline/pipeline.module.d.ts +20 -0
  1337. package/pipeline/public-api.d.ts +16 -0
  1338. package/pipeline/store/pipeline.actions.d.ts +81 -0
  1339. package/pipeline/store/pipeline.effects.d.ts +30 -0
  1340. package/pipeline/store/pipeline.reducer.d.ts +13 -0
  1341. package/pipeline/store/pipeline.selectors.d.ts +8 -0
  1342. package/pipeline/store/pipeline.service.d.ts +19 -0
  1343. package/pipeline/style/_o-pipeline.scss +274 -0
  1344. package/pipeline/style/css.component.d.ts +5 -0
  1345. package/pipeline-components/filter/component/filter.component.d.ts +16 -0
  1346. package/pipeline-components/filter/filter.module.d.ts +15 -0
  1347. package/pipeline-components/filter/i18n/en.translations.d.ts +15 -0
  1348. package/pipeline-components/filter/i18n/fr.translations.d.ts +15 -0
  1349. package/pipeline-components/filter/index.d.ts +5 -0
  1350. package/pipeline-components/filter/node-class/filter-node.class.d.ts +4 -0
  1351. package/pipeline-components/filter/public-api.d.ts +3 -0
  1352. package/pipeline-components/input-datasource/component/input-datasource.component.d.ts +13 -0
  1353. package/pipeline-components/input-datasource/i18n/en.translations.d.ts +10 -0
  1354. package/pipeline-components/input-datasource/i18n/fr.translations.d.ts +10 -0
  1355. package/pipeline-components/input-datasource/index.d.ts +5 -0
  1356. package/pipeline-components/input-datasource/input-datasource.module.d.ts +17 -0
  1357. package/pipeline-components/input-datasource/node-class/input-datasourse-node.class.d.ts +5 -0
  1358. package/pipeline-components/input-datasource/public-api.d.ts +3 -0
  1359. package/pipeline-components/noop/component/noop.component.d.ts +7 -0
  1360. package/pipeline-components/noop/index.d.ts +5 -0
  1361. package/pipeline-components/noop/node-class/noop-node.class.d.ts +4 -0
  1362. package/pipeline-components/noop/noop.module.d.ts +13 -0
  1363. package/pipeline-components/noop/public-api.d.ts +3 -0
  1364. package/pipeline-components/output-dataset/component/output-dataset.component.d.ts +13 -0
  1365. package/pipeline-components/output-dataset/i18n/en.translations.d.ts +9 -0
  1366. package/pipeline-components/output-dataset/i18n/fr.translations.d.ts +9 -0
  1367. package/pipeline-components/output-dataset/index.d.ts +5 -0
  1368. package/pipeline-components/output-dataset/node-class/output-dataset-node.class.d.ts +5 -0
  1369. package/pipeline-components/output-dataset/output-dataset.module.d.ts +17 -0
  1370. package/pipeline-components/output-dataset/public-api.d.ts +3 -0
  1371. package/pipeline-components/subgraph/component/empty.component.d.ts +7 -0
  1372. package/pipeline-components/subgraph/index.d.ts +5 -0
  1373. package/pipeline-components/subgraph/node-class/sub-graph-input.class.d.ts +4 -0
  1374. package/pipeline-components/subgraph/node-class/sub-graph-node.class.d.ts +17 -0
  1375. package/pipeline-components/subgraph/node-class/sub-graph-output.class.d.ts +4 -0
  1376. package/pipeline-components/subgraph/public-api.d.ts +5 -0
  1377. package/pipeline-components/subgraph/subgraph.module.d.ts +13 -0
  1378. package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +28 -0
  1379. package/presentation/components/presentation.component.d.ts +55 -0
  1380. package/presentation/i18n/en.translations.d.ts +39 -0
  1381. package/presentation/i18n/fr.translations.d.ts +40 -0
  1382. package/presentation/index.d.ts +5 -0
  1383. package/presentation/presentation.module.d.ts +18 -0
  1384. package/presentation/public-api.d.ts +4 -0
  1385. package/presentation/style/_o-pry-new-presentation.scss +78 -0
  1386. package/presentation/style/_o-pry-presentation.scss +93 -0
  1387. package/presentation/style/css.component.d.ts +5 -0
  1388. package/public-api.d.ts +2 -0
  1389. package/restitution/components/restitution/restitution.component.d.ts +54 -0
  1390. package/restitution/components/restitution-catalog/restitution-catalog.component.d.ts +40 -0
  1391. package/restitution/components/restitution-list/restitution-list.component.d.ts +33 -0
  1392. package/restitution/i18n/en.translations.d.ts +43 -0
  1393. package/restitution/i18n/fr.translations.d.ts +43 -0
  1394. package/restitution/index.d.ts +5 -0
  1395. package/restitution/model/restitution.model.d.ts +8 -0
  1396. package/restitution/public-api.d.ts +4 -0
  1397. package/restitution/restitution.module.d.ts +21 -0
  1398. package/restitution/style/_o-restitution-list.scss +161 -0
  1399. package/restitution/style/_o-restitution.scss +32 -0
  1400. package/restitution/style/css.component.d.ts +5 -0
  1401. package/search/components/choose-widget/choose-widget.component.d.ts +34 -0
  1402. package/search/components/edit-named-query/edit-named-query.component.d.ts +37 -0
  1403. package/search/components/edit-named-query-modal/edit-named-query-modal.component.d.ts +17 -0
  1404. package/search/components/save-query/save-query.component.d.ts +36 -0
  1405. package/search/components/save-query-button/save-query-button.component.d.ts +23 -0
  1406. package/search/i18n/en.translations.d.ts +131 -0
  1407. package/search/i18n/fr.translations.d.ts +131 -0
  1408. package/search/index.d.ts +5 -0
  1409. package/search/public-api.d.ts +12 -0
  1410. package/search/search-fulltext/search-fulltext/search-fulltext.component.d.ts +56 -0
  1411. package/search/search-fulltext/store/search-fulltext.actions.d.ts +21 -0
  1412. package/search/search-fulltext/store/search-fulltext.effects.d.ts +25 -0
  1413. package/search/search-fulltext/store/search-fulltext.service.d.ts +7 -0
  1414. package/search/search-home/search-home.component.d.ts +76 -0
  1415. package/search/search-mono-class/components/search-composed/search-composed.component.d.ts +27 -0
  1416. package/search/search-mono-class/components/search-condition/search-condition.component.d.ts +42 -0
  1417. package/search/search-mono-class/components/search-mono-class/search-mono-class.component.d.ts +15 -0
  1418. package/search/search-mono-class/components/search-order/search-order.component.d.ts +25 -0
  1419. package/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.d.ts +16 -0
  1420. package/search/search-mono-class/store/search-mono-class.actions.d.ts +119 -0
  1421. package/search/search-mono-class/store/search-mono-class.effects.d.ts +64 -0
  1422. package/search/search-mono-class/store/search-mono-class.reducer.d.ts +10 -0
  1423. package/search/search-mono-class/store/search-mono-class.selectors.d.ts +13 -0
  1424. package/search/search-mono-class/store/search-mono-class.service.d.ts +20 -0
  1425. package/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.d.ts +39 -0
  1426. package/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.d.ts +24 -0
  1427. package/search/search-multi-class/components/search-multi-class/search-multi-class.component.d.ts +15 -0
  1428. package/search/search-multi-class/store/search-multi-class.actions.d.ts +65 -0
  1429. package/search/search-multi-class/store/search-multi-class.effects.d.ts +39 -0
  1430. package/search/search-multi-class/store/search-multi-class.reducer.d.ts +8 -0
  1431. package/search/search-multi-class/store/search-multi-class.selectors.d.ts +9 -0
  1432. package/search/search-multi-class/store/search-multi-class.service.d.ts +15 -0
  1433. package/search/search-tools/search-tools.component.d.ts +52 -0
  1434. package/search/search.module.d.ts +37 -0
  1435. package/search/style/_m-choose-widget.scss +108 -0
  1436. package/search/style/_m-pry-search-select-attribute.scss +28 -0
  1437. package/search/style/_o-edit-named-query-modal.scss +9 -0
  1438. package/search/style/_o-edit-named-query.scss +29 -0
  1439. package/search/style/_o-multi-class-condition.scss +65 -0
  1440. package/search/style/_o-multi-class-field-selection.scss +64 -0
  1441. package/search/style/_o-pry-search-composed.scss +89 -0
  1442. package/search/style/_o-pry-search-condition.scss +54 -0
  1443. package/search/style/_o-pry-search-home.scss +91 -0
  1444. package/search/style/_o-pry-search-order.scss +14 -0
  1445. package/search/style/_o-pry-search-tools.scss +150 -0
  1446. package/search/style/_o-search-fulltext.scss +154 -0
  1447. package/search/style/_o-search-mono-class.scss +45 -0
  1448. package/search/style/_o-search-multi-class.scss +34 -0
  1449. package/search/style/css.component.d.ts +5 -0
  1450. package/styles/abstracts/_abstracts-overlays.scss +13 -0
  1451. package/styles/abstracts/_abstracts-utils.scss +82 -0
  1452. package/styles/abstracts/_functions.scss +229 -0
  1453. package/styles/abstracts/_index.scss +5 -0
  1454. package/styles/abstracts/_mixins.scss +309 -0
  1455. package/styles/abstracts/_variables.scss +3 -0
  1456. package/styles/base/_custom-scrollbar.scss +9 -0
  1457. package/styles/base/_html-body.scss +5 -0
  1458. package/styles/base/_index.scss +6 -0
  1459. package/styles/base/_normalize.scss +351 -0
  1460. package/styles/base/_reboot.scss +376 -0
  1461. package/styles/base/_typography.scss +25 -0
  1462. package/styles/base/_utils.scss +67 -0
  1463. package/styles/components/_a-badge.scss +8 -0
  1464. package/styles/components/_a-btn.scss +207 -0
  1465. package/styles/components/_a-checkbox.scss +80 -0
  1466. package/styles/components/_a-checkmark.scss +1 -0
  1467. package/styles/components/_a-expandable-value.scss +51 -0
  1468. package/styles/components/_a-form-field.scss +96 -0
  1469. package/styles/components/_a-icon.scss +16 -0
  1470. package/styles/components/_a-label.scss +16 -0
  1471. package/styles/components/_a-link.scss +17 -0
  1472. package/styles/components/_a-loader.scss +30 -0
  1473. package/styles/components/_a-pastille.scss +14 -0
  1474. package/styles/components/_a-pry-select-image.scss +16 -0
  1475. package/styles/components/_a-pry-select.scss +19 -0
  1476. package/styles/components/_a-range-slider.scss +105 -0
  1477. package/styles/components/_a-table.scss +128 -0
  1478. package/styles/components/_a-toggle.scss +150 -0
  1479. package/styles/components/_m-actions-list.scss +25 -0
  1480. package/styles/components/_m-btn-group.scss +58 -0
  1481. package/styles/components/_m-btn-sorttable.scss +75 -0
  1482. package/styles/components/_m-color-selector.scss +58 -0
  1483. package/styles/components/_m-context-menu.scss +52 -0
  1484. package/styles/components/_m-filter.scss +7 -0
  1485. package/styles/components/_m-form-label-field.scss +55 -0
  1486. package/styles/components/_m-form-radio-group.scss +47 -0
  1487. package/styles/components/_m-image-selector.scss +11 -0
  1488. package/styles/components/_m-metadata-tag.scss +55 -0
  1489. package/styles/components/_m-minus-plus.scss +81 -0
  1490. package/styles/components/_m-nav-links.scss +34 -0
  1491. package/styles/components/_m-pry-overlay.scss +56 -0
  1492. package/styles/components/_m-snackbar.scss +52 -0
  1493. package/styles/components/_m-time-picker.scss +55 -0
  1494. package/styles/components/_m-toolbox.scss +21 -0
  1495. package/styles/components/_m-tooltip.scss +91 -0
  1496. package/styles/components/_o-accordion.scss +24 -0
  1497. package/styles/components/_o-card.scss +131 -0
  1498. package/styles/components/_o-cards-list.scss +11 -0
  1499. package/styles/components/_o-dashboard.scss +169 -0
  1500. package/styles/components/_o-datasources.scss +83 -0
  1501. package/styles/components/_o-date-picker.scss +141 -0
  1502. package/styles/components/_o-draggable-menu.scss +54 -0
  1503. package/styles/components/_o-form.scss +29 -0
  1504. package/styles/components/_o-modal.scss +94 -0
  1505. package/styles/components/_o-named-query.scss +43 -0
  1506. package/styles/components/_o-object-panel.scss +109 -0
  1507. package/styles/components/_o-panel.scss +37 -0
  1508. package/styles/components/_o-properties.scss +42 -0
  1509. package/styles/components/_o-pry-admin-classes-customize.scss +130 -0
  1510. package/styles/components/_o-pry-card-menu.scss +105 -0
  1511. package/styles/components/_o-pry-card.scss +97 -0
  1512. package/styles/components/_o-pry-composed-condition.scss +84 -0
  1513. package/styles/components/_o-pry-edit.scss +9 -0
  1514. package/styles/components/_o-pry-expand-panel.scss +36 -0
  1515. package/styles/components/_o-pry-stepper.scss +103 -0
  1516. package/styles/components/_o-search-mono-class.scss +45 -0
  1517. package/styles/components/_o-search-multi-class.scss +34 -0
  1518. package/styles/components/_o-settings.scss +123 -0
  1519. package/styles/components/_o-tabs.scss +108 -0
  1520. package/styles/components/_o-widget.scss +208 -0
  1521. package/styles/components/_overlay.scss +82 -0
  1522. package/styles/layout/_o-base-layout.scss +113 -0
  1523. package/styles/layout/_o-main-layout.scss +38 -0
  1524. package/styles/layout/_o-manifest-layout.scss +89 -0
  1525. package/styles/layout/_o-workspace.scss +61 -0
  1526. package/styles/layout/grid/_grid.scss +141 -0
  1527. package/styles/layout/grid/_visibility.scss +71 -0
  1528. package/styles/layout/grid/mixins/_grid-mixins.scss +368 -0
  1529. package/styles/layout/grid/mixins/_visibility-mixins.scss +115 -0
  1530. package/styles/layout/grid/variables/_grid-variables.scss +41 -0
  1531. package/styles/libs/_reset-lib-ol.scss +35 -0
  1532. package/styles/main.scss +78 -0
  1533. package/styles-theme/abstracts-theme/_abstracts-cards.theme.scss +22 -0
  1534. package/styles-theme/abstracts-theme/_abstracts-overlays.theme.scss +10 -0
  1535. package/styles-theme/abstracts-theme/_index.scss +3 -0
  1536. package/styles-theme/abstracts-theme/_variables.theme.scss +5 -0
  1537. package/styles-theme/abstracts-theme/variables/_index.scss +4 -0
  1538. package/styles-theme/abstracts-theme/variables/_variables-colors.scss +113 -0
  1539. package/styles-theme/abstracts-theme/variables/_variables-decoration.scss +49 -0
  1540. package/styles-theme/abstracts-theme/variables/_variables-fonts.scss +40 -0
  1541. package/styles-theme/abstracts-theme/variables/_variables-typo.scss +138 -0
  1542. package/styles-theme/base-theme/_custom-scrollbar.theme.scss +8 -0
  1543. package/styles-theme/base-theme/_fonts.theme.scss +37 -0
  1544. package/styles-theme/base-theme/_html-body.theme.scss +6 -0
  1545. package/styles-theme/base-theme/_index.scss +4 -0
  1546. package/styles-theme/base-theme/_typography.theme.scss +27 -0
  1547. package/styles-theme/components-theme/_a-badge.theme.scss +21 -0
  1548. package/styles-theme/components-theme/_a-btn.theme.scss +214 -0
  1549. package/styles-theme/components-theme/_a-checkbox.theme.scss +68 -0
  1550. package/styles-theme/components-theme/_a-checkmark.theme.scss +4 -0
  1551. package/styles-theme/components-theme/_a-expandable-value.theme.scss +23 -0
  1552. package/styles-theme/components-theme/_a-form-field.theme.scss +63 -0
  1553. package/styles-theme/components-theme/_a-icon.theme.scss +17 -0
  1554. package/styles-theme/components-theme/_a-label.theme.scss +16 -0
  1555. package/styles-theme/components-theme/_a-link.theme.scss +12 -0
  1556. package/styles-theme/components-theme/_a-pastille.theme.scss +14 -0
  1557. package/styles-theme/components-theme/_a-pry-select.theme.scss +117 -0
  1558. package/styles-theme/components-theme/_a-range-slider.theme.scss +54 -0
  1559. package/styles-theme/components-theme/_a-table.theme.scss +49 -0
  1560. package/styles-theme/components-theme/_a-toggle.theme.scss +62 -0
  1561. package/styles-theme/components-theme/_m-btn-sorttable.theme.scss +45 -0
  1562. package/styles-theme/components-theme/_m-choose-widget.theme.scss +4 -0
  1563. package/styles-theme/components-theme/_m-context-menu.theme.scss +46 -0
  1564. package/styles-theme/components-theme/_m-metadata-tag.theme.scss +17 -0
  1565. package/styles-theme/components-theme/_m-minus-plus.theme.scss +51 -0
  1566. package/styles-theme/components-theme/_m-nav-links.theme.scss +4 -0
  1567. package/styles-theme/components-theme/_m-notifications.theme.scss +90 -0
  1568. package/styles-theme/components-theme/_m-pry-search-select-attribute.theme.scss +15 -0
  1569. package/styles-theme/components-theme/_m-snackbar.theme.scss +42 -0
  1570. package/styles-theme/components-theme/_m-time-picker.theme.scss +36 -0
  1571. package/styles-theme/components-theme/_m-toolbox.theme.scss +15 -0
  1572. package/styles-theme/components-theme/_m-tooltip.theme.scss +66 -0
  1573. package/styles-theme/components-theme/_o-card.theme.scss +45 -0
  1574. package/styles-theme/components-theme/_o-catalog.theme.scss +74 -0
  1575. package/styles-theme/components-theme/_o-datasources.theme.scss +38 -0
  1576. package/styles-theme/components-theme/_o-date-picker.theme.scss +37 -0
  1577. package/styles-theme/components-theme/_o-draggable-menu.theme.scss +26 -0
  1578. package/styles-theme/components-theme/_o-modal.theme.scss +28 -0
  1579. package/styles-theme/components-theme/_o-multi-class-condition.theme.scss +22 -0
  1580. package/styles-theme/components-theme/_o-multi-class-field-selection.theme.scss +43 -0
  1581. package/styles-theme/components-theme/_o-named-query.theme.scss +19 -0
  1582. package/styles-theme/components-theme/_o-object-panel.theme.scss +11 -0
  1583. package/styles-theme/components-theme/_o-panel.theme.scss +18 -0
  1584. package/styles-theme/components-theme/_o-pipeline.theme.scss +88 -0
  1585. package/styles-theme/components-theme/_o-pry-admin-classes-customize.theme.scss +14 -0
  1586. package/styles-theme/components-theme/_o-pry-card-menu.theme.scss +55 -0
  1587. package/styles-theme/components-theme/_o-pry-card.theme.scss +44 -0
  1588. package/styles-theme/components-theme/_o-pry-composed-condition.theme.scss +60 -0
  1589. package/styles-theme/components-theme/_o-pry-dataset-card.theme.scss +18 -0
  1590. package/styles-theme/components-theme/_o-pry-dataset.theme.scss +12 -0
  1591. package/styles-theme/components-theme/_o-pry-expand-panel.theme.scss +12 -0
  1592. package/styles-theme/components-theme/_o-pry-new-presentation.theme.scss +20 -0
  1593. package/styles-theme/components-theme/_o-pry-presentation.theme.scss +39 -0
  1594. package/styles-theme/components-theme/_o-pry-search-composed.theme.scss +44 -0
  1595. package/styles-theme/components-theme/_o-pry-search-condition.theme.scss +10 -0
  1596. package/styles-theme/components-theme/_o-pry-search-home.theme.scss +25 -0
  1597. package/styles-theme/components-theme/_o-pry-search-tools.theme.scss +54 -0
  1598. package/styles-theme/components-theme/_o-pry-stepper.theme.scss +35 -0
  1599. package/styles-theme/components-theme/_o-restitution-list.theme.scss +27 -0
  1600. package/styles-theme/components-theme/_o-restitution.theme.scss +7 -0
  1601. package/styles-theme/components-theme/_o-search-fulltext.theme.scss +83 -0
  1602. package/styles-theme/components-theme/_o-search-multi-class.theme.scss +28 -0
  1603. package/styles-theme/components-theme/_o-select-grid-layout.theme.scss +33 -0
  1604. package/styles-theme/components-theme/_o-settings.theme.scss +64 -0
  1605. package/styles-theme/components-theme/_o-tabs.theme.scss +37 -0
  1606. package/styles-theme/components-theme/_o-widget-detail.theme.scss +21 -0
  1607. package/styles-theme/components-theme/_o-widget-graph.theme.scss +32 -0
  1608. package/styles-theme/components-theme/_o-widget-iframe.theme.scss +30 -0
  1609. package/styles-theme/components-theme/_o-widget-map.theme.scss +5 -0
  1610. package/styles-theme/components-theme/_o-widget-table.theme.scss +18 -0
  1611. package/styles-theme/components-theme/_o-widget-tile.theme.scss +21 -0
  1612. package/styles-theme/components-theme/_o-widget.theme.scss +70 -0
  1613. package/styles-theme/components-theme/_overlay.theme.scss +44 -0
  1614. package/styles-theme/layout-theme/_o-base-layout.theme.scss +24 -0
  1615. package/styles-theme/layout-theme/_o-manifest-layout.theme.scss +33 -0
  1616. package/styles-theme/layout-theme/_o-workspace.theme.scss +18 -0
  1617. package/styles-theme/libs-theme/_reset-lib-ol.theme.scss +38 -0
  1618. package/styles-theme/main-theme.scss +83 -0
  1619. package/supervision/components/supervision-business-data/supervision-business-data.component.d.ts +14 -0
  1620. package/supervision/components/supervision-flow/supervision-flow.component.d.ts +14 -0
  1621. package/supervision/components/supervision-infrastructures/supervision-infrastructures.component.d.ts +18 -0
  1622. package/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.d.ts +14 -0
  1623. package/supervision/components/supervision-integration-errors/supervision-integration-errors.component.d.ts +29 -0
  1624. package/supervision/components/supervision-layout/supervision-layout.component.d.ts +21 -0
  1625. package/supervision/components/supervision-menu/supervision-menu.component.d.ts +13 -0
  1626. package/supervision/components/supervision-title/supervision-title.component.d.ts +11 -0
  1627. package/supervision/components/supervision.component.d.ts +9 -0
  1628. package/supervision/i18n/en.translations.d.ts +57 -0
  1629. package/supervision/i18n/fr.translations.d.ts +57 -0
  1630. package/supervision/index.d.ts +5 -0
  1631. package/supervision/public-api.d.ts +1 -0
  1632. package/supervision/store/supervision-api.model.d.ts +36 -0
  1633. package/supervision/store/supervision.actions.d.ts +121 -0
  1634. package/supervision/store/supervision.effects.d.ts +51 -0
  1635. package/supervision/store/supervision.reducer.d.ts +22 -0
  1636. package/supervision/store/supervision.selectors.d.ts +18 -0
  1637. package/supervision/store/supervision.service.d.ts +19 -0
  1638. package/supervision/supervision-routing.module.d.ts +7 -0
  1639. package/supervision/supervision.module.d.ts +25 -0
  1640. package/toolbox/components/clear-view/clear-view.component.d.ts +10 -0
  1641. package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +19 -0
  1642. package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +12 -0
  1643. package/toolbox/components/filter-settings/filter-settings.component.d.ts +80 -0
  1644. package/toolbox/components/launch-tab/launch-tab.component.d.ts +10 -0
  1645. package/toolbox/components/named-query/named-query.component.d.ts +15 -0
  1646. package/toolbox/components/save-view/save-view.component.d.ts +53 -0
  1647. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +35 -0
  1648. package/toolbox/components/toolbox.component.d.ts +11 -0
  1649. package/toolbox/index.d.ts +5 -0
  1650. package/toolbox/public-api.d.ts +11 -0
  1651. package/toolbox/style/_o-filter-settings.scss +96 -0
  1652. package/toolbox/style/_o-select-grid-layout.scss +43 -0
  1653. package/toolbox/style/css.component.d.ts +5 -0
  1654. package/toolbox/toolbox.module.d.ts +23 -0
  1655. package/tooltips/attribute/attribute-tooltip.component.d.ts +10 -0
  1656. package/tooltips/attribute/attribute-tooltip.module.d.ts +14 -0
  1657. package/tooltips/attribute/index.d.ts +5 -0
  1658. package/tooltips/attribute/public-api.d.ts +2 -0
  1659. package/tooltips/cluster/cluster-tooltip.component.d.ts +6 -0
  1660. package/tooltips/cluster/cluster-tooltip.module.d.ts +13 -0
  1661. package/tooltips/cluster/index.d.ts +5 -0
  1662. package/tooltips/cluster/public-api.d.ts +2 -0
  1663. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +101 -0
  1664. package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +103 -0
  1665. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +103 -0
  1666. package/widgets/widget-aggregated-chart/index.d.ts +5 -0
  1667. package/widgets/widget-aggregated-chart/public-api.d.ts +5 -0
  1668. package/widgets/widget-aggregated-chart/service/backend-aggregation.service.d.ts +21 -0
  1669. package/widgets/widget-aggregated-chart/service/base-aggregation.service.d.ts +21 -0
  1670. package/widgets/widget-aggregated-chart/service/frontend-aggregation.service.d.ts +32 -0
  1671. package/widgets/widget-aggregated-chart/style/_o-widget-chart.scss +43 -0
  1672. package/widgets/widget-aggregated-chart/style/css.component.d.ts +5 -0
  1673. package/widgets/widget-aggregated-chart/widget-aggregated-chart.module.d.ts +18 -0
  1674. package/widgets/widget-chart/component/vega-error.handler.d.ts +6 -0
  1675. package/widgets/widget-chart/component/vega-spec.constant.d.ts +98 -0
  1676. package/widgets/widget-chart/component/widget-chart.component.d.ts +151 -0
  1677. package/widgets/widget-chart/i18n/en.translations.d.ts +113 -0
  1678. package/widgets/widget-chart/i18n/fr.translations.d.ts +113 -0
  1679. package/widgets/widget-chart/index.d.ts +5 -0
  1680. package/widgets/widget-chart/public-api.d.ts +2 -0
  1681. package/widgets/widget-chart/style/_o-widget-chart.scss +43 -0
  1682. package/widgets/widget-chart/style/css.component.d.ts +5 -0
  1683. package/widgets/widget-chart/widget-chart.module.d.ts +18 -0
  1684. package/widgets/widget-detail/component/widget-detail.component.d.ts +45 -0
  1685. package/widgets/widget-detail/i18n/en.translations.d.ts +13 -0
  1686. package/widgets/widget-detail/i18n/fr.translations.d.ts +13 -0
  1687. package/widgets/widget-detail/index.d.ts +5 -0
  1688. package/widgets/widget-detail/public-api.d.ts +2 -0
  1689. package/widgets/widget-detail/style/_o-widget-detail.scss +60 -0
  1690. package/widgets/widget-detail/style/css.component.d.ts +5 -0
  1691. package/widgets/widget-detail/widget-detail.module.d.ts +18 -0
  1692. package/widgets/widget-graph/component/widget-graph.component.d.ts +101 -0
  1693. package/widgets/widget-graph/i18n/en.translations.d.ts +14 -0
  1694. package/widgets/widget-graph/i18n/fr.translations.d.ts +14 -0
  1695. package/widgets/widget-graph/index.d.ts +5 -0
  1696. package/widgets/widget-graph/layout/node.interface.d.ts +12 -0
  1697. package/widgets/widget-graph/layout/simple.function.d.ts +9 -0
  1698. package/widgets/widget-graph/public-api.d.ts +3 -0
  1699. package/widgets/widget-graph/style/_o-widget-graph.scss +4 -0
  1700. package/widgets/widget-graph/style/css.component.d.ts +5 -0
  1701. package/widgets/widget-graph/widget-graph.module.d.ts +18 -0
  1702. package/widgets/widget-iframe/component/widget-iframe.component.d.ts +20 -0
  1703. package/widgets/widget-iframe/i18n/en.translations.d.ts +10 -0
  1704. package/widgets/widget-iframe/i18n/fr.translations.d.ts +10 -0
  1705. package/widgets/widget-iframe/index.d.ts +5 -0
  1706. package/widgets/widget-iframe/messaging/iframe-message-type.interface.d.ts +8 -0
  1707. package/widgets/widget-iframe/messaging/iframe-messaging.service.d.ts +10 -0
  1708. package/widgets/widget-iframe/public-api.d.ts +4 -0
  1709. package/widgets/widget-iframe/style/_o-widget-iframe.scss +19 -0
  1710. package/widgets/widget-iframe/style/css.component.d.ts +5 -0
  1711. package/widgets/widget-iframe/widget-iframe.module.d.ts +18 -0
  1712. package/widgets/widget-image/component/widget-image.component.d.ts +13 -0
  1713. package/widgets/widget-image/index.d.ts +5 -0
  1714. package/widgets/widget-image/public-api.d.ts +2 -0
  1715. package/widgets/widget-image/style/_o-widget-image.scss +7 -0
  1716. package/widgets/widget-image/style/css.component.d.ts +5 -0
  1717. package/widgets/widget-image/widget-image.module.d.ts +14 -0
  1718. package/widgets/widget-map/component/widget-map-layer.service.d.ts +98 -0
  1719. package/widgets/widget-map/component/widget-map.component.d.ts +136 -0
  1720. package/widgets/widget-map/i18n/en.translations.d.ts +80 -0
  1721. package/widgets/widget-map/i18n/fr.translations.d.ts +80 -0
  1722. package/widgets/widget-map/index.d.ts +5 -0
  1723. package/widgets/widget-map/interaction/selection-interaction.class.d.ts +25 -0
  1724. package/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.d.ts +14 -0
  1725. package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +8 -0
  1726. package/widgets/widget-map/public-api.d.ts +6 -0
  1727. package/widgets/widget-map/reader/kmz-zip-reader.class.d.ts +12 -0
  1728. package/widgets/widget-map/reader/map-formats-reader.class.d.ts +15 -0
  1729. package/widgets/widget-map/reader/random-color-style.function.d.ts +6 -0
  1730. package/widgets/widget-map/reader/read-as-text.class.d.ts +10 -0
  1731. package/widgets/widget-map/reader/shp-zip-reader.class.d.ts +10 -0
  1732. package/widgets/widget-map/search-bar/search-bar.control.d.ts +27 -0
  1733. package/widgets/widget-map/style/_o-layer-legend.scss +42 -0
  1734. package/widgets/widget-map/style/_o-widget-map.scss +69 -0
  1735. package/widgets/widget-map/style/css.component.d.ts +5 -0
  1736. package/widgets/widget-map/utils/widget-map.utils.d.ts +29 -0
  1737. package/widgets/widget-map/widget-map.module.d.ts +20 -0
  1738. package/widgets/widget-table/component/widget-table.component.d.ts +41 -0
  1739. package/widgets/widget-table/expand-value/detach-row.directive.d.ts +12 -0
  1740. package/widgets/widget-table/expand-value/expand-value.component.d.ts +10 -0
  1741. package/widgets/widget-table/expand-value/format-number.pipe.d.ts +12 -0
  1742. package/widgets/widget-table/get-value/get-value.pipe.d.ts +11 -0
  1743. package/widgets/widget-table/i18n/en.translations.d.ts +14 -0
  1744. package/widgets/widget-table/i18n/fr.translations.d.ts +14 -0
  1745. package/widgets/widget-table/index.d.ts +5 -0
  1746. package/widgets/widget-table/public-api.d.ts +5 -0
  1747. package/widgets/widget-table/resizable/resizable.component.d.ts +7 -0
  1748. package/widgets/widget-table/resizable/resizable.directive.d.ts +10 -0
  1749. package/widgets/widget-table/style/_o-widget-table.scss +64 -0
  1750. package/widgets/widget-table/style/css.component.d.ts +5 -0
  1751. package/widgets/widget-table/widget-table.module.d.ts +24 -0
  1752. package/widgets/widget-template/component/widget-template.component.d.ts +21 -0
  1753. package/widgets/widget-template/index.d.ts +5 -0
  1754. package/widgets/widget-template/public-api.d.ts +2 -0
  1755. package/widgets/widget-template/style/_o-widget-template.scss +8 -0
  1756. package/widgets/widget-template/style/css.component.d.ts +5 -0
  1757. package/widgets/widget-template/widget-template.module.d.ts +16 -0
  1758. package/widgets/widget-tile/component/widget-tile.component.d.ts +47 -0
  1759. package/widgets/widget-tile/i18n/en.translations.d.ts +12 -0
  1760. package/widgets/widget-tile/i18n/fr.translations.d.ts +12 -0
  1761. package/widgets/widget-tile/index.d.ts +5 -0
  1762. package/widgets/widget-tile/public-api.d.ts +2 -0
  1763. package/widgets/widget-tile/style/_o-widget-tile.scss +83 -0
  1764. package/widgets/widget-tile/style/css.component.d.ts +5 -0
  1765. package/widgets/widget-tile/widget-tile.module.d.ts +20 -0
@@ -0,0 +1,590 @@
1
+ import { createReducer, on } from '@ngrx/store';
2
+ import { DashboardGridLayout } from '../../core/model/manifest.interface';
3
+ import { DEFAULT_NAMED_QUERY_ID, EXPLORE_NAMED_QUERY_ID } from '../../core/store/search/search.constants';
4
+ import { solveCollisions } from '../components/solve-collisions.function';
5
+ import { WidgetPlacementUtils } from '../components/widgets/widget-placement/widget-placement.utils';
6
+ import { DashboardActions } from './dashboard.actions';
7
+ import { DEFAULT_COLUMNS_NUMBER, DEFAULT_GAP_PX, DEFAULT_ROW_HEIGHT_PX, DEFAULT_ROWS_NUMBER } from './dashboard.contants';
8
+ export const dashboardFeatureKey = '@pry/dashboard';
9
+ export const dashboardInitialState = {
10
+ manifests: {
11
+ sender: '',
12
+ tenants: [],
13
+ manifest: {
14
+ windows: [{ widgets: [] }]
15
+ },
16
+ staticManifest: {
17
+ windows: [{ widgets: [] }]
18
+ },
19
+ list: [],
20
+ currentId: ''
21
+ },
22
+ presentation: {
23
+ current: undefined,
24
+ initial: undefined
25
+ },
26
+ results: {
27
+ availableDatasourceNames: [],
28
+ resultSets: {
29
+ [DEFAULT_NAMED_QUERY_ID]: { items: {}, relations: [] },
30
+ [EXPLORE_NAMED_QUERY_ID]: { items: {}, relations: [] }
31
+ },
32
+ resultSetsParams: {
33
+ [DEFAULT_NAMED_QUERY_ID]: undefined,
34
+ [EXPLORE_NAMED_QUERY_ID]: undefined
35
+ },
36
+ defaultDatasource: ['current'],
37
+ selectedItems: [],
38
+ objectDetails: {},
39
+ address: undefined,
40
+ quickOrder: {}
41
+ },
42
+ dashboard: {
43
+ params: {
44
+ gridWidth: 1,
45
+ gridHeight: 1,
46
+ gridGap: DEFAULT_GAP_PX,
47
+ columns: DEFAULT_COLUMNS_NUMBER,
48
+ cellHeight: DEFAULT_ROW_HEIGHT_PX,
49
+ rows: DEFAULT_ROWS_NUMBER,
50
+ cellWidth: 1,
51
+ offsetLeft: 0,
52
+ offsetTop: 0,
53
+ mobileMode: false
54
+ },
55
+ editionMode: false
56
+ },
57
+ wmsFeatures: []
58
+ };
59
+ const internalReducer = createReducer(dashboardInitialState, on(DashboardActions.join, (state, action) => ({
60
+ ...state,
61
+ manifests: {
62
+ ...state.manifests,
63
+ tenants: [...state.manifests.tenants, action.sender]
64
+ }
65
+ })), on(DashboardActions.declareSenderId, (state, action) => ({
66
+ ...state,
67
+ manifests: {
68
+ ...state.manifests,
69
+ sender: action.sender,
70
+ tenants: state.manifests.tenants.length === 0 ? action.tenants : state.manifests.tenants
71
+ }
72
+ })), on(DashboardActions.updateManifest, DashboardActions.updateManifestAfterTenantJoin, DashboardActions.updateManifestAfterTenantLeave, DashboardActions.updateManifestAfterFetch, DashboardActions.updateManifestAfterResize, DashboardActions.updateManifestWithoutActivation, (state, action) => {
73
+ // @ts-ignore
74
+ if (!!action.sender && !state.manifests.tenants.find((tenant) => tenant === action.sender) && !action.joining) {
75
+ // ignore manifest updates from tenants that have not joined
76
+ return state;
77
+ }
78
+ return {
79
+ ...state,
80
+ manifests: {
81
+ ...state.manifests,
82
+ tenants: action.tenants ?? state.manifests.tenants,
83
+ manifest: action.manifest,
84
+ currentId: action.manifestId ?? state.manifests.currentId
85
+ },
86
+ // @ts-ignore
87
+ presentation: action.presentation ?? state.presentation,
88
+ results: {
89
+ ...state.results,
90
+ selectedItems: action.selectedIds,
91
+ resultSets: !!action.resultSets
92
+ ? { ...state.results.resultSets, ...action.resultSets }
93
+ : state.results.resultSets
94
+ }
95
+ };
96
+ }), on(DashboardActions.updateRouteManifest, (state, action) => {
97
+ const senderRank = state.manifests.tenants.indexOf(action.sender ?? state.manifests.sender);
98
+ const newWindows = [...state.manifests.manifest.windows];
99
+ newWindows[senderRank] = { ...newWindows[senderRank], route: action.route };
100
+ return {
101
+ ...state,
102
+ manifests: {
103
+ ...state.manifests,
104
+ manifest: {
105
+ ...state.manifests.manifest,
106
+ windows: newWindows
107
+ }
108
+ }
109
+ };
110
+ }), on(DashboardActions.updateDashboardManifest, (state, action) => {
111
+ const myRank = state.manifests.tenants.indexOf(state.manifests.sender);
112
+ const newWindows = [...state.manifests.manifest.windows];
113
+ newWindows[myRank] = action.manifest;
114
+ return {
115
+ ...state,
116
+ manifests: {
117
+ ...state.manifests,
118
+ manifest: {
119
+ ...state.manifests.manifest,
120
+ windows: newWindows
121
+ }
122
+ }
123
+ };
124
+ }), on(DashboardActions.updateWidgetManifest, (state, action) => {
125
+ const myRank = state.manifests.tenants.indexOf(state.manifests.sender);
126
+ const newWindows = JSON.parse(JSON.stringify(state.manifests.manifest.windows));
127
+ newWindows[myRank].widgets[action.index] = action.manifest;
128
+ return {
129
+ ...state,
130
+ manifests: {
131
+ ...state.manifests,
132
+ manifest: {
133
+ ...state.manifests.manifest,
134
+ windows: newWindows
135
+ }
136
+ }
137
+ };
138
+ }), on(DashboardActions.updateResultSet, (state, action) => ({
139
+ ...state,
140
+ results: {
141
+ ...state.results,
142
+ resultSets: {
143
+ ...state.results.resultSets,
144
+ [action.id]: action.resultSet
145
+ },
146
+ resultSetsParams: {
147
+ ...state.results.resultSetsParams,
148
+ [action.id]: action.params
149
+ }
150
+ }
151
+ })), on(DashboardActions.moveWidget, (state, action) => {
152
+ const myRank = state.manifests.tenants.indexOf(state.manifests.sender);
153
+ const newWindows = [...state.manifests.manifest.windows];
154
+ // Creating new current window manifest, without moved widget
155
+ const myNewWindow = {
156
+ ...newWindows[myRank],
157
+ widgets: [...newWindows[myRank].widgets]
158
+ };
159
+ const widget = myNewWindow.widgets.splice(action.widgetIndex, 1)[0];
160
+ newWindows[myRank] = myNewWindow;
161
+ // Creating either a new window manifest or update the target one
162
+ const targetRank = action.targetIndex;
163
+ if (targetRank !== -1) {
164
+ if (!newWindows[targetRank]) {
165
+ newWindows[targetRank] = {
166
+ ...newWindows[myRank],
167
+ widgets: [widget]
168
+ };
169
+ }
170
+ else {
171
+ newWindows[targetRank] = {
172
+ ...newWindows[targetRank],
173
+ widgets: [...(newWindows[targetRank].widgets ?? []), widget]
174
+ };
175
+ }
176
+ }
177
+ else {
178
+ // create new window to welcome this widget
179
+ newWindows.push({
180
+ ...newWindows[myRank],
181
+ widgets: [widget]
182
+ });
183
+ }
184
+ return {
185
+ ...state,
186
+ manifests: {
187
+ ...state.manifests,
188
+ manifest: {
189
+ ...state.manifests.manifest,
190
+ windows: newWindows
191
+ }
192
+ }
193
+ };
194
+ }), on(DashboardActions.maximizeWidget, (state, action) => {
195
+ const myRank = state.manifests.tenants.indexOf(state.manifests.sender);
196
+ const newWindows = JSON.parse(JSON.stringify(state.manifests.manifest.windows));
197
+ newWindows[myRank].widgets[action.widgetIndex].layout = {
198
+ x: 1,
199
+ y: 1,
200
+ width: state.dashboard.params.columns,
201
+ height: state.dashboard.params.rows
202
+ };
203
+ return {
204
+ ...state,
205
+ manifests: {
206
+ ...state.manifests,
207
+ manifest: {
208
+ ...state.manifests.manifest,
209
+ windows: newWindows
210
+ }
211
+ }
212
+ };
213
+ }), on(DashboardActions.setAvailableNamedQueries, (state, action) => ({
214
+ ...state,
215
+ results: {
216
+ ...state.results,
217
+ availableDatasourceNames: action.names,
218
+ defaultDatasource: state.results.defaultDatasource.filter((rsName) => action.names.includes(rsName))
219
+ }
220
+ })), on(DashboardActions.setDefaultDatasource, (state, action) => ({
221
+ ...state,
222
+ results: {
223
+ ...state.results,
224
+ defaultDatasource: action.names
225
+ }
226
+ })), on(DashboardActions.solveCollisions, (state, action) => ({
227
+ ...state,
228
+ manifests: {
229
+ ...state.manifests,
230
+ manifest: {
231
+ ...state.manifests.manifest,
232
+ windows: state.manifests.manifest.windows.map((window) => {
233
+ const [first, ...others] = window.widgets;
234
+ return solveCollisions(first, others, window);
235
+ })
236
+ }
237
+ }
238
+ })), on(DashboardActions.updateDashboardParams, (state, action) => ({
239
+ ...state,
240
+ dashboard: {
241
+ ...state.dashboard,
242
+ params: {
243
+ ...state.dashboard.params,
244
+ ...action.params
245
+ }
246
+ }
247
+ })), on(DashboardActions.toggleEditionMode, (state, action) => ({
248
+ ...state,
249
+ dashboard: {
250
+ ...state.dashboard,
251
+ editionMode: action.force ?? !state.dashboard.editionMode
252
+ }
253
+ })), on(DashboardActions.select, (state, action) => ({
254
+ ...state,
255
+ results: {
256
+ ...state.results,
257
+ selectedItems: [
258
+ ...new Set(!action.cumulative
259
+ ? [action.id]
260
+ : state.results.selectedItems.find((id) => id === action.id)
261
+ ? state.results.selectedItems.filter((id) => id !== action.id)
262
+ : [...state.results.selectedItems, action.id])
263
+ ]
264
+ }
265
+ })), on(DashboardActions.invertSelection, (state, action) => {
266
+ const allItems = Object.keys(state.results.resultSets)
267
+ .map((rs) => Object.keys(state.results.resultSets[rs].items)
268
+ .map((classId) => state.results.resultSets[rs].items[classId])
269
+ .reduce((p, c) => [...p, ...c], []))
270
+ .reduce((p, c) => [...p, ...c], [])
271
+ .map((item) => item.id);
272
+ const invertedItemsId = allItems.filter((itemId) => !state.results.selectedItems.includes(itemId));
273
+ return {
274
+ ...state,
275
+ results: {
276
+ ...state.results,
277
+ selectedItems: [...new Set(invertedItemsId)]
278
+ }
279
+ };
280
+ }), on(DashboardActions.selectMany, (state, action) => ({
281
+ ...state,
282
+ results: {
283
+ ...state.results,
284
+ selectedItems: [...new Set(action.ids)]
285
+ }
286
+ })), on(DashboardActions.updateManifestsList, (state, action) => ({
287
+ ...state,
288
+ manifests: {
289
+ ...state.manifests,
290
+ list: action.manifests
291
+ }
292
+ })), on(DashboardActions.updateStaticManifest, (state, action) => ({
293
+ ...state,
294
+ manifests: {
295
+ ...state.manifests,
296
+ staticManifest: action.staticManifest
297
+ }
298
+ })), on(DashboardActions.loadAndActivateManifest, DashboardActions.loadManifest, (state, action) => ({
299
+ ...state,
300
+ manifests: {
301
+ ...state.manifests,
302
+ manifest: {
303
+ windows: [...state.manifests.manifest.windows.map((winManifest) => ({ ...winManifest, widgets: [] }))]
304
+ }
305
+ }
306
+ })), on(DashboardActions.clearManifest, (state, action) => ({
307
+ ...state,
308
+ manifests: {
309
+ ...state.manifests,
310
+ manifest: {
311
+ ...state.manifests.manifest,
312
+ windows: [...state.manifests.manifest.windows.map((previous) => ({ ...previous, widgets: [] }))],
313
+ filters: []
314
+ },
315
+ currentId: ''
316
+ }
317
+ })), on(DashboardActions.updateObjectsDetails, (state, action) => ({
318
+ ...state,
319
+ results: {
320
+ ...state.results,
321
+ objectDetails: {
322
+ ...state.results.objectDetails,
323
+ ...action.list
324
+ }
325
+ }
326
+ })), on(DashboardActions.explore, (state, action) => {
327
+ const currentItem = Object.keys(state.results.resultSets)
328
+ .map((key) => Object.keys(state.results.resultSets[key].items)
329
+ .map((keyClass) => state.results.resultSets[key].items[keyClass].find((item) => item.id === action.id))
330
+ .find((it) => !!it))
331
+ .find((it) => !!it);
332
+ const actualWindows = state.manifests.manifest.windows;
333
+ return {
334
+ ...state,
335
+ manifests: {
336
+ ...state.manifests,
337
+ manifest: {
338
+ ...state.manifests.manifest,
339
+ windows: actualWindows.concat({
340
+ widgets: [
341
+ {
342
+ layout: { x: 1, y: 1, width: 12, height: 12 },
343
+ type: 'graph',
344
+ options: {},
345
+ datasource: EXPLORE_NAMED_QUERY_ID
346
+ }
347
+ ]
348
+ })
349
+ }
350
+ },
351
+ results: {
352
+ ...state.results,
353
+ resultSets: {
354
+ ...state.results.resultSets,
355
+ [EXPLORE_NAMED_QUERY_ID]: {
356
+ items: { [currentItem.oClass]: [currentItem] },
357
+ relations: []
358
+ }
359
+ }
360
+ }
361
+ };
362
+ }), on(DashboardActions.displayAddress, (state, action) => {
363
+ return {
364
+ ...state,
365
+ results: {
366
+ ...state.results,
367
+ address: action.address
368
+ }
369
+ };
370
+ }), on(DashboardActions.setRefreshRate, (state, action) => {
371
+ return {
372
+ ...state,
373
+ manifests: {
374
+ ...state.manifests,
375
+ manifest: {
376
+ ...state.manifests.manifest,
377
+ refreshRates: { ...state.manifests.manifest.refreshRates, [action.id]: action.rate }
378
+ }
379
+ }
380
+ };
381
+ }), on(DashboardActions.addRelationsToResultSets, (state, action) => {
382
+ const updatedResultSets = JSON.parse(JSON.stringify(state.results.resultSets));
383
+ action.relations.forEach((relation) => {
384
+ Object.keys(updatedResultSets).forEach((rsId) => {
385
+ const isConcerned = Object.keys(updatedResultSets[rsId].items).map((classId) => {
386
+ return updatedResultSets[rsId].items[classId].map((item) => item.id === relation.source || item.id === relation.destination);
387
+ });
388
+ if (isConcerned) {
389
+ updatedResultSets[rsId].relations.push(relation);
390
+ }
391
+ });
392
+ });
393
+ return {
394
+ ...state,
395
+ results: {
396
+ ...state.results,
397
+ resultSets: updatedResultSets
398
+ }
399
+ };
400
+ }), on(DashboardActions.addItemToResultSets, (state, action) => {
401
+ const updatedResultSets = JSON.parse(JSON.stringify(state.results.resultSets));
402
+ if (!!action.resultSet) {
403
+ if (!updatedResultSets[action.resultSet].items[action.item.oClass]) {
404
+ updatedResultSets[action.resultSet].items[action.item.oClass] = [action.item];
405
+ }
406
+ else {
407
+ updatedResultSets[action.resultSet].items[action.item.oClass].push(action.item);
408
+ }
409
+ }
410
+ return {
411
+ ...state,
412
+ results: {
413
+ ...state.results,
414
+ resultSets: updatedResultSets
415
+ }
416
+ };
417
+ }), on(DashboardActions.quickOrder, (state, action) => {
418
+ return {
419
+ ...state,
420
+ results: {
421
+ ...state.results,
422
+ quickOrder: {
423
+ ...state.results.quickOrder,
424
+ [action.datasourceId]: action.asc ? { attribute: action.attribute, asc: action.asc } : undefined
425
+ }
426
+ }
427
+ };
428
+ }), on(DashboardActions.selectPresentation, (state, action) => {
429
+ return {
430
+ ...state,
431
+ presentation: {
432
+ ...state.presentation,
433
+ current: action.presentation,
434
+ viewMode: action.viewMode,
435
+ initial: action.presentation ? state.presentation.initial : undefined
436
+ }
437
+ };
438
+ }), on(DashboardActions.setInitialPresentation, (state, action) => {
439
+ return {
440
+ ...state,
441
+ presentation: {
442
+ ...state.presentation,
443
+ initial: action.initial
444
+ }
445
+ };
446
+ }), on(DashboardActions.setGridLayout, (state, action) => {
447
+ const myRank = state.manifests.tenants.indexOf(state.manifests.sender);
448
+ const newWindows = JSON.parse(JSON.stringify(state.manifests.manifest.windows ?? []));
449
+ if (!newWindows[myRank]) {
450
+ newWindows[myRank] = { widgets: [] };
451
+ }
452
+ if (!newWindows[myRank].grid) {
453
+ newWindows[myRank].grid = {};
454
+ }
455
+ if (!newWindows[myRank].widgets) {
456
+ newWindows[myRank].widgets = [];
457
+ }
458
+ newWindows[myRank].grid.layout = action.layout;
459
+ if (action.layout !== DashboardGridLayout.MANUAL) {
460
+ // Reorder layouts
461
+ const params = {
462
+ rows: newWindows[myRank].grid.rows,
463
+ columns: newWindows[myRank].grid.columns
464
+ };
465
+ const places = WidgetPlacementUtils.placementOptions({}, action.layout, params);
466
+ newWindows[myRank].widgets.forEach((widget, idx) => {
467
+ let targetLayout = places[idx]?.layout;
468
+ if (!targetLayout) {
469
+ targetLayout = { x: 1, y: 1, width: 1, height: 1 };
470
+ console.warn('Incorrect placement calculation', places, idx, widget, action.layout);
471
+ }
472
+ widget.layout = { ...targetLayout };
473
+ });
474
+ }
475
+ return {
476
+ ...state,
477
+ manifests: {
478
+ ...state.manifests,
479
+ manifest: {
480
+ ...state.manifests.manifest,
481
+ windows: newWindows
482
+ }
483
+ }
484
+ };
485
+ }), on(DashboardActions.createTab, (state, action) => {
486
+ const myRank = state.manifests.tenants.indexOf(state.manifests.sender);
487
+ const myLayout = state.manifests.manifest.windows[myRank].grid?.layout ?? DashboardGridLayout.MANUAL;
488
+ const newWindows = JSON.parse(JSON.stringify(state.manifests.manifest.windows));
489
+ newWindows.push({ grid: { layout: myLayout }, widgets: [] });
490
+ return {
491
+ ...state,
492
+ manifests: {
493
+ ...state.manifests,
494
+ manifest: {
495
+ ...state.manifests.manifest,
496
+ windows: newWindows
497
+ }
498
+ }
499
+ };
500
+ }), on(DashboardActions.restoreInitialManifest, (state, action) => {
501
+ return {
502
+ ...state,
503
+ manifests: {
504
+ ...state.manifests,
505
+ manifest: JSON.parse(JSON.stringify(state.presentation.initial))
506
+ }
507
+ };
508
+ }), on(DashboardActions.propagateGridLayout, (state, action) => {
509
+ const newWindows = JSON.parse(JSON.stringify(state.manifests.manifest.windows));
510
+ newWindows[action.rank] = action.manifest;
511
+ return {
512
+ ...state,
513
+ manifests: {
514
+ ...state.manifests,
515
+ manifest: {
516
+ ...state.manifests.manifest,
517
+ windows: newWindows
518
+ }
519
+ }
520
+ };
521
+ }), on(DashboardActions.setFilters, (state, action) => ({
522
+ ...state,
523
+ manifests: {
524
+ ...state.manifests,
525
+ manifest: {
526
+ ...state.manifests.manifest,
527
+ filters: action.filters
528
+ }
529
+ }
530
+ })), on(DashboardActions.updateFilters, (state, action) => {
531
+ const isPresent = state.manifests.manifest.filters?.find((filter) => filter.id === action.filter.id);
532
+ let filters = [];
533
+ if (isPresent) {
534
+ filters =
535
+ state.manifests.manifest.filters?.map((filter) => (filter.id === action.filter.id ? action.filter : filter)) ??
536
+ [];
537
+ }
538
+ else {
539
+ if (state.manifests.manifest.filters) {
540
+ filters = [...state.manifests.manifest.filters, action.filter];
541
+ }
542
+ else {
543
+ filters = [action.filter];
544
+ }
545
+ }
546
+ return {
547
+ ...state,
548
+ manifests: {
549
+ ...state.manifests,
550
+ manifest: {
551
+ ...state.manifests.manifest,
552
+ filters: filters
553
+ }
554
+ }
555
+ };
556
+ }), on(DashboardActions.removeFilter, (state, action) => ({
557
+ ...state,
558
+ manifests: {
559
+ ...state.manifests,
560
+ manifest: {
561
+ ...state.manifests.manifest,
562
+ filters: state.manifests.manifest.filters?.filter((filter) => filter.id !== action.id)
563
+ }
564
+ }
565
+ })), on(DashboardActions.updateFilterValue, (state, action) => ({
566
+ ...state,
567
+ manifests: {
568
+ ...state.manifests,
569
+ manifest: {
570
+ ...state.manifests.manifest,
571
+ filters: state.manifests.manifest.filters
572
+ ? [
573
+ ...state.manifests.manifest.filters.map((filter, i) => i === state.manifests.manifest.filters?.findIndex((filter) => filter.id === action.id)
574
+ ? { ...filter, value: action.value }
575
+ : filter)
576
+ ]
577
+ : []
578
+ }
579
+ }
580
+ })), on(DashboardActions.getWmsFeatures, (state, action) => ({
581
+ ...state,
582
+ wmsFeatures: []
583
+ })), on(DashboardActions.addWmsFeatures, (state, action) => ({
584
+ ...state,
585
+ wmsFeatures: [...state.wmsFeatures, ...action.features]
586
+ })));
587
+ export function dashboardReducer(state, action) {
588
+ return internalReducer(state, action);
589
+ }
590
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHeEQsT0FBTyxFQUNMLG1CQUFtQixFQUlwQixNQUFNLHFDQUFxQyxDQUFDO0FBSTdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlDLE1BQU0scUJBQXFCLENBQUM7QUFDdEYsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNwQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO0FBaUNwRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBbUI7SUFDbkQsU0FBUyxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRTtZQUNSLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsY0FBYyxFQUFFO1lBQ2QsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSxFQUFFO0tBQ2Q7SUFDRCxZQUFZLEVBQUU7UUFDWixP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QUcsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFO3dCQUNwQyxDQUFDLENBQUMsTUFBTSxDQUNYO2lCQUNGO2dCQUNILENBQUMsQ0FBQyxFQUFFO1NBQ1A7S0FDRjtDQUNGLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELEdBQUcsS0FBSztJQUNSLFdBQVcsRUFBRSxFQUFFO0NBQ2hCLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELEdBQUcsS0FBSztJQUNSLFdBQVcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7Q0FDeEQsQ0FBQyxDQUFDLENBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFxQixFQUFFLE1BQWM7SUFDcEUsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24sIGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdE9yZGVyIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQsIEVYUExPUkVfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuLi8uLi9jb3JlL3N0b3JlL3NlYXJjaC9zZWFyY2guY29uc3RhbnRzJztcbmltcG9ydCB7IHNvbHZlQ29sbGlzaW9ucyB9IGZyb20gJy4uL2NvbXBvbmVudHMvc29sdmUtY29sbGlzaW9ucy5mdW5jdGlvbic7XG5pbXBvcnQgeyBXaWRnZXRQbGFjZW1lbnRVdGlscyB9IGZyb20gJy4uL2NvbXBvbmVudHMvd2lkZ2V0cy93aWRnZXQtcGxhY2VtZW50L3dpZGdldC1wbGFjZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQWN0aW9ucywgRGFzaGJvYXJkQ2VsbFBhcmFtcywgVmlld01vZGUgfSBmcm9tICcuL2Rhc2hib2FyZC5hY3Rpb25zJztcbmltcG9ydCB7XG4gIERFRkFVTFRfQ09MVU1OU19OVU1CRVIsXG4gIERFRkFVTFRfR0FQX1BYLFxuICBERUZBVUxUX1JPV19IRUlHSFRfUFgsXG4gIERFRkFVTFRfUk9XU19OVU1CRVJcbn0gZnJvbSAnLi9kYXNoYm9hcmQuY29udGFudHMnO1xuXG5leHBvcnQgY29uc3QgZGFzaGJvYXJkRmVhdHVyZUtleSA9ICdAcHJ5L2Rhc2hib2FyZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFzaGJvYXJkU3RhdGUge1xuICBtYW5pZmVzdHM6IHtcbiAgICBzZW5kZXI6IHN0cmluZztcbiAgICB0ZW5hbnRzOiBzdHJpbmdbXTtcbiAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgbGlzdDogTWFuaWZlc3REZXNjcmlwdGlvbltdO1xuICAgIGN1cnJlbnRJZDogc3RyaW5nO1xuICAgIHN0YXRpY01hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgfTtcbiAgcHJlc2VudGF0aW9uOiB7XG4gICAgY3VycmVudDogTWFuaWZlc3REZXNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgIGluaXRpYWw6IEdsb2JhbE1hbmlmZXN0IHwgdW5kZWZpbmVkO1xuICB9O1xuICByZXN1bHRzOiB7XG4gICAgcmVzdWx0U2V0czogUmVzdWx0U2V0cztcbiAgICByZXN1bHRTZXRzUGFyYW1zOiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH07XG4gICAgYXZhaWxhYmxlRGF0YXNvdXJjZU5hbWVzOiBzdHJpbmdbXTtcbiAgICBkZWZhdWx0RGF0YXNvdXJjZTogc3RyaW5nW107XG4gICAgc2VsZWN0ZWRJdGVtczogc3RyaW5nW107XG4gICAgb2JqZWN0RGV0YWlsczogeyBbaWQ6IHN0cmluZ106IEl0ZW0gfTtcbiAgICBhZGRyZXNzOiB7IGxhdExvbjogbnVtYmVyW107IHBvaW50QWRkcmVzczogc3RyaW5nIH0gfCB1bmRlZmluZWQ7XG4gICAgcXVpY2tPcmRlcjogeyBbaWQ6IHN0cmluZ106IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkIH07XG4gIH07XG4gIGRhc2hib2FyZDoge1xuICAgIHBhcmFtczogRGFzaGJvYXJkQ2VsbFBhcmFtcztcbiAgICBlZGl0aW9uTW9kZTogYm9vbGVhbjtcbiAgfTtcbiAgd21zRmVhdHVyZXM6IGFueVtdO1xufVxuXG5leHBvcnQgY29uc3QgZGFzaGJvYXJkSW5pdGlhbFN0YXRlOiBEYXNoYm9hcmRTdGF0ZSA9IHtcbiAgbWFuaWZlc3RzOiB7XG4gICAgc2VuZGVyOiAnJyxcbiAgICB0ZW5hbnRzOiBbXSxcbiAgICBtYW5pZmVzdDoge1xuICAgICAgd2luZG93czogW3sgd2lkZ2V0czogW10gfV1cbiAgICB9LFxuICAgIHN0YXRpY01hbmlmZXN0OiB7XG4gICAgICB3aW5kb3dzOiBbeyB3aWRnZXRzOiBbXSB9XVxuICAgIH0sXG4gICAgbGlzdDogW10sXG4gICAgY3VycmVudElkOiAnJ1xuICB9LFxuICBwcmVzZW50YXRpb246IHtcbiAgICBjdXJyZW50OiB1bmRlZmluZWQsXG4gICAgaW5pdGlhbDogdW5kZWZpbmVkXG4gIH0sXG4gIHJlc3VsdHM6IHtcbiAgICBhdmFpbGFibGVEYXRhc291cmNlTmFtZXM6IFtdLFxuICAgIHJlc3VsdFNldHM6IHtcbiAgICAgIFtERUZBVUxUX05BTUVEX1FVRVJZX0lEXTogeyBpdGVtczoge30sIHJlbGF0aW9uczogW10gfSxcbiAgICAgIFtFWFBMT1JFX05BTUVEX1FVRVJZX0lEXTogeyBpdGVtczoge30sIHJlbGF0aW9uczogW10gfVxuICAgIH0sXG4gICAgcmVzdWx0U2V0c1BhcmFtczoge1xuICAgICAgW0RFRkFVTFRfTkFNRURfUVVFUllfSURdOiB1bmRlZmluZWQsXG4gICAgICBbRVhQTE9SRV9OQU1FRF9RVUVSWV9JRF06IHVuZGVmaW5lZFxuICAgIH0sXG4gICAgZGVmYXVsdERhdGFzb3VyY2U6IFsnY3VycmVudCddLFxuICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgIG9iamVjdERldGFpbHM6IHt9LFxuICAgIGFkZHJlc3M6IHVuZGVmaW5lZCxcbiAgICBxdWlja09yZGVyOiB7fVxuICB9LFxuICBkYXNoYm9hcmQ6IHtcbiAgICBwYXJhbXM6IHtcbiAgICAgIGdyaWRXaWR0aDogMSxcbiAgICAgIGdyaWRIZWlnaHQ6IDEsXG4gICAgICBncmlkR2FwOiBERUZBVUxUX0dBUF9QWCxcbiAgICAgIGNvbHVtbnM6IERFRkFVTFRfQ09MVU1OU19OVU1CRVIsXG4gICAgICBjZWxsSGVpZ2h0OiBERUZBVUxUX1JPV19IRUlHSFRfUFgsXG4gICAgICByb3dzOiBERUZBVUxUX1JPV1NfTlVNQkVSLFxuICAgICAgY2VsbFdpZHRoOiAxLFxuICAgICAgb2Zmc2V0TGVmdDogMCxcbiAgICAgIG9mZnNldFRvcDogMCxcbiAgICAgIG1vYmlsZU1vZGU6IGZhbHNlXG4gICAgfSxcbiAgICBlZGl0aW9uTW9kZTogZmFsc2VcbiAgfSxcbiAgd21zRmVhdHVyZXM6IFtdXG59O1xuXG5jb25zdCBpbnRlcm5hbFJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyPERhc2hib2FyZFN0YXRlPihcbiAgZGFzaGJvYXJkSW5pdGlhbFN0YXRlLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmpvaW4sIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgdGVuYW50czogWy4uLnN0YXRlLm1hbmlmZXN0cy50ZW5hbnRzLCBhY3Rpb24uc2VuZGVyXVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmRlY2xhcmVTZW5kZXJJZCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbWFuaWZlc3RzOiB7XG4gICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICBzZW5kZXI6IGFjdGlvbi5zZW5kZXIsXG4gICAgICB0ZW5hbnRzOiBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5sZW5ndGggPT09IDAgPyBhY3Rpb24udGVuYW50cyA6IHN0YXRlLm1hbmlmZXN0cy50ZW5hbnRzXG4gICAgfVxuICB9KSksXG4gIG9uKFxuICAgIERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3QsXG4gICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50Sm9pbixcbiAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRMZWF2ZSxcbiAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0QWZ0ZXJGZXRjaCxcbiAgICBEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZU1hbmlmZXN0QWZ0ZXJSZXNpemUsXG4gICAgRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVNYW5pZmVzdFdpdGhvdXRBY3RpdmF0aW9uLFxuICAgIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAoISFhY3Rpb24uc2VuZGVyICYmICFzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5maW5kKCh0ZW5hbnQpID0+IHRlbmFudCA9PT0gYWN0aW9uLnNlbmRlcikgJiYgIWFjdGlvbi5qb2luaW5nKSB7XG4gICAgICAgIC8vIGlnbm9yZSBtYW5pZmVzdCB1cGRhdGVzIGZyb20gdGVuYW50cyB0aGF0IGhhdmUgbm90IGpvaW5lZFxuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICAgIHRlbmFudHM6IGFjdGlvbi50ZW5hbnRzID8/IHN0YXRlLm1hbmlmZXN0cy50ZW5hbnRzLFxuICAgICAgICAgIG1hbmlmZXN0OiBhY3Rpb24ubWFuaWZlc3QsXG4gICAgICAgICAgY3VycmVudElkOiBhY3Rpb24ubWFuaWZlc3RJZCA/PyBzdGF0ZS5tYW5pZmVzdHMuY3VycmVudElkXG4gICAgICAgIH0sXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcHJlc2VudGF0aW9uOiBhY3Rpb24ucHJlc2VudGF0aW9uID8/IHN0YXRlLnByZXNlbnRhdGlvbixcbiAgICAgICAgcmVzdWx0czoge1xuICAgICAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICAgICAgc2VsZWN0ZWRJdGVtczogYWN0aW9uLnNlbGVjdGVkSWRzLFxuICAgICAgICAgIHJlc3VsdFNldHM6ICEhYWN0aW9uLnJlc3VsdFNldHNcbiAgICAgICAgICAgID8geyAuLi5zdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHMsIC4uLmFjdGlvbi5yZXN1bHRTZXRzIH1cbiAgICAgICAgICAgIDogc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICApLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVJvdXRlTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3Qgc2VuZGVyUmFuayA9IHN0YXRlLm1hbmlmZXN0cy50ZW5hbnRzLmluZGV4T2YoYWN0aW9uLnNlbmRlciA/PyBzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBuZXdXaW5kb3dzID0gWy4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzXTtcbiAgICBuZXdXaW5kb3dzW3NlbmRlclJhbmtdID0geyAuLi5uZXdXaW5kb3dzW3NlbmRlclJhbmtdLCByb3V0ZTogYWN0aW9uLnJvdXRlIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVEYXNoYm9hcmRNYW5pZmVzdCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBteVJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKHN0YXRlLm1hbmlmZXN0cy5zZW5kZXIpO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBbLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3NdO1xuICAgIG5ld1dpbmRvd3NbbXlSYW5rXSA9IGFjdGlvbi5tYW5pZmVzdDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVdpZGdldE1hbmlmZXN0LCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIGNvbnN0IG15UmFuayA9IHN0YXRlLm1hbmlmZXN0cy50ZW5hbnRzLmluZGV4T2Yoc3RhdGUubWFuaWZlc3RzLnNlbmRlcik7XG4gICAgY29uc3QgbmV3V2luZG93cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3MpKTtcbiAgICBuZXdXaW5kb3dzW215UmFua10ud2lkZ2V0c1thY3Rpb24uaW5kZXhdID0gYWN0aW9uLm1hbmlmZXN0O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgd2luZG93czogbmV3V2luZG93c1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlUmVzdWx0U2V0LCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZXN1bHRzOiB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgcmVzdWx0U2V0czoge1xuICAgICAgICAuLi5zdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHMsXG4gICAgICAgIFthY3Rpb24uaWRdOiBhY3Rpb24ucmVzdWx0U2V0XG4gICAgICB9LFxuICAgICAgcmVzdWx0U2V0c1BhcmFtczoge1xuICAgICAgICAuLi5zdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHNQYXJhbXMsXG4gICAgICAgIFthY3Rpb24uaWRdOiBhY3Rpb24ucGFyYW1zXG4gICAgICB9XG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMubW92ZVdpZGdldCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBteVJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKHN0YXRlLm1hbmlmZXN0cy5zZW5kZXIpO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBbLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3NdO1xuXG4gICAgLy8gQ3JlYXRpbmcgbmV3IGN1cnJlbnQgd2luZG93IG1hbmlmZXN0LCB3aXRob3V0IG1vdmVkIHdpZGdldFxuICAgIGNvbnN0IG15TmV3V2luZG93ID0ge1xuICAgICAgLi4ubmV3V2luZG93c1tteVJhbmtdLFxuICAgICAgd2lkZ2V0czogWy4uLm5ld1dpbmRvd3NbbXlSYW5rXS53aWRnZXRzXVxuICAgIH07XG4gICAgY29uc3Qgd2lkZ2V0ID0gbXlOZXdXaW5kb3cud2lkZ2V0cy5zcGxpY2UoYWN0aW9uLndpZGdldEluZGV4LCAxKVswXTtcbiAgICBuZXdXaW5kb3dzW215UmFua10gPSBteU5ld1dpbmRvdztcblxuICAgIC8vIENyZWF0aW5nIGVpdGhlciBhIG5ldyB3aW5kb3cgbWFuaWZlc3Qgb3IgdXBkYXRlIHRoZSB0YXJnZXQgb25lXG4gICAgY29uc3QgdGFyZ2V0UmFuayA9IGFjdGlvbi50YXJnZXRJbmRleDtcbiAgICBpZiAodGFyZ2V0UmFuayAhPT0gLTEpIHtcbiAgICAgIGlmICghbmV3V2luZG93c1t0YXJnZXRSYW5rXSkge1xuICAgICAgICBuZXdXaW5kb3dzW3RhcmdldFJhbmtdID0ge1xuICAgICAgICAgIC4uLm5ld1dpbmRvd3NbbXlSYW5rXSxcbiAgICAgICAgICB3aWRnZXRzOiBbd2lkZ2V0XVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3V2luZG93c1t0YXJnZXRSYW5rXSA9IHtcbiAgICAgICAgICAuLi5uZXdXaW5kb3dzW3RhcmdldFJhbmtdLFxuICAgICAgICAgIHdpZGdldHM6IFsuLi4obmV3V2luZG93c1t0YXJnZXRSYW5rXS53aWRnZXRzID8/IFtdKSwgd2lkZ2V0XVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjcmVhdGUgbmV3IHdpbmRvdyB0byB3ZWxjb21lIHRoaXMgd2lkZ2V0XG4gICAgICBuZXdXaW5kb3dzLnB1c2goe1xuICAgICAgICAuLi5uZXdXaW5kb3dzW215UmFua10sXG4gICAgICAgIHdpZGdldHM6IFt3aWRnZXRdXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5tYXhpbWl6ZVdpZGdldCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBteVJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKHN0YXRlLm1hbmlmZXN0cy5zZW5kZXIpO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzKSk7XG4gICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHNbYWN0aW9uLndpZGdldEluZGV4XS5sYXlvdXQgPSB7XG4gICAgICB4OiAxLFxuICAgICAgeTogMSxcbiAgICAgIHdpZHRoOiBzdGF0ZS5kYXNoYm9hcmQucGFyYW1zLmNvbHVtbnMsXG4gICAgICBoZWlnaHQ6IHN0YXRlLmRhc2hib2FyZC5wYXJhbXMucm93c1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZXRBdmFpbGFibGVOYW1lZFF1ZXJpZXMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHJlc3VsdHM6IHtcbiAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICBhdmFpbGFibGVEYXRhc291cmNlTmFtZXM6IGFjdGlvbi5uYW1lcyxcbiAgICAgIGRlZmF1bHREYXRhc291cmNlOiBzdGF0ZS5yZXN1bHRzLmRlZmF1bHREYXRhc291cmNlLmZpbHRlcigocnNOYW1lKSA9PiBhY3Rpb24ubmFtZXMuaW5jbHVkZXMocnNOYW1lKSlcbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZXREZWZhdWx0RGF0YXNvdXJjZSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgcmVzdWx0czoge1xuICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgIGRlZmF1bHREYXRhc291cmNlOiBhY3Rpb24ubmFtZXNcbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zb2x2ZUNvbGxpc2lvbnMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICB3aW5kb3dzOiBzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3Qud2luZG93cy5tYXAoKHdpbmRvdykgPT4ge1xuICAgICAgICAgIGNvbnN0IFtmaXJzdCwgLi4ub3RoZXJzXSA9IHdpbmRvdy53aWRnZXRzO1xuICAgICAgICAgIHJldHVybiBzb2x2ZUNvbGxpc2lvbnMoZmlyc3QsIG90aGVycywgd2luZG93KTtcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVEYXNoYm9hcmRQYXJhbXMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGRhc2hib2FyZDoge1xuICAgICAgLi4uc3RhdGUuZGFzaGJvYXJkLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIC4uLnN0YXRlLmRhc2hib2FyZC5wYXJhbXMsXG4gICAgICAgIC4uLmFjdGlvbi5wYXJhbXNcbiAgICAgIH1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy50b2dnbGVFZGl0aW9uTW9kZSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgZGFzaGJvYXJkOiB7XG4gICAgICAuLi5zdGF0ZS5kYXNoYm9hcmQsXG4gICAgICBlZGl0aW9uTW9kZTogYWN0aW9uLmZvcmNlID8/ICFzdGF0ZS5kYXNoYm9hcmQuZWRpdGlvbk1vZGVcbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZWxlY3QsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHJlc3VsdHM6IHtcbiAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICBzZWxlY3RlZEl0ZW1zOiBbXG4gICAgICAgIC4uLm5ldyBTZXQoXG4gICAgICAgICAgIWFjdGlvbi5jdW11bGF0aXZlXG4gICAgICAgICAgICA/IFthY3Rpb24uaWRdXG4gICAgICAgICAgICA6IHN0YXRlLnJlc3VsdHMuc2VsZWN0ZWRJdGVtcy5maW5kKChpZCkgPT4gaWQgPT09IGFjdGlvbi5pZClcbiAgICAgICAgICAgID8gc3RhdGUucmVzdWx0cy5zZWxlY3RlZEl0ZW1zLmZpbHRlcigoaWQpID0+IGlkICE9PSBhY3Rpb24uaWQpXG4gICAgICAgICAgICA6IFsuLi5zdGF0ZS5yZXN1bHRzLnNlbGVjdGVkSXRlbXMsIGFjdGlvbi5pZF1cbiAgICAgICAgKVxuICAgICAgXVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmludmVydFNlbGVjdGlvbiwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBhbGxJdGVtcyA9IE9iamVjdC5rZXlzKHN0YXRlLnJlc3VsdHMucmVzdWx0U2V0cylcbiAgICAgIC5tYXAoKHJzKSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHNbcnNdLml0ZW1zKVxuICAgICAgICAgIC5tYXAoKGNsYXNzSWQpID0+IHN0YXRlLnJlc3VsdHMucmVzdWx0U2V0c1tyc10uaXRlbXNbY2xhc3NJZF0gYXMgSXRlbVtdKVxuICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgICApXG4gICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgICAgLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCk7XG5cbiAgICBjb25zdCBpbnZlcnRlZEl0ZW1zSWQgPSBhbGxJdGVtcy5maWx0ZXIoKGl0ZW1JZCkgPT4gIXN0YXRlLnJlc3VsdHMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhpdGVtSWQpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgc2VsZWN0ZWRJdGVtczogWy4uLm5ldyBTZXQoaW52ZXJ0ZWRJdGVtc0lkKV1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZWxlY3RNYW55LCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZXN1bHRzOiB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgc2VsZWN0ZWRJdGVtczogWy4uLm5ldyBTZXQoYWN0aW9uLmlkcyldXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlTWFuaWZlc3RzTGlzdCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbWFuaWZlc3RzOiB7XG4gICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICBsaXN0OiBhY3Rpb24ubWFuaWZlc3RzXG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMudXBkYXRlU3RhdGljTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgc3RhdGljTWFuaWZlc3Q6IGFjdGlvbi5zdGF0aWNNYW5pZmVzdFxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmxvYWRBbmRBY3RpdmF0ZU1hbmlmZXN0LCBEYXNoYm9hcmRBY3Rpb25zLmxvYWRNYW5pZmVzdCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbWFuaWZlc3RzOiB7XG4gICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICB3aW5kb3dzOiBbLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3MubWFwKCh3aW5NYW5pZmVzdCkgPT4gKHsgLi4ud2luTWFuaWZlc3QsIHdpZGdldHM6IFtdIH0pKV1cbiAgICAgIH1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5jbGVhck1hbmlmZXN0LCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgd2luZG93czogWy4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzLm1hcCgocHJldmlvdXMpID0+ICh7IC4uLnByZXZpb3VzLCB3aWRnZXRzOiBbXSB9KSldLFxuICAgICAgICBmaWx0ZXJzOiBbXVxuICAgICAgfSxcbiAgICAgIGN1cnJlbnRJZDogJydcbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVPYmplY3RzRGV0YWlscywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgcmVzdWx0czoge1xuICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgIG9iamVjdERldGFpbHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cy5vYmplY3REZXRhaWxzLFxuICAgICAgICAuLi5hY3Rpb24ubGlzdFxuICAgICAgfVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmV4cGxvcmUsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSBPYmplY3Qua2V5cyhzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHMpXG4gICAgICAubWFwKChrZXkpID0+XG4gICAgICAgIE9iamVjdC5rZXlzKHN0YXRlLnJlc3VsdHMucmVzdWx0U2V0c1trZXldLml0ZW1zKVxuICAgICAgICAgIC5tYXAoKGtleUNsYXNzKSA9PiBzdGF0ZS5yZXN1bHRzLnJlc3VsdFNldHNba2V5XS5pdGVtc1trZXlDbGFzc10uZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gYWN0aW9uLmlkKSlcbiAgICAgICAgICAuZmluZCgoaXQpID0+ICEhaXQpXG4gICAgICApXG4gICAgICAuZmluZCgoaXQpID0+ICEhaXQpIGFzIEl0ZW07XG5cbiAgICBjb25zdCBhY3R1YWxXaW5kb3dzID0gc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3M7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBhY3R1YWxXaW5kb3dzLmNvbmNhdCh7XG4gICAgICAgICAgICB3aWRnZXRzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYXlvdXQ6IHsgeDogMSwgeTogMSwgd2lkdGg6IDEyLCBoZWlnaHQ6IDEyIH0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ2dyYXBoJyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7fSxcbiAgICAgICAgICAgICAgICBkYXRhc291cmNlOiBFWFBMT1JFX05BTUVEX1FVRVJZX0lEXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcmVzdWx0czoge1xuICAgICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgICByZXN1bHRTZXRzOiB7XG4gICAgICAgICAgLi4uc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzLFxuICAgICAgICAgIFtFWFBMT1JFX05BTUVEX1FVRVJZX0lEXToge1xuICAgICAgICAgICAgaXRlbXM6IHsgW2N1cnJlbnRJdGVtLm9DbGFzc106IFtjdXJyZW50SXRlbV0gfSxcbiAgICAgICAgICAgIHJlbGF0aW9uczogW10gYXMgUmVsYXRpb25bXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmRpc3BsYXlBZGRyZXNzLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgYWRkcmVzczogYWN0aW9uLmFkZHJlc3NcbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZXRSZWZyZXNoUmF0ZSwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICByZWZyZXNoUmF0ZXM6IHsgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LnJlZnJlc2hSYXRlcywgW2FjdGlvbi5pZF06IGFjdGlvbi5yYXRlIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLmFkZFJlbGF0aW9uc1RvUmVzdWx0U2V0cywgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkUmVzdWx0U2V0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzKSk7XG4gICAgYWN0aW9uLnJlbGF0aW9ucy5mb3JFYWNoKChyZWxhdGlvbikgPT4ge1xuICAgICAgT2JqZWN0LmtleXModXBkYXRlZFJlc3VsdFNldHMpLmZvckVhY2goKHJzSWQpID0+IHtcbiAgICAgICAgY29uc3QgaXNDb25jZXJuZWQgPSBPYmplY3Qua2V5cyh1cGRhdGVkUmVzdWx0U2V0c1tyc0lkXS5pdGVtcykubWFwKChjbGFzc0lkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRSZXN1bHRTZXRzW3JzSWRdLml0ZW1zW2NsYXNzSWRdLm1hcChcbiAgICAgICAgICAgIChpdGVtOiBJdGVtKSA9PiBpdGVtLmlkID09PSByZWxhdGlvbi5zb3VyY2UgfHwgaXRlbS5pZCA9PT0gcmVsYXRpb24uZGVzdGluYXRpb25cbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlzQ29uY2VybmVkKSB7XG4gICAgICAgICAgdXBkYXRlZFJlc3VsdFNldHNbcnNJZF0ucmVsYXRpb25zLnB1c2gocmVsYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICByZXN1bHRzOiB7XG4gICAgICAgIC4uLnN0YXRlLnJlc3VsdHMsXG4gICAgICAgIHJlc3VsdFNldHM6IHVwZGF0ZWRSZXN1bHRTZXRzXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuYWRkSXRlbVRvUmVzdWx0U2V0cywgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkUmVzdWx0U2V0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucmVzdWx0cy5yZXN1bHRTZXRzKSk7XG5cbiAgICBpZiAoISFhY3Rpb24ucmVzdWx0U2V0KSB7XG4gICAgICBpZiAoIXVwZGF0ZWRSZXN1bHRTZXRzW2FjdGlvbi5yZXN1bHRTZXRdLml0ZW1zW2FjdGlvbi5pdGVtLm9DbGFzc10pIHtcbiAgICAgICAgdXBkYXRlZFJlc3VsdFNldHNbYWN0aW9uLnJlc3VsdFNldF0uaXRlbXNbYWN0aW9uLml0ZW0ub0NsYXNzXSA9IFthY3Rpb24uaXRlbV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGVkUmVzdWx0U2V0c1thY3Rpb24ucmVzdWx0U2V0XS5pdGVtc1thY3Rpb24uaXRlbS5vQ2xhc3NdLnB1c2goYWN0aW9uLml0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgcmVzdWx0U2V0czogdXBkYXRlZFJlc3VsdFNldHNcbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5xdWlja09yZGVyLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHJlc3VsdHM6IHtcbiAgICAgICAgLi4uc3RhdGUucmVzdWx0cyxcbiAgICAgICAgcXVpY2tPcmRlcjoge1xuICAgICAgICAgIC4uLnN0YXRlLnJlc3VsdHMucXVpY2tPcmRlcixcbiAgICAgICAgICBbYWN0aW9uLmRhdGFzb3VyY2VJZF06IGFjdGlvbi5hc2MgPyB7IGF0dHJpYnV0ZTogYWN0aW9uLmF0dHJpYnV0ZSwgYXNjOiBhY3Rpb24uYXNjIH0gOiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdFByZXNlbnRhdGlvbiwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBwcmVzZW50YXRpb246IHtcbiAgICAgICAgLi4uc3RhdGUucHJlc2VudGF0aW9uLFxuICAgICAgICBjdXJyZW50OiBhY3Rpb24ucHJlc2VudGF0aW9uLFxuICAgICAgICB2aWV3TW9kZTogYWN0aW9uLnZpZXdNb2RlLFxuICAgICAgICBpbml0aWFsOiBhY3Rpb24ucHJlc2VudGF0aW9uID8gc3RhdGUucHJlc2VudGF0aW9uLmluaXRpYWwgOiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5zZXRJbml0aWFsUHJlc2VudGF0aW9uLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHByZXNlbnRhdGlvbjoge1xuICAgICAgICAuLi5zdGF0ZS5wcmVzZW50YXRpb24sXG4gICAgICAgIGluaXRpYWw6IGFjdGlvbi5pbml0aWFsXG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuc2V0R3JpZExheW91dCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICBjb25zdCBteVJhbmsgPSBzdGF0ZS5tYW5pZmVzdHMudGVuYW50cy5pbmRleE9mKHN0YXRlLm1hbmlmZXN0cy5zZW5kZXIpO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzID8/IFtdKSk7XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10pIHtcbiAgICAgIG5ld1dpbmRvd3NbbXlSYW5rXSA9IHsgd2lkZ2V0czogW10gfTtcbiAgICB9XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10uZ3JpZCkge1xuICAgICAgbmV3V2luZG93c1tteVJhbmtdLmdyaWQgPSB7fTtcbiAgICB9XG4gICAgaWYgKCFuZXdXaW5kb3dzW215UmFua10ud2lkZ2V0cykge1xuICAgICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHMgPSBbXTtcbiAgICB9XG4gICAgbmV3V2luZG93c1tteVJhbmtdLmdyaWQubGF5b3V0ID0gYWN0aW9uLmxheW91dDtcbiAgICBpZiAoYWN0aW9uLmxheW91dCAhPT0gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUwpIHtcbiAgICAgIC8vIFJlb3JkZXIgbGF5b3V0c1xuICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICByb3dzOiBuZXdXaW5kb3dzW215UmFua10uZ3JpZC5yb3dzLFxuICAgICAgICBjb2x1bW5zOiBuZXdXaW5kb3dzW215UmFua10uZ3JpZC5jb2x1bW5zXG4gICAgICB9O1xuICAgICAgY29uc3QgcGxhY2VzID0gV2lkZ2V0UGxhY2VtZW50VXRpbHMucGxhY2VtZW50T3B0aW9ucyh7fSBhcyBXaWRnZXRNYW5pZmVzdCwgYWN0aW9uLmxheW91dCwgcGFyYW1zKTtcblxuICAgICAgbmV3V2luZG93c1tteVJhbmtdLndpZGdldHMuZm9yRWFjaCgod2lkZ2V0OiBXaWRnZXRNYW5pZmVzdCwgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgbGV0IHRhcmdldExheW91dCA9IHBsYWNlc1tpZHhdPy5sYXlvdXQ7XG4gICAgICAgIGlmICghdGFyZ2V0TGF5b3V0KSB7XG4gICAgICAgICAgdGFyZ2V0TGF5b3V0ID0geyB4OiAxLCB5OiAxLCB3aWR0aDogMSwgaGVpZ2h0OiAxIH07XG4gICAgICAgICAgY29uc29sZS53YXJuKCdJbmNvcnJlY3QgcGxhY2VtZW50IGNhbGN1bGF0aW9uJywgcGxhY2VzLCBpZHgsIHdpZGdldCwgYWN0aW9uLmxheW91dCk7XG4gICAgICAgIH1cbiAgICAgICAgd2lkZ2V0LmxheW91dCA9IHsgLi4udGFyZ2V0TGF5b3V0IH07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBtYW5pZmVzdHM6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgICB3aW5kb3dzOiBuZXdXaW5kb3dzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9KSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy5jcmVhdGVUYWIsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbXlSYW5rID0gc3RhdGUubWFuaWZlc3RzLnRlbmFudHMuaW5kZXhPZihzdGF0ZS5tYW5pZmVzdHMuc2VuZGVyKTtcbiAgICBjb25zdCBteUxheW91dCA9IHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzW215UmFua10uZ3JpZD8ubGF5b3V0ID8/IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMO1xuICAgIGNvbnN0IG5ld1dpbmRvd3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC53aW5kb3dzKSk7XG4gICAgbmV3V2luZG93cy5wdXNoKHsgZ3JpZDogeyBsYXlvdXQ6IG15TGF5b3V0IH0sIHdpZGdldHM6IFtdIH0pO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnJlc3RvcmVJbml0aWFsTWFuaWZlc3QsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUucHJlc2VudGF0aW9uLmluaXRpYWwpKVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnByb3BhZ2F0ZUdyaWRMYXlvdXQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbmV3V2luZG93cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LndpbmRvd3MpKTtcbiAgICBuZXdXaW5kb3dzW2FjdGlvbi5yYW5rXSA9IGFjdGlvbi5tYW5pZmVzdDtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1hbmlmZXN0czoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICAgIHdpbmRvd3M6IG5ld1dpbmRvd3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0pLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnNldEZpbHRlcnMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1hbmlmZXN0czoge1xuICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLFxuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgLi4uc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LFxuICAgICAgICBmaWx0ZXJzOiBhY3Rpb24uZmlsdGVyc1xuICAgICAgfVxuICAgIH1cbiAgfSkpLFxuICBvbihEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZUZpbHRlcnMsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgaXNQcmVzZW50ID0gc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnM/LmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBhY3Rpb24uZmlsdGVyLmlkKTtcbiAgICBsZXQgZmlsdGVycyA9IFtdO1xuICAgIGlmIChpc1ByZXNlbnQpIHtcbiAgICAgIGZpbHRlcnMgPVxuICAgICAgICBzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycz8ubWFwKChmaWx0ZXIpID0+IChmaWx0ZXIuaWQgPT09IGFjdGlvbi5maWx0ZXIuaWQgPyBhY3Rpb24uZmlsdGVyIDogZmlsdGVyKSkgPz9cbiAgICAgICAgW107XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycykge1xuICAgICAgICBmaWx0ZXJzID0gWy4uLihzdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QuZmlsdGVycyBhcyBGaWx0ZXJbXSksIGFjdGlvbi5maWx0ZXJdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVycyA9IFthY3Rpb24uZmlsdGVyXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWFuaWZlc3RzOiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgICAgZmlsdGVyczogZmlsdGVyc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMucmVtb3ZlRmlsdGVyLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtYW5pZmVzdHM6IHtcbiAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cyxcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdCxcbiAgICAgICAgZmlsdGVyczogc3RhdGUubWFuaWZlc3RzLm1hbmlmZXN0LmZpbHRlcnM/LmZpbHRlcigoZmlsdGVyKSA9PiBmaWx0ZXIuaWQgIT09IGFjdGlvbi5pZClcbiAgICAgIH1cbiAgICB9XG4gIH0pKSxcbiAgb24oRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVGaWx0ZXJWYWx1ZSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbWFuaWZlc3RzOiB7XG4gICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMsXG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICAuLi5zdGF0ZS5tYW5pZmVzdHMubWFuaWZlc3QsXG4gICAgICAgIGZpbHRlcnM6IHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC5maWx0ZXJzXG4gICAgICAgICAgPyBbXG4gICAgICAgICAgICAgIC4uLnN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC5maWx0ZXJzLm1hcCgoZmlsdGVyLCBpKSA9PlxuICAgICAgICAgICAgICAgIGkgPT09IHN0YXRlLm1hbmlmZXN0cy5tYW5pZmVzdC5maWx0ZXJzPy5maW5kSW5kZXgoKGZpbHRlcikgPT4gZmlsdGVyLmlkID09PSBhY3Rpb24uaWQpXG4gICAgICAgICAgICAgICAgICA/IHsgLi4uZmlsdGVyLCB2YWx1ZTogYWN0aW9uLnZhbHVlIH1cbiAgICAgICAgICAgICAgICAgIDogZmlsdGVyXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IFtdXG4gICAgICB9XG4gICAgfVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuZ2V0V21zRmVhdHVyZXMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHdtc0ZlYXR1cmVzOiBbXVxuICB9KSksXG4gIG9uKERhc2hib2FyZEFjdGlvbnMuYWRkV21zRmVhdHVyZXMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIHdtc0ZlYXR1cmVzOiBbLi4uc3RhdGUud21zRmVhdHVyZXMsIC4uLmFjdGlvbi5mZWF0dXJlc11cbiAgfSkpXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gZGFzaGJvYXJkUmVkdWNlcihzdGF0ZTogRGFzaGJvYXJkU3RhdGUsIGFjdGlvbjogQWN0aW9uKSB7XG4gIHJldHVybiBpbnRlcm5hbFJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XG59XG4iXX0=