@bizdoc/core 3.0.6 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/assets/system/Workday.svg +37 -37
  2. package/assets/themes/brown.min.css +1 -1
  3. package/assets/themes/dark.min.css +1 -1
  4. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  5. package/assets/themes/deep-purple-teal.min.css +1 -1
  6. package/assets/themes/default.min.css +25 -15
  7. package/assets/themes/green.min.css +1 -1
  8. package/assets/themes/indigo-amber.min.css +1 -1
  9. package/assets/themes/indigo.min.css +1 -1
  10. package/esm2022/bizdoc-core.mjs +1 -1
  11. package/esm2022/lib/admin/admin-dismiss.service.mjs +4 -4
  12. package/esm2022/lib/admin/admin-menu.component.mjs +5 -5
  13. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +10 -10
  14. package/esm2022/lib/admin/architecture/declarations.mjs +3 -2
  15. package/esm2022/lib/admin/architecture/designer-element.component.mjs +25 -22
  16. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +6 -6
  17. package/esm2022/lib/admin/architecture/designer.base.mjs +11 -14
  18. package/esm2022/lib/admin/architecture/designer.component.mjs +9 -8
  19. package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -5
  20. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +5 -5
  21. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +5 -5
  22. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +5 -5
  23. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +5 -6
  24. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +5 -5
  25. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +5 -5
  26. package/esm2022/lib/admin/architecture/elements/control.component.mjs +4 -7
  27. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +5 -5
  28. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +5 -5
  29. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +14 -15
  30. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +6 -8
  31. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +5 -5
  32. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +5 -5
  33. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +5 -5
  34. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +5 -6
  35. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +9 -11
  36. package/esm2022/lib/admin/architecture/elements/form.component.mjs +13 -14
  37. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +5 -6
  38. package/esm2022/lib/admin/architecture/elements/job.component.mjs +5 -6
  39. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +6 -6
  40. package/esm2022/lib/admin/architecture/elements/node.component.mjs +4 -4
  41. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +5 -5
  42. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +5 -5
  43. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +5 -5
  44. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +5 -5
  45. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +4 -4
  46. package/esm2022/lib/admin/architecture/elements/report.component.mjs +5 -6
  47. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +5 -5
  48. package/esm2022/lib/admin/architecture/elements/role.component.mjs +5 -6
  49. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +4 -4
  50. package/esm2022/lib/admin/architecture/elements/source.component.mjs +4 -4
  51. package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -5
  52. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +5 -5
  53. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +5 -5
  54. package/esm2022/lib/admin/architecture/elements/type.component.mjs +7 -8
  55. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +6 -6
  56. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +4 -4
  57. package/esm2022/lib/admin/architecture/elements/view.component.mjs +4 -4
  58. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +5 -6
  59. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +12 -7
  60. package/esm2022/lib/admin/core/ace.input.mjs +14 -13
  61. package/esm2022/lib/admin/core/color-picker.input.mjs +5 -5
  62. package/esm2022/lib/admin/core/localized-string.component.mjs +8 -7
  63. package/esm2022/lib/admin/core/search.input.mjs +5 -5
  64. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +8 -7
  65. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +19 -13
  66. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +5 -5
  67. package/esm2022/lib/admin/document-trace/timeline.mjs +1 -1
  68. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +6 -6
  69. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +6 -6
  70. package/esm2022/lib/admin/form/designer/declarations.mjs +1 -1
  71. package/esm2022/lib/admin/form/designer/design-control.component.mjs +4 -4
  72. package/esm2022/lib/admin/form/designer/properties.component.mjs +5 -5
  73. package/esm2022/lib/admin/form/designer/section.component.mjs +5 -5
  74. package/esm2022/lib/admin/form/designer/settings.component.mjs +4 -4
  75. package/esm2022/lib/admin/form/form.resolve.service.mjs +4 -4
  76. package/esm2022/lib/admin/form/workflow/node-ref.mjs +1 -1
  77. package/esm2022/lib/admin/form/workflow/node.component.mjs +35 -35
  78. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +5 -5
  79. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +10 -12
  80. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +9 -9
  81. package/esm2022/lib/admin/patterns/patterns.component.mjs +5 -5
  82. package/esm2022/lib/admin/permissions/permissions.component.mjs +5 -5
  83. package/esm2022/lib/admin/positions/positions-popup.component.mjs +8 -7
  84. package/esm2022/lib/admin/positions/positions.component.mjs +9 -9
  85. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +6 -6
  86. package/esm2022/lib/admin/profiler/profiler.component.mjs +7 -7
  87. package/esm2022/lib/admin/system.service.mjs +15 -11
  88. package/esm2022/lib/admin/utility-ref.mjs +7 -5
  89. package/esm2022/lib/admin/utility-wrapper.component.mjs +4 -4
  90. package/esm2022/lib/admin/utility.pane.component.mjs +4 -4
  91. package/esm2022/lib/app.component.mjs +7 -7
  92. package/esm2022/lib/bizdoc.module.mjs +5 -5
  93. package/esm2022/lib/browse/browse-items.component.mjs +34 -33
  94. package/esm2022/lib/browse/browse.mobile.component.mjs +11 -8
  95. package/esm2022/lib/browse/browse.pane.component.mjs +9 -9
  96. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +12 -12
  97. package/esm2022/lib/browse/filter/filter.component.mjs +27 -39
  98. package/esm2022/lib/browse/folders-menu.component.mjs +5 -5
  99. package/esm2022/lib/chat/chat-info.mjs +9 -8
  100. package/esm2022/lib/chat/chat.mobile.component.mjs +5 -5
  101. package/esm2022/lib/chat/chat.service.mjs +6 -6
  102. package/esm2022/lib/chat/contacts.component.mjs +10 -9
  103. package/esm2022/lib/chat/contacts.pane.component.mjs +4 -4
  104. package/esm2022/lib/chat/conversation.component.mjs +8 -8
  105. package/esm2022/lib/chat/conversation.pane.component.mjs +4 -4
  106. package/esm2022/lib/compose/action/action-picker.component.mjs +7 -10
  107. package/esm2022/lib/compose/action/action-ref.mjs +1 -1
  108. package/esm2022/lib/compose/action/action.base.mjs +1 -1
  109. package/esm2022/lib/compose/action/action.dialog.mjs +5 -5
  110. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +7 -7
  111. package/esm2022/lib/compose/action/assign-action.component.mjs +5 -5
  112. package/esm2022/lib/compose/action/moveto-action.component.mjs +6 -6
  113. package/esm2022/lib/compose/action/return-action.component.mjs +5 -5
  114. package/esm2022/lib/compose/attachments/attachments.component.mjs +5 -5
  115. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +5 -5
  116. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +4 -4
  117. package/esm2022/lib/compose/box/box.component.mjs +5 -5
  118. package/esm2022/lib/compose/box/control.component.mjs +4 -4
  119. package/esm2022/lib/compose/box/row.component.mjs +4 -4
  120. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +4 -4
  121. package/esm2022/lib/compose/comments/comment.component.mjs +18 -15
  122. package/esm2022/lib/compose/comments/comments.component.mjs +7 -7
  123. package/esm2022/lib/compose/comments/comments.pane.component.mjs +5 -5
  124. package/esm2022/lib/compose/comments/edit-comment.component.mjs +4 -4
  125. package/esm2022/lib/compose/comments/edits.component.mjs +5 -5
  126. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +6 -6
  127. package/esm2022/lib/compose/comments/votes.component.mjs +5 -5
  128. package/esm2022/lib/compose/compose-resolve.service.mjs +4 -4
  129. package/esm2022/lib/compose/compose.mobile.component.mjs +8 -8
  130. package/esm2022/lib/compose/compose.pane.component.mjs +11 -11
  131. package/esm2022/lib/compose/copy/copy.dialog.mjs +5 -5
  132. package/esm2022/lib/compose/dismiss.service.mjs +4 -4
  133. package/esm2022/lib/compose/document-resolve.service.mjs +7 -7
  134. package/esm2022/lib/compose/document-resolver.service.mjs +4 -4
  135. package/esm2022/lib/compose/document.component.mjs +4 -4
  136. package/esm2022/lib/compose/document.mobile.component.mjs +4 -4
  137. package/esm2022/lib/compose/document.pane.component.mjs +4 -4
  138. package/esm2022/lib/compose/events/events.component.mjs +5 -5
  139. package/esm2022/lib/compose/form-ref.mjs +1 -1
  140. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +5 -5
  141. package/esm2022/lib/compose/form.component.mjs +59 -23
  142. package/esm2022/lib/compose/new-menu.component.mjs +8 -7
  143. package/esm2022/lib/compose/overlay.component.exp.mjs +4 -4
  144. package/esm2022/lib/compose/privilage.directive.mjs +7 -7
  145. package/esm2022/lib/compose/recipient-resolver.service.mjs +4 -4
  146. package/esm2022/lib/compose/state.component.mjs +4 -4
  147. package/esm2022/lib/compose/tag/tags.component.mjs +5 -5
  148. package/esm2022/lib/compose/trace/flow.component.mjs +16 -17
  149. package/esm2022/lib/compose/trace/people.component.mjs +14 -9
  150. package/esm2022/lib/compose/trace/trace.base.mjs +6 -7
  151. package/esm2022/lib/compose/trace/trace.component.mjs +5 -5
  152. package/esm2022/lib/compose/trace/trace.pane.component.mjs +4 -4
  153. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +5 -4
  154. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +14 -14
  155. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +5 -5
  156. package/esm2022/lib/core/account.service.mjs +4 -4
  157. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +4 -4
  158. package/esm2022/lib/core/animations.mjs +1 -1
  159. package/esm2022/lib/core/authentication.mjs +1 -1
  160. package/esm2022/lib/core/avatar/avatar.component.mjs +52 -43
  161. package/esm2022/lib/core/base.mjs +1 -1
  162. package/esm2022/lib/core/checkbox.mjs +19 -19
  163. package/esm2022/lib/core/colors.mjs +1 -1
  164. package/esm2022/lib/core/component-factory-resolver.mjs +5 -5
  165. package/esm2022/lib/core/configuration.mjs +1 -1
  166. package/esm2022/lib/core/datasource.service.mjs +4 -4
  167. package/esm2022/lib/core/decorators.mjs +1 -1
  168. package/esm2022/lib/core/document-factory.service.mjs +4 -11
  169. package/esm2022/lib/core/fields/address.designer.mjs +4 -4
  170. package/esm2022/lib/core/fields/address.field.mjs +31 -31
  171. package/esm2022/lib/core/fields/autocomplete.field.mjs +65 -65
  172. package/esm2022/lib/core/fields/axes-picker.designer.mjs +25 -25
  173. package/esm2022/lib/core/fields/axes-picker.field.mjs +5 -5
  174. package/esm2022/lib/core/fields/checkbox.designer.mjs +4 -4
  175. package/esm2022/lib/core/fields/checkbox.field.mjs +5 -5
  176. package/esm2022/lib/core/fields/checklist.designer.mjs +59 -59
  177. package/esm2022/lib/core/fields/checklist.field.mjs +5 -5
  178. package/esm2022/lib/core/fields/date-range.designer.mjs +4 -4
  179. package/esm2022/lib/core/fields/date-range.field.mjs +5 -5
  180. package/esm2022/lib/core/fields/date.designer.mjs +4 -4
  181. package/esm2022/lib/core/fields/date.field.mjs +5 -5
  182. package/esm2022/lib/core/fields/expression.field.mjs +30 -30
  183. package/esm2022/lib/core/fields/file.designer.mjs +4 -4
  184. package/esm2022/lib/core/fields/file.field.mjs +5 -5
  185. package/esm2022/lib/core/fields/html.designer.mjs +4 -4
  186. package/esm2022/lib/core/fields/html.field.mjs +5 -5
  187. package/esm2022/lib/core/fields/input.designer.mjs +4 -4
  188. package/esm2022/lib/core/fields/input.field.mjs +5 -5
  189. package/esm2022/lib/core/fields/localized-string.field.mjs +7 -7
  190. package/esm2022/lib/core/fields/numeric.designer.mjs +4 -4
  191. package/esm2022/lib/core/fields/numeric.field.mjs +5 -5
  192. package/esm2022/lib/core/fields/options.base.mjs +8 -8
  193. package/esm2022/lib/core/fields/options.component.mjs +5 -5
  194. package/esm2022/lib/core/fields/radio-button.designer.mjs +5 -5
  195. package/esm2022/lib/core/fields/radio-button.field.mjs +5 -5
  196. package/esm2022/lib/core/fields/select.designer.mjs +63 -63
  197. package/esm2022/lib/core/fields/select.field.mjs +5 -5
  198. package/esm2022/lib/core/fields/signature.designer.mjs +4 -4
  199. package/esm2022/lib/core/fields/signature.field.mjs +5 -5
  200. package/esm2022/lib/core/fields/switch.field.mjs +5 -5
  201. package/esm2022/lib/core/fields/tags.designer.mjs +4 -4
  202. package/esm2022/lib/core/fields/tags.field.mjs +5 -5
  203. package/esm2022/lib/core/fields/textarea.designer.mjs +4 -4
  204. package/esm2022/lib/core/fields/textarea.field.mjs +5 -5
  205. package/esm2022/lib/core/fields/time.designer.mjs +4 -4
  206. package/esm2022/lib/core/fields/time.field.mjs +5 -5
  207. package/esm2022/lib/core/fields/timespan.field.mjs +30 -30
  208. package/esm2022/lib/core/fields/yesno.designer.mjs +23 -23
  209. package/esm2022/lib/core/fields/yesno.field.mjs +5 -5
  210. package/esm2022/lib/core/firebase.service.mjs +1 -1
  211. package/esm2022/lib/core/functions.mjs +4 -1
  212. package/esm2022/lib/core/guide/guide.component.mjs +5 -5
  213. package/esm2022/lib/core/guide/guide.service.mjs +11 -7
  214. package/esm2022/lib/core/guide/help-tip.component.mjs +22 -22
  215. package/esm2022/lib/core/http.interceptor.mjs +6 -6
  216. package/esm2022/lib/core/hub.service.mjs +4 -4
  217. package/esm2022/lib/core/identity/identity.component.mjs +5 -5
  218. package/esm2022/lib/core/info/attachment-info.service.mjs +4 -4
  219. package/esm2022/lib/core/info/document-info.service.mjs +4 -4
  220. package/esm2022/lib/core/info/location-info.component.mjs +4 -4
  221. package/esm2022/lib/core/info/map-info.mjs +4 -4
  222. package/esm2022/lib/core/inputs/address.input.mjs +21 -21
  223. package/esm2022/lib/core/inputs/auto-complete.input.mjs +38 -37
  224. package/esm2022/lib/core/inputs/combination-picker-body.mjs +10 -12
  225. package/esm2022/lib/core/inputs/combination-picker.mjs +4 -5
  226. package/esm2022/lib/core/inputs/combination-pool.mjs +7 -6
  227. package/esm2022/lib/core/inputs/file.input.mjs +30 -24
  228. package/esm2022/lib/core/inputs/select.input.mjs +37 -37
  229. package/esm2022/lib/core/inputs/signature.input.mjs +4 -4
  230. package/esm2022/lib/core/inputs/time-picker.mjs +8 -8
  231. package/esm2022/lib/core/inputs/timespan.input.mjs +7 -7
  232. package/esm2022/lib/core/layout.component.mjs +11 -5
  233. package/esm2022/lib/core/lottie-animation.exp.mjs +49 -0
  234. package/esm2022/lib/core/mailbox.service.mjs +20 -14
  235. package/esm2022/lib/core/models.mjs +2 -1
  236. package/esm2022/lib/core/none.component.mjs +15 -15
  237. package/esm2022/lib/core/pipes/action.pipe.mjs +4 -4
  238. package/esm2022/lib/core/pipes/calendar.pipe.mjs +4 -4
  239. package/esm2022/lib/core/pipes/date-format.pipe.mjs +4 -4
  240. package/esm2022/lib/core/pipes/daterange.pipe.mjs +7 -7
  241. package/esm2022/lib/core/pipes/difference.pipe.mjs +4 -4
  242. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +4 -4
  243. package/esm2022/lib/core/pipes/duration.pipe.mjs +4 -4
  244. package/esm2022/lib/core/pipes/filter.pipe.mjs +25 -0
  245. package/esm2022/lib/core/pipes/form.pipe.mjs +4 -4
  246. package/esm2022/lib/core/pipes/join.pipe.mjs +4 -4
  247. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +4 -4
  248. package/esm2022/lib/core/pipes/role.pipe.mjs +4 -4
  249. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +4 -4
  250. package/esm2022/lib/core/pipes/sort.pipe.mjs +8 -30
  251. package/esm2022/lib/core/pipes/state.pipe.mjs +4 -4
  252. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +4 -4
  253. package/esm2022/lib/core/pipes/to-now.pipe.mjs +4 -4
  254. package/esm2022/lib/core/pipes/translate.pipe.mjs +10 -10
  255. package/esm2022/lib/core/pipes/type-value.pipe.mjs +4 -4
  256. package/esm2022/lib/core/pipes/user-name.pipe.mjs +4 -4
  257. package/esm2022/lib/core/popup/popup-ref.mjs +1 -1
  258. package/esm2022/lib/core/popup/popup.component.mjs +4 -4
  259. package/esm2022/lib/core/popup/popup.service.mjs +7 -5
  260. package/esm2022/lib/core/popup/tooltip.directive.mjs +10 -11
  261. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +4 -4
  262. package/esm2022/lib/core/prompt/mask/mask.component.mjs +4 -4
  263. package/esm2022/lib/core/prompt.service.mjs +6 -6
  264. package/esm2022/lib/core/router.mjs +9 -9
  265. package/esm2022/lib/core/save-changes.dialog.mjs +4 -4
  266. package/esm2022/lib/core/session.service.mjs +18 -9
  267. package/esm2022/lib/core/slots/pane-ref.mjs +2 -2
  268. package/esm2022/lib/core/slots/router.directive.mjs +4 -4
  269. package/esm2022/lib/core/slots/router.service.mjs +6 -5
  270. package/esm2022/lib/core/slots/slots.component.mjs +26 -23
  271. package/esm2022/lib/core/sticky-toolbar.exp.mjs +9 -6
  272. package/esm2022/lib/core/tagging/documents.component.mjs +5 -5
  273. package/esm2022/lib/core/tagging/edit-input.component.mjs +17 -14
  274. package/esm2022/lib/core/tagging/emoji.component.mjs +4 -4
  275. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +4 -4
  276. package/esm2022/lib/core/tagging/tagging.component-base.mjs +4 -4
  277. package/esm2022/lib/core/tagging/tagging.directive.mjs +5 -5
  278. package/esm2022/lib/core/tagging/tagging.pipe.mjs +4 -4
  279. package/esm2022/lib/core/tagging/users.component.mjs +5 -5
  280. package/esm2022/lib/core/translate.service.mjs +5 -4
  281. package/esm2022/lib/core/translations.mjs +8 -6
  282. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +7 -7
  283. package/esm2022/lib/core/window-title.service.mjs +14 -6
  284. package/esm2022/lib/cube/accum/accum.component.mjs +4 -4
  285. package/esm2022/lib/cube/chart/chart.component.mjs +8 -7
  286. package/esm2022/lib/cube/cube-info.service.mjs +13 -10
  287. package/esm2022/lib/cube/cube-menu.component.mjs +5 -5
  288. package/esm2022/lib/cube/cube-view.component.mjs +5 -5
  289. package/esm2022/lib/cube/cube.service.mjs +21 -19
  290. package/esm2022/lib/cube/declarations.mjs +1 -1
  291. package/esm2022/lib/cube/explore/document-item.component.mjs +4 -4
  292. package/esm2022/lib/cube/explore/explore-item.component.mjs +4 -4
  293. package/esm2022/lib/cube/explore/explore-items.component.mjs +8 -8
  294. package/esm2022/lib/cube/explore/explore.pane.component.mjs +5 -5
  295. package/esm2022/lib/cube/explore/item-resolver.service.mjs +7 -7
  296. package/esm2022/lib/cube/explore/item.pane.component.mjs +5 -5
  297. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +5 -5
  298. package/esm2022/lib/cube/filter/filter.component.mjs +14 -13
  299. package/esm2022/lib/cube/grid/grid.component.mjs +9 -8
  300. package/esm2022/lib/cube/matrix/matrix.base.mjs +20 -18
  301. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +5 -5
  302. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +6 -6
  303. package/esm2022/lib/cube/matrix/popup.component.mjs +5 -5
  304. package/esm2022/lib/cube/matrix/table.component.mjs +10 -9
  305. package/esm2022/lib/cube/parallel/item.mjs +1 -2
  306. package/esm2022/lib/cube/parallel/parallel.component.mjs +5 -5
  307. package/esm2022/lib/cube/pivot/pivot.component.mjs +16 -7
  308. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +6 -6
  309. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +4 -4
  310. package/esm2022/lib/cube/sum/sum.component.mjs +20 -19
  311. package/esm2022/lib/cube/view-base.mjs +5 -5
  312. package/esm2022/lib/cube/view.mobile.component.mjs +6 -6
  313. package/esm2022/lib/cube/view.pane.component.mjs +5 -5
  314. package/esm2022/lib/dashboard/actions/actions.widget.mjs +7 -6
  315. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +4 -8
  316. package/esm2022/lib/dashboard/cube/compare.widget.mjs +5 -7
  317. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +8 -6
  318. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
  319. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +5 -4
  320. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +6 -5
  321. package/esm2022/lib/dashboard/cube/documents.widget.mjs +4 -4
  322. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +4 -4
  323. package/esm2022/lib/dashboard/dashboard.component.mjs +5 -5
  324. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +4 -4
  325. package/esm2022/lib/dashboard/recents/recents.widget.mjs +13 -16
  326. package/esm2022/lib/dashboard/score/activity.widget.mjs +7 -6
  327. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +12 -5
  328. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +9 -8
  329. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +5 -5
  330. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +19 -18
  331. package/esm2022/lib/dashboard/widget-item.component.mjs +4 -4
  332. package/esm2022/lib/dashboard/widget-ref.mjs +1 -1
  333. package/esm2022/lib/designer.module.mjs +5 -5
  334. package/esm2022/lib/desktop.module.mjs +8 -12
  335. package/esm2022/lib/home/about/about.dialog.mjs +6 -6
  336. package/esm2022/lib/home/home-base.component.mjs +18 -10
  337. package/esm2022/lib/home/home.desktop.component.mjs +12 -22
  338. package/esm2022/lib/home/home.mobile.component.mjs +29 -32
  339. package/esm2022/lib/home/notifications/notifications.component.mjs +22 -24
  340. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +10 -10
  341. package/esm2022/lib/home/sign/sign.component.mjs +17 -21
  342. package/esm2022/lib/impersonate/impersonate.component.mjs +36 -34
  343. package/esm2022/lib/mobile.module.mjs +8 -11
  344. package/esm2022/lib/modules/chart.module.mjs +13 -11
  345. package/esm2022/lib/modules/circular-gauge.module.mjs +9 -7
  346. package/esm2022/lib/modules/date.adapter.mjs +1 -1
  347. package/esm2022/lib/modules/datepicker.intl.mjs +4 -4
  348. package/esm2022/lib/modules/dayjs.module.mjs +5 -5
  349. package/esm2022/lib/modules/diagram.module.mjs +9 -7
  350. package/esm2022/lib/modules/gantt.module.mjs +11 -9
  351. package/esm2022/lib/modules/grid.module.mjs +9 -7
  352. package/esm2022/lib/modules/linear-gauge.module.mjs +5 -5
  353. package/esm2022/lib/modules/material.module.mjs +5 -5
  354. package/esm2022/lib/modules/paginator.intl.mjs +4 -4
  355. package/esm2022/lib/modules/pivot.module.mjs +9 -7
  356. package/esm2022/lib/modules/schedule.module.mjs +9 -7
  357. package/esm2022/lib/modules/spreadsheet.module.mjs +5 -5
  358. package/esm2022/lib/modules/stepper.intl.mjs +4 -4
  359. package/esm2022/lib/modules/texteditor.module.mjs +7 -6
  360. package/esm2022/lib/notifications/filter.component.mjs +4 -4
  361. package/esm2022/lib/notifications/notifications-table.component.mjs +7 -8
  362. package/esm2022/lib/notifications/notifications.component-base.mjs +1 -1
  363. package/esm2022/lib/notifications/notifications.mobile.component.mjs +4 -4
  364. package/esm2022/lib/notifications/notifications.pane.component.mjs +4 -4
  365. package/esm2022/lib/notifications/notifications.service.mjs +13 -6
  366. package/esm2022/lib/notifications/types/commented.notification.mjs +17 -17
  367. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +4 -4
  368. package/esm2022/lib/notifications/types/escalated.notification.mjs +4 -4
  369. package/esm2022/lib/notifications/types/invite.notification.mjs +4 -4
  370. package/esm2022/lib/notifications/types/liked.notification.mjs +17 -17
  371. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +4 -4
  372. package/esm2022/lib/notifications/types/notification-base.mjs +4 -4
  373. package/esm2022/lib/notifications/types/nudge.notification.mjs +4 -4
  374. package/esm2022/lib/notifications/types/state-changed.notification.mjs +4 -4
  375. package/esm2022/lib/notifications/types/tagged.notification.mjs +7 -7
  376. package/esm2022/lib/notifications/types/text.notification.mjs +4 -4
  377. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +4 -4
  378. package/esm2022/lib/options/options.component.mjs +91 -49
  379. package/esm2022/lib/options/options.desktop.component.mjs +26 -0
  380. package/esm2022/lib/options/options.mobile.component.mjs +23 -0
  381. package/esm2022/lib/reports/arguments-component.mjs +4 -4
  382. package/esm2022/lib/reports/cube/documents.component.mjs +4 -4
  383. package/esm2022/lib/reports/cube/grid-documents.component.mjs +4 -4
  384. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +5 -5
  385. package/esm2022/lib/reports/cube/performance-wind.component.mjs +4 -4
  386. package/esm2022/lib/reports/cube/table-documents.component.mjs +7 -6
  387. package/esm2022/lib/reports/cube/usage-args.component.mjs +6 -5
  388. package/esm2022/lib/reports/cube/usage-base.mjs +8 -8
  389. package/esm2022/lib/reports/cube/usage-chart.component.mjs +5 -5
  390. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +5 -5
  391. package/esm2022/lib/reports/cube/usage.component.mjs +4 -4
  392. package/esm2022/lib/reports/report-ref.mjs +1 -1
  393. package/esm2022/lib/reports/report-viewer.component.mjs +5 -5
  394. package/esm2022/lib/reports/report.mobile.component.mjs +5 -5
  395. package/esm2022/lib/reports/report.pane.component.mjs +5 -5
  396. package/esm2022/lib/reports/reports-menu.component.mjs +5 -5
  397. package/esm2022/lib/reports/substitution/substitution.component.mjs +5 -5
  398. package/esm2022/lib/reports/table/table-view.component.mjs +5 -5
  399. package/esm2022/lib/reports/tasks/tasks.component.mjs +4 -4
  400. package/esm2022/lib/routes.desktop.mjs +24 -5
  401. package/esm2022/lib/routes.mobile.mjs +12 -2
  402. package/esm2022/lib/scheduler/schedule.component.mjs +5 -5
  403. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +4 -4
  404. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +4 -4
  405. package/esm2022/lib/search/cube.component.mjs +8 -9
  406. package/esm2022/lib/search/declarations.mjs +1 -1
  407. package/esm2022/lib/search/document.component.mjs +4 -4
  408. package/esm2022/lib/search/guide.component.mjs +4 -4
  409. package/esm2022/lib/search/path.component.mjs +15 -15
  410. package/esm2022/lib/search/search.service.mjs +5 -5
  411. package/esm2022/lib/shared.module.mjs +17 -17
  412. package/esm2022/lib/system.module.mjs +5 -5
  413. package/esm2022/lib/views/cube/chart.component.mjs +5 -5
  414. package/esm2022/lib/views/cube/cube-base.mjs +4 -4
  415. package/esm2022/lib/views/cube/explore.component.mjs +6 -6
  416. package/esm2022/lib/views/cube/matrix.component.mjs +7 -7
  417. package/esm2022/lib/views/cube/parallel.component.mjs +5 -5
  418. package/esm2022/lib/views/cube/pivot.component.mjs +5 -5
  419. package/esm2022/lib/views/cube/sum.component.mjs +5 -5
  420. package/esm2022/lib/views/cube/view.component.mjs +7 -7
  421. package/esm2022/lib/views/document-view-ref.mjs +1 -1
  422. package/esm2022/lib/views/timeline/timeline.component.mjs +7 -8
  423. package/esm2022/lib/views/view-item.component.mjs +4 -4
  424. package/esm2022/lib/views/views.component.mjs +5 -5
  425. package/esm2022/lib/views/views.mobile.component.mjs +6 -6
  426. package/esm2022/lib/views/views.pane.component.mjs +8 -8
  427. package/esm2022/public-api.mjs +4 -3
  428. package/fesm2022/bizdoc-core.mjs +3819 -3701
  429. package/fesm2022/bizdoc-core.mjs.map +1 -1
  430. package/lib/admin/architecture/cube-axes-filter.component.d.ts +4 -1
  431. package/lib/admin/architecture/declarations.d.ts +14 -9
  432. package/lib/admin/architecture/designer-element.component.d.ts +1 -0
  433. package/lib/admin/architecture/designer-privileges.component.d.ts +4 -2
  434. package/lib/admin/architecture/designer.base.d.ts +1 -4
  435. package/lib/admin/architecture/designer.component.d.ts +3 -3
  436. package/lib/admin/architecture/elements/action.component.d.ts +13 -13
  437. package/lib/admin/architecture/elements/analysis-view.component.d.ts +8 -8
  438. package/lib/admin/architecture/elements/analysis-widget.component.d.ts +7 -7
  439. package/lib/admin/architecture/elements/anomaly-rule.component.d.ts +3 -3
  440. package/lib/admin/architecture/elements/attribute.component.d.ts +1 -1
  441. package/lib/admin/architecture/elements/box-form.component.d.ts +5 -5
  442. package/lib/admin/architecture/elements/configuration-datasource.component.d.ts +1 -1
  443. package/lib/admin/architecture/elements/control.component.d.ts +1 -2
  444. package/lib/admin/architecture/elements/cube-index-utility.component.d.ts +3 -4
  445. package/lib/admin/architecture/elements/cube-view.component.d.ts +4 -4
  446. package/lib/admin/architecture/elements/cube.component.d.ts +9 -10
  447. package/lib/admin/architecture/elements/document-state-widget.component.d.ts +3 -6
  448. package/lib/admin/architecture/elements/documents-report.component.d.ts +4 -5
  449. package/lib/admin/architecture/elements/documents-widget.component.d.ts +5 -5
  450. package/lib/admin/architecture/elements/explore-view.component.d.ts +4 -4
  451. package/lib/admin/architecture/elements/folder.component.d.ts +2 -2
  452. package/lib/admin/architecture/elements/form-invite.dialog.d.ts +7 -7
  453. package/lib/admin/architecture/elements/form.component.d.ts +10 -9
  454. package/lib/admin/architecture/elements/guide.component.d.ts +1 -1
  455. package/lib/admin/architecture/elements/matrix-view.component.d.ts +16 -16
  456. package/lib/admin/architecture/elements/parallel-view.component.d.ts +9 -10
  457. package/lib/admin/architecture/elements/performance-report.component.d.ts +2 -3
  458. package/lib/admin/architecture/elements/performance-widget.component.d.ts +4 -5
  459. package/lib/admin/architecture/elements/pivot-view.component.d.ts +9 -10
  460. package/lib/admin/architecture/elements/report.component.d.ts +1 -1
  461. package/lib/admin/architecture/elements/return-to-role-action.component.d.ts +1 -1
  462. package/lib/admin/architecture/elements/role.component.d.ts +4 -4
  463. package/lib/admin/architecture/elements/source.component.d.ts +2 -3
  464. package/lib/admin/architecture/elements/state.component.d.ts +4 -4
  465. package/lib/admin/architecture/elements/sum-view.component.d.ts +7 -8
  466. package/lib/admin/architecture/elements/tasks-report.component.d.ts +4 -4
  467. package/lib/admin/architecture/elements/type.component.d.ts +8 -4
  468. package/lib/admin/architecture/elements/usage-report.component.d.ts +7 -7
  469. package/lib/admin/architecture/elements/widget.component.d.ts +1 -1
  470. package/lib/admin/architecture/icon-picker.component.d.ts +5 -3
  471. package/lib/admin/core/ace.input.d.ts +2 -5
  472. package/lib/admin/core/localized-string.component.d.ts +3 -2
  473. package/lib/admin/document-trace/document-trace.component.d.ts +6 -5
  474. package/lib/admin/document-trace/reassign.dialog.d.ts +2 -2
  475. package/lib/admin/document-trace/timeline.d.ts +2 -2
  476. package/lib/admin/form/designer/box-designer.component.d.ts +11 -11
  477. package/lib/admin/form/designer/section.component.d.ts +5 -5
  478. package/lib/admin/form/workflow/node-ref.d.ts +1 -1
  479. package/lib/admin/form/workflow/node.component.d.ts +3 -2
  480. package/lib/admin/form/workflow/role-node.component.d.ts +11 -11
  481. package/lib/admin/form/workflow/workflow.component.d.ts +5 -4
  482. package/lib/admin/indices/manage-cube-index.component.d.ts +3 -3
  483. package/lib/admin/patterns/patterns.component.d.ts +2 -2
  484. package/lib/admin/positions/positions-popup.component.d.ts +1 -1
  485. package/lib/admin/positions/positions.component.d.ts +6 -6
  486. package/lib/admin/profiler/outofoffice.component.d.ts +15 -15
  487. package/lib/admin/profiler/profiler.component.d.ts +3 -3
  488. package/lib/admin/system.service.d.ts +11 -12
  489. package/lib/admin/utility-ref.d.ts +2 -2
  490. package/lib/browse/browse-items.component.d.ts +6 -7
  491. package/lib/browse/browse.mobile.component.d.ts +2 -2
  492. package/lib/browse/browse.pane.component.d.ts +2 -2
  493. package/lib/browse/filter/filter.component.d.ts +10 -11
  494. package/lib/chat/chat-info.d.ts +1 -1
  495. package/lib/chat/chat.service.d.ts +1 -1
  496. package/lib/chat/conversation.component.d.ts +2 -2
  497. package/lib/compose/action/action.base.d.ts +2 -1
  498. package/lib/compose/action/assign-action.component.d.ts +5 -5
  499. package/lib/compose/action/moveto-action.component.d.ts +3 -3
  500. package/lib/compose/action/return-action.component.d.ts +4 -4
  501. package/lib/compose/box/box.component.d.ts +1 -1
  502. package/lib/compose/comments/comments.component.d.ts +4 -4
  503. package/lib/compose/compose.mobile.component.d.ts +5 -5
  504. package/lib/compose/compose.pane.component.d.ts +3 -3
  505. package/lib/compose/copy/copy.dialog.d.ts +1 -1
  506. package/lib/compose/form-ref.d.ts +5 -5
  507. package/lib/compose/form.component.d.ts +36 -2
  508. package/lib/compose/new-menu.component.d.ts +2 -1
  509. package/lib/compose/privilage.directive.d.ts +1 -1
  510. package/lib/compose/tag/tags.component.d.ts +1 -1
  511. package/lib/compose/trace/flow.component.d.ts +1 -0
  512. package/lib/compose/trace/people.component.d.ts +5 -2
  513. package/lib/compose/trace/trace.base.d.ts +1 -1
  514. package/lib/compose/version-compare/version-compare.directive.d.ts +1 -1
  515. package/lib/core/account.service.d.ts +1 -1
  516. package/lib/core/authentication.d.ts +1 -1
  517. package/lib/core/avatar/avatar.component.d.ts +14 -11
  518. package/lib/core/base.d.ts +9 -9
  519. package/lib/core/datasource.service.d.ts +1 -1
  520. package/lib/core/document-factory.service.d.ts +0 -1
  521. package/lib/core/fields/address.designer.d.ts +3 -3
  522. package/lib/core/fields/address.field.d.ts +1 -1
  523. package/lib/core/fields/autocomplete.field.d.ts +5 -5
  524. package/lib/core/fields/axes-picker.designer.d.ts +3 -3
  525. package/lib/core/fields/axes-picker.field.d.ts +1 -1
  526. package/lib/core/fields/checkbox.designer.d.ts +2 -2
  527. package/lib/core/fields/checkbox.field.d.ts +1 -1
  528. package/lib/core/fields/checklist.designer.d.ts +4 -4
  529. package/lib/core/fields/checklist.field.d.ts +1 -2
  530. package/lib/core/fields/date-range.designer.d.ts +6 -6
  531. package/lib/core/fields/date-range.field.d.ts +2 -2
  532. package/lib/core/fields/date.designer.d.ts +5 -5
  533. package/lib/core/fields/file.designer.d.ts +3 -3
  534. package/lib/core/fields/html.designer.d.ts +4 -4
  535. package/lib/core/fields/input.designer.d.ts +8 -9
  536. package/lib/core/fields/numeric.designer.d.ts +7 -7
  537. package/lib/core/fields/options.base.d.ts +1 -1
  538. package/lib/core/fields/radio-button.designer.d.ts +3 -3
  539. package/lib/core/fields/radio-button.field.d.ts +2 -3
  540. package/lib/core/fields/select.designer.d.ts +5 -5
  541. package/lib/core/fields/select.field.d.ts +1 -2
  542. package/lib/core/fields/signature.designer.d.ts +2 -2
  543. package/lib/core/fields/switch.field.d.ts +1 -1
  544. package/lib/core/fields/textarea.designer.d.ts +6 -6
  545. package/lib/core/fields/time.designer.d.ts +5 -5
  546. package/lib/core/fields/yesno.designer.d.ts +3 -3
  547. package/lib/core/fields/yesno.field.d.ts +1 -1
  548. package/lib/core/firebase.service.d.ts +1 -1
  549. package/lib/core/functions.d.ts +7 -4
  550. package/lib/core/guide/help-tip.component.d.ts +1 -1
  551. package/lib/core/http.interceptor.d.ts +1 -1
  552. package/lib/core/hub.service.d.ts +2 -2
  553. package/lib/core/inputs/address.input.d.ts +5 -4
  554. package/lib/core/inputs/auto-complete.input.d.ts +4 -4
  555. package/lib/core/inputs/combination-picker-body.d.ts +2 -2
  556. package/lib/core/inputs/file.input.d.ts +4 -4
  557. package/lib/core/inputs/time-picker.d.ts +2 -2
  558. package/lib/core/inputs/timespan.input.d.ts +7 -7
  559. package/lib/core/{lottie-animation.d.ts → lottie-animation.exp.d.ts} +0 -1
  560. package/lib/core/mailbox.service.d.ts +2 -3
  561. package/lib/core/models.d.ts +6 -5
  562. package/lib/core/pipes/filter.pipe.d.ts +7 -0
  563. package/lib/core/pipes/localized-string.pipe.d.ts +1 -1
  564. package/lib/core/pipes/sort.pipe.d.ts +1 -6
  565. package/lib/core/pipes/time-ago.pipe.d.ts +1 -1
  566. package/lib/core/pipes/user-name.pipe.d.ts +1 -1
  567. package/lib/core/popup/popup-ref.d.ts +4 -4
  568. package/lib/core/popup/tooltip.directive.d.ts +2 -3
  569. package/lib/core/router.d.ts +3 -3
  570. package/lib/core/session.service.d.ts +10 -7
  571. package/lib/core/slots/pane-ref.d.ts +18 -18
  572. package/lib/core/slots/router.directive.d.ts +2 -2
  573. package/lib/core/slots/router.service.d.ts +3 -3
  574. package/lib/core/slots/slots.component.d.ts +3 -3
  575. package/lib/core/sticky-toolbar.exp.d.ts +1 -0
  576. package/lib/core/tagging/edit-input.component.d.ts +5 -5
  577. package/lib/core/tagging/emoji.component.d.ts +1 -1
  578. package/lib/core/tagging/tagging.component-base.d.ts +1 -1
  579. package/lib/core/tagging/tagging.directive.d.ts +1 -1
  580. package/lib/core/tagging/tagging.pipe.d.ts +1 -1
  581. package/lib/core/translate.service.d.ts +2 -2
  582. package/lib/core/translations.d.ts +2 -1049
  583. package/lib/core/virtual-tabs.component.exp.d.ts +2 -2
  584. package/lib/core/window-title.service.d.ts +2 -1
  585. package/lib/cube/accum/accum.component.d.ts +1 -1
  586. package/lib/cube/chart/chart.component.d.ts +5 -5
  587. package/lib/cube/cube-info.service.d.ts +1 -1
  588. package/lib/cube/cube.service.d.ts +2 -2
  589. package/lib/cube/declarations.d.ts +3 -3
  590. package/lib/cube/explore/explore-items.component.d.ts +2 -2
  591. package/lib/cube/filter/filter.component.d.ts +1 -1
  592. package/lib/cube/grid/grid.component.d.ts +4 -4
  593. package/lib/cube/matrix/matrix.base.d.ts +9 -8
  594. package/lib/cube/matrix/matrix.pane.component.d.ts +2 -1
  595. package/lib/cube/matrix/table.component.d.ts +3 -3
  596. package/lib/cube/pivot/pivot.component.d.ts +6 -7
  597. package/lib/cube/spreadsheet/spreadsheet.component.d.ts +3 -3
  598. package/lib/cube/sum/sum.component.d.ts +5 -5
  599. package/lib/cube/view-base.d.ts +3 -2
  600. package/lib/cube/view.mobile.component.d.ts +1 -1
  601. package/lib/dashboard/cube/accum-cube.widget.d.ts +0 -1
  602. package/lib/dashboard/cube/cube-analysis.base.d.ts +9 -6
  603. package/lib/dashboard/cube/filter/filter.component.d.ts +3 -2
  604. package/lib/dashboard/recents/recents.widget.d.ts +5 -6
  605. package/lib/dashboard/score/activity.widget.d.ts +1 -0
  606. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -0
  607. package/lib/dashboard/score/personal-score.widget.d.ts +2 -4
  608. package/lib/desktop.module.d.ts +5 -6
  609. package/lib/home/about/about.dialog.d.ts +2 -2
  610. package/lib/home/home-base.component.d.ts +2 -0
  611. package/lib/home/home.desktop.component.d.ts +6 -9
  612. package/lib/home/home.mobile.component.d.ts +4 -6
  613. package/lib/home/notifications/notifications.component.d.ts +3 -5
  614. package/lib/home/outofoffice/outofoffice.component.d.ts +3 -3
  615. package/lib/home/sign/sign.component.d.ts +4 -2
  616. package/lib/impersonate/impersonate.component.d.ts +11 -12
  617. package/lib/mobile.module.d.ts +3 -3
  618. package/lib/modules/chart.module.d.ts +1 -0
  619. package/lib/modules/circular-gauge.module.d.ts +1 -0
  620. package/lib/modules/diagram.module.d.ts +1 -0
  621. package/lib/modules/gantt.module.d.ts +1 -0
  622. package/lib/modules/grid.module.d.ts +1 -0
  623. package/lib/modules/pivot.module.d.ts +1 -0
  624. package/lib/modules/schedule.module.d.ts +1 -0
  625. package/lib/notifications/filter.component.d.ts +2 -2
  626. package/lib/options/options.component.d.ts +54 -31
  627. package/lib/options/options.desktop.component.d.ts +10 -0
  628. package/lib/options/options.mobile.component.d.ts +9 -0
  629. package/lib/reports/arguments-component.d.ts +2 -2
  630. package/lib/reports/cube/performance-hilo.component.d.ts +1 -1
  631. package/lib/reports/cube/performance-wind.component.d.ts +2 -2
  632. package/lib/reports/cube/usage-args.component.d.ts +3 -1
  633. package/lib/reports/cube/usage-base.d.ts +9 -7
  634. package/lib/reports/cube/usage-pivot.component.d.ts +1 -1
  635. package/lib/reports/report.mobile.component.d.ts +3 -1
  636. package/lib/search/cube.component.d.ts +1 -1
  637. package/lib/search/declarations.d.ts +2 -2
  638. package/lib/shared.module.d.ts +154 -153
  639. package/lib/views/cube/chart.component.d.ts +2 -2
  640. package/lib/views/cube/cube-base.d.ts +6 -6
  641. package/lib/views/cube/sum.component.d.ts +2 -2
  642. package/lib/views/timeline/timeline.component.d.ts +3 -2
  643. package/lib/views/views.component.d.ts +1 -1
  644. package/package.json +7 -7
  645. package/public-api.d.ts +3 -2
  646. package/assets/themes/readme.md +0 -0
  647. package/esm2022/lib/core/lottie-animation.mjs +0 -48
  648. package/esm2022/lib/home/options/options.component.mjs +0 -97
  649. package/esm2022/lib/options/options.service.mjs +0 -42
  650. package/lib/home/options/options.component.d.ts +0 -45
  651. package/lib/options/options.service.d.ts +0 -14
@@ -46,7 +46,7 @@ export class SessionService {
46
46
  this._themeChange = new Subject();
47
47
  this.loaded = this._loaded.asObservable();
48
48
  this.themeChange = this._themeChange.asObservable();
49
- this._firebase = new FirebaseService(this._config ? this._config.firebase : null, this);
49
+ this._firebase = new FirebaseService(this._config ? this._config.firebase : undefined, this);
50
50
  iconRegistry.addSvgIconLiteral('excel', sanitizer.bypassSecurityTrustHtml(EXCEL_ICON));
51
51
  iconRegistry.addSvgIconLiteral('word', sanitizer.bypassSecurityTrustHtml(WORD_ICON));
52
52
  iconRegistry.addSvgIconLiteral('powerpoint', sanitizer.bypassSecurityTrustHtml(POWERPOINT_ICON));
@@ -79,7 +79,8 @@ export class SessionService {
79
79
  get theme() {
80
80
  if (!this._theme) {
81
81
  const name = localStorage.getItem('theme');
82
- this._theme = name ? this.Themes.find(t => t.name === name) : this.Themes[0];
82
+ this._theme = name ? this.Themes.find(t => t.name === name) :
83
+ this.Themes[0];
83
84
  }
84
85
  return this._theme;
85
86
  }
@@ -190,9 +191,17 @@ export class SessionService {
190
191
  registerDevice(type, token) {
191
192
  return this._http.post('/api/account/registerDevice', { type, token });
192
193
  }
193
- mayImpersonate(search) {
194
- return this._http.put('/api/account/granted', {
195
- search
194
+ /**
195
+ *
196
+ * @param search
197
+ * @returns
198
+ */
199
+ listImpersonate(search) {
200
+ const params = {};
201
+ if (search)
202
+ params['search'] = search;
203
+ return this._http.get('/api/account/granted', {
204
+ params
196
205
  });
197
206
  }
198
207
  impersonate(userId) {
@@ -267,14 +276,14 @@ export class SessionService {
267
276
  const maps = loader.importLibrary('maps');
268
277
  return maps;
269
278
  }
270
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: i3.HubService }, { token: i4.MatIconRegistry }, { token: i5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
271
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SessionService, providedIn: 'root' }); }
279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: i3.HubService }, { token: i4.MatIconRegistry }, { token: i5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
280
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionService, providedIn: 'root' }); }
272
281
  }
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SessionService, decorators: [{
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionService, decorators: [{
274
283
  type: Injectable,
275
284
  args: [{ providedIn: 'root' }]
276
285
  }], ctorParameters: () => [{ type: undefined, decorators: [{
277
286
  type: Inject,
278
287
  args: [BIZDOC_CONFIG]
279
288
  }] }, { type: i1.HttpClient }, { type: i2.CookieService }, { type: i3.HubService }, { type: i4.MatIconRegistry }, { type: i5.DomSanitizer }] });
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBMkMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7OztBQUc3QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSxLQUFLO0NBQ2IsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLDQ4Q0FBNDhDLEVBQzc5QyxTQUFTLEdBQUcsbS9DQUFtL0MsRUFDLy9DLGVBQWUsR0FBRyx3M0NBQXczQyxFQUMxNEMsUUFBUSxHQUFHLDAxRUFBMDFFLENBQUM7QUFFeDJFLE1BQU0sTUFBTSxHQUFZO0lBQ3RCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVB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bmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IExvYWRlciB9IGZyb20gXCJAZ29vZ2xlbWFwcy9qcy1hcGktbG9hZGVyXCJcclxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcsIEdvb2dsZU1hcHNTZXR0aW5ncywgVGhlbWUgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBQcm9maWxlLCBVc2VySW5mbywgQXZhaWxhYmlsaXR5U3RhdGUsIE9wdGlvbnMsIEdlbmRlciB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlyZWJhc2VTZXJ2aWNlLCBGaXJlYmFzZVN0YXRlIH0gZnJvbSAnLi9maXJlYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4vaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNQVRFUklBTF9QQUxFVFRFUyB9IGZyb20gJy4vY29sb3JzJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2RlIH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVYVEVOVElPTl9JQ09OUyA9IHtcclxuICAneGxzeCc6ICdleGNlbCcsXHJcbiAgJ2RvY3gnOiAnd29yZCcsXHJcbiAgJ3BwdHgnOiAncG93ZXJwb2ludCcsXHJcbiAgJ3BkZic6ICdwZGYnXHJcbn07XHJcblxyXG5jb25zdCBFWENFTF9JQ09OID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNjQgNjRcIj48cGF0aCBkPVwiTTM4LDhIMTkuMzMzNUEyLjMzMzczLDIuMzMzNzMsMCwwLDAsMTcsMTAuMzMzNVYyMEgzOFpcIiBmaWxsPVwiIzIxYTM2NlwiLz48cGF0aCBkPVwiTTU2LjY2NjUsOEgzOFYyMEg1OVYxMC4zMzM1QTIuMzMzNzMsMi4zMzM3MywwLDAsMCw1Ni42NjY1LDhaXCIgZmlsbD1cIiMzM2M0ODFcIi8+PHJlY3QgeD1cIjM4XCIgeT1cIjMyXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIiMxMDdjNDFcIi8+PHBhdGggZD1cIk0zOCw0NFYzMkgxN1Y1My42NjY1QTIuMzMzNzMsMi4zMzM3MywwLDAsMCwxOS4zMzM1LDU2aDM3LjMzM0EyLjMzMzczLDIuMzMzNzMsMCwwLDAsNTksNTMuNjY2NVY0NFpcIiBmaWxsPVwiIzE4NWMzN1wiLz48cmVjdCB4PVwiMTdcIiB5PVwiMjBcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwiIzEwN2M0MVwiLz48cmVjdCB4PVwiMzhcIiB5PVwiMjBcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwiIzIxYTM2NlwiLz48cGF0aCBkPVwiTTMzLDIwLjMzMDA4VjQ2LjY2OTkyYTEuNzM0NDQsMS43MzQ0NCwwLDAsMS0uMDQuMzk5OUEyLjMxMzc4LDIuMzEzNzgsMCwwLDEsMzAuNjY5OTIsNDlIMTdWMThIMzAuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMzMsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMlwiLz48cGF0aCBkPVwiTTM0LDIwLjMzMDA4VjQ0LjY2OTkyQTMuMzYxNzEsMy4zNjE3MSwwLDAsMSwzMC42Njk5Miw0OEgxN1YxN0gzMC42Njk5MkEzLjM0MTc3LDMuMzQxNzcsMCwwLDEsMzQsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMVwiLz48cGF0aCBkPVwiTTMzLDIwLjMzMDA4VjQ0LjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMwLjY2OTkyLDQ3SDE3VjE4SDMwLjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMzLDIwLjMzMDA4WlwiIG9wYWNpdHk9XCIwLjJcIi8+PHBhdGggZD1cIk0zMiwyMC4zMzAwOFY0NC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwyOS42Njk5Miw0N0gxN1YxOEgyOS42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMiwyMC4zMzAwOFpcIiBvcGFjaXR5PVwiMC4xXCIvPjxyZWN0IHg9XCI0XCIgeT1cIjE4LjAwMDAyXCIgd2lkdGg9XCIyNy45OTk5NlwiIGhlaWdodD1cIjI3Ljk5OTk2XCIgcng9XCIyLjMzMzMzXCIgZmlsbD1cIiMxMDdjNDFcIi8+PHBhdGggZD1cIk0xMS4yMjU2LDM5LjU4MzVsNC45MDc1OS03LjYwNDY1LTQuNDk1MS03LjU2MjM1aDMuNjE3MjRsMi40NTM3OSw0LjgzMzU2cS4zMzgzOS42ODc2My40NjUzOCwxLjAyNTk0aC4wMzE3M3EuMjQzMTgtLjU0OTg0LjUwNzY4LTEuMDY4MjVsMi42MjMtNC43OTEyNUgyNC42NThsLTQuNjExNDUsNy41Miw0LjcyNzc5LDcuNjQ3SDIxLjI0MTc0TDE4LjQwNzE4LDM0LjI3NGE0LjQzMjU1LDQuNDMyNTUsMCwwLDEtLjMzODQ1LS43MDg2NGgtLjA0MjMxYTMuMzQ1LDMuMzQ1LDAsMCwxLS4zMjc4OC42ODc0OUwxNC43NzkzNywzOS41ODM1WlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPicsXHJcbiAgV09SRF9JQ09OID0gJzxzdmcgdmlld0JveD1cIjAgMCA1NjAgNDAwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIGZpbGwtcnVsZT1cIm5vbnplcm9cIj48cGF0aCBkPVwibTM4MC44MjkgMTAzLjc1M2gtMTQ2LjY1OWMtNS4wMjggMC05LjE2NSA0LjEzNy05LjE2NSA5LjE2NXYzOC45NTlsODIuNDk4IDI0LjA2MiA4Mi40OTctMjQuMDYydi0zOC45NTljMC01LjAyOC00LjEzNy05LjE2NS05LjE2NC05LjE2NXpcIiBmaWxsPVwiIzQxYTVlZVwiLz48cGF0aCBkPVwibTM4OS45OTMgMTUxLjg3N2gtMTY0Ljk5NHY0OC4xMjNsODIuNDk3IDI0LjA2MiA4Mi40OTctMjQuMDYyelwiIGZpbGw9XCIjMmI3Y2QzXCIvPjxwYXRoIGQ9XCJtMzg5Ljk5MyAyMDBoLTE2NC45OTR2NDguMTI0bDgyLjQ5NyAyNC4wNjEgODIuNDk3LTI0LjA2MXpcIiBmaWxsPVwiIzE4NWFiZFwiLz48cGF0aCBkPVwibTM4OS45OTMgMjQ4LjEyNGgtMTY0Ljk5NHYzOC45NTljMCA1LjAyNyA0LjEzNiA5LjE2NCA5LjE2MyA5LjE2NGgxNDYuNjZjNS4wMjcgMCA5LjE2NC00LjEzNyA5LjE2NC05LjE2NHpcIiBmaWxsPVwiIzEwM2Y5MVwiLz48cGF0aCBkPVwibTI4NC41ODIgMTM4LjEyN2gtNTkuNTgzdjEzMC42MjFoNTkuNTgzYzUuMDIyLS4wMTUgOS4xNDktNC4xNDMgOS4xNjQtOS4xNjR2LTExMi4yODZjLS4wMTUtNS4wMjEtNC4xNDItOS4xNDktOS4xNjQtOS4xNjR6XCIgZmlsbC1vcGFjaXR5PVwiLjA5ODAzOVwiLz48cGF0aCBkPVwibTI3Ny43MDggMTQ1LjAwMmgtNTIuNzA5djEzMC42MjFoNTIuNzA5YzUuMDIxLS4wMTUgOS4xNDktNC4xNDMgOS4xNjMtOS4xNjV2LTExMi4yODVjLS4wMTQtNS4wMjEtNC4xNDItOS4xNDktOS4xNjMtOS4xNjR6bTAgMGgtNTIuNzA5djExNi44NzFoNTIuNzA5YzUuMDIxLS4wMTUgOS4xNDktNC4xNDMgOS4xNjMtOS4xNjR2LTk4LjUzNmMtLjAxNC01LjAyMS00LjE0Mi05LjE0OS05LjE2My05LjE2NHptLTYuODc1IDBoLTQ1LjgzNHYxMTYuODcxaDQ1LjgzNGM1LjAyMS0uMDE1IDkuMTQ5LTQuMTQzIDkuMTYzLTkuMTY0di05OC41MzZjLS4wMTQtNS4wMjEtNC4xNDItOS4xNDktOS4xNjMtOS4xNjR6XCIgZmlsbC1vcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIm0xNzkuMTY0IDE0NS4wMDJoOTEuNjYxYzUuMDI4IDAgOS4xNjUgNC4xMzYgOS4xNjUgOS4xNjR2OTEuNjYyYzAgNS4wMjctNC4xMzcgOS4xNjMtOS4xNjUgOS4xNjNoLTkxLjY2MWMtNS4wMjcgMC05LjE2NC00LjEzNi05LjE2NC05LjE2M3YtOTEuNjYyYzAtNS4wMjggNC4xMzctOS4xNjQgOS4xNjQtOS4xNjR6XCIgZmlsbD1cIiMxODVhYmRcIi8+PHBhdGggZD1cIm0yNTIuMTU0IDIzNC4zNzRoLTEyLjM3NWwtMTQuNDM3LTQ3LjQzNi0xNS4xMjUgNDcuNDM2aC0xMi4zNzRsLTEzLjc1LTY4Ljc0OGgxMi4zNzVsOS42MjQgNDguMTIzIDE0LjQzOC00Ni43NDhoMTAuMzEybDEzLjc1IDQ2Ljc0OCA5LjYyNC00OC4xMjNoMTEuNjg3elwiIGZpbGw9XCIjZmZmXCIvPjwvZz48cGF0aCBkPVwibTE3MCA5MC4wMDRoMjE5Ljk5M3YyMTkuOTkzaC0yMTkuOTkzelwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicsXHJcbiAgUE9XRVJQT0lOVF9JQ09OID0gJzxzdmcgdmlld0JveD1cIi0wLjEyOTc5MzcyNjk4MDc3Nzg1IDAgMzIuMTUyMzg5MzAxMTc2NzU0IDMyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjUwMFwiIGhlaWdodD1cIjI0NzhcIj48cGF0aCBkPVwiTTE4IDJBMTQuMDQxIDE0LjA0MSAwIDAgMCA0IDE2bDE3LjczNyAzLjczN3pcIiBmaWxsPVwiI2VkNmM0N1wiLz48cGF0aCBkPVwiTTE4IDJhMTQuMDQxIDE0LjA0MSAwIDAgMSAxNCAxNGwtNyA0Ljc1OEwxOCAxNnpcIiBmaWxsPVwiI2ZmOGY2YlwiLz48cGF0aCBkPVwiTTE4IDMwYTE0LjA0MSAxNC4wNDEgMCAwIDAgMTQtMTRINGExNC4wNDEgMTQuMDQxIDAgMCAwIDE0IDE0elwiIGZpbGw9XCIjZDM1MjMwXCIvPjxwYXRoIGQ9XCJNMTYuNjY2IDdoLTkuMzZhMTMuOTE0IDEzLjkxNCAwIDAgMCAuOTMgMTloOC40M0ExLjMzNyAxLjMzNyAwIDAgMCAxOCAyNC42NjdWOC4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTYuNjY2IDd6XCIgb3BhY2l0eT1cIi4xXCIvPjxwYXRoIGQ9XCJNMTUuNjY2IDhINi41NGExMy45MDYgMTMuOTA2IDAgMCAwIDIuODQ1IDE5aDYuMjgyQTEuMzM3IDEuMzM3IDAgMCAwIDE3IDI1LjY2N1Y5LjMzM0ExLjMzNyAxLjMzNyAwIDAgMCAxNS42NjYgOHpcIiBvcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIk0xNS42NjYgOEg2LjU0YTEzLjg5IDEzLjg5IDAgMCAwIC43NjYgMTdoOC4zNjFBMS4zMzcgMS4zMzcgMCAwIDAgMTcgMjMuNjY3VjkuMzMzQTEuMzM3IDEuMzM3IDAgMCAwIDE1LjY2NiA4elwiIG9wYWNpdHk9XCIuMlwiLz48cGF0aCBkPVwiTTE0LjY2NiA4SDYuNTRhMTMuODkgMTMuODkgMCAwIDAgLjc2NiAxN2g3LjM2MUExLjMzNyAxLjMzNyAwIDAgMCAxNiAyMy42NjdWOS4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTQuNjY2IDh6XCIgb3BhY2l0eT1cIi4yXCIvPjxwYXRoIGQ9XCJNMS4zMzMgOGgxMy4zMzRBMS4zMzMgMS4zMzMgMCAwIDEgMTYgOS4zMzN2MTMuMzM0QTEuMzMzIDEuMzMzIDAgMCAxIDE0LjY2NyAyNEgxLjMzM0ExLjMzMyAxLjMzMyAwIDAgMSAwIDIyLjY2N1Y5LjMzM0ExLjMzMyAxLjMzMyAwIDAgMSAxLjMzMyA4elwiIGZpbGw9XCIjYzQzZTFjXCIvPjxwYXRoIGQ9XCJNNy45OTcgMTFhNC4xNjggNC4xNjggMCAwIDEgMi43NTUuODA1IDIuODc4IDIuODc4IDAgMCAxIC45NTYgMi4zMzEgMi43MjYgMi43MjYgMCAwIDEtLjQ3MyAxLjU4OCAzLjE2NCAzLjE2NCAwIDAgMS0xLjM0NCAxLjE4NiA0LjU3IDQuNTcgMCAwIDEtMi4wMi40MjRoLTEuOTFWMjFINFYxMXpNNS45NiAxNS42ODNoMS42ODdhMi4xOTQgMi4xOTQgMCAwIDAgMS40OTItLjQ0NCAxLjEwNyAxLjEwNyAwIDAgMCAuNTA0LTEuMDI2cTAtMS42NTktMS45MzMtMS42NTlINS45NnpcIiBmaWxsPVwiI2Y5ZjdmN1wiLz48cGF0aCBkPVwiTTAgMGgzMnYzMkgwelwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicsXHJcbiAgUERGX0lDT04gPSAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCAxNCAxNlwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCI+PHBvbHlnb24gcG9pbnRzPVwiNTEuNzkxIDM1Ni42NSA1MS43OTEgMjMuOTkgMjA0LjUgMjMuOTkgMjgyLjY1IDEwMi4wNyAyODIuNjUgMzU2LjY1XCIgZmlsbD1cIiNmZmZcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIi8+PHBhdGggZD1cIm0yMDEuMTkgMzEuOTkgNzMuNDYgNzMuMzkzdjI0My4yNmgtMjE0Ljg2di0zMTYuNjZoMTQxLjRtNi42MjMtMTZoLTE2NC4wMnYzNDguNjZoMjQ2Ljg1di0yNjUuOXpcIiBzdHJva2Utd2lkdGg9XCIyMS43OTFcIi8+PC9nPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCI+PHBvbHlnb24gcG9pbnRzPVwiMjgyLjY1IDM1Ni42NSA1MS43OTEgMzU2LjY1IDUxLjc5MSAyMy45OSAyMDQuNSAyMy45OSAyMDYuMzEgMjUuOCAyMDYuMzEgMTAwLjMzIDI4MC45IDEwMC4zMyAyODIuNjUgMTAyLjA3XCIgZmlsbD1cIiNmZmZcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIi8+PHBhdGggZD1cIm0xOTguMzEgMzEuOTl2NzYuMzM3aDc2LjMzN3YyNDAuMzJoLTIxNC44NnYtMzE2LjY2aDEzOC41Mm05LjUtMTZoLTE2NC4wMnYzNDguNjZoMjQ2Ljg1di0yNjUuOWwtNi40My02LjQyNGgtNjkuOTA3di02OS44NDJ6XCIgc3Ryb2tlLXdpZHRoPVwiMjEuNzkxXCIvPjwvZz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiPjxwb2x5Z29uIHBvaW50cz1cIjI1OC4zMSA4Ny43NSAyMTkuNjQgODcuNzUgMjE5LjY0IDQ4LjY2NyAyNTguMzEgODYuMzhcIi8+XHRcdDxwYXRoIGQ9XCJtMjI3LjY0IDY3LjY0NiAxMi40MSAxMi4xMDRoLTEyLjQxdi0xMi4xMDRtLTUuMDAyLTI3LjIyOWgtMTAuOTk4djU1LjMzM2g1NC42NjZ2LTEyLjc0MnpcIi8+PC9nPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCIgZmlsbD1cIiNlZDFjMjRcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIj48cG9seWdvbiBwb2ludHM9XCIzMTEuODkgMjg0LjQ5IDIyLjU0NCAyODQuNDkgMjIuNTQ0IDE2Ny42OCAzNy4yOTEgMTUyLjk0IDM3LjI5MSAxNzEuNDkgMjk3LjE1IDE3MS40OSAyOTcuMTUgMTUyLjk0IDMxMS44OSAxNjcuNjhcIi8+PHBhdGggZD1cIm0zMDMuNjUgMTY4LjYzIDEuNzQ3IDEuNzQ3djEwNy42MmgtMjc2LjM1di0xMDcuNjJsMS43NDctMS43NDd2OS4zNjJoMjcyLjg1di05LjM2Mm0tMTIuOTk5LTMxLjM4NXYyNy43NDdoLTI0Ni44NnYtMjcuNzQ3bC0yNy43NDcgMjcuNzQ3djEyNmgzMDIuMzV2LTEyNnpcIi8+PC9nPjxyZWN0IHg9XCIxLjcyMTlcIiB5PVwiNy45NTQ0XCIgd2lkdGg9XCIxMC42ODRcIiBoZWlnaHQ9XCI0LjAzMDdcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgMS43MjE5IDExLjczMylcIiBmaWxsPVwiI2ZmZlwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiIGFyaWEtbGFiZWw9XCJQREZcIj48cGF0aCBkPVwibTkuMjE2IDB2LTgzLjJoMzAuNDY0cTYuNzg0IDAgMTIuOTI4IDEuNDA4IDYuMTQ0IDEuMjggMTAuNzUyIDQuNjA4IDQuNjA4IDMuMiA3LjI5NiA4LjU3NiAyLjgxNiA1LjI0OCAyLjgxNiAxMy4wNTYgMCA3LjY4LTIuODE2IDEzLjE4NC0yLjY4OCA1LjUwNC03LjI5NiA5LjA4OC00LjYwOCAzLjQ1Ni0xMC42MjQgNS4yNDgtNi4wMTYgMS42NjQtMTIuNTQ0IDEuNjY0aC04Ljk2djI2LjM2OHptMjIuMDE2LTQzLjc3Nmg3LjkzNnE2LjUyOCAwIDkuNi0zLjA3MiAzLjItMy4wNzIgMy4yLTguNzA0dC0zLjQ1Ni03LjkzNi05Ljg1Ni0yLjMwNGgtNy40MjR6XCIvPjxwYXRoIGQ9XCJtODcuMDQgMHYtODMuMmgyNC41NzZxOS40NzIgMCAxNy4yOCAyLjMwNCA3LjkzNiAyLjMwNCAxMy41NjggNy4yOTZ0OC43MDQgMTIuOHEzLjIgNy44MDggMy4yIDE4LjgxNnQtMy4wNzIgMTguOTQ0LTguNzA0IDEzLjA1NnEtNS41MDQgNS4xMi0xMy4xODQgNy41NTItNy41NTIgMi40MzItMTYuNTEyIDIuNDMyem0yMi4wMTYtMTcuNjY0aDEuMjhxNC40OCAwIDguNDQ4LTEuMDI0IDMuOTY4LTEuMTUyIDYuNzg0LTMuODQgMi45NDQtMi42ODggNC42MDgtNy40MjR0MS42NjQtMTIuMDMyLTEuNjY0LTExLjkwNC00LjYwOC03LjE2OHEtMi44MTYtMi41Ni02Ljc4NC0zLjQ1Ni0zLjk2OC0xLjAyNC04LjQ0OC0xLjAyNGgtMS4yOHpcIi8+PHBhdGggZD1cIm0xNjkuMjIgMHYtODMuMmg1NC4yNzJ2MTguNDMyaC0zMi4yNTZ2MTUuODcyaDI3LjY0OHYxOC40MzJoLTI3LjY0OHYzMC40NjR6XCIvPjwvZz48L3N2Zz4nO1xyXG5cclxuY29uc3QgVEhFTUVTOiBUaGVtZVtdID0gW1xyXG4gIHsgbmFtZTogJ2RlZmF1bHQnLCBwcmltYXJ5OiAncHVycGxlJywgY29sb3I6ICdwdXJwbGUnLCBhY2NlbnQ6ICdhbWJlcicsIHRpdGxlOiAnUHVycGxlVGhlbWUnIH0sXHJcbiAgeyBuYW1lOiAnaW5kaWdvJywgcHJpbWFyeTogJ2luZGlnbycsIGNvbG9yOiAnIzNmNTFiNScsIGFjY2VudDogJ3BpbmsnLCB0aXRsZTogJ0luZGlnb1RoZW1lJyB9LFxyXG4gIHsgbmFtZTogJ2dyZWVuJywgcHJpbWFyeTogJ2dyZWVuJywgY29sb3I6ICcjNENBRjUwJywgYWNjZW50OiAnYW1iZXInLCB0aXRsZTogJ0dyZWVuVGhlbWUnIH0sXHJcbiAgeyBuYW1lOiAnZGFyaycsIHByaW1hcnk6ICdkZWVwUHVycGxlJywgY29sb3I6ICcjNDA0MDQxJywgYWNjZW50OiAnYW1iZXInLCBkYXJrOiB0cnVlLCB0aXRsZTogJ0RlZXBUaGVtZScgfSxcclxuICB7IG5hbWU6ICdicm93bicsIHByaW1hcnk6ICdicm93bicsIGNvbG9yOiAnIzc5NTU0OCcsIGFjY2VudDogJ2dyZXknLCB0aXRsZTogJ0dyYXlUaGVtZScgfV07XHJcblxyXG5jb25zdCBTVVBQT1JURURfTEFOR1VBR0VTID0gWydlbicsICdoZScsICdkZScsICdhcicsICdydSddLFxyXG4gIFJUTF9MQU5HVUFMR0VTID0gWydoZScsICdhciddO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNlc3Npb25Qcm92aWRlckZhY3RvcnkocHJvdmlkZXI6IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgcmV0dXJuICgpID0+IHByb3ZpZGVyLnByZXBhcmUoKTtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TZXJ2aWNlIHtcclxuICBwcmVwYXJlKCkge1xyXG4gICAgKCdzZXJ2aWNlV29ya2VyJyBpbiBuYXZpZ2F0b3IpICYmIHRoaXMuX2xvYWRTZXJ2aWNlV29ya2VyKCk7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLm1hcHMgPyB0aGlzLl9sb2FkR29vZ2xlTWFwcygpIDogUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IFRoZW1lczogVGhlbWVbXSA9IHRoaXMuX2NvbmZpZy50aGVtZXMgfHwgVEhFTUVTO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfY29va2llczogQ29va2llU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICAgIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgnZXhjZWwnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoRVhDRUxfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd3b3JkJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFdPUkRfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdwb3dlcnBvaW50Jywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFBPV0VSUE9JTlRfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdwZGYnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoUERGX0lDT04pKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF90aGVtZUNoYW5nZSA9IG5ldyBTdWJqZWN0PFRoZW1lPigpO1xyXG4gIHJlYWRvbmx5IGxvYWRlZCA9IHRoaXMuX2xvYWRlZC5hc09ic2VydmFibGUoKTtcclxuICByZWFkb25seSB0aGVtZUNoYW5nZSA9IHRoaXMuX3RoZW1lQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgX3Byb2ZpbGU6IFByb2ZpbGU7XHJcbiAgcHJpdmF0ZSBfbGFuZzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2ZpcmViYXNlID0gbmV3IEZpcmViYXNlU2VydmljZSh0aGlzLl9jb25maWcgPyB0aGlzLl9jb25maWcuZmlyZWJhc2UgOiBudWxsLCB0aGlzKTtcclxuICBnZXQgcHJvZmlsZSgpOiBQcm9maWxlIHsgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7IH1cclxuICBnZXQgZ2VuZGVyKCk6IEdlbmRlciB7IHJldHVybiB0aGlzLnByb2ZpbGUuYnlJZCA/IHRoaXMuX3Byb2ZpbGUuYnlHZW5kZXIgOiB0aGlzLl9wcm9maWxlLmdlbmRlcjsgfVxyXG4gIGdldCBhY2NlbnRQYWxldHRlKCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHBhbGV0dGUgPSBNQVRFUklBTF9QQUxFVFRFU1t0aGlzLnRoZW1lLmFjY2VudF07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29uc3RydWN0cGFsZXR0ZShwYWxldHRlOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0pOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW3BhbGV0dGVbJzEwMCddLCBwYWxldHRlWyczMDAnXSwgcGFsZXR0ZVsnNTAwJ10sIHBhbGV0dGVbJzcwMCddLCBwYWxldHRlWyc5MDAnXSxcclxuICAgIHBhbGV0dGVbJzIwMCddLCBwYWxldHRlWyc0MDAnXSwgcGFsZXR0ZVsnNjAwJ10sIHBhbGV0dGVbJzgwMCddLCBwYWxldHRlWydoZXgnXSxcclxuICAgIHBhbGV0dGVbJ2ExMDAnXSwgcGFsZXR0ZVsnYTQwMCddLCBwYWxldHRlWydhMjAwJ10sIHBhbGV0dGVbJ2E3MDAnXV07XHJcbiAgfVxyXG5cclxuICBnZXQgcHJpbWVyeVBhbGV0dGUoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgcGFsZXR0ZSA9IE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUucHJpbWFyeV07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgZ2V0QWNjZW50KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5hY2NlbnRdW21vZGVdO1xyXG4gIH1cclxuICBnZXRHcmV5KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbJ2dyZXknXVttb2RlXTtcclxuICB9XHJcbiAgZ2V0UHJpbWVyeShtb2RlOiBNYXRlcmlhbE1vZGUgPSA1MDApOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUucHJpbWFyeV1bbW9kZV07XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RoZW1lOiBUaGVtZTtcclxuICBnZXQgdGhlbWUoKTogVGhlbWUge1xyXG4gICAgaWYgKCF0aGlzLl90aGVtZSkge1xyXG4gICAgICBjb25zdCBuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RoZW1lJyk7XHJcbiAgICAgIHRoaXMuX3RoZW1lID0gbmFtZSA/IHRoaXMuVGhlbWVzLmZpbmQodCA9PiB0Lm5hbWUgPT09IG5hbWUpIDogdGhpcy5UaGVtZXNbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fdGhlbWU7XHJcbiAgfVxyXG4gIHNldCB0aGVtZSh2YWx1ZTogVGhlbWUpIHtcclxuICAgIHRoaXMuX3RoZW1lID0gdmFsdWU7XHJcbiAgICB0aGlzLl9jaGFuZ2VUaGVtZSh2YWx1ZSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuX3RoZW1lQ2hhbmdlLm5leHQodmFsdWUpKTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0aGVtZScsIHZhbHVlLm5hbWUpO1xyXG4gIH1cclxuICBnZXQgb2soKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnByb2ZpbGUgIT09IHVuZGVmaW5lZDsgfVxyXG4gIC8qKiBsYW5ndWFnZSBkaXJlY3Rpb24gKi9cclxuICBnZXQgZGlyZWN0aW9uKCk6IERpcmVjdGlvbiB7XHJcbiAgICByZXR1cm4gUlRMX0xBTkdVQUxHRVMuaW5kZXhPZih0aGlzLmxhbmd1YWdlKSA+IC0xID8gJ3J0bCcgOiAnbHRyJztcclxuICB9XHJcbiAgZ2V0IGludmVyc2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb24gPT09ICdydGwnO1xyXG4gIH1cclxuICBnZXQgdXNlcklkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcHJvZmlsZS5ieUlkIHx8IHRoaXMucHJvZmlsZS51c2VySWQ7XHJcbiAgfVxyXG4gIGdldCBsb2NhbGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xyXG4gIH1cclxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5fbGFuZylcclxuICAgICAgdGhpcy5fbGFuZyA9IHRoaXMuX2Nvb2tpZXMuZ2V0KCdsYW5nJykgfHwgdGhpcy5fZ2V0QnJvd3NlckxhbmcoKSB8fCBTVVBQT1JURURfTEFOR1VBR0VTWzBdO1xyXG4gICAgcmV0dXJuIHRoaXMuX2xhbmc7XHJcbiAgfVxyXG4gIGdldCBhcmlhKCkgeyByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FyaWEnKSA9PT0gJzEnIH1cclxuICBzZXQgYXJpYSh2YWw6IGJvb2xlYW4pIHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FyaWEnLCB2YWwgPyAnMScgOiAnMCcpIH1cclxuICBzZXQgbGFuZ3VhZ2UoY29kZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb29raWVzLnNldCgnbGFuZycsIGNvZGUsIDM2NSwgJy8nKTtcclxuICB9XHJcbiAgZ2V0IGxhbmd1YWdlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9jb25maWcubGFuZ3VhZ2VzIHx8IFNVUFBPUlRFRF9MQU5HVUFHRVM7IH1cclxuICBnZXQgaXNJbXBlcnNvbmF0aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wcm9maWxlLmJ5SWQgIT09IHVuZGVmaW5lZDsgfVxyXG4gIC8qKiBzeXN0ZW0gYWRtaW4gKi9cclxuICBnZXQgaXNTeXN0ZW0oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlLnN5c3RlbTtcclxuICB9XHJcbiAgLyoqIG9ubGluZSBvciBzZXQgaW4gcHJvZmlsZSAqL1xyXG4gIGdldCBzdGF0ZSgpOiBBdmFpbGFiaWxpdHlTdGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlLmF2YWlsYWJsZSB8fCAnT25saW5lJztcclxuICB9XHJcbiAgc2V0IHN0YXRlKHZhbHVlOiBBdmFpbGFiaWxpdHlTdGF0ZSkge1xyXG4gICAgdGhpcy5wcm9maWxlLmF2YWlsYWJsZSA9IHZhbHVlID09PSAnT25saW5lJyA/IG51bGwgOiB2YWx1ZTtcclxuICAgIHRoaXMuX2h0dHAucHV0KGAvYXBpL2FjY291bnQvYXZhaWxhYmxlP21vZGU9JHt0aGlzLnByb2ZpbGUuYXZhaWxhYmxlIHx8ICcnfWAsIHt9KS5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgaXNJblJvbGUocm9sZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoJy9hcGkvYWNjb3VudC9pc0luUm9sZScsIHtcclxuICAgICAgcGFyYW1zOiB7IHJvbGUgfSxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgY29uc3RcclxuICAgIH0pLnBpcGUobWFwKHIgPT4gciA9PT0gJ3RydWUnKSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGdldCBpc091dE9mT2ZmaWNlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJvZmlsZS5vcHRpb25zLm91dE9mT2ZmaWNlO1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5hY3RpdmUpIHtcclxuICAgICAgY29uc3QgdG9kYXkgPSBkYXlqcygpLnN0YXJ0T2YoJ2RheScpO1xyXG4gICAgICByZXR1cm4gKCFvcHRpb25zLmZyb20gfHwgZGF5anMob3B0aW9ucy5mcm9tKS5zdGFydE9mKCdkYXknKSA8PSB0b2RheSlcclxuICAgICAgICAmJiAoIW9wdGlvbnMudG8gfHwgZGF5anMob3B0aW9ucy50bykuc3RhcnRPZignZGF5JykgPj0gdG9kYXkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKiB1cGRhdGUgcHJvZmlsZSAgKi9cclxuICB1cGRhdGUocHJvZmlsZTogT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoJy9hcGkvYWNjb3VudC91cGRhdGUnLCBwcm9maWxlKS5waXBlKHRhcCgoKSA9PlxyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3Byb2ZpbGUub3B0aW9ucywgcHJvZmlsZSkpKTtcclxuICB9XHJcbiAgLyoqIG1hcmsgZ3VpZGUgYXMgdmlzaXRlZCBpbiBwcm9maWxlICovXHJcbiAgZ3VpZGUobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9hY2NvdW50L2d1aWRlLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpfWAsIHt9LCB7IGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gfSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICBjb25zdCBndWlkZSA9IHRoaXMuX3Byb2ZpbGUuZ3VpZGVzLmZpbmQoZyA9PiBnLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgICAgIGlmIChndWlkZSkgZ3VpZGUubW9kZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLl9wcm9maWxlLm9wdGlvbnMuZ3VpZGVzLnB1c2gobmFtZSk7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcbiAgLyoqIGdldCBwcm9maWxlICovXHJcbiAgcmVmcmVzaCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbXBsZXRlID0gKHByb2ZpbGU6IFByb2ZpbGUpID0+IHtcclxuICAgICAgICB0aGlzLl9wcm9maWxlID0gcHJvZmlsZTtcclxuICAgICAgICBvYnNlcnZlLm5leHQoKTtcclxuICAgICAgICB0aGlzLl9sb2FkZWQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuX3Byb2ZpbGUgPSBwcm9maWxlO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLl9odHRwLmdldDxQcm9maWxlPignL2FwaS9hY2NvdW50L3JlZnJlc2gnKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IHIgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLl9wcm9maWxlKVxyXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VUaGVtZSh0aGlzLnRoZW1lKS5zdWJzY3JpYmUoKCkgPT4gY29tcGxldGUocikpO1xyXG4gICAgICAgICAgZWxzZSBjb21wbGV0ZShyKTtcclxuICAgICAgICAgIHRoaXMuX2h1Yi5zdGF0ZSAhPT0gSHViQ29ubmVjdGlvblN0YXRlLkNvbm5lY3RlZCAmJiB0aGlzLl9odWIuc3RhcnQoKTtcclxuICAgICAgICAgIHRoaXMuX2ZpcmViYXNlLnN0YXRlICE9PSBGaXJlYmFzZVN0YXRlLkFjdGl2YXRlZCAmJlxyXG4gICAgICAgICAgICB0aGlzLl9maXJlYmFzZS5hY3RpdmF0ZSgpO1xyXG4gICAgICAgIH0sIGVycm9yOiBvYnNlcnZlLmVycm9yXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRQcm9maWxlRXh0cmE8VCA9IGFueT4obmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8VD4oYC9hcGkvYWNjb3VudC9leHRyYS8ke25hbWV9YCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXRQcm9maWxlRXh0cmE8VCA9IGFueT4obmFtZTogc3RyaW5nLCBwcm9maWxlOiBUKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KGAvYXBpL2FjY291bnQvZXh0cmEvJHtuYW1lfWAsIHByb2ZpbGUpO1xyXG4gIH1cclxuICBwdWJsaWMgdW5yZWdpc3RlckRldmljZSh0eXBlOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hY2NvdW50L3VucmVnaXN0ZXJEZXZpY2UnLCB7IHR5cGUsIHRva2VuIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgcmVnaXN0ZXJEZXZpY2UodHlwZTogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoJy9hcGkvYWNjb3VudC9yZWdpc3RlckRldmljZScsIHsgdHlwZSwgdG9rZW4gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWF5SW1wZXJzb25hdGUoc2VhcmNoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxVc2VySW5mb1tdPignL2FwaS9hY2NvdW50L2dyYW50ZWQnLCB7XHJcbiAgICAgIHNlYXJjaFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbXBlcnNvbmF0ZSh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PFByb2ZpbGU+KCcvYXBpL2FjY291bnQvaW1wZXJzb25hdGUnLCB7XHJcbiAgICAgIHVzZXJJZFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbmJveFRvdWNoKCkge1xyXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvaW5ib3h2aWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKFxyXG4gICAgICB0YXAoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlLmluYm94Q291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLmluYm94VmlldyA9IGUudGltZTtcclxuICAgICAgfSkpKTtcclxuICB9XHJcbiAgcHVibGljIG5vdGlmaWNhdGlvbnNUb3VjaCgpIHtcclxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwLnB1dDxXYXRlcm1hcmtJbmZvPignL2FwaS9hY2NvdW50L25vdGlmaWNhdGlvbnNWaWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKHRhcChlID0+IHtcclxuICAgICAgdGhpcy5wcm9maWxlLm5vdGlmaWNhdGlvbnNDb3VudCA9IDA7XHJcbiAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLm5vdGlmaWNhdGlvbnNWaWV3ID0gZS50aW1lO1xyXG4gICAgfSkpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0QnJvd3NlckxhbmcoKTogc3RyaW5nIHtcclxuICAgIGxldCBsYW5nID0gbmF2aWdhdG9yLmxhbmd1YWdlO1xyXG4gICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmluZGV4T2YobGFuZykgPiAtMSlcclxuICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5hdmlnYXRvci5sYW5ndWFnZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZXNbaV07XHJcbiAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGxhbmcpID4gLTEpXHJcbiAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICAgIGlmIChsYW5nLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICBsYW5nID0gbGFuZy5zdWJzdHJpbmcoMCwgMikudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodGhpcy5sYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA+IC0xKVxyXG4gICAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICAgICAgbGFuZyA9IHRoaXMubGFuZ3VhZ2VzLmZpbmQobCA9PiBsLnN0YXJ0c1dpdGgobGFuZykpO1xyXG4gICAgICAgIGlmIChsYW5nKVxyXG4gICAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gdGhlbWVcclxuICAgKi9cclxuICBwcml2YXRlIF9jaGFuZ2VUaGVtZSh0aGVtZTogVGhlbWUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHN0eWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JpemRvYy10aGVtZScpIGFzIEhUTUxMaW5rRWxlbWVudDtcclxuICAgIGlmIChzdHlsZSlcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzdHlsZSk7XHJcblxyXG4gICAgaWYgKHRoZW1lLm5hbWUgPT09IHRoaXMuVGhlbWVzWzBdLm5hbWUpIHtcclxuICAgICAgcmV0dXJuIG9mKHRoZW1lKTtcclxuICAgIH1cclxuICAgIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgc3R5bGUuaWQgPSAnYml6ZG9jLXRoZW1lJztcclxuICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xyXG4gICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnO1xyXG4gICAgc3R5bGUuaHJlZiA9IGAvYXNzZXRzL3RoZW1lcy8ke3RoZW1lLm5hbWV9Lm1pbi5jc3NgO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoc3R5bGUpO1xyXG5cclxuICAgIHJldHVybiBmcm9tRXZlbnQoc3R5bGUsICdsb2FkJyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xvYWRTZXJ2aWNlV29ya2VyKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCcvanMvYXBwLXN3LmpzJykudGhlbihmdW5jdGlvbiAoKSB7XHJcbiAgICAgIH0sIG51bGwpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xvYWRHb29nbGVNYXBzKCkge1xyXG4gICAgY29uc3QgYXBpS2V5ID0gKHRoaXMuX2NvbmZpZy5tYXBzIGFzIEdvb2dsZU1hcHNTZXR0aW5ncykuYXBpS2V5O1xyXG4gICAgY29uc3QgbG9hZGVyID0gbmV3IExvYWRlcih7XHJcbiAgICAgIGFwaUtleSxcclxuICAgICAgbGlicmFyaWVzOiBbJ3BsYWNlcyddLFxyXG4gICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZSxcclxuICAgICAgdmVyc2lvbjogJ3dlZWtseScsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IG1hcHMgPSBsb2FkZXIuaW1wb3J0TGlicmFyeSgnbWFwcycpO1xyXG4gICAgcmV0dXJuIG1hcHM7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBXYXRlcm1hcmtJbmZvIHtcclxuICB0aW1lOiBEYXRlO1xyXG59XHJcbiJdfQ==
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUEyQyxNQUFNLHVCQUF1QixDQUFDO0FBRS9GLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7Ozs7O0FBRzdDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBOEI7SUFDeEQsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSxLQUFLO0NBQ2IsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLDQ4Q0FBNDhDLEVBQzc5QyxTQUFTLEdBQUcsbS9DQUFtL0MsRUFDLy9DLGVBQWUsR0FBRyx3M0NBQXczQyxFQUMxNEMsUUFBUSxHQUFHLDAxRUFBMDFFLENBQUM7QUFFeDJFLE1BQU0sTUFBTSxHQUFZO0lBQ3RCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVB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MUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQU9uQixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IExvYWRlciB9IGZyb20gXCJAZ29vZ2xlbWFwcy9qcy1hcGktbG9hZGVyXCJcclxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcsIEdvb2dsZU1hcHNTZXR0aW5ncywgVGhlbWUgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBQcm9maWxlLCBVc2VySW5mbywgQXZhaWxhYmlsaXR5U3RhdGUsIE9wdGlvbnMsIEdlbmRlciB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlyZWJhc2VTZXJ2aWNlLCBGaXJlYmFzZVN0YXRlIH0gZnJvbSAnLi9maXJlYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4vaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNQVRFUklBTF9QQUxFVFRFUyB9IGZyb20gJy4vY29sb3JzJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2RlIH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVYVEVOVElPTl9JQ09OUzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcclxuICAneGxzeCc6ICdleGNlbCcsXHJcbiAgJ2RvY3gnOiAnd29yZCcsXHJcbiAgJ3BwdHgnOiAncG93ZXJwb2ludCcsXHJcbiAgJ3BkZic6ICdwZGYnXHJcbn07XHJcblxyXG5jb25zdCBFWENFTF9JQ09OID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNjQgNjRcIj48cGF0aCBkPVwiTTM4LDhIMTkuMzMzNUEyLjMzMzczLDIuMzMzNzMsMCwwLDAsMTcsMTAuMzMzNVYyMEgzOFpcIiBmaWxsPVwiIzIxYTM2NlwiLz48cGF0aCBkPVwiTTU2LjY2NjUsOEgzOFYyMEg1OVYxMC4zMzM1QTIuMzMzNzMsMi4zMzM3MywwLDAsMCw1Ni42NjY1LDhaXCIgZmlsbD1cIiMzM2M0ODFcIi8+PHJlY3QgeD1cIjM4XCIgeT1cIjMyXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIiMxMDdjNDFcIi8+PHBhdGggZD1cIk0zOCw0NFYzMkgxN1Y1My42NjY1QTIuMzMzNzMsMi4zMzM3MywwLDAsMCwxOS4zMzM1LDU2aDM3LjMzM0EyLjMzMzczLDIuMzMzNzMsMCwwLDAsNTksNTMuNjY2NVY0NFpcIiBmaWxsPVwiIzE4NWMzN1wiLz48cmVjdCB4PVwiMTdcIiB5PVwiMjBcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwiIzEwN2M0MVwiLz48cmVjdCB4PVwiMzhcIiB5PVwiMjBcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwiIzIxYTM2NlwiLz48cGF0aCBkPVwiTTMzLDIwLjMzMDA4VjQ2LjY2OTkyYTEuNzM0NDQsMS43MzQ0NCwwLDAsMS0uMDQuMzk5OUEyLjMxMzc4LDIuMzEzNzgsMCwwLDEsMzAuNjY5OTIsNDlIMTdWMThIMzAuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMzMsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMlwiLz48cGF0aCBkPVwiTTM0LDIwLjMzMDA4VjQ0LjY2OTkyQTMuMzYxNzEsMy4zNjE3MSwwLDAsMSwzMC42Njk5Miw0OEgxN1YxN0gzMC42Njk5MkEzLjM0MTc3LDMuMzQxNzcsMCwwLDEsMzQsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMVwiLz48cGF0aCBkPVwiTTMzLDIwLjMzMDA4VjQ0LjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMwLjY2OTkyLDQ3SDE3VjE4SDMwLjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMzLDIwLjMzMDA4WlwiIG9wYWNpdHk9XCIwLjJcIi8+PHBhdGggZD1cIk0zMiwyMC4zMzAwOFY0NC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwyOS42Njk5Miw0N0gxN1YxOEgyOS42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMiwyMC4zMzAwOFpcIiBvcGFjaXR5PVwiMC4xXCIvPjxyZWN0IHg9XCI0XCIgeT1cIjE4LjAwMDAyXCIgd2lkdGg9XCIyNy45OTk5NlwiIGhlaWdodD1cIjI3Ljk5OTk2XCIgcng9XCIyLjMzMzMzXCIgZmlsbD1cIiMxMDdjNDFcIi8+PHBhdGggZD1cIk0xMS4yMjU2LDM5LjU4MzVsNC45MDc1OS03LjYwNDY1LTQuNDk1MS03LjU2MjM1aDMuNjE3MjRsMi40NTM3OSw0LjgzMzU2cS4zMzgzOS42ODc2My40NjUzOCwxLjAyNTk0aC4wMzE3M3EuMjQzMTgtLjU0OTg0LjUwNzY4LTEuMDY4MjVsMi42MjMtNC43OTEyNUgyNC42NThsLTQuNjExNDUsNy41Miw0LjcyNzc5LDcuNjQ3SDIxLjI0MTc0TDE4LjQwNzE4LDM0LjI3NGE0LjQzMjU1LDQuNDMyNTUsMCwwLDEtLjMzODQ1LS43MDg2NGgtLjA0MjMxYTMuMzQ1LDMuMzQ1LDAsMCwxLS4zMjc4OC42ODc0OUwxNC43NzkzNywzOS41ODM1WlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPicsXHJcbiAgV09SRF9JQ09OID0gJzxzdmcgdmlld0JveD1cIjAgMCA1NjAgNDAwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIGZpbGwtcnVsZT1cIm5vbnplcm9cIj48cGF0aCBkPVwibTM4MC44MjkgMTAzLjc1M2gtMTQ2LjY1OWMtNS4wMjggMC05LjE2NSA0LjEzNy05LjE2NSA5LjE2NXYzOC45NTlsODIuNDk4IDI0LjA2MiA4Mi40OTctMjQuMDYydi0zOC45NTljMC01LjAyOC00LjEzNy05LjE2NS05LjE2NC05LjE2NXpcIiBmaWxsPVwiIzQxYTVlZVwiLz48cGF0aCBkPVwibTM4OS45OTMgMTUxLjg3N2gtMTY0Ljk5NHY0OC4xMjNsODIuNDk3IDI0LjA2MiA4Mi40OTctMjQuMDYyelwiIGZpbGw9XCIjMmI3Y2QzXCIvPjxwYXRoIGQ9XCJtMzg5Ljk5MyAyMDBoLTE2NC45OTR2NDguMTI0bDgyLjQ5NyAyNC4wNjEgODIuNDk3LTI0LjA2MXpcIiBmaWxsPVwiIzE4NWFiZFwiLz48cGF0aCBkPVwibTM4OS45OTMgMjQ4LjEyNGgtMTY0Ljk5NHYzOC45NTljMCA1LjAyNyA0LjEzNiA5LjE2NCA5LjE2MyA5LjE2NGgxNDYuNjZjNS4wMjcgMCA5LjE2NC00LjEzNyA5LjE2NC05LjE2NHpcIiBmaWxsPVwiIzEwM2Y5MVwiLz48cGF0aCBkPVwibTI4NC41ODIgMTM4LjEyN2gtNTkuNTgzdjEzMC42MjFoNTkuNTgzYzUuMDIyLS4wMTUgOS4xNDktNC4xNDMgOS4xNjQtOS4xNjR2LTExMi4yODZjLS4wMTUtNS4wMjEtNC4xNDItOS4xNDktOS4xNjQtOS4xNjR6XCIgZmlsbC1vcGFjaXR5PVwiLjA5ODAzOVwiLz48cGF0aCBkPVwibTI3Ny43MDggMTQ1LjAwMmgtNTIuNzA5djEzMC42MjFoNTIuNzA5YzUuMDIxLS4wMTUgOS4xNDktNC4xNDMgOS4xNjMtOS4xNjV2LTExMi4yODVjLS4wMTQtNS4wMjEtNC4xNDItOS4xNDktOS4xNjMtOS4xNjR6bTAgMGgtNTIuNzA5djExNi44NzFoNTIuNzA5YzUuMDIxLS4wMTUgOS4xNDktNC4xNDMgOS4xNjMtOS4xNjR2LTk4LjUzNmMtLjAxNC01LjAyMS00LjE0Mi05LjE0OS05LjE2My05LjE2NHptLTYuODc1IDBoLTQ1LjgzNHYxMTYuODcxaDQ1LjgzNGM1LjAyMS0uMDE1IDkuMTQ5LTQuMTQzIDkuMTYzLTkuMTY0di05OC41MzZjLS4wMTQtNS4wMjEtNC4xNDItOS4xNDktOS4xNjMtOS4xNjR6XCIgZmlsbC1vcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIm0xNzkuMTY0IDE0NS4wMDJoOTEuNjYxYzUuMDI4IDAgOS4xNjUgNC4xMzYgOS4xNjUgOS4xNjR2OTEuNjYyYzAgNS4wMjctNC4xMzcgOS4xNjMtOS4xNjUgOS4xNjNoLTkxLjY2MWMtNS4wMjcgMC05LjE2NC00LjEzNi05LjE2NC05LjE2M3YtOTEuNjYyYzAtNS4wMjggNC4xMzctOS4xNjQgOS4xNjQtOS4xNjR6XCIgZmlsbD1cIiMxODVhYmRcIi8+PHBhdGggZD1cIm0yNTIuMTU0IDIzNC4zNzRoLTEyLjM3NWwtMTQuNDM3LTQ3LjQzNi0xNS4xMjUgNDcuNDM2aC0xMi4zNzRsLTEzLjc1LTY4Ljc0OGgxMi4zNzVsOS42MjQgNDguMTIzIDE0LjQzOC00Ni43NDhoMTAuMzEybDEzLjc1IDQ2Ljc0OCA5LjYyNC00OC4xMjNoMTEuNjg3elwiIGZpbGw9XCIjZmZmXCIvPjwvZz48cGF0aCBkPVwibTE3MCA5MC4wMDRoMjE5Ljk5M3YyMTkuOTkzaC0yMTkuOTkzelwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicsXHJcbiAgUE9XRVJQT0lOVF9JQ09OID0gJzxzdmcgdmlld0JveD1cIi0wLjEyOTc5MzcyNjk4MDc3Nzg1IDAgMzIuMTUyMzg5MzAxMTc2NzU0IDMyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjUwMFwiIGhlaWdodD1cIjI0NzhcIj48cGF0aCBkPVwiTTE4IDJBMTQuMDQxIDE0LjA0MSAwIDAgMCA0IDE2bDE3LjczNyAzLjczN3pcIiBmaWxsPVwiI2VkNmM0N1wiLz48cGF0aCBkPVwiTTE4IDJhMTQuMDQxIDE0LjA0MSAwIDAgMSAxNCAxNGwtNyA0Ljc1OEwxOCAxNnpcIiBmaWxsPVwiI2ZmOGY2YlwiLz48cGF0aCBkPVwiTTE4IDMwYTE0LjA0MSAxNC4wNDEgMCAwIDAgMTQtMTRINGExNC4wNDEgMTQuMDQxIDAgMCAwIDE0IDE0elwiIGZpbGw9XCIjZDM1MjMwXCIvPjxwYXRoIGQ9XCJNMTYuNjY2IDdoLTkuMzZhMTMuOTE0IDEzLjkxNCAwIDAgMCAuOTMgMTloOC40M0ExLjMzNyAxLjMzNyAwIDAgMCAxOCAyNC42NjdWOC4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTYuNjY2IDd6XCIgb3BhY2l0eT1cIi4xXCIvPjxwYXRoIGQ9XCJNMTUuNjY2IDhINi41NGExMy45MDYgMTMuOTA2IDAgMCAwIDIuODQ1IDE5aDYuMjgyQTEuMzM3IDEuMzM3IDAgMCAwIDE3IDI1LjY2N1Y5LjMzM0ExLjMzNyAxLjMzNyAwIDAgMCAxNS42NjYgOHpcIiBvcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIk0xNS42NjYgOEg2LjU0YTEzLjg5IDEzLjg5IDAgMCAwIC43NjYgMTdoOC4zNjFBMS4zMzcgMS4zMzcgMCAwIDAgMTcgMjMuNjY3VjkuMzMzQTEuMzM3IDEuMzM3IDAgMCAwIDE1LjY2NiA4elwiIG9wYWNpdHk9XCIuMlwiLz48cGF0aCBkPVwiTTE0LjY2NiA4SDYuNTRhMTMuODkgMTMuODkgMCAwIDAgLjc2NiAxN2g3LjM2MUExLjMzNyAxLjMzNyAwIDAgMCAxNiAyMy42NjdWOS4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTQuNjY2IDh6XCIgb3BhY2l0eT1cIi4yXCIvPjxwYXRoIGQ9XCJNMS4zMzMgOGgxMy4zMzRBMS4zMzMgMS4zMzMgMCAwIDEgMTYgOS4zMzN2MTMuMzM0QTEuMzMzIDEuMzMzIDAgMCAxIDE0LjY2NyAyNEgxLjMzM0ExLjMzMyAxLjMzMyAwIDAgMSAwIDIyLjY2N1Y5LjMzM0ExLjMzMyAxLjMzMyAwIDAgMSAxLjMzMyA4elwiIGZpbGw9XCIjYzQzZTFjXCIvPjxwYXRoIGQ9XCJNNy45OTcgMTFhNC4xNjggNC4xNjggMCAwIDEgMi43NTUuODA1IDIuODc4IDIuODc4IDAgMCAxIC45NTYgMi4zMzEgMi43MjYgMi43MjYgMCAwIDEtLjQ3MyAxLjU4OCAzLjE2NCAzLjE2NCAwIDAgMS0xLjM0NCAxLjE4NiA0LjU3IDQuNTcgMCAwIDEtMi4wMi40MjRoLTEuOTFWMjFINFYxMXpNNS45NiAxNS42ODNoMS42ODdhMi4xOTQgMi4xOTQgMCAwIDAgMS40OTItLjQ0NCAxLjEwNyAxLjEwNyAwIDAgMCAuNTA0LTEuMDI2cTAtMS42NTktMS45MzMtMS42NTlINS45NnpcIiBmaWxsPVwiI2Y5ZjdmN1wiLz48cGF0aCBkPVwiTTAgMGgzMnYzMkgwelwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicsXHJcbiAgUERGX0lDT04gPSAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCAxNCAxNlwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCI+PHBvbHlnb24gcG9pbnRzPVwiNTEuNzkxIDM1Ni42NSA1MS43OTEgMjMuOTkgMjA0LjUgMjMuOTkgMjgyLjY1IDEwMi4wNyAyODIuNjUgMzU2LjY1XCIgZmlsbD1cIiNmZmZcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIi8+PHBhdGggZD1cIm0yMDEuMTkgMzEuOTkgNzMuNDYgNzMuMzkzdjI0My4yNmgtMjE0Ljg2di0zMTYuNjZoMTQxLjRtNi42MjMtMTZoLTE2NC4wMnYzNDguNjZoMjQ2Ljg1di0yNjUuOXpcIiBzdHJva2Utd2lkdGg9XCIyMS43OTFcIi8+PC9nPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCI+PHBvbHlnb24gcG9pbnRzPVwiMjgyLjY1IDM1Ni42NSA1MS43OTEgMzU2LjY1IDUxLjc5MSAyMy45OSAyMDQuNSAyMy45OSAyMDYuMzEgMjUuOCAyMDYuMzEgMTAwLjMzIDI4MC45IDEwMC4zMyAyODIuNjUgMTAyLjA3XCIgZmlsbD1cIiNmZmZcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIi8+PHBhdGggZD1cIm0xOTguMzEgMzEuOTl2NzYuMzM3aDc2LjMzN3YyNDAuMzJoLTIxNC44NnYtMzE2LjY2aDEzOC41Mm05LjUtMTZoLTE2NC4wMnYzNDguNjZoMjQ2Ljg1di0yNjUuOWwtNi40My02LjQyNGgtNjkuOTA3di02OS44NDJ6XCIgc3Ryb2tlLXdpZHRoPVwiMjEuNzkxXCIvPjwvZz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiPjxwb2x5Z29uIHBvaW50cz1cIjI1OC4zMSA4Ny43NSAyMTkuNjQgODcuNzUgMjE5LjY0IDQ4LjY2NyAyNTguMzEgODYuMzhcIi8+XHRcdDxwYXRoIGQ9XCJtMjI3LjY0IDY3LjY0NiAxMi40MSAxMi4xMDRoLTEyLjQxdi0xMi4xMDRtLTUuMDAyLTI3LjIyOWgtMTAuOTk4djU1LjMzM2g1NC42NjZ2LTEyLjc0MnpcIi8+PC9nPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCIgZmlsbD1cIiNlZDFjMjRcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIj48cG9seWdvbiBwb2ludHM9XCIzMTEuODkgMjg0LjQ5IDIyLjU0NCAyODQuNDkgMjIuNTQ0IDE2Ny42OCAzNy4yOTEgMTUyLjk0IDM3LjI5MSAxNzEuNDkgMjk3LjE1IDE3MS40OSAyOTcuMTUgMTUyLjk0IDMxMS44OSAxNjcuNjhcIi8+PHBhdGggZD1cIm0zMDMuNjUgMTY4LjYzIDEuNzQ3IDEuNzQ3djEwNy42MmgtMjc2LjM1di0xMDcuNjJsMS43NDctMS43NDd2OS4zNjJoMjcyLjg1di05LjM2Mm0tMTIuOTk5LTMxLjM4NXYyNy43NDdoLTI0Ni44NnYtMjcuNzQ3bC0yNy43NDcgMjcuNzQ3djEyNmgzMDIuMzV2LTEyNnpcIi8+PC9nPjxyZWN0IHg9XCIxLjcyMTlcIiB5PVwiNy45NTQ0XCIgd2lkdGg9XCIxMC42ODRcIiBoZWlnaHQ9XCI0LjAzMDdcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgMS43MjE5IDExLjczMylcIiBmaWxsPVwiI2ZmZlwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiIGFyaWEtbGFiZWw9XCJQREZcIj48cGF0aCBkPVwibTkuMjE2IDB2LTgzLjJoMzAuNDY0cTYuNzg0IDAgMTIuOTI4IDEuNDA4IDYuMTQ0IDEuMjggMTAuNzUyIDQuNjA4IDQuNjA4IDMuMiA3LjI5NiA4LjU3NiAyLjgxNiA1LjI0OCAyLjgxNiAxMy4wNTYgMCA3LjY4LTIuODE2IDEzLjE4NC0yLjY4OCA1LjUwNC03LjI5NiA5LjA4OC00LjYwOCAzLjQ1Ni0xMC42MjQgNS4yNDgtNi4wMTYgMS42NjQtMTIuNTQ0IDEuNjY0aC04Ljk2djI2LjM2OHptMjIuMDE2LTQzLjc3Nmg3LjkzNnE2LjUyOCAwIDkuNi0zLjA3MiAzLjItMy4wNzIgMy4yLTguNzA0dC0zLjQ1Ni03LjkzNi05Ljg1Ni0yLjMwNGgtNy40MjR6XCIvPjxwYXRoIGQ9XCJtODcuMDQgMHYtODMuMmgyNC41NzZxOS40NzIgMCAxNy4yOCAyLjMwNCA3LjkzNiAyLjMwNCAxMy41NjggNy4yOTZ0OC43MDQgMTIuOHEzLjIgNy44MDggMy4yIDE4LjgxNnQtMy4wNzIgMTguOTQ0LTguNzA0IDEzLjA1NnEtNS41MDQgNS4xMi0xMy4xODQgNy41NTItNy41NTIgMi40MzItMTYuNTEyIDIuNDMyem0yMi4wMTYtMTcuNjY0aDEuMjhxNC40OCAwIDguNDQ4LTEuMDI0IDMuOTY4LTEuMTUyIDYuNzg0LTMuODQgMi45NDQtMi42ODggNC42MDgtNy40MjR0MS42NjQtMTIuMDMyLTEuNjY0LTExLjkwNC00LjYwOC03LjE2OHEtMi44MTYtMi41Ni02Ljc4NC0zLjQ1Ni0zLjk2OC0xLjAyNC04LjQ0OC0xLjAyNGgtMS4yOHpcIi8+PHBhdGggZD1cIm0xNjkuMjIgMHYtODMuMmg1NC4yNzJ2MTguNDMyaC0zMi4yNTZ2MTUuODcyaDI3LjY0OHYxOC40MzJoLTI3LjY0OHYzMC40NjR6XCIvPjwvZz48L3N2Zz4nO1xyXG5cclxuY29uc3QgVEhFTUVTOiBUaGVtZVtdID0gW1xyXG4gIHsgbmFtZTogJ2RlZmF1bHQnLCBwcmltYXJ5OiAncHVycGxlJywgY29sb3I6ICdwdXJwbGUnLCBhY2NlbnQ6ICdhbWJlcicsIHRpdGxlOiAnUHVycGxlVGhlbWUnIH0sXHJcbiAgeyBuYW1lOiAnaW5kaWdvJywgcHJpbWFyeTogJ2luZGlnbycsIGNvbG9yOiAnIzNmNTFiNScsIGFjY2VudDogJ3BpbmsnLCB0aXRsZTogJ0luZGlnb1RoZW1lJyB9LFxyXG4gIHsgbmFtZTogJ2dyZWVuJywgcHJpbWFyeTogJ2dyZWVuJywgY29sb3I6ICcjNENBRjUwJywgYWNjZW50OiAnYW1iZXInLCB0aXRsZTogJ0dyZWVuVGhlbWUnIH0sXHJcbiAgeyBuYW1lOiAnZGFyaycsIHByaW1hcnk6ICdkZWVwUHVycGxlJywgY29sb3I6ICcjNDA0MDQxJywgYWNjZW50OiAnYW1iZXInLCBkYXJrOiB0cnVlLCB0aXRsZTogJ0RlZXBUaGVtZScgfSxcclxuICB7IG5hbWU6ICdicm93bicsIHByaW1hcnk6ICdicm93bicsIGNvbG9yOiAnIzc5NTU0OCcsIGFjY2VudDogJ2dyZXknLCB0aXRsZTogJ0dyYXlUaGVtZScgfV07XHJcblxyXG5jb25zdCBTVVBQT1JURURfTEFOR1VBR0VTID0gWydlbicsICdoZScsICdkZScsICdhcicsICdydSddLFxyXG4gIFJUTF9MQU5HVUFMR0VTID0gWydoZScsICdhciddO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNlc3Npb25Qcm92aWRlckZhY3RvcnkocHJvdmlkZXI6IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgcmV0dXJuICgpID0+IHByb3ZpZGVyLnByZXBhcmUoKTtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TZXJ2aWNlIHtcclxuICBwcmVwYXJlKCkge1xyXG4gICAgKCdzZXJ2aWNlV29ya2VyJyBpbiBuYXZpZ2F0b3IpICYmIHRoaXMuX2xvYWRTZXJ2aWNlV29ya2VyKCk7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLm1hcHMgPyB0aGlzLl9sb2FkR29vZ2xlTWFwcygpIDogUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IFRoZW1lczogVGhlbWVbXSA9IHRoaXMuX2NvbmZpZy50aGVtZXMgfHwgVEhFTUVTO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfY29va2llczogQ29va2llU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICAgIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgnZXhjZWwnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoRVhDRUxfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd3b3JkJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFdPUkRfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdwb3dlcnBvaW50Jywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFBPV0VSUE9JTlRfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdwZGYnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoUERGX0lDT04pKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF90aGVtZUNoYW5nZSA9IG5ldyBTdWJqZWN0PFRoZW1lPigpO1xyXG4gIHJlYWRvbmx5IGxvYWRlZCA9IHRoaXMuX2xvYWRlZC5hc09ic2VydmFibGUoKTtcclxuICByZWFkb25seSB0aGVtZUNoYW5nZSA9IHRoaXMuX3RoZW1lQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgX3Byb2ZpbGU6IFByb2ZpbGU7XHJcbiAgcHJpdmF0ZSBfbGFuZzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2ZpcmViYXNlID0gbmV3IEZpcmViYXNlU2VydmljZSh0aGlzLl9jb25maWcgPyB0aGlzLl9jb25maWcuZmlyZWJhc2UgOiB1bmRlZmluZWQsIHRoaXMpO1xyXG4gIGdldCBwcm9maWxlKCk6IFByb2ZpbGUgeyByZXR1cm4gdGhpcy5fcHJvZmlsZTsgfVxyXG4gIGdldCBnZW5kZXIoKTogR2VuZGVyIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMucHJvZmlsZS5ieUlkID8gdGhpcy5fcHJvZmlsZS5ieUdlbmRlciA6IHRoaXMuX3Byb2ZpbGUuZ2VuZGVyOyB9XHJcbiAgZ2V0IGFjY2VudFBhbGV0dGUoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgcGFsZXR0ZSA9IE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUuYWNjZW50XTtcclxuICAgIHJldHVybiB0aGlzLl9jb25zdHJ1Y3RwYWxldHRlKHBhbGV0dGUpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb25zdHJ1Y3RwYWxldHRlKHBhbGV0dGU6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZzsgfSk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbcGFsZXR0ZVsnMTAwJ10sIHBhbGV0dGVbJzMwMCddLCBwYWxldHRlWyc1MDAnXSwgcGFsZXR0ZVsnNzAwJ10sIHBhbGV0dGVbJzkwMCddLFxyXG4gICAgcGFsZXR0ZVsnMjAwJ10sIHBhbGV0dGVbJzQwMCddLCBwYWxldHRlWyc2MDAnXSwgcGFsZXR0ZVsnODAwJ10sIHBhbGV0dGVbJ2hleCddLFxyXG4gICAgcGFsZXR0ZVsnYTEwMCddLCBwYWxldHRlWydhNDAwJ10sIHBhbGV0dGVbJ2EyMDAnXSwgcGFsZXR0ZVsnYTcwMCddXTtcclxuICB9XHJcblxyXG4gIGdldCBwcmltZXJ5UGFsZXR0ZSgpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBwYWxldHRlID0gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5wcmltYXJ5XTtcclxuICAgIHJldHVybiB0aGlzLl9jb25zdHJ1Y3RwYWxldHRlKHBhbGV0dGUpO1xyXG4gIH1cclxuICBnZXRBY2NlbnQobW9kZTogTWF0ZXJpYWxNb2RlID0gNTAwKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBNQVRFUklBTF9QQUxFVFRFU1t0aGlzLnRoZW1lLmFjY2VudF1bbW9kZV07XHJcbiAgfVxyXG4gIGdldEdyZXkobW9kZTogTWF0ZXJpYWxNb2RlID0gNTAwKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBNQVRFUklBTF9QQUxFVFRFU1snZ3JleSddW21vZGVdO1xyXG4gIH1cclxuICBnZXRQcmltZXJ5KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5wcmltYXJ5XVttb2RlXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdGhlbWU6IFRoZW1lO1xyXG4gIGdldCB0aGVtZSgpOiBUaGVtZSB7XHJcbiAgICBpZiAoIXRoaXMuX3RoZW1lKSB7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGhlbWUnKTtcclxuICAgICAgdGhpcy5fdGhlbWUgPSBuYW1lID8gdGhpcy5UaGVtZXMuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSkhIDpcclxuICAgICAgICB0aGlzLlRoZW1lc1swXSE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fdGhlbWU7XHJcbiAgfVxyXG4gIHNldCB0aGVtZSh2YWx1ZTogVGhlbWUpIHtcclxuICAgIHRoaXMuX3RoZW1lID0gdmFsdWU7XHJcbiAgICB0aGlzLl9jaGFuZ2VUaGVtZSh2YWx1ZSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuX3RoZW1lQ2hhbmdlLm5leHQodmFsdWUpKTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0aGVtZScsIHZhbHVlLm5hbWUpO1xyXG4gIH1cclxuICBnZXQgb2soKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnByb2ZpbGUgIT09IHVuZGVmaW5lZDsgfVxyXG4gIC8qKiBsYW5ndWFnZSBkaXJlY3Rpb24gKi9cclxuICBnZXQgZGlyZWN0aW9uKCk6IERpcmVjdGlvbiB7XHJcbiAgICByZXR1cm4gUlRMX0xBTkdVQUxHRVMuaW5kZXhPZih0aGlzLmxhbmd1YWdlKSA+IC0xID8gJ3J0bCcgOiAnbHRyJztcclxuICB9XHJcbiAgZ2V0IGludmVyc2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb24gPT09ICdydGwnO1xyXG4gIH1cclxuICBnZXQgdXNlcklkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcHJvZmlsZS5ieUlkIHx8IHRoaXMucHJvZmlsZS51c2VySWQ7XHJcbiAgfVxyXG4gIGdldCBsb2NhbGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xyXG4gIH1cclxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5fbGFuZylcclxuICAgICAgdGhpcy5fbGFuZyA9IHRoaXMuX2Nvb2tpZXMuZ2V0KCdsYW5nJykgfHwgdGhpcy5fZ2V0QnJvd3NlckxhbmcoKSB8fCBTVVBQT1JURURfTEFOR1VBR0VTWzBdO1xyXG4gICAgcmV0dXJuIHRoaXMuX2xhbmc7XHJcbiAgfVxyXG4gIGdldCBhcmlhKCkgeyByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FyaWEnKSA9PT0gJzEnIH1cclxuICBzZXQgYXJpYSh2YWw6IGJvb2xlYW4pIHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FyaWEnLCB2YWwgPyAnMScgOiAnMCcpIH1cclxuICBzZXQgbGFuZ3VhZ2UoY29kZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb29raWVzLnNldCgnbGFuZycsIGNvZGUsIDM2NSwgJy8nKTtcclxuICB9XHJcbiAgZ2V0IGxhbmd1YWdlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9jb25maWcubGFuZ3VhZ2VzIHx8IFNVUFBPUlRFRF9MQU5HVUFHRVM7IH1cclxuICBnZXQgaXNJbXBlcnNvbmF0aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wcm9maWxlLmJ5SWQgIT09IHVuZGVmaW5lZDsgfVxyXG4gIC8qKiBzeXN0ZW0gYWRtaW4gKi9cclxuICBnZXQgaXNTeXN0ZW0oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlLnN5c3RlbTtcclxuICB9XHJcbiAgLyoqIG9ubGluZSBvciBzZXQgaW4gcHJvZmlsZSAqL1xyXG4gIGdldCBzdGF0ZSgpOiBBdmFpbGFiaWxpdHlTdGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlLmF2YWlsYWJsZSB8fCAnT25saW5lJztcclxuICB9XHJcbiAgc2V0IHN0YXRlKHZhbHVlOiBBdmFpbGFiaWxpdHlTdGF0ZSkge1xyXG4gICAgdGhpcy5wcm9maWxlLmF2YWlsYWJsZSA9IHZhbHVlID09PSAnT25saW5lJyA/IG51bGwgOiB2YWx1ZTtcclxuICAgIHRoaXMuX2h0dHAucHV0KGAvYXBpL2FjY291bnQvYXZhaWxhYmxlP21vZGU9JHt0aGlzLnByb2ZpbGUuYXZhaWxhYmxlIHx8ICcnfWAsIHt9KS5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgaXNJblJvbGUocm9sZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoJy9hcGkvYWNjb3VudC9pc0luUm9sZScsIHtcclxuICAgICAgcGFyYW1zOiB7IHJvbGUgfSxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgY29uc3RcclxuICAgIH0pLnBpcGUobWFwKHIgPT4gciA9PT0gJ3RydWUnKSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGdldCBpc091dE9mT2ZmaWNlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJvZmlsZS5vcHRpb25zLm91dE9mT2ZmaWNlO1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5hY3RpdmUpIHtcclxuICAgICAgY29uc3QgdG9kYXkgPSBkYXlqcygpLnN0YXJ0T2YoJ2RheScpO1xyXG4gICAgICByZXR1cm4gKCFvcHRpb25zLmZyb20gfHwgZGF5anMob3B0aW9ucy5mcm9tKS5zdGFydE9mKCdkYXknKSA8PSB0b2RheSlcclxuICAgICAgICAmJiAoIW9wdGlvbnMudG8gfHwgZGF5anMob3B0aW9ucy50bykuc3RhcnRPZignZGF5JykgPj0gdG9kYXkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKiB1cGRhdGUgcHJvZmlsZSAgKi9cclxuICB1cGRhdGUocHJvZmlsZTogT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoJy9hcGkvYWNjb3VudC91cGRhdGUnLCBwcm9maWxlKS5waXBlKHRhcCgoKSA9PlxyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3Byb2ZpbGUub3B0aW9ucywgcHJvZmlsZSkpKTtcclxuICB9XHJcbiAgLyoqIG1hcmsgZ3VpZGUgYXMgdmlzaXRlZCBpbiBwcm9maWxlICovXHJcbiAgZ3VpZGUobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9hY2NvdW50L2d1aWRlLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpfWAsIHt9LCB7IGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gfSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICBjb25zdCBndWlkZSA9IHRoaXMuX3Byb2ZpbGUuZ3VpZGVzIS5maW5kKGcgPT4gZy5uYW1lID09PSBuYW1lKTtcclxuICAgICAgICBpZiAoZ3VpZGUpIGd1aWRlLm1vZGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5fcHJvZmlsZS5vcHRpb25zLmd1aWRlcyEucHVzaChuYW1lKTtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuICAvKiogZ2V0IHByb2ZpbGUgKi9cclxuICByZWZyZXNoKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgY29uc3QgY29tcGxldGUgPSAocHJvZmlsZTogUHJvZmlsZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3Byb2ZpbGUgPSBwcm9maWxlO1xyXG4gICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuX2xvYWRlZC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5fcHJvZmlsZSA9IHByb2ZpbGU7XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuX2h0dHAuZ2V0PFByb2ZpbGU+KCcvYXBpL2FjY291bnQvcmVmcmVzaCcpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogciA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuX3Byb2ZpbGUpXHJcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZVRoZW1lKHRoaXMudGhlbWUpLnN1YnNjcmliZSgoKSA9PiBjb21wbGV0ZShyKSk7XHJcbiAgICAgICAgICBlbHNlIGNvbXBsZXRlKHIpO1xyXG4gICAgICAgICAgdGhpcy5faHViLnN0YXRlICE9PSBIdWJDb25uZWN0aW9uU3RhdGUuQ29ubmVjdGVkICYmIHRoaXMuX2h1Yi5zdGFydCgpO1xyXG4gICAgICAgICAgdGhpcy5fZmlyZWJhc2Uuc3RhdGUgIT09IEZpcmViYXNlU3RhdGUuQWN0aXZhdGVkICYmXHJcbiAgICAgICAgICAgIHRoaXMuX2ZpcmViYXNlLmFjdGl2YXRlKCk7XHJcbiAgICAgICAgfSwgZXJyb3I6IG9ic2VydmUuZXJyb3JcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHVibGljIGdldFByb2ZpbGVFeHRyYTxUID0gYW55PihuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxUPihgL2FwaS9hY2NvdW50L2V4dHJhLyR7bmFtZX1gKTtcclxuICB9XHJcbiAgcHVibGljIHNldFByb2ZpbGVFeHRyYTxUID0gYW55PihuYW1lOiBzdHJpbmcsIHByb2ZpbGU6IFQpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoYC9hcGkvYWNjb3VudC9leHRyYS8ke25hbWV9YCwgcHJvZmlsZSk7XHJcbiAgfVxyXG4gIHB1YmxpYyB1bnJlZ2lzdGVyRGV2aWNlKHR5cGU6IHN0cmluZywgdG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KCcvYXBpL2FjY291bnQvdW5yZWdpc3RlckRldmljZScsIHsgdHlwZSwgdG9rZW4gfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyByZWdpc3RlckRldmljZSh0eXBlOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hY2NvdW50L3JlZ2lzdGVyRGV2aWNlJywgeyB0eXBlLCB0b2tlbiB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHNlYXJjaFxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHVibGljIGxpc3RJbXBlcnNvbmF0ZShzZWFyY2g/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+IHtcclxuICAgIGNvbnN0IHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gICAgaWYgKHNlYXJjaCkgcGFyYW1zWydzZWFyY2gnXSA9IHNlYXJjaDtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxVc2VySW5mb1tdPignL2FwaS9hY2NvdW50L2dyYW50ZWQnLCB7XHJcbiAgICAgIHBhcmFtc1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbXBlcnNvbmF0ZSh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlckluZm8+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8VXNlckluZm8+KCcvYXBpL2FjY291bnQvaW1wZXJzb25hdGUnLCB7XHJcbiAgICAgIHVzZXJJZFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbmJveFRvdWNoKCkge1xyXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvaW5ib3h2aWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKFxyXG4gICAgICB0YXAoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlLmluYm94Q291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLmluYm94VmlldyA9IGUudGltZTtcclxuICAgICAgfSkpKTtcclxuICB9XHJcbiAgcHVibGljIG5vdGlmaWNhdGlvbnNUb3VjaCgpIHtcclxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwLnB1dDxXYXRlcm1hcmtJbmZvPignL2FwaS9hY2NvdW50L25vdGlmaWNhdGlvbnNWaWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKHRhcChlID0+IHtcclxuICAgICAgdGhpcy5wcm9maWxlLm5vdGlmaWNhdGlvbnNDb3VudCA9IDA7XHJcbiAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLm5vdGlmaWNhdGlvbnNWaWV3ID0gZS50aW1lO1xyXG4gICAgfSkpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0QnJvd3NlckxhbmcoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBsZXQgbGFuZzogc3RyaW5nIHwgdW5kZWZpbmVkID0gbmF2aWdhdG9yLmxhbmd1YWdlO1xyXG4gICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmluZGV4T2YobGFuZykgPiAtMSlcclxuICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5hdmlnYXRvci5sYW5ndWFnZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZXNbaV07XHJcbiAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGxhbmcpID4gLTEpXHJcbiAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICAgIGlmIChsYW5nLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICBsYW5nID0gbGFuZy5zdWJzdHJpbmcoMCwgMikudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodGhpcy5sYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA+IC0xKVxyXG4gICAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICAgICAgbGFuZyA9IHRoaXMubGFuZ3VhZ2VzLmZpbmQobCA9PiBsLnN0YXJ0c1dpdGgobGFuZyEpKTtcclxuICAgICAgICBpZiAobGFuZylcclxuICAgICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHRoZW1lXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY2hhbmdlVGhlbWUodGhlbWU6IFRoZW1lKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBzdHlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaXpkb2MtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcbiAgICBpZiAoc3R5bGUpXHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3R5bGUpO1xyXG5cclxuICAgIGlmICh0aGVtZS5uYW1lID09PSB0aGlzLlRoZW1lc1swXS5uYW1lKSB7XHJcbiAgICAgIHJldHVybiBvZih0aGVtZSk7XHJcbiAgICB9XHJcbiAgICBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHN0eWxlLmlkID0gJ2JpemRvYy10aGVtZSc7XHJcbiAgICBzdHlsZS50eXBlID0gJ3RleHQvY3NzJztcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLmhyZWYgPSBgL2Fzc2V0cy90aGVtZXMvJHt0aGVtZS5uYW1lfS5taW4uY3NzYDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHN0eWxlKTtcclxuXHJcbiAgICByZXR1cm4gZnJvbUV2ZW50KHN0eWxlLCAnbG9hZCcpO1xyXG4gIH1cclxuICBwcml2YXRlIF9sb2FkU2VydmljZVdvcmtlcigpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcignL2pzL2FwcC1zdy5qcycpLnRoZW4oZnVuY3Rpb24gKCkge1xyXG4gICAgICB9LCBudWxsKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9sb2FkR29vZ2xlTWFwcygpIHtcclxuICAgIGNvbnN0IGFwaUtleSA9ICh0aGlzLl9jb25maWcubWFwcyBhcyBHb29nbGVNYXBzU2V0dGluZ3MpLmFwaUtleTtcclxuICAgIGNvbnN0IGxvYWRlciA9IG5ldyBMb2FkZXIoe1xyXG4gICAgICBhcGlLZXksXHJcbiAgICAgIGxpYnJhcmllczogWydwbGFjZXMnXSxcclxuICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UsXHJcbiAgICAgIHZlcnNpb246ICd3ZWVrbHknLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBtYXBzID0gbG9hZGVyLmltcG9ydExpYnJhcnkoJ21hcHMnKTtcclxuICAgIHJldHVybiBtYXBzO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgV2F0ZXJtYXJrSW5mbyB7XHJcbiAgdGltZTogRGF0ZTtcclxufVxyXG4iXX0=
@@ -84,7 +84,7 @@ export class PaneRef {
84
84
  ;
85
85
  get parent() { return this._options.parent; }
86
86
  ;
87
- get stretchable() { return this._stretchable; }
87
+ get stretchable() { return this._stretchable === true; }
88
88
  ;
89
89
  set stretchable(val) { this._stretchable = val; }
90
90
  get dialog() { return this._options.dialog; }
@@ -149,4 +149,4 @@ export class PaneRef {
149
149
  this._events$.complete();
150
150
  }
151
151
  }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcGFuZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBUSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJekUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQWMsT0FBTyxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixjQUFjO0lBRTNCLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7Q0FDckQ7QUFDRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7Q0FDakQ7QUFDRCxNQUFNLE9BQWdCLGtCQUE0QixTQUFRLGNBQWM7SUFDdEUsWUFBb0IsS0FBaUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFZO0lBRXJDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0Qsd0JBQXdCO0FBQ3hCLE1BQU0sT0FBTyxlQUFnQixTQUFRLGtCQUFrQjtDQUN0RDtBQUNE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QUNELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBUeXBlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUGFyYW1NYXAsIFBhbmVSb3V0ZSwgT3BlblBvbGljeSB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7IERpbWVudGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgUVVFUllfQ0hBUiA9ICc6JywgUEFUSF9DSEFSID0gJzsnLCBBUkdfQ0hBUiA9ICcmJywgUEFORV9DSEFSID0gJ34nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBTkVTX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFuZVJvdXRlW10+KCdwYW5lcycpO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5hdmlnYXRpb25CYXNlIHtcclxuICBfcHJldmVudERlZmF1bHQ6IGJvb2xlYW47XHJcbiAgcHVibGljIHByZXZlbnREZWZhdWx0KCkge1xyXG4gICAgdGhpcy5fcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgQ29sbGFwc2VOYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBCYWNrTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxufVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvblBhbmVCYXNlPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8VD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgcGFuZSgpOiBQYW5lUmVmPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9wYW5lO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblN0YXJ0IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG4vKiogcGFuZSBmdWN1cyBjaGFuZ2UgKi9cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Gb2N1cyBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FbmQ8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uTW9kZTxUID0gYW55PiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZTxUPiB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1vZGU6IFBhbmVNb2RlLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FeHBhbmQ8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBleHBlbmRlZDogYm9vbGVhbiwgcGFuZTogUGFuZVJlZjxUPikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uUmVzaXplPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlPFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZGltZW50aW9uczogRGltZW50aW9ucywgcGFuZTogUGFuZVJlZjxUPikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQ2xvc2U8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBQYXJhbU5hdmlnYXRpb248VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBwYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1OYXZpZ2F0aW9uPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlPFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcXVlcnlQYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBhbmVNb2RlID0gJ3RhYicgfCAncGFuZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVPcHRpb25zIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBncm91cD86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIHN0YXRlPzogYW55O1xyXG4gIG9wZW5Qb2xpY3k/OiBPcGVuUG9saWN5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYW5lQ29tbWFuZCA9ICdleHBhbmQnIHwgJ2ZvY3VzJyB8ICdjbG9zZScgfCAncmVjeWNsZSc7XHJcbi8qKiAqL1xyXG5leHBvcnQgY2xhc3MgUGFuZVJlZjxDb21wb25lbnRUeXBlID0gYW55LCBEYXRhVHlwZSA9IFBhcmFtTWFwPiB7XHJcbiAgcmVhZG9ubHkgX2NvbW1hbmQkID0gbmV3IFN1YmplY3Q8UGFuZUNvbW1hbmQ+KCk7XHJcbiAgLyoqICovXHJcbiAgcmVhZG9ubHkgX2RhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhVHlwZT4oe30gYXMgRGF0YVR5cGUpO1xyXG4gIHJlYWRvbmx5IF9wYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9xdWVyeVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcmFtTWFwPih7fSk7XHJcbiAgcmVhZG9ubHkgX2V2ZW50cyQgPSBuZXcgU3ViamVjdDxOYXZpZ2F0aW9uQmFzZT4oKTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgcGlubmVkOiBib29sZWFuO1xyXG4gIGJhZGdlPzogbnVtYmVyO1xyXG4gIGFuaW1hdGlvbjogc3RyaW5nO1xyXG4gIGdyb3VwOiBzdHJpbmc7XHJcbiAgaGVscDogc3RyaW5nO1xyXG4gIF9leHBhbmRlZDogYm9vbGVhbjtcclxuICBfaW5zdGFuY2U6IENvbXBvbmVudFR5cGU7XHJcbiAgX3BhdGg6IHN0cmluZztcclxuICBfcXVlcnlTdHJpbmc6IHN0cmluZztcclxuICBfbW9kZTogUGFuZU1vZGU7XHJcbiAgcmVhZG9ubHkgX3BvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gIHByaXZhdGUgX2V4cGFuZGFibGU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfc3RyZXRjaGFibGU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcclxuICBnZXQgZXhwYW5kYWJsZSgpIHsgcmV0dXJuIHRoaXMuX2V4cGFuZGFibGU7IH1cclxuICBnZXQgaW5qZWN0b3IoKSB7IHJldHVybiB0aGlzLl9pbmplY3RvcjsgfVxyXG4gIGdldCBleHBhbmRlZCgpIHsgcmV0dXJuIHRoaXMuX2V4cGFuZGVkOyB9XHJcbiAgZ2V0IGZ1bGxQYXRoKCkgeyByZXR1cm4gKHRoaXMuX3BhdGggfHwgJycpICsgKHRoaXMuX3F1ZXJ5U3RyaW5nID8gKFFVRVJZX0NIQVIgKyB0aGlzLl9xdWVyeVN0cmluZykgOiAnJykgfVxyXG4gIGdldCBpbnN0YW5jZSgpOiBDb21wb25lbnRUeXBlIHsgcmV0dXJuIHRoaXMuX2luc3RhbmNlOyB9XHJcbiAgZ2V0IGRhdGEoKSB7IHJldHVybiB0aGlzLl9kYXRhJC52YWx1ZTsgfVxyXG4gIGdldCBwYXJhbXMoKSB7IHJldHVybiB0aGlzLl9wYXJhbXMkLnZhbHVlOyB9XHJcbiAgZ2V0IHF1ZXJ5U3RyaW5nKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlTdHJpbmc7IH1cclxuICBnZXQgcXVlcnlQYXJhbXMoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQudmFsdWU7IH1cclxuICBwYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9wYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgcXVlcnlQYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBkYXRhQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICByZXNpemVkKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uUmVzaXplKSkgYXMgT2JzZXJ2YWJsZTxOYXZpZ2F0aW9uUmVzaXplPjsgfVxyXG4gIGNsb3NlaW5nKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2xvc2UpKSBhcyBPYnNlcnZhYmxlPE5hdmlnYXRpb25DbG9zZT47IH1cclxuICBjbG9zZWQ8VCA9IGFueT4oKSB7IHJldHVybiB0aGlzLl9ldmVudHMkLnBpcGUoZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25DbG9zZSksIG1hcCgoKSA9PiB0aGlzLl92YWx1ZSkpIGFzIE9ic2VydmFibGU8VD47IH1cclxuICBleHBhbmRlZENoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX2V2ZW50cyQucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkV4cGFuZCksIG1hcCgoKSA9PiB0aGlzLmV4cGFuZGVkKSk7IH1cclxuICBnZXQgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGg7IH07XHJcbiAgZ2V0IG1vZGUoKSB7IHJldHVybiB0aGlzLl9tb2RlOyB9O1xyXG4gIGdldCBwYXJlbnQoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLnBhcmVudDsgfTtcclxuICBnZXQgc3RyZXRjaGFibGUoKSB7IHJldHVybiB0aGlzLl9zdHJldGNoYWJsZTsgfTtcclxuICBzZXQgc3RyZXRjaGFibGUodmFsOiBib29sZWFuKSB7IHRoaXMuX3N0cmV0Y2hhYmxlID0gdmFsOyB9XHJcbiAgZ2V0IGRpYWxvZygpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlhbG9nOyB9O1xyXG4gIGdldCBkaXNtaXNzYWJsZSgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlzbWlzc2FibGU7IH07XHJcbiAgZ2V0IHJvdXRlKCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5yb3V0ZTsgfTtcclxuICBjb25zdHJ1Y3Rvcihjb21wb25lbnQ6IFR5cGU8YW55PixcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX29wdGlvbnM6IHtcclxuICAgICAgcGF0aD86IHN0cmluZztcclxuICAgICAgcm91dGU/OiBQYW5lUm91dGU7XHJcbiAgICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgICBncm91cD86IHN0cmluZztcclxuICAgICAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICAgIGFuaW1hdGlvbj86IHN0cmluZztcclxuICAgICAgaGVscD86IHN0cmluZztcclxuICAgICAgbW9kZTogUGFuZU1vZGUsXHJcbiAgICAgIGV4cGFuZGVkPzogYm9vbGVhbjtcclxuICAgICAgZGlhbG9nPzogYm9vbGVhbjtcclxuICAgICAgc3RyZXRjaGFibGU/OiBib29sZWFuO1xyXG4gICAgICBwYXJlbnQ/OiBQYW5lUmVmPGFueT47XHJcbiAgICAgIHF1ZXJ5U3RyaW5nPzogc3RyaW5nO1xyXG4gICAgICBkYXRhPzogRGF0YVR5cGU7XHJcbiAgICAgIHBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBxdWVyeVBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBleHBhbmRhYmxlPzogYm9vbGVhbixcclxuICAgICAgZGlzbWlzc2FibGU/OiBib29sZWFuXHJcbiAgICB9KSB7XHJcbiAgICBjb25zdCB7IHN0cmV0Y2hhYmxlLCBtb2RlLCBkYXRhLCBwYXJhbXMsIHF1ZXJ5UGFyYW1zLCBwYXRoLCBxdWVyeVN0cmluZywgdGl0bGUsIGdyb3VwLCBpY29uLCBoZWxwLCBndWlkZSwgYW5pbWF0aW9uLCBleHBhbmRlZCwgZXhwYW5kYWJsZSB9ID0gX29wdGlvbnM7XHJcbiAgICB0aGlzLl9wYXRoID0gcGF0aDtcclxuICAgIHRoaXMuX21vZGUgPSBtb2RlO1xyXG4gICAgdGhpcy5fc3RyZXRjaGFibGUgPSBzdHJldGNoYWJsZTtcclxuICAgIHRoaXMuX2V4cGFuZGVkID0gZXhwYW5kZWQ7XHJcbiAgICB0aGlzLl9xdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nO1xyXG4gICAgdGhpcy5fZXhwYW5kYWJsZSA9IGV4cGFuZGFibGUgIT09IGZhbHNlO1xyXG4gICAgdGhpcy5faW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IFBhbmVSZWYsIHVzZVZhbHVlOiB0aGlzIH1cclxuICAgICAgXSwgcGFyZW50OiBpbmplY3RvclxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgbnVsbCwgdGhpcy5faW5qZWN0b3IpO1xyXG4gICAgdGhpcy50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5ncm91cCA9IGdyb3VwO1xyXG4gICAgdGhpcy5ndWlkZSA9IGd1aWRlO1xyXG4gICAgdGhpcy5oZWxwID0gaGVscDtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IGFuaW1hdGlvbjtcclxuICAgIGRhdGEgJiYgdGhpcy5fZGF0YSQubmV4dChkYXRhKTtcclxuICAgIHBhcmFtcyAmJiB0aGlzLl9wYXJhbXMkLm5leHQocGFyYW1zKTtcclxuICAgIHF1ZXJ5UGFyYW1zICYmIHRoaXMuX3F1ZXJ5UGFyYW1zJC5uZXh0KHF1ZXJ5UGFyYW1zKTtcclxuICB9XHJcbiAgZGVjZW5kZW50T2YocGFuZTogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQgPT09IHBhbmUgLy98fFxyXG4gICAgLy8gICh0aGlzLnBhdGggJiYgcGFuZS5wYXRoICYmIHRoaXMucGF0aC5zdGFydHNXaXRoKHBhbmUucGF0aCkpO1xyXG4gIH1cclxuICByZWN5Y2xlKCkge1xyXG4gICAgdGhpcy5fY29tbWFuZCQubmV4dCgncmVjeWNsZScpO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2ZvY3VzJyk7XHJcbiAgfVxyXG4gIGNsb3NlKHZhbHVlPykge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2Nsb3NlJyk7XHJcbiAgfVxyXG4gIGV4cGFuZCgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2V4cGFuZCcpO1xyXG4gIH1cclxuICBfZGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9kYXRhJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcGFyYW1zJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcXVlcnlQYXJhbXMkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9ldmVudHMkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS9zbG90cy9wYW5lLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFRLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl6RSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFLFNBQVMsR0FBRyxHQUFHLEVBQUUsUUFBUSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBYyxPQUFPLENBQUMsQ0FBQztBQUVuRSxNQUFNLE9BQWdCLGNBQWM7SUFFM0IsY0FBYztRQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUFDRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztDQUNyRDtBQUNELE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztDQUNqRDtBQUNELE1BQU0sT0FBZ0Isa0JBQTRCLFNBQVEsY0FBYztJQUN0RSxZQUFvQixLQUFpQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQVk7SUFFckMsQ0FBQztJQUNELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUFDRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxrQkFBa0I7Q0FDdEQ7QUFDRCx3QkFBd0I7QUFDeEIsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0Qs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L0IsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBUeXBlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUGFyYW1NYXAsIFBhbmVSb3V0ZSwgT3BlblBvbGljeSB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7IERpbWVudGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgUVVFUllfQ0hBUiA9ICc6JywgUEFUSF9DSEFSID0gJzsnLCBBUkdfQ0hBUiA9ICcmJywgUEFORV9DSEFSID0gJ34nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBTkVTX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFuZVJvdXRlW10+KCdwYW5lcycpO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5hdmlnYXRpb25CYXNlIHtcclxuICBfcHJldmVudERlZmF1bHQ6IGJvb2xlYW47XHJcbiAgcHVibGljIHByZXZlbnREZWZhdWx0KCkge1xyXG4gICAgdGhpcy5fcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgQ29sbGFwc2VOYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBCYWNrTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxufVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvblBhbmVCYXNlPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8VD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgcGFuZSgpOiBQYW5lUmVmPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9wYW5lO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblN0YXJ0IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG4vKiogcGFuZSBmdWN1cyBjaGFuZ2UgKi9cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Gb2N1cyBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FbmQ8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uTW9kZTxUID0gYW55PiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZTxUPiB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1vZGU6IFBhbmVNb2RlLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FeHBhbmQ8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBleHBlbmRlZDogYm9vbGVhbiwgcGFuZTogUGFuZVJlZjxUPikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uUmVzaXplPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlPFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZGltZW50aW9uczogRGltZW50aW9ucywgcGFuZTogUGFuZVJlZjxUPikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQ2xvc2U8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBQYXJhbU5hdmlnYXRpb248VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBwYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1OYXZpZ2F0aW9uPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlPFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcXVlcnlQYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBhbmVNb2RlID0gJ3RhYicgfCAncGFuZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVPcHRpb25zIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBncm91cD86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIHN0YXRlPzogYW55O1xyXG4gIG9wZW5Qb2xpY3k/OiBPcGVuUG9saWN5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYW5lQ29tbWFuZCA9ICdleHBhbmQnIHwgJ2ZvY3VzJyB8ICdjbG9zZScgfCAncmVjeWNsZSc7XHJcbi8qKiAqL1xyXG5leHBvcnQgY2xhc3MgUGFuZVJlZjxDb21wb25lbnRUeXBlID0gYW55LCBEYXRhVHlwZSA9IFBhcmFtTWFwPiB7XHJcbiAgcmVhZG9ubHkgX2NvbW1hbmQkID0gbmV3IFN1YmplY3Q8UGFuZUNvbW1hbmQ+KCk7XHJcbiAgLyoqICovXHJcbiAgcmVhZG9ubHkgX2RhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhVHlwZT4oe30gYXMgRGF0YVR5cGUpO1xyXG4gIHJlYWRvbmx5IF9wYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9xdWVyeVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcmFtTWFwPih7fSk7XHJcbiAgcmVhZG9ubHkgX2V2ZW50cyQgPSBuZXcgU3ViamVjdDxOYXZpZ2F0aW9uQmFzZT4oKTtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHBpbm5lZDogYm9vbGVhbjtcclxuICBiYWRnZT86IG51bWJlcjtcclxuICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgaGVscD86IHN0cmluZztcclxuICBfZXhwYW5kZWQ/OiBib29sZWFuO1xyXG4gIF9pbnN0YW5jZTogQ29tcG9uZW50VHlwZTtcclxuICBfcGF0aD86IHN0cmluZztcclxuICBfcXVlcnlTdHJpbmc6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBfbW9kZTogUGFuZU1vZGU7XHJcbiAgcmVhZG9ubHkgX3BvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gIHByaXZhdGUgX2V4cGFuZGFibGU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfc3RyZXRjaGFibGU/OiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XHJcbiAgZ2V0IGV4cGFuZGFibGUoKSB7IHJldHVybiB0aGlzLl9leHBhbmRhYmxlOyB9XHJcbiAgZ2V0IGluamVjdG9yKCkgeyByZXR1cm4gdGhpcy5faW5qZWN0b3I7IH1cclxuICBnZXQgZXhwYW5kZWQoKSB7IHJldHVybiB0aGlzLl9leHBhbmRlZDsgfVxyXG4gIGdldCBmdWxsUGF0aCgpIHsgcmV0dXJuICh0aGlzLl9wYXRoIHx8ICcnKSArICh0aGlzLl9xdWVyeVN0cmluZyA/IChRVUVSWV9DSEFSICsgdGhpcy5fcXVlcnlTdHJpbmcpIDogJycpIH1cclxuICBnZXQgaW5zdGFuY2UoKTogQ29tcG9uZW50VHlwZSB7IHJldHVybiB0aGlzLl9pbnN0YW5jZTsgfVxyXG4gIGdldCBkYXRhKCkgeyByZXR1cm4gdGhpcy5fZGF0YSQudmFsdWU7IH1cclxuICBnZXQgcGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcGFyYW1zJC52YWx1ZTsgfVxyXG4gIGdldCBxdWVyeVN0cmluZygpIHsgcmV0dXJuIHRoaXMuX3F1ZXJ5U3RyaW5nOyB9XHJcbiAgZ2V0IHF1ZXJ5UGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLnZhbHVlOyB9XHJcbiAgcGFyYW1zQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fcGFyYW1zJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIHF1ZXJ5UGFyYW1zQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZGF0YUNoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX2RhdGEkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgcmVzaXplZCgpIHsgcmV0dXJuIHRoaXMuX2V2ZW50cyQucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblJlc2l6ZSkpIGFzIE9ic2VydmFibGU8TmF2aWdhdGlvblJlc2l6ZT47IH1cclxuICBjbG9zZWluZygpIHsgcmV0dXJuIHRoaXMuX2V2ZW50cyQucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkNsb3NlKSkgYXMgT2JzZXJ2YWJsZTxOYXZpZ2F0aW9uQ2xvc2U+OyB9XHJcbiAgY2xvc2VkPFQgPSBhbnk+KCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2xvc2UpLCBtYXAoKCkgPT4gdGhpcy5fdmFsdWUpKSBhcyBPYnNlcnZhYmxlPFQ+OyB9XHJcbiAgZXhwYW5kZWRDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9ldmVudHMkLnBpcGUoZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FeHBhbmQpLCBtYXAoKCkgPT4gdGhpcy5leHBhbmRlZCkpOyB9XHJcbiAgZ2V0IHBhdGgoKSB7IHJldHVybiB0aGlzLl9wYXRoOyB9O1xyXG4gIGdldCBtb2RlKCkgeyByZXR1cm4gdGhpcy5fbW9kZTsgfTtcclxuICBnZXQgcGFyZW50KCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5wYXJlbnQ7IH07XHJcbiAgZ2V0IHN0cmV0Y2hhYmxlKCkgeyByZXR1cm4gdGhpcy5fc3RyZXRjaGFibGUgPT09IHRydWU7IH07XHJcbiAgc2V0IHN0cmV0Y2hhYmxlKHZhbDogYm9vbGVhbikgeyB0aGlzLl9zdHJldGNoYWJsZSA9IHZhbDsgfVxyXG4gIGdldCBkaWFsb2coKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLmRpYWxvZzsgfTtcclxuICBnZXQgZGlzbWlzc2FibGUoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLmRpc21pc3NhYmxlOyB9O1xyXG4gIGdldCByb3V0ZSgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMucm91dGU7IH07XHJcbiAgY29uc3RydWN0b3IoY29tcG9uZW50OiBUeXBlPGFueT4sXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiB7XHJcbiAgICAgIHBhdGg/OiBzdHJpbmc7XHJcbiAgICAgIHJvdXRlPzogUGFuZVJvdXRlO1xyXG4gICAgICB0aXRsZT86IHN0cmluZztcclxuICAgICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICAgIGd1aWRlPzogc3RyaW5nO1xyXG4gICAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgICAgIGhlbHA/OiBzdHJpbmc7XHJcbiAgICAgIG1vZGU6IFBhbmVNb2RlLFxyXG4gICAgICBleHBhbmRlZD86IGJvb2xlYW47XHJcbiAgICAgIGRpYWxvZz86IGJvb2xlYW47XHJcbiAgICAgIHN0cmV0Y2hhYmxlPzogYm9vbGVhbjtcclxuICAgICAgcGFyZW50PzogUGFuZVJlZjxhbnk+O1xyXG4gICAgICBxdWVyeVN0cmluZz86IHN0cmluZztcclxuICAgICAgZGF0YT86IERhdGFUeXBlO1xyXG4gICAgICBwYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgcXVlcnlQYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgZXhwYW5kYWJsZT86IGJvb2xlYW4sXHJcbiAgICAgIGRpc21pc3NhYmxlPzogYm9vbGVhblxyXG4gICAgfSkge1xyXG4gICAgY29uc3QgeyBzdHJldGNoYWJsZSwgbW9kZSwgZGF0YSwgcGFyYW1zLCBxdWVyeVBhcmFtcywgcGF0aCwgcXVlcnlTdHJpbmcsIHRpdGxlLCBncm91cCwgaWNvbiwgaGVscCwgZ3VpZGUsIGFuaW1hdGlvbiwgZXhwYW5kZWQsIGV4cGFuZGFibGUgfSA9IF9vcHRpb25zO1xyXG4gICAgdGhpcy5fcGF0aCA9IHBhdGg7XHJcbiAgICB0aGlzLl9tb2RlID0gbW9kZTtcclxuICAgIHRoaXMuX3N0cmV0Y2hhYmxlID0gc3RyZXRjaGFibGU7XHJcbiAgICB0aGlzLl9leHBhbmRlZCA9IGV4cGFuZGVkO1xyXG4gICAgdGhpcy5fcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZztcclxuICAgIHRoaXMuX2V4cGFuZGFibGUgPSBleHBhbmRhYmxlICE9PSBmYWxzZTtcclxuICAgIHRoaXMuX2luamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBQYW5lUmVmLCB1c2VWYWx1ZTogdGhpcyB9XHJcbiAgICAgIF0sIHBhcmVudDogaW5qZWN0b3JcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIG51bGwsIHRoaXMuX2luamVjdG9yKTtcclxuICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcclxuICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcclxuICAgIHRoaXMuZ3VpZGUgPSBndWlkZTtcclxuICAgIHRoaXMuaGVscCA9IGhlbHA7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSBhbmltYXRpb247XHJcbiAgICBkYXRhICYmIHRoaXMuX2RhdGEkLm5leHQoZGF0YSk7XHJcbiAgICBwYXJhbXMgJiYgdGhpcy5fcGFyYW1zJC5uZXh0KHBhcmFtcyk7XHJcbiAgICBxdWVyeVBhcmFtcyAmJiB0aGlzLl9xdWVyeVBhcmFtcyQubmV4dChxdWVyeVBhcmFtcyk7XHJcbiAgfVxyXG4gIGRlY2VuZGVudE9mKHBhbmU6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50ID09PSBwYW5lIC8vfHxcclxuICAgIC8vICAodGhpcy5wYXRoICYmIHBhbmUucGF0aCAmJiB0aGlzLnBhdGguc3RhcnRzV2l0aChwYW5lLnBhdGgpKTtcclxuICB9XHJcbiAgcmVjeWNsZSgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ3JlY3ljbGUnKTtcclxuICB9XHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLl9jb21tYW5kJC5uZXh0KCdmb2N1cycpO1xyXG4gIH1cclxuICBjbG9zZSh2YWx1ZT86IGFueSkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2Nsb3NlJyk7XHJcbiAgfVxyXG4gIGV4cGFuZCgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2V4cGFuZCcpO1xyXG4gIH1cclxuICBfZGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9kYXRhJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcGFyYW1zJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcXVlcnlQYXJhbXMkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9ldmVudHMkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -38,10 +38,10 @@ export class SlotRouterDirective {
38
38
  this._destroy.next();
39
39
  this._destroy.complete();
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SlotRouterDirective, deps: [{ token: i0.ElementRef }, { token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: SlotRouterDirective, selector: "[slotRouterLink]", inputs: { link: ["slotRouterLink", "link"], active: ["slotRouterLinkActive", "active"], disabled: ["slotRouterLinkDisabled", "disabled"], policy: ["slotRouterLinkPolicy", "policy"], options: ["slotRouterLinkOptions", "options"] }, host: { listeners: { "click": "_navigate()" } }, ngImport: i0 }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlotRouterDirective, deps: [{ token: i0.ElementRef }, { token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: SlotRouterDirective, selector: "[slotRouterLink]", inputs: { link: ["slotRouterLink", "link"], active: ["slotRouterLinkActive", "active"], disabled: ["slotRouterLinkDisabled", "disabled"], policy: ["slotRouterLinkPolicy", "policy"], options: ["slotRouterLinkOptions", "options"] }, host: { listeners: { "click": "_navigate()" } }, ngImport: i0 }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SlotRouterDirective, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlotRouterDirective, decorators: [{
45
45
  type: Directive,
46
46
  args: [{
47
47
  selector: '[slotRouterLink]',
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
65
65
  type: Input,
66
66
  args: ['slotRouterLinkOptions']
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9zbG90cy9yb3V0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQWUsTUFBTSxZQUFZLENBQUM7QUFDNUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBUXZDLE1BQU0sT0FDRSxtQkFBbUI7SUFFekIsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUNXLElBQUksQ0FBQyxLQUF3QjtRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFPRCxZQUNVLFFBQWlDLEVBQ2pDLE9BQW9CO1FBRHBCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFSOUIsZ0JBQWdCO1FBQ2UsV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBR2QsQ0FBQztJQUNuQyxRQUFRO1FBQ04sTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDL0QsQ0FBQyxDQUFDLFlBQVksZUFBZSxJQUFJLENBQUMsWUFBWSxlQUFlLElBQUksQ0FBQyxZQUFZLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07ZUFDcEksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFDTyxPQUFPLENBQUMsR0FBWTtRQUMxQixJQUFJLEdBQUc7WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzs7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELFNBQVM7UUFDUCxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FwQ0ssbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBUDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxhQUFhO3FCQUN6QjtpQkFDRjt5R0FRWSxJQUFJO3NCQURkLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUtRLE1BQU07c0JBQXBDLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUNJLFFBQVE7c0JBQXhDLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUNBLE1BQU07c0JBQXBDLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUNHLE9BQU87c0JBQXRDLEtBQUs7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkZvY3VzLCBOYXZpZ2F0aW9uU3RhcnQsIFBhcmFtTmF2aWdhdGlvbiwgUGFuZU9wdGlvbnMgfSBmcm9tICcuL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzbG90Um91dGVyTGlua10nLFxyXG4gIGhvc3Q6IHtcclxuICAgICcoY2xpY2spJzogJ19uYXZpZ2F0ZSgpJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgU2xvdFJvdXRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9saW5rITogc3RyaW5nW107XHJcbiAgcHVibGljIGdldCBsaW5rKCk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9saW5rO1xyXG4gIH1cclxuICBASW5wdXQoJ3Nsb3RSb3V0ZXJMaW5rJylcclxuICBwdWJsaWMgc2V0IGxpbmsodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9saW5rID0gaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XHJcbiAgfVxyXG4gIC8qKiBjc3MgY2xhc3MgKi9cclxuICBASW5wdXQoJ3Nsb3RSb3V0ZXJMaW5rQWN0aXZlJykgYWN0aXZlPzogc3RyaW5nID0gJ2FjdGl2ZSc7XHJcbiAgQElucHV0KCdzbG90Um91dGVyTGlua0Rpc2FibGVkJykgZGlzYWJsZWQ/PSBmYWxzZTtcclxuICBASW5wdXQoJ3Nsb3RSb3V0ZXJMaW5rUG9saWN5JykgcG9saWN5PzogT3BlblBvbGljeTtcclxuICBASW5wdXQoJ3Nsb3RSb3V0ZXJMaW5rT3B0aW9ucycpIG9wdGlvbnM/OiBQYW5lT3B0aW9ucztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcikgeyB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXRoID0gdGhpcy5fbGluay5qb2luKCcvJyk7XHJcbiAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PlxyXG4gICAgICAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBlIGluc3RhbmNlb2YgUGFyYW1OYXZpZ2F0aW9uIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRm9jdXMpICYmIGUucGFuZS5wYXRoICYmIGUucGFuZS5tb2RlID09PSAncGFuZSdcclxuICAgICAgJiYgdGhpcy5fdG9nZ2xlKGUucGFuZS5wYXRoID09PSBwYXRoKVxyXG4gICAgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdG9nZ2xlKHZhbDogYm9vbGVhbikge1xyXG4gICAgaWYgKHZhbClcclxuICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5hY3RpdmUpO1xyXG4gICAgZWxzZSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmFjdGl2ZSk7XHJcbiAgfVxyXG4gIF9uYXZpZ2F0ZSgpIHtcclxuICAgICF0aGlzLmRpc2FibGVkICYmIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZSh0aGlzLl9saW5rLCB7IHBvbGljeTogdGhpcy5wb2xpY3ksIC4uLnRoaXMub3B0aW9ucyB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL3Nsb3RzL3JvdXRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBZSxNQUFNLFlBQVksQ0FBQztBQUM1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFRdkMsTUFBTSxPQUNFLG1CQUFtQjtJQUV6QixJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQ1csSUFBSSxDQUFDLEtBQXdCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQU9ELFlBQ1UsUUFBaUMsRUFDakMsT0FBb0I7UUFEcEIsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVI5QixnQkFBZ0I7UUFDZSxXQUFNLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFHZCxDQUFDO0lBQ25DLFFBQVE7UUFDTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMvRCxDQUFDLENBQUMsWUFBWSxlQUFlLElBQUksQ0FBQyxZQUFZLGVBQWUsSUFBSSxDQUFDLFlBQVksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTTtlQUNwSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUNPLE9BQU8sQ0FBQyxHQUFZO1FBQzFCLElBQUksR0FBRztZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDOztZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsU0FBUztRQUNQLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQXBDSyxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFQMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLGFBQWE7cUJBQ3pCO2lCQUNGO3lHQVFZLElBQUk7c0JBRGQsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS1EsTUFBTTtzQkFBcEMsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBQ0ksUUFBUTtzQkFBeEMsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBQ0EsTUFBTTtzQkFBcEMsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBQ0csT0FBTztzQkFBdEMsS0FBSzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4vcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRm9jdXMsIE5hdmlnYXRpb25TdGFydCwgUGFyYW1OYXZpZ2F0aW9uLCBQYW5lT3B0aW9ucyB9IGZyb20gJy4vcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3Nsb3RSb3V0ZXJMaW5rXScsXHJcbiAgaG9zdDoge1xyXG4gICAgJyhjbGljayknOiAnX25hdmlnYXRlKCknXHJcbiAgfVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBTbG90Um91dGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2xpbmshOiBzdHJpbmdbXTtcclxuICBwdWJsaWMgZ2V0IGxpbmsoKTogc3RyaW5nIHwgc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpbms7XHJcbiAgfVxyXG4gIEBJbnB1dCgnc2xvdFJvdXRlckxpbmsnKVxyXG4gIHB1YmxpYyBzZXQgbGluayh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX2xpbmsgPSBpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcclxuICB9XHJcbiAgLyoqIGNzcyBjbGFzcyAqL1xyXG4gIEBJbnB1dCgnc2xvdFJvdXRlckxpbmtBY3RpdmUnKSBhY3RpdmU6IHN0cmluZyA9ICdhY3RpdmUnO1xyXG4gIEBJbnB1dCgnc2xvdFJvdXRlckxpbmtEaXNhYmxlZCcpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCdzbG90Um91dGVyTGlua1BvbGljeScpIHBvbGljeT86IE9wZW5Qb2xpY3k7XHJcbiAgQElucHV0KCdzbG90Um91dGVyTGlua09wdGlvbnMnKSBvcHRpb25zPzogUGFuZU9wdGlvbnM7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuX2xpbmsuam9pbignLycpO1xyXG4gICAgdGhpcy5fcm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT5cclxuICAgICAgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgfHwgZSBpbnN0YW5jZW9mIFBhcmFtTmF2aWdhdGlvbiB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkZvY3VzKSAmJiBlLnBhbmUucGF0aCAmJiBlLnBhbmUubW9kZSA9PT0gJ3BhbmUnXHJcbiAgICAgICYmIHRoaXMuX3RvZ2dsZShlLnBhbmUucGF0aCA9PT0gcGF0aClcclxuICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RvZ2dsZSh2YWw6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwpXHJcbiAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuYWN0aXZlKTtcclxuICAgIGVsc2UgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5hY3RpdmUpO1xyXG4gIH1cclxuICBfbmF2aWdhdGUoKSB7XHJcbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLl9yb3V0ZXIubmF2aWdhdGUodGhpcy5fbGluaywgeyBwb2xpY3k6IHRoaXMucG9saWN5LCAuLi50aGlzLm9wdGlvbnMgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -13,7 +13,8 @@ export class PanesRouter {
13
13
  navigate(commands, options) {
14
14
  return new Promise((resolve, reject) => {
15
15
  this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe({
16
- next: (e) => resolve(e.pane), error: reject
16
+ next: e => resolve(e.pane),
17
+ error: reject
17
18
  });
18
19
  this._navigate$.next(isArray(commands) ?
19
20
  {
@@ -29,11 +30,11 @@ export class PanesRouter {
29
30
  collapse() {
30
31
  this._comm$.next('collapse');
31
32
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: PanesRouter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: PanesRouter, providedIn: 'root' }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PanesRouter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PanesRouter, providedIn: 'root' }); }
34
35
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: PanesRouter, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PanesRouter, decorators: [{
36
37
  type: Injectable,
37
38
  args: [{ providedIn: 'root' }]
38
39
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUEyQixNQUFNLFlBQVksQ0FBQzs7QUFJdEUsTUFBTSxPQUNFLFdBQVc7SUFGbkI7UUFHVyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDekMsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBRXRDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFHVCxDQUFDO0tBNEIxQjtJQXBCQyxRQUFRLENBQUksUUFBZ0QsRUFBRSxPQUEyQjtRQUN2RixPQUFPLElBQUksT0FBTyxDQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDL0UsSUFBSSxFQUFFLENBQUMsQ0FBa0IsRUFBRSxFQUFFLENBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU07YUFDakMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDO29CQUNFLFFBQVEsRUFBRSxRQUFvQixFQUFFLEdBQUcsT0FBTztpQkFDM0MsQ0FBQyxDQUFDLENBQUM7Z0JBQ0YsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU87YUFDaEMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTTtJQUNOLElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDcEQsTUFBTTtJQUNOLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQWxDSyxXQUFXO2tIQUFYLFdBQVcsY0FGTyxNQUFNOzsyRkFFeEIsV0FBVztrQkFGbEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uQmFzZSwgUGFuZVJlZiB9IGZyb20gJy4vcGFuZS1yZWYnO1xyXG5cclxuZXhwb3J0IHR5cGUgUm91dGVyQ29tbWFuZCA9ICdjb2xsYXBzZSc7XHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFBhbmVzUm91dGVyIHtcclxuICByZWFkb25seSBfZXZlbnRzJCA9IG5ldyBTdWJqZWN0PE5hdmlnYXRpb25CYXNlPigpO1xyXG4gIHJlYWRvbmx5IF9jb21tJCA9IG5ldyBTdWJqZWN0PFJvdXRlckNvbW1hbmQ+KCk7XHJcblxyXG4gIHJlYWRvbmx5IF9uYXZpZ2F0ZSQgPSBuZXcgU3ViamVjdDx7XHJcbiAgICBjb21tYW5kcz86IHN0cmluZ1tdLFxyXG4gICAgY29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxhbnk+LFxyXG4gIH0gJiBOYXZpZ2F0aW9uT3B0aW9ucz4oKTtcclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gY29tbWFuZHNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIG5hdmlnYXRlKGNvbW1hbmRzOiAoc3RyaW5nIHwgbnVtYmVyKVtdLCBvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpXHJcbiAgbmF2aWdhdGU8VD4oY29tbWFuZHM6IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj5cclxuICBuYXZpZ2F0ZTxUPihjb21tYW5kczogKHN0cmluZyB8IG51bWJlcilbXSB8IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFBhbmVSZWY8VD4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLCBmaXJzdCgpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChlOiBOYXZpZ2F0aW9uU3RhcnQpID0+XHJcbiAgICAgICAgICByZXNvbHZlKGUucGFuZSksIGVycm9yOiByZWplY3RcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX25hdmlnYXRlJC5uZXh0KGlzQXJyYXkoY29tbWFuZHMpID9cclxuICAgICAgICB7XHJcbiAgICAgICAgICBjb21tYW5kczogY29tbWFuZHMgYXMgc3RyaW5nW10sIC4uLm9wdGlvbnNcclxuICAgICAgICB9IDoge1xyXG4gICAgICAgICAgY29tcG9uZW50OiBjb21tYW5kcywgLi4ub3B0aW9uc1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGdldCBldmVudHMoKSB7IHJldHVybiB0aGlzLl9ldmVudHMkLmFzT2JzZXJ2YWJsZSgpIH1cclxuICAvKiogKi9cclxuICBjb2xsYXBzZSgpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ2NvbGxhcHNlJyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25PcHRpb25zIHtcclxuICBzdGF0ZT86IGFueTtcclxuICBxdWVyeVBhcmFtcz86IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgcGF0aE1vZGU/OiAncmVsYXRpdmUnLFxyXG4gIHJlbGF0aXZlVG8/OiBQYW5lUmVmLFxyXG4gIGFuaW1hdGlvbj86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIGluamVjdG9yPzogSW5qZWN0b3I7XHJcbiAgcG9saWN5PzogT3BlblBvbGljeTtcclxufVxyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQTJCLE1BQU0sWUFBWSxDQUFDOztBQUl0RSxNQUFNLE9BQ0UsV0FBVztJQUZuQjtRQUdXLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUN6QyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFFdEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUdULENBQUM7S0E2QjFCO0lBckJDLFFBQVEsQ0FBSSxRQUFnRCxFQUFFLE9BQTJCO1FBQ3ZGLE9BQU8sSUFBSSxPQUFPLENBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMvRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FDUixPQUFPLENBQUUsQ0FBcUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RDLEtBQUssRUFBRSxNQUFNO2FBQ2QsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDO29CQUNFLFFBQVEsRUFBRSxRQUFvQixFQUFFLEdBQUcsT0FBTztpQkFDM0MsQ0FBQyxDQUFDLENBQUM7Z0JBQ0YsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU87YUFDaEMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTTtJQUNOLElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDcEQsTUFBTTtJQUNOLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQW5DSyxXQUFXO2tIQUFYLFdBQVcsY0FGTyxNQUFNOzsyRkFFeEIsV0FBVztrQkFGbEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uQmFzZSwgUGFuZVJlZiB9IGZyb20gJy4vcGFuZS1yZWYnO1xyXG5cclxuZXhwb3J0IHR5cGUgUm91dGVyQ29tbWFuZCA9ICdjb2xsYXBzZSc7XHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFBhbmVzUm91dGVyIHtcclxuICByZWFkb25seSBfZXZlbnRzJCA9IG5ldyBTdWJqZWN0PE5hdmlnYXRpb25CYXNlPigpO1xyXG4gIHJlYWRvbmx5IF9jb21tJCA9IG5ldyBTdWJqZWN0PFJvdXRlckNvbW1hbmQ+KCk7XHJcblxyXG4gIHJlYWRvbmx5IF9uYXZpZ2F0ZSQgPSBuZXcgU3ViamVjdDx7XHJcbiAgICBjb21tYW5kcz86IHN0cmluZ1tdLFxyXG4gICAgY29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxhbnk+LFxyXG4gIH0gJiBOYXZpZ2F0aW9uT3B0aW9ucz4oKTtcclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gY29tbWFuZHNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIG5hdmlnYXRlPFQ+KGNvbW1hbmRzOiAoc3RyaW5nIHwgbnVtYmVyKVtdLCBvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhbmVSZWY8VD4+XHJcbiAgbmF2aWdhdGU8VD4oY29tbWFuZHM6IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj5cclxuICBuYXZpZ2F0ZTxUPihjb21tYW5kczogKHN0cmluZyB8IG51bWJlcilbXSB8IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFBhbmVSZWY8VD4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLCBmaXJzdCgpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IGUgPT5cclxuICAgICAgICAgIHJlc29sdmUoKGUgYXMgTmF2aWdhdGlvblN0YXJ0KS5wYW5lKSxcclxuICAgICAgICBlcnJvcjogcmVqZWN0XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZpZ2F0ZSQubmV4dChpc0FycmF5KGNvbW1hbmRzKSA/XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY29tbWFuZHM6IGNvbW1hbmRzIGFzIHN0cmluZ1tdLCAuLi5vcHRpb25zXHJcbiAgICAgICAgfSA6IHtcclxuICAgICAgICAgIGNvbXBvbmVudDogY29tbWFuZHMsIC4uLm9wdGlvbnNcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBnZXQgZXZlbnRzKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5hc09ic2VydmFibGUoKSB9XHJcbiAgLyoqICovXHJcbiAgY29sbGFwc2UoKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdjb2xsYXBzZScpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uT3B0aW9ucyB7XHJcbiAgc3RhdGU/OiBhbnk7XHJcbiAgcXVlcnlQYXJhbXM/OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHBhdGhNb2RlPzogJ3JlbGF0aXZlJyxcclxuICByZWxhdGl2ZVRvPzogUGFuZVJlZixcclxuICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgaGVscD86IHN0cmluZztcclxuICBncm91cD86IHN0cmluZztcclxuICBpbmplY3Rvcj86IEluamVjdG9yO1xyXG4gIHBvbGljeT86IE9wZW5Qb2xpY3k7XHJcbn1cclxuIl19