@eo-sdk/client 10.0.0-beta.3 → 10.0.0-beta.5

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 (264) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/dashboard.component.d.ts +6 -7
  3. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  4. package/app/eo-client/favorite-state/favorite-state.component.d.ts +7 -8
  5. package/app/eo-client/favorite-state/favorite-state.component.d.ts.map +1 -1
  6. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts +8 -10
  7. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
  8. package/app/eo-client/login/login.component.d.ts +4 -2
  9. package/app/eo-client/login/login.component.d.ts.map +1 -1
  10. package/app/eo-client/notifications-state/notifications-state.component.d.ts +9 -11
  11. package/app/eo-client/notifications-state/notifications-state.component.d.ts.map +1 -1
  12. package/app/eo-client/object-state/object-state/object-state.component.d.ts +10 -11
  13. package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
  14. package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts +8 -9
  15. package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts.map +1 -1
  16. package/app/eo-client/process-state/process-state.component.d.ts +8 -10
  17. package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
  18. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts +5 -6
  19. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts.map +1 -1
  20. package/app/eo-client/result-state/result-state.component.d.ts +3 -5
  21. package/app/eo-client/result-state/result-state.component.d.ts.map +1 -1
  22. package/app/eo-client/settings/settings.component.d.ts +6 -7
  23. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  24. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts +8 -10
  25. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  26. package/app/eo-client/version-state/version-state.component.d.ts +5 -7
  27. package/app/eo-client/version-state/version-state.component.d.ts.map +1 -1
  28. package/app/eo-framework/accordion/accordion.module.d.ts +1 -2
  29. package/app/eo-framework/accordion/accordion.module.d.ts.map +1 -1
  30. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts +4 -5
  31. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts.map +1 -1
  32. package/app/eo-framework/actions/action.module.d.ts +11 -10
  33. package/app/eo-framework/actions/action.module.d.ts.map +1 -1
  34. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +3 -2
  35. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
  36. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts +9 -13
  37. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts.map +1 -1
  38. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +3 -4
  39. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
  40. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  41. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +1 -2
  42. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts.map +1 -1
  43. package/app/eo-framework/app-shell/app-shell.module.d.ts +18 -20
  44. package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
  45. package/app/eo-framework/app-shell/index.d.ts +0 -1
  46. package/app/eo-framework/app-shell/index.d.ts.map +1 -1
  47. package/app/eo-framework/eo-framework.module.d.ts +37 -41
  48. package/app/eo-framework/eo-framework.module.d.ts.map +1 -1
  49. package/app/eo-framework/form-elements/date/date.component.d.ts +0 -2
  50. package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
  51. package/app/eo-framework/form-elements/form-elements.module.d.ts +9 -18
  52. package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
  53. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -0
  54. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts.map +1 -1
  55. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -2
  56. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
  57. package/app/eo-framework/grid/grid.component.d.ts +7 -8
  58. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  59. package/app/eo-framework/grid/grid.module.d.ts +7 -8
  60. package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
  61. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -2
  62. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  63. package/app/eo-framework/index.d.ts +0 -4
  64. package/app/eo-framework/index.d.ts.map +1 -1
  65. package/app/eo-framework/media/media.component.d.ts +4 -3
  66. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  67. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +2 -3
  68. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts.map +1 -1
  69. package/app/eo-framework/object-details/object-details.component.d.ts +5 -4
  70. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  71. package/app/eo-framework/object-details/object-details.module.d.ts +2 -1
  72. package/app/eo-framework/object-details/object-details.module.d.ts.map +1 -1
  73. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +2 -3
  74. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  75. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +10 -0
  76. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts.map +1 -0
  77. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +8 -3
  78. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts.map +1 -1
  79. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -2
  80. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  81. package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts +7 -2
  82. package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts.map +1 -1
  83. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +28 -11
  84. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
  85. package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
  86. package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -2
  87. package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
  88. package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
  89. package/app/eo-framework/object-form/object-form.module.d.ts +9 -9
  90. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -2
  91. package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
  92. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +8 -9
  93. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  94. package/app/eo-framework/process/details/process-details.component.d.ts +7 -8
  95. package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
  96. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +9 -11
  97. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
  98. package/app/eo-framework/result-list/result-list.component.d.ts +5 -6
  99. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  100. package/app/eo-framework/settings/settings.module.d.ts +3 -4
  101. package/app/eo-framework/settings/settings.module.d.ts.map +1 -1
  102. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +4 -5
  103. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
  104. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -3
  105. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
  106. package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts +1 -2
  107. package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts.map +1 -1
  108. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +0 -1
  109. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts.map +1 -1
  110. package/app/eo-framework/util/index.d.ts +0 -1
  111. package/app/eo-framework/util/index.d.ts.map +1 -1
  112. package/app/eo-framework/util/util.module.d.ts +0 -1
  113. package/app/eo-framework/util/util.module.d.ts.map +1 -1
  114. package/app/eo-framework-core/layout/layout.service.d.ts +2 -26
  115. package/app/eo-framework-core/layout/layout.service.d.ts.map +1 -1
  116. package/app/eo-framework-core/pipes/locale-number.pipe.d.ts +2 -3
  117. package/app/eo-framework-core/pipes/locale-number.pipe.d.ts.map +1 -1
  118. package/assets/_default/i18n/de.json +2 -1
  119. package/assets/_default/i18n/en.json +7 -6
  120. package/assets/_default/svg/ic_add_document_file_as_new_version.svg +1 -0
  121. package/assets/_default/svg/ic_create_document.svg +1 -0
  122. package/assets/_default/svg/ic_create_document_in_folder.svg +1 -0
  123. package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -5
  124. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +17 -14
  125. package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +15 -14
  126. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +14 -11
  127. package/esm2020/app/eo-client/login/login.component.mjs +6 -7
  128. package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +16 -12
  129. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +28 -24
  130. package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +12 -9
  131. package/esm2020/app/eo-client/process-state/process-state.component.mjs +6 -9
  132. package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +17 -16
  133. package/esm2020/app/eo-client/result-state/result-state.component.mjs +11 -8
  134. package/esm2020/app/eo-client/settings/settings.component.mjs +16 -12
  135. package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +17 -14
  136. package/esm2020/app/eo-client/version-state/version-state.component.mjs +13 -10
  137. package/esm2020/app/eo-framework/accordion/accordion.module.mjs +3 -7
  138. package/esm2020/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +3 -3
  139. package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +15 -11
  140. package/esm2020/app/eo-framework/actions/action.module.mjs +5 -2
  141. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +5 -7
  142. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
  143. package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -2
  144. package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +43 -48
  145. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +2 -2
  146. package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +2 -2
  147. package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +16 -14
  148. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +7 -3
  149. package/esm2020/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +3 -5
  150. package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +1 -8
  151. package/esm2020/app/eo-framework/app-shell/index.mjs +1 -2
  152. package/esm2020/app/eo-framework/eo-framework.module.mjs +35 -76
  153. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +2 -12
  154. package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +2 -2
  155. package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +3 -3
  156. package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +28 -37
  157. package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +7 -8
  158. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +10 -6
  159. package/esm2020/app/eo-framework/form-elements/number-range/number-range.component.mjs +2 -2
  160. package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +3 -3
  161. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +4 -5
  162. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +3 -3
  163. package/esm2020/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +3 -3
  164. package/esm2020/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +3 -3
  165. package/esm2020/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.mjs +3 -3
  166. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +2 -6
  167. package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
  168. package/esm2020/app/eo-framework/grid/filters/list-filter.component.mjs +3 -3
  169. package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +3 -3
  170. package/esm2020/app/eo-framework/grid/grid.component.mjs +16 -12
  171. package/esm2020/app/eo-framework/grid/grid.module.mjs +1 -5
  172. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +16 -11
  173. package/esm2020/app/eo-framework/index.mjs +1 -5
  174. package/esm2020/app/eo-framework/media/media.component.mjs +32 -12
  175. package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +13 -10
  176. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +42 -30
  177. package/esm2020/app/eo-framework/object-details/object-details.module.mjs +7 -3
  178. package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +13 -9
  179. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +18 -0
  180. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +20 -6
  181. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +21 -22
  182. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +1 -1
  183. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +94 -32
  184. package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +6 -4
  185. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +2 -3
  186. package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -5
  187. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +2 -2
  188. package/esm2020/app/eo-framework/object-form/object-form.module.mjs +9 -10
  189. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +15 -13
  190. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +16 -14
  191. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +16 -12
  192. package/esm2020/app/eo-framework/process-form/process-form.component.mjs +2 -2
  193. package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +25 -17
  194. package/esm2020/app/eo-framework/result-list/result-list.component.mjs +18 -14
  195. package/esm2020/app/eo-framework/settings/settings.module.mjs +1 -5
  196. package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +17 -13
  197. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +12 -8
  198. package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +2 -2
  199. package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +11 -8
  200. package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -6
  201. package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
  202. package/esm2020/app/eo-framework/util/index.mjs +1 -2
  203. package/esm2020/app/eo-framework/util/util.module.mjs +2 -3
  204. package/esm2020/app/eo-framework-core/layout/layout.service.mjs +61 -63
  205. package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +11 -8
  206. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +8 -8
  207. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +2 -6
  208. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +14 -16
  209. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +15 -12
  210. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +2 -6
  211. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +4 -4
  212. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +158 -166
  213. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  214. package/fesm2015/eo-sdk-client.mjs +13541 -14313
  215. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  216. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +158 -166
  217. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  218. package/fesm2020/eo-sdk-client.mjs +13563 -14335
  219. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  220. package/package.json +4 -5
  221. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +1 -1
  222. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +1 -1
  223. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +10 -8
  224. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +1 -1
  225. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +1 -0
  226. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +1 -1
  227. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +1 -1
  228. package/projects/eo-sdk/core/lib/util/utils.d.ts +3 -4
  229. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
  230. package/scss/_eo-variables.scss +3 -1
  231. package/scss/_main.scss +1 -1
  232. package/scss/_mixins.scss +6 -6
  233. package/scss/_yuuvis-components.scss +1 -0
  234. package/styles.css +3 -3
  235. package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts +0 -24
  236. package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts.map +0 -1
  237. package/app/eo-framework/split/index.d.ts +0 -5
  238. package/app/eo-framework/split/index.d.ts.map +0 -1
  239. package/app/eo-framework/split/split/split.component.d.ts +0 -83
  240. package/app/eo-framework/split/split/split.component.d.ts.map +0 -1
  241. package/app/eo-framework/split/split-area/split-area.component.d.ts +0 -37
  242. package/app/eo-framework/split/split-area/split-area.component.d.ts.map +0 -1
  243. package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts +0 -21
  244. package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts.map +0 -1
  245. package/app/eo-framework/split/split.module.d.ts +0 -12
  246. package/app/eo-framework/split/split.module.d.ts.map +0 -1
  247. package/app/eo-framework/undock-split/undock-split.component.d.ts +0 -28
  248. package/app/eo-framework/undock-split/undock-split.component.d.ts.map +0 -1
  249. package/app/eo-framework/undock-split/undock-split.service.d.ts +0 -43
  250. package/app/eo-framework/undock-split/undock-split.service.d.ts.map +0 -1
  251. package/app/eo-framework/undock-split/undock-state.interface.d.ts +0 -6
  252. package/app/eo-framework/undock-split/undock-state.interface.d.ts.map +0 -1
  253. package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts +0 -11
  254. package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts.map +0 -1
  255. package/esm2020/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.mjs +0 -67
  256. package/esm2020/app/eo-framework/split/index.mjs +0 -5
  257. package/esm2020/app/eo-framework/split/split/split.component.mjs +0 -373
  258. package/esm2020/app/eo-framework/split/split-area/split-area.component.mjs +0 -131
  259. package/esm2020/app/eo-framework/split/split-gutter/split-gutter.directive.mjs +0 -73
  260. package/esm2020/app/eo-framework/split/split.module.mjs +0 -28
  261. package/esm2020/app/eo-framework/undock-split/undock-split.component.mjs +0 -89
  262. package/esm2020/app/eo-framework/undock-split/undock-split.service.mjs +0 -135
  263. package/esm2020/app/eo-framework/undock-split/undock-state.interface.mjs +0 -2
  264. package/esm2020/app/eo-framework/util/unsubscribe/unsubscribe.component.mjs +0 -23
@@ -20,10 +20,10 @@ export class SimpleAccordionComponent {
20
20
  }
21
21
  }
22
22
  SimpleAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SimpleAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- SimpleAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: { header: "header", styles: "styles", headerClass: "headerClass", selected: "selected" }, outputs: { selectChange: "selectChange" }, host: { properties: { "attr.role": "this.role", "class.selected": "this.selected" } }, ngImport: i0, template: "<!-- <p-accordion styleClass=\"{{styles}}\"\n [activeIndex]=\"index\"\n (onOpen)=\"onTabOpen($event)\"\n (onClose)=\"onTabClose($event)\">\n <p-accordionTab class=\"{{headerClass}}\" header=\"{{header}}\"\n [selected]=\"selected\">\n <ng-content></ng-content>\n </p-accordionTab>\n</p-accordion> -->\n\n\n<button (click)=\"toggleOpen()\">{{header}}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\"><path d=\"M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z\"></path></svg>\n</button>\n<section *ngIf=\"selected\"><ng-content></ng-content></section>\n", styles: [":host{display:flex;flex-flow:column}:host.selected>button svg{transform:rotate(180deg)}:host>button{display:flex;align-items:center;justify-content:space-between}:host>button svg{width:18px;height:18px;fill:var(--text-color-caption)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
23
+ SimpleAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: { header: "header", styles: "styles", headerClass: "headerClass", selected: "selected" }, outputs: { selectChange: "selectChange" }, host: { properties: { "attr.role": "this.role", "class.selected": "this.selected" } }, ngImport: i0, template: "<button (click)=\"toggleOpen()\">{{header}}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\"><path d=\"M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z\"></path></svg>\n</button>\n<section *ngIf=\"selected\"><ng-content></ng-content></section>\n", styles: [":host{display:flex;flex-flow:column}:host.selected>button svg{transform:rotate(180deg)}:host>button{display:flex;align-items:center;justify-content:space-between}:host>button svg{width:18px;height:18px;fill:var(--text-color-caption)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SimpleAccordionComponent, decorators: [{
25
25
  type: Component,
26
- args: [{ selector: 'eo-simple-accordion', template: "<!-- <p-accordion styleClass=\"{{styles}}\"\n [activeIndex]=\"index\"\n (onOpen)=\"onTabOpen($event)\"\n (onClose)=\"onTabClose($event)\">\n <p-accordionTab class=\"{{headerClass}}\" header=\"{{header}}\"\n [selected]=\"selected\">\n <ng-content></ng-content>\n </p-accordionTab>\n</p-accordion> -->\n\n\n<button (click)=\"toggleOpen()\">{{header}}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\"><path d=\"M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z\"></path></svg>\n</button>\n<section *ngIf=\"selected\"><ng-content></ng-content></section>\n", styles: [":host{display:flex;flex-flow:column}:host.selected>button svg{transform:rotate(180deg)}:host>button{display:flex;align-items:center;justify-content:space-between}:host>button svg{width:18px;height:18px;fill:var(--text-color-caption)}\n"] }]
26
+ args: [{ selector: 'eo-simple-accordion', template: "<button (click)=\"toggleOpen()\">{{header}}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"100%\" viewBox=\"0 0 24 24\"><path d=\"M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z\"></path></svg>\n</button>\n<section *ngIf=\"selected\"><ng-content></ng-content></section>\n", styles: [":host{display:flex;flex-flow:column}:host.selected>button svg{transform:rotate(180deg)}:host>button{display:flex;align-items:center;justify-content:space-between}:host>button svg{width:18px;height:18px;fill:var(--text-color-caption)}\n"] }]
27
27
  }], propDecorators: { role: [{
28
28
  type: HostBinding,
29
29
  args: ['attr.role']
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
41
41
  }], selectChange: [{
42
42
  type: Output
43
43
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWFjY29yZGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY2NvcmRpb24vc2ltcGxlLWFjY29yZGlvbi9zaW1wbGUtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjY29yZGlvbi9zaW1wbGUtYWNjb3JkaW9uL3NpbXBsZS1hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9wRixNQUFNLE9BQU8sd0JBQXdCO0lBTHJDO1FBTzRCLFNBQUksR0FBRyxTQUFTLENBQUM7UUFpQmpDLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7S0FvQnBFO0lBOUJDLElBRUksUUFBUSxDQUFDLEdBQVk7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBR0Qsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUVsQixVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O3FIQTFCVSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwrUkNQckMsa3BCQWVBOzJGRFJhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxxQkFBcUI7OEJBTUwsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUdmLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFJRixRQUFRO3NCQUZYLFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFDNUIsS0FBSztnQkFTSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXNpbXBsZS1hY2NvcmRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2ltcGxlLWFjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpbXBsZS1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2ltcGxlQWNjb3JkaW9uQ29tcG9uZW50IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAndGFibGlzdCc7XG4gIF9zZWxlY3RlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBoZWFkZXI6IHN0cmluZztcbiAgQElucHV0KCkgc3R5bGVzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlYWRlckNsYXNzOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpXG4gIEBJbnB1dCgpXG4gIHNldCBzZWxlY3RlZCh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbDtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cblxuICBAT3V0cHV0KCkgc2VsZWN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIGluZGV4OiBudW1iZXIgPSBudWxsO1xuICAvLyBsYXN0SW5kZXggPSAtMTtcblxuICB0b2dnbGVPcGVuKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICB0aGlzLnNlbGVjdENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xuICB9XG5cbiAgLy8gb25UYWJPcGVuKGUpIHtcbiAgLy8gICBjb25zdCBpbmRleCA9IGUuaW5kZXg7XG4gIC8vICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gIC8vICAgdGhpcy5vbk9wZW4uZW1pdCh0aGlzLnNlbGVjdGVkKTtcbiAgLy8gfVxuXG4gIC8vIG9uVGFiQ2xvc2UoZSA9IGZhbHNlKSB7XG4gIC8vICAgdGhpcy5pbmRleCA9IHRoaXMubGFzdEluZGV4LS07XG4gIC8vICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICAvLyAgIHRoaXMub25PcGVuLmVtaXQodGhpcy5zZWxlY3RlZCk7XG4gIC8vIH1cbn1cbiIsIjwhLS0gPHAtYWNjb3JkaW9uIHN0eWxlQ2xhc3M9XCJ7e3N0eWxlc319XCJcbiAgICAgICAgICAgICBbYWN0aXZlSW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgICAgIChvbk9wZW4pPVwib25UYWJPcGVuKCRldmVudClcIlxuICAgICAgICAgICAgIChvbkNsb3NlKT1cIm9uVGFiQ2xvc2UoJGV2ZW50KVwiPlxuICA8cC1hY2NvcmRpb25UYWIgY2xhc3M9XCJ7e2hlYWRlckNsYXNzfX1cIiBoZWFkZXI9XCJ7e2hlYWRlcn19XCJcbiAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9wLWFjY29yZGlvblRhYj5cbjwvcC1hY2NvcmRpb24+IC0tPlxuXG5cbjxidXR0b24gKGNsaWNrKT1cInRvZ2dsZU9wZW4oKVwiPnt7aGVhZGVyfX1cbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTcuNDEgNy44NEwxMiAxMi40Mmw0LjU5LTQuNThMMTggOS4yNWwtNiA2LTYtNnpcIj48L3BhdGg+PC9zdmc+XG48L2J1dHRvbj5cbjxzZWN0aW9uICpuZ0lmPVwic2VsZWN0ZWRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zZWN0aW9uPlxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWFjY29yZGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY2NvcmRpb24vc2ltcGxlLWFjY29yZGlvbi9zaW1wbGUtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjY29yZGlvbi9zaW1wbGUtYWNjb3JkaW9uL3NpbXBsZS1hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9wRixNQUFNLE9BQU8sd0JBQXdCO0lBTHJDO1FBTzRCLFNBQUksR0FBRyxTQUFTLENBQUM7UUFpQmpDLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7S0FvQnBFO0lBOUJDLElBRUksUUFBUSxDQUFDLEdBQVk7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBR0Qsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUVsQixVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O3FIQTFCVSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwrUkNQckMsdVNBSUE7MkZER2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFNTCxJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBR2YsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlGLFFBQVE7c0JBRlgsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUM1QixLQUFLO2dCQVNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2ltcGxlLWFjY29yZGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2ltcGxlLWFjY29yZGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTaW1wbGVBY2NvcmRpb25Db21wb25lbnQge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICd0YWJsaXN0JztcbiAgX3NlbGVjdGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBzdHlsZXM6IHN0cmluZztcbiAgQElucHV0KCkgaGVhZGVyQ2xhc3M6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJylcbiAgQElucHV0KClcbiAgc2V0IHNlbGVjdGVkKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgfVxuXG4gIEBPdXRwdXQoKSBzZWxlY3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gaW5kZXg6IG51bWJlciA9IG51bGw7XG4gIC8vIGxhc3RJbmRleCA9IC0xO1xuXG4gIHRvZ2dsZU9wZW4oKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9ICF0aGlzLnNlbGVjdGVkO1xuICAgIHRoaXMuc2VsZWN0Q2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZCk7XG4gIH1cblxuICAvLyBvblRhYk9wZW4oZSkge1xuICAvLyAgIGNvbnN0IGluZGV4ID0gZS5pbmRleDtcbiAgLy8gICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgLy8gICB0aGlzLm9uT3Blbi5lbWl0KHRoaXMuc2VsZWN0ZWQpO1xuICAvLyB9XG5cbiAgLy8gb25UYWJDbG9zZShlID0gZmFsc2UpIHtcbiAgLy8gICB0aGlzLmluZGV4ID0gdGhpcy5sYXN0SW5kZXgtLTtcbiAgLy8gICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gIC8vICAgdGhpcy5vbk9wZW4uZW1pdCh0aGlzLnNlbGVjdGVkKTtcbiAgLy8gfVxufVxuIiwiPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlT3BlbigpXCI+e3toZWFkZXJ9fVxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNNy40MSA3Ljg0TDEyIDEyLjQybDQuNTktNC41OEwxOCA5LjI1bC02IDYtNi02elwiPjwvcGF0aD48L3N2Zz5cbjwvYnV0dG9uPlxuPHNlY3Rpb24gKm5nSWY9XCJzZWxlY3RlZFwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NlY3Rpb24+XG4iXX0=
@@ -1,9 +1,10 @@
1
- import { take, takeUntil, filter, tap } from 'rxjs/operators';
2
- import { Component, ViewEncapsulation, ViewChild } from '@angular/core';
1
+ import { __decorate } from "tslib";
2
+ import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { NavigationStart } from '@angular/router';
3
4
  import { Utils } from '@eo-sdk/core';
5
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
+ import { filter, take, tap } from 'rxjs/operators';
4
7
  import { ActionComponentAnchorDirective } from './action-component-anchor/action-component-anchor.directive';
5
- import { NavigationStart } from '@angular/router';
6
- import { UnsubscribeOnDestroy } from '../../util/unsubscribe/unsubscribe.component';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "../action-service/action.service";
9
10
  import * as i2 from "@angular/router";
@@ -15,9 +16,8 @@ import * as i7 from "../../ui/router-link/router-link.directive";
15
16
  import * as i8 from "../../ui/loading-spinner/loading-spinner.component";
16
17
  import * as i9 from "./action-component-anchor/action-component-anchor.directive";
17
18
  import * as i10 from "../../util/directive/prevent-double-click.directive";
18
- export class ActionMenuComponent extends UnsubscribeOnDestroy {
19
+ let ActionMenuComponent = class ActionMenuComponent {
19
20
  constructor(actionService, router, viewContainerRef, elemRef, componentFactoryResolver) {
20
- super();
21
21
  this.actionService = actionService;
22
22
  this.router = router;
23
23
  this.viewContainerRef = viewContainerRef;
@@ -33,7 +33,7 @@ export class ActionMenuComponent extends UnsubscribeOnDestroy {
33
33
  this.activeActionIndex = 0;
34
34
  // subscribe for visibility observable indicating whether to show or hide the actions
35
35
  this.actionService
36
- .actionsShowing$.pipe(takeUntil(this.componentDestroyed$))
36
+ .actionsShowing$.pipe(untilDestroyed(this))
37
37
  .subscribe((cmd) => {
38
38
  if (!this.showMenu && cmd.show) {
39
39
  this.selection = cmd.selection;
@@ -45,7 +45,7 @@ export class ActionMenuComponent extends UnsubscribeOnDestroy {
45
45
  }
46
46
  });
47
47
  this.router.events
48
- .pipe(takeUntil(this.componentDestroyed$), filter(evt => evt instanceof NavigationStart))
48
+ .pipe(untilDestroyed(this), filter(evt => evt instanceof NavigationStart))
49
49
  .subscribe(() => this.hide());
50
50
  }
51
51
  getActions() {
@@ -188,9 +188,13 @@ export class ActionMenuComponent extends UnsubscribeOnDestroy {
188
188
  onFinish() {
189
189
  this.hideActionMenu();
190
190
  }
191
- }
191
+ };
192
192
  ActionMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ActionMenuComponent, deps: [{ token: i1.ActionService }, { token: i2.Router }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
193
- ActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ActionMenuComponent, selector: "eo-action-menu", viewQueries: [{ propertyName: "eoActionComponentAnchor", first: true, predicate: ActionComponentAnchorDirective, descendants: true }, { propertyName: "externalDialog", first: true, predicate: ActionComponentAnchorDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"action-menu dark\" *ngIf=\"showMenu\" (eoOutsideClick)=\"hide()\">\n\n <div class=\"head\">\n <div class=\"left\">\n <div class=\"title\" translate>eo.actions.sticky.title</div>\n <div class=\"sub-title\" *ngIf=\"selection?.length > 1; else multi\" translate>eo.actions.sticky.title.sub.selection</div>\n <ng-template #multi>\n <div class=\"sub-title\" *ngIf=\"selection && selection.length\"><span translate>eo.actions.sticky.title.sub.for</span> '{{selection[0].title}}'</div>\n </ng-template>\n </div>\n <div class=\"right\">\n <span class=\"count\">{{subSelection?.length || selection?.length || ''}}</span>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"hide()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"actions\" [hidden]=\"subActionsList || showComponent\">\n\n <ng-template #action let-entry let-id>\n\n <a *ngIf=\"isLinkAction(entry.action); else default\" class=\"link\"\n [routerLink]=\"entry.action.getLink(entry.availableSelection)\"\n [queryParams]=\"entry.action.getParams(entry.availableSelection, true)\">\n <ng-container *ngTemplateOutlet=\"default\"></ng-container>\n </a>\n\n <ng-template #default>\n <div>\n <eo-icon [iconSrc]=\"entry.action.iconSrc\" [iconId]=\"entry.action.iconId\"\n [badge]=\"entry.availableSelection?.length != selection?.length ? entry.availableSelection?.length : null\"></eo-icon>\n <div class=\"label\">{{entry.action.label}}</div>\n <!-- <div class=\"available-count\" *ngIf=\"entry.availableSelection?.length != selection?.length\">{{entry.availableSelection?.length}}</div> -->\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\" (click)=\"showActionDescription(id, $event)\"></eo-icon>\n </div>\n <div class=\"description\" [hidden]=\"id !== actionDescription\">{{entry.action.description}}</div>\n </ng-template>\n </ng-template>\n\n <div class=\"group\" *ngIf=\"actionLists?.common.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.common</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" (keydown)=\"isArrowUpOrDownPressed($event)\" [attr.tabindex]=\"0\" *ngFor=\"let actionListEntry of actionLists.common; let i = index\"\n (click)=\"onClick(actionListEntry)\" [ngClass]=\"{active: activeActionIndex === i}\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: +i}\"></ng-container>\n\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading; else loader\">\n <div *ngIf=\"actionLists?.further.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.further_actions</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" (keydown)=\"isArrowUpOrDownPressed($event)\" *ngFor=\"let actionListEntry of actionLists.further; index as i\"\n eoPreventDoubleClick [ngClass]=\"{active: activeActionIndex === i + actionLists?.common.length }\"\n (debounceClick)=\"onClick(actionListEntry)\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 'f'+i}\"></ng-container>\n\n </div>\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading && !actionLists?.further.length && !actionLists?.common.length\" [style.textAlign]=\"'center'\">\n {{ 'eo.action.not.available' | translate}}\n </div>\n\n <ng-template #loader>\n <div class=\"loading-container\">\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- sub actions -->\n <div class=\"group sub\" *ngIf=\"subActionsList && !showComponent\">\n <div class=\"sub-actions\">\n <div class=\"group-title\">{{subActionsListHeader}}</div>\n <div class=\"action sub\" *ngFor=\"let actionListEntry of subActionsList; index as i\" (click)=\"onClick(actionListEntry)\">\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 's'+i}\"></ng-container>\n </div>\n </div>\n <div class=\"group-buttons\">\n <button (click)=\"onCancel()\" translate>eo.export.cancel</button>\n </div>\n </div>\n\n <div>\n <ng-template eoActionComponentAnchor></ng-template>\n </div>\n\n <div>\n <ng-template eoExtActionComponentAnchor></ng-template>\n </div>\n\n</div>\n", styles: [".action-menu{position:absolute;top:0;right:0;bottom:0;width:25vw;min-width:300px;z-index:100;background-color:rgba(var(--color-primary-rgb),.95);animation:eoFadeInRight var(--app-default-transition-duration);box-shadow:0 0 10px 0 rgba(var(--color-black-rgb),.3);color:var(--color-white);height:100vh;overflow:hidden}.action-menu .head{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:0;padding:var(--app-pane-padding)}.action-menu .head .left{flex:1 1 auto;order:0}.action-menu .head .left .title{font-size:var(--font-headline);font-weight:var(--font-weight-light)}.action-menu .head .left .sub-title{font-size:var(--font-body);font-weight:var(--font-weight-light)}.action-menu .head .right{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:1}.action-menu .head .right .count{color:rgba(var(--color-white-rgb),.3);font-size:5em;font-weight:var(--font-weight-light);line-height:1em;padding-right:var(--app-pane-padding)}.action-menu .head .right .close{margin:0;z-index:10}.action-menu .actions{height:100%;overflow:scroll}.action-menu .actions .group:last-child{margin-bottom:100px}.action-menu .group{padding:var(--app-pane-padding);min-width:200px;display:inline-block;width:90%}.action-menu .group .group-title{background:rgba(var(--color-white-rgb),.1);margin-bottom:calc(var(--app-pane-padding) / 4);padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .group:not(.sub):hover .group-title{background:rgba(var(--color-white-rgb),.3)}.action-menu .action{border-bottom:1px solid rgba(var(--color-white-rgb),.2)}.action-menu .action a.link{text-decoration:none;color:inherit;display:block;opacity:1}.action-menu .action.active{background:rgba(var(--color-white-rgb),.1)}.action-menu .action>a.link>div:first-child,.action-menu .action>div:first-child{transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;cursor:pointer;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0;display:flex;align-items:center}.action-menu .action.sub>div:first-child{padding-left:calc(var(--app-pane-padding) / 2)}.action-menu .action .label{flex:1 1 auto}.action-menu .action .available-count{margin:0 calc(var(--app-pane-padding) / 2);color:rgba(var(--color-white-rgb),.3)}.action-menu .action eo-icon{margin:0 calc(var(--app-pane-padding) / 2)}.action-menu .action eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:rgba(var(--color-white-rgb),.3)}.action-menu .action eo-icon.info-icon:hover{background-color:var(--color-primary)}.action-menu .action .description{border-radius:2px;-webkit-border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;color:rgba(var(--color-white-rgb),.54);font-style:italic;padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding) calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}.action-menu .action:last-child{border:0}.action-menu .action:hover{background:rgba(var(--color-white-rgb),.1)}.action-menu .group-buttons{display:flex;justify-content:flex-end;padding-top:var(--app-pane-padding)}.action-menu .group-buttons button{background-color:transparent}.action-menu .group-buttons button:hover{background-color:rgba(var(--color-white-rgb),.1)}.action-menu .loading-container{display:flex;justify-content:center;align-items:center;padding:16px;margin:50% auto}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "directive", type: i7.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: i8.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i9.ActionComponentAnchorDirective, selector: "[eoActionComponentAnchor]" }, { kind: "directive", type: i10.PreventDoubleClickDirective, selector: "[eoPreventDoubleClick]", inputs: ["debounceTime"], outputs: ["debounceClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
193
+ ActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ActionMenuComponent, selector: "eo-action-menu", viewQueries: [{ propertyName: "eoActionComponentAnchor", first: true, predicate: ActionComponentAnchorDirective, descendants: true }, { propertyName: "externalDialog", first: true, predicate: ActionComponentAnchorDirective, descendants: true }], ngImport: i0, template: "<div class=\"action-menu dark\" *ngIf=\"showMenu\" (eoOutsideClick)=\"hide()\">\n\n <div class=\"head\">\n <div class=\"left\">\n <div class=\"title\" translate>eo.actions.sticky.title</div>\n <div class=\"sub-title\" *ngIf=\"selection?.length > 1; else multi\" translate>eo.actions.sticky.title.sub.selection</div>\n <ng-template #multi>\n <div class=\"sub-title\" *ngIf=\"selection && selection.length\"><span translate>eo.actions.sticky.title.sub.for</span> '{{selection[0].title}}'</div>\n </ng-template>\n </div>\n <div class=\"right\">\n <span class=\"count\">{{subSelection?.length || selection?.length || ''}}</span>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"hide()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"actions\" [hidden]=\"subActionsList || showComponent\">\n\n <ng-template #action let-entry let-id>\n\n <a *ngIf=\"isLinkAction(entry.action); else default\" class=\"link\"\n [routerLink]=\"entry.action.getLink(entry.availableSelection)\"\n [queryParams]=\"entry.action.getParams(entry.availableSelection, true)\">\n <ng-container *ngTemplateOutlet=\"default\"></ng-container>\n </a>\n\n <ng-template #default>\n <div>\n <eo-icon [iconSrc]=\"entry.action.iconSrc\" [iconId]=\"entry.action.iconId\"\n [badge]=\"entry.availableSelection?.length != selection?.length ? entry.availableSelection?.length : null\"></eo-icon>\n <div class=\"label\">{{entry.action.label}}</div>\n <!-- <div class=\"available-count\" *ngIf=\"entry.availableSelection?.length != selection?.length\">{{entry.availableSelection?.length}}</div> -->\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\" (click)=\"showActionDescription(id, $event)\"></eo-icon>\n </div>\n <div class=\"description\" [hidden]=\"id !== actionDescription\">{{entry.action.description}}</div>\n </ng-template>\n </ng-template>\n\n <div class=\"group\" *ngIf=\"actionLists?.common.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.common</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" (keydown)=\"isArrowUpOrDownPressed($event)\" [attr.tabindex]=\"0\" *ngFor=\"let actionListEntry of actionLists.common; let i = index\"\n (click)=\"onClick(actionListEntry)\" [ngClass]=\"{active: activeActionIndex === i}\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: +i}\"></ng-container>\n\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading; else loader\">\n <div *ngIf=\"actionLists?.further.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.further_actions</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" (keydown)=\"isArrowUpOrDownPressed($event)\" *ngFor=\"let actionListEntry of actionLists.further; index as i\"\n eoPreventDoubleClick [ngClass]=\"{active: activeActionIndex === i + actionLists?.common.length }\"\n (debounceClick)=\"onClick(actionListEntry)\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 'f'+i}\"></ng-container>\n\n </div>\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading && !actionLists?.further.length && !actionLists?.common.length\" [style.textAlign]=\"'center'\">\n {{ 'eo.action.not.available' | translate}}\n </div>\n\n <ng-template #loader>\n <div class=\"loading-container\">\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- sub actions -->\n <div class=\"group sub\" *ngIf=\"subActionsList && !showComponent\">\n <div class=\"sub-actions\">\n <div class=\"group-title\">{{subActionsListHeader}}</div>\n <div class=\"action sub\" *ngFor=\"let actionListEntry of subActionsList; index as i\" (click)=\"onClick(actionListEntry)\">\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 's'+i}\"></ng-container>\n </div>\n </div>\n <div class=\"group-buttons\">\n <button (click)=\"onCancel()\" translate>eo.export.cancel</button>\n </div>\n </div>\n\n <div>\n <ng-template eoActionComponentAnchor></ng-template>\n </div>\n\n <div>\n <ng-template eoExtActionComponentAnchor></ng-template>\n </div>\n\n</div>\n", styles: [".action-menu{position:absolute;top:0;right:0;bottom:0;width:25vw;min-width:300px;z-index:100;background-color:rgba(var(--color-primary-rgb),.95);animation:eoFadeInRight var(--app-default-transition-duration);box-shadow:0 0 10px 0 rgba(var(--color-black-rgb),.3);color:var(--color-white);height:100vh;overflow:hidden}.action-menu .head{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:0;padding:var(--app-pane-padding)}.action-menu .head .left{flex:1 1 auto;order:0}.action-menu .head .left .title{font-size:var(--font-headline);font-weight:var(--font-weight-light)}.action-menu .head .left .sub-title{font-size:var(--font-body);font-weight:var(--font-weight-light)}.action-menu .head .right{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:1}.action-menu .head .right .count{color:rgba(var(--color-white-rgb),.3);font-size:5em;font-weight:var(--font-weight-light);line-height:1em;padding-right:var(--app-pane-padding)}.action-menu .head .right .close{margin:0;z-index:10}.action-menu .actions{height:100%;overflow:scroll}.action-menu .actions .group:last-child{margin-bottom:100px}.action-menu .group{padding:var(--app-pane-padding);min-width:200px;display:inline-block;width:90%}.action-menu .group .group-title{background:rgba(var(--color-white-rgb),.1);margin-bottom:calc(var(--app-pane-padding) / 4);padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .group:not(.sub):hover .group-title{background:rgba(var(--color-white-rgb),.3)}.action-menu .action{border-bottom:1px solid rgba(var(--color-white-rgb),.2)}.action-menu .action a.link{text-decoration:none;color:inherit;display:block;opacity:1}.action-menu .action.active{background:rgba(var(--color-white-rgb),.1)}.action-menu .action>a.link>div:first-child,.action-menu .action>div:first-child{transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;cursor:pointer;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0;display:flex;align-items:center}.action-menu .action.sub>div:first-child{padding-left:calc(var(--app-pane-padding) / 2)}.action-menu .action .label{flex:1 1 auto}.action-menu .action .available-count{margin:0 calc(var(--app-pane-padding) / 2);color:rgba(var(--color-white-rgb),.3)}.action-menu .action eo-icon{margin:0 calc(var(--app-pane-padding) / 2)}.action-menu .action eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:rgba(var(--color-white-rgb),.3)}.action-menu .action eo-icon.info-icon:hover{background-color:var(--color-primary)}.action-menu .action .description{border-radius:2px;-webkit-border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;color:rgba(var(--color-white-rgb),.54);font-style:italic;padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding) calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}.action-menu .action:last-child{border:0}.action-menu .action:hover{background:rgba(var(--color-white-rgb),.1)}.action-menu .group-buttons{display:flex;justify-content:flex-end;padding-top:var(--app-pane-padding)}.action-menu .group-buttons button{background-color:transparent}.action-menu .group-buttons button:hover{background-color:rgba(var(--color-white-rgb),.1)}.action-menu .loading-container{display:flex;justify-content:center;align-items:center;padding:16px;margin:50% auto}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "directive", type: i7.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: i8.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i9.ActionComponentAnchorDirective, selector: "[eoActionComponentAnchor]" }, { kind: "directive", type: i10.PreventDoubleClickDirective, selector: "[eoPreventDoubleClick]", inputs: ["debounceTime"], outputs: ["debounceClick"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
194
+ ActionMenuComponent = __decorate([
195
+ UntilDestroy()
196
+ ], ActionMenuComponent);
197
+ export { ActionMenuComponent };
194
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ActionMenuComponent, decorators: [{
195
199
  type: Component,
196
200
  args: [{ selector: 'eo-action-menu', encapsulation: ViewEncapsulation.None, template: "<div class=\"action-menu dark\" *ngIf=\"showMenu\" (eoOutsideClick)=\"hide()\">\n\n <div class=\"head\">\n <div class=\"left\">\n <div class=\"title\" translate>eo.actions.sticky.title</div>\n <div class=\"sub-title\" *ngIf=\"selection?.length > 1; else multi\" translate>eo.actions.sticky.title.sub.selection</div>\n <ng-template #multi>\n <div class=\"sub-title\" *ngIf=\"selection && selection.length\"><span translate>eo.actions.sticky.title.sub.for</span> '{{selection[0].title}}'</div>\n </ng-template>\n </div>\n <div class=\"right\">\n <span class=\"count\">{{subSelection?.length || selection?.length || ''}}</span>\n <eo-icon class=\"button\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"hide()\"></eo-icon>\n </div>\n </div>\n\n <div class=\"actions\" [hidden]=\"subActionsList || showComponent\">\n\n <ng-template #action let-entry let-id>\n\n <a *ngIf=\"isLinkAction(entry.action); else default\" class=\"link\"\n [routerLink]=\"entry.action.getLink(entry.availableSelection)\"\n [queryParams]=\"entry.action.getParams(entry.availableSelection, true)\">\n <ng-container *ngTemplateOutlet=\"default\"></ng-container>\n </a>\n\n <ng-template #default>\n <div>\n <eo-icon [iconSrc]=\"entry.action.iconSrc\" [iconId]=\"entry.action.iconId\"\n [badge]=\"entry.availableSelection?.length != selection?.length ? entry.availableSelection?.length : null\"></eo-icon>\n <div class=\"label\">{{entry.action.label}}</div>\n <!-- <div class=\"available-count\" *ngIf=\"entry.availableSelection?.length != selection?.length\">{{entry.availableSelection?.length}}</div> -->\n <eo-icon class=\"info-icon\" [iconSrc]=\"'assets/_default/svg/ic_info.svg'\" (click)=\"showActionDescription(id, $event)\"></eo-icon>\n </div>\n <div class=\"description\" [hidden]=\"id !== actionDescription\">{{entry.action.description}}</div>\n </ng-template>\n </ng-template>\n\n <div class=\"group\" *ngIf=\"actionLists?.common.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.common</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" (keydown)=\"isArrowUpOrDownPressed($event)\" [attr.tabindex]=\"0\" *ngFor=\"let actionListEntry of actionLists.common; let i = index\"\n (click)=\"onClick(actionListEntry)\" [ngClass]=\"{active: activeActionIndex === i}\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: +i}\"></ng-container>\n\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading; else loader\">\n <div *ngIf=\"actionLists?.further.length > 0\">\n <div class=\"group-title\" translate>eo.actions.group.further_actions</div>\n <div class=\"action\" id=\"{{actionListEntry.id}}\" (keydown)=\"isArrowUpOrDownPressed($event)\" *ngFor=\"let actionListEntry of actionLists.further; index as i\"\n eoPreventDoubleClick [ngClass]=\"{active: activeActionIndex === i + actionLists?.common.length }\"\n (debounceClick)=\"onClick(actionListEntry)\">\n\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 'f'+i}\"></ng-container>\n\n </div>\n </div>\n </div>\n\n <div class=\"group\" *ngIf=\"!loading && !actionLists?.further.length && !actionLists?.common.length\" [style.textAlign]=\"'center'\">\n {{ 'eo.action.not.available' | translate}}\n </div>\n\n <ng-template #loader>\n <div class=\"loading-container\">\n <eo-loading-spinner [size]=\"'medium'\"></eo-loading-spinner>\n </div>\n </ng-template>\n </div>\n\n <!-- sub actions -->\n <div class=\"group sub\" *ngIf=\"subActionsList && !showComponent\">\n <div class=\"sub-actions\">\n <div class=\"group-title\">{{subActionsListHeader}}</div>\n <div class=\"action sub\" *ngFor=\"let actionListEntry of subActionsList; index as i\" (click)=\"onClick(actionListEntry)\">\n <ng-container *ngTemplateOutlet=\"action; context: {$implicit: actionListEntry, id: 's'+i}\"></ng-container>\n </div>\n </div>\n <div class=\"group-buttons\">\n <button (click)=\"onCancel()\" translate>eo.export.cancel</button>\n </div>\n </div>\n\n <div>\n <ng-template eoActionComponentAnchor></ng-template>\n </div>\n\n <div>\n <ng-template eoExtActionComponentAnchor></ng-template>\n </div>\n\n</div>\n", styles: [".action-menu{position:absolute;top:0;right:0;bottom:0;width:25vw;min-width:300px;z-index:100;background-color:rgba(var(--color-primary-rgb),.95);animation:eoFadeInRight var(--app-default-transition-duration);box-shadow:0 0 10px 0 rgba(var(--color-black-rgb),.3);color:var(--color-white);height:100vh;overflow:hidden}.action-menu .head{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:0;padding:var(--app-pane-padding)}.action-menu .head .left{flex:1 1 auto;order:0}.action-menu .head .left .title{font-size:var(--font-headline);font-weight:var(--font-weight-light)}.action-menu .head .left .sub-title{font-size:var(--font-body);font-weight:var(--font-weight-light)}.action-menu .head .right{display:flex;flex:0 0 auto;flex-flow:row nowrap;order:1}.action-menu .head .right .count{color:rgba(var(--color-white-rgb),.3);font-size:5em;font-weight:var(--font-weight-light);line-height:1em;padding-right:var(--app-pane-padding)}.action-menu .head .right .close{margin:0;z-index:10}.action-menu .actions{height:100%;overflow:scroll}.action-menu .actions .group:last-child{margin-bottom:100px}.action-menu .group{padding:var(--app-pane-padding);min-width:200px;display:inline-block;width:90%}.action-menu .group .group-title{background:rgba(var(--color-white-rgb),.1);margin-bottom:calc(var(--app-pane-padding) / 4);padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out}.action-menu .group:not(.sub):hover .group-title{background:rgba(var(--color-white-rgb),.3)}.action-menu .action{border-bottom:1px solid rgba(var(--color-white-rgb),.2)}.action-menu .action a.link{text-decoration:none;color:inherit;display:block;opacity:1}.action-menu .action.active{background:rgba(var(--color-white-rgb),.1)}.action-menu .action>a.link>div:first-child,.action-menu .action>div:first-child{transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;cursor:pointer;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2) 0;display:flex;align-items:center}.action-menu .action.sub>div:first-child{padding-left:calc(var(--app-pane-padding) / 2)}.action-menu .action .label{flex:1 1 auto}.action-menu .action .available-count{margin:0 calc(var(--app-pane-padding) / 2);color:rgba(var(--color-white-rgb),.3)}.action-menu .action eo-icon{margin:0 calc(var(--app-pane-padding) / 2)}.action-menu .action eo-icon.info-icon{margin:0;padding:3px;box-sizing:border-box;border-radius:50%;color:rgba(var(--color-white-rgb),.3)}.action-menu .action eo-icon.info-icon:hover{background-color:var(--color-primary)}.action-menu .action .description{border-radius:2px;-webkit-border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;color:rgba(var(--color-white-rgb),.54);font-style:italic;padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding) calc(var(--app-pane-padding) / 2) var(--app-pane-padding)}.action-menu .action:last-child{border:0}.action-menu .action:hover{background:rgba(var(--color-white-rgb),.1)}.action-menu .group-buttons{display:flex;justify-content:flex-end;padding-top:var(--app-pane-padding)}.action-menu .group-buttons button{background-color:transparent}.action-menu .group-buttons button:hover{background-color:rgba(var(--color-white-rgb),.1)}.action-menu .loading-container{display:flex;justify-content:center;align-items:center;padding:16px;margin:50% auto}\n"] }]
@@ -201,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
201
205
  type: ViewChild,
202
206
  args: [ActionComponentAnchorDirective]
203
207
  }] } });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUE0QixTQUFTLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFLbkMsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDM0csT0FBTyxFQUFTLGVBQWUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7Ozs7Ozs7QUFVbEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQXFCM0QsWUFBb0IsYUFBNEIsRUFDNUIsTUFBYyxFQUNmLGdCQUFrQyxFQUNqQyxPQUFtQixFQUNuQix3QkFBa0Q7UUFDcEUsS0FBSyxFQUFFLENBQUM7UUFMVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFyQnRFLGdCQUFXLEdBR1A7WUFDRixNQUFNLEVB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QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNoQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOztnSEEzTVUsbUJBQW1CO29HQUFuQixtQkFBbUIsK0dBRW5CLDhCQUE4QixpRkFDOUIsOEJBQThCLHVFQ3RCM0MsbTRJQThGQTsyRkQzRWEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJO3dOQUlNLHVCQUF1QjtzQkFBakUsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBQ0UsY0FBYztzQkFBeEQsU0FBUzt1QkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3Rha2UsIHRha2VVbnRpbCwgZmlsdGVyLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QWN0aW9uU2VydmljZSwgQWN0aW9uU2hvd0NvbW1hbmR9IGZyb20gJy4uL2FjdGlvbi1zZXJ2aWNlL2FjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7Q29tcG9uZW50QWN0aW9uLCBFeHRlcm5hbENvbXBvbmVudEFjdGlvbiwgRXh0ZXJuYWxQcm9jZXNzQ29tcG9uZW50QWN0aW9uLCBMaXN0QWN0aW9uLCBTaW1wbGVBY3Rpb259IGZyb20gJy4uL2ludGVyZmFjZXMvYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL2ludGVyZmFjZXMvYWN0aW9uLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmV9IGZyb20gJy4vYWN0aW9uLWNvbXBvbmVudC1hbmNob3IvYWN0aW9uLWNvbXBvbmVudC1hbmNob3IuZGlyZWN0aXZlJztcbmltcG9ydCB7Um91dGVyLCBOYXZpZ2F0aW9uU3RhcnR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi8uLi91dGlsL3Vuc3Vic2NyaWJlL3Vuc3Vic2NyaWJlLmNvbXBvbmVudCc7XG5pbXBvcnQge0FjdGlvbkxpc3RFbnRyeX0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hY3Rpb24tbGlzdC1lbnRyeSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWN0aW9uLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb24tbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbk1lbnVDb21wb25lbnQgZXh0ZW5kcyBVbnN1YnNjcmliZU9uRGVzdHJveSB7XG5cbiAgQFZpZXdDaGlsZChBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmUpIGVvQWN0aW9uQ29tcG9uZW50QW5jaG9yOiBBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmU7XG4gIEBWaWV3Q2hpbGQoQWN0aW9uQ29tcG9uZW50QW5jaG9yRGlyZWN0aXZlKSBleHRlcm5hbERpYWxvZzogQWN0aW9uQ29tcG9uZW50QW5jaG9yRGlyZWN0aXZlO1xuICBhY3Rpb25MaXN0czoge1xuICAgIGNvbW1vbjogQWN0aW9uTGlzdEVudHJ5W10sXG4gICAgZnVydGhlcjogQWN0aW9uTGlzdEVudHJ5W11cbiAgfSA9IHtcbiAgICBjb21tb246IFtdLCBmdXJ0aGVyOiBbXVxuICB9O1xuICBzdWJBY3Rpb25zTGlzdEhlYWRlciA9ICcnO1xuICBzdWJBY3Rpb25zTGlzdDogQWN0aW9uTGlzdEVudHJ5W107XG4gIHNlbGVjdGlvbjogYW55W107XG4gIHN1YlNlbGVjdGlvbjogYW55W107XG4gIHRhcmdldDogc3RyaW5nO1xuICBzaG93Q29tcG9uZW50ID0gZmFsc2U7XG4gIGFjdGlvbkRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNob3dNZW51ID0gZmFsc2U7XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgYWN0aXZlQWN0aW9uSW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uU2VydmljZTogQWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbVJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xuICAgIHN1cGVyKCk7XG5cbiAgICAvLyBzdWJzY3JpYmUgZm9yIHZpc2liaWxpdHkgb2JzZXJ2YWJsZSBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gc2hvdyBvciBoaWRlIHRoZSBhY3Rpb25zXG4gICAgdGhpcy5hY3Rpb25TZXJ2aWNlXG4gICAgICAuYWN0aW9uc1Nob3dpbmckLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNtZDogQWN0aW9uU2hvd0NvbW1hbmQpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnNob3dNZW51ICYmIGNtZC5zaG93KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBjbWQuc2VsZWN0aW9uO1xuICAgICAgICAgIHRoaXMudGFyZ2V0ID0gY21kLnRhcmdldDtcbiAgICAgICAgICB0aGlzLnNob3dBY3Rpb25NZW51KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zaG93TWVudSAmJiAhY21kLnNob3cpIHtcbiAgICAgICAgICB0aGlzLmhpZGVBY3Rpb25NZW51KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCksXG4gICAgICAgIGZpbHRlcihldnQgPT4gZXZ0IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5oaWRlKCkpO1xuXG4gIH1cblxuICBwcml2YXRlIGdldEFjdGlvbnMoKSB7XG4gICAgdGhpcy5hY3Rpb25TZXJ2aWNlXG4gICAgICAuZ2V0QWN0aW9uc0xpc3QodGhpcy5zZWxlY3Rpb24sIHRoaXMudmlld0NvbnRhaW5lclJlZilcbiAgICAgIC5zdWJzY3JpYmUoYWN0aW9uc0xpc3QgPT4ge1xuICAgICAgICB0aGlzLmFjdGlvbkxpc3RzLmNvbW1vbiA9IGFjdGlvbnNMaXN0LmZpbHRlcihhY3Rpb25MaXN0RW50cnkgPT4gYWN0aW9uTGlzdEVudHJ5LmFjdGlvbi5ncm91cCA9PT0gJ2NvbW1vbicpO1xuICAgICAgICB0aGlzLmFjdGlvbkxpc3RzLmZ1cnRoZXIgPSBhY3Rpb25zTGlzdC5maWx0ZXIoYWN0aW9uTGlzdEVudHJ5ID0+IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24uZ3JvdXAgPT09ICdmdXJ0aGVyJyk7XG4gICAgICB9KTtcblxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb3JlQWN0aW9ucygpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuYWN0aW9uU2VydmljZVxuICAgICAgLmdldE1vcmVBY3Rpb25zKHRoaXMuc2VsZWN0aW9uLCB0aGlzLnZpZXdDb250YWluZXJSZWYpXG4gICAgICAuc3Vic2NyaWJlKGFjdGlvbkxpc3QgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hY3Rpb25MaXN0cy5mdXJ0aGVyID0gdGhpcy5hY3Rpb25MaXN0cy5mdXJ0aGVyLmNvbmNhdChhY3Rpb25MaXN0KS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2FjdGlvbi5sYWJlbCcpKTtcbiAgICAgIH0sIFV0aWxzLnRocm93KCgpID0+IHRoaXMubG9hZGluZyA9IGZhbHNlKSk7XG4gIH1cblxuICBoaWRlKCkge1xuICAgIHRoaXMuYWN0aW9uU2VydmljZS5oaWRlQWN0aW9ucygpO1xuICB9XG5cbiAgc2hvd0FjdGlvbkRlc2NyaXB0aW9uKGksIGV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmFjdGlvbkRlc2NyaXB0aW9uID0gaSA9PT0gdGhpcy5hY3Rpb25EZXNjcmlwdGlvbiA/IG51bGwgOiBpO1xuICB9XG5cbiAgY2F0Y2hGb2N1cygpIHsgICAgXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmVsZW1SZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbdGFiaW5kZXg9XCIwXCJdJykuZm9jdXMoKTtcbiAgICB9LCk7XG4gIH1cblxuICBpc0Fycm93VXBPckRvd25QcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgIGxldCBsZW5ndGggPSB0aGlzLmFjdGlvbkxpc3RzLmNvbW1vbi5sZW5ndGggKyB0aGlzLmFjdGlvbkxpc3RzLmZ1cnRoZXIubGVuZ3RoIC0gMTtcbiAgICBpZiAoa2V5ID09PSAnQXJyb3dVcCcgfHwgKGV2ZW50LnNoaWZ0S2V5ICYmIGtleSA9PT0gJ1RhYicpICkge1xuICAgICAgdGhpcy5hY3RpdmVBY3Rpb25JbmRleCA9ICh0aGlzLmFjdGl2ZUFjdGlvbkluZGV4ID09PSAwKSA/IGxlbmd0aCA6IHRoaXMuYWN0aXZlQWN0aW9uSW5kZXggLSAxO1xuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnQXJyb3dEb3duJyB8fCBrZXkgPT09ICdUYWInKSB7XG4gICAgICB0aGlzLmFjdGl2ZUFjdGlvbkluZGV4ID0gKHRoaXMuYWN0aXZlQWN0aW9uSW5kZXggPT09IGxlbmd0aCkgPyAwIDogdGhpcy5hY3RpdmVBY3Rpb25JbmRleCArIDE7XG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIGxldCBjbGlja2VkTGlzdEVudHJ5O1xuICAgICAgaWYgKHRoaXMuYWN0aXZlQWN0aW9uSW5kZXggPCB0aGlzLmFjdGlvbkxpc3RzLmNvbW1vbi5sZW5ndGgpIHtcbiAgICAgICAgY2xpY2tlZExpc3RFbnRyeSA9IHRoaXMuYWN0aW9uTGlzdHMuY29tbW9uW3RoaXMuYWN0aXZlQWN0aW9uSW5kZXhdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xpY2tlZExpc3RFbnRyeSA9IHRoaXMuYWN0aW9uTGlzdHMuZnVydGhlclt0aGlzLmFjdGl2ZUFjdGlvbkluZGV4IC0gdGhpcy5hY3Rpb25MaXN0cy5jb21tb24ubGVuZ3RoXTtcbiAgICAgIH1cbiAgICAgIHRoaXMub25DbGljayhjbGlja2VkTGlzdEVudHJ5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNob3dBY3Rpb25NZW51KCkge1xuICAgIHRoaXMuYWN0aXZlQWN0aW9uSW5kZXggPSAwO1xuICAgIHRoaXMuZ2V0QWN0aW9ucygpO1xuICAgIGlmICh0aGlzLnRhcmdldCA9PT0gJ0RNU19PQkpFQ1QnKSB7XG4gICAgICB0aGlzLmdldE1vcmVBY3Rpb25zKCk7XG4gICAgfVxuICAgIHRoaXMuc2hvd01lbnUgPSB0cnVlO1xuICAgIHRoaXMuY2F0Y2hGb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBoaWRlQWN0aW9uTWVudSgpIHtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5zaG93TWVudSA9IGZhbHNlO1xuICAgIHRoaXMuYWN0aW9uTGlzdHMgPSB7Y29tbW9uOiBbXSwgZnVydGhlcjogW119O1xuICB9XG5cbiAgb25DbGljayhhY3Rpb25MaXN0RW50cnk6IEFjdGlvbkxpc3RFbnRyeSkge1xuICAgIHRoaXMuYWN0aXZlQWN0aW9uSW5kZXggPSAwO1xuICAgIHRoaXMuc3ViU2VsZWN0aW9uID0gYWN0aW9uTGlzdEVudHJ5LmF2YWlsYWJsZVNlbGVjdGlvbjtcbiAgICAvLyBJdCBpcyBwb3NzaWJsZSB0aGF0IGFjdGlvbnMgaW1wbGVtZW50IG1vcmUgdGhhbiBvbmUgYWN0aW9uIGludGVyZmFjZVxuICAgIC8vIHNvIHdlIHNob3VsZCBiZSBhd2FyZSBvZiBydW5uaW5nIGFuIGFjdGlvbiBhbmQgdGhlbiBvcGVuIGl0cyBzdWIgYWN0aW9uc1xuXG4gICAgY29uc3QgaXNTaW1wbGVBY3Rpb24gPSAhIWFjdGlvbkxpc3RFbnRyeS5hY3Rpb25bJ3J1biddO1xuICAgIGNvbnN0IGlzTGlzdEFjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24uaGFzT3duUHJvcGVydHkoJ3N1YkFjdGlvbkNvbXBvbmVudHMnKTtcbiAgICBjb25zdCBpc0NvbXBvbmVudEFjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24uaGFzT3duUHJvcGVydHkoJ2NvbXBvbmVudCcpO1xuICAgIGNvbnN0IGlzRXh0ZXJuYWxDb21wb25lbnRBY3Rpb24gPSBhY3Rpb25MaXN0RW50cnkuYWN0aW9uLmhhc093blByb3BlcnR5KCdleHRDb21wb25lbnRzJyk7XG4gICAgY29uc3QgaXNXb3JrRmxvd0FjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb25bJ2V4ZWN1dGFibGVQcm9jZXNzJ10gJiYgaXNFeHRlcm5hbENvbXBvbmVudEFjdGlvbjtcbiAgICBjb25zdCBpc1NpbXBsZUFjdGlvbk9ubHkgPSBpc1NpbXBsZUFjdGlvbiAmJiAhaXNMaXN0QWN0aW9uICYmICFpc0NvbXBvbmVudEFjdGlvbiAmJiAhaXNFeHRlcm5hbENvbXBvbmVudEFjdGlvbjtcblxuICAgIGlmIChpc1NpbXBsZUFjdGlvbikge1xuICAgICAgY29uc3Qgc2ltcGxlQWN0aW9uID0gYWN0aW9uTGlzdEVudHJ5LmFjdGlvbiBhcyBTaW1wbGVBY3Rpb247XG4gICAgICBzaW1wbGVBY3Rpb24ucnVuKGFjdGlvbkxpc3RFbnRyeS5hdmFpbGFibGVTZWxlY3Rpb24pO1xuXG4gICAgICAvLyBoaWRlIGFjdGlvbiBtZW51IGlmIG5vdGhpbmcgZWxzZSBpcyB0byBiZSBzaG93bi9kb25lXG4gICAgICBpZiAoaXNTaW1wbGVBY3Rpb25Pbmx5KSB7XG4gICAgICAgIHRoaXMuaGlkZUFjdGlvbk1lbnUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNMaXN0QWN0aW9uKSB7XG4gICAgICBjb25zdCBsaXN0QWN0aW9uID0gYWN0aW9uTGlzdEVudHJ5LmFjdGlvbiBhcyBMaXN0QWN0aW9uO1xuICAgICAgdGhpcy5zdWJBY3Rpb25zTGlzdEhlYWRlciA9IGxpc3RBY3Rpb24uaGVhZGVyO1xuICAgICAgdGhpcy5hY3Rpb25TZXJ2aWNlXG4gICAgICAgIC5nZXRFeGVjdXRhYmxlQWN0aW9uc0xpc3RGcm9tR2l2ZW5BY3Rpb25zKGxpc3RBY3Rpb24uc3ViQWN0aW9uQ29tcG9uZW50cywgdGhpcy5zZWxlY3Rpb24sIHRoaXMudmlld0NvbnRhaW5lclJlZilcbiAgICAgICAgLnN1YnNjcmliZSgoYWN0aW9uc0xpc3Q6IEFjdGlvbkxpc3RFbnRyeVtdKSA9PiB0aGlzLnN1YkFjdGlvbnNMaXN0ID0gYWN0aW9uc0xpc3QpO1xuICAgIH0gZWxzZSBpZiAoaXNDb21wb25lbnRBY3Rpb24pIHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEFjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24gYXMgQ29tcG9uZW50QWN0aW9uO1xuICAgICAgdGhpcy5zaG93QWN0aW9uQ29tcG9uZW50KGNvbXBvbmVudEFjdGlvbi5jb21wb25lbnQsIHRoaXMuZW9BY3Rpb25Db21wb25lbnRBbmNob3IsIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCB0cnVlKTtcbiAgICB9IGVsc2UgaWYgKGlzRXh0ZXJuYWxDb21wb25lbnRBY3Rpb24gJiYgIWlzV29ya0Zsb3dBY3Rpb24pIHtcbiAgICAgIGNvbnN0IGV4dENvbXBvbmVudEFjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24gYXMgRXh0ZXJuYWxDb21wb25lbnRBY3Rpb247XG4gICAgICB0aGlzLnNob3dBY3Rpb25Db21wb25lbnQoZXh0Q29tcG9uZW50QWN0aW9uLmV4dENvbXBvbmVudHMsIHRoaXMuZXh0ZXJuYWxEaWFsb2csIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBmYWxzZSk7XG4gICAgfSBlbHNlIGlmIChpc1dvcmtGbG93QWN0aW9uKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZXh0Q29tcG9uZW50QWN0aW9uID0gYWN0aW9uTGlzdEVudHJ5LmFjdGlvbiBhcyBFeHRlcm5hbFByb2Nlc3NDb21wb25lbnRBY3Rpb247XG4gICAgICAgIHRoaXMuc2hvd0FjdGlvbkNvbXBvbmVudChleHRDb21wb25lbnRBY3Rpb24uZXh0Q29tcG9uZW50cywgdGhpcy5leHRlcm5hbERpYWxvZywgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgZmFsc2UsIHtleGVjdXRhYmxlUHJvY2VzczogZXh0Q29tcG9uZW50QWN0aW9uLmV4ZWN1dGFibGVQcm9jZXNzfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNob3dBY3Rpb25Db21wb25lbnQoY29tcG9uZW50OiBUeXBlPGFueT4sIHZpZXdDb250UmVmLCBmYWN0b3J5UmVzb2x2ZXIsIHNob3dDb21wb25lbnQsIGlucHV0cz86IGFueSkge1xuICAgIHRoaXMuc2hvd0NvbXBvbmVudCA9IHNob3dDb21wb25lbnQ7XG4gICAgbGV0IGNvbXBvbmVudEZhY3RvcnkgPSBmYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcbiAgICBsZXQgYW5jaG9yVmlld0NvbnRhaW5lclJlZiA9IHZpZXdDb250UmVmLnZpZXdDb250YWluZXJSZWY7XG4gICAgYW5jaG9yVmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIGxldCBjb21wb25lbnRSZWYgPSBhbmNob3JWaWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcbiAgICAoPEFjdGlvbkNvbXBvbmVudD5jb21wb25lbnRSZWYuaW5zdGFuY2UpLnNlbGVjdGlvbiA9IHRoaXMuc3ViU2VsZWN0aW9uIHx8IHRoaXMuc2VsZWN0aW9uO1xuICAgICg8QWN0aW9uQ29tcG9uZW50PmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuY2FuY2VsZWQucGlwZSh0YWtlKDEpLCB0YXAoKCkgPT4gKHRoaXMuc3ViU2VsZWN0aW9uID0gbnVsbCkpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkNhbmNlbCgpKTtcbiAgICAoPEFjdGlvbkNvbXBvbmVudD5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmZpbmlzaGVkLnBpcGUodGFrZSgxKSwgdGFwKCgpID0+ICh0aGlzLnN1YlNlbGVjdGlvbiA9IG51bGwpKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub25GaW5pc2goKSk7XG4gICAgaWYgKGlucHV0cykge1xuICAgICAgT2JqZWN0LmtleXMoaW5wdXRzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlW2tleV0gPSBpbnB1dHNba2V5XTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlzTGlua0FjdGlvbihhY3Rpb24pIHtcbiAgICAvLyB1c2VkIGZyb20gd2l0aGluIHRlbXBsYXRlXG4gICAgcmV0dXJuICEhKGFjdGlvbiAmJiBhY3Rpb24uZ2V0TGluayAmJiBhY3Rpb24uZ2V0UGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXIoKSB7XG4gICAgdGhpcy5zaG93Q29tcG9uZW50ID0gZmFsc2U7XG4gICAgdGhpcy5zdWJBY3Rpb25zTGlzdCA9IG51bGw7XG4gICAgdGhpcy5hY3Rpb25EZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgaWYgKHRoaXMuZW9BY3Rpb25Db21wb25lbnRBbmNob3IpIHtcbiAgICAgIHRoaXMuZW9BY3Rpb25Db21wb25lbnRBbmNob3Iudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgICB0aGlzLmNhdGNoRm9jdXMoKTtcbiAgfVxuXG4gIG9uRmluaXNoKCkge1xuICAgIHRoaXMuaGlkZUFjdGlvbk1lbnUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFjdGlvbi1tZW51IGRhcmtcIiAqbmdJZj1cInNob3dNZW51XCIgKGVvT3V0c2lkZUNsaWNrKT1cImhpZGUoKVwiPlxuXG4gIDxkaXYgY2xhc3M9XCJoZWFkXCI+XG4gICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIHRyYW5zbGF0ZT5lby5hY3Rpb25zLnN0aWNreS50aXRsZTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN1Yi10aXRsZVwiICpuZ0lmPVwic2VsZWN0aW9uPy5sZW5ndGggPiAxOyBlbHNlIG11bHRpXCIgdHJhbnNsYXRlPmVvLmFjdGlvbnMuc3RpY2t5LnRpdGxlLnN1Yi5zZWxlY3Rpb248L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbXVsdGk+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGl0bGVcIiAqbmdJZj1cInNlbGVjdGlvbiAmJiBzZWxlY3Rpb24ubGVuZ3RoXCI+PHNwYW4gdHJhbnNsYXRlPmVvLmFjdGlvbnMuc3RpY2t5LnRpdGxlLnN1Yi5mb3I8L3NwYW4+ICd7e3NlbGVjdGlvblswXS50aXRsZX19JzwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRcIj57e3N1YlNlbGVjdGlvbj8ubGVuZ3RoIHx8IHNlbGVjdGlvbj8ubGVuZ3RoIHx8ICcnfX08L3NwYW4+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2NsZWFyLnN2ZydcIiAoY2xpY2spPVwiaGlkZSgpXCI+PC9lby1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiIFtoaWRkZW5dPVwic3ViQWN0aW9uc0xpc3QgfHwgc2hvd0NvbXBvbmVudFwiPlxuXG4gICAgPG5nLXRlbXBsYXRlICNhY3Rpb24gbGV0LWVudHJ5IGxldC1pZD5cblxuICAgICAgPGEgKm5nSWY9XCJpc0xpbmtBY3Rpb24oZW50cnkuYWN0aW9uKTsgZWxzZSBkZWZhdWx0XCIgY2xhc3M9XCJsaW5rXCJcbiAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImVudHJ5LmFjdGlvbi5nZXRMaW5rKGVudHJ5LmF2YWlsYWJsZVNlbGVjdGlvbilcIlxuICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImVudHJ5LmFjdGlvbi5nZXRQYXJhbXMoZW50cnkuYXZhaWxhYmxlU2VsZWN0aW9uLCB0cnVlKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9hPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiZW50cnkuYWN0aW9uLmljb25TcmNcIiBbaWNvbklkXT1cImVudHJ5LmFjdGlvbi5pY29uSWRcIlxuICAgICAgICAgIFtiYWRnZV09XCJlbnRyeS5hdmFpbGFibGVTZWxlY3Rpb24/Lmxlbmd0aCAhPSBzZWxlY3Rpb24/Lmxlbmd0aCA/IGVudHJ5LmF2YWlsYWJsZVNlbGVjdGlvbj8ubGVuZ3RoIDogbnVsbFwiPjwvZW8taWNvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj57e2VudHJ5LmFjdGlvbi5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiYXZhaWxhYmxlLWNvdW50XCIgKm5nSWY9XCJlbnRyeS5hdmFpbGFibGVTZWxlY3Rpb24/Lmxlbmd0aCAhPSBzZWxlY3Rpb24/Lmxlbmd0aFwiPnt7ZW50cnkuYXZhaWxhYmxlU2VsZWN0aW9uPy5sZW5ndGh9fTwvZGl2PiAtLT5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImluZm8taWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2luZm8uc3ZnJ1wiIChjbGljayk9XCJzaG93QWN0aW9uRGVzY3JpcHRpb24oaWQsICRldmVudClcIj48L2VvLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIiBbaGlkZGVuXT1cImlkICE9PSBhY3Rpb25EZXNjcmlwdGlvblwiPnt7ZW50cnkuYWN0aW9uLmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxkaXYgY2xhc3M9XCJncm91cFwiICpuZ0lmPVwiYWN0aW9uTGlzdHM/LmNvbW1vbi5sZW5ndGggPiAwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtdGl0bGVcIiB0cmFuc2xhdGU+ZW8uYWN0aW9ucy5ncm91cC5jb21tb248L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25cIiBpZD1cInt7YWN0aW9uTGlzdEVudHJ5LmlkfX1cIiAoa2V5ZG93bik9XCJpc0Fycm93VXBPckRvd25QcmVzc2VkKCRldmVudClcIiBbYXR0ci50YWJpbmRleF09XCIwXCIgKm5nRm9yPVwibGV0IGFjdGlvbkxpc3RFbnRyeSBvZiBhY3Rpb25MaXN0cy5jb21tb247IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljayhhY3Rpb25MaXN0RW50cnkpXCIgW25nQ2xhc3NdPVwie2FjdGl2ZTogYWN0aXZlQWN0aW9uSW5kZXggPT09IGl9XCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvbjsgY29udGV4dDogeyRpbXBsaWNpdDogYWN0aW9uTGlzdEVudHJ5LCBpZDogK2l9XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImdyb3VwXCIgKm5nSWY9XCIhbG9hZGluZzsgZWxzZSBsb2FkZXJcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJhY3Rpb25MaXN0cz8uZnVydGhlci5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC10aXRsZVwiIHRyYW5zbGF0ZT5lby5hY3Rpb25zLmdyb3VwLmZ1cnRoZXJfYWN0aW9uczwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uXCIgaWQ9XCJ7e2FjdGlvbkxpc3RFbnRyeS5pZH19XCIgKGtleWRvd24pPVwiaXNBcnJvd1VwT3JEb3duUHJlc3NlZCgkZXZlbnQpXCIgKm5nRm9yPVwibGV0IGFjdGlvbkxpc3RFbnRyeSBvZiBhY3Rpb25MaXN0cy5mdXJ0aGVyOyBpbmRleCBhcyBpXCJcbiAgICAgICAgICBlb1ByZXZlbnREb3VibGVDbGljayBbbmdDbGFzc109XCJ7YWN0aXZlOiBhY3RpdmVBY3Rpb25JbmRleCA9PT0gaSArIGFjdGlvbkxpc3RzPy5jb21tb24ubGVuZ3RoIH1cIlxuICAgICAgICAgIChkZWJvdW5jZUNsaWNrKT1cIm9uQ2xpY2soYWN0aW9uTGlzdEVudHJ5KVwiPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvbjsgY29udGV4dDogeyRpbXBsaWNpdDogYWN0aW9uTGlzdEVudHJ5LCBpZDogJ2YnK2l9XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJncm91cFwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgIWFjdGlvbkxpc3RzPy5mdXJ0aGVyLmxlbmd0aCAmJiAhYWN0aW9uTGlzdHM/LmNvbW1vbi5sZW5ndGhcIiBbc3R5bGUudGV4dEFsaWduXT1cIidjZW50ZXInXCI+XG4gICAgICB7eyAnZW8uYWN0aW9uLm5vdC5hdmFpbGFibGUnIHwgdHJhbnNsYXRlfX1cbiAgICA8L2Rpdj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgW3NpemVdPVwiJ21lZGl1bSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuXG4gIDwhLS0gc3ViIGFjdGlvbnMgLS0+XG4gIDxkaXYgIGNsYXNzPVwiZ3JvdXAgc3ViXCIgKm5nSWY9XCJzdWJBY3Rpb25zTGlzdCAmJiAhc2hvd0NvbXBvbmVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdWItYWN0aW9uc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXRpdGxlXCI+e3tzdWJBY3Rpb25zTGlzdEhlYWRlcn19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uIHN1YlwiICpuZ0Zvcj1cImxldCBhY3Rpb25MaXN0RW50cnkgb2Ygc3ViQWN0aW9uc0xpc3Q7IGluZGV4IGFzIGlcIiAoY2xpY2spPVwib25DbGljayhhY3Rpb25MaXN0RW50cnkpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb247IGNvbnRleHQ6IHskaW1wbGljaXQ6IGFjdGlvbkxpc3RFbnRyeSwgaWQ6ICdzJytpfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdyb3VwLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiB0cmFuc2xhdGU+ZW8uZXhwb3J0LmNhbmNlbDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSBlb0FjdGlvbkNvbXBvbmVudEFuY2hvcj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8ZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSBlb0V4dEFjdGlvbkNvbXBvbmVudEFuY2hvcj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb24tbWVudS9hY3Rpb24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUE4QyxTQUFTLEVBQW9CLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBQyxlQUFlLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLakQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkRBQTZELENBQUM7Ozs7Ozs7Ozs7OztBQVNwRyxJQUFNLG1CQUFtQixHQUF6QixNQUFNLG1CQUFtQjtJQXFCOUIsWUFBb0IsYUFBNEIsRUFDNUIsTUFBYyxFQUNmLGdCQUFrQyxFQUNqQyxPQUFtQixFQUNuQix3QkFBa0Q7UUFKbEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBckJ0RSxnQkFBVyxHQUdQO1lBQ0YsTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVB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LENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7Z0hBMU1VLG1CQUFtQjtvR0FBbkIsbUJBQW1CLCtHQUVuQiw4QkFBOEIsaUZBQzlCLDhCQUE4QixnRENyQjNDLG00SUE4RkE7QUQ1RWEsbUJBQW1CO0lBUC9CLFlBQVksRUFBRTtHQU9GLG1CQUFtQixDQTJNL0I7U0EzTVksbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUk7d05BSU0sdUJBQXVCO3NCQUFqRSxTQUFTO3VCQUFDLDhCQUE4QjtnQkFDRSxjQUFjO3NCQUF4RCxTQUFTO3VCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVsZW1lbnRSZWYsIFR5cGUsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge2ZpbHRlciwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FjdGlvblNlcnZpY2UsIEFjdGlvblNob3dDb21tYW5kfSBmcm9tICcuLi9hY3Rpb24tc2VydmljZS9hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hY3Rpb24tY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge0FjdGlvbkxpc3RFbnRyeX0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hY3Rpb24tbGlzdC1lbnRyeSc7XG5pbXBvcnQge0NvbXBvbmVudEFjdGlvbiwgRXh0ZXJuYWxDb21wb25lbnRBY3Rpb24sIEV4dGVybmFsUHJvY2Vzc0NvbXBvbmVudEFjdGlvbiwgTGlzdEFjdGlvbiwgU2ltcGxlQWN0aW9ufSBmcm9tICcuLi9pbnRlcmZhY2VzL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmV9IGZyb20gJy4vYWN0aW9uLWNvbXBvbmVudC1hbmNob3IvYWN0aW9uLWNvbXBvbmVudC1hbmNob3IuZGlyZWN0aXZlJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hY3Rpb24tbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uTWVudUNvbXBvbmVudCB7XG5cbiAgQFZpZXdDaGlsZChBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmUpIGVvQWN0aW9uQ29tcG9uZW50QW5jaG9yOiBBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmU7XG4gIEBWaWV3Q2hpbGQoQWN0aW9uQ29tcG9uZW50QW5jaG9yRGlyZWN0aXZlKSBleHRlcm5hbERpYWxvZzogQWN0aW9uQ29tcG9uZW50QW5jaG9yRGlyZWN0aXZlO1xuICBhY3Rpb25MaXN0czoge1xuICAgIGNvbW1vbjogQWN0aW9uTGlzdEVudHJ5W10sXG4gICAgZnVydGhlcjogQWN0aW9uTGlzdEVudHJ5W11cbiAgfSA9IHtcbiAgICBjb21tb246IFtdLCBmdXJ0aGVyOiBbXVxuICB9O1xuICBzdWJBY3Rpb25zTGlzdEhlYWRlciA9ICcnO1xuICBzdWJBY3Rpb25zTGlzdDogQWN0aW9uTGlzdEVudHJ5W107XG4gIHNlbGVjdGlvbjogYW55W107XG4gIHN1YlNlbGVjdGlvbjogYW55W107XG4gIHRhcmdldDogc3RyaW5nO1xuICBzaG93Q29tcG9uZW50ID0gZmFsc2U7XG4gIGFjdGlvbkRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNob3dNZW51ID0gZmFsc2U7XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgYWN0aXZlQWN0aW9uSW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uU2VydmljZTogQWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbVJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xuXG4gICAgLy8gc3Vic2NyaWJlIGZvciB2aXNpYmlsaXR5IG9ic2VydmFibGUgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHNob3cgb3IgaGlkZSB0aGUgYWN0aW9uc1xuICAgIHRoaXMuYWN0aW9uU2VydmljZVxuICAgICAgLmFjdGlvbnNTaG93aW5nJC5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChjbWQ6IEFjdGlvblNob3dDb21tYW5kKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zaG93TWVudSAmJiBjbWQuc2hvdykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID0gY21kLnNlbGVjdGlvbjtcbiAgICAgICAgICB0aGlzLnRhcmdldCA9IGNtZC50YXJnZXQ7XG4gICAgICAgICAgdGhpcy5zaG93QWN0aW9uTWVudSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2hvd01lbnUgJiYgIWNtZC5zaG93KSB7XG4gICAgICAgICAgdGhpcy5oaWRlQWN0aW9uTWVudSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgICBmaWx0ZXIoZXZ0ID0+IGV2dCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuaGlkZSgpKTtcblxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3Rpb25zKCkge1xuICAgIHRoaXMuYWN0aW9uU2VydmljZVxuICAgICAgLmdldEFjdGlvbnNMaXN0KHRoaXMuc2VsZWN0aW9uLCB0aGlzLnZpZXdDb250YWluZXJSZWYpXG4gICAgICAuc3Vic2NyaWJlKGFjdGlvbnNMaXN0ID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpb25MaXN0cy5jb21tb24gPSBhY3Rpb25zTGlzdC5maWx0ZXIoYWN0aW9uTGlzdEVudHJ5ID0+IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24uZ3JvdXAgPT09ICdjb21tb24nKTtcbiAgICAgICAgdGhpcy5hY3Rpb25MaXN0cy5mdXJ0aGVyID0gYWN0aW9uc0xpc3QuZmlsdGVyKGFjdGlvbkxpc3RFbnRyeSA9PiBhY3Rpb25MaXN0RW50cnkuYWN0aW9uLmdyb3VwID09PSAnZnVydGhlcicpO1xuICAgICAgfSk7XG5cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9yZUFjdGlvbnMoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGlvblNlcnZpY2VcbiAgICAgIC5nZXRNb3JlQWN0aW9ucyh0aGlzLnNlbGVjdGlvbiwgdGhpcy52aWV3Q29udGFpbmVyUmVmKVxuICAgICAgLnN1YnNjcmliZShhY3Rpb25MaXN0ID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWN0aW9uTGlzdHMuZnVydGhlciA9IHRoaXMuYWN0aW9uTGlzdHMuZnVydGhlci5jb25jYXQoYWN0aW9uTGlzdCkuc29ydChVdGlscy5zb3J0VmFsdWVzKCdhY3Rpb24ubGFiZWwnKSk7XG4gICAgICB9LCBVdGlscy50aHJvdygoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSkpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmFjdGlvblNlcnZpY2UuaGlkZUFjdGlvbnMoKTtcbiAgfVxuXG4gIHNob3dBY3Rpb25EZXNjcmlwdGlvbihpLCBldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5hY3Rpb25EZXNjcmlwdGlvbiA9IGkgPT09IHRoaXMuYWN0aW9uRGVzY3JpcHRpb24gPyBudWxsIDogaTtcbiAgfVxuXG4gIGNhdGNoRm9jdXMoKSB7ICAgIFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5lbGVtUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3RhYmluZGV4PVwiMFwiXScpLmZvY3VzKCk7XG4gICAgfSwpO1xuICB9XG5cbiAgaXNBcnJvd1VwT3JEb3duUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcbiAgICBsZXQgbGVuZ3RoID0gdGhpcy5hY3Rpb25MaXN0cy5jb21tb24ubGVuZ3RoICsgdGhpcy5hY3Rpb25MaXN0cy5mdXJ0aGVyLmxlbmd0aCAtIDE7XG4gICAgaWYgKGtleSA9PT0gJ0Fycm93VXAnIHx8IChldmVudC5zaGlmdEtleSAmJiBrZXkgPT09ICdUYWInKSApIHtcbiAgICAgIHRoaXMuYWN0aXZlQWN0aW9uSW5kZXggPSAodGhpcy5hY3RpdmVBY3Rpb25JbmRleCA9PT0gMCkgPyBsZW5ndGggOiB0aGlzLmFjdGl2ZUFjdGlvbkluZGV4IC0gMTtcbiAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ0Fycm93RG93bicgfHwga2V5ID09PSAnVGFiJykge1xuICAgICAgdGhpcy5hY3RpdmVBY3Rpb25JbmRleCA9ICh0aGlzLmFjdGl2ZUFjdGlvbkluZGV4ID09PSBsZW5ndGgpID8gMCA6IHRoaXMuYWN0aXZlQWN0aW9uSW5kZXggKyAxO1xuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnRW50ZXInKSB7XG4gICAgICBsZXQgY2xpY2tlZExpc3RFbnRyeTtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZUFjdGlvbkluZGV4IDwgdGhpcy5hY3Rpb25MaXN0cy5jb21tb24ubGVuZ3RoKSB7XG4gICAgICAgIGNsaWNrZWRMaXN0RW50cnkgPSB0aGlzLmFjdGlvbkxpc3RzLmNvbW1vblt0aGlzLmFjdGl2ZUFjdGlvbkluZGV4XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsaWNrZWRMaXN0RW50cnkgPSB0aGlzLmFjdGlvbkxpc3RzLmZ1cnRoZXJbdGhpcy5hY3RpdmVBY3Rpb25JbmRleCAtIHRoaXMuYWN0aW9uTGlzdHMuY29tbW9uLmxlbmd0aF07XG4gICAgICB9XG4gICAgICB0aGlzLm9uQ2xpY2soY2xpY2tlZExpc3RFbnRyeSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93QWN0aW9uTWVudSgpIHtcbiAgICB0aGlzLmFjdGl2ZUFjdGlvbkluZGV4ID0gMDtcbiAgICB0aGlzLmdldEFjdGlvbnMoKTtcbiAgICBpZiAodGhpcy50YXJnZXQgPT09ICdETVNfT0JKRUNUJykge1xuICAgICAgdGhpcy5nZXRNb3JlQWN0aW9ucygpO1xuICAgIH1cbiAgICB0aGlzLnNob3dNZW51ID0gdHJ1ZTtcbiAgICB0aGlzLmNhdGNoRm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZUFjdGlvbk1lbnUoKSB7XG4gICAgdGhpcy5jbGVhcigpO1xuICAgIHRoaXMuc2hvd01lbnUgPSBmYWxzZTtcbiAgICB0aGlzLmFjdGlvbkxpc3RzID0ge2NvbW1vbjogW10sIGZ1cnRoZXI6IFtdfTtcbiAgfVxuXG4gIG9uQ2xpY2soYWN0aW9uTGlzdEVudHJ5OiBBY3Rpb25MaXN0RW50cnkpIHtcbiAgICB0aGlzLmFjdGl2ZUFjdGlvbkluZGV4ID0gMDtcbiAgICB0aGlzLnN1YlNlbGVjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hdmFpbGFibGVTZWxlY3Rpb247XG4gICAgLy8gSXQgaXMgcG9zc2libGUgdGhhdCBhY3Rpb25zIGltcGxlbWVudCBtb3JlIHRoYW4gb25lIGFjdGlvbiBpbnRlcmZhY2VcbiAgICAvLyBzbyB3ZSBzaG91bGQgYmUgYXdhcmUgb2YgcnVubmluZyBhbiBhY3Rpb24gYW5kIHRoZW4gb3BlbiBpdHMgc3ViIGFjdGlvbnNcblxuICAgIGNvbnN0IGlzU2ltcGxlQWN0aW9uID0gISFhY3Rpb25MaXN0RW50cnkuYWN0aW9uWydydW4nXTtcbiAgICBjb25zdCBpc0xpc3RBY3Rpb24gPSBhY3Rpb25MaXN0RW50cnkuYWN0aW9uLmhhc093blByb3BlcnR5KCdzdWJBY3Rpb25Db21wb25lbnRzJyk7XG4gICAgY29uc3QgaXNDb21wb25lbnRBY3Rpb24gPSBhY3Rpb25MaXN0RW50cnkuYWN0aW9uLmhhc093blByb3BlcnR5KCdjb21wb25lbnQnKTtcbiAgICBjb25zdCBpc0V4dGVybmFsQ29tcG9uZW50QWN0aW9uID0gYWN0aW9uTGlzdEVudHJ5LmFjdGlvbi5oYXNPd25Qcm9wZXJ0eSgnZXh0Q29tcG9uZW50cycpO1xuICAgIGNvbnN0IGlzV29ya0Zsb3dBY3Rpb24gPSBhY3Rpb25MaXN0RW50cnkuYWN0aW9uWydleGVjdXRhYmxlUHJvY2VzcyddICYmIGlzRXh0ZXJuYWxDb21wb25lbnRBY3Rpb247XG4gICAgY29uc3QgaXNTaW1wbGVBY3Rpb25Pbmx5ID0gaXNTaW1wbGVBY3Rpb24gJiYgIWlzTGlzdEFjdGlvbiAmJiAhaXNDb21wb25lbnRBY3Rpb24gJiYgIWlzRXh0ZXJuYWxDb21wb25lbnRBY3Rpb247XG5cbiAgICBpZiAoaXNTaW1wbGVBY3Rpb24pIHtcbiAgICAgIGNvbnN0IHNpbXBsZUFjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24gYXMgU2ltcGxlQWN0aW9uO1xuICAgICAgc2ltcGxlQWN0aW9uLnJ1bihhY3Rpb25MaXN0RW50cnkuYXZhaWxhYmxlU2VsZWN0aW9uKTtcblxuICAgICAgLy8gaGlkZSBhY3Rpb24gbWVudSBpZiBub3RoaW5nIGVsc2UgaXMgdG8gYmUgc2hvd24vZG9uZVxuICAgICAgaWYgKGlzU2ltcGxlQWN0aW9uT25seSkge1xuICAgICAgICB0aGlzLmhpZGVBY3Rpb25NZW51KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzTGlzdEFjdGlvbikge1xuICAgICAgY29uc3QgbGlzdEFjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24gYXMgTGlzdEFjdGlvbjtcbiAgICAgIHRoaXMuc3ViQWN0aW9uc0xpc3RIZWFkZXIgPSBsaXN0QWN0aW9uLmhlYWRlcjtcbiAgICAgIHRoaXMuYWN0aW9uU2VydmljZVxuICAgICAgICAuZ2V0RXhlY3V0YWJsZUFjdGlvbnNMaXN0RnJvbUdpdmVuQWN0aW9ucyhsaXN0QWN0aW9uLnN1YkFjdGlvbkNvbXBvbmVudHMsIHRoaXMuc2VsZWN0aW9uLCB0aGlzLnZpZXdDb250YWluZXJSZWYpXG4gICAgICAgIC5zdWJzY3JpYmUoKGFjdGlvbnNMaXN0OiBBY3Rpb25MaXN0RW50cnlbXSkgPT4gdGhpcy5zdWJBY3Rpb25zTGlzdCA9IGFjdGlvbnNMaXN0KTtcbiAgICB9IGVsc2UgaWYgKGlzQ29tcG9uZW50QWN0aW9uKSB7XG4gICAgICBjb25zdCBjb21wb25lbnRBY3Rpb24gPSBhY3Rpb25MaXN0RW50cnkuYWN0aW9uIGFzIENvbXBvbmVudEFjdGlvbjtcbiAgICAgIHRoaXMuc2hvd0FjdGlvbkNvbXBvbmVudChjb21wb25lbnRBY3Rpb24uY29tcG9uZW50LCB0aGlzLmVvQWN0aW9uQ29tcG9uZW50QW5jaG9yLCB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChpc0V4dGVybmFsQ29tcG9uZW50QWN0aW9uICYmICFpc1dvcmtGbG93QWN0aW9uKSB7XG4gICAgICBjb25zdCBleHRDb21wb25lbnRBY3Rpb24gPSBhY3Rpb25MaXN0RW50cnkuYWN0aW9uIGFzIEV4dGVybmFsQ29tcG9uZW50QWN0aW9uO1xuICAgICAgdGhpcy5zaG93QWN0aW9uQ29tcG9uZW50KGV4dENvbXBvbmVudEFjdGlvbi5leHRDb21wb25lbnRzLCB0aGlzLmV4dGVybmFsRGlhbG9nLCB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgZmFsc2UpO1xuICAgIH0gZWxzZSBpZiAoaXNXb3JrRmxvd0FjdGlvbikge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4dENvbXBvbmVudEFjdGlvbiA9IGFjdGlvbkxpc3RFbnRyeS5hY3Rpb24gYXMgRXh0ZXJuYWxQcm9jZXNzQ29tcG9uZW50QWN0aW9uO1xuICAgICAgICB0aGlzLnNob3dBY3Rpb25Db21wb25lbnQoZXh0Q29tcG9uZW50QWN0aW9uLmV4dENvbXBvbmVudHMsIHRoaXMuZXh0ZXJuYWxEaWFsb2csIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgIGZhbHNlLCB7ZXhlY3V0YWJsZVByb2Nlc3M6IGV4dENvbXBvbmVudEFjdGlvbi5leGVjdXRhYmxlUHJvY2Vzc30pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93QWN0aW9uQ29tcG9uZW50KGNvbXBvbmVudDogVHlwZTxhbnk+LCB2aWV3Q29udFJlZiwgZmFjdG9yeVJlc29sdmVyLCBzaG93Q29tcG9uZW50LCBpbnB1dHM/OiBhbnkpIHtcbiAgICB0aGlzLnNob3dDb21wb25lbnQgPSBzaG93Q29tcG9uZW50O1xuICAgIGxldCBjb21wb25lbnRGYWN0b3J5ID0gZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XG4gICAgbGV0IGFuY2hvclZpZXdDb250YWluZXJSZWYgPSB2aWV3Q29udFJlZi52aWV3Q29udGFpbmVyUmVmO1xuICAgIGFuY2hvclZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICBsZXQgY29tcG9uZW50UmVmID0gYW5jaG9yVmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XG4gICAgKDxBY3Rpb25Db21wb25lbnQ+Y29tcG9uZW50UmVmLmluc3RhbmNlKS5zZWxlY3Rpb24gPSB0aGlzLnN1YlNlbGVjdGlvbiB8fCB0aGlzLnNlbGVjdGlvbjtcbiAgICAoPEFjdGlvbkNvbXBvbmVudD5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmNhbmNlbGVkLnBpcGUodGFrZSgxKSwgdGFwKCgpID0+ICh0aGlzLnN1YlNlbGVjdGlvbiA9IG51bGwpKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub25DYW5jZWwoKSk7XG4gICAgKDxBY3Rpb25Db21wb25lbnQ+Y29tcG9uZW50UmVmLmluc3RhbmNlKS5maW5pc2hlZC5waXBlKHRha2UoMSksIHRhcCgoKSA9PiAodGhpcy5zdWJTZWxlY3Rpb24gPSBudWxsKSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRmluaXNoKCkpO1xuICAgIGlmIChpbnB1dHMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGlucHV0cykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gaW5wdXRzW2tleV07XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpc0xpbmtBY3Rpb24oYWN0aW9uKSB7XG4gICAgLy8gdXNlZCBmcm9tIHdpdGhpbiB0ZW1wbGF0ZVxuICAgIHJldHVybiAhIShhY3Rpb24gJiYgYWN0aW9uLmdldExpbmsgJiYgYWN0aW9uLmdldFBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyKCkge1xuICAgIHRoaXMuc2hvd0NvbXBvbmVudCA9IGZhbHNlO1xuICAgIHRoaXMuc3ViQWN0aW9uc0xpc3QgPSBudWxsO1xuICAgIHRoaXMuYWN0aW9uRGVzY3JpcHRpb24gPSBudWxsO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIGlmICh0aGlzLmVvQWN0aW9uQ29tcG9uZW50QW5jaG9yKSB7XG4gICAgICB0aGlzLmVvQWN0aW9uQ29tcG9uZW50QW5jaG9yLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5jYXRjaEZvY3VzKCk7XG4gIH1cblxuICBvbkZpbmlzaCgpIHtcbiAgICB0aGlzLmhpZGVBY3Rpb25NZW51KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhY3Rpb24tbWVudSBkYXJrXCIgKm5nSWY9XCJzaG93TWVudVwiIChlb091dHNpZGVDbGljayk9XCJoaWRlKClcIj5cblxuICA8ZGl2IGNsYXNzPVwiaGVhZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiB0cmFuc2xhdGU+ZW8uYWN0aW9ucy5zdGlja3kudGl0bGU8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdWItdGl0bGVcIiAqbmdJZj1cInNlbGVjdGlvbj8ubGVuZ3RoID4gMTsgZWxzZSBtdWx0aVwiIHRyYW5zbGF0ZT5lby5hY3Rpb25zLnN0aWNreS50aXRsZS5zdWIuc2VsZWN0aW9uPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI211bHRpPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLXRpdGxlXCIgKm5nSWY9XCJzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLmxlbmd0aFwiPjxzcGFuIHRyYW5zbGF0ZT5lby5hY3Rpb25zLnN0aWNreS50aXRsZS5zdWIuZm9yPC9zcGFuPiAne3tzZWxlY3Rpb25bMF0udGl0bGV9fSc8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNvdW50XCI+e3tzdWJTZWxlY3Rpb24/Lmxlbmd0aCB8fCBzZWxlY3Rpb24/Lmxlbmd0aCB8fCAnJ319PC9zcGFuPlxuICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19jbGVhci5zdmcnXCIgKGNsaWNrKT1cImhpZGUoKVwiPjwvZW8taWNvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIiBbaGlkZGVuXT1cInN1YkFjdGlvbnNMaXN0IHx8IHNob3dDb21wb25lbnRcIj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjYWN0aW9uIGxldC1lbnRyeSBsZXQtaWQ+XG5cbiAgICAgIDxhICpuZ0lmPVwiaXNMaW5rQWN0aW9uKGVudHJ5LmFjdGlvbik7IGVsc2UgZGVmYXVsdFwiIGNsYXNzPVwibGlua1wiXG4gICAgICAgICBbcm91dGVyTGlua109XCJlbnRyeS5hY3Rpb24uZ2V0TGluayhlbnRyeS5hdmFpbGFibGVTZWxlY3Rpb24pXCJcbiAgICAgICAgIFtxdWVyeVBhcmFtc109XCJlbnRyeS5hY3Rpb24uZ2V0UGFyYW1zKGVudHJ5LmF2YWlsYWJsZVNlbGVjdGlvbiwgdHJ1ZSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYT5cblxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxlby1pY29uIFtpY29uU3JjXT1cImVudHJ5LmFjdGlvbi5pY29uU3JjXCIgW2ljb25JZF09XCJlbnRyeS5hY3Rpb24uaWNvbklkXCJcbiAgICAgICAgICBbYmFkZ2VdPVwiZW50cnkuYXZhaWxhYmxlU2VsZWN0aW9uPy5sZW5ndGggIT0gc2VsZWN0aW9uPy5sZW5ndGggPyBlbnRyeS5hdmFpbGFibGVTZWxlY3Rpb24/Lmxlbmd0aCA6IG51bGxcIj48L2VvLWljb24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+e3tlbnRyeS5hY3Rpb24ubGFiZWx9fTwvZGl2PlxuICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImF2YWlsYWJsZS1jb3VudFwiICpuZ0lmPVwiZW50cnkuYXZhaWxhYmxlU2VsZWN0aW9uPy5sZW5ndGggIT0gc2VsZWN0aW9uPy5sZW5ndGhcIj57e2VudHJ5LmF2YWlsYWJsZVNlbGVjdGlvbj8ubGVuZ3RofX08L2Rpdj4gLS0+XG4gICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJpbmZvLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19pbmZvLnN2ZydcIiAoY2xpY2spPVwic2hvd0FjdGlvbkRlc2NyaXB0aW9uKGlkLCAkZXZlbnQpXCI+PC9lby1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgW2hpZGRlbl09XCJpZCAhPT0gYWN0aW9uRGVzY3JpcHRpb25cIj57e2VudHJ5LmFjdGlvbi5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIiAqbmdJZj1cImFjdGlvbkxpc3RzPy5jb21tb24ubGVuZ3RoID4gMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLXRpdGxlXCIgdHJhbnNsYXRlPmVvLmFjdGlvbnMuZ3JvdXAuY29tbW9uPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uXCIgaWQ9XCJ7e2FjdGlvbkxpc3RFbnRyeS5pZH19XCIgKGtleWRvd24pPVwiaXNBcnJvd1VwT3JEb3duUHJlc3NlZCgkZXZlbnQpXCIgW2F0dHIudGFiaW5kZXhdPVwiMFwiICpuZ0Zvcj1cImxldCBhY3Rpb25MaXN0RW50cnkgb2YgYWN0aW9uTGlzdHMuY29tbW9uOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soYWN0aW9uTGlzdEVudHJ5KVwiIFtuZ0NsYXNzXT1cInthY3RpdmU6IGFjdGl2ZUFjdGlvbkluZGV4ID09PSBpfVwiPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb247IGNvbnRleHQ6IHskaW1wbGljaXQ6IGFjdGlvbkxpc3RFbnRyeSwgaWQ6ICtpfVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJncm91cFwiICpuZ0lmPVwiIWxvYWRpbmc7IGVsc2UgbG9hZGVyXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWN0aW9uTGlzdHM/LmZ1cnRoZXIubGVuZ3RoID4gMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtdGl0bGVcIiB0cmFuc2xhdGU+ZW8uYWN0aW9ucy5ncm91cC5mdXJ0aGVyX2FjdGlvbnM8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvblwiIGlkPVwie3thY3Rpb25MaXN0RW50cnkuaWR9fVwiIChrZXlkb3duKT1cImlzQXJyb3dVcE9yRG93blByZXNzZWQoJGV2ZW50KVwiICpuZ0Zvcj1cImxldCBhY3Rpb25MaXN0RW50cnkgb2YgYWN0aW9uTGlzdHMuZnVydGhlcjsgaW5kZXggYXMgaVwiXG4gICAgICAgICAgZW9QcmV2ZW50RG91YmxlQ2xpY2sgW25nQ2xhc3NdPVwie2FjdGl2ZTogYWN0aXZlQWN0aW9uSW5kZXggPT09IGkgKyBhY3Rpb25MaXN0cz8uY29tbW9uLmxlbmd0aCB9XCJcbiAgICAgICAgICAoZGVib3VuY2VDbGljayk9XCJvbkNsaWNrKGFjdGlvbkxpc3RFbnRyeSlcIj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb247IGNvbnRleHQ6IHskaW1wbGljaXQ6IGFjdGlvbkxpc3RFbnRyeSwgaWQ6ICdmJytpfVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIiAqbmdJZj1cIiFsb2FkaW5nICYmICFhY3Rpb25MaXN0cz8uZnVydGhlci5sZW5ndGggJiYgIWFjdGlvbkxpc3RzPy5jb21tb24ubGVuZ3RoXCIgW3N0eWxlLnRleHRBbGlnbl09XCInY2VudGVyJ1wiPlxuICAgICAge3sgJ2VvLmFjdGlvbi5ub3QuYXZhaWxhYmxlJyB8IHRyYW5zbGF0ZX19XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZW8tbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIidtZWRpdW0nXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8IS0tIHN1YiBhY3Rpb25zIC0tPlxuICA8ZGl2ICBjbGFzcz1cImdyb3VwIHN1YlwiICpuZ0lmPVwic3ViQWN0aW9uc0xpc3QgJiYgIXNob3dDb21wb25lbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3ViLWFjdGlvbnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJncm91cC10aXRsZVwiPnt7c3ViQWN0aW9uc0xpc3RIZWFkZXJ9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbiBzdWJcIiAqbmdGb3I9XCJsZXQgYWN0aW9uTGlzdEVudHJ5IG9mIHN1YkFjdGlvbnNMaXN0OyBpbmRleCBhcyBpXCIgKGNsaWNrKT1cIm9uQ2xpY2soYWN0aW9uTGlzdEVudHJ5KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uOyBjb250ZXh0OiB7JGltcGxpY2l0OiBhY3Rpb25MaXN0RW50cnksIGlkOiAncycraX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJncm91cC1idXR0b25zXCI+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJvbkNhbmNlbCgpXCIgdHJhbnNsYXRlPmVvLmV4cG9ydC5jYW5jZWw8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdj5cbiAgICA8bmctdGVtcGxhdGUgZW9BY3Rpb25Db21wb25lbnRBbmNob3I+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG5cbiAgPGRpdj5cbiAgICA8bmctdGVtcGxhdGUgZW9FeHRBY3Rpb25Db21wb25lbnRBbmNob3I+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
@@ -56,6 +56,7 @@ import { SignatureComponent } from './actions/signature-action/signature/signatu
56
56
  import { CancelSigningActionComponent } from './actions/cancel-signing-action/cancel-signing-action';
57
57
  import { CancelSigningComponent } from './actions/cancel-signing-action/cancel-signing/cancel-signing.component';
58
58
  import { YvcDatepickerModule } from '@yuuvis/components/datepicker';
59
+ import { YvcAutofocusChild } from '@yuuvis/components/common';
59
60
  import * as i0 from "@angular/core";
60
61
  export const entryComponents = [
61
62
  CopyActionComponent,
@@ -172,7 +173,8 @@ ActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
172
173
  SignatureActionComponent,
173
174
  SignatureComponent,
174
175
  CancelSigningActionComponent,
175
- CancelSigningComponent], imports: [CommonModule,
176
+ CancelSigningComponent], imports: [YvcAutofocusChild,
177
+ CommonModule,
176
178
  UiModule,
177
179
  RouterModule,
178
180
  ObjectFormModule,
@@ -204,6 +206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
204
206
  type: NgModule,
205
207
  args: [{
206
208
  imports: [
209
+ YvcAutofocusChild,
207
210
  CommonModule,
208
211
  UiModule,
209
212
  RouterModule,
@@ -276,4 +279,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
276
279
  entryComponents
277
280
  }]
278
281
  }] });
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsNEJBQTRCLEVBQXVCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhCQUE4QixDQUFD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aEMsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZiwyQkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0IsNkJBQTZCO3dCQUM3Qiw4QkFBOEI7d0JBQzlCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qix3QkFBd0I7d0JBQ3hCLGlDQUFpQzt3QkFDakMsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsaUNBQWlDO3dCQUNqQywwQkFBMEI7d0JBQzFCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIscUJBQXFCO3dCQUNyQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLDRCQUE0Qjt3QkFDNUIsc0JBQXNCO3FCQUN2QjtvQkFDRCxlQUFlO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QU5BTFlaRV9GT1JfRU5UUllfQ09NUE9ORU5UUywgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFb0ZyYW1ld29ya01vZHVsZX0gZnJvbSAnLi4vZW8tZnJhbWV3b3JrLm1vZHVsZSc7XG5pbXBvcnQge1ByZXZlbnREb3VibGVDbGlja0RpcmVjdGl2ZX0gZnJvbSAnLi4vdXRpbC9kaXJlY3RpdmUvcHJldmVudC1kb3VibGUtY2xpY2suZGlyZWN0aXZlJztcbmltcG9ydCB7QUNUSU9OUywgQ1VTVE9NX0FDVElPTlMsIEFjdGlvblNlcnZpY2V9IGZyb20gJy4vYWN0aW9uLXNlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtBY3Rpb25NZW51Q29tcG9uZW50fSBmcm9tICcuL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VWlNb2R1bGV9IGZyb20gJy4uL3VpL3VpLm1vZHVsZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudEFuY2hvckRpcmVjdGl2ZX0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tY29tcG9uZW50LWFuY2hvci9hY3Rpb24tY29tcG9uZW50LWFuY2hvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtDb3B5QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY29weS1hY3Rpb24vY29weS1hY3Rpb24nO1xuaW1wb3J0IHtPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL29wZW4tY29udGV4dC1hY3Rpb24vb3Blbi1jb250ZXh0LWFjdGlvbic7XG5pbXBvcnQge0Rvd25sb2FkUGRmQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZG93bmxvYWQtcGRmLWFjdGlvbi9kb3dubG9hZC1wZGYtYWN0aW9uJztcbmltcG9ydCB7RG93bmxvYWRPcmlnaW5hbEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2Rvd25sb2FkLW9yaWdpbmFsLWFjdGlvbi9kb3dubG9hZC1vcmlnaW5hbC1hY3Rpb24nO1xuaW1wb3J0IHtEb3dubG9hZEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2Rvd25sb2FkLWFjdGlvbi9kb3dubG9hZC1hY3Rpb24nO1xuaW1wb3J0IHtPcGVuRG9jdW1lbnRDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9vcGVuLWRvY3VtZW50LWFjdGlvbi9vcGVuLWRvY3VtZW50LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtPcGVuRG9jdW1lbnRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9vcGVuLWRvY3VtZW50LWFjdGlvbi9vcGVuLWRvY3VtZW50LWFjdGlvbic7XG5pbXBvcnQge09iamVjdEZvcm1Nb2R1bGV9IGZyb20gJy4uL29iamVjdC1mb3JtL29iamVjdC1mb3JtLm1vZHVsZSc7XG5pbXBvcnQge0VtYWlsQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZW1haWwvZW1haWwtYWN0aW9uJztcbmltcG9ydCB7RW1haWxMaW5rQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZW1haWwvZW1haWwtbGluay1hY3Rpb24nO1xuaW1wb3J0IHtFbWFpbE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZW1haWwvZW1haWwtb3JpZ2luYWwtYWN0aW9uJztcbmltcG9ydCB7RW1haWxQZGZBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9lbWFpbC9lbWFpbC1wZGYtYWN0aW9uJztcbmltcG9ydCB7Q2xpcGJvYXJkTGlua0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtbGluay1hY3Rpb24nO1xuaW1wb3J0IHtDbGlwYm9hcmRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLWFjdGlvbic7XG5pbXBvcnQge0NsaXBib2FyZE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY2xpcGJvYXJkL2NsaXBib2FyZC1vcmlnaW5hbC1hY3Rpb24nO1xuaW1wb3J0IHtDbGlwYm9hcmRQZGZBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLXBkZi1hY3Rpb24nO1xuaW1wb3J0IHtGYXZvcml0ZUFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2Zhdm9yaXRlLWFjdGlvbi9mYXZvcml0ZS1hY3Rpb24nO1xuaW1wb3J0IHtEZWxldGVBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS1hY3Rpb24nO1xuaW1wb3J0IHtEZWxldGVDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7T3BlblZlcnNpb25zQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvb3Blbi12ZXJzaW9ucy1hY3Rpb24vb3Blbi12ZXJzaW9ucy1hY3Rpb24nO1xuaW1wb3J0IHtSZXN0b3JlVmVyc2lvbkFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3Jlc3RvcmUtdmVyc2lvbi1hY3Rpb24vcmVzdG9yZS12ZXJzaW9uLWFjdGlvbic7XG5pbXBvcnQge0RlbGV0ZVByZXBhcmVkQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZGVsZXRlLWFjdGlvbi9kZWxldGUtcHJlcGFyZWQtYWN0aW9uJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtBZGRTdWJzY3JpcHRpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7QWRkU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24nO1xuaW1wb3J0IHtGb3JtRWxlbWVudHNNb2R1bGV9IGZyb20gJy4uL2Zvcm0tZWxlbWVudHMvZm9ybS1lbGVtZW50cy5tb2R1bGUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSZW1vdmVTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9yZW1vdmUtc3Vic2NyaXB0aW9uLWFjdGlvbi9yZW1vdmUtc3Vic2NyaXB0aW9uLWFjdGlvbic7XG5pbXBvcnQge1dvcmtmbG93QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3dvcmtmbG93LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtXb3JrZmxvd0NvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3dvcmtmbG93LWFjdGlvbi93b3JrZmxvdy93b3JrZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHtDdXN0b21BY3Rpb25zQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY3VzdG9tLWFjdGlvbnMvY3VzdG9tLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7Q3RhTW9kdWxlfSBmcm9tICcuLi9jdGEvY3RhLm1vZHVsZSc7XG5pbXBvcnQge0FkZFJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uJztcbmltcG9ydCB7QWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1VwZGF0ZVJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3VwZGF0ZS1yZXN1Ym1pc3Npb24tYWN0aW9uL3VwZGF0ZS1yZXN1Ym1pc3Npb24tYWN0aW9uJztcbmltcG9ydCB7U2hhcmVPYmplY3RBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9zaGFyZS1vYmplY3QtYWN0aW9uL3NoYXJlLW9iamVjdC1hY3Rpb24nO1xuaW1wb3J0IHtTaGFyZU9iamVjdENvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3NoYXJlLW9iamVjdC1hY3Rpb24vc2hhcmUtb2JqZWN0L3NoYXJlLW9iamVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtDdXRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jdXQtYWN0aW9uL2N1dC1hY3Rpb24nO1xuaW1wb3J0IHtGaW5hbGl6ZUFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2ZpbmFsaXplL2ZpbmFsaXplLWFjdGlvbic7XG5pbXBvcnQge0RlZmluYWxpemVBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9maW5hbGl6ZS9kZWZpbmFsaXplLWFjdGlvbic7XG5pbXBvcnQge0RlbGV0ZUNvbnRlbnRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtY29udGVudC1hY3Rpb24vZGVsZXRlLWNvbnRlbnQtYWN0aW9uJztcbmltcG9ydCB7VW5sb2NrQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvdW5sb2NrLWFjdGlvbi91bmxvY2stYWN0aW9uJztcbmltcG9ydCB7U2ltcGxlV29ya2Zsb3dBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy93b3JrZmxvdy1hY3Rpb24vc2ltcGxlLXdvcmtmbG93LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtQcm9jZXNzRm9ybU1vZHVsZX0gZnJvbSAnLi4vcHJvY2Vzcy1mb3JtL3Byb2Nlc3MtZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgRmluYWxpemVPYmplY3RBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2FjdGlvbnMvZmluYWxpemUvZmluYWxpemUtb2JqZWN0LWFjdGlvbi9maW5hbGl6ZS1vYmplY3QtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0RlbGV0ZUNvbnRlbnRDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtY29udGVudC1hY3Rpb24vZGVsZXRlLWNvbnRlbnQvZGVsZXRlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7U2lnbmF0dXJlQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvc2lnbmF0dXJlLWFjdGlvbi9zaWduYXR1cmUtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZ25hdHVyZUNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQnO1xuaW1wb3J0IHtDYW5jZWxTaWduaW5nQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY2FuY2VsLXNpZ25pbmctYWN0aW9uL2NhbmNlbC1zaWduaW5nLWFjdGlvbic7XG5pbXBvcnQge0NhbmNlbFNpZ25pbmdDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jYW5jZWwtc2lnbmluZy1hY3Rpb24vY2FuY2VsLXNpZ25pbmcvY2FuY2VsLXNpZ25pbmcuY29tcG9uZW50JztcbmltcG9ydCB7WXZjRGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2RhdGVwaWNrZXInO1xuXG5leHBvcnQgY29uc3QgZW50cnlDb21wb25lbnRzID0gW1xuICBDb3B5QWN0aW9uQ29tcG9uZW50LFxuICBPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudCxcbiAgRG93bmxvYWRBY3Rpb25Db21wb25lbnQsXG4gIERvd25sb2FkT3JpZ2luYWxBY3Rpb25Db21wb25lbnQsXG4gIERvd25sb2FkUGRmQWN0aW9uQ29tcG9uZW50LFxuICBPcGVuRG9jdW1lbnRBY3Rpb25Db21wb25lbnQsXG4gIE9wZW5Eb2N1bWVudENvbXBvbmVudCxcbiAgRW1haWxBY3Rpb25Db21wb25lbnQsXG4gIEVtYWlsTGlua0FjdGlvbkNvbXBvbmVudCxcbiAgRW1haWxPcmlnaW5hbEFjdGlvbkNvbXBvbmVudCxcbiAgRW1haWxQZGZBY3Rpb25Db21wb25lbnQsXG4gIENsaXBib2FyZEFjdGlvbkNvbXBvbmVudCxcbiAgQ2xpcGJvYXJkTGlua0FjdGlvbkNvbXBvbmVudCxcbiAgQ2xpcGJvYXJkT3JpZ2luYWxBY3Rpb25Db21wb25lbnQsXG4gIENsaXBib2FyZFBkZkFjdGlvbkNvbXBvbmVudCxcbiAgRGVsZXRlQWN0aW9uQ29tcG9uZW50LFxuICBEZWxldGVDb21wb25lbnQsXG4gIE9wZW5WZXJzaW9uc0FjdGlvbkNvbXBvbmVudCxcbiAgUmVzdG9yZVZlcnNpb25BY3Rpb25Db21wb25lbnQsXG4gIERlbGV0ZVByZXBhcmVkQWN0aW9uQ29tcG9uZW50LFxuICBBZGRTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQsXG4gIEFkZFN1YnNjcmlwdGlvbkNvbXBvbmVudCxcbiAgUmVtb3ZlU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50LFxuICBXb3JrZmxvd0FjdGlvbkNvbXBvbmVudCxcbiAgV29ya2Zsb3dDb21wb25lbnQsXG4gIEN1c3RvbUFjdGlvbnNDb21wb25lbnQsXG4gIEFkZFJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgQWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50LFxuICBVcGRhdGVSZXN1Ym1pc3Npb25BY3Rpb25Db21wb25lbnQsXG4gIFNoYXJlT2JqZWN0QWN0aW9uQ29tcG9uZW50LFxuICBTaGFyZU9iamVjdENvbXBvbmVudCxcbiAgQ3V0QWN0aW9uQ29tcG9uZW50LFxuICBGaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCxcbiAgRmluYWxpemVPYmplY3RBY3Rpb25Db21wb25lbnQsXG4gIERlZmluYWxpemVBY3Rpb25Db21wb25lbnQsXG4gIERlbGV0ZUNvbnRlbnRDb21wb25lbnQsXG4gIERlbGV0ZUNvbnRlbnRBY3Rpb25Db21wb25lbnQsXG4gIFVubG9ja0FjdGlvbkNvbXBvbmVudCxcbiAgU2ltcGxlV29ya2Zsb3dBY3Rpb25Db21wb25lbnQsXG4gIFNpZ25hdHVyZUFjdGlvbkNvbXBvbmVudCxcbiAgU2lnbmF0dXJlQ29tcG9uZW50LFxuICBDYW5jZWxTaWduaW5nQWN0aW9uQ29tcG9uZW50LFxuICBDYW5jZWxTaWduaW5nQ29tcG9uZW50XG5dO1xuXG4vKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogTW9kdWxlIGZvciB0aGUgYWN0aW9uIG1lbnVcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBVaU1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgT2JqZWN0Rm9ybU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1FbGVtZW50c01vZHVsZSxcbiAgICBPYmplY3RGb3JtTW9kdWxlLFxuICAgIFByb2Nlc3NGb3JtTW9kdWxlLFxuICAgIEN0YU1vZHVsZSxcbiAgICBZdmNEYXRlcGlja2VyTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtBY3Rpb25NZW51Q29tcG9uZW50LCBPcGVuRG9jdW1lbnRDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtBY3Rpb25TZXJ2aWNlLCB7XG4gICAgcHJvdmlkZTogQUNUSU9OUyxcbiAgICB1c2VWYWx1ZTogZW50cnlDb21wb25lbnRzXG4gIH0sIHtcbiAgICBwcm92aWRlOiBDVVNUT01fQUNUSU9OUyxcbiAgICB1c2VWYWx1ZTogW11cbiAgfV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjdGlvbk1lbnVDb21wb25lbnQsXG4gICAgQWN0aW9uQ29tcG9uZW50QW5jaG9yRGlyZWN0aXZlLFxuICAgIENvcHlBY3Rpb25Db21wb25lbnQsXG4gICAgT3BlbkNvbnRleHRBY3Rpb25Db21wb25lbnQsXG4gICAgRG93bmxvYWRBY3Rpb25Db21wb25lbnQsXG4gICAgRG93bmxvYWRPcmlnaW5hbEFjdGlvbkNvbXBvbmVudCxcbiAgICBEb3dubG9hZFBkZkFjdGlvbkNvbXBvbmVudCxcbiAgICBPcGVuRG9jdW1lbnRBY3Rpb25Db21wb25lbnQsXG4gICAgT3BlbkRvY3VtZW50Q29tcG9uZW50LFxuICAgIEVtYWlsQWN0aW9uQ29tcG9uZW50LFxuICAgIEVtYWlsTGlua0FjdGlvbkNvbXBvbmVudCxcbiAgICBFbWFpbE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50LFxuICAgIEVtYWlsUGRmQWN0aW9uQ29tcG9uZW50LFxuICAgIENsaXBib2FyZEFjdGlvbkNvbXBvbmVudCxcbiAgICBDbGlwYm9hcmRMaW5rQWN0aW9uQ29tcG9uZW50LFxuICAgIENsaXBib2FyZE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50LFxuICAgIENsaXBib2FyZFBkZkFjdGlvbkNvbXBvbmVudCxcbiAgICBGYXZvcml0ZUFjdGlvbkNvbXBvbmVudCxcbiAgICBEZWxldGVBY3Rpb25Db21wb25lbnQsXG4gICAgRGVsZXRlQ29tcG9uZW50LFxuICAgIE9wZW5WZXJzaW9uc0FjdGlvbkNvbXBvbmVudCxcbiAgICBSZXN0b3JlVmVyc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgICBEZWxldGVQcmVwYXJlZEFjdGlvbkNvbXBvbmVudCxcbiAgICBBZGRTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQsXG4gICAgQWRkU3Vic2NyaXB0aW9uQ29tcG9uZW50LFxuICAgIEFkZFJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgICBBZGRSZXN1Ym1pc3Npb25Db21wb25lbnQsXG4gICAgUmVtb3ZlU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50LFxuICAgIFdvcmtmbG93QWN0aW9uQ29tcG9uZW50LFxuICAgIFdvcmtmbG93Q29tcG9uZW50LFxuICAgIEN1c3RvbUFjdGlvbnNDb21wb25lbnQsXG4gICAgVXBkYXRlUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50LFxuICAgIFNoYXJlT2JqZWN0QWN0aW9uQ29tcG9uZW50LFxuICAgIFNoYXJlT2JqZWN0Q29tcG9uZW50LFxuICAgIEN1dEFjdGlvbkNvbXBvbmVudCxcbiAgICBGaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCxcbiAgICBGaW5hbGl6ZU9iamVjdEFjdGlvbkNvbXBvbmVudCxcbiAgICBEZWZpbmFsaXplQWN0aW9uQ29tcG9uZW50LFxuICAgIERlbGV0ZUNvbnRlbnRDb21wb25lbnQsXG4gICAgRGVsZXRlQ29udGVudEFjdGlvbkNvbXBvbmVudCxcbiAgICBVbmxvY2tBY3Rpb25Db21wb25lbnQsXG4gICAgU2ltcGxlV29ya2Zsb3dBY3Rpb25Db21wb25lbnQsXG4gICAgUHJldmVudERvdWJsZUNsaWNrRGlyZWN0aXZlLFxuICAgIFNpZ25hdHVyZUFjdGlvbkNvbXBvbmVudCxcbiAgICBTaWduYXR1cmVDb21wb25lbnQsXG4gICAgQ2FuY2VsU2lnbmluZ0FjdGlvbkNvbXBvbmVudCxcbiAgICBDYW5jZWxTaWduaW5nQ29tcG9uZW50XG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50c1xufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb21wb25lbnRzOiBhbnlbXSA9IFtdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBY3Rpb25Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFjdGlvbk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogQU5BTFlaRV9GT1JfRU5UUllfQ09NUE9ORU5UUyxcbiAgICAgICAgdXNlVmFsdWU6IGNvbXBvbmVudHMsXG4gICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgfSwge1xuICAgICAgICBwcm92aWRlOiBBQ1RJT05TLFxuICAgICAgICB1c2VWYWx1ZTogZW50cnlDb21wb25lbnRzXG4gICAgICB9LCB7XG4gICAgICAgIHByb3ZpZGU6IENVU1RPTV9BQ1RJT05TLFxuICAgICAgICB1c2VWYWx1ZTogY29tcG9uZW50c1xuICAgICAgfV1cbiAgICB9O1xuICB9XG59XG4iXX0=
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsNEJBQTRCLEVBQXVCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQzVHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQy9GLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUNoRixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0VBQStFLENBQUM7QUFDdkgsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ2xILE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUN2SCxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUNsSCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUN2RyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUMzSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMvRyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUMvRyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFNUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLCtCQUErQjtJQUMvQiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1Qix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMsMkJBQTJCO0lBQzNCLHFCQUFxQjtJQUNyQixlQUFlO0lBQ2YsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3Qiw2QkFBNkI7SUFDN0IsOEJBQThCO0lBQzlCLHdCQUF3QjtJQUN4QixpQ0FBaUM7SUFDakMsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLHdCQUF3QjtJQUN4QixpQ0FBaUM7SUFDakMsMEJBQTBCO0lBQzFCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1QixxQkFBcUI7SUFDckIsNkJBQTZCO0lBQzdCLHdCQUF3QjtJQUN4QixrQkFBa0I7SUFDbEIsNEJBQTRCO0lBQzVCLHNCQUFzQjtDQUN2QixDQUFDO0FBRUY7Ozs7R0FJRztBQTJFSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLGFBQW9CLEVBQUU7UUFDbkMsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSw0QkFBNEI7b0JBQ3JDLFFBQVEsRUFBRSxVQUFVO29CQUNwQixLQUFLLEVBQUUsSUFBSTtpQkFDWixFQUFFO29CQUNELE9BQU8sRUFBRSxPQUFPO29CQUNoQixRQUFRLEVBQUUsZUFBZTtpQkFDMUIsRUFBRTtvQkFDRCxPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQzs7eUdBaEJVLFlBQVk7MEdBQVosWUFBWSxpQkFsRHJCLG1CQUFtQjtRQUNuQiw4QkFBOEI7UUFDOUIsbUJBQW1CO1FBQ25CLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsK0JBQStCO1FBQy9CLDBCQUEwQjtRQUMxQiwyQkFBMkI7UUFDM0IscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFDeEIsNEJBQTRCO1FBQzVCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsNEJBQTRCO1FBQzVCLGdDQUFnQztRQUNoQywyQkFBMkI7UUFDM0IsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0IsOEJBQThCO1FBQzlCLHdCQUF3QjtRQUN4Qiw4QkFBOEI7UUFDOUIsd0JBQXdCO1FBQ3hCLGlDQUFpQztRQUNqQyx1QkFBdUI7UUFDdkIsaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QixpQ0FBaUM7UUFDakMsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3Qix5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLDRCQUE0QjtRQUM1QixxQkFBcUI7UUFDckIsNkJBQTZCO1FBQzdCLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1QixzQkFBc0IsYUFwRXRCLGlCQUFpQjtRQUNqQixZQUFZO1FBQ1osUUFBUTtRQUNSLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixTQUFTO1FBQ1QsbUJBQW1CLGFBRVgsbUJBQW1CLEVBQUUscUJBQXFCOzBHQTJEekMsWUFBWSxhQTFEWixDQUFDLGFBQWEsRUFBRTtZQUN6QixPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsZUFBZTtTQUMxQixFQUFFO1lBQ0QsT0FBTyxFQUFFLGNBQWM7WUFDdkIsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDLFlBbkJBLFlBQVk7UUFDWixRQUFRO1FBQ1IsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLFNBQVM7UUFDVCxtQkFBbUI7MkZBNkRWLFlBQVk7a0JBMUV4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLFNBQVM7d0JBQ1QsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQztvQkFDckQsU0FBUyxFQUFFLENBQUMsYUFBYSxFQUFFOzRCQUN6QixPQUFPLEVBQUUsT0FBTzs0QkFDaEIsUUFBUSxFQUFFLGVBQWU7eUJBQzFCLEVBQUU7NEJBQ0QsT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFFBQVEsRUFBRSxFQUFFO3lCQUNiLENBQUM7b0JBQ0YsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFDbkIsOEJBQThCO3dCQUM5QixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2QiwrQkFBK0I7d0JBQy9CLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLGdDQUFnQzt3QkFDaEMsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZiwyQkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0IsNkJBQTZCO3dCQUM3Qiw4QkFBOEI7d0JBQzlCLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qix3QkFBd0I7d0JBQ3hCLGlDQUFpQzt3QkFDakMsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsaUNBQWlDO3dCQUNqQywwQkFBMEI7d0JBQzFCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLDZCQUE2Qjt3QkFDN0IseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIscUJBQXFCO3dCQUNyQiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLDRCQUE0Qjt3QkFDNUIsc0JBQXNCO3FCQUN2QjtvQkFDRCxlQUFlO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QU5BTFlaRV9GT1JfRU5UUllfQ09NUE9ORU5UUywgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFb0ZyYW1ld29ya01vZHVsZX0gZnJvbSAnLi4vZW8tZnJhbWV3b3JrLm1vZHVsZSc7XG5pbXBvcnQge1ByZXZlbnREb3VibGVDbGlja0RpcmVjdGl2ZX0gZnJvbSAnLi4vdXRpbC9kaXJlY3RpdmUvcHJldmVudC1kb3VibGUtY2xpY2suZGlyZWN0aXZlJztcbmltcG9ydCB7QUNUSU9OUywgQ1VTVE9NX0FDVElPTlMsIEFjdGlvblNlcnZpY2V9IGZyb20gJy4vYWN0aW9uLXNlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtBY3Rpb25NZW51Q29tcG9uZW50fSBmcm9tICcuL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VWlNb2R1bGV9IGZyb20gJy4uL3VpL3VpLm1vZHVsZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudEFuY2hvckRpcmVjdGl2ZX0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tY29tcG9uZW50LWFuY2hvci9hY3Rpb24tY29tcG9uZW50LWFuY2hvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtDb3B5QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY29weS1hY3Rpb24vY29weS1hY3Rpb24nO1xuaW1wb3J0IHtPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL29wZW4tY29udGV4dC1hY3Rpb24vb3Blbi1jb250ZXh0LWFjdGlvbic7XG5pbXBvcnQge0Rvd25sb2FkUGRmQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZG93bmxvYWQtcGRmLWFjdGlvbi9kb3dubG9hZC1wZGYtYWN0aW9uJztcbmltcG9ydCB7RG93bmxvYWRPcmlnaW5hbEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2Rvd25sb2FkLW9yaWdpbmFsLWFjdGlvbi9kb3dubG9hZC1vcmlnaW5hbC1hY3Rpb24nO1xuaW1wb3J0IHtEb3dubG9hZEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2Rvd25sb2FkLWFjdGlvbi9kb3dubG9hZC1hY3Rpb24nO1xuaW1wb3J0IHtPcGVuRG9jdW1lbnRDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9vcGVuLWRvY3VtZW50LWFjdGlvbi9vcGVuLWRvY3VtZW50LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtPcGVuRG9jdW1lbnRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9vcGVuLWRvY3VtZW50LWFjdGlvbi9vcGVuLWRvY3VtZW50LWFjdGlvbic7XG5pbXBvcnQge09iamVjdEZvcm1Nb2R1bGV9IGZyb20gJy4uL29iamVjdC1mb3JtL29iamVjdC1mb3JtLm1vZHVsZSc7XG5pbXBvcnQge0VtYWlsQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZW1haWwvZW1haWwtYWN0aW9uJztcbmltcG9ydCB7RW1haWxMaW5rQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZW1haWwvZW1haWwtbGluay1hY3Rpb24nO1xuaW1wb3J0IHtFbWFpbE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZW1haWwvZW1haWwtb3JpZ2luYWwtYWN0aW9uJztcbmltcG9ydCB7RW1haWxQZGZBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9lbWFpbC9lbWFpbC1wZGYtYWN0aW9uJztcbmltcG9ydCB7Q2xpcGJvYXJkTGlua0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2NsaXBib2FyZC9jbGlwYm9hcmQtbGluay1hY3Rpb24nO1xuaW1wb3J0IHtDbGlwYm9hcmRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLWFjdGlvbic7XG5pbXBvcnQge0NsaXBib2FyZE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY2xpcGJvYXJkL2NsaXBib2FyZC1vcmlnaW5hbC1hY3Rpb24nO1xuaW1wb3J0IHtDbGlwYm9hcmRQZGZBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLXBkZi1hY3Rpb24nO1xuaW1wb3J0IHtGYXZvcml0ZUFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2Zhdm9yaXRlLWFjdGlvbi9mYXZvcml0ZS1hY3Rpb24nO1xuaW1wb3J0IHtEZWxldGVBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS1hY3Rpb24nO1xuaW1wb3J0IHtEZWxldGVDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7T3BlblZlcnNpb25zQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvb3Blbi12ZXJzaW9ucy1hY3Rpb24vb3Blbi12ZXJzaW9ucy1hY3Rpb24nO1xuaW1wb3J0IHtSZXN0b3JlVmVyc2lvbkFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3Jlc3RvcmUtdmVyc2lvbi1hY3Rpb24vcmVzdG9yZS12ZXJzaW9uLWFjdGlvbic7XG5pbXBvcnQge0RlbGV0ZVByZXBhcmVkQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZGVsZXRlLWFjdGlvbi9kZWxldGUtcHJlcGFyZWQtYWN0aW9uJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtBZGRTdWJzY3JpcHRpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7QWRkU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24nO1xuaW1wb3J0IHtGb3JtRWxlbWVudHNNb2R1bGV9IGZyb20gJy4uL2Zvcm0tZWxlbWVudHMvZm9ybS1lbGVtZW50cy5tb2R1bGUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSZW1vdmVTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9yZW1vdmUtc3Vic2NyaXB0aW9uLWFjdGlvbi9yZW1vdmUtc3Vic2NyaXB0aW9uLWFjdGlvbic7XG5pbXBvcnQge1dvcmtmbG93QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3dvcmtmbG93LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtXb3JrZmxvd0NvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3dvcmtmbG93LWFjdGlvbi93b3JrZmxvdy93b3JrZmxvdy5jb21wb25lbnQnO1xuaW1wb3J0IHtDdXN0b21BY3Rpb25zQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY3VzdG9tLWFjdGlvbnMvY3VzdG9tLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7Q3RhTW9kdWxlfSBmcm9tICcuLi9jdGEvY3RhLm1vZHVsZSc7XG5pbXBvcnQge0FkZFJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uL2FkZC1yZXN1Ym1pc3Npb24tYWN0aW9uJztcbmltcG9ydCB7QWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1VwZGF0ZVJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3VwZGF0ZS1yZXN1Ym1pc3Npb24tYWN0aW9uL3VwZGF0ZS1yZXN1Ym1pc3Npb24tYWN0aW9uJztcbmltcG9ydCB7U2hhcmVPYmplY3RBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9zaGFyZS1vYmplY3QtYWN0aW9uL3NoYXJlLW9iamVjdC1hY3Rpb24nO1xuaW1wb3J0IHtTaGFyZU9iamVjdENvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3NoYXJlLW9iamVjdC1hY3Rpb24vc2hhcmUtb2JqZWN0L3NoYXJlLW9iamVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtDdXRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jdXQtYWN0aW9uL2N1dC1hY3Rpb24nO1xuaW1wb3J0IHtGaW5hbGl6ZUFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2ZpbmFsaXplL2ZpbmFsaXplLWFjdGlvbic7XG5pbXBvcnQge0RlZmluYWxpemVBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9maW5hbGl6ZS9kZWZpbmFsaXplLWFjdGlvbic7XG5pbXBvcnQge0RlbGV0ZUNvbnRlbnRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtY29udGVudC1hY3Rpb24vZGVsZXRlLWNvbnRlbnQtYWN0aW9uJztcbmltcG9ydCB7VW5sb2NrQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvdW5sb2NrLWFjdGlvbi91bmxvY2stYWN0aW9uJztcbmltcG9ydCB7U2ltcGxlV29ya2Zsb3dBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy93b3JrZmxvdy1hY3Rpb24vc2ltcGxlLXdvcmtmbG93LWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtQcm9jZXNzRm9ybU1vZHVsZX0gZnJvbSAnLi4vcHJvY2Vzcy1mb3JtL3Byb2Nlc3MtZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgRmluYWxpemVPYmplY3RBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2FjdGlvbnMvZmluYWxpemUvZmluYWxpemUtb2JqZWN0LWFjdGlvbi9maW5hbGl6ZS1vYmplY3QtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0RlbGV0ZUNvbnRlbnRDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtY29udGVudC1hY3Rpb24vZGVsZXRlLWNvbnRlbnQvZGVsZXRlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7U2lnbmF0dXJlQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvc2lnbmF0dXJlLWFjdGlvbi9zaWduYXR1cmUtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZ25hdHVyZUNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQnO1xuaW1wb3J0IHtDYW5jZWxTaWduaW5nQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY2FuY2VsLXNpZ25pbmctYWN0aW9uL2NhbmNlbC1zaWduaW5nLWFjdGlvbic7XG5pbXBvcnQge0NhbmNlbFNpZ25pbmdDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jYW5jZWwtc2lnbmluZy1hY3Rpb24vY2FuY2VsLXNpZ25pbmcvY2FuY2VsLXNpZ25pbmcuY29tcG9uZW50JztcbmltcG9ydCB7WXZjRGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2RhdGVwaWNrZXInO1xuaW1wb3J0IHtZdmNBdXRvZm9jdXNDaGlsZH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBlbnRyeUNvbXBvbmVudHMgPSBbXG4gIENvcHlBY3Rpb25Db21wb25lbnQsXG4gIE9wZW5Db250ZXh0QWN0aW9uQ29tcG9uZW50LFxuICBEb3dubG9hZEFjdGlvbkNvbXBvbmVudCxcbiAgRG93bmxvYWRPcmlnaW5hbEFjdGlvbkNvbXBvbmVudCxcbiAgRG93bmxvYWRQZGZBY3Rpb25Db21wb25lbnQsXG4gIE9wZW5Eb2N1bWVudEFjdGlvbkNvbXBvbmVudCxcbiAgT3BlbkRvY3VtZW50Q29tcG9uZW50LFxuICBFbWFpbEFjdGlvbkNvbXBvbmVudCxcbiAgRW1haWxMaW5rQWN0aW9uQ29tcG9uZW50LFxuICBFbWFpbE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50LFxuICBFbWFpbFBkZkFjdGlvbkNvbXBvbmVudCxcbiAgQ2xpcGJvYXJkQWN0aW9uQ29tcG9uZW50LFxuICBDbGlwYm9hcmRMaW5rQWN0aW9uQ29tcG9uZW50LFxuICBDbGlwYm9hcmRPcmlnaW5hbEFjdGlvbkNvbXBvbmVudCxcbiAgQ2xpcGJvYXJkUGRmQWN0aW9uQ29tcG9uZW50LFxuICBEZWxldGVBY3Rpb25Db21wb25lbnQsXG4gIERlbGV0ZUNvbXBvbmVudCxcbiAgT3BlblZlcnNpb25zQWN0aW9uQ29tcG9uZW50LFxuICBSZXN0b3JlVmVyc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgRGVsZXRlUHJlcGFyZWRBY3Rpb25Db21wb25lbnQsXG4gIEFkZFN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudCxcbiAgQWRkU3Vic2NyaXB0aW9uQ29tcG9uZW50LFxuICBSZW1vdmVTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQsXG4gIFdvcmtmbG93QWN0aW9uQ29tcG9uZW50LFxuICBXb3JrZmxvd0NvbXBvbmVudCxcbiAgQ3VzdG9tQWN0aW9uc0NvbXBvbmVudCxcbiAgQWRkUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50LFxuICBBZGRSZXN1Ym1pc3Npb25Db21wb25lbnQsXG4gIFVwZGF0ZVJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgU2hhcmVPYmplY3RBY3Rpb25Db21wb25lbnQsXG4gIFNoYXJlT2JqZWN0Q29tcG9uZW50LFxuICBDdXRBY3Rpb25Db21wb25lbnQsXG4gIEZpbmFsaXplQWN0aW9uQ29tcG9uZW50LFxuICBGaW5hbGl6ZU9iamVjdEFjdGlvbkNvbXBvbmVudCxcbiAgRGVmaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCxcbiAgRGVsZXRlQ29udGVudENvbXBvbmVudCxcbiAgRGVsZXRlQ29udGVudEFjdGlvbkNvbXBvbmVudCxcbiAgVW5sb2NrQWN0aW9uQ29tcG9uZW50LFxuICBTaW1wbGVXb3JrZmxvd0FjdGlvbkNvbXBvbmVudCxcbiAgU2lnbmF0dXJlQWN0aW9uQ29tcG9uZW50LFxuICBTaWduYXR1cmVDb21wb25lbnQsXG4gIENhbmNlbFNpZ25pbmdBY3Rpb25Db21wb25lbnQsXG4gIENhbmNlbFNpZ25pbmdDb21wb25lbnRcbl07XG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBNb2R1bGUgZm9yIHRoZSBhY3Rpb24gbWVudVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgWXZjQXV0b2ZvY3VzQ2hpbGQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBPYmplY3RGb3JtTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybUVsZW1lbnRzTW9kdWxlLFxuICAgIE9iamVjdEZvcm1Nb2R1bGUsXG4gICAgUHJvY2Vzc0Zvcm1Nb2R1bGUsXG4gICAgQ3RhTW9kdWxlLFxuICAgIFl2Y0RhdGVwaWNrZXJNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0FjdGlvbk1lbnVDb21wb25lbnQsIE9wZW5Eb2N1bWVudENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW0FjdGlvblNlcnZpY2UsIHtcbiAgICBwcm92aWRlOiBBQ1RJT05TLFxuICAgIHVzZVZhbHVlOiBlbnRyeUNvbXBvbmVudHNcbiAgfSwge1xuICAgIHByb3ZpZGU6IENVU1RPTV9BQ1RJT05TLFxuICAgIHVzZVZhbHVlOiBbXVxuICB9XSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQWN0aW9uTWVudUNvbXBvbmVudCxcbiAgICBBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmUsXG4gICAgQ29weUFjdGlvbkNvbXBvbmVudCxcbiAgICBPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudCxcbiAgICBEb3dubG9hZEFjdGlvbkNvbXBvbmVudCxcbiAgICBEb3dubG9hZE9yaWdpbmFsQWN0aW9uQ29tcG9uZW50LFxuICAgIERvd25sb2FkUGRmQWN0aW9uQ29tcG9uZW50LFxuICAgIE9wZW5Eb2N1bWVudEFjdGlvbkNvbXBvbmVudCxcbiAgICBPcGVuRG9jdW1lbnRDb21wb25lbnQsXG4gICAgRW1haWxBY3Rpb25Db21wb25lbnQsXG4gICAgRW1haWxMaW5rQWN0aW9uQ29tcG9uZW50LFxuICAgIEVtYWlsT3JpZ2luYWxBY3Rpb25Db21wb25lbnQsXG4gICAgRW1haWxQZGZBY3Rpb25Db21wb25lbnQsXG4gICAgQ2xpcGJvYXJkQWN0aW9uQ29tcG9uZW50LFxuICAgIENsaXBib2FyZExpbmtBY3Rpb25Db21wb25lbnQsXG4gICAgQ2xpcGJvYXJkT3JpZ2luYWxBY3Rpb25Db21wb25lbnQsXG4gICAgQ2xpcGJvYXJkUGRmQWN0aW9uQ29tcG9uZW50LFxuICAgIEZhdm9yaXRlQWN0aW9uQ29tcG9uZW50LFxuICAgIERlbGV0ZUFjdGlvbkNvbXBvbmVudCxcbiAgICBEZWxldGVDb21wb25lbnQsXG4gICAgT3BlblZlcnNpb25zQWN0aW9uQ29tcG9uZW50LFxuICAgIFJlc3RvcmVWZXJzaW9uQWN0aW9uQ29tcG9uZW50LFxuICAgIERlbGV0ZVByZXBhcmVkQWN0aW9uQ29tcG9uZW50LFxuICAgIEFkZFN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudCxcbiAgICBBZGRTdWJzY3JpcHRpb25Db21wb25lbnQsXG4gICAgQWRkUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50LFxuICAgIEFkZFJlc3VibWlzc2lvbkNvbXBvbmVudCxcbiAgICBSZW1vdmVTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQsXG4gICAgV29ya2Zsb3dBY3Rpb25Db21wb25lbnQsXG4gICAgV29ya2Zsb3dDb21wb25lbnQsXG4gICAgQ3VzdG9tQWN0aW9uc0NvbXBvbmVudCxcbiAgICBVcGRhdGVSZXN1Ym1pc3Npb25BY3Rpb25Db21wb25lbnQsXG4gICAgU2hhcmVPYmplY3RBY3Rpb25Db21wb25lbnQsXG4gICAgU2hhcmVPYmplY3RDb21wb25lbnQsXG4gICAgQ3V0QWN0aW9uQ29tcG9uZW50LFxuICAgIEZpbmFsaXplQWN0aW9uQ29tcG9uZW50LFxuICAgIEZpbmFsaXplT2JqZWN0QWN0aW9uQ29tcG9uZW50LFxuICAgIERlZmluYWxpemVBY3Rpb25Db21wb25lbnQsXG4gICAgRGVsZXRlQ29udGVudENvbXBvbmVudCxcbiAgICBEZWxldGVDb250ZW50QWN0aW9uQ29tcG9uZW50LFxuICAgIFVubG9ja0FjdGlvbkNvbXBvbmVudCxcbiAgICBTaW1wbGVXb3JrZmxvd0FjdGlvbkNvbXBvbmVudCxcbiAgICBQcmV2ZW50RG91YmxlQ2xpY2tEaXJlY3RpdmUsXG4gICAgU2lnbmF0dXJlQWN0aW9uQ29tcG9uZW50LFxuICAgIFNpZ25hdHVyZUNvbXBvbmVudCxcbiAgICBDYW5jZWxTaWduaW5nQWN0aW9uQ29tcG9uZW50LFxuICAgIENhbmNlbFNpZ25pbmdDb21wb25lbnRcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbXBvbmVudHM6IGFueVtdID0gW10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFjdGlvbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQWN0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBBTkFMWVpFX0ZPUl9FTlRSWV9DT01QT05FTlRTLFxuICAgICAgICB1c2VWYWx1ZTogY29tcG9uZW50cyxcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB9LCB7XG4gICAgICAgIHByb3ZpZGU6IEFDVElPTlMsXG4gICAgICAgIHVzZVZhbHVlOiBlbnRyeUNvbXBvbmVudHNcbiAgICAgIH0sIHtcbiAgICAgICAgcHJvdmlkZTogQ1VTVE9NX0FDVElPTlMsXG4gICAgICAgIHVzZVZhbHVlOiBjb21wb25lbnRzXG4gICAgICB9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -3,7 +3,6 @@ import { Component, EventEmitter, ViewChild } from '@angular/core';
3
3
  import { Input, Output } from '@angular/core';
4
4
  import { Validators } from '@angular/forms';
5
5
  import { catchError } from 'rxjs/operators';
6
- import * as moment_ from 'moment';
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "@eo-sdk/core";
9
8
  import * as i2 from "@angular/forms";
@@ -15,7 +14,6 @@ import * as i7 from "../../../../form-elements/form-input/form-input.component";
15
14
  import * as i8 from "../../../../form-elements/checkbox/checkbox.component";
16
15
  import * as i9 from "../../../../form-elements/string/string.component";
17
16
  import * as i10 from "@yuuvis/components/datepicker";
18
- const moment = moment_;
19
17
  export class AddResubmissionComponent {
20
18
  get hasEmail() {
21
19
  return this.userService.getCurrentUser().email && this.userService.getCurrentUser().email.length;
@@ -31,7 +29,7 @@ export class AddResubmissionComponent {
31
29
  createResubmissionForm() {
32
30
  this.addResubmissionForm = this.fb.group({
33
31
  titleFieldFCN: [this.createTitle(this.selection[0])],
34
- dueFieldFCN: [moment().add(2, 'weeks')],
32
+ dueFieldFCN: [],
35
33
  inboxCbFCN: [true],
36
34
  emailCbFCN: [false],
37
35
  }, {
@@ -174,9 +172,9 @@ export class AddResubmissionComponent {
174
172
  this.inboxCbLabel = this.translate.instant('eo.resubmission.field.notification.inbox');
175
173
  this.emailCbLabel = this.translate.instant('eo.resubmission.field.notification.email');
176
174
  this.createResubmissionForm();
177
- setTimeout(() => {
178
- this.titleField.nativeElement.getElementsByTagName('input')[0].select();
179
- });
175
+ }
176
+ ngAfterViewInit() {
177
+ this.titleField.nativeElement.getElementsByTagName('input')[0].select();
180
178
  }
181
179
  }
182
180
  AddResubmissionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AddResubmissionComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i1.UserService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
@@ -194,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
194
192
  }], canceled: [{
195
193
  type: Output
196
194
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlc3VibWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbi9hZGQtcmVzdWJtaXNzaW9uL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLFNBQVMsRUFBVSxZQUFZLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBbUIsVUFBVSxFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBRWhGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRWxDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQU92QixNQUFNLE9BQU8sd0JBQXdCO0lBS25DLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ25HLENBQUM7SUFhRCxZQUFvQixTQUEyQixFQUMzQixHQUFl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QUssQ0FBQztJQUNqSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFFdkYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFFLENBQUMsQ0FBRSxDQUFDO0lBQ04sQ0FBQzs7cUhBbk1VLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGdSQ2hCckMscXdFQXdDQTsyRkR4QmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjsyTEFNdEIsU0FBUztzQkFBakIsS0FBSztnQkFDbUMsVUFBVTtzQkFBbEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQU03QixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZvcmtKb2luLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24tY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge0lucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUJ1aWxkZXJ9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgRG1zT2JqZWN0LCBVc2VyU2VydmljZSwgRG1zU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7Y2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hZGQtcmVzdWJtaXNzaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHNlbGVjdGlvbjogRG1zT2JqZWN0W107XG4gIEBWaWV3Q2hpbGQoJ3RpdGxlRmllbGQnLCB7c3RhdGljOiB0cnVlfSkgdGl0bGVGaWVsZCA6IEVsZW1lbnRSZWY8YW55PjtcblxuICBnZXQgaGFzRW1haWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5lbWFpbCAmJiB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkuZW1haWwubGVuZ3RoO1xuICB9XG5cbiAgQE91dHB1dCgpIGZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2FuY2VsZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgaGVhZGVyOiBzdHJpbmc7XG4gIGFkZFJlc3VibWlzc2lvbkZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIGR1ZUZpZWxkTGFiZWw6IHN0cmluZztcbiAgdGl0bGVGaWVsZExhYmVsOiBzdHJpbmc7XG4gIGluYm94Q2JMYWJlbDogc3RyaW5nO1xuICBlbWFpbENiTGFiZWw6IHN0cmluZztcbiAgcHJvY2Vzc2luZzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkbXM6IERtc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIGNyZWF0ZVJlc3VibWlzc2lvbkZvcm0oKSB7XG4gICAgdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB0aXRsZUZpZWxkRkNOOiBbdGhpcy5jcmVhdGVUaXRsZSh0aGlzLnNlbGVjdGlvblswXSldLFxuICAgICAgZHVlRmllbGRGQ046IFttb21lbnQoKS5hZGQoMiwgJ3dlZWtzJyldLFxuICAgICAgaW5ib3hDYkZDTjogW3RydWVdLFxuICAgICAgZW1haWxDYkZDTjogW2ZhbHNlXSxcbiAgICB9LCB7XG4gICAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdG9yKCdpbmJveENiRkNOJywgJ2VtYWlsQ2JGQ04nKSxcbiAgICAgICAgdGhpcy5kdWVEYXRlVmFsaWRhdG9yKCdkdWVGaWVsZEZDTicpXG4gICAgICBdKVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtLmNvbnRyb2xzWyd0aXRsZUZpZWxkRkNOJ10uc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEZvcm1WYWx1ZXModGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtLmNvbnRyb2xzLCB0aGlzLnNlbGVjdGlvblswXSk7XG4gIH1cblxuICBzZXRGb3JtVmFsdWVzKGNvbnRyb2xzLCBzZWxlY3Rpb246IERtc09iamVjdCkge1xuICAgIGlmIChzZWxlY3Rpb24ucmVzdWJtaXNzaW9ucy5sZW5ndGgpIHtcbiAgICAgIC8vIGlmIHJlc3VibWlzc2lvbnMgYXJyYXkgaXNuJ3QgZW1wdHksIGl0J3MgYW4gdXBkYXRlXG4gICAgICBjb25zdCB7aW5mbywgZHVlLCBvbmx5ZW1haWwsIGVtYWlsfSA9IHNlbGVjdGlvbi5yZXN1Ym1pc3Npb25zWzBdO1xuICAgICAgdGhpcy5oZWFkZXIgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QuaW5saW5lbWVudS5lZGl0cmVzdWJtaXNzaW9uJyk7XG4gICAgICB0aGlzLnBhdGNoRm9ybShpbmZvLCBuZXcgRGF0ZShgJHtkdWV9YCksICFvbmx5ZW1haWwsIGVtYWlsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oZWFkZXIgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QuaW5saW5lbWVudS5hZGRyZXN1Ym1pc3Npb24nKTtcbiAgICB9XG4gIH1cblxuICBwYXRjaEZvcm0odGl0bGVGaWVsZEZDTiwgZHVlRmllbGRGQ04sIGluYm94Q2JGQ04sIGVtYWlsQ2JGQ04gPSBmYWxzZSkge1xuICAgIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS5zZXRWYWx1ZSh7dGl0bGVGaWVsZEZDTiwgZHVlRmllbGRGQ04sIGluYm94Q2JGQ04sIGVtYWlsQ2JGQ059KTtcbiAgfVxuXG4gIGdldCB0aXRsZVZhbGlkaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0uZ2V0KCd0aXRsZUZpZWxkRkNOJykuaW52YWxpZDtcbiAgfVxuXG4gIHByaXZhdGUgZHVlRGF0ZVZhbGlkYXRvcihkdWVEYXRlKSB7XG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICByZXR1cm4gKGdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSA9PiB7XG4gICAgICBpZiAoZ3JvdXAuY29udHJvbHNbZHVlRGF0ZV0udmFsdWUgPiBub3cpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4geydkdWVEYXRlJzogdHJ1ZX1cbiAgICB9XG4gIH1cblxuICBnZXQgZGF0ZVZhbGlkYXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qge2Vycm9ycywgY29udHJvbHN9ID0gdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtO1xuICAgIGxldCBkYXRlVmFsaWRhdGlvbkVycm9yID0gZmFsc2U7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgZGF0ZVZhbGlkYXRpb25FcnJvciA9IChjb250cm9scy5kdWVGaWVsZEZDTi50b3VjaGVkIHx8IGNvbnRyb2xzLmR1ZUZpZWxkRkNOLmRpcnR5KSAmJiBlcnJvcnMuZHVlRGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGVWYWxpZGF0aW9uRXJyb3I7XG4gIH1cblxuICBwcml2YXRlIG5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRvcihpbmJveENiRkNOLCBlbWFpbENiRkNOKSB7XG4gICAgcmV0dXJuIChncm91cDogVW50eXBlZEZvcm1Hcm91cCkgPT4ge1xuICAgICAgaWYgKGdyb3VwLmNvbnRyb2xzW2luYm94Q2JGQ05dLnZhbHVlIHx8IGdyb3VwLmNvbnRyb2xzW2VtYWlsQ2JGQ05dLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsnbm90aWZpY2F0aW9uTWV0aG9kJzogdHJ1ZX1cbiAgICB9XG4gIH1cblxuICBnZXQgbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCB7ZXJyb3JzfSA9IHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybTtcbiAgICBsZXQgbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvbkVycm9yID0gZmFsc2U7XG4gICAgaWYgKGVycm9ycykge1xuICAgICAgbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvbkVycm9yID0gZXJyb3JzLm5vdGlmaWNhdGlvbk1ldGhvZDtcbiAgICB9XG4gICAgcmV0dXJuIG5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRpb25FcnJvcjtcbiAgfVxuXG4gIGNyZWF0ZVJlc3VibWlzc2lvbigpIHtcbiAgICBjb25zdCB7dGl0bGVGaWVsZEZDTiwgZHVlRmllbGRGQ04sIGluYm94Q2JGQ04sIGVtYWlsQ2JGQ046IHNlbmRFbWFpbH0gPSB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0udmFsdWU7XG4gICAgY29uc3Qgb25seUVtYWlsID0gdGhpcy5oYXNFbWFpbCA/IHNlbmRFbWFpbCAmJiAhaW5ib3hDYkZDTiA6IGZhbHNlO1xuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBjcmVhdGVUYXNrcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0aW9uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSA/IHRpdGxlRmllbGRGQ04gOiB0aGlzLmNyZWF0ZVRpdGxlKGl0ZW0pO1xuICAgICAgY3JlYXRlVGFza3MucHVzaCh0aGlzLmRtcy5jcmVhdGVSZXN1Ym1pc3Npb24oaXRlbSwgdGl0bGUsIGR1ZUZpZWxkRkNOLCB1bmRlZmluZWQsIHNlbmRFbWFpbCwgb25seUVtYWlsKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyBldmVuIGluIGNhc2Ugb2lmIGFuIGVycm9yIHJldHVybiBzb21ldGhpbmcgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHdob2xlIGZvcmtKb2luIHdpbGwgZmFpbFxuICAgICAgICAgIC8vIHRvZG86IG1heWJlIGFkZCBzb21lIGVycm9yIG5vdGlmaWNhdGlvbiB0aGF0IHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgICAgICAgY2F0Y2hFcnJvcihlID0+IG9mKG51bGwpXG4gICAgICAgICAgKVxuICAgICAgICApKTtcbiAgICB9KTtcbiAgICBpZiAoY3JlYXRlVGFza3MubGVuZ3RoKSB7XG4gICAgICBmb3JrSm9pbihjcmVhdGVUYXNrcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJlc3VibWlzc2lvbigpIHtcbiAgICBjb25zdCB7dGl0bGVGaWVsZEZDTiwgZHVlRmllbGRGQ04sIGluYm94Q2JGQ04sIGVtYWlsQ2JGQ046IHNlbmRFbWFpbH0gPSB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0udmFsdWU7XG4gICAgY29uc3Qgb25seUVtYWlsID0gdGhpcy5oYXNFbWFpbCA/IHNlbmRFbWFpbCAmJiAhaW5ib3hDYkZDTiA6IGZhbHNlO1xuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICBjb25zdCB1cGRhdGVUYXNrcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0aW9uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSA/IHRpdGxlRmllbGRGQ04gOiB0aGlzLmNyZWF0ZVRpdGxlKGl0ZW0pO1xuICAgICAgdXBkYXRlVGFza3MucHVzaCh0aGlzLmRtcy51cGRhdGVSZXN1Ym1pc3Npb24oaXRlbSwgdGl0bGUsIGR1ZUZpZWxkRkNOLCB1bmRlZmluZWQsIHNlbmRFbWFpbCwgb25seUVtYWlsKS5waXBlKFxuICAgICAgICAvLyBldmVuIGluIGNhc2Ugb2lmIGFuIGVycm9yIHJldHVybiBzb21ldGhpbmcgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHdob2xlIGZvcmtKb2luIHdpbGwgZmFpbFxuICAgICAgICAvLyB0b2RvOiBtYXliZSBhZGQgc29tZSBlcnJvciBub3RpZmljYXRpb24gdGhhdCBzb21ldGhpbmcgd2VudCB3cm9uZ1xuICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpXG4gICAgICApKTtcbiAgICB9KTtcbiAgICBpZiAodXBkYXRlVGFza3MubGVuZ3RoKSB7XG4gICAgICBmb3JrSm9pbih1cGRhdGVUYXNrcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZmluaXNoZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVJlc3VibWlzc2lvbigpIHtcbiAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHJlbW92ZVRhc2tzID0gW107XG4gICAgdGhpcy5zZWxlY3Rpb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIHJlbW92ZVRhc2tzLnB1c2godGhpcy5kbXMucmVtb3ZlUmVzdWJtaXNzaW9uc0J5SWQoaXRlbS5pZCwgaXRlbSlcbiAgICAgIC8vIGV2ZW4gaW4gY2FzZSBvaWYgYW4gZXJyb3IgcmV0dXJuIHNvbWV0aGluZyBiZWNhdXNlIG90aGVyd2lzZSB0aGUgd2hvbGUgZm9ya0pvaW4gd2lsbCBmYWlsXG4gICAgICAvLyB0b2RvOiBtYXliZSBhZGQgc29tZSBlcnJvciBub3RpZmljYXRpb24gdGhhdCBzb21ldGhpbmcgd2VudCB3cm9uZ1xuICAgICAgICAucGlwZShjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpKSk7XG4gICAgfSk7XG4gICAgaWYgKHJlbW92ZVRhc2tzLmxlbmd0aCkge1xuICAgICAgZm9ya0pvaW4ocmVtb3ZlVGFza3MpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRpdGxlKGl0ZW06IERtc09iamVjdCkge1xuICAgIHJldHVybiBpdGVtLmlzQ29udGV4dEZvbGRlciAmJiBpdGVtLmNvbnRleHRGb2xkZXIgPyBgJHtpdGVtLmNvbnRleHRGb2xkZXIudGl0bGV9ID4gJHtpdGVtLnRpdGxlfWAgOiBpdGVtLnRpdGxlO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsZWQuZW1pdCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kdWVGaWVsZExhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVzdWJtaXNzaW9uLmZpZWxkLmR1ZScpO1xuICAgIHRoaXMudGl0bGVGaWVsZExhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVzdWJtaXNzaW9uLmZpZWxkLmluZm8nKTtcbiAgICB0aGlzLmluYm94Q2JMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlc3VibWlzc2lvbi5maWVsZC5ub3RpZmljYXRpb24uaW5ib3gnKTtcbiAgICB0aGlzLmVtYWlsQ2JMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlc3VibWlzc2lvbi5maWVsZC5ub3RpZmljYXRpb24uZW1haWwnKTtcblxuICAgIHRoaXMuY3JlYXRlUmVzdWJtaXNzaW9uRm9ybSgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50aXRsZUZpZWxkLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JylbMF0uc2VsZWN0KCk7XG4gICAgfSwpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1yZXN1Ym1pc3Npb25cIiBlb1RyYXBGb2N1cz5cbiAgPGgyPnt7aGVhZGVyfX08L2gyPlxuICA8Zm9ybSAjdGl0bGVGaWVsZCBbZm9ybUdyb3VwXT1cImFkZFJlc3VibWlzc2lvbkZvcm1cIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImR1ZUZpZWxkTGFiZWxcIj5cbiAgICAgIDx5dmMtZGF0ZXBpY2tlciBbd2l0aFRpbWVdPVwidHJ1ZVwiIFtvbmx5RnV0dXJlRGF0ZXNdPVwidHJ1ZVwiIFxuICAgICAgW2NhbGVuZGFyXT1cInRydWVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZHVlRmllbGRGQ05cIj48L3l2Yy1kYXRlcGlja2VyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cInRpdGxlRmllbGRMYWJlbFwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2ludmFsaWRdPVwidGl0bGVWYWxpZGl0eVwiICpuZ0lmPVwic2VsZWN0aW9uLmxlbmd0aCA9PT0gMVwiPlxuICAgICAgPGVvLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZUZpZWxkRkNOXCI+PC9lby1zdHJpbmc+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJ0aXRsZVZhbGlkaXR5XCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJpbmJveENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJpbmJveENiRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJlbWFpbENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbENiRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cIiFoYXNFbWFpbFwiPjwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Zvcm0+XG5cbiAgPCEtLSBlcnJvci92YWxpZGF0aW9uIG1lc3NhZ2VzIC0tPlxuICA8ZGl2IGNsYXNzPVwiZXJyb3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cIm5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRpb25cIiB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmVycm9yLm1zZzwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJkYXRlVmFsaWRhdGlvblwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uZXJyb3IubXNnLmRhdGU8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uc1wiICpuZ0lmPVwiIXByb2Nlc3Npbmc7IGVsc2UgaW5kaWNhdG9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uY2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiICpuZ0lmPVwic2VsZWN0aW9uWzBdLnJlc3VibWlzc2lvbnMubGVuZ3RoXCIgKGNsaWNrKT1cInJlbW92ZVJlc3VibWlzc2lvbigpXCIgdHJhbnNsYXRlPmVvLnJlc3VibWlzc2lvbi5kZWxldGU8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJhZGRSZXN1Ym1pc3Npb25Gb3JtLmVycm9ycyB8fCB0aXRsZVZhbGlkaXR5XCIgKm5nSWY9XCJzZWxlY3Rpb25bMF0ucmVzdWJtaXNzaW9ucy5sZW5ndGhcIiAoY2xpY2spPVwidXBkYXRlUmVzdWJtaXNzaW9uKClcIiB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmFwcGx5PC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiYWRkUmVzdWJtaXNzaW9uRm9ybS5lcnJvcnMgfHwgdGl0bGVWYWxpZGl0eVwiICpuZ0lmPVwiIXNlbGVjdGlvblswXS5yZXN1Ym1pc3Npb25zLmxlbmd0aFwiIChjbGljayk9XCJjcmVhdGVSZXN1Ym1pc3Npb24oKVwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uYWRkPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjaW5kaWNhdG9yPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLWluZGljYXRvclwiPjxlby1pY29uIFtpY29uU3JjXT1cIidpY19raXR0LWxvYWRlci5zdmcnXCI+PC9lby1pY29uPjwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbiJdfQ==
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlc3VibWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbi9hZGQtcmVzdWJtaXNzaW9uL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLFNBQVMsRUFBVSxZQUFZLEVBQUUsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQW1CLFVBQVUsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQU8xQyxNQUFNLE9BQU8sd0JBQXdCO0lBS25DLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ25HLENBQUM7SUFhRCxZQUFvQixTQUEyQixFQUNyQyxHQUFlLEVBQ2YsV0FBd0IsRUFDeEIsRUFBc0I7UUFIWixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFkdEIsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RELGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQWNoRSxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN2QyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRCxXQUFXLEVBQUUsRUFBRTtZQUNmLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNsQixVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDcEIsRUFBRTtZQUNELFNBQVMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUM1QixJQUFJLENBQUMsMkJBQTJCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztnQkFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQzthQUNyQyxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3ZGO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQVEsRUFBRSxTQUFvQjtRQUMxQyxJQUFJLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ2xDLHFEQUFxRDtZQUNyRCxNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzdEO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7U0FDOUU7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQ2xFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQy9ELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFPO1FBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtZQUNqQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRTtnQkFDdkMsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUE7UUFDMUIsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixNQUFNLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRCxJQUFJLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLE1BQU0sRUFBRTtZQUNWLG1CQUFtQixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ3RHO1FBQ0QsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRU8sMkJBQTJCLENBQUMsVUFBVSxFQUFFLFVBQVU7UUFDeEQsT0FBTyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtZQUNqQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUN4RSxPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsT0FBTyxFQUFDLG9CQUFvQixFQUFFLElBQUksRUFBQyxDQUFBO1FBQ3JDLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJLDRCQUE0QjtRQUM5QixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQzFDLElBQUksaUNBQWlDLEdBQUcsS0FBSyxDQUFDO1FBQzlDLElBQUksTUFBTSxFQUFFO1lBQ1YsaUNBQWlDLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDO1NBQy9EO1FBQ0QsT0FBTyxpQ0FBaUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sRUFBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUN2RyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVuRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkYsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO2lCQUNwRyxJQUFJO1lBQ0gsNEZBQTRGO1lBQzVGLG9FQUFvRTtZQUNwRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ3ZCLENBQ0YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FDQSxDQUFBO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sRUFBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUN2RyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVuRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkYsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSTtZQUMxRyw0RkFBNEY7WUFDNUYsb0VBQW9FO1lBQ3BFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUN0QixRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsQ0FBQyxDQUNBLENBQUE7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVCLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQztnQkFDOUQsNEZBQTRGO2dCQUM1RixvRUFBb0U7aUJBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FDQSxDQUFBO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQWU7UUFDakMsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2pILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUV2RixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFFLENBQUM7O3FIQXBNVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixnUkNickMscXdFQXdDQTsyRkQzQmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjsyTEFNdEIsU0FBUztzQkFBakIsS0FBSztnQkFDbUMsVUFBVTtzQkFBbEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQU03QixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZvcmtKb2luLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24tY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge0lucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUJ1aWxkZXJ9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgRG1zT2JqZWN0LCBVc2VyU2VydmljZSwgRG1zU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7Y2F0Y2hFcnJvcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hZGQtcmVzdWJtaXNzaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtcmVzdWJtaXNzaW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBY3Rpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHNlbGVjdGlvbjogRG1zT2JqZWN0W107XG4gIEBWaWV3Q2hpbGQoJ3RpdGxlRmllbGQnLCB7c3RhdGljOiB0cnVlfSkgdGl0bGVGaWVsZDogRWxlbWVudFJlZjxhbnk+O1xuXG4gIGdldCBoYXNFbWFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLmVtYWlsICYmIHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5lbWFpbC5sZW5ndGg7XG4gIH1cblxuICBAT3V0cHV0KCkgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBoZWFkZXI6IHN0cmluZztcbiAgYWRkUmVzdWJtaXNzaW9uRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZHVlRmllbGRMYWJlbDogc3RyaW5nO1xuICB0aXRsZUZpZWxkTGFiZWw6IHN0cmluZztcbiAgaW5ib3hDYkxhYmVsOiBzdHJpbmc7XG4gIGVtYWlsQ2JMYWJlbDogc3RyaW5nO1xuICBwcm9jZXNzaW5nOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZG1zOiBEbXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcikge1xuICB9XG5cbiAgY3JlYXRlUmVzdWJtaXNzaW9uRm9ybSgpIHtcbiAgICB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHRpdGxlRmllbGRGQ046IFt0aGlzLmNyZWF0ZVRpdGxlKHRoaXMuc2VsZWN0aW9uWzBdKV0sXG4gICAgICBkdWVGaWVsZEZDTjogW10sXG4gICAgICBpbmJveENiRkNOOiBbdHJ1ZV0sXG4gICAgICBlbWFpbENiRkNOOiBbZmFsc2VdLFxuICAgIH0sIHtcbiAgICAgIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25NZXRob2RWYWxpZGF0b3IoJ2luYm94Q2JGQ04nLCAnZW1haWxDYkZDTicpLFxuICAgICAgICB0aGlzLmR1ZURhdGVWYWxpZGF0b3IoJ2R1ZUZpZWxkRkNOJylcbiAgICAgIF0pXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0uY29udHJvbHNbJ3RpdGxlRmllbGRGQ04nXS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0Rm9ybVZhbHVlcyh0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm0uY29udHJvbHMsIHRoaXMuc2VsZWN0aW9uWzBdKTtcbiAgfVxuXG4gIHNldEZvcm1WYWx1ZXMoY29udHJvbHMsIHNlbGVjdGlvbjogRG1zT2JqZWN0KSB7XG4gICAgaWYgKHNlbGVjdGlvbi5yZXN1Ym1pc3Npb25zLmxlbmd0aCkge1xuICAgICAgLy8gaWYgcmVzdWJtaXNzaW9ucyBhcnJheSBpc24ndCBlbXB0eSwgaXQncyBhbiB1cGRhdGVcbiAgICAgIGNvbnN0IHtpbmZvLCBkdWUsIG9ubHllbWFpbCwgZW1haWx9ID0gc2VsZWN0aW9uLnJlc3VibWlzc2lvbnNbMF07XG4gICAgICB0aGlzLmhlYWRlciA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLm9iamVjdC5pbmxpbmVtZW51LmVkaXRyZXN1Ym1pc3Npb24nKTtcbiAgICAgIHRoaXMucGF0Y2hGb3JtKGluZm8sIG5ldyBEYXRlKGAke2R1ZX1gKSwgIW9ubHllbWFpbCwgZW1haWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlYWRlciA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLm9iamVjdC5pbmxpbmVtZW51LmFkZHJlc3VibWlzc2lvbicpO1xuICAgIH1cbiAgfVxuXG4gIHBhdGNoRm9ybSh0aXRsZUZpZWxkRkNOLCBkdWVGaWVsZEZDTiwgaW5ib3hDYkZDTiwgZW1haWxDYkZDTiA9IGZhbHNlKSB7XG4gICAgdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtLnNldFZhbHVlKHt0aXRsZUZpZWxkRkNOLCBkdWVGaWVsZEZDTiwgaW5ib3hDYkZDTiwgZW1haWxDYkZDTn0pO1xuICB9XG5cbiAgZ2V0IHRpdGxlVmFsaWRpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS5nZXQoJ3RpdGxlRmllbGRGQ04nKS5pbnZhbGlkO1xuICB9XG5cbiAgcHJpdmF0ZSBkdWVEYXRlVmFsaWRhdG9yKGR1ZURhdGUpIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIHJldHVybiAoZ3JvdXA6IFVudHlwZWRGb3JtR3JvdXApID0+IHtcbiAgICAgIGlmIChncm91cC5jb250cm9sc1tkdWVEYXRlXS52YWx1ZSA+IG5vdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7J2R1ZURhdGUnOiB0cnVlfVxuICAgIH1cbiAgfVxuXG4gIGdldCBkYXRlVmFsaWRhdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCB7ZXJyb3JzLCBjb250cm9sc30gPSB0aGlzLmFkZFJlc3VibWlzc2lvbkZvcm07XG4gICAgbGV0IGRhdGVWYWxpZGF0aW9uRXJyb3IgPSBmYWxzZTtcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICBkYXRlVmFsaWRhdGlvbkVycm9yID0gKGNvbnRyb2xzLmR1ZUZpZWxkRkNOLnRvdWNoZWQgfHwgY29udHJvbHMuZHVlRmllbGRGQ04uZGlydHkpICYmIGVycm9ycy5kdWVEYXRlO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZVZhbGlkYXRpb25FcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdG9yKGluYm94Q2JGQ04sIGVtYWlsQ2JGQ04pIHtcbiAgICByZXR1cm4gKGdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSA9PiB7XG4gICAgICBpZiAoZ3JvdXAuY29udHJvbHNbaW5ib3hDYkZDTl0udmFsdWUgfHwgZ3JvdXAuY29udHJvbHNbZW1haWxDYkZDTl0udmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4geydub3RpZmljYXRpb25NZXRob2QnOiB0cnVlfVxuICAgIH1cbiAgfVxuXG4gIGdldCBub3RpZmljYXRpb25NZXRob2RWYWxpZGF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHtlcnJvcnN9ID0gdGhpcy5hZGRSZXN1Ym1pc3Npb25Gb3JtO1xuICAgIGxldCBub3RpZmljYXRpb25NZXRob2RWYWxpZGF0aW9uRXJyb3IgPSBmYWxzZTtcbiAgICBpZiAoZXJyb3JzKSB7XG4gICAgICBub3RpZmljYXRpb25NZXRob2RWYWxpZGF0aW9uRXJyb3IgPSBlcnJvcnMubm90aWZpY2F0aW9uTWV0aG9kO1xuICAgIH1cbiAgICByZXR1cm4gbm90aWZpY2F0aW9uTWV0aG9kVmFsaWRhdGlvbkVycm9yO1xuICB9XG5cbiAgY3JlYXRlUmVzdWJtaXNzaW9uKCkge1xuICAgIGNvbnN0IHt0aXRsZUZpZWxkRkNOLCBkdWVGaWVsZEZDTiwgaW5ib3hDYkZDTiwgZW1haWxDYkZDTjogc2VuZEVtYWlsfSA9IHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS52YWx1ZTtcbiAgICBjb25zdCBvbmx5RW1haWwgPSB0aGlzLmhhc0VtYWlsID8gc2VuZEVtYWlsICYmICFpbmJveENiRkNOIDogZmFsc2U7XG5cbiAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xuICAgIGNvbnN0IGNyZWF0ZVRhc2tzID0gW107XG4gICAgdGhpcy5zZWxlY3Rpb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSAxID8gdGl0bGVGaWVsZEZDTiA6IHRoaXMuY3JlYXRlVGl0bGUoaXRlbSk7XG4gICAgICBjcmVhdGVUYXNrcy5wdXNoKHRoaXMuZG1zLmNyZWF0ZVJlc3VibWlzc2lvbihpdGVtLCB0aXRsZSwgZHVlRmllbGRGQ04sIHVuZGVmaW5lZCwgc2VuZEVtYWlsLCBvbmx5RW1haWwpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIGV2ZW4gaW4gY2FzZSBvaWYgYW4gZXJyb3IgcmV0dXJuIHNvbWV0aGluZyBiZWNhdXNlIG90aGVyd2lzZSB0aGUgd2hvbGUgZm9ya0pvaW4gd2lsbCBmYWlsXG4gICAgICAgICAgLy8gdG9kbzogbWF5YmUgYWRkIHNvbWUgZXJyb3Igbm90aWZpY2F0aW9uIHRoYXQgc29tZXRoaW5nIHdlbnQgd3JvbmdcbiAgICAgICAgICBjYXRjaEVycm9yKGUgPT4gb2YobnVsbClcbiAgICAgICAgICApXG4gICAgICAgICkpO1xuICAgIH0pO1xuICAgIGlmIChjcmVhdGVUYXNrcy5sZW5ndGgpIHtcbiAgICAgIGZvcmtKb2luKGNyZWF0ZVRhc2tzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgICB9XG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUmVzdWJtaXNzaW9uKCkge1xuICAgIGNvbnN0IHt0aXRsZUZpZWxkRkNOLCBkdWVGaWVsZEZDTiwgaW5ib3hDYkZDTiwgZW1haWxDYkZDTjogc2VuZEVtYWlsfSA9IHRoaXMuYWRkUmVzdWJtaXNzaW9uRm9ybS52YWx1ZTtcbiAgICBjb25zdCBvbmx5RW1haWwgPSB0aGlzLmhhc0VtYWlsID8gc2VuZEVtYWlsICYmICFpbmJveENiRkNOIDogZmFsc2U7XG5cbiAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHVwZGF0ZVRhc2tzID0gW107XG4gICAgdGhpcy5zZWxlY3Rpb24uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID09PSAxID8gdGl0bGVGaWVsZEZDTiA6IHRoaXMuY3JlYXRlVGl0bGUoaXRlbSk7XG4gICAgICB1cGRhdGVUYXNrcy5wdXNoKHRoaXMuZG1zLnVwZGF0ZVJlc3VibWlzc2lvbihpdGVtLCB0aXRsZSwgZHVlRmllbGRGQ04sIHVuZGVmaW5lZCwgc2VuZEVtYWlsLCBvbmx5RW1haWwpLnBpcGUoXG4gICAgICAgIC8vIGV2ZW4gaW4gY2FzZSBvaWYgYW4gZXJyb3IgcmV0dXJuIHNvbWV0aGluZyBiZWNhdXNlIG90aGVyd2lzZSB0aGUgd2hvbGUgZm9ya0pvaW4gd2lsbCBmYWlsXG4gICAgICAgIC8vIHRvZG86IG1heWJlIGFkZCBzb21lIGVycm9yIG5vdGlmaWNhdGlvbiB0aGF0IHNvbWV0aGluZyB3ZW50IHdyb25nXG4gICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSlcbiAgICAgICkpO1xuICAgIH0pO1xuICAgIGlmICh1cGRhdGVUYXNrcy5sZW5ndGgpIHtcbiAgICAgIGZvcmtKb2luKHVwZGF0ZVRhc2tzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgICB9XG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlUmVzdWJtaXNzaW9uKCkge1xuICAgIHRoaXMucHJvY2Vzc2luZyA9IHRydWU7XG4gICAgY29uc3QgcmVtb3ZlVGFza3MgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgcmVtb3ZlVGFza3MucHVzaCh0aGlzLmRtcy5yZW1vdmVSZXN1Ym1pc3Npb25zQnlJZChpdGVtLmlkLCBpdGVtKVxuICAgICAgICAvLyBldmVuIGluIGNhc2Ugb2lmIGFuIGVycm9yIHJldHVybiBzb21ldGhpbmcgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHdob2xlIGZvcmtKb2luIHdpbGwgZmFpbFxuICAgICAgICAvLyB0b2RvOiBtYXliZSBhZGQgc29tZSBlcnJvciBub3RpZmljYXRpb24gdGhhdCBzb21ldGhpbmcgd2VudCB3cm9uZ1xuICAgICAgICAucGlwZShjYXRjaEVycm9yKGUgPT4gb2YobnVsbCkpKSk7XG4gICAgfSk7XG4gICAgaWYgKHJlbW92ZVRhc2tzLmxlbmd0aCkge1xuICAgICAgZm9ya0pvaW4ocmVtb3ZlVGFza3MpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRpdGxlKGl0ZW06IERtc09iamVjdCkge1xuICAgIHJldHVybiBpdGVtLmlzQ29udGV4dEZvbGRlciAmJiBpdGVtLmNvbnRleHRGb2xkZXIgPyBgJHtpdGVtLmNvbnRleHRGb2xkZXIudGl0bGV9ID4gJHtpdGVtLnRpdGxlfWAgOiBpdGVtLnRpdGxlO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsZWQuZW1pdCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kdWVGaWVsZExhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVzdWJtaXNzaW9uLmZpZWxkLmR1ZScpO1xuICAgIHRoaXMudGl0bGVGaWVsZExhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ucmVzdWJtaXNzaW9uLmZpZWxkLmluZm8nKTtcbiAgICB0aGlzLmluYm94Q2JMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlc3VibWlzc2lvbi5maWVsZC5ub3RpZmljYXRpb24uaW5ib3gnKTtcbiAgICB0aGlzLmVtYWlsQ2JMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnJlc3VibWlzc2lvbi5maWVsZC5ub3RpZmljYXRpb24uZW1haWwnKTtcblxuICAgIHRoaXMuY3JlYXRlUmVzdWJtaXNzaW9uRm9ybSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudGl0bGVGaWVsZC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdLnNlbGVjdCgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJlby1yZXN1Ym1pc3Npb25cIiBlb1RyYXBGb2N1cz5cbiAgPGgyPnt7aGVhZGVyfX08L2gyPlxuICA8Zm9ybSAjdGl0bGVGaWVsZCBbZm9ybUdyb3VwXT1cImFkZFJlc3VibWlzc2lvbkZvcm1cIj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImR1ZUZpZWxkTGFiZWxcIj5cbiAgICAgIDx5dmMtZGF0ZXBpY2tlciBbd2l0aFRpbWVdPVwidHJ1ZVwiIFtvbmx5RnV0dXJlRGF0ZXNdPVwidHJ1ZVwiIFxuICAgICAgW2NhbGVuZGFyXT1cInRydWVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZHVlRmllbGRGQ05cIj48L3l2Yy1kYXRlcGlja2VyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cInRpdGxlRmllbGRMYWJlbFwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2ludmFsaWRdPVwidGl0bGVWYWxpZGl0eVwiICpuZ0lmPVwic2VsZWN0aW9uLmxlbmd0aCA9PT0gMVwiPlxuICAgICAgPGVvLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZUZpZWxkRkNOXCI+PC9lby1zdHJpbmc+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJ0aXRsZVZhbGlkaXR5XCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJpbmJveENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJpbmJveENiRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJlbWFpbENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbENiRkNOXCIgW3RyaXN0YXRlXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cIiFoYXNFbWFpbFwiPjwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Zvcm0+XG5cbiAgPCEtLSBlcnJvci92YWxpZGF0aW9uIG1lc3NhZ2VzIC0tPlxuICA8ZGl2IGNsYXNzPVwiZXJyb3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cIm5vdGlmaWNhdGlvbk1ldGhvZFZhbGlkYXRpb25cIiB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmVycm9yLm1zZzwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJkYXRlVmFsaWRhdGlvblwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uZXJyb3IubXNnLmRhdGU8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uc1wiICpuZ0lmPVwiIXByb2Nlc3Npbmc7IGVsc2UgaW5kaWNhdG9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uY2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiICpuZ0lmPVwic2VsZWN0aW9uWzBdLnJlc3VibWlzc2lvbnMubGVuZ3RoXCIgKGNsaWNrKT1cInJlbW92ZVJlc3VibWlzc2lvbigpXCIgdHJhbnNsYXRlPmVvLnJlc3VibWlzc2lvbi5kZWxldGU8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJhZGRSZXN1Ym1pc3Npb25Gb3JtLmVycm9ycyB8fCB0aXRsZVZhbGlkaXR5XCIgKm5nSWY9XCJzZWxlY3Rpb25bMF0ucmVzdWJtaXNzaW9ucy5sZW5ndGhcIiAoY2xpY2spPVwidXBkYXRlUmVzdWJtaXNzaW9uKClcIiB0cmFuc2xhdGU+ZW8ucmVzdWJtaXNzaW9uLmFwcGx5PC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiYWRkUmVzdWJtaXNzaW9uRm9ybS5lcnJvcnMgfHwgdGl0bGVWYWxpZGl0eVwiICpuZ0lmPVwiIXNlbGVjdGlvblswXS5yZXN1Ym1pc3Npb25zLmxlbmd0aFwiIChjbGljayk9XCJjcmVhdGVSZXN1Ym1pc3Npb24oKVwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uYWRkPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjaW5kaWNhdG9yPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLWluZGljYXRvclwiPjxlby1pY29uIFtpY29uU3JjXT1cIidpY19raXR0LWxvYWRlci5zdmcnXCI+PC9lby1pY29uPjwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbiJdfQ==