@bizdoc/core 1.9.10 → 1.10.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/assets/dayjs/locale/af.js +1 -0
  2. package/assets/dayjs/locale/am.js +1 -0
  3. package/assets/dayjs/locale/ar-dz.js +1 -0
  4. package/assets/dayjs/locale/ar-iq.js +1 -0
  5. package/assets/dayjs/locale/ar-kw.js +1 -0
  6. package/assets/dayjs/locale/ar-ly.js +1 -0
  7. package/assets/dayjs/locale/ar-ma.js +1 -0
  8. package/assets/dayjs/locale/ar-sa.js +1 -0
  9. package/assets/dayjs/locale/ar-tn.js +1 -0
  10. package/assets/dayjs/locale/ar.js +1 -0
  11. package/assets/dayjs/locale/az.js +1 -0
  12. package/assets/dayjs/locale/be.js +1 -0
  13. package/assets/dayjs/locale/bg.js +1 -0
  14. package/assets/dayjs/locale/bi.js +1 -0
  15. package/assets/dayjs/locale/bm.js +1 -0
  16. package/assets/dayjs/locale/bn.js +1 -0
  17. package/assets/dayjs/locale/bo.js +1 -0
  18. package/assets/dayjs/locale/br.js +1 -0
  19. package/assets/dayjs/locale/bs.js +1 -0
  20. package/assets/dayjs/locale/ca.js +1 -0
  21. package/assets/dayjs/locale/cs.js +1 -0
  22. package/assets/dayjs/locale/cv.js +1 -0
  23. package/assets/dayjs/locale/cy.js +1 -0
  24. package/assets/dayjs/locale/da.js +1 -0
  25. package/assets/dayjs/locale/de-at.js +1 -0
  26. package/assets/dayjs/locale/de-ch.js +1 -0
  27. package/assets/dayjs/locale/de.js +1 -0
  28. package/assets/dayjs/locale/dv.js +1 -0
  29. package/assets/dayjs/locale/el.js +1 -0
  30. package/assets/dayjs/locale/en-au.js +1 -0
  31. package/assets/dayjs/locale/en-ca.js +1 -0
  32. package/assets/dayjs/locale/en-gb.js +1 -0
  33. package/assets/dayjs/locale/en-ie.js +1 -0
  34. package/assets/dayjs/locale/en-il.js +1 -0
  35. package/assets/dayjs/locale/en-in.js +1 -0
  36. package/assets/dayjs/locale/en-nz.js +1 -0
  37. package/assets/dayjs/locale/en-sg.js +1 -0
  38. package/assets/dayjs/locale/en-tt.js +1 -0
  39. package/assets/dayjs/locale/en.js +1 -0
  40. package/assets/dayjs/locale/eo.js +1 -0
  41. package/assets/dayjs/locale/es-do.js +1 -0
  42. package/assets/dayjs/locale/es-mx.js +1 -0
  43. package/assets/dayjs/locale/es-pr.js +1 -0
  44. package/assets/dayjs/locale/es-us.js +1 -0
  45. package/assets/dayjs/locale/es.js +1 -0
  46. package/assets/dayjs/locale/et.js +1 -0
  47. package/assets/dayjs/locale/eu.js +1 -0
  48. package/assets/dayjs/locale/fa.js +1 -0
  49. package/assets/dayjs/locale/fi.js +1 -0
  50. package/assets/dayjs/locale/fo.js +1 -0
  51. package/assets/dayjs/locale/fr-ca.js +1 -0
  52. package/assets/dayjs/locale/fr-ch.js +1 -0
  53. package/assets/dayjs/locale/fr.js +1 -0
  54. package/assets/dayjs/locale/fy.js +1 -0
  55. package/assets/dayjs/locale/ga.js +1 -0
  56. package/assets/dayjs/locale/gd.js +1 -0
  57. package/assets/dayjs/locale/gl.js +1 -0
  58. package/assets/dayjs/locale/gom-latn.js +1 -0
  59. package/assets/dayjs/locale/gu.js +1 -0
  60. package/assets/dayjs/locale/he.js +1 -0
  61. package/assets/dayjs/locale/hi.js +1 -0
  62. package/assets/dayjs/locale/hr.js +1 -0
  63. package/assets/dayjs/locale/ht.js +1 -0
  64. package/assets/dayjs/locale/hu.js +1 -0
  65. package/assets/dayjs/locale/hy-am.js +1 -0
  66. package/assets/dayjs/locale/id.js +1 -0
  67. package/assets/dayjs/locale/index.d.ts +11 -0
  68. package/assets/dayjs/locale/is.js +1 -0
  69. package/assets/dayjs/locale/it-ch.js +1 -0
  70. package/assets/dayjs/locale/it.js +1 -0
  71. package/assets/dayjs/locale/ja.js +1 -0
  72. package/assets/dayjs/locale/jv.js +1 -0
  73. package/assets/dayjs/locale/ka.js +1 -0
  74. package/assets/dayjs/locale/kk.js +1 -0
  75. package/assets/dayjs/locale/km.js +1 -0
  76. package/assets/dayjs/locale/kn.js +1 -0
  77. package/assets/dayjs/locale/ko.js +1 -0
  78. package/assets/dayjs/locale/ku.js +1 -0
  79. package/assets/dayjs/locale/ky.js +1 -0
  80. package/assets/dayjs/locale/lb.js +1 -0
  81. package/assets/dayjs/locale/lo.js +1 -0
  82. package/assets/dayjs/locale/lt.js +1 -0
  83. package/assets/dayjs/locale/lv.js +1 -0
  84. package/assets/dayjs/locale/me.js +1 -0
  85. package/assets/dayjs/locale/mi.js +1 -0
  86. package/assets/dayjs/locale/mk.js +1 -0
  87. package/assets/dayjs/locale/ml.js +1 -0
  88. package/assets/dayjs/locale/mn.js +1 -0
  89. package/assets/dayjs/locale/mr.js +1 -0
  90. package/assets/dayjs/locale/ms-my.js +1 -0
  91. package/assets/dayjs/locale/ms.js +1 -0
  92. package/assets/dayjs/locale/mt.js +1 -0
  93. package/assets/dayjs/locale/my.js +1 -0
  94. package/assets/dayjs/locale/nb.js +1 -0
  95. package/assets/dayjs/locale/ne.js +1 -0
  96. package/assets/dayjs/locale/nl-be.js +1 -0
  97. package/assets/dayjs/locale/nl.js +1 -0
  98. package/assets/dayjs/locale/nn.js +1 -0
  99. package/assets/dayjs/locale/oc-lnc.js +1 -0
  100. package/assets/dayjs/locale/pa-in.js +1 -0
  101. package/assets/dayjs/locale/pl.js +1 -0
  102. package/assets/dayjs/locale/pt-br.js +1 -0
  103. package/assets/dayjs/locale/pt.js +1 -0
  104. package/assets/dayjs/locale/ro.js +1 -0
  105. package/assets/dayjs/locale/ru.js +1 -0
  106. package/assets/dayjs/locale/rw.js +1 -0
  107. package/assets/dayjs/locale/sd.js +1 -0
  108. package/assets/dayjs/locale/se.js +1 -0
  109. package/assets/dayjs/locale/si.js +1 -0
  110. package/assets/dayjs/locale/sk.js +1 -0
  111. package/assets/dayjs/locale/sl.js +1 -0
  112. package/assets/dayjs/locale/sq.js +1 -0
  113. package/assets/dayjs/locale/sr-cyrl.js +1 -0
  114. package/assets/dayjs/locale/sr.js +1 -0
  115. package/assets/dayjs/locale/ss.js +1 -0
  116. package/assets/dayjs/locale/sv-fi.js +1 -0
  117. package/assets/dayjs/locale/sv.js +1 -0
  118. package/assets/dayjs/locale/sw.js +1 -0
  119. package/assets/dayjs/locale/ta.js +1 -0
  120. package/assets/dayjs/locale/te.js +1 -0
  121. package/assets/dayjs/locale/tet.js +1 -0
  122. package/assets/dayjs/locale/tg.js +1 -0
  123. package/assets/dayjs/locale/th.js +1 -0
  124. package/assets/dayjs/locale/tk.js +1 -0
  125. package/assets/dayjs/locale/tl-ph.js +1 -0
  126. package/assets/dayjs/locale/tlh.js +1 -0
  127. package/assets/dayjs/locale/tr.js +1 -0
  128. package/assets/dayjs/locale/types.d.ts +33 -0
  129. package/assets/dayjs/locale/tzl.js +1 -0
  130. package/assets/dayjs/locale/tzm-latn.js +1 -0
  131. package/assets/dayjs/locale/tzm.js +1 -0
  132. package/assets/dayjs/locale/ug-cn.js +1 -0
  133. package/assets/dayjs/locale/uk.js +1 -0
  134. package/assets/dayjs/locale/ur.js +1 -0
  135. package/assets/dayjs/locale/uz-latn.js +1 -0
  136. package/assets/dayjs/locale/uz.js +1 -0
  137. package/assets/dayjs/locale/vi.js +1 -0
  138. package/assets/dayjs/locale/x-pseudo.js +1 -0
  139. package/assets/dayjs/locale/yo.js +1 -0
  140. package/assets/dayjs/locale/zh-cn.js +1 -0
  141. package/assets/dayjs/locale/zh-hk.js +1 -0
  142. package/assets/dayjs/locale/zh-tw.js +1 -0
  143. package/assets/dayjs/locale/zh.js +1 -0
  144. package/assets/themes/brown.min.css +1 -1
  145. package/assets/themes/dark.min.css +1 -1
  146. package/assets/themes/deep-purple-light-blue.min.css +3 -3
  147. package/assets/themes/default.min.css +1 -1
  148. package/assets/themes/green.min.css +1 -1
  149. package/assets/themes/indigo.min.css +1 -1
  150. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +2 -2
  151. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +6 -7
  152. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +1 -1
  153. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +3 -2
  154. package/esm2020/lib/admin/profiler/profiler.component.mjs +8 -8
  155. package/esm2020/lib/bizdoc.module.mjs +5 -17
  156. package/esm2020/lib/browse/browse-items.component.mjs +10 -5
  157. package/esm2020/lib/browse/browse.pane.component.mjs +3 -1
  158. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +10 -10
  159. package/esm2020/lib/browse/filter/filter.component.mjs +3 -6
  160. package/esm2020/lib/chat/contacts.component.mjs +4 -3
  161. package/esm2020/lib/chat/conversation.component.mjs +6 -4
  162. package/esm2020/lib/compose/attachments/attachments.component.mjs +1 -1
  163. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +18 -16
  164. package/esm2020/lib/compose/comments/comment.component.mjs +4 -3
  165. package/esm2020/lib/compose/comments/edits.component.mjs +1 -1
  166. package/esm2020/lib/compose/comments/votes.component.mjs +4 -3
  167. package/esm2020/lib/compose/compose.pane.component.mjs +9 -4
  168. package/esm2020/lib/compose/document.component.mjs +9 -11
  169. package/esm2020/lib/compose/events/events.component.mjs +1 -1
  170. package/esm2020/lib/compose/form-ref.mjs +6 -7
  171. package/esm2020/lib/compose/form.component.mjs +2 -2
  172. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  173. package/esm2020/lib/compose/trace/flow.component.mjs +9 -10
  174. package/esm2020/lib/compose/trace/trace.base.mjs +3 -4
  175. package/esm2020/lib/compose/trace/trace.component.mjs +8 -8
  176. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +6 -8
  177. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +2 -2
  178. package/esm2020/lib/core/pipes/calendar.pipe.mjs +74 -0
  179. package/esm2020/lib/core/pipes/date-format.pipe.mjs +19 -0
  180. package/esm2020/lib/core/pipes/daterange.pipe.mjs +7 -8
  181. package/esm2020/lib/core/pipes/difference.pipe.mjs +15 -0
  182. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +50 -0
  183. package/esm2020/lib/core/pipes/duration.pipe.mjs +17 -42
  184. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +68 -0
  185. package/esm2020/lib/core/session.service.mjs +6 -6
  186. package/esm2020/lib/core/slots/slots.component.mjs +10 -11
  187. package/esm2020/lib/core/tagging/edit-input.component.mjs +7 -6
  188. package/esm2020/lib/core/translate.service.mjs +26 -101
  189. package/esm2020/lib/core/translations.mjs +4 -4
  190. package/esm2020/lib/cube/accum/accum.component.mjs +9 -4
  191. package/esm2020/lib/cube/chart/chart.component.mjs +18 -5
  192. package/esm2020/lib/cube/cube-view.component.mjs +21 -12
  193. package/esm2020/lib/cube/cube.service.mjs +2 -2
  194. package/esm2020/lib/cube/declarations.mjs +1 -1
  195. package/esm2020/lib/cube/explore/explore-items.component.mjs +1 -1
  196. package/esm2020/lib/cube/grid/grid.component.mjs +21 -10
  197. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +54 -49
  198. package/esm2020/lib/cube/matrix/table.component.mjs +7 -7
  199. package/esm2020/lib/cube/parallel/item.mjs +2 -1
  200. package/esm2020/lib/cube/pivot/pivot.component.mjs +18 -13
  201. package/esm2020/lib/cube/sum/sum.component.mjs +2 -2
  202. package/esm2020/lib/cube/view-base.mjs +1 -1
  203. package/esm2020/lib/cube/view.pane.component.mjs +9 -6
  204. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +1 -1
  205. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +1 -1
  206. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +2 -1
  207. package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -4
  208. package/esm2020/lib/dashboard/score/compare-departments.widget.mjs +4 -5
  209. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +5 -5
  210. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +6 -5
  211. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +2 -2
  212. package/esm2020/lib/desktop.module.mjs +1 -5
  213. package/esm2020/lib/home/about/about.dialog.mjs +4 -5
  214. package/esm2020/lib/home/notifications/notifications.component.mjs +5 -4
  215. package/esm2020/lib/home/search.service.mjs +8 -5
  216. package/esm2020/lib/mobile.module.mjs +1 -5
  217. package/esm2020/lib/modules/chart.module.mjs +6 -6
  218. package/esm2020/lib/modules/date.adapter.mjs +30 -0
  219. package/esm2020/lib/modules/datepicker.intl.mjs +39 -0
  220. package/esm2020/lib/modules/gantt.module.mjs +17 -0
  221. package/esm2020/lib/modules/material.module.mjs +11 -5
  222. package/esm2020/lib/modules/paginator.intl.mjs +21 -0
  223. package/esm2020/lib/modules/stepper.intl.mjs +17 -0
  224. package/esm2020/lib/modules/texteditor.module.mjs +27 -0
  225. package/esm2020/lib/notifications/notifications-table.component.mjs +4 -3
  226. package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -4
  227. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +4 -5
  228. package/esm2020/lib/reports/cube/grid-documents.component.mjs +1 -1
  229. package/esm2020/lib/reports/substitution/substitution.component.mjs +1 -1
  230. package/esm2020/lib/routes.desktop.mjs +8 -8
  231. package/esm2020/lib/routes.mobile.mjs +1 -1
  232. package/esm2020/lib/scheduler/schedule.component.mjs +5 -6
  233. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +4 -5
  234. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +4 -5
  235. package/esm2020/lib/shared.module.mjs +28 -25
  236. package/esm2020/lib/system.module.mjs +1 -5
  237. package/esm2020/lib/views/cube/chart.component.mjs +1 -1
  238. package/esm2020/lib/views/cube/matrix.component.mjs +6 -6
  239. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -4
  240. package/esm2020/public-api.mjs +7 -2
  241. package/fesm2015/bizdoc-core.mjs +723 -460
  242. package/fesm2015/bizdoc-core.mjs.map +1 -1
  243. package/fesm2020/bizdoc-core.mjs +723 -458
  244. package/fesm2020/bizdoc-core.mjs.map +1 -1
  245. package/lib/admin/diff/configuration-diff.component.d.ts +1 -1
  246. package/lib/bizdoc.module.d.ts +6 -7
  247. package/lib/browse/browse-items.component.d.ts +1 -1
  248. package/lib/chat/conversation.component.d.ts +1 -1
  249. package/lib/compose/attachments/preview/attachment-preview.component.d.ts +3 -1
  250. package/lib/compose/compose.pane.component.d.ts +1 -0
  251. package/lib/compose/document.component.d.ts +2 -4
  252. package/lib/compose/form-ref.d.ts +1 -3
  253. package/lib/compose/trace/flow.component.d.ts +1 -1
  254. package/lib/compose/trace/trace.component.d.ts +1 -1
  255. package/lib/compose/version-compare/version-compare.component.d.ts +2 -4
  256. package/lib/compose/version-compare/version.pane.component.d.ts +1 -1
  257. package/lib/core/pipes/calendar.pipe.d.ts +27 -0
  258. package/lib/core/pipes/date-format.pipe.d.ts +8 -0
  259. package/lib/core/pipes/daterange.pipe.d.ts +1 -1
  260. package/lib/core/pipes/difference.pipe.d.ts +7 -0
  261. package/lib/core/pipes/duration-format.pipe.d.ts +11 -0
  262. package/lib/core/pipes/duration.pipe.d.ts +5 -8
  263. package/lib/core/pipes/time-ago.pipe.d.ts +16 -0
  264. package/lib/core/session.service.d.ts +2 -1
  265. package/lib/core/slots/slots.component.d.ts +1 -2
  266. package/lib/core/translate.service.d.ts +2 -56
  267. package/lib/cube/accum/accum.component.d.ts +2 -1
  268. package/lib/cube/chart/chart.component.d.ts +5 -3
  269. package/lib/cube/cube-view.component.d.ts +3 -2
  270. package/lib/cube/declarations.d.ts +2 -0
  271. package/lib/cube/grid/grid.component.d.ts +10 -7
  272. package/lib/cube/grid/spreadsheet.component.d.ts +6 -3
  273. package/lib/cube/matrix/table.component.d.ts +1 -1
  274. package/lib/cube/parallel/item.d.ts +2 -2
  275. package/lib/cube/pivot/pivot.component.d.ts +4 -6
  276. package/lib/cube/sum/sum.component.d.ts +1 -1
  277. package/lib/dashboard/cube/accum-cube.widget.d.ts +2 -2
  278. package/lib/dashboard/cube/cube-analysis.base.d.ts +0 -4
  279. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -1
  280. package/lib/dashboard/score/personal-score.widget.d.ts +1 -1
  281. package/lib/desktop.module.d.ts +2 -3
  282. package/lib/home/about/about.dialog.d.ts +2 -1
  283. package/lib/mobile.module.d.ts +2 -3
  284. package/lib/modules/chart.module.d.ts +1 -1
  285. package/lib/modules/date.adapter.d.ts +13 -0
  286. package/lib/modules/datepicker.intl.d.ts +30 -0
  287. package/lib/modules/gantt.module.d.ts +7 -0
  288. package/lib/modules/paginator.intl.d.ts +14 -0
  289. package/lib/modules/stepper.intl.d.ts +10 -0
  290. package/lib/modules/texteditor.module.d.ts +8 -0
  291. package/lib/notifications/types/nudge.notification.d.ts +2 -1
  292. package/lib/notifications/types/upcoming-event.notification.d.ts +2 -1
  293. package/lib/shared.module.d.ts +175 -172
  294. package/lib/system.module.d.ts +4 -5
  295. package/lib/views/cube/matrix.component.d.ts +4 -4
  296. package/package.json +3 -6
  297. package/public-api.d.ts +6 -1
@@ -19,7 +19,7 @@ export class CubeSumComponent {
19
19
  this.forward = false;
20
20
  this.Math = Math;
21
21
  }
22
- ngOnChanges(changes) {
22
+ ngOnChanges(_) {
23
23
  this._cube = this._session.profile.cubes.find(c => c.name === this.cube) || this._session.profile.cubes[0];
24
24
  this.currencyCode = this._cube.currencyCode;
25
25
  this.digitsInfo = this._service.digitsInfo;
@@ -401,4 +401,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
401
401
  type: Output,
402
402
  args: ['explore']
403
403
  }] } });
404
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9zdW0vc3VtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9zdW0vc3VtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7OztBQVkxRSxNQUFNLE9BQU8sZ0JBQWdCO0lBaUMzQixZQUNVLEdBQXNCLEVBQ3RCLFFBQXFCLEVBQ3JCLFFBQXdCO1FBRnhCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFwQnpCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUN0RCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osWUFBTyxHQUFHLEtBQUssQ0FBQztRQVNQLFNBQUksR0FBRyxJQUFJLENBQUM7SUFVckIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxPQUFPLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRO1lBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7O1lBRW5CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBYztRQUNsQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBYyxDQUFDLENBQUM7UUFFakgsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksUUFBUSxHQUFHLENBQUM7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDakYsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixPQUFPO1NBQ1IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsU0FBUyxJQUFJLENBQUMsS0FBYSxFQUFFLEtBQVk7WUFDdkMsSUFBSSxLQUFLLENBQUMsS0FBSztnQkFDYixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7O2dCQUdyRixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFTLENBQUM7UUFDckYsQ0FBQztRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBQ2QsSUFBSSxLQUFLO3dCQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzt3QkFHNUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQVMsQ0FBQztpQkFDeEU7cUJBQ0ksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO3dCQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFTLENBQUM7b0JBQ3BFLElBQUksS0FBSzt3QkFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs7d0JBR3pELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDdkI7cUJBQ0ksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO3dCQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFTLENBQUM7b0JBQ3BFLElBQUksS0FBSzt3QkFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs7d0JBR3pELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDdkI7YUFDRjtTQUNGO1FBQ0QsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsRUFBRTtZQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3QyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUUsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQVcsQ0FBQyxFQUFFLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQ25JLElBQUksQ0FBQyxLQUFLO2dCQUNSLE9BQU87WUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztZQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDdEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtnQkFDakYsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLE9BQU87YUFDUixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFZixNQUFNLEtBQUssR0FBVSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBUyxDQUFDO1lBQ3pELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN2QyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFDaEIsU0FBUztnQkFDWCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDO2dCQUN2QixJQUFJLEtBQUssS0FBSyxPQUFPO29CQUNuQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzs7b0JBRzNELEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDbkQ7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUNGLElBQUksUUFBUSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUIsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNPLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBYztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJO1lBQ0YsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3RGLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU87Z0JBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNsQixDQUFDO2dCQUNBLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDYixJQUFJO2dCQUNKLEtBQUssRUFBRSxDQUFDO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2FBQ0gsQ0FBQztZQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDdEMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN0QixJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO3dCQUNwQixJQUFJLEtBQUs7NEJBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDOzs0QkFFbEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0NBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTs0QkFDVCxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2dDQUNaLElBQUksQ0FBQyxJQUFJLEdBQUc7b0NBQ1YsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO29DQUNiLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSTtvQ0FDakIsS0FBSyxFQUFFLENBQUM7b0NBQ1IsT0FBTyxFQUFFLEVBQUU7aUNBQ0gsQ0FBQzs0QkFDYixJQUFJLEtBQUssRUFBRTtnQ0FDVCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0NBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO29DQUN4QyxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0NBRXRCLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO29DQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7d0NBQ3JCLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztxQ0FDbkMsQ0FBQyxDQUFDOzZCQUNOOztnQ0FDSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO3lCQUNoQzt3QkFDRCxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs0QkFDekIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQ0FDWixJQUFJLENBQUMsSUFBSSxHQUFHO29DQUNWLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztvQ0FDYixLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUk7b0NBQ2pCLEtBQUssRUFBRSxDQUFDO29DQUNSLE9BQU8sRUFBRSxFQUFFO2lDQUNILENBQUM7NEJBQ2IsSUFBSSxLQUFLLEVBQUU7Z0NBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dDQUNWLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO29DQUN4RCxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0NBQ3RCLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO29DQUNuRCxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7aUNBQ25DLENBQUMsQ0FBQzs2QkFDSjs7Z0NBRUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzt5QkFDN0I7d0JBQ0QsTUFBTTtxQkFDUDt5QkFDSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7d0JBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt5QkFDNUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO3dCQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ2xFO2FBQ0Y7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLENBQUMsQ0FBQztTQUNUO2dCQUNPO1lBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixNQUFNLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ3RELFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDTyxVQUFVLENBQUMsS0FBWTtRQUM3QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTzthQUMxQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FBQzthQUN0RixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN4QixLQUFLLENBQUMsU0FBUyxHQUFHO1lBQ2hCLEtBQUssRUFBRSxPQUFPO1lBQ2QsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUM7b0JBQ3pCLEdBQUcsQ0FBQyxDQUFDO29CQUNMLEdBQUc7YUFDTjtTQUNGLENBQUM7SUFDSixDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQU07UUFDVixJQUFJLFNBQWdCLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNsQixTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsU0FBUztnQkFDWixTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekQ7UUFDRCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0IsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzFELElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCOztZQUdDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDTyxLQUFLLENBQUMsSUFBWSxFQUFFLE9BQWlCLEVBQUUsU0FBaUI7UUFDOUQsSUFBSSxLQUFZLENBQUM7UUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakQsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzFFLE1BQU07b0JBQ1IsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7b0JBQzlCLElBQUksQ0FBQyxLQUFLO3dCQUNSLEtBQUssR0FBRzs0QkFDTixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7NEJBQ2IsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJOzRCQUNqQixPQUFPLEVBQUUsRUFBRTt5QkFDSCxDQUFDO29CQUNiLElBQUksS0FBSyxFQUFFO3dCQUNULElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDVixPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJOzRCQUNwQyxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQzt3QkFDakMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNwRSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUzs0QkFDM0IsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7cUJBQ25COzt3QkFHQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ3hCLElBQUksU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO3dCQUNqRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDdEIsTUFBTTtpQkFDUDtxQkFDSSxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztvQkFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzdELENBQUMsRUFBRSxDQUFDO2FBQ0w7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELEtBQUssQ0FBQyxNQUFNO1FBQ1YsSUFBSSxTQUFnQixDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFNBQVM7WUFDWixTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQixTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDMUQsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDbEI7O1lBR0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNPLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBaUIsRUFBRSxTQUFtQjtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDbkIsT0FBTztRQUNULE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5RSxNQUNFLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBVyxDQUFDLEVBQUUsS0FBSyxHQUFHLFVBQVUsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDckksSUFBSSxDQUFDLEtBQUs7WUFDUixPQUFPO1FBQ1QsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQWEsQ0FBQztRQUM1QyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNqQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDM0YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTztZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNyQyxPQUFPO1FBQ1QsTUFBTSxLQUFLLEdBQVU7WUFDbkIsS0FBSztZQUNMLE9BQU8sRUFBRSxFQUFFO1NBQ0wsQ0FBQztRQUNULE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckYsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlHLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7b0JBQzdCLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQzt3QkFDYixLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQzVEO3FCQUNJO29CQUNILElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTt3QkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUk7NEJBQ3BDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdEIsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUM5RDt5QkFDSTt3QkFDSCxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJOzRCQUNwRCxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3RCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUM5RTtpQkFDRjthQUNGOztnQkFHQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO29CQUNsQixLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO29CQUNyQixLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztTQUNsRDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsS0FBWSxFQUFFLEtBQWM7UUFDbEMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQUUsT0FBTztRQUMzRSxNQUFNLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFJLEtBQUssQ0FBQyxLQUFLO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7NkdBellVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLG1RQ2xCN0IsNjRGQTREQSxpa0REaERjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUMxQixVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO29CQUN6QixTQUFTLEVBQUUsaUJBQWlCO2lCQUM3QixDQUFDLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztTQUM3RCxDQUFDLENBQUM7MkZBRVEsZ0JBQWdCO2tCQVY1QixTQUFTOytCQUNFLGlCQUFpQixjQUdmLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTs0QkFDMUIsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztvQ0FDekIsU0FBUyxFQUFFLGlCQUFpQjtpQ0FDN0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7eUJBQzdELENBQUMsQ0FBQzsrSkFJSCxLQUFLO3NCQURKLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR0csU0FBUztzQkFEakIsTUFBTTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBQb2ludCwgU2NvcGVUeXBlLCBTZXJpZXMgfSBmcm9tIFwiLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXhlc01hcCwgQXhpc1R5cGUsIEN1YmUsIEN1YmVBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1zdW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnc3VtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnc3VtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ2JhcicsIFtcclxuICAgIHRyYW5zaXRpb24oJyo8PT4qJywgW3N0eWxlKHtcclxuICAgICAgZmxleEJhc2lzOiAne3tzdGFydFdpZHRofX0lJ1xyXG4gICAgfSksIGFuaW1hdGUoJzUwMG1zIGVhc2UnKV0sIHsgcGFyYW1zOiB7IHN0YXJ0V2lkdGg6IDEwMCB9IH0pLFxyXG4gIF0pXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3ViZVN1bUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KClcclxuICB4QXhpcyE6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHBlcmlvZFBvbGljeT86ICdzdHJpY3QnIHwgbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIHBhcmVudEF4aXM6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGF4ZXMhOiBBeGVzTWFwO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5kaWNlczogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBzY29wZTogU2NvcGVUeXBlO1xyXG4gIEBPdXRwdXQoJ2V4cGxvcmUnKVxyXG4gIHJlYWRvbmx5IG9uRXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXhwbG9yZUV2ZW50PigpO1xyXG4gIGJhY2sgPSB0cnVlO1xyXG4gIGZvcndhcmQgPSBmYWxzZTtcclxuICBwcmltYXJ5QXhpczogQ3ViZUF4aXM7XHJcbiAgbmV4dDogTGV2ZWw7XHJcbiAgY3VycmVudDogTGV2ZWw7XHJcbiAgcHJldjogTGV2ZWw7XHJcbiAgaGVscDogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xyXG4gIGRpZ2l0c0luZm86IHN0cmluZztcclxuICBsb2FkaW5nOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IE1hdGggPSBNYXRoO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgcHJpdmF0ZSBfcGFyZW50QXhpczogQ3ViZUF4aXM7XHJcbiAgcHJpdmF0ZSBfcmVzdWx0czogU2VyaWVzW107XHJcbiAgcHJpdmF0ZSBfc2NvcGVyZXN1bHRzOiBTZXJpZXNbXTtcclxuICBwcml2YXRlIF9zY29wZTogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSkgfHwgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5jdXJyZW5jeUNvZGUgPSB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZTtcclxuICAgIHRoaXMuZGlnaXRzSW5mbyA9IHRoaXMuX3NlcnZpY2UuZGlnaXRzSW5mbztcclxuICAgIHRoaXMucHJpbWFyeUF4aXMgPSB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0gdGhpcy54QXhpcyk7XHJcbiAgICBpZiAoIXRoaXMucHJpbWFyeUF4aXMpIHRocm93ICd4QXhpcyc7XHJcbiAgICBpZiAodGhpcy5wYXJlbnRBeGlzKSB0aGlzLl9wYXJlbnRBeGlzID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHRoaXMucGFyZW50QXhpcyk7XHJcbiAgICBpZiAoIXRoaXMuaW5kaWNlcykgdGhpcy5pbmRpY2VzID0gdGhpcy5fY3ViZS5pbmRpY2VzLm1hcChpID0+IGkubmFtZSk7XHJcbiAgICBlbHNlIGlmICghaXNBcnJheSh0aGlzLmluZGljZXMpKSB0aGlzLmluZGljZXMgPSBbdGhpcy5pbmRpY2VzXTtcclxuICAgIGNvbnN0IG9yaWdpbmFsVmFsdWUgPSB0aGlzLmF4ZXNbdGhpcy54QXhpc107XHJcbiAgICBjb25zdCBheGlzID0gaXNBcnJheShvcmlnaW5hbFZhbHVlKSA/IG9yaWdpbmFsVmFsdWVbMF0gOiBvcmlnaW5hbFZhbHVlO1xyXG4gICAgaWYgKHRoaXMucGVyaW9kUG9saWN5ID09PSAnc3RyaWN0JylcclxuICAgICAgdGhpcy5fc3RyaWN0KGF4aXMpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLl9maXNoKGF4aXMpO1xyXG4gIH1cclxuICBwcml2YXRlIGFzeW5jIF9zdHJpY3QoYXhpczogQXhpc1R5cGUpIHtcclxuICAgIGNvbnN0IGtleXMgPSBhd2FpdCB0aGlzLl9kcy5rZXlzKHRoaXMucHJpbWFyeUF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLCBrZXlJbmRleCA9IGtleXMuaW5kZXhPZihheGlzIGFzIHN0cmluZyk7XHJcblxyXG4gICAgY29uc3QgZmlsdGVycyA9IHsgLi4udGhpcy5heGVzIH07XHJcbiAgICBjb25zdCBheGVzID0gW2F4aXNdO1xyXG4gICAgaWYgKGtleUluZGV4ID4gMClcclxuICAgICAgYXhlcy5wdXNoKGtleXNba2V5SW5kZXggLSAxXSk7XHJcbiAgICBpZiAoa2V5SW5kZXggPT09IGtleXMubGVuZ3RoIC0gMSlcclxuICAgICAgYXhlcy5wdXNoKGtleXNba2V5SW5kZXggKyAxXSk7XHJcbiAgICBmaWx0ZXJzW3RoaXMucHJpbWFyeUF4aXMubmFtZV0gPSBheGlzO1xyXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuX3NlcnZpY2Uuc2VyaWVzKHRoaXMuX2N1YmUubmFtZSwgdGhpcy5wcmltYXJ5QXhpcy5uYW1lLCB7XHJcbiAgICAgIGluZGljZXM6IHRoaXMuaW5kaWNlcyxcclxuICAgICAgc2NvcGU6IHRoaXMuc2NvcGUsXHJcbiAgICAgIGZpbHRlcnNcclxuICAgIH0pLnRvUHJvbWlzZSgpO1xyXG4gICAgZnVuY3Rpb24gZmlsbChzZXJpZTogU2VyaWVzLCBwb2ludDogUG9pbnQpIHtcclxuICAgICAgaWYgKHNlcmllLmluZGV4KVxyXG4gICAgICAgIHRoaXMuY3VycmVudC5pbmRpY2VzLnB1c2goeyBuYW1lOiBzZXJpZS5pbmRleCwgdGl0bGU6IHNlcmllLnRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuXHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLmN1cnJlbnQgPSB7IGF4aXM6IHBvaW50LngsIG5hbWU6IGF4aXMsIHZhbHVlOiBwb2ludC55LCBpbmRpY2VzOiBbXSB9IGFzIGFueTtcclxuICAgIH1cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCB7IGluZGV4LCB0aXRsZSwgcG9pbnRzIH0gPSByZXN1bHRzW2ldO1xyXG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBvaW50cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgIGxldCBwb2ludCA9IHBvaW50c1tqXSwgeyB4LCB5LCBuYW1lOiBheGlzIH0gPSBwb2ludDtcclxuICAgICAgICBpZiAoeCA9PT0gYXhpcykge1xyXG4gICAgICAgICAgaWYgKGluZGV4KVxyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnQuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogeSB9KTtcclxuXHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudCA9IHsgYXhpczogeCwgbmFtZTogYXhpcywgdmFsdWU6IHksIGluZGljZXM6IFtdIH0gYXMgYW55O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh4ID09PSBrZXlzW2tleUluZGV4IC0gMV0pIHtcclxuICAgICAgICAgIGlmICghdGhpcy5wcmV2KVxyXG4gICAgICAgICAgICB0aGlzLnByZXYgPSB7IGF4aXM6IHgsIG5hbWU6IGF4aXMsIHZhbHVlOiAwLCBpbmRpY2VzOiBbXSB9IGFzIGFueTtcclxuICAgICAgICAgIGlmIChpbmRleClcclxuICAgICAgICAgICAgdGhpcy5wcmV2LmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHkgfSk7XHJcblxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLnByZXYudmFsdWUgPSB5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh4ID09PSBrZXlzW2tleUluZGV4ICsgMV0pIHtcclxuICAgICAgICAgIGlmICghdGhpcy5uZXh0KVxyXG4gICAgICAgICAgICB0aGlzLm5leHQgPSB7IGF4aXM6IHgsIG5hbWU6IGF4aXMsIHZhbHVlOiAwLCBpbmRpY2VzOiBbXSB9IGFzIGFueTtcclxuICAgICAgICAgIGlmIChpbmRleClcclxuICAgICAgICAgICAgdGhpcy5uZXh0LmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHkgfSk7XHJcblxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLm5leHQudmFsdWUgPSB5O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyYWxsZWwgPSBhc3luYyAoZGlyZWN0aW9uOiAxIHwgLTEpID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50S2V5ID0gdGhpcy5heGVzW3RoaXMucGFyZW50QXhpc107XHJcbiAgICAgIGNvbnN0IHBhcmVudEtleXMgPSBhd2FpdCB0aGlzLl9kcy5rZXlzKHRoaXMuX3BhcmVudEF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBjb25zdCBpbmRleCA9IHBhcmVudEtleXMuaW5kZXhPZigoaXNBcnJheShwYXJlbnRLZXkpID8gcGFyZW50S2V5WzBdIDogcGFyZW50S2V5KSBhcyBzdHJpbmcpLCBzY29wZSA9IHBhcmVudEtleXNbaW5kZXggKyBkaXJlY3Rpb25dO1xyXG4gICAgICBpZiAoIXNjb3BlKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgZmlsdGVyc1t0aGlzLnBhcmVudEF4aXNdID0gc2NvcGU7XHJcbiAgICAgIGNvbnN0IGF4aXMgPSBrZXlzW2tleXMubGVuZ3RoICsgZGlyZWN0aW9uXTtcclxuICAgICAgZmlsdGVyc1t0aGlzLnByaW1hcnlBeGlzLm5hbWVdID0gYXhpcztcclxuICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuX3NlcnZpY2Uuc2VyaWVzKHRoaXMuX2N1YmUubmFtZSwgdGhpcy5wcmltYXJ5QXhpcy5uYW1lLCB7XHJcbiAgICAgICAgaW5kaWNlczogdGhpcy5pbmRpY2VzLFxyXG4gICAgICAgIHNjb3BlOiB0aGlzLnNjb3BlLFxyXG4gICAgICAgIGZpbHRlcnNcclxuICAgICAgfSkudG9Qcm9taXNlKCk7XHJcblxyXG4gICAgICBjb25zdCBsZXZlbDogTGV2ZWwgPSB7IGF4aXMsIGluZGljZXM6IFtdLCBzY29wZSB9IGFzIGFueTtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgeyBpbmRleCwgdGl0bGUsIHBvaW50cyB9ID0gcmVzdWx0c1tpXTtcclxuICAgICAgICBpZiAoIXBvaW50cy5sZW5ndGgpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBjb25zdCBbcG9pbnRdID0gcG9pbnRzO1xyXG4gICAgICAgIGlmIChpbmRleCA9PT0gJ0luZGV4JylcclxuICAgICAgICAgIGxldmVsLmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcblxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGxldmVsLnRpdGxlID0gcG9pbnQubmFtZSwgbGV2ZWwudmFsdWUgPSBwb2ludC55O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBsZXZlbDtcclxuICAgIH07XHJcbiAgICBpZiAoa2V5SW5kZXggPT09IDAgJiYgdGhpcy5wYXJlbnRBeGlzKVxyXG4gICAgICB0aGlzLnByZXYgPSBhd2FpdCBwYXJhbGxlbCgtMSk7XHJcbiAgICBlbHNlIGlmIChrZXlJbmRleCA9PT0ga2V5cy5sZW5ndGggLSAxKVxyXG4gICAgICB0aGlzLm5leHQgPSBhd2FpdCBwYXJhbGxlbCgxKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBhc3luYyBfZmlzaChheGlzOiBBeGlzVHlwZSkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcnMgPSB7IC4uLnRoaXMuYXhlcyB9O1xyXG4gICAgICBkZWxldGUgZmlsdGVyc1t0aGlzLnhBeGlzXTtcclxuICAgICAgY29uc3QgcmVzdWx0cyA9IHRoaXMuX3Jlc3VsdHMgPSBhd2FpdCB0aGlzLl9zZXJ2aWNlLnNlcmllcyh0aGlzLl9jdWJlLm5hbWUsIHRoaXMueEF4aXMsIHtcclxuICAgICAgICBpbmRpY2VzOiB0aGlzLmluZGljZXMsIGZpbHRlcnMsXHJcbiAgICAgICAgc2NvcGU6IHRoaXMuc2NvcGVcclxuICAgICAgfSkuXHJcbiAgICAgICAgdG9Qcm9taXNlKCk7XHJcbiAgICAgIHRoaXMuY3VycmVudCA9IHtcclxuICAgICAgICBheGlzLFxyXG4gICAgICAgIHZhbHVlOiAwLFxyXG4gICAgICAgIGluZGljZXM6IFtdXHJcbiAgICAgIH0gYXMgTGV2ZWw7XHJcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcmVzdWx0cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgIGxldCB7IHBvaW50cywgaW5kZXgsIG5hbWUsIHRpdGxlIH0gPSByZXN1bHRzW2pdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBsZXQgcG9pbnQgPSBwb2ludHNbaV07XHJcbiAgICAgICAgICBpZiAocG9pbnQueCA9PT0gYXhpcykge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXgpXHJcbiAgICAgICAgICAgICAgdGhpcy5jdXJyZW50LmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnQudGl0bGUgPSBwb2ludC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50LnZhbHVlID0gcG9pbnQueTtcclxuICAgICAgICAgICAgaWYgKGkgPiAwKSB7XHJcbiAgICAgICAgICAgICAgcG9pbnQgPSBwb2ludHNbaSAtIDFdO1xyXG4gICAgICAgICAgICAgIGlmICghdGhpcy5wcmV2KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2ID0ge1xyXG4gICAgICAgICAgICAgICAgICBheGlzOiBwb2ludC54LFxyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogcG9pbnQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGluZGljZXM6IFtdXHJcbiAgICAgICAgICAgICAgICB9IGFzIExldmVsO1xyXG4gICAgICAgICAgICAgIGlmIChpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHEgPSBpO1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKHEgPiAwICYmIHBvaW50LnggIT09IHRoaXMucHJldi5heGlzKVxyXG4gICAgICAgICAgICAgICAgICBwb2ludCA9IHBvaW50c1txLS1dO1xyXG5cclxuICAgICAgICAgICAgICAgIHBvaW50LnggPT09IHRoaXMucHJldi5heGlzICYmXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucHJldi5pbmRpY2VzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHBvaW50LnlcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2UgdGhpcy5wcmV2LnZhbHVlID0gcG9pbnQueTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaSA8IHBvaW50cy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgcG9pbnQgPSBwb2ludHNbaSArIDFdO1xyXG4gICAgICAgICAgICAgIGlmICghdGhpcy5uZXh0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5uZXh0ID0ge1xyXG4gICAgICAgICAgICAgICAgICBheGlzOiBwb2ludC54LFxyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogcG9pbnQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGluZGljZXM6IFtdXHJcbiAgICAgICAgICAgICAgICB9IGFzIExldmVsO1xyXG4gICAgICAgICAgICAgIGlmIChpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHEgPSBpO1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKHEgPCBwb2ludHMubGVuZ3RoIC0gMSAmJiBwb2ludC54ICE9PSB0aGlzLm5leHQuYXhpcylcclxuICAgICAgICAgICAgICAgICAgcG9pbnQgPSBwb2ludHNbcSsrXTtcclxuICAgICAgICAgICAgICAgIHBvaW50LnggPT09IHRoaXMubmV4dC5heGlzICYmIHRoaXMubmV4dC5pbmRpY2VzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICBuYW1lOiBpbmRleCwgdGl0bGUsIHZhbHVlOiBwb2ludC55XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5uZXh0LnZhbHVlID0gcG9pbnQueTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHRoaXMubmV4dCAmJiBwb2ludC54ID09IHRoaXMubmV4dC5heGlzKVxyXG4gICAgICAgICAgICB0aGlzLm5leHQuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuICAgICAgICAgIGVsc2UgaWYgKHRoaXMucHJldiAmJiBwb2ludC54ID09IHRoaXMucHJldi5heGlzKVxyXG4gICAgICAgICAgICB0aGlzLnByZXYuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fY2FsY3VsYXRlKHRoaXMuY3VycmVudCk7XHJcbiAgICAgIHRoaXMuY3VycmVudC5jaGFpbiA9IHRoaXMucHJldjtcclxuICAgICAgdGhpcy5oZWxwID0gYXdhaXQgdGhpcy5nZXRBZ2dyZWdhdGVMYWJlbCgpO1xyXG4gICAgICBpZiAoIXRoaXMucHJldilcclxuICAgICAgICB0aGlzLnByZXYgPSBhd2FpdCB0aGlzLl9wYXJhbGxlbCgtMSwgdGhpcy5heGVzW3RoaXMucGFyZW50QXhpc10pO1xyXG4gICAgICBpZiAoIXRoaXMubmV4dClcclxuICAgICAgICB0aGlzLm5leHQgPSBhd2FpdCB0aGlzLl9wYXJhbGxlbCgxLCB0aGlzLmF4ZXNbdGhpcy5wYXJlbnRBeGlzXSk7XHJcbiAgICAgIHRoaXMubmV4dCAmJiB0aGlzLl9jYWxjdWxhdGUodGhpcy5uZXh0KTtcclxuICAgICAgdGhpcy5wcmV2ICYmIHRoaXMuX2NhbGN1bGF0ZSh0aGlzLnByZXYpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICB0aHJvdyBlO1xyXG4gICAgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBhc3luYyBnZXRBZ2dyZWdhdGVMYWJlbCgpIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnRoaXMuYXhlcyB9O1xyXG4gICAgZGVsZXRlIGF4ZXNbdGhpcy54QXhpc107XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2VydmljZS5uYW1lT2YoYXhlcywgdGhpcy5fY3ViZS5uYW1lKS5cclxuICAgICAgdG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NhbGN1bGF0ZShsZXZlbDogTGV2ZWwpIHtcclxuICAgIGNvbnN0IGluZGljZXMgPSBsZXZlbC5pbmRpY2VzXHJcbiAgICAgIC5maWx0ZXIoaSA9PiB0aGlzLl9jdWJlLmluZGljZXMuZmluZChtID0+IG0ubmFtZSA9PT0gaS5uYW1lICYmIG0uYWNjdW11bGF0ZSAhPT0gZmFsc2UpKVxyXG4gICAgICAuc3VtKGkgPT4gaS52YWx1ZSk7XHJcbiAgICBjb25zdCBwZXJjZW50ID0gaW5kaWNlcyAhPT0gMCA/XHJcbiAgICAgIE1hdGgucm91bmQobGV2ZWwudmFsdWUgLyBpbmRpY2VzICogMTAwKSA6IDA7XHJcbiAgICBsZXZlbC5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgIGxldmVsLmFuaW1hdGlvbiA9IHtcclxuICAgICAgdmFsdWU6IHBlcmNlbnQsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIHN0YXJ0V2lkdGg6IHBlcmNlbnQgPCAxMDAgP1xyXG4gICAgICAgICAgMTAwIDpcclxuICAgICAgICAgIDEwMFxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuICBhc3luYyBnb3ByZXYoKSB7XHJcbiAgICBsZXQgYWx0ZXJuYXRlOiBMZXZlbDtcclxuICAgIGlmICghdGhpcy5wcmV2LnNjb3BlKVxyXG4gICAgICBhbHRlcm5hdGUgPSB0aGlzLl9zZWVrKHRoaXMucHJldi5heGlzLCB0aGlzLl9yZXN1bHRzLCAtMSk7XHJcbiAgICBpZiAoIWFsdGVybmF0ZSkge1xyXG4gICAgICBpZiAodGhpcy5fc2NvcGUgPT09IHRoaXMucHJldi5zY29wZSlcclxuICAgICAgICBhbHRlcm5hdGUgPSB0aGlzLl9zZWVrKHRoaXMucHJldi5heGlzLCB0aGlzLl9zY29wZXJlc3VsdHMsIC0xKTtcclxuICAgICAgaWYgKCFhbHRlcm5hdGUpXHJcbiAgICAgICAgYWx0ZXJuYXRlID0gYXdhaXQgdGhpcy5fcGFyYWxsZWwoLTEsIHRoaXMucHJldi5zY29wZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoYWx0ZXJuYXRlKSB7XHJcbiAgICAgIHRoaXMuX2NhbGN1bGF0ZShhbHRlcm5hdGUpO1xyXG4gICAgICBhbHRlcm5hdGUuYW5pbWF0aW9uLnBhcmFtcy5zdGFydFdpZHRoID0gdGhpcy5wcmV2LnBlcmNlbnQ7XHJcbiAgICAgIHRoaXMucHJldiA9IGFsdGVybmF0ZTtcclxuICAgICAgdGhpcy5mb3J3YXJkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuYmFjayA9IGZhbHNlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWVrKGF4aXM6IHN0cmluZywgcmVzdWx0czogU2VyaWVzW10sIGRpcmVjdGlvbjogMSB8IC0xKSB7XHJcbiAgICBsZXQgbGV2ZWw6IExldmVsO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCB7IGluZGV4LCBwb2ludHMsIHRpdGxlIH0gPSByZXN1bHRzW2ldLCBqID0gMDtcclxuICAgICAgd2hpbGUgKGogPCBwb2ludHMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIGxldCBwb2ludCA9IHBvaW50c1tqXTtcclxuICAgICAgICBpZiAocG9pbnQueCA9PT0gYXhpcykge1xyXG4gICAgICAgICAgaWYgKChkaXJlY3Rpb24gPiAwICYmIGogPT09IHBvaW50cy5sZW5ndGggLSAxKSB8fCAoZGlyZWN0aW9uIDwgMCAmJiBqID09PSAwKSlcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBwb2ludCA9IHBvaW50c1tqICsgZGlyZWN0aW9uXTtcclxuICAgICAgICAgIGlmICghbGV2ZWwpXHJcbiAgICAgICAgICAgIGxldmVsID0ge1xyXG4gICAgICAgICAgICAgIGF4aXM6IHBvaW50LngsXHJcbiAgICAgICAgICAgICAgdGl0bGU6IHBvaW50Lm5hbWUsXHJcbiAgICAgICAgICAgICAgaW5kaWNlczogW11cclxuICAgICAgICAgICAgfSBhcyBMZXZlbDtcclxuICAgICAgICAgIGlmIChpbmRleCkge1xyXG4gICAgICAgICAgICBsZXQgcSA9IGo7XHJcbiAgICAgICAgICAgIHdoaWxlIChwb2ludCAmJiBwb2ludC54ICE9PSBsZXZlbC5heGlzKVxyXG4gICAgICAgICAgICAgIHBvaW50ID0gcG9pbnRzW3EgKz0gZGlyZWN0aW9uXTtcclxuICAgICAgICAgICAgcG9pbnQgJiYgbGV2ZWwuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuICAgICAgICAgICAgaWYgKGxldmVsLnZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgbGV2ZWwudmFsdWUgPSAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgbGV2ZWwudmFsdWUgPSBwb2ludC55O1xyXG4gICAgICAgICAgaWYgKGRpcmVjdGlvbiA+IDAgJiYgaiA8IHBvaW50cy5sZW5ndGggLSAyICYmIHBvaW50c1tqICsgMl0ueCAhPT0gdGhpcy5jdXJyZW50LmF4aXMpXHJcbiAgICAgICAgICAgIHRoaXMuZm9yd2FyZCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5kZXggJiYgbGV2ZWwgJiYgbGV2ZWwuYXhpcyA9PT0gcG9pbnQueClcclxuICAgICAgICAgIGxldmVsLmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcbiAgICAgICAgaisrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGV2ZWw7XHJcbiAgfVxyXG4gIGFzeW5jIGdvbmV4dCgpIHtcclxuICAgIGxldCBhbHRlcm5hdGU6IExldmVsO1xyXG4gICAgdGhpcy5mb3J3YXJkID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5wcmV2LnNjb3BlKVxyXG4gICAgICBhbHRlcm5hdGUgPSB0aGlzLl9zZWVrKHRoaXMucHJldi5heGlzLCB0aGlzLl9zY29wZXJlc3VsdHMsIDEpO1xyXG4gICAgaWYgKCFhbHRlcm5hdGUpXHJcbiAgICAgIGFsdGVybmF0ZSA9IHRoaXMuX3NlZWsodGhpcy5wcmV2LmF4aXMsIHRoaXMuX3Jlc3VsdHMsIDEpO1xyXG4gICAgaWYgKGFsdGVybmF0ZSkge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGUoYWx0ZXJuYXRlKTtcclxuICAgICAgYWx0ZXJuYXRlLmFuaW1hdGlvbi5wYXJhbXMuc3RhcnRXaWR0aCA9IHRoaXMucHJldi5wZXJjZW50O1xyXG4gICAgICB0aGlzLnByZXYgPSBhbHRlcm5hdGU7XHJcbiAgICAgIHRoaXMuYmFjayA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmZvcndhcmQgPSBmYWxzZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBhc3luYyBfcGFyYWxsZWwoZGlyZWN0aW9uOiAxIHwgLTEsIHBhcmVudEtleTogQXhpc1R5cGUpIHtcclxuICAgIGlmICghdGhpcy5fcGFyZW50QXhpcylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgcGFyZW50S2V5cyA9IGF3YWl0IHRoaXMuX2RzLmtleXModGhpcy5fcGFyZW50QXhpcy5kYXRhVHlwZSkudG9Qcm9taXNlKCk7XHJcbiAgICBjb25zdFxyXG4gICAgICBrZXlJbmRleCA9IHBhcmVudEtleXMuaW5kZXhPZigoaXNBcnJheShwYXJlbnRLZXkpID8gcGFyZW50S2V5WzBdIDogcGFyZW50S2V5KSBhcyBzdHJpbmcpLCBzY29wZSA9IHBhcmVudEtleXNba2V5SW5kZXggKyBkaXJlY3Rpb25dO1xyXG4gICAgaWYgKCFzY29wZSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgZmlsdGVycyA9IHsgLi4udGhpcy5heGVzIH0gYXMgQXhlc01hcDtcclxuICAgIGZpbHRlcnNbdGhpcy5wYXJlbnRBeGlzXSA9IHNjb3BlO1xyXG4gICAgZGVsZXRlIGZpbHRlcnNbdGhpcy54QXhpc107XHJcbiAgICBjb25zdCByZXN1bHRzID0gdGhpcy5fc2NvcGVyZXN1bHRzID0gYXdhaXQgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5fY3ViZS5uYW1lLCB0aGlzLnhBeGlzLCB7XHJcbiAgICAgIGluZGljZXM6IHRoaXMuaW5kaWNlcywgZmlsdGVycyxcclxuICAgICAgc2NvcGU6IHRoaXMuc2NvcGVcclxuICAgIH0pLnRvUHJvbWlzZSgpO1xyXG4gICAgdGhpcy5fc2NvcGUgPSBzY29wZTtcclxuICAgIGlmICghcmVzdWx0cy5zb21lKHMgPT4gcy5wb2ludHMubGVuZ3RoKSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgbGV2ZWw6IExldmVsID0ge1xyXG4gICAgICBzY29wZSxcclxuICAgICAgaW5kaWNlczogW11cclxuICAgIH0gYXMgYW55O1xyXG4gICAgY29uc3QgcGFyZW50VGl0bGUgPSBhd2FpdCB0aGlzLl9kcy5nZXQodGhpcy5fcGFyZW50QXhpcy5kYXRhVHlwZSwgc2NvcGUpLnRvUHJvbWlzZSgpO1xyXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXN1bHRzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgIGxldCB7IGluZGV4LCB0aXRsZSwgcG9pbnRzLCBuYW1lIH0gPSByZXN1bHRzW2pdLCBxID0gZGlyZWN0aW9uID4gMCA/IDAgOiBwb2ludHMubGVuZ3RoIC0gMSwgcG9pbnQgPSBwb2ludHNbcV07XHJcbiAgICAgIGlmIChpbmRleCkge1xyXG4gICAgICAgIGlmIChsZXZlbC52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBsZXZlbC52YWx1ZSA9IDAsXHJcbiAgICAgICAgICAgIGxldmVsLnRpdGxlID0gYCR7cG9pbnQubmFtZX0gJHtwYXJlbnRUaXRsZX1gO1xyXG4gICAgICAgICAgbGV2ZWwuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoZGlyZWN0aW9uID4gMCkge1xyXG4gICAgICAgICAgICB3aGlsZSAocSA+IDAgJiYgcG9pbnQueCAhPT0gbGV2ZWwuYXhpcylcclxuICAgICAgICAgICAgICBwb2ludCA9IHBvaW50c1txLS1dO1xyXG4gICAgICAgICAgICBxID4gMCAmJiBsZXZlbC5pbmRpY2VzLnB1c2goeyBuYW1lLCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgd2hpbGUgKHEgPCBwb2ludHMubGVuZ3RoIC0gMSAmJiBwb2ludC54ICE9PSBsZXZlbC5heGlzKVxyXG4gICAgICAgICAgICAgIHBvaW50ID0gcG9pbnRzW3ErK107XHJcbiAgICAgICAgICAgIHEgPCBwb2ludHMubGVuZ3RoIC0gMSAmJiBsZXZlbC5pbmRpY2VzLnB1c2goeyBuYW1lLCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGV2ZWwuYXhpcyA9IHBvaW50LngsXHJcbiAgICAgICAgICBsZXZlbC52YWx1ZSA9IHBvaW50LnksXHJcbiAgICAgICAgICBsZXZlbC50aXRsZSA9IGAke3BvaW50Lm5hbWV9ICR7cGFyZW50VGl0bGV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBsZXZlbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGxldmVsXHJcbiAgICogQHBhcmFtIGluZGV4XHJcbiAgICovXHJcbiAgZXhwbG9yZShsZXZlbDogTGV2ZWwsIGluZGV4Pzogc3RyaW5nKSB7XHJcbiAgICBpZiAoKCFpbmRleCAmJiBsZXZlbC52YWx1ZSA9PT0gMCkgfHxcclxuICAgICAgKGluZGV4ICYmIGxldmVsLmluZGljZXMuZmluZChpID0+IGkubmFtZSA9PT0gaW5kZXgpLnZhbHVlID09PSAwKSkgcmV0dXJuO1xyXG4gICAgY29uc3QgYXhlcyA9IHsgLi4udGhpcy5heGVzIH07XHJcbiAgICBheGVzW3RoaXMueEF4aXNdID0gbGV2ZWwuYXhpcztcclxuICAgIGlmIChsZXZlbC5zY29wZSlcclxuICAgICAgYXhlc1t0aGlzLnBhcmVudEF4aXNdID0gbGV2ZWwuc2NvcGU7XHJcbiAgICB0aGlzLm9uRXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXggfSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwbG9yZUV2ZW50IHtcclxuICBheGVzOiBBeGVzTWFwO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTGV2ZWwgPSB7XHJcbiAgaW5kaWNlczoge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHZhbHVlOiBudW1iZXI7XHJcbiAgfVtdLFxyXG4gIHZhbHVlOiBudW1iZXIsXHJcbiAgdGl0bGU6IHN0cmluZyxcclxuICBheGlzOiBzdHJpbmdcclxuICAvKiogcGFyZW50IGF4aXMgKi9cclxuICBzY29wZT86IHN0cmluZyxcclxuICBhbmltYXRpb246IHtcclxuICAgIHZhbHVlOiBudW1iZXIsXHJcbiAgICBwYXJhbXM6IHtcclxuICAgICAgc3RhcnRXaWR0aDogbnVtYmVyXHJcbiAgICB9XHJcbiAgfTtcclxuICBjaGFpbj86IExldmVsO1xyXG4gIHBlcmNlbnQ6IG51bWJlcjtcclxufTtcclxuIiwiICA8IS0tIGxldmVscyAtLT5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgKm5nSWY9XCJwcmV2XCIgY2xhc3M9XCJsZXZlbCBwcmV2LWxldmVsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGV2ZWwtaGVhZGVyIHJvd1wiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjbGljbGFibGUgbWF0LWljb24tcnRsLW1pcnJvclwiIFtpbmxpbmVdPXRydWUgKGNsaWNrKT1cImdvcHJldigpXCIgKm5nSWY9XCJiYWNrXCI+a2V5Ym9hcmRfYXJyb3dfbGVmdDwvbWF0LWljb24+XHJcbiAgICAgIDxkaXYgZGl2IGNsYXNzPVwibWF0LWgxIHRpdGxlXCI+XHJcbiAgICAgICAge3snUHJldkxldmVsJ3wgdHJhbnNsYXRlfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiZm9yd2FyZFwiIGNsYXNzPVwiY2xpY2xhYmxlIG1hdC1pY29uLXJ0bC1taXJyb3JcIiBbaW5saW5lXT10cnVlIChjbGljayk9XCJnb25leHQoKVwiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxldmVsOyBjb250ZXh0OiB7dXNlOiBwcmV2fVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJjdXJyZW50XCIgY2xhc3M9XCJsZXZlbCBjdXJyZW50LWxldmVsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGV2ZWwtaGVhZGVyIHJvd1wiPlxyXG4gICAgICA8ZGl2IGRpdiBjbGFzcz1cIm1hdC1oMSB0aXRsZVwiPlxyXG4gICAgICAgIHt7J0N1cnJlbnRMZXZlbCd8IHRyYW5zbGF0ZSA6IHByaW1hcnlBeGlzLnRpdGxlfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPG1hdC1pY29uIFtiaXpkb2NUb29sdGlwXT1cImhlbHBcIiAqbmdJZj1cImhlbHBcIiBbaW5saW5lXT1cInRydWVcIj5oZWxwX291dGxpbmU8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGV2ZWw7IGNvbnRleHQ6IHt1c2U6IGN1cnJlbnR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cIm5leHRcIiBjbGFzcz1cImxldmVsIG5leHQtbGV2ZWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZXZlbC1oZWFkZXJcIj5cclxuICAgICAgPGRpdiBkaXYgY2xhc3M9XCJtYXQtaDEgdGl0bGVcIj5cclxuICAgICAgICB7eydOZXh0TGV2ZWwnfCB0cmFuc2xhdGV9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxldmVsOyBjb250ZXh0OiB7dXNlOiBuZXh0fVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBsZXZlbCAtLT5cclxuPG5nLXRlbXBsYXRlICNsZXZlbCBsZXQtdXNlPVwidXNlXCIgbGV0LWhlbHA9XCJoZWxwXCI+XHJcbiAgPGRpdj5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC1oMVwiIFtjbGFzcy5jbGljbGFibGVdPVwidXNlLnZhbHVlICE9PSAwXCIgKGNsaWNrKT1cImV4cGxvcmUodXNlKVwiPnt7dXNlLnRpdGxlfX08L2gyPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJtYXQtaDFcIiBbY2xhc3MuY2xpY2xhYmxlXT1cInVzZS52YWx1ZSAhPT0gMFwiIChjbGljayk9XCJleHBsb3JlKHVzZSlcIj57e3VzZS52YWx1ZSB8IGN1cnJlbmN5IDogY3VycmVuY3lDb2RlIDogJ3N5bWJvbCcgOiBkaWdpdHNJbmZvfX08L2gzPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJ1c2UuY2hhaW4gJiYgdXNlLnZhbHVlICE9PSB1c2UuY2hhaW4udmFsdWVcIj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInVzZS52YWx1ZSAhPT0gMCAmJiB1c2UuY2hhaW4udmFsdWUgIT09IDBcIj57e01hdGgucm91bmQodXNlLnZhbHVlIC8gdXNlLmNoYWluLnZhbHVlICogMTAwKSB9fSU8L3NwYW4+XHJcbiAgICAgICAgPG1hdC1pY29uPnt7dXNlLnZhbHVlID4gdXNlLmNoYWluLnZhbHVlID8gJ3RyZW5kaW5nX3VwJzondHJlbmRpbmdfZG93bicgfX08L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gLS0+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaSBvZiB1c2UuaW5kaWNlc1wiIGNsYXNzPVwiaW5kZXhcIj5cclxuICAgICAgPGg0IGNsYXNzPVwibWF0LWgzIHRpdGxlXCI+e3tpLnRpdGxlfX08L2g0PlxyXG4gICAgICA8aDUgY2xhc3M9XCJtYXQtaDNcIiBbY2xhc3MuY2xpY2xhYmxlXT1cImkudmFsdWUgIT09IDBcIiAoY2xpY2spPVwiZXhwbG9yZSh1c2UsIGkubmFtZSlcIj57e2kudmFsdWUgfCBjdXJyZW5jeSA6IGN1cnJlbmN5Q29kZSA6ICdzeW1ib2wnIDogZGlnaXRzSW5mb319PC9oNT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJiYXJcIiAqbmdJZj1cInVzZS5pbmRpY2VzLmxlbmd0aFwiIFtjbGFzcy5hdmFpbGFibGVdPVwidXNlLnBlcmNlbnQgPCAxMDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiIFtzdHlsZS5mbGV4QmFzaXNdPVwiTWF0aC5yb3VuZCh1c2UucGVyY2VudCA8IDEwMCA/XHJcbiAgICAgICAgICAgIDEwMCAtIHVzZS5wZXJjZW50IDpcclxuICAgICAgICAgICAgMTAwIC8gdXNlLnBlcmNlbnQgKiAxMDApICsgJyUnXCJcclxuICAgICAgICAgW0BiYXJdPVwidXNlLmFuaW1hdGlvblwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm92ZXJmbG93XCIgKm5nSWY9XCJ1c2UucGVyY2VudCA+IDBcIj48L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9zdW0vc3VtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9zdW0vc3VtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7OztBQVkxRSxNQUFNLE9BQU8sZ0JBQWdCO0lBaUMzQixZQUNVLEdBQXNCLEVBQ3RCLFFBQXFCLEVBQ3JCLFFBQXdCO1FBRnhCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFwQnpCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUN0RCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osWUFBTyxHQUFHLEtBQUssQ0FBQztRQVNQLFNBQUksR0FBRyxJQUFJLENBQUM7SUFVckIsQ0FBQztJQUNELFdBQVcsQ0FBQyxDQUFnQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FB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bnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBQb2ludCwgU2NvcGVUeXBlLCBTZXJpZXMgfSBmcm9tIFwiLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXhlc01hcCwgQXhpc1R5cGUsIEN1YmUsIEN1YmVBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1zdW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnc3VtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnc3VtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ2JhcicsIFtcclxuICAgIHRyYW5zaXRpb24oJyo8PT4qJywgW3N0eWxlKHtcclxuICAgICAgZmxleEJhc2lzOiAne3tzdGFydFdpZHRofX0lJ1xyXG4gICAgfSksIGFuaW1hdGUoJzUwMG1zIGVhc2UnKV0sIHsgcGFyYW1zOiB7IHN0YXJ0V2lkdGg6IDEwMCB9IH0pLFxyXG4gIF0pXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3ViZVN1bUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KClcclxuICB4QXhpcyE6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHBlcmlvZFBvbGljeT86ICdzdHJpY3QnIHwgbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIHBhcmVudEF4aXM6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGF4ZXMhOiBBeGVzTWFwO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5kaWNlczogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBzY29wZTogU2NvcGVUeXBlO1xyXG4gIEBPdXRwdXQoJ2V4cGxvcmUnKVxyXG4gIHJlYWRvbmx5IG9uRXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXhwbG9yZUV2ZW50PigpO1xyXG4gIGJhY2sgPSB0cnVlO1xyXG4gIGZvcndhcmQgPSBmYWxzZTtcclxuICBwcmltYXJ5QXhpczogQ3ViZUF4aXM7XHJcbiAgbmV4dDogTGV2ZWw7XHJcbiAgY3VycmVudDogTGV2ZWw7XHJcbiAgcHJldjogTGV2ZWw7XHJcbiAgaGVscDogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xyXG4gIGRpZ2l0c0luZm86IHN0cmluZztcclxuICBsb2FkaW5nOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IE1hdGggPSBNYXRoO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgcHJpdmF0ZSBfcGFyZW50QXhpczogQ3ViZUF4aXM7XHJcbiAgcHJpdmF0ZSBfcmVzdWx0czogU2VyaWVzW107XHJcbiAgcHJpdmF0ZSBfc2NvcGVyZXN1bHRzOiBTZXJpZXNbXTtcclxuICBwcml2YXRlIF9zY29wZTogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSkgfHwgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5jdXJyZW5jeUNvZGUgPSB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZTtcclxuICAgIHRoaXMuZGlnaXRzSW5mbyA9IHRoaXMuX3NlcnZpY2UuZGlnaXRzSW5mbztcclxuICAgIHRoaXMucHJpbWFyeUF4aXMgPSB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0gdGhpcy54QXhpcyk7XHJcbiAgICBpZiAoIXRoaXMucHJpbWFyeUF4aXMpIHRocm93ICd4QXhpcyc7XHJcbiAgICBpZiAodGhpcy5wYXJlbnRBeGlzKSB0aGlzLl9wYXJlbnRBeGlzID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHRoaXMucGFyZW50QXhpcyk7XHJcbiAgICBpZiAoIXRoaXMuaW5kaWNlcykgdGhpcy5pbmRpY2VzID0gdGhpcy5fY3ViZS5pbmRpY2VzLm1hcChpID0+IGkubmFtZSk7XHJcbiAgICBlbHNlIGlmICghaXNBcnJheSh0aGlzLmluZGljZXMpKSB0aGlzLmluZGljZXMgPSBbdGhpcy5pbmRpY2VzXTtcclxuICAgIGNvbnN0IG9yaWdpbmFsVmFsdWUgPSB0aGlzLmF4ZXNbdGhpcy54QXhpc107XHJcbiAgICBjb25zdCBheGlzID0gaXNBcnJheShvcmlnaW5hbFZhbHVlKSA/IG9yaWdpbmFsVmFsdWVbMF0gOiBvcmlnaW5hbFZhbHVlO1xyXG4gICAgaWYgKHRoaXMucGVyaW9kUG9saWN5ID09PSAnc3RyaWN0JylcclxuICAgICAgdGhpcy5fc3RyaWN0KGF4aXMpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLl9maXNoKGF4aXMpO1xyXG4gIH1cclxuICBwcml2YXRlIGFzeW5jIF9zdHJpY3QoYXhpczogQXhpc1R5cGUpIHtcclxuICAgIGNvbnN0IGtleXMgPSBhd2FpdCB0aGlzLl9kcy5rZXlzKHRoaXMucHJpbWFyeUF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLCBrZXlJbmRleCA9IGtleXMuaW5kZXhPZihheGlzIGFzIHN0cmluZyk7XHJcblxyXG4gICAgY29uc3QgZmlsdGVycyA9IHsgLi4udGhpcy5heGVzIH07XHJcbiAgICBjb25zdCBheGVzID0gW2F4aXNdO1xyXG4gICAgaWYgKGtleUluZGV4ID4gMClcclxuICAgICAgYXhlcy5wdXNoKGtleXNba2V5SW5kZXggLSAxXSk7XHJcbiAgICBpZiAoa2V5SW5kZXggPT09IGtleXMubGVuZ3RoIC0gMSlcclxuICAgICAgYXhlcy5wdXNoKGtleXNba2V5SW5kZXggKyAxXSk7XHJcbiAgICBmaWx0ZXJzW3RoaXMucHJpbWFyeUF4aXMubmFtZV0gPSBheGlzO1xyXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuX3NlcnZpY2Uuc2VyaWVzKHRoaXMuX2N1YmUubmFtZSwgdGhpcy5wcmltYXJ5QXhpcy5uYW1lLCB7XHJcbiAgICAgIGluZGljZXM6IHRoaXMuaW5kaWNlcyxcclxuICAgICAgc2NvcGU6IHRoaXMuc2NvcGUsXHJcbiAgICAgIGZpbHRlcnNcclxuICAgIH0pLnRvUHJvbWlzZSgpO1xyXG4gICAgZnVuY3Rpb24gZmlsbChzZXJpZTogU2VyaWVzLCBwb2ludDogUG9pbnQpIHtcclxuICAgICAgaWYgKHNlcmllLmluZGV4KVxyXG4gICAgICAgIHRoaXMuY3VycmVudC5pbmRpY2VzLnB1c2goeyBuYW1lOiBzZXJpZS5pbmRleCwgdGl0bGU6IHNlcmllLnRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuXHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLmN1cnJlbnQgPSB7IGF4aXM6IHBvaW50LngsIG5hbWU6IGF4aXMsIHZhbHVlOiBwb2ludC55LCBpbmRpY2VzOiBbXSB9IGFzIGFueTtcclxuICAgIH1cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCB7IGluZGV4LCB0aXRsZSwgcG9pbnRzIH0gPSByZXN1bHRzW2ldO1xyXG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBvaW50cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgIGxldCBwb2ludCA9IHBvaW50c1tqXSwgeyB4LCB5LCBuYW1lOiBheGlzIH0gPSBwb2ludDtcclxuICAgICAgICBpZiAoeCA9PT0gYXhpcykge1xyXG4gICAgICAgICAgaWYgKGluZGV4KVxyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnQuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogeSB9KTtcclxuXHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudCA9IHsgYXhpczogeCwgbmFtZTogYXhpcywgdmFsdWU6IHksIGluZGljZXM6IFtdIH0gYXMgYW55O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh4ID09PSBrZXlzW2tleUluZGV4IC0gMV0pIHtcclxuICAgICAgICAgIGlmICghdGhpcy5wcmV2KVxyXG4gICAgICAgICAgICB0aGlzLnByZXYgPSB7IGF4aXM6IHgsIG5hbWU6IGF4aXMsIHZhbHVlOiAwLCBpbmRpY2VzOiBbXSB9IGFzIGFueTtcclxuICAgICAgICAgIGlmIChpbmRleClcclxuICAgICAgICAgICAgdGhpcy5wcmV2LmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHkgfSk7XHJcblxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLnByZXYudmFsdWUgPSB5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh4ID09PSBrZXlzW2tleUluZGV4ICsgMV0pIHtcclxuICAgICAgICAgIGlmICghdGhpcy5uZXh0KVxyXG4gICAgICAgICAgICB0aGlzLm5leHQgPSB7IGF4aXM6IHgsIG5hbWU6IGF4aXMsIHZhbHVlOiAwLCBpbmRpY2VzOiBbXSB9IGFzIGFueTtcclxuICAgICAgICAgIGlmIChpbmRleClcclxuICAgICAgICAgICAgdGhpcy5uZXh0LmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHkgfSk7XHJcblxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLm5leHQudmFsdWUgPSB5O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyYWxsZWwgPSBhc3luYyAoZGlyZWN0aW9uOiAxIHwgLTEpID0+IHtcclxuICAgICAgY29uc3QgcGFyZW50S2V5ID0gdGhpcy5heGVzW3RoaXMucGFyZW50QXhpc107XHJcbiAgICAgIGNvbnN0IHBhcmVudEtleXMgPSBhd2FpdCB0aGlzLl9kcy5rZXlzKHRoaXMuX3BhcmVudEF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBjb25zdCBpbmRleCA9IHBhcmVudEtleXMuaW5kZXhPZigoaXNBcnJheShwYXJlbnRLZXkpID8gcGFyZW50S2V5WzBdIDogcGFyZW50S2V5KSBhcyBzdHJpbmcpLCBzY29wZSA9IHBhcmVudEtleXNbaW5kZXggKyBkaXJlY3Rpb25dO1xyXG4gICAgICBpZiAoIXNjb3BlKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgZmlsdGVyc1t0aGlzLnBhcmVudEF4aXNdID0gc2NvcGU7XHJcbiAgICAgIGNvbnN0IGF4aXMgPSBrZXlzW2tleXMubGVuZ3RoICsgZGlyZWN0aW9uXTtcclxuICAgICAgZmlsdGVyc1t0aGlzLnByaW1hcnlBeGlzLm5hbWVdID0gYXhpcztcclxuICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMuX3NlcnZpY2Uuc2VyaWVzKHRoaXMuX2N1YmUubmFtZSwgdGhpcy5wcmltYXJ5QXhpcy5uYW1lLCB7XHJcbiAgICAgICAgaW5kaWNlczogdGhpcy5pbmRpY2VzLFxyXG4gICAgICAgIHNjb3BlOiB0aGlzLnNjb3BlLFxyXG4gICAgICAgIGZpbHRlcnNcclxuICAgICAgfSkudG9Qcm9taXNlKCk7XHJcblxyXG4gICAgICBjb25zdCBsZXZlbDogTGV2ZWwgPSB7IGF4aXMsIGluZGljZXM6IFtdLCBzY29wZSB9IGFzIGFueTtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgeyBpbmRleCwgdGl0bGUsIHBvaW50cyB9ID0gcmVzdWx0c1tpXTtcclxuICAgICAgICBpZiAoIXBvaW50cy5sZW5ndGgpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBjb25zdCBbcG9pbnRdID0gcG9pbnRzO1xyXG4gICAgICAgIGlmIChpbmRleCA9PT0gJ0luZGV4JylcclxuICAgICAgICAgIGxldmVsLmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcblxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGxldmVsLnRpdGxlID0gcG9pbnQubmFtZSwgbGV2ZWwudmFsdWUgPSBwb2ludC55O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBsZXZlbDtcclxuICAgIH07XHJcbiAgICBpZiAoa2V5SW5kZXggPT09IDAgJiYgdGhpcy5wYXJlbnRBeGlzKVxyXG4gICAgICB0aGlzLnByZXYgPSBhd2FpdCBwYXJhbGxlbCgtMSk7XHJcbiAgICBlbHNlIGlmIChrZXlJbmRleCA9PT0ga2V5cy5sZW5ndGggLSAxKVxyXG4gICAgICB0aGlzLm5leHQgPSBhd2FpdCBwYXJhbGxlbCgxKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBhc3luYyBfZmlzaChheGlzOiBBeGlzVHlwZSkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcnMgPSB7IC4uLnRoaXMuYXhlcyB9O1xyXG4gICAgICBkZWxldGUgZmlsdGVyc1t0aGlzLnhBeGlzXTtcclxuICAgICAgY29uc3QgcmVzdWx0cyA9IHRoaXMuX3Jlc3VsdHMgPSBhd2FpdCB0aGlzLl9zZXJ2aWNlLnNlcmllcyh0aGlzLl9jdWJlLm5hbWUsIHRoaXMueEF4aXMsIHtcclxuICAgICAgICBpbmRpY2VzOiB0aGlzLmluZGljZXMsIGZpbHRlcnMsXHJcbiAgICAgICAgc2NvcGU6IHRoaXMuc2NvcGVcclxuICAgICAgfSkuXHJcbiAgICAgICAgdG9Qcm9taXNlKCk7XHJcbiAgICAgIHRoaXMuY3VycmVudCA9IHtcclxuICAgICAgICBheGlzLFxyXG4gICAgICAgIHZhbHVlOiAwLFxyXG4gICAgICAgIGluZGljZXM6IFtdXHJcbiAgICAgIH0gYXMgTGV2ZWw7XHJcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcmVzdWx0cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgIGxldCB7IHBvaW50cywgaW5kZXgsIG5hbWUsIHRpdGxlIH0gPSByZXN1bHRzW2pdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBsZXQgcG9pbnQgPSBwb2ludHNbaV07XHJcbiAgICAgICAgICBpZiAocG9pbnQueCA9PT0gYXhpcykge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXgpXHJcbiAgICAgICAgICAgICAgdGhpcy5jdXJyZW50LmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnQudGl0bGUgPSBwb2ludC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50LnZhbHVlID0gcG9pbnQueTtcclxuICAgICAgICAgICAgaWYgKGkgPiAwKSB7XHJcbiAgICAgICAgICAgICAgcG9pbnQgPSBwb2ludHNbaSAtIDFdO1xyXG4gICAgICAgICAgICAgIGlmICghdGhpcy5wcmV2KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2ID0ge1xyXG4gICAgICAgICAgICAgICAgICBheGlzOiBwb2ludC54LFxyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogcG9pbnQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGluZGljZXM6IFtdXHJcbiAgICAgICAgICAgICAgICB9IGFzIExldmVsO1xyXG4gICAgICAgICAgICAgIGlmIChpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHEgPSBpO1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKHEgPiAwICYmIHBvaW50LnggIT09IHRoaXMucHJldi5heGlzKVxyXG4gICAgICAgICAgICAgICAgICBwb2ludCA9IHBvaW50c1txLS1dO1xyXG5cclxuICAgICAgICAgICAgICAgIHBvaW50LnggPT09IHRoaXMucHJldi5heGlzICYmXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucHJldi5pbmRpY2VzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHBvaW50LnlcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2UgdGhpcy5wcmV2LnZhbHVlID0gcG9pbnQueTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaSA8IHBvaW50cy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgICAgcG9pbnQgPSBwb2ludHNbaSArIDFdO1xyXG4gICAgICAgICAgICAgIGlmICghdGhpcy5uZXh0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5uZXh0ID0ge1xyXG4gICAgICAgICAgICAgICAgICBheGlzOiBwb2ludC54LFxyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogcG9pbnQubmFtZSxcclxuICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGluZGljZXM6IFtdXHJcbiAgICAgICAgICAgICAgICB9IGFzIExldmVsO1xyXG4gICAgICAgICAgICAgIGlmIChpbmRleCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHEgPSBpO1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKHEgPCBwb2ludHMubGVuZ3RoIC0gMSAmJiBwb2ludC54ICE9PSB0aGlzLm5leHQuYXhpcylcclxuICAgICAgICAgICAgICAgICAgcG9pbnQgPSBwb2ludHNbcSsrXTtcclxuICAgICAgICAgICAgICAgIHBvaW50LnggPT09IHRoaXMubmV4dC5heGlzICYmIHRoaXMubmV4dC5pbmRpY2VzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICBuYW1lOiBpbmRleCwgdGl0bGUsIHZhbHVlOiBwb2ludC55XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5uZXh0LnZhbHVlID0gcG9pbnQueTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHRoaXMubmV4dCAmJiBwb2ludC54ID09IHRoaXMubmV4dC5heGlzKVxyXG4gICAgICAgICAgICB0aGlzLm5leHQuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuICAgICAgICAgIGVsc2UgaWYgKHRoaXMucHJldiAmJiBwb2ludC54ID09IHRoaXMucHJldi5heGlzKVxyXG4gICAgICAgICAgICB0aGlzLnByZXYuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fY2FsY3VsYXRlKHRoaXMuY3VycmVudCk7XHJcbiAgICAgIHRoaXMuY3VycmVudC5jaGFpbiA9IHRoaXMucHJldjtcclxuICAgICAgdGhpcy5oZWxwID0gYXdhaXQgdGhpcy5nZXRBZ2dyZWdhdGVMYWJlbCgpO1xyXG4gICAgICBpZiAoIXRoaXMucHJldilcclxuICAgICAgICB0aGlzLnByZXYgPSBhd2FpdCB0aGlzLl9wYXJhbGxlbCgtMSwgdGhpcy5heGVzW3RoaXMucGFyZW50QXhpc10pO1xyXG4gICAgICBpZiAoIXRoaXMubmV4dClcclxuICAgICAgICB0aGlzLm5leHQgPSBhd2FpdCB0aGlzLl9wYXJhbGxlbCgxLCB0aGlzLmF4ZXNbdGhpcy5wYXJlbnRBeGlzXSk7XHJcbiAgICAgIHRoaXMubmV4dCAmJiB0aGlzLl9jYWxjdWxhdGUodGhpcy5uZXh0KTtcclxuICAgICAgdGhpcy5wcmV2ICYmIHRoaXMuX2NhbGN1bGF0ZSh0aGlzLnByZXYpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICB0aHJvdyBlO1xyXG4gICAgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBhc3luYyBnZXRBZ2dyZWdhdGVMYWJlbCgpIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnRoaXMuYXhlcyB9O1xyXG4gICAgZGVsZXRlIGF4ZXNbdGhpcy54QXhpc107XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2VydmljZS5uYW1lT2YoYXhlcywgdGhpcy5fY3ViZS5uYW1lKS5cclxuICAgICAgdG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NhbGN1bGF0ZShsZXZlbDogTGV2ZWwpIHtcclxuICAgIGNvbnN0IGluZGljZXMgPSBsZXZlbC5pbmRpY2VzXHJcbiAgICAgIC5maWx0ZXIoaSA9PiB0aGlzLl9jdWJlLmluZGljZXMuZmluZChtID0+IG0ubmFtZSA9PT0gaS5uYW1lICYmIG0uYWNjdW11bGF0ZSAhPT0gZmFsc2UpKVxyXG4gICAgICAuc3VtKGkgPT4gaS52YWx1ZSk7XHJcbiAgICBjb25zdCBwZXJjZW50ID0gaW5kaWNlcyAhPT0gMCA/XHJcbiAgICAgIE1hdGgucm91bmQobGV2ZWwudmFsdWUgLyBpbmRpY2VzICogMTAwKSA6IDA7XHJcbiAgICBsZXZlbC5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgIGxldmVsLmFuaW1hdGlvbiA9IHtcclxuICAgICAgdmFsdWU6IHBlcmNlbnQsXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIHN0YXJ0V2lkdGg6IHBlcmNlbnQgPCAxMDAgP1xyXG4gICAgICAgICAgMTAwIDpcclxuICAgICAgICAgIDEwMFxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuICBhc3luYyBnb3ByZXYoKSB7XHJcbiAgICBsZXQgYWx0ZXJuYXRlOiBMZXZlbDtcclxuICAgIGlmICghdGhpcy5wcmV2LnNjb3BlKVxyXG4gICAgICBhbHRlcm5hdGUgPSB0aGlzLl9zZWVrKHRoaXMucHJldi5heGlzLCB0aGlzLl9yZXN1bHRzLCAtMSk7XHJcbiAgICBpZiAoIWFsdGVybmF0ZSkge1xyXG4gICAgICBpZiAodGhpcy5fc2NvcGUgPT09IHRoaXMucHJldi5zY29wZSlcclxuICAgICAgICBhbHRlcm5hdGUgPSB0aGlzLl9zZWVrKHRoaXMucHJldi5heGlzLCB0aGlzLl9zY29wZXJlc3VsdHMsIC0xKTtcclxuICAgICAgaWYgKCFhbHRlcm5hdGUpXHJcbiAgICAgICAgYWx0ZXJuYXRlID0gYXdhaXQgdGhpcy5fcGFyYWxsZWwoLTEsIHRoaXMucHJldi5zY29wZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoYWx0ZXJuYXRlKSB7XHJcbiAgICAgIHRoaXMuX2NhbGN1bGF0ZShhbHRlcm5hdGUpO1xyXG4gICAgICBhbHRlcm5hdGUuYW5pbWF0aW9uLnBhcmFtcy5zdGFydFdpZHRoID0gdGhpcy5wcmV2LnBlcmNlbnQ7XHJcbiAgICAgIHRoaXMucHJldiA9IGFsdGVybmF0ZTtcclxuICAgICAgdGhpcy5mb3J3YXJkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuYmFjayA9IGZhbHNlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWVrKGF4aXM6IHN0cmluZywgcmVzdWx0czogU2VyaWVzW10sIGRpcmVjdGlvbjogMSB8IC0xKSB7XHJcbiAgICBsZXQgbGV2ZWw6IExldmVsO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCB7IGluZGV4LCBwb2ludHMsIHRpdGxlIH0gPSByZXN1bHRzW2ldLCBqID0gMDtcclxuICAgICAgd2hpbGUgKGogPCBwb2ludHMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIGxldCBwb2ludCA9IHBvaW50c1tqXTtcclxuICAgICAgICBpZiAocG9pbnQueCA9PT0gYXhpcykge1xyXG4gICAgICAgICAgaWYgKChkaXJlY3Rpb24gPiAwICYmIGogPT09IHBvaW50cy5sZW5ndGggLSAxKSB8fCAoZGlyZWN0aW9uIDwgMCAmJiBqID09PSAwKSlcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBwb2ludCA9IHBvaW50c1tqICsgZGlyZWN0aW9uXTtcclxuICAgICAgICAgIGlmICghbGV2ZWwpXHJcbiAgICAgICAgICAgIGxldmVsID0ge1xyXG4gICAgICAgICAgICAgIGF4aXM6IHBvaW50LngsXHJcbiAgICAgICAgICAgICAgdGl0bGU6IHBvaW50Lm5hbWUsXHJcbiAgICAgICAgICAgICAgaW5kaWNlczogW11cclxuICAgICAgICAgICAgfSBhcyBMZXZlbDtcclxuICAgICAgICAgIGlmIChpbmRleCkge1xyXG4gICAgICAgICAgICBsZXQgcSA9IGo7XHJcbiAgICAgICAgICAgIHdoaWxlIChwb2ludCAmJiBwb2ludC54ICE9PSBsZXZlbC5heGlzKVxyXG4gICAgICAgICAgICAgIHBvaW50ID0gcG9pbnRzW3EgKz0gZGlyZWN0aW9uXTtcclxuICAgICAgICAgICAgcG9pbnQgJiYgbGV2ZWwuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuICAgICAgICAgICAgaWYgKGxldmVsLnZhbHVlID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgbGV2ZWwudmFsdWUgPSAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgbGV2ZWwudmFsdWUgPSBwb2ludC55O1xyXG4gICAgICAgICAgaWYgKGRpcmVjdGlvbiA+IDAgJiYgaiA8IHBvaW50cy5sZW5ndGggLSAyICYmIHBvaW50c1tqICsgMl0ueCAhPT0gdGhpcy5jdXJyZW50LmF4aXMpXHJcbiAgICAgICAgICAgIHRoaXMuZm9yd2FyZCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5kZXggJiYgbGV2ZWwgJiYgbGV2ZWwuYXhpcyA9PT0gcG9pbnQueClcclxuICAgICAgICAgIGxldmVsLmluZGljZXMucHVzaCh7IG5hbWU6IGluZGV4LCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcbiAgICAgICAgaisrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGV2ZWw7XHJcbiAgfVxyXG4gIGFzeW5jIGdvbmV4dCgpIHtcclxuICAgIGxldCBhbHRlcm5hdGU6IExldmVsO1xyXG4gICAgdGhpcy5mb3J3YXJkID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5wcmV2LnNjb3BlKVxyXG4gICAgICBhbHRlcm5hdGUgPSB0aGlzLl9zZWVrKHRoaXMucHJldi5heGlzLCB0aGlzLl9zY29wZXJlc3VsdHMsIDEpO1xyXG4gICAgaWYgKCFhbHRlcm5hdGUpXHJcbiAgICAgIGFsdGVybmF0ZSA9IHRoaXMuX3NlZWsodGhpcy5wcmV2LmF4aXMsIHRoaXMuX3Jlc3VsdHMsIDEpO1xyXG4gICAgaWYgKGFsdGVybmF0ZSkge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGUoYWx0ZXJuYXRlKTtcclxuICAgICAgYWx0ZXJuYXRlLmFuaW1hdGlvbi5wYXJhbXMuc3RhcnRXaWR0aCA9IHRoaXMucHJldi5wZXJjZW50O1xyXG4gICAgICB0aGlzLnByZXYgPSBhbHRlcm5hdGU7XHJcbiAgICAgIHRoaXMuYmFjayA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmZvcndhcmQgPSBmYWxzZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBhc3luYyBfcGFyYWxsZWwoZGlyZWN0aW9uOiAxIHwgLTEsIHBhcmVudEtleTogQXhpc1R5cGUpIHtcclxuICAgIGlmICghdGhpcy5fcGFyZW50QXhpcylcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgcGFyZW50S2V5cyA9IGF3YWl0IHRoaXMuX2RzLmtleXModGhpcy5fcGFyZW50QXhpcy5kYXRhVHlwZSkudG9Qcm9taXNlKCk7XHJcbiAgICBjb25zdFxyXG4gICAgICBrZXlJbmRleCA9IHBhcmVudEtleXMuaW5kZXhPZigoaXNBcnJheShwYXJlbnRLZXkpID8gcGFyZW50S2V5WzBdIDogcGFyZW50S2V5KSBhcyBzdHJpbmcpLCBzY29wZSA9IHBhcmVudEtleXNba2V5SW5kZXggKyBkaXJlY3Rpb25dO1xyXG4gICAgaWYgKCFzY29wZSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgZmlsdGVycyA9IHsgLi4udGhpcy5heGVzIH0gYXMgQXhlc01hcDtcclxuICAgIGZpbHRlcnNbdGhpcy5wYXJlbnRBeGlzXSA9IHNjb3BlO1xyXG4gICAgZGVsZXRlIGZpbHRlcnNbdGhpcy54QXhpc107XHJcbiAgICBjb25zdCByZXN1bHRzID0gdGhpcy5fc2NvcGVyZXN1bHRzID0gYXdhaXQgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5fY3ViZS5uYW1lLCB0aGlzLnhBeGlzLCB7XHJcbiAgICAgIGluZGljZXM6IHRoaXMuaW5kaWNlcywgZmlsdGVycyxcclxuICAgICAgc2NvcGU6IHRoaXMuc2NvcGVcclxuICAgIH0pLnRvUHJvbWlzZSgpO1xyXG4gICAgdGhpcy5fc2NvcGUgPSBzY29wZTtcclxuICAgIGlmICghcmVzdWx0cy5zb21lKHMgPT4gcy5wb2ludHMubGVuZ3RoKSlcclxuICAgICAgcmV0dXJuO1xyXG4gICAgY29uc3QgbGV2ZWw6IExldmVsID0ge1xyXG4gICAgICBzY29wZSxcclxuICAgICAgaW5kaWNlczogW11cclxuICAgIH0gYXMgYW55O1xyXG4gICAgY29uc3QgcGFyZW50VGl0bGUgPSBhd2FpdCB0aGlzLl9kcy5nZXQodGhpcy5fcGFyZW50QXhpcy5kYXRhVHlwZSwgc2NvcGUpLnRvUHJvbWlzZSgpO1xyXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXN1bHRzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgIGxldCB7IGluZGV4LCB0aXRsZSwgcG9pbnRzLCBuYW1lIH0gPSByZXN1bHRzW2pdLCBxID0gZGlyZWN0aW9uID4gMCA/IDAgOiBwb2ludHMubGVuZ3RoIC0gMSwgcG9pbnQgPSBwb2ludHNbcV07XHJcbiAgICAgIGlmIChpbmRleCkge1xyXG4gICAgICAgIGlmIChsZXZlbC52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBsZXZlbC52YWx1ZSA9IDAsXHJcbiAgICAgICAgICAgIGxldmVsLnRpdGxlID0gYCR7cG9pbnQubmFtZX0gJHtwYXJlbnRUaXRsZX1gO1xyXG4gICAgICAgICAgbGV2ZWwuaW5kaWNlcy5wdXNoKHsgbmFtZTogaW5kZXgsIHRpdGxlLCB2YWx1ZTogcG9pbnQueSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoZGlyZWN0aW9uID4gMCkge1xyXG4gICAgICAgICAgICB3aGlsZSAocSA+IDAgJiYgcG9pbnQueCAhPT0gbGV2ZWwuYXhpcylcclxuICAgICAgICAgICAgICBwb2ludCA9IHBvaW50c1txLS1dO1xyXG4gICAgICAgICAgICBxID4gMCAmJiBsZXZlbC5pbmRpY2VzLnB1c2goeyBuYW1lLCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgd2hpbGUgKHEgPCBwb2ludHMubGVuZ3RoIC0gMSAmJiBwb2ludC54ICE9PSBsZXZlbC5heGlzKVxyXG4gICAgICAgICAgICAgIHBvaW50ID0gcG9pbnRzW3ErK107XHJcbiAgICAgICAgICAgIHEgPCBwb2ludHMubGVuZ3RoIC0gMSAmJiBsZXZlbC5pbmRpY2VzLnB1c2goeyBuYW1lLCB0aXRsZSwgdmFsdWU6IHBvaW50LnkgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgbGV2ZWwuYXhpcyA9IHBvaW50LngsXHJcbiAgICAgICAgICBsZXZlbC52YWx1ZSA9IHBvaW50LnksXHJcbiAgICAgICAgICBsZXZlbC50aXRsZSA9IGAke3BvaW50Lm5hbWV9ICR7cGFyZW50VGl0bGV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBsZXZlbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGxldmVsXHJcbiAgICogQHBhcmFtIGluZGV4XHJcbiAgICovXHJcbiAgZXhwbG9yZShsZXZlbDogTGV2ZWwsIGluZGV4Pzogc3RyaW5nKSB7XHJcbiAgICBpZiAoKCFpbmRleCAmJiBsZXZlbC52YWx1ZSA9PT0gMCkgfHxcclxuICAgICAgKGluZGV4ICYmIGxldmVsLmluZGljZXMuZmluZChpID0+IGkubmFtZSA9PT0gaW5kZXgpLnZhbHVlID09PSAwKSkgcmV0dXJuO1xyXG4gICAgY29uc3QgYXhlcyA9IHsgLi4udGhpcy5heGVzIH07XHJcbiAgICBheGVzW3RoaXMueEF4aXNdID0gbGV2ZWwuYXhpcztcclxuICAgIGlmIChsZXZlbC5zY29wZSlcclxuICAgICAgYXhlc1t0aGlzLnBhcmVudEF4aXNdID0gbGV2ZWwuc2NvcGU7XHJcbiAgICB0aGlzLm9uRXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXggfSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwbG9yZUV2ZW50IHtcclxuICBheGVzOiBBeGVzTWFwO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTGV2ZWwgPSB7XHJcbiAgaW5kaWNlczoge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHZhbHVlOiBudW1iZXI7XHJcbiAgfVtdLFxyXG4gIHZhbHVlOiBudW1iZXIsXHJcbiAgdGl0bGU6IHN0cmluZyxcclxuICBheGlzOiBzdHJpbmdcclxuICAvKiogcGFyZW50IGF4aXMgKi9cclxuICBzY29wZT86IHN0cmluZyxcclxuICBhbmltYXRpb246IHtcclxuICAgIHZhbHVlOiBudW1iZXIsXHJcbiAgICBwYXJhbXM6IHtcclxuICAgICAgc3RhcnRXaWR0aDogbnVtYmVyXHJcbiAgICB9XHJcbiAgfTtcclxuICBjaGFpbj86IExldmVsO1xyXG4gIHBlcmNlbnQ6IG51bWJlcjtcclxufTtcclxuIiwiICA8IS0tIGxldmVscyAtLT5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gIDxkaXYgKm5nSWY9XCJwcmV2XCIgY2xhc3M9XCJsZXZlbCBwcmV2LWxldmVsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGV2ZWwtaGVhZGVyIHJvd1wiPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjbGljbGFibGUgbWF0LWljb24tcnRsLW1pcnJvclwiIFtpbmxpbmVdPXRydWUgKGNsaWNrKT1cImdvcHJldigpXCIgKm5nSWY9XCJiYWNrXCI+a2V5Ym9hcmRfYXJyb3dfbGVmdDwvbWF0LWljb24+XHJcbiAgICAgIDxkaXYgZGl2IGNsYXNzPVwibWF0LWgxIHRpdGxlXCI+XHJcbiAgICAgICAge3snUHJldkxldmVsJ3wgdHJhbnNsYXRlfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiZm9yd2FyZFwiIGNsYXNzPVwiY2xpY2xhYmxlIG1hdC1pY29uLXJ0bC1taXJyb3JcIiBbaW5saW5lXT10cnVlIChjbGljayk9XCJnb25leHQoKVwiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxldmVsOyBjb250ZXh0OiB7dXNlOiBwcmV2fVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJjdXJyZW50XCIgY2xhc3M9XCJsZXZlbCBjdXJyZW50LWxldmVsXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGV2ZWwtaGVhZGVyIHJvd1wiPlxyXG4gICAgICA8ZGl2IGRpdiBjbGFzcz1cIm1hdC1oMSB0aXRsZVwiPlxyXG4gICAgICAgIHt7J0N1cnJlbnRMZXZlbCd8IHRyYW5zbGF0ZSA6IHByaW1hcnlBeGlzLnRpdGxlfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPG1hdC1pY29uIFtiaXpkb2NUb29sdGlwXT1cImhlbHBcIiAqbmdJZj1cImhlbHBcIiBbaW5saW5lXT1cInRydWVcIj5oZWxwX291dGxpbmU8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGV2ZWw7IGNvbnRleHQ6IHt1c2U6IGN1cnJlbnR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cIm5leHRcIiBjbGFzcz1cImxldmVsIG5leHQtbGV2ZWxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZXZlbC1oZWFkZXJcIj5cclxuICAgICAgPGRpdiBkaXYgY2xhc3M9XCJtYXQtaDEgdGl0bGVcIj5cclxuICAgICAgICB7eydOZXh0TGV2ZWwnfCB0cmFuc2xhdGV9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxldmVsOyBjb250ZXh0OiB7dXNlOiBuZXh0fVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBsZXZlbCAtLT5cclxuPG5nLXRlbXBsYXRlICNsZXZlbCBsZXQtdXNlPVwidXNlXCIgbGV0LWhlbHA9XCJoZWxwXCI+XHJcbiAgPGRpdj5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC1oMVwiIFtjbGFzcy5jbGljbGFibGVdPVwidXNlLnZhbHVlICE9PSAwXCIgKGNsaWNrKT1cImV4cGxvcmUodXNlKVwiPnt7dXNlLnRpdGxlfX08L2gyPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJtYXQtaDFcIiBbY2xhc3MuY2xpY2xhYmxlXT1cInVzZS52YWx1ZSAhPT0gMFwiIChjbGljayk9XCJleHBsb3JlKHVzZSlcIj57e3VzZS52YWx1ZSB8IGN1cnJlbmN5IDogY3VycmVuY3lDb2RlIDogJ3N5bWJvbCcgOiBkaWdpdHNJbmZvfX08L2gzPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJ1c2UuY2hhaW4gJiYgdXNlLnZhbHVlICE9PSB1c2UuY2hhaW4udmFsdWVcIj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInVzZS52YWx1ZSAhPT0gMCAmJiB1c2UuY2hhaW4udmFsdWUgIT09IDBcIj57e01hdGgucm91bmQodXNlLnZhbHVlIC8gdXNlLmNoYWluLnZhbHVlICogMTAwKSB9fSU8L3NwYW4+XHJcbiAgICAgICAgPG1hdC1pY29uPnt7dXNlLnZhbHVlID4gdXNlLmNoYWluLnZhbHVlID8gJ3RyZW5kaW5nX3VwJzondHJlbmRpbmdfZG93bicgfX08L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gLS0+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaSBvZiB1c2UuaW5kaWNlc1wiIGNsYXNzPVwiaW5kZXhcIj5cclxuICAgICAgPGg0IGNsYXNzPVwibWF0LWgzIHRpdGxlXCI+e3tpLnRpdGxlfX08L2g0PlxyXG4gICAgICA8aDUgY2xhc3M9XCJtYXQtaDNcIiBbY2xhc3MuY2xpY2xhYmxlXT1cImkudmFsdWUgIT09IDBcIiAoY2xpY2spPVwiZXhwbG9yZSh1c2UsIGkubmFtZSlcIj57e2kudmFsdWUgfCBjdXJyZW5jeSA6IGN1cnJlbmN5Q29kZSA6ICdzeW1ib2wnIDogZGlnaXRzSW5mb319PC9oNT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJiYXJcIiAqbmdJZj1cInVzZS5pbmRpY2VzLmxlbmd0aFwiIFtjbGFzcy5hdmFpbGFibGVdPVwidXNlLnBlcmNlbnQgPCAxMDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiIFtzdHlsZS5mbGV4QmFzaXNdPVwiTWF0aC5yb3VuZCh1c2UucGVyY2VudCA8IDEwMCA/XHJcbiAgICAgICAgICAgIDEwMCAtIHVzZS5wZXJjZW50IDpcclxuICAgICAgICAgICAgMTAwIC8gdXNlLnBlcmNlbnQgKiAxMDApICsgJyUnXCJcclxuICAgICAgICAgW0BiYXJdPVwidXNlLmFuaW1hdGlvblwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm92ZXJmbG93XCIgKm5nSWY9XCJ1c2UucGVyY2VudCA+IDBcIj48L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
75
75
  type: ViewChild,
76
76
  args: [CubeViewComponent, { static: true }]
77
77
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL3ZpZXctYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUkxRCxNQUFNLE9BQWdCLFFBQVE7SUEyQzVCLFlBQXNCLFFBQXdCLEVBQ2xDLE9BQW1CLEVBQ25CLFFBQXFCLEVBQ3ZCLE1BQW9CO1FBSFIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQWM7UUF6QnRCLFVBQUssR0FBWSxFQUFFLENBQUM7SUEwQjVCLENBQUM7SUExQ0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxLQUFXO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWU7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBR0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFLRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxhQUFhLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDL0csQ0FBQztJQU9ELGFBQWEsQ0FBQyxPQUFnQjtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixNQUFNLElBQUksR0FBRztZQUNYLEdBQUcsT0FBTyxDQUFDLElBQUk7U0FDaEIsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUNELFFBQVEsQ0FBQyxXQUFXO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN4QixXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELEtBQUssQ0FBQyxHQUFXO1FBQ2YsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDN0I7SUFDSCxDQUFDOztxR0F0RW1CLFFBQVE7eUZBQVIsUUFBUSxvRUFDakIsaUJBQWlCOzJGQURSLFFBQVE7a0JBRDdCLFNBQVM7bUxBRXdDLFFBQVE7c0JBQXZELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NoaWxkLCBIb3N0TGlzdGVuZXIsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDdWJlLCBDdWJlVmlldyB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UsIFBhdHRlcm4gfSBmcm9tICcuL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY3ViZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi9jb3JlL3JvdXRlcic7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZpZXdCYXNlIHtcclxuICBAVmlld0NoaWxkKEN1YmVWaWV3Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSB2aWV3UGFuZTogQ3ViZVZpZXdDb21wb25lbnQ7XHJcbiAgcGF0dGVybnM6IFBhdHRlcm5bXTtcclxuICBwYXR0ZXJuOiBQYXR0ZXJuO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgcHVibGljIGdldCBjdWJlKCk6IEN1YmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1YmU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgY3ViZSh2YWx1ZTogQ3ViZSkge1xyXG4gICAgdGhpcy5fY3ViZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5wYXR0ZXJucyh2YWx1ZS5uYW1lKS5zdWJzY3JpYmUocCA9PiB0aGlzLnBhdHRlcm5zID0gcCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZpZXc6IEN1YmVWaWV3O1xyXG4gIHB1YmxpYyBnZXQgdmlldygpOiBDdWJlVmlldyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlldztcclxuICB9XHJcbiAgcHVibGljIHNldCB2aWV3KHZhbHVlOiBDdWJlVmlldykge1xyXG4gICAgdGhpcy5fdmlldyA9IHZhbHVlO1xyXG4gICAgdGhpcy5leGNsdWRlID0gdmFsdWUuc2VyaWVzID8gWy4uLnZhbHVlLnhBeGlzLCAuLi52YWx1ZS5zZXJpZXNdIDogWy4uLnZhbHVlLnhBeGlzXTtcclxuICB9XHJcbiAgZXhjbHVkZTogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfYXhlczogQXhlc01hcCA9IHt9O1xyXG4gIHB1YmxpYyBnZXQgYXhlcygpOiBBeGVzTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9heGVzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGF4ZXModmFsdWU6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX2F4ZXMgPSB2YWx1ZTtcclxuICAgIHRoaXMuYW55RmlsdGVycyA9IE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICBhbnlBeGVzOiBib29sZWFuO1xyXG4gIGFueUZpbHRlcnM6IGJvb2xlYW47XHJcbiAgbG9hZGluZzogYm9vbGVhbjtcclxuICBwcml2YXRlIF9vcmlnaW5hbEF4ZXM6IEF4ZXNNYXA7XHJcbiAgcHVibGljIGdldCBvcmlnaW5hbEF4ZXMoKTogQXhlc01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3JpZ2luYWxBeGVzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IG9yaWdpbmFsQXhlcyh2YWx1ZTogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxBeGVzID0gdmFsdWU7XHJcbiAgICB0aGlzLmF4ZXMgPSB7IC4uLnZhbHVlIH07XHJcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG4gICAgdGhpcy5hbnlBeGVzID0gdGhpcy5jdWJlLmF4ZXMuc29tZShhID0+IGtleXMuaW5kZXhPZihhLm5hbWUpIDwgMCAmJiAhYS5oaWRkZW4gJiYgYS5zZWxlY3Rpb25Nb2RlICE9PSAnTm9uZScpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJvdGVjdGVkIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UpIHtcclxuICB9XHJcbiAgcGF0dGVybkNoYW5nZShwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuO1xyXG4gICAgY29uc3QgYXhlcyA9IHtcclxuICAgICAgLi4ucGF0dGVybi5heGVzXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fc2VydmljZS5iYXNlKHRoaXMuY3ViZS5uYW1lLCBheGVzLCB0aGlzLm9yaWdpbmFsQXhlcyk7XHJcbiAgICB0aGlzLm5hdmlnYXRlKGF4ZXMpO1xyXG4gIH1cclxuICBjbGVhckZpbHRlcigpIHtcclxuICAgIHRoaXMubmF2aWdhdGUoe30pO1xyXG4gICAgdGhpcy5wYXR0ZXJuID0gbnVsbDtcclxuICB9XHJcbiAgbmF2aWdhdGUocXVlcnlQYXJhbXMpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbXSwge1xyXG4gICAgICBxdWVyeVBhcmFtc1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGd1aWRlKGV2dD86IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy52aWV3Lmd1aWRlKSB7XHJcbiAgICAgIHRoaXMuX2d1aWRlLnN0YXJ0KHRoaXMudmlldy5ndWlkZSk7XHJcbiAgICAgIGV2dCAmJiBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL3ZpZXctYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBSTFELE1BQU0sT0FBZ0IsUUFBUTtJQTJDNUIsWUFBc0IsUUFBd0IsRUFDbEMsT0FBbUIsRUFDbkIsUUFBcUIsRUFDdkIsTUFBb0I7UUFIUixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQXpCdEIsVUFBSyxHQUFZLEVBQUUsQ0FBQztJQTBCNUIsQ0FBQztJQTFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQVc7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsS0FBZTtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFHRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUtELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQVcsWUFBWSxDQUFDLEtBQWM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLGFBQWEsS0FBSyxNQUFNLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBT0QsYUFBYSxDQUFDLE9BQWdCO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHO1lBQ1gsR0FBRyxPQUFPLENBQUMsSUFBSTtTQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBQ0QsUUFBUSxDQUFDLFdBQVc7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3hCLFdBQVc7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSyxDQUFDLEdBQVc7UUFDZixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7O3FHQXRFbUIsUUFBUTt5RkFBUixRQUFRLG9FQUNqQixpQkFBaUI7MkZBRFIsUUFBUTtrQkFEN0IsU0FBUzttTEFFd0MsUUFBUTtzQkFBdkQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3Q2hpbGQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDdWJlLCBDdWJlVmlldyB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UsIFBhdHRlcm4gfSBmcm9tICcuL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY3ViZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi9jb3JlL3JvdXRlcic7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZpZXdCYXNlIHtcclxuICBAVmlld0NoaWxkKEN1YmVWaWV3Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSB2aWV3UGFuZTogQ3ViZVZpZXdDb21wb25lbnQ7XHJcbiAgcGF0dGVybnM6IFBhdHRlcm5bXTtcclxuICBwYXR0ZXJuOiBQYXR0ZXJuO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgcHVibGljIGdldCBjdWJlKCk6IEN1YmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1YmU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgY3ViZSh2YWx1ZTogQ3ViZSkge1xyXG4gICAgdGhpcy5fY3ViZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5wYXR0ZXJucyh2YWx1ZS5uYW1lKS5zdWJzY3JpYmUocCA9PiB0aGlzLnBhdHRlcm5zID0gcCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZpZXc6IEN1YmVWaWV3O1xyXG4gIHB1YmxpYyBnZXQgdmlldygpOiBDdWJlVmlldyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlldztcclxuICB9XHJcbiAgcHVibGljIHNldCB2aWV3KHZhbHVlOiBDdWJlVmlldykge1xyXG4gICAgdGhpcy5fdmlldyA9IHZhbHVlO1xyXG4gICAgdGhpcy5leGNsdWRlID0gdmFsdWUuc2VyaWVzID8gWy4uLnZhbHVlLnhBeGlzLCAuLi52YWx1ZS5zZXJpZXNdIDogWy4uLnZhbHVlLnhBeGlzXTtcclxuICB9XHJcbiAgZXhjbHVkZTogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfYXhlczogQXhlc01hcCA9IHt9O1xyXG4gIHB1YmxpYyBnZXQgYXhlcygpOiBBeGVzTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9heGVzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGF4ZXModmFsdWU6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX2F4ZXMgPSB2YWx1ZTtcclxuICAgIHRoaXMuYW55RmlsdGVycyA9IE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICBhbnlBeGVzOiBib29sZWFuO1xyXG4gIGFueUZpbHRlcnM6IGJvb2xlYW47XHJcbiAgbG9hZGluZzogYm9vbGVhbjtcclxuICBwcml2YXRlIF9vcmlnaW5hbEF4ZXM6IEF4ZXNNYXA7XHJcbiAgcHVibGljIGdldCBvcmlnaW5hbEF4ZXMoKTogQXhlc01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3JpZ2luYWxBeGVzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IG9yaWdpbmFsQXhlcyh2YWx1ZTogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxBeGVzID0gdmFsdWU7XHJcbiAgICB0aGlzLmF4ZXMgPSB7IC4uLnZhbHVlIH07XHJcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG4gICAgdGhpcy5hbnlBeGVzID0gdGhpcy5jdWJlLmF4ZXMuc29tZShhID0+IGtleXMuaW5kZXhPZihhLm5hbWUpIDwgMCAmJiAhYS5oaWRkZW4gJiYgYS5zZWxlY3Rpb25Nb2RlICE9PSAnTm9uZScpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJvdGVjdGVkIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UpIHtcclxuICB9XHJcbiAgcGF0dGVybkNoYW5nZShwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuO1xyXG4gICAgY29uc3QgYXhlcyA9IHtcclxuICAgICAgLi4ucGF0dGVybi5heGVzXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fc2VydmljZS5iYXNlKHRoaXMuY3ViZS5uYW1lLCBheGVzLCB0aGlzLm9yaWdpbmFsQXhlcyk7XHJcbiAgICB0aGlzLm5hdmlnYXRlKGF4ZXMpO1xyXG4gIH1cclxuICBjbGVhckZpbHRlcigpIHtcclxuICAgIHRoaXMubmF2aWdhdGUoe30pO1xyXG4gICAgdGhpcy5wYXR0ZXJuID0gbnVsbDtcclxuICB9XHJcbiAgbmF2aWdhdGUocXVlcnlQYXJhbXMpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbXSwge1xyXG4gICAgICBxdWVyeVBhcmFtc1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGd1aWRlKGV2dD86IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy52aWV3Lmd1aWRlKSB7XHJcbiAgICAgIHRoaXMuX2d1aWRlLnN0YXJ0KHRoaXMudmlldy5ndWlkZSk7XHJcbiAgICAgIGV2dCAmJiBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -45,10 +45,13 @@ export class CubeViewPaneComponent extends ViewBase {
45
45
  * @param evt
46
46
  */
47
47
  explore(evt) {
48
- const { axes, index } = evt;
48
+ const { axes: queryParams, index } = evt, { scope } = this.view;
49
49
  this._router.navigate(['cube', this.cube.name, 'explore'], {
50
- queryParams: axes,
51
- state: { index, scope: this.view.scope }
50
+ queryParams,
51
+ state: {
52
+ index,
53
+ scope
54
+ }
52
55
  });
53
56
  }
54
57
  filterToggle(evt) {
@@ -66,12 +69,12 @@ export class CubeViewPaneComponent extends ViewBase {
66
69
  }
67
70
  }
68
71
  CubeViewPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeViewPaneComponent, deps: [{ token: i1.SessionService }, { token: i2.PaneRef }, { token: i3.Popup }, { token: i4.RouterImpl }, { token: i5.CubeService }, { token: i6.GuideService }], target: i0.ɵɵFactoryTarget.Component });
69
- CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<!--<bizdoc-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-width:650px}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i12.CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["axes", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i15.MatIconAnimate, selector: "[matAnimate]" }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i16.TranslatePipe } });
72
+ CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<!--<bizdoc-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i12.CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["axes", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i15.MatIconAnimate, selector: "[matAnimate]" }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i16.TranslatePipe } });
70
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeViewPaneComponent, decorators: [{
71
74
  type: Component,
72
75
  args: [{ host: {
73
76
  class: 'pane'
74
- }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<!--<bizdoc-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-width:650px}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
77
+ }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<!--<bizdoc-filter-tags [(filters)]=\"axes\" [cube]=\"cube\"></bizdoc-filter-tags>-->\r\n<bizdoc-cube-view [axes]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
75
78
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.PaneRef }, { type: i3.Popup }, { type: i4.RouterImpl }, { type: i5.CubeService }, { type: i6.GuideService }]; }, propDecorators: { viewPane: [{
76
79
  type: ViewChild,
77
80
  args: [CubeViewComponent, { static: true }]
@@ -79,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
79
82
  type: HostListener,
80
83
  args: ['window:keydown.f1', ['$event']]
81
84
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS92aWV3LnBhbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL3ZpZXcucGFuZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVakMsTUFBTSxPQUNFLHFCQUFzQixTQUFRLFFBQVE7SUFFNUMsWUFBWSxPQUF1QixFQUN6QixLQUFxQyxFQUNyQyxNQUFhLEVBQ3JCLE1BQWtCLEVBQ2xCLE9BQW9CLEVBQ3BCLEtBQW1CO1FBQ25CLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUwvQixVQUFLLEdBQUwsS0FBSyxDQUFnQztRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFPO0lBS3ZCLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJ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QyxLQUFLO3NCQURKLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY3ViZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSAnLi4vY29yZS9yb3V0ZXInO1xyXG5pbXBvcnQgeyBWaWV3QmFzZSB9IGZyb20gJy4vdmlldy1iYXNlJztcclxuaW1wb3J0IHsgQ3ViZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQgfSBmcm9tICcuL2RlY2xhcmF0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92aWV3LnBhbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3BhbmUnXHJcbiAgfVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDdWJlVmlld1BhbmVDb21wb25lbnQgZXh0ZW5kcyBWaWV3QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChDdWJlVmlld0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgdmlld1BhbmU6IEN1YmVWaWV3Q29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxDdWJlVmlld1BhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcG9wdXA6IFBvcHVwLFxyXG4gICAgcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBndWlkZTogR3VpZGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihzZXNzaW9uLCByb3V0ZXIsIHNlcnZpY2UsIGd1aWRlKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wYW5lLnBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIGNvbnN0IGN1YmVJZCA9IHBbJ2N1YmUnXSwgdmlld0lkID0gcFsndmlldyddO1xyXG4gICAgICBpZiAoIXRoaXMuY3ViZSB8fCB0aGlzLmN1YmUubmFtZSAhPSBjdWJlSWQpIHtcclxuICAgICAgICB0aGlzLmN1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZUlkKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnZpZXcgPSB0aGlzLmN1YmUudmlld3MuZmluZCh2ID0+IHYubmFtZSA9PT0gdmlld0lkKTtcclxuICAgICAgdGhpcy5fcGFuZS5ncm91cCA9IHRoaXMuY3ViZS50aXRsZTtcclxuICAgICAgdGhpcy5fcGFuZS50aXRsZSA9IHRoaXMudmlldy50aXRsZTtcclxuICAgICAgdGhpcy5fcGFuZS5pY29uID0gdGhpcy52aWV3Lmljb24gfHwgdGhpcy5jdWJlLmljb247XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucXVlcnlQYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4gdGhpcy5vcmlnaW5hbEF4ZXMgPSBwKTtcclxuICAgIHRoaXMuX3BhbmUucmVzaXplLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZpZXdQYW5lLnJlc2l6ZSgpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICovXHJcbiAgZXhwbG9yZShldnQ6IEF4aXNDbGlja0V2ZW50KSB7XHJcbiAgICBjb25zdCB7IGF4ZXMsIGluZGV4IH0gPSBldnQ7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydjdWJlJywgdGhpcy5jdWJlLm5hbWUsICdleHBsb3JlJ10sXHJcbiAgICAgIHtcclxuICAgICAgICBxdWVyeVBhcmFtczogYXhlcyxcclxuICAgICAgICBzdGF0ZTogeyBpbmRleCwgc2NvcGU6XHJcbiAgICAgICAgICB0aGlzLnZpZXcuc2NvcGUgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgZmlsdGVyVG9nZ2xlKGV2dDogRXZlbnQpIHtcclxuICAgIGNvbnN0IHBvcHVwUmVmID0gdGhpcy5fcG9wdXAub3BlbihDdWJlRmlsdGVyQ29tcG9uZW50LCBldnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCk7XHJcbiAgICBwb3B1cFJlZi5vcGVuZWQuXHJcbiAgICAgIHN1YnNjcmliZShlID0+IHtcclxuICAgICAgICBlLmN1YmUgPSB0aGlzLmN1YmUubmFtZTtcclxuICAgICAgICBlLmV4Y2x1ZGUgPSB0aGlzLmV4Y2x1ZGU7XHJcbiAgICAgICAgZS5heGVzID0gdGhpcy5heGVzO1xyXG4gICAgICAgIGUuYXhlc0NoYW5nZS5waXBlKHRha2VVbnRpbChwb3B1cFJlZi5jbG9zZWQpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICB0aGlzLm5hdmlnYXRlLmJpbmQodGhpcylcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uZjEnLCBbJyRldmVudCddKVxyXG4gIGd1aWRlKGV2dD86IEV2ZW50KSB7XHJcbiAgICBzdXBlci5ndWlkZShldnQpO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJuYXYtdG9vbGJhclwiPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJndWlkZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJ2aWV3Lmd1aWRlXCI+PG1hdC1pY29uPmhlbHBfb3V0bGluZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInZwLnJlZnJlc2goKVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZWZyZXNoJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBtYXRBbmltYXRlPVwicm90YXRlXCI+YXV0b3JlbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2JpemRvY1Rvb2x0aXBdPVwiJ0Rvd25sb2FkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICBkYXRhLWhlbHA9XCJkb3dubG9hZFwiIChjbGljayk9XCJ2cC5leHBvcnRUb0V4Y2VsKClcIj5cclxuICAgIDxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInBtZW51XCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1BhdHRlcm5zJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhcGF0dGVybnM/Lmxlbmd0aFwiIGRhdGEtaGVscD1cInBhdHRlcm5cIj48bWF0LWljb24gW2NsYXNzLmZpbGxlZF09XCJwYXR0ZXJuXCI+ZmlsdGVyX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNwbWVudT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgcCBvZiBwYXR0ZXJuc1wiIChjbGljayk9XCJwYXR0ZXJuQ2hhbmdlKHApXCI+XHJcbiAgICAgIHt7cC50aXRsZX19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGVhckZpbHRlcigpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NsZWFyJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhYW55RmlsdGVyc1wiPjxtYXQtaWNvbj5jbGVhcl9hbGw8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJmaWx0ZXJUb2dnbGUoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidGaWx0ZXInIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIiFhbnlBeGVzXCIgZGF0YS1oZWxwPVwiZmlsdGVyXCI+PG1hdC1pY29uPmZpbHRlcl9saXN0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuPC9tYXQtdG9vbGJhcj5cclxuPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cInF1ZXJ5XCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPCEtLTxiaXpkb2MtZmlsdGVyLXRhZ3MgWyhmaWx0ZXJzKV09XCJheGVzXCIgW2N1YmVdPVwiY3ViZVwiPjwvYml6ZG9jLWZpbHRlci10YWdzPi0tPlxyXG48Yml6ZG9jLWN1YmUtdmlldyBbYXhlc109XCJheGVzXCIgI3ZwXHJcbiAgICAgICAgICAgICAgICAgIChleHBsb3JlKT1cImV4cGxvcmUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjdWJlXT1cImN1YmVcIlxyXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJ2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgWyhsb2FkaW5nKV09XCJsb2FkaW5nXCI+PC9iaXpkb2MtY3ViZS12aWV3PlxyXG48IS0tPG5nLWxvdHRpZSBvcHRpb25zPVwie3BhdGg6ICdhc3NldHMvODMxOC1sb2FkZXIuanNvbid9XCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9uZy1sb3R0aWU+LS0+XHJcbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS92aWV3LnBhbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL3ZpZXcucGFuZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVakMsTUFBTSxPQUNFLHFCQUFzQixTQUFRLFFBQVE7SUFFNUMsWUFBWSxPQUF1QixFQUN6QixLQUFxQyxFQUNyQyxNQUFhLEVBQ3JCLE1BQWtCLEVBQ2xCLE9BQW9CLEVBQ3BCLEtBQW1CO1FBQ25CLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUwvQixVQUFLLEdBQUwsS0FBSyxDQUFnQztRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFPO0lBS3ZCLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJ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QUU7Z0JBbUQ5QyxLQUFLO3NCQURKLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY3ViZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSAnLi4vY29yZS9yb3V0ZXInO1xyXG5pbXBvcnQgeyBWaWV3QmFzZSB9IGZyb20gJy4vdmlldy1iYXNlJztcclxuaW1wb3J0IHsgQ3ViZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQgfSBmcm9tICcuL2RlY2xhcmF0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92aWV3LnBhbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3BhbmUnXHJcbiAgfVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDdWJlVmlld1BhbmVDb21wb25lbnQgZXh0ZW5kcyBWaWV3QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChDdWJlVmlld0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgdmlld1BhbmU6IEN1YmVWaWV3Q29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxDdWJlVmlld1BhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcG9wdXA6IFBvcHVwLFxyXG4gICAgcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBndWlkZTogR3VpZGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihzZXNzaW9uLCByb3V0ZXIsIHNlcnZpY2UsIGd1aWRlKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wYW5lLnBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIGNvbnN0IGN1YmVJZCA9IHBbJ2N1YmUnXSwgdmlld0lkID0gcFsndmlldyddO1xyXG4gICAgICBpZiAoIXRoaXMuY3ViZSB8fCB0aGlzLmN1YmUubmFtZSAhPSBjdWJlSWQpIHtcclxuICAgICAgICB0aGlzLmN1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZUlkKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnZpZXcgPSB0aGlzLmN1YmUudmlld3MuZmluZCh2ID0+IHYubmFtZSA9PT0gdmlld0lkKTtcclxuICAgICAgdGhpcy5fcGFuZS5ncm91cCA9IHRoaXMuY3ViZS50aXRsZTtcclxuICAgICAgdGhpcy5fcGFuZS50aXRsZSA9IHRoaXMudmlldy50aXRsZTtcclxuICAgICAgdGhpcy5fcGFuZS5pY29uID0gdGhpcy52aWV3Lmljb24gfHwgdGhpcy5jdWJlLmljb247XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucXVlcnlQYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4gdGhpcy5vcmlnaW5hbEF4ZXMgPSBwKTtcclxuICAgIHRoaXMuX3BhbmUucmVzaXplLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZpZXdQYW5lLnJlc2l6ZSgpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICovXHJcbiAgZXhwbG9yZShldnQ6IEF4aXNDbGlja0V2ZW50KSB7XHJcbiAgICBjb25zdCB7IGF4ZXM6IHF1ZXJ5UGFyYW1zLCBpbmRleCB9ID0gZXZ0LCB7IHNjb3BlIH0gPSB0aGlzLnZpZXc7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydjdWJlJywgdGhpcy5jdWJlLm5hbWUsICdleHBsb3JlJ10sXHJcbiAgICAgIHtcclxuICAgICAgICBxdWVyeVBhcmFtcyxcclxuICAgICAgICBzdGF0ZToge1xyXG4gICAgICAgICAgaW5kZXgsXHJcbiAgICAgICAgICBzY29wZVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGZpbHRlclRvZ2dsZShldnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBwb3B1cFJlZiA9IHRoaXMuX3BvcHVwLm9wZW4oQ3ViZUZpbHRlckNvbXBvbmVudCwgZXZ0LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgcG9wdXBSZWYub3BlbmVkLlxyXG4gICAgICBzdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgZS5jdWJlID0gdGhpcy5jdWJlLm5hbWU7XHJcbiAgICAgICAgZS5leGNsdWRlID0gdGhpcy5leGNsdWRlO1xyXG4gICAgICAgIGUuYXhlcyA9IHRoaXMuYXhlcztcclxuICAgICAgICBlLmF4ZXNDaGFuZ2UucGlwZSh0YWtlVW50aWwocG9wdXBSZWYuY2xvc2VkKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgdGhpcy5uYXZpZ2F0ZS5iaW5kKHRoaXMpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duLmYxJywgWyckZXZlbnQnXSlcclxuICBndWlkZShldnQ/OiBFdmVudCkge1xyXG4gICAgc3VwZXIuZ3VpZGUoZXZ0KTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyIGNsYXNzPVwibmF2LXRvb2xiYXJcIj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZ3VpZGUoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidIZWxwJyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwidmlldy5ndWlkZVwiPjxtYXQtaWNvbj5oZWxwX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ2cC5yZWZyZXNoKClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVmcmVzaCcgfCB0cmFuc2xhdGVcIj48bWF0LWljb24gbWF0QW5pbWF0ZT1cInJvdGF0ZVwiPmF1dG9yZW5ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFtiaXpkb2NUb29sdGlwXT1cIidEb3dubG9hZCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgZGF0YS1oZWxwPVwiZG93bmxvYWRcIiAoY2xpY2spPVwidnAuZXhwb3J0VG9FeGNlbCgpXCI+XHJcbiAgICA8bWF0LWljb24+c2F2ZV9hbHQ8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJwbWVudVwiIFtiaXpkb2NUb29sdGlwXT1cIidQYXR0ZXJucycgfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwiIXBhdHRlcm5zPy5sZW5ndGhcIiBkYXRhLWhlbHA9XCJwYXR0ZXJuXCI+PG1hdC1pY29uIFtjbGFzcy5maWxsZWRdPVwicGF0dGVyblwiPmZpbHRlcl9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSAjcG1lbnU+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHAgb2YgcGF0dGVybnNcIiAoY2xpY2spPVwicGF0dGVybkNoYW5nZShwKVwiPlxyXG4gICAgICB7e3AudGl0bGV9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xlYXJGaWx0ZXIoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidDbGVhcicgfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwiIWFueUZpbHRlcnNcIj48bWF0LWljb24+Y2xlYXJfYWxsPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZmlsdGVyVG9nZ2xlKCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRmlsdGVyJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhYW55QXhlc1wiIGRhdGEtaGVscD1cImZpbHRlclwiPjxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJxdWVyeVwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImxvYWRpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjwhLS08Yml6ZG9jLWZpbHRlci10YWdzIFsoZmlsdGVycyldPVwiYXhlc1wiIFtjdWJlXT1cImN1YmVcIj48L2JpemRvYy1maWx0ZXItdGFncz4tLT5cclxuPGJpemRvYy1jdWJlLXZpZXcgW2F4ZXNdPVwiYXhlc1wiICN2cFxyXG4gICAgICAgICAgICAgICAgICAoZXhwbG9yZSk9XCJleHBsb3JlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbY3ViZV09XCJjdWJlXCJcclxuICAgICAgICAgICAgICAgICAgW3ZpZXddPVwidmlld1wiXHJcbiAgICAgICAgICAgICAgICAgIFsobG9hZGluZyldPVwibG9hZGluZ1wiPjwvYml6ZG9jLWN1YmUtdmlldz5cclxuPCEtLTxuZy1sb3R0aWUgb3B0aW9ucz1cIntwYXRoOiAnYXNzZXRzLzgzMTgtbG9hZGVyLmpzb24nfVwiICpuZ0lmPVwibG9hZGluZ1wiPjwvbmctbG90dGllPi0tPlxyXG4iXX0=
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
143
143
  }
144
144
  }]
145
145
  }], ctorParameters: function () { return [{ type: i1.WidgetRef }, { type: i2.CubeInfo }, { type: i3.SessionService }, { type: i4.DatasourceService }, { type: i5.CubeService }, { type: i0.ElementRef }]; } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjdW0tY3ViZS53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Rhc2hib2FyZC9jdWJlL2FjY3VtLWN1YmUud2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFDb0MsaUJBQWlCLEVBQ3NCLHFCQUFxQixFQUFFLG1CQUFtQixFQUczSCxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFHakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBR2hELGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBRXJFLFNBQVMsU0FBUztJQUNoQixPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUMzRSxDQUFDO0FBV0QsMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUErQjNELFlBQVksR0FBdUIsRUFDakMsSUFBYyxFQUNkLE9BQXVCLEVBQ3ZCLEVBQXFCLEVBQ3JCLElBQWlCLEVBQ1QsV0FBdUI7UUFDL0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUQzQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQWpDakMsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUNuQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsYUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNmLGdCQUFXLEdBQUcs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QUM7SUFDckMsQ0FBQztJQUNELFVBQVUsQ0FBQyxHQUFvQjtRQUM3QixNQUFNLElBQUksR0FBWSxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLEdBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQVksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7O29IQXhIVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2SkFSeEIsRUFBRTsyRkFRRCx1QkFBdUI7a0JBVm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osNENBQTRDO29CQUM1QyxJQUFJLEVBQUU7d0JBQ0osTUFBTSxFQUFFLElBQUk7d0JBQ1osR0FBRyxFQUFFLEtBQUs7cUJBQ1g7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIExlZ2VuZFNlcmllc01vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgQWNjdW11bGF0aW9uQ2hhcnQsXHJcbiAgQWNjdW11bGF0aW9uRGF0YUxhYmVsU2V0dGluZ3NNb2RlbCwgQW5pbWF0aW9uTW9kZWwsIElBY2NUb29sdGlwUmVuZGVyRXZlbnRBcmdzLCBBY2N1bXVsYXRpb25EYXRhTGFiZWwsIEFjY3VtdWxhdGlvblRvb2x0aXAsXHJcbiAgQWNjdW11bGF0aW9uU2VyaWVzTW9kZWwsXHJcbiAgSVBvaW50RXZlbnRBcmdzXHJcbn0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgQ3ViZUFuYWx5c2lzQmFzZSwgUG9pbnQsIE9wdGlvbnMgfSBmcm9tICcuL2N1YmUtYW5hbHlzaXMuYmFzZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVhFU19DT0RFX0RJVklERVIsIEN1YmVTZXJ2aWNlLCBTZXJpZXMgfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFdpZGdldFJlZiB9IGZyb20gXCIuLi93aWRnZXQtcmVmXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIERpbWVudGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG5pbXBvcnQgeyBDdWJlSW5mbyB9IGZyb20gJy4uLy4uL2N1YmUvY3ViZS1pbmZvLnNlcnZpY2UnO1xyXG5cclxuQWNjdW11bGF0aW9uQ2hhcnQuSW5qZWN0KEFjY3VtdWxhdGlvbkRhdGFMYWJlbCwgQWNjdW11bGF0aW9uVG9vbHRpcCk7XHJcblxyXG5mdW5jdGlvbiBjYXJkQ29sb3IoKTogc3RyaW5nIHtcclxuICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLm1hdC1jYXJkLXRpdGxlXCIpKS5jb2xvcjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYWNjdW0tY3ViZS1hbmFseXNpcycsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIC8vICB0ZW1wbGF0ZVVybDogJy4vYWNjdW0tY3ViZS53aWRnZXQuaHRtbCcsXHJcbiAgaG9zdDoge1xyXG4gICAgJ1tpZF0nOiAnaWQnLFxyXG4gICAgZGlyOiAnbHRyJ1xyXG4gIH1cclxufSlcclxuLyoqIHN0YXRpc3RpY3MgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEN1YmVBY2N1bUFuYWx5c2lzV2lkZ2V0IGV4dGVuZHMgQ3ViZUFuYWx5c2lzQmFzZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgLy9AVmlld0NoaWxkKEFjY3VtdWxhdGlvbkNoYXJ0Q29tcG9uZW50KVxyXG4gIGNoYXJ0OiBBY2N1bXVsYXRpb25DaGFydDtcclxuICBkYXRhOiBQb2ludFtdID0gW107XHJcbiAgc3RhcnRBbmdsZSA9IDA7XHJcbiAgZW5kQW5nbGUgPSAzNjA7XHJcbiAgaW5uZXJSYWRpdXMgPSAnMCc7XHJcbiAgcmVhZG9ubHkgZGF0YUxhYmVsOiBBY2N1bXVsYXRpb25EYXRhTGFiZWxTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgIHBvc2l0aW9uOiAnT3V0c2lkZScsXHJcbiAgICBjb25uZWN0b3JTdHlsZTogeyBsZW5ndGg6ICcxMCUnIH0sXHJcbiAgICBuYW1lOiAnbmFtZScsXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHNpemU6ICcxNHB4JyxcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFksXHJcbiAgICAgIGNvbG9yOiBjYXJkQ29sb3IoKVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgbGVnZW5kOiBMZWdlbmRTZXJpZXNNb2RlbCA9IHtcclxuICAgIGlzSW52ZXJzZWQ6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgIHZpc2libGU6IGZhbHNlXHJcbiAgfTtcclxuICByZWFkb25seSB0b29sdGlwOiBUb29sdGlwU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgYW5pbWF0aW9uOiBBbmltYXRpb25Nb2RlbCA9IHsgZW5hYmxlOiB0cnVlLCBkdXJhdGlvbjogMTAwMCB9O1xyXG4gIHJlYWRvbmx5IGVuYWJsZVJ0bCA9IHRoaXMuX3Nlc3Npb24uaW52ZXJzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocmVmOiBXaWRnZXRSZWY8T3B0aW9ucz4sXHJcbiAgICBpbmZvOiBDdWJlSW5mbyxcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgY3ViZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihyZWYsIGluZm8sc2Vzc2lvbiwgZHMsIGN1YmUpO1xyXG4gICAgc3dpdGNoICh0aGlzLl9vcHRpb25zLmNoYXJ0VHlwZSkge1xyXG4gICAgICBjYXNlICdEb3VnaG51dCc6XHJcbiAgICAgICAgdGhpcy5pbm5lclJhZGl1cyA9ICc0MCUnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdIYWxmRG91Z2hudXQnOlxyXG4gICAgICAgIHRoaXMuc3RhcnRBbmdsZSA9IDI3MDtcclxuICAgICAgICB0aGlzLmVuZEFuZ2xlID0gOTA7XHJcbiAgICAgICAgdGhpcy5pbm5lclJhZGl1cyA9ICc0MCUnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgfVxyXG4gIH1cclxuICBvbkxvYWQoZGF0YTogU2VyaWVzW10pIHtcclxuICAgIHRoaXMuZGF0YSA9IGRhdGEubGVuZ3RoID8gZGF0YVswXS5wb2ludHMgOiBbXTtcclxuICAgIHRoaXMuX2RyYXcoKTtcclxuICB9XHJcbiAgb25SZXNpemUoZGltOiBEaW1lbnRpb25zKSB7XHJcbiAgICBpZiAodGhpcy5jaGFydCkge1xyXG4gICAgIC8vIHRoaXMuY2hhcnQuaGVpZ2h0ID0gYCR7ZGltLmhlaWdodH1weGA7XHJcbiAgICAgIC8vdGhpcy5jaGFydC53aWR0aCA9IGAke2RpbS53aWR0aH1weGA7XHJcbiAgICAgIHRoaXMuY2hhcnQucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblRoZW1lQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLnNsaWNlKCk7XHJcbiAgICBpZiAodGhpcy5jaGFydCkge1xyXG4gICAgICB0aGlzLmNoYXJ0LnRoZW1lID0gdGhpcy50aGVtZTtcclxuICAgICAgdGhpcy5jaGFydC5zZXJpZXNbMF0ucGFsZXR0ZXMgPSB0aGlzLnBhbGV0dGVzO1xyXG4gICAgICB0aGlzLmNoYXJ0LnNlcmllc1swXS5kYXRhTGFiZWwuZm9udC5jb2xvciA9IGNhcmRDb2xvcigpO1xyXG4gICAgICB0aGlzLmNoYXJ0LnJlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvb2x0aXBSZW5kZXIoZTogSUFjY1Rvb2x0aXBSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIChlIGFzIGFueSkudGV4dCA9IHRoaXMuX2ludGwuZm9ybWF0TnVtYmVyKGUucG9pbnQueSwge1xyXG4gICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIGZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbicsXHJcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0c1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICBjb25zdCBzZXJpZXM6IEFjY3VtdWxhdGlvblNlcmllc01vZGVsW10gPSBbe1xyXG4gICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGEsXHJcbiAgICAgIHhOYW1lOiAneCcsXHJcbiAgICAgIHlOYW1lOiAneScsXHJcbiAgICAgIHN0YXJ0QW5nbGU6IHRoaXMuc3RhcnRBbmdsZSxcclxuICAgICAgZW5kQW5nbGU6IHRoaXMuZW5kQW5nbGUsXHJcbiAgICAgIHJhZGl1czogJzcwJScsXHJcbiAgICAgIGRhdGFMYWJlbDogdGhpcy5kYXRhTGFiZWwsXHJcbiAgICAgIGV4cGxvZGU6IHRydWUsXHJcbiAgICAgIGV4cGxvZGVPZmZzZXQ6ICcxMCUnLFxyXG4gICAgICBleHBsb2RlSW5kZXg6IDAsXHJcbiAgICAgIGlubmVyUmFkaXVzOiB0aGlzLmlubmVyUmFkaXVzLFxyXG4gICAgICBhbmltYXRpb246IHRoaXMuYW5pbWF0aW9uLFxyXG4gICAgICBwYWxldHRlczogdGhpcy5wYWxldHRlc1xyXG4gICAgfV07XHJcbiAgICB0aGlzLmNoYXJ0ICYmIHRoaXMuY2hhcnQuZGVzdHJveSgpO1xyXG4gICAgaWYodGhpcy5kYXRhLmxlbmd0aCkgdGhpcy5jaGFydCA9IG5ldyBBY2N1bXVsYXRpb25DaGFydCh7XHJcbiAgICAgLy8gd2lkdGg6IGAke3RoaXMud2lkdGh9cHhgLFxyXG4gICAgICAvLyBoZWlnaHQ6IGAke3RoaXMuaGVpZ2h0fXB4YCxcclxuICAgICAgZW5hYmxlUnRsOiB0aGlzLmVuYWJsZVJ0bCxcclxuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgbGVnZW5kU2V0dGluZ3M6IHRoaXMubGVnZW5kLFxyXG4gICAgICBlbmFibGVBbmltYXRpb246IHRydWUsXHJcbiAgICAgIHBvaW50Q2xpY2s6IHRoaXMucG9pbnRDbGljay5iaW5kKHRoaXMpLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICB0aGVtZTogdGhpcy50aGVtZSxcclxuICAgICAgc2VyaWVzXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBwb2ludENsaWNrKGV2dDogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCBheGVzOiBBeGVzTWFwID0ge307XHJcbiAgICBjb25zdCB4ID0gKGV2dC5zZXJpZXMuZGF0YVNvdXJjZVtldnQucG9pbnRJbmRleF0ueCBhcyBzdHJpbmcpLnNwbGl0KEFYRVNfQ09ERV9ESVZJREVSKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy54QXhpcy5sZW5ndGg7IGkrKylcclxuICAgICAgYXhlc1t0aGlzLnhBeGlzW2ldXSA9IHhbaV07XHJcbiAgICB0aGlzLmV4cGxvcmUoYXhlcyk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5jaGFydCAmJiB0aGlzLmNoYXJ0LmRlc3Ryb3koKTtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjdW0tY3ViZS53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Rhc2hib2FyZC9jdWJlL2FjY3VtLWN1YmUud2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFDb0MsaUJBQWlCLEVBQ3NCLHFCQUFxQixFQUFFLG1CQUFtQixFQUczSCxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBOEIsTUFBTSx5QkFBeUIsQ0FBQztBQUd4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7QUFHaEQsaUJBQWlCLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFckUsU0FBUyxTQUFTO0lBQ2hCLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNFLENBQUM7QUFXRCwwQkFBMEI7QUFDMUIsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQStCM0QsWUFBWSxHQUF1QixFQUNqQyxJQUFjLEVBQ2QsT0FBdUIsRUFDdkIsRUFBcUIsRUFDckIsSUFBaUIsRUFDVCxXQUF1QjtRQUMvQixLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRDNCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBakNqQyxTQUFJLEdBQVksRUFBRSxDQUFDO1FBQ25CLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxHQUFHLENBQUM7UUFDVCxjQUFTLEdBQXVDO1lBQ3ZELE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNqQyxJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTtnQkFDWixVQUFVLEVBQUUsV0FBVztnQkFDdkIsS0FBSyxFQUFFLFNBQVMsRUFBRTthQUNuQjtTQUNGLENBQUM7UUFDTyxXQUFNLEdBQXNCO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFDakMsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBQ08sWUFBTyxHQUF5QjtZQUN2QyxNQUFNLEVBQUUsSUFBSTtZQUNaLFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsV0FBVzthQUN4QjtTQUNGLENBQUM7UUFDTyxjQUFTLEdBQW1CLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDN0QsY0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBU3pDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUU7WUFDL0IsS0FBSyxVQUFVO2dCQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsUUFBUTtTQUNUO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFjO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRCxRQUFRLENBQUMsR0FBZTtRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZix5Q0FBeUM7WUFDeEMsc0NBQXNDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBQ0QsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLENBQTZCO1FBQ3hDLENBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDbkQsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7WUFDckMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjO1NBQ3BELENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTyxLQUFLO1FBQ1gsTUFBTSxNQUFNLEdBQThCLENBQUM7Z0JBQ3pDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDckIsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLFlBQVksRUFBRSxDQUFDO2dCQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDeEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGlCQUFpQixDQUFDO2dCQUN2RCw0QkFBNEI7Z0JBQzNCLDhCQUE4QjtnQkFDOUIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixVQUFVLEVBQUUsYUFBYTtnQkFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUMzQixlQUFlLEVBQUUsSUFBSTtnQkFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzVDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsTUFBTTthQUNQLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsVUFBVSxDQUFDLEdBQW9CO1FBQzdCLE1BQU0sSUFBSSxHQUFZLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsR0FBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBWSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7b0hBeEhVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDZKQVJ4QixFQUFFOzJGQVFELHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsRUFBRTtvQkFDWiw0Q0FBNEM7b0JBQzVDLElBQUksRUFBRTt3QkFDSixNQUFNLEVBQUUsSUFBSTt3QkFDWixHQUFHLEVBQUUsS0FBSztxQkFDWDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgTGVnZW5kU2VyaWVzTW9kZWwsIFRvb2x0aXBTZXR0aW5nc01vZGVsLCBBY2N1bXVsYXRpb25DaGFydCxcclxuICBBY2N1bXVsYXRpb25EYXRhTGFiZWxTZXR0aW5nc01vZGVsLCBBbmltYXRpb25Nb2RlbCwgSUFjY1Rvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIEFjY3VtdWxhdGlvbkRhdGFMYWJlbCwgQWNjdW11bGF0aW9uVG9vbHRpcCxcclxuICBBY2N1bXVsYXRpb25TZXJpZXNNb2RlbCxcclxuICBJUG9pbnRFdmVudEFyZ3NcclxufSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBDdWJlQW5hbHlzaXNCYXNlLCBPcHRpb25zIH0gZnJvbSAnLi9jdWJlLWFuYWx5c2lzLmJhc2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEFYRVNfQ09ERV9ESVZJREVSLCBDdWJlU2VydmljZSwgU2VyaWVzLCBQb2ludCB9IGZyb20gJy4uLy4uL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2lkZ2V0UmVmIH0gZnJvbSBcIi4uL3dpZGdldC1yZWZcIjtcclxuaW1wb3J0IHsgQXhlc01hcCwgRGltZW50aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcbmltcG9ydCB7IEN1YmVJbmZvIH0gZnJvbSAnLi4vLi4vY3ViZS9jdWJlLWluZm8uc2VydmljZSc7XHJcblxyXG5BY2N1bXVsYXRpb25DaGFydC5JbmplY3QoQWNjdW11bGF0aW9uRGF0YUxhYmVsLCBBY2N1bXVsYXRpb25Ub29sdGlwKTtcclxuXHJcbmZ1bmN0aW9uIGNhcmRDb2xvcigpOiBzdHJpbmcge1xyXG4gIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIubWF0LWNhcmQtdGl0bGVcIikpLmNvbG9yO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1hY2N1bS1jdWJlLWFuYWx5c2lzJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgLy8gIHRlbXBsYXRlVXJsOiAnLi9hY2N1bS1jdWJlLndpZGdldC5odG1sJyxcclxuICBob3N0OiB7XHJcbiAgICAnW2lkXSc6ICdpZCcsXHJcbiAgICBkaXI6ICdsdHInXHJcbiAgfVxyXG59KVxyXG4vKiogc3RhdGlzdGljcyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgQ3ViZUFjY3VtQW5hbHlzaXNXaWRnZXQgZXh0ZW5kcyBDdWJlQW5hbHlzaXNCYXNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvL0BWaWV3Q2hpbGQoQWNjdW11bGF0aW9uQ2hhcnRDb21wb25lbnQpXHJcbiAgY2hhcnQ6IEFjY3VtdWxhdGlvbkNoYXJ0O1xyXG4gIGRhdGE6IFBvaW50W10gPSBbXTtcclxuICBzdGFydEFuZ2xlID0gMDtcclxuICBlbmRBbmdsZSA9IDM2MDtcclxuICBpbm5lclJhZGl1cyA9ICcwJztcclxuICByZWFkb25seSBkYXRhTGFiZWw6IEFjY3VtdWxhdGlvbkRhdGFMYWJlbFNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICB2aXNpYmxlOiB0cnVlLFxyXG4gICAgcG9zaXRpb246ICdPdXRzaWRlJyxcclxuICAgIGNvbm5lY3RvclN0eWxlOiB7IGxlbmd0aDogJzEwJScgfSxcclxuICAgIG5hbWU6ICduYW1lJyxcclxuICAgIGZvbnQ6IHtcclxuICAgICAgc2l6ZTogJzE0cHgnLFxyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWSxcclxuICAgICAgY29sb3I6IGNhcmRDb2xvcigpXHJcbiAgICB9XHJcbiAgfTtcclxuICByZWFkb25seSBsZWdlbmQ6IExlZ2VuZFNlcmllc01vZGVsID0ge1xyXG4gICAgaXNJbnZlcnNlZDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgdmlzaWJsZTogZmFsc2VcclxuICB9O1xyXG4gIHJlYWRvbmx5IHRvb2x0aXA6IFRvb2x0aXBTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfTtcclxuICByZWFkb25seSBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsID0geyBlbmFibGU6IHRydWUsIGR1cmF0aW9uOiAxMDAwIH07XHJcbiAgcmVhZG9ubHkgZW5hYmxlUnRsID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZWY6IFdpZGdldFJlZjxPcHRpb25zPixcclxuICAgIGluZm86IEN1YmVJbmZvLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBkczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBjdWJlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIHN1cGVyKHJlZiwgaW5mbyxzZXNzaW9uLCBkcywgY3ViZSk7XHJcbiAgICBzd2l0Y2ggKHRoaXMuX29wdGlvbnMuY2hhcnRUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ0RvdWdobnV0JzpcclxuICAgICAgICB0aGlzLmlubmVyUmFkaXVzID0gJzQwJSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0hhbGZEb3VnaG51dCc6XHJcbiAgICAgICAgdGhpcy5zdGFydEFuZ2xlID0gMjcwO1xyXG4gICAgICAgIHRoaXMuZW5kQW5nbGUgPSA5MDtcclxuICAgICAgICB0aGlzLmlubmVyUmFkaXVzID0gJzQwJSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uTG9hZChkYXRhOiBTZXJpZXNbXSkge1xyXG4gICAgdGhpcy5kYXRhID0gZGF0YS5sZW5ndGggPyBkYXRhWzBdLnBvaW50cyA6IFtdO1xyXG4gICAgdGhpcy5fZHJhdygpO1xyXG4gIH1cclxuICBvblJlc2l6ZShkaW06IERpbWVudGlvbnMpIHtcclxuICAgIGlmICh0aGlzLmNoYXJ0KSB7XHJcbiAgICAgLy8gdGhpcy5jaGFydC5oZWlnaHQgPSBgJHtkaW0uaGVpZ2h0fXB4YDtcclxuICAgICAgLy90aGlzLmNoYXJ0LndpZHRoID0gYCR7ZGltLndpZHRofXB4YDtcclxuICAgICAgdGhpcy5jaGFydC5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uVGhlbWVDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuc2xpY2UoKTtcclxuICAgIGlmICh0aGlzLmNoYXJ0KSB7XHJcbiAgICAgIHRoaXMuY2hhcnQudGhlbWUgPSB0aGlzLnRoZW1lO1xyXG4gICAgICB0aGlzLmNoYXJ0LnNlcmllc1swXS5wYWxldHRlcyA9IHRoaXMucGFsZXR0ZXM7XHJcbiAgICAgIHRoaXMuY2hhcnQuc2VyaWVzWzBdLmRhdGFMYWJlbC5mb250LmNvbG9yID0gY2FyZENvbG9yKCk7XHJcbiAgICAgIHRoaXMuY2hhcnQucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9vbHRpcFJlbmRlcihlOiBJQWNjVG9vbHRpcFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgKGUgYXMgYW55KS50ZXh0ID0gdGhpcy5faW50bC5mb3JtYXROdW1iZXIoZS5wb2ludC55LCB7XHJcbiAgICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5Q29kZSxcclxuICAgICAgZm9ybWF0OiB0aGlzLmN1cnJlbmN5Q29kZSA/ICdjJyA6ICduJyxcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIGNvbnN0IHNlcmllczogQWNjdW11bGF0aW9uU2VyaWVzTW9kZWxbXSA9IFt7XHJcbiAgICAgIGRhdGFTb3VyY2U6IHRoaXMuZGF0YSxcclxuICAgICAgeE5hbWU6ICd4JyxcclxuICAgICAgeU5hbWU6ICd5JyxcclxuICAgICAgc3RhcnRBbmdsZTogdGhpcy5zdGFydEFuZ2xlLFxyXG4gICAgICBlbmRBbmdsZTogdGhpcy5lbmRBbmdsZSxcclxuICAgICAgcmFkaXVzOiAnNzAlJyxcclxuICAgICAgZGF0YUxhYmVsOiB0aGlzLmRhdGFMYWJlbCxcclxuICAgICAgZXhwbG9kZTogdHJ1ZSxcclxuICAgICAgZXhwbG9kZU9mZnNldDogJzEwJScsXHJcbiAgICAgIGV4cGxvZGVJbmRleDogMCxcclxuICAgICAgaW5uZXJSYWRpdXM6IHRoaXMuaW5uZXJSYWRpdXMsXHJcbiAgICAgIGFuaW1hdGlvbjogdGhpcy5hbmltYXRpb24sXHJcbiAgICAgIHBhbGV0dGVzOiB0aGlzLnBhbGV0dGVzXHJcbiAgICB9XTtcclxuICAgIHRoaXMuY2hhcnQgJiYgdGhpcy5jaGFydC5kZXN0cm95KCk7XHJcbiAgICBpZih0aGlzLmRhdGEubGVuZ3RoKSB0aGlzLmNoYXJ0ID0gbmV3IEFjY3VtdWxhdGlvbkNoYXJ0KHtcclxuICAgICAvLyB3aWR0aDogYCR7dGhpcy53aWR0aH1weGAsXHJcbiAgICAgIC8vIGhlaWdodDogYCR7dGhpcy5oZWlnaHR9cHhgLFxyXG4gICAgICBlbmFibGVSdGw6IHRoaXMuZW5hYmxlUnRsLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxyXG4gICAgICBsZWdlbmRTZXR0aW5nczogdGhpcy5sZWdlbmQsXHJcbiAgICAgIGVuYWJsZUFuaW1hdGlvbjogdHJ1ZSxcclxuICAgICAgcG9pbnRDbGljazogdGhpcy5wb2ludENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgICAgY3VycmVuY3lDb2RlOiB0aGlzLmN1cnJlbmN5Q29kZSxcclxuICAgICAgdG9vbHRpcFJlbmRlcjogdGhpcy50b29sdGlwUmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxyXG4gICAgICBzZXJpZXNcclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIHBvaW50Q2xpY2soZXZ0OiBJUG9pbnRFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IGF4ZXM6IEF4ZXNNYXAgPSB7fTtcclxuICAgIGNvbnN0IHggPSAoZXZ0LnNlcmllcy5kYXRhU291cmNlW2V2dC5wb2ludEluZGV4XS54IGFzIHN0cmluZykuc3BsaXQoQVhFU19DT0RFX0RJVklERVIpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnhBeGlzLmxlbmd0aDsgaSsrKVxyXG4gICAgICBheGVzW3RoaXMueEF4aXNbaV1dID0geFtpXTtcclxuICAgIHRoaXMuZXhwbG9yZShheGVzKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmNoYXJ0ICYmIHRoaXMuY2hhcnQuZGVzdHJveSgpO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuIl19
@@ -87,4 +87,4 @@ CubeAnalysisBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", versi
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeAnalysisBase, decorators: [{
88
88
  type: Directive
89
89
  }], ctorParameters: function () { return [{ type: i1.WidgetRef }, { type: i2.CubeInfo }, { type: i3.SessionService }, { type: i4.DatasourceService }, { type: i5.CubeService }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1hbmFseXNpcy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9kYXNoYm9hcmQvY3ViZS9jdWJlLWFuYWx5c2lzLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWMsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBa0MsTUFBTSx5QkFBeUIsQ0FBQztBQUVoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFJL0MsTUFBTSxPQUFnQixnQkFBZ0I7SUFrQnBDLFlBQVksR0FBdUIsRUFDekIsS0FBZSxFQUNiLFFBQXdCLEVBQzFCLEdBQXNCLEVBQ3BCLFFBQXFCO1FBSHZCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBcEJ4QixPQUFFLEdBQUcsaUJBQWlCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDM0QsYUFBUSxHQUFhLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQ2pELFVBQUssR0FBZ0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQVczRSxpQkFBWSxHQUErQixFQUFFLENBQUM7UUFDNUMsVUFB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cnQgeyBPbkRlc3Ryb3ksIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb24gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYmFzZSc7XHJcbmltcG9ydCB7IFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIENoYXJ0VHlwZSwgQ3ViZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWEVTX0xBQkVMX0RJVklERVIsIEFYRVNfQ09ERV9ESVZJREVSLCBDdWJlU2VydmljZSwgU2VyaWVzLCBTY29wZVR5cGUgfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFdpZGdldFJlZiB9IGZyb20gXCIuLi93aWRnZXQtcmVmXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEN1YmVJbmZvIH0gZnJvbSAnLi4vLi4vY3ViZS9jdWJlLWluZm8uc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1YmVBbmFseXNpc0Jhc2UgaW1wbGVtZW50cyBXaWRnZXRDb21wb25lbnQ8U2VyaWVzW10+LCBPbkRlc3Ryb3kge1xyXG4gIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHJlYWRvbmx5IGlkID0gYGN1YmUtYW5hbHlzaXMtJHtDdWJlQW5hbHlzaXNCYXNlLm5leHRJZCsrfWA7XHJcbiAgcGFsZXR0ZXM6IHN0cmluZ1tdID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gIHRoZW1lOiAnTWF0ZXJpYWwnIHwgJ01hdGVyaWFsRGFyaycgPSB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgd2lkdGg6IHN0cmluZztcclxuICByZWFkb25seSBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBwcm90ZWN0ZWQgX2N1YmU6IEN1YmU7XHJcbiAgcHJvdGVjdGVkIF9vcHRpb25zOiBPcHRpb25zO1xyXG4gIHByb3RlY3RlZCBfZGF0YTogU2VyaWVzW107XHJcbiAgcHJpdmF0ZSBfc2VyaWVzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF94QXhpczogc3RyaW5nW107XHJcbiAgcHJvdGVjdGVkIGdldCBzZXJpZXMoKSB7IHJldHVybiB0aGlzLl9zZXJpZXN9XHJcbiAgcHJvdGVjdGVkIGdldCB4QXhpcygpIHsgcmV0dXJuIHRoaXMuX3hBeGlzfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2F4aXNUeXBlTWFwOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKHJlZjogV2lkZ2V0UmVmPE9wdGlvbnM+LFxyXG4gICAgcHJpdmF0ZSBfaW5mbzogQ3ViZUluZm8sXHJcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9zZXJ2aWNlOiBDdWJlU2VydmljZSkge1xyXG4gICAgdGhpcy5fb3B0aW9ucyA9IHJlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgeyB4QXhpcywgc2VyaWVzLCBjdWJlIH0gPSB0aGlzLl9vcHRpb25zO1xyXG4gICAgdGhpcy5fY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLl94QXhpcyA9ICF4QXhpcyA/IFt0aGlzLl9jdWJlLmF4ZXNbMF0ubmFtZV0gOiBpc0FycmF5KHhBeGlzKSA/IHhBeGlzIDogW3hBeGlzXTtcclxuICAgIHRoaXMuX3NlcmllcyA9ICFzZXJpZXMgPyBbXSA6IGlzQXJyYXkoc2VyaWVzKSA/IHNlcmllcyA6IFtzZXJpZXNdO1xyXG4gICAgaWYgKCF0aGlzLl9jdWJlKVxyXG4gICAgICB0aHJvdyBgY3ViZSBub3QgZm91bmQgJHtjdWJlfWA7XHJcbiAgICB0aGlzLmN1cnJlbmN5Q29kZSA9IHRoaXMuX2N1YmUuY3VycmVuY3lDb2RlO1xyXG4gICAgdGhpcy5fY3ViZS5heGVzLmZvckVhY2goKGEpID0+XHJcbiAgICAgIHRoaXMuX2F4aXNUeXBlTWFwW2EubmFtZV0gPSBhLmRhdGFUeXBlKTtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgIHRoaXMucGFsZXR0ZXMgPSBfc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgICB0aGlzLm9uVGhlbWVDaGFuZ2UoKTtcclxuICAgIH0pO1xyXG4gICAgcmVmLnJlc2l6ZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIHRoaXMuaGVpZ2h0ID0gYCR7ZC5oZWlnaHR9cHhgO1xyXG4gICAgICB0aGlzLndpZHRoID0gYCR7ZC53aWR0aH1weGA7XHJcbiAgICAgIHRoaXMuX2RhdGEgJiYgdGhpcy5vblJlc2l6ZShkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgZXhwbG9yZShheGVzOiBBeGVzTWFwLCBvcHRpb25zPzogeyBpbmRleD86IHN0cmluZyB9KSB7XHJcbiAgICB0aGlzLl9pbmZvLmV4cGxvcmUoYXhlcywge1xyXG4gICAgICBjdWJlOiB0aGlzLl9jdWJlLm5hbWUsXHJcbiAgICAgIGluZGV4OiBvcHRpb25zICYmIG9wdGlvbnMuaW5kZXggPyBvcHRpb25zLmluZGV4IDogbnVsbCxcclxuICAgICAgc2NvcGU6IHRoaXMuX29wdGlvbnMuc2NvcGVcclxuICAgIH0pO1xyXG4gIH1cclxuICBhYnN0cmFjdCBvblJlc2l6ZShkaW06IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSk7XHJcbiAgb25CaW5kKGRhdGE6IFNlcmllc1tdKSB7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIGRhdGEuZm9yRWFjaChzID0+IHtcclxuICAgICAgcy5wb2ludHMuZm9yRWFjaChwID0+IHtcclxuICAgICAgICBpZiAocC54KSB7XHJcbiAgICAgICAgICBjb25zdCBwb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHAueC5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBqKSA9PlxyXG4gICAgICAgICAgICB0aGlzLl9kcy5nZXQodGhpcy5fYXhpc1R5cGVNYXBbdGhpcy5feEF4aXNbal1dLCBrKSkpLlxyXG4gICAgICAgICAgICBwaXBlKHRhcChvID0+IHAubmFtZSA9IG8uam9pbihBWEVTX0xBQkVMX0RJVklERVIpKSk7XHJcbiAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHBvYnNlcnZhYmxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAocy5pbmRleCkge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fY3ViZS5pbmRpY2VzLmZpbmQoaSA9PiBpLm5hbWUgPT09IHMuaW5kZXgpO1xyXG4gICAgICAgIHMudGl0bGUgPSBpbmRleC50aXRsZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChzLm5hbWUpIHtcclxuICAgICAgICBjb25zdCBzb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHMubmFtZS5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBpKSA9PlxyXG4gICAgICAgICAgdGhpcy5fZHMuZ2V0KHRoaXMuX2F4aXNUeXBlTWFwW3RoaXMuX3Nlcmllc1tpXV0sIGspXHJcbiAgICAgICAgKSkucGlwZSh0YXAodiA9PiBzLnRpdGxlID0gdi5qb2luKEFYRVNfTEFCRUxfRElWSURFUikpKTtcclxuICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHNvYnNlcnZhYmxlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGgpIGZvcmtKb2luKG9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5vbkxvYWQoZGF0YSlcclxuICAgICk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMub25Mb2FkKGRhdGEpO1xyXG4gIH1cclxuICBhYnN0cmFjdCBvbkxvYWQoZGF0YTogU2VyaWVzW10pO1xyXG4gIGFic3RyYWN0IG9uVGhlbWVDaGFuZ2UoKTtcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xyXG4gIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIGNoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBpbmRleENoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIHhBeGlzPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgZXhjbHVkZT86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIHNlcmllcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIGluZGljZXM/OiBzdHJpbmdbXSB8IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50IHtcclxuICB4OiBzdHJpbmc7XHJcbiAgeTogbnVtYmVyO1xyXG59XHJcbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1hbmFseXNpcy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9kYXNoYm9hcmQvY3ViZS9jdWJlLWFuYWx5c2lzLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWMsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBa0MsTUFBTSx5QkFBeUIsQ0FBQztBQUVoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFJL0MsTUFBTSxPQUFnQixnQkFBZ0I7SUFrQnBDLFlBQVksR0FBdUIsRUFDekIsS0FBZSxFQUNiLFFBQXdCLEVBQzFCLEdBQXNCLEVBQ3BCLFFBQXFCO1FBSHZCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBcEJ4QixPQUFFLEdBQUcsaUJBQWlCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDM0QsYUFBUSxHQUFhLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQ2pELFVBQUssR0FBZ0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQVczRSxpQkFBWSxHQUErQixFQUFFLENBQUM7UUFDNUMsVUFB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cnQgeyBPbkRlc3Ryb3ksIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb24gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYmFzZSc7XHJcbmltcG9ydCB7IFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIENoYXJ0VHlwZSwgQ3ViZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWEVTX0xBQkVMX0RJVklERVIsIEFYRVNfQ09ERV9ESVZJREVSLCBDdWJlU2VydmljZSwgU2VyaWVzLCBTY29wZVR5cGUgfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFdpZGdldFJlZiB9IGZyb20gXCIuLi93aWRnZXQtcmVmXCI7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEN1YmVJbmZvIH0gZnJvbSAnLi4vLi4vY3ViZS9jdWJlLWluZm8uc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1YmVBbmFseXNpc0Jhc2UgaW1wbGVtZW50cyBXaWRnZXRDb21wb25lbnQ8U2VyaWVzW10+LCBPbkRlc3Ryb3kge1xyXG4gIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHJlYWRvbmx5IGlkID0gYGN1YmUtYW5hbHlzaXMtJHtDdWJlQW5hbHlzaXNCYXNlLm5leHRJZCsrfWA7XHJcbiAgcGFsZXR0ZXM6IHN0cmluZ1tdID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gIHRoZW1lOiAnTWF0ZXJpYWwnIHwgJ01hdGVyaWFsRGFyaycgPSB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgd2lkdGg6IHN0cmluZztcclxuICByZWFkb25seSBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBwcm90ZWN0ZWQgX2N1YmU6IEN1YmU7XHJcbiAgcHJvdGVjdGVkIF9vcHRpb25zOiBPcHRpb25zO1xyXG4gIHByb3RlY3RlZCBfZGF0YTogU2VyaWVzW107XHJcbiAgcHJpdmF0ZSBfc2VyaWVzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF94QXhpczogc3RyaW5nW107XHJcbiAgcHJvdGVjdGVkIGdldCBzZXJpZXMoKSB7IHJldHVybiB0aGlzLl9zZXJpZXN9XHJcbiAgcHJvdGVjdGVkIGdldCB4QXhpcygpIHsgcmV0dXJuIHRoaXMuX3hBeGlzfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2F4aXNUeXBlTWFwOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKHJlZjogV2lkZ2V0UmVmPE9wdGlvbnM+LFxyXG4gICAgcHJpdmF0ZSBfaW5mbzogQ3ViZUluZm8sXHJcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9zZXJ2aWNlOiBDdWJlU2VydmljZSkge1xyXG4gICAgdGhpcy5fb3B0aW9ucyA9IHJlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgeyB4QXhpcywgc2VyaWVzLCBjdWJlIH0gPSB0aGlzLl9vcHRpb25zO1xyXG4gICAgdGhpcy5fY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLl94QXhpcyA9ICF4QXhpcyA/IFt0aGlzLl9jdWJlLmF4ZXNbMF0ubmFtZV0gOiBpc0FycmF5KHhBeGlzKSA/IHhBeGlzIDogW3hBeGlzXTtcclxuICAgIHRoaXMuX3NlcmllcyA9ICFzZXJpZXMgPyBbXSA6IGlzQXJyYXkoc2VyaWVzKSA/IHNlcmllcyA6IFtzZXJpZXNdO1xyXG4gICAgaWYgKCF0aGlzLl9jdWJlKVxyXG4gICAgICB0aHJvdyBgY3ViZSBub3QgZm91bmQgJHtjdWJlfWA7XHJcbiAgICB0aGlzLmN1cnJlbmN5Q29kZSA9IHRoaXMuX2N1YmUuY3VycmVuY3lDb2RlO1xyXG4gICAgdGhpcy5fY3ViZS5heGVzLmZvckVhY2goKGEpID0+XHJcbiAgICAgIHRoaXMuX2F4aXNUeXBlTWFwW2EubmFtZV0gPSBhLmRhdGFUeXBlKTtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgIHRoaXMucGFsZXR0ZXMgPSBfc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgICB0aGlzLm9uVGhlbWVDaGFuZ2UoKTtcclxuICAgIH0pO1xyXG4gICAgcmVmLnJlc2l6ZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIHRoaXMuaGVpZ2h0ID0gYCR7ZC5oZWlnaHR9cHhgO1xyXG4gICAgICB0aGlzLndpZHRoID0gYCR7ZC53aWR0aH1weGA7XHJcbiAgICAgIHRoaXMuX2RhdGEgJiYgdGhpcy5vblJlc2l6ZShkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgZXhwbG9yZShheGVzOiBBeGVzTWFwLCBvcHRpb25zPzogeyBpbmRleD86IHN0cmluZyB9KSB7XHJcbiAgICB0aGlzLl9pbmZvLmV4cGxvcmUoYXhlcywge1xyXG4gICAgICBjdWJlOiB0aGlzLl9jdWJlLm5hbWUsXHJcbiAgICAgIGluZGV4OiBvcHRpb25zICYmIG9wdGlvbnMuaW5kZXggPyBvcHRpb25zLmluZGV4IDogbnVsbCxcclxuICAgICAgc2NvcGU6IHRoaXMuX29wdGlvbnMuc2NvcGVcclxuICAgIH0pO1xyXG4gIH1cclxuICBhYnN0cmFjdCBvblJlc2l6ZShkaW06IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSk7XHJcbiAgb25CaW5kKGRhdGE6IFNlcmllc1tdKSB7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIGRhdGEuZm9yRWFjaChzID0+IHtcclxuICAgICAgcy5wb2ludHMuZm9yRWFjaChwID0+IHtcclxuICAgICAgICBpZiAocC54KSB7XHJcbiAgICAgICAgICBjb25zdCBwb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHAueC5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBqKSA9PlxyXG4gICAgICAgICAgICB0aGlzLl9kcy5nZXQodGhpcy5fYXhpc1R5cGVNYXBbdGhpcy5feEF4aXNbal1dLCBrKSkpLlxyXG4gICAgICAgICAgICBwaXBlKHRhcChvID0+IHAubmFtZSA9IG8uam9pbihBWEVTX0xBQkVMX0RJVklERVIpKSk7XHJcbiAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHBvYnNlcnZhYmxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAocy5pbmRleCkge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fY3ViZS5pbmRpY2VzLmZpbmQoaSA9PiBpLm5hbWUgPT09IHMuaW5kZXgpO1xyXG4gICAgICAgIHMudGl0bGUgPSBpbmRleC50aXRsZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChzLm5hbWUpIHtcclxuICAgICAgICBjb25zdCBzb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHMubmFtZS5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBpKSA9PlxyXG4gICAgICAgICAgdGhpcy5fZHMuZ2V0KHRoaXMuX2F4aXNUeXBlTWFwW3RoaXMuX3Nlcmllc1tpXV0sIGspXHJcbiAgICAgICAgKSkucGlwZSh0YXAodiA9PiBzLnRpdGxlID0gdi5qb2luKEFYRVNfTEFCRUxfRElWSURFUikpKTtcclxuICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHNvYnNlcnZhYmxlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGgpIGZvcmtKb2luKG9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5vbkxvYWQoZGF0YSlcclxuICAgICk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMub25Mb2FkKGRhdGEpO1xyXG4gIH1cclxuICBhYnN0cmFjdCBvbkxvYWQoZGF0YTogU2VyaWVzW10pO1xyXG4gIGFic3RyYWN0IG9uVGhlbWVDaGFuZ2UoKTtcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xyXG4gIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIGNoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBpbmRleENoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIHhBeGlzPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgZXhjbHVkZT86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIHNlcmllcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIGluZGljZXM/OiBzdHJpbmdbXSB8IHN0cmluZztcclxufVxyXG4iXX0=
@@ -38,6 +38,7 @@ export class CubeChartAnalysisWidget extends CubeAnalysisBase {
38
38
  };
39
39
  this.tooltip = {
40
40
  enable: true,
41
+ enableAnimation: false,
41
42
  shared: false,
42
43
  textStyle: {
43
44
  fontFamily: FONT_FAMILY
@@ -141,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
141
142
  }
142
143
  }]
143
144
  }], ctorParameters: function () { return [{ type: i1.WidgetRef }, { type: i2.SessionService }, { type: i3.DatasourceService }, { type: i4.CubeService }, { type: i5.CubeInfo }, { type: i0.ElementRef }, { type: i6.TranslateService }]; } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1jaGFydC53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Rhc2hib2FyZC9jdWJlL2N1YmUtY2hhcnQud2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxLQUFLLEVBQWlLLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUEwQixNQUFNLGdDQUFnQyxDQUFDO0FBQ2pmLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXhELE9BQU8sRUFBRSxpQkFBaUIsRUFBdUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBSWhELEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUMzSixrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFXbkgsMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUFvQzNELFlBQVksR0FBYyxFQUN4QixPQUF1QixFQUN2QixFQUFxQixFQUNyQixJQUFpQixFQUNqQixJQUFjLEVBQ04sV0FBdUIsRUFDdkIsVUFBNEI7UUFDcEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUY1QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQXZDN0IsU0FBSSxHQUFvQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQTRCLElBQUksUUFBUSxDQUFDO1FBQy9FLGNBQVMsR0FBb0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFpQyxJQUFJLE1BQU0sQ0FBQztRQUN2RixXQUFNLEdBQXVCO1lBQ3BDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUE7UUFDUSxpQkFBWSxHQUFjO1lBQ2pDLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsV0FBVzthQUN4QjtTQUNGLENBQUM7UUFDTyxpQkFBWSxHQUFjO1lBQ2pDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDNUMsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1NBQ0YsQ0FBQztRQUNPLFlBQU8sR0FBeUI7WUFDdkMsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsV0FBVzthQUN4QjtTQUNGLENBQUM7UUFDTyxXQUFNLEdBQXNCO1lBQ25DLE9BQU8sRUFBRSxLQUFLO1lBQ2QsU0FBUyxFQUFFO2dCQUNULFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1NBQ0YsQ0FBQztRQUNPLGNBQVMsR0FBbUIsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFTdEQsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFjO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLENBQUMsS0FBSztnQkFDVCxPQUFPO29CQUNMLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU07b0JBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUztvQkFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNiLEtBQUssRUFBRSxDQUFDO29CQUNSLGFBQWEsRUFBRSxPQUFPO29CQUN0QixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztxQkFDM0I7b0JBQ0QsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNO29CQUNwQixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2lCQUNyQixDQUFDOztnQkFDZCxPQUFPO29CQUNWLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7b0JBQzFDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTTtvQkFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLO3dCQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztpQkFDaEIsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxJQUFJLE1BQU0sQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQztnQkFDeEMsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixVQUFVLEVBQUUsYUFBYTtnQkFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixlQUFlLEVBQUUsSUFBSTtnQkFDckIsb0JBQW9CLEVBQUUsSUFBSTtnQkFDMUIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLE1BQU07Z0JBQ04sVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDdEMsY0FBYyxFQUFFO29CQUNkLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87b0JBQ2pDLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7aUJBQ047YUFDdkIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxVQUFVLENBQUMsR0FBb0I7UUFDN0IsTUFBTSxJQUFJLEdBQVksRUFBRSxFQUN0QixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQ25DLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUs7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtnQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUNELGFBQWEsQ0FBQyxDQUEwQjtRQUN0QyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBVyxFQUFFO1lBQ3BELFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHO1lBQ3JDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYztTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7b0hBdkhVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDZKQVJ4QixFQUFFOzJGQVFELHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsRUFBRTtvQkFDWix5Q0FBeUM7b0JBQ3pDLElBQUksRUFBRTt3QkFDSixNQUFNLEVBQUUsSUFBSTt3QkFDWixHQUFHLEVBQUUsS0FBSztxQkFDWDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGFydCwgQXhpc01vZGVsLCBNYXJrZXJPcHRpb25zTW9kZWwsIExlZ2VuZFNlcmllc01vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgQ2hhcnRTZXJpZXNUeXBlLCBBbmltYXRpb25Nb2RlbCwgU2VyaWVzTW9kZWwsIENoYXJ0Q29tcG9uZW50LCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncywgQXJlYVNlcmllcywgQmFyU2VyaWVzLCBCdWJibGVTZXJpZXMsIENvbHVtblNlcmllcywgRGF0ZVRpbWUsIExpbmVTZXJpZXMsIFBvbGFyU2VyaWVzLCBSYWRhclNlcmllcywgU2NhdHRlclNlcmllcywgU3BsaW5lQXJlYVNlcmllcywgU3BsaW5lU2VyaWVzLCBTdGFja2luZ0FyZWFTZXJpZXMsIFN0YWNraW5nQmFyU2VyaWVzLCBTdGFja2luZ0NvbHVtblNlcmllcywgU3RhY2tpbmdMaW5lU2VyaWVzLCBTdGVwQXJlYVNlcmllcywgU3RlcExpbmVTZXJpZXMsIElQb2ludEV2ZW50QXJncywgUG9pbnQgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBDdWJlQW5hbHlzaXNCYXNlIH0gZnJvbSAnLi9jdWJlLWFuYWx5c2lzLmJhc2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2lkZ2V0UmVmIH0gZnJvbSBcIi4uL3dpZGdldC1yZWZcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWEVTX0NPREVfRElWSURFUiwgQ3ViZVNlcnZpY2UsIFNlcmllcyB9IGZyb20gJy4uLy4uL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcbmltcG9ydCB7IEN1YmVJbmZvIH0gZnJvbSAnLi4vLi4vY3ViZS9jdWJlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcblxyXG5DaGFydC5JbmplY3QoRGF0ZVRpbWUsIEJhclNlcmllcywgQXJlYVNlcmllcywgQnViYmxlU2VyaWVzLCBDb2x1bW5TZXJpZXMsIExpbmVTZXJpZXMsIFBvbGFyU2VyaWVzLCBSYWRhclNlcmllcywgU3BsaW5lU2VyaWVzLCBTcGxpbmVBcmVhU2VyaWVzLCBTY2F0dGVyU2VyaWVzLFxyXG4gIFN0YWNraW5nTGluZVNlcmllcywgU3RhY2tpbmdBcmVhU2VyaWVzLCBTdGFja2luZ0NvbHVtblNlcmllcywgU3RhY2tpbmdCYXJTZXJpZXMsIFN0ZXBBcmVhU2VyaWVzLCBTdGVwTGluZVNlcmllcyk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLWNoYXJ0LWFuYWx5c2lzJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgLy90ZW1wbGF0ZVVybDogJy4vY3ViZS1jaGFydC53aWRnZXQuaHRtbCdcclxuICBob3N0OiB7XHJcbiAgICAnW2lkXSc6ICdpZCcsXHJcbiAgICBkaXI6ICdsdHInXHJcbiAgfVxyXG59KVxyXG4vKiogc3RhdGlzdGljcyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgQ3ViZUNoYXJ0QW5hbHlzaXNXaWRnZXQgZXh0ZW5kcyBDdWJlQW5hbHlzaXNCYXNlIHtcclxuICAvL0BWaWV3Q2hpbGQoQ2hhcnRDb21wb25lbnQpXHJcbiAgY2hhcnQ6IENoYXJ0O1xyXG4gIHJlYWRvbmx5IHR5cGU6IENoYXJ0U2VyaWVzVHlwZSA9IHRoaXMuX29wdGlvbnMuY2hhcnRUeXBlIGFzIENoYXJ0U2VyaWVzVHlwZSB8fCAnQ29sdW1uJztcclxuICByZWFkb25seSBpbmRleFR5cGU6IENoYXJ0U2VyaWVzVHlwZSA9IHRoaXMuX29wdGlvbnMuaW5kZXhDaGFydFR5cGUgYXMgQ2hhcnRTZXJpZXNUeXBlIHx8ICdMaW5lJztcclxuICByZWFkb25seSBtYXJrZXI6IE1hcmtlck9wdGlvbnNNb2RlbCA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICB3aWR0aDogMTAsXHJcbiAgICBoZWlnaHQ6IDEwXHJcbiAgfVxyXG4gIHJlYWRvbmx5IHByaW1hcnlYQXhpczogQXhpc01vZGVsID0ge1xyXG4gICAgdmFsdWVUeXBlOiAnQ2F0ZWdvcnknLFxyXG4gICAgbGFiZWxTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVlBeGlzOiBBeGlzTW9kZWwgPSB7XHJcbiAgICBsYWJlbEZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnYzAnIDogJ24wJyxcclxuICAgIGxhYmVsU3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IHRvb2x0aXA6IFRvb2x0aXBTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgc2hhcmVkOiBmYWxzZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgbGVnZW5kOiBMZWdlbmRTZXJpZXNNb2RlbCA9IHtcclxuICAgIHZpc2libGU6IGZhbHNlLFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfTtcclxuICByZWFkb25seSBhbmltYXRpb246IEFuaW1hdGlvbk1vZGVsID0geyBlbmFibGU6IHRydWUgfTtcclxuICBjb25zdHJ1Y3RvcihyZWY6IFdpZGdldFJlZixcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgY3ViZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBpbmZvOiBDdWJlSW5mbyxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHJlZiwgaW5mbywgc2Vzc2lvbiwgZHMsIGN1YmUpO1xyXG4gIH1cclxuICBvbkxvYWQoZGF0YTogU2VyaWVzW10pIHtcclxuICAgIGNvbnN0IHNlcmllcyA9IGRhdGEubWFwKHMgPT4ge1xyXG4gICAgICBpZiAocy5pbmRleClcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgeU5hbWU6ICd5JywgeE5hbWU6ICduYW1lJyxcclxuICAgICAgICAgIHR5cGU6IHRoaXMuaW5kZXhUeXBlLFxyXG4gICAgICAgICAgbmFtZTogcy50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiAyLFxyXG4gICAgICAgICAgc3RhY2tpbmdHcm91cDogJ2luZGV4JyxcclxuICAgICAgICAgIG1hcmtlcjoge1xyXG4gICAgICAgICAgICBzaGFwZTogJ0RpYW1vbmQnLCB3aWR0aDogNFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IHMucG9pbnRzLFxyXG4gICAgICAgICAgZmlsbDogdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KDQwMClcclxuICAgICAgICB9IGFzIFNlcmllc01vZGVsO1xyXG4gICAgICBlbHNlIHJldHVybiB7XHJcbiAgICAgICAgeU5hbWU6ICd5JywgeE5hbWU6ICduYW1lJywgdHlwZTogdGhpcy50eXBlLFxyXG4gICAgICAgIGRhdGFTb3VyY2U6IHMucG9pbnRzLFxyXG4gICAgICAgIG5hbWU6IHMudGl0bGUgfHxcclxuICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1VzYWdlJylcclxuICAgICAgfSBhcyBTZXJpZXNNb2RlbDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jaGFydCAmJiB0aGlzLmNoYXJ0LmRlc3Ryb3koKTtcclxuICAgIGlmIChzZXJpZXMubGVuZ3RoKSB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHtcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXHJcbiAgICAgIGVuYWJsZUFuaW1hdGlvbjogdHJ1ZSxcclxuICAgICAgdXNlR3JvdXBpbmdTZXBhcmF0b3I6IHRydWUsXHJcbiAgICAgIHByaW1hcnlYQXhpczogdGhpcy5wcmltYXJ5WEF4aXMsXHJcbiAgICAgIHByaW1hcnlZQXhpczogdGhpcy5wcmltYXJ5WUF4aXMsXHJcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgICAgcGFsZXR0ZXM6IHRoaXMucGFsZXR0ZXMsXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIHNlcmllcyxcclxuICAgICAgcG9pbnRDbGljazogdGhpcy5wb2ludENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIGxlZ2VuZFNldHRpbmdzOiB7XHJcbiAgICAgICAgaXNJbnZlcnNlZDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgIHZpc2libGU6IHNlcmllcy5sZW5ndGggPiAxXHJcbiAgICAgIH0gYXMgTGVnZW5kU2VyaWVzTW9kZWxcclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIHBvaW50Q2xpY2soZXZ0OiBJUG9pbnRFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IGF4ZXM6IEF4ZXNNYXAgPSB7fSxcclxuICAgICAgc2VyaWUgPSB0aGlzLl9kYXRhW2V2dC5zZXJpZXNJbmRleF0sXHJcbiAgICAgIHsgaW5kZXgsIG5hbWUsIHBvaW50cyB9ID0gc2VyaWU7XHJcbiAgICBpZiAodGhpcy5zZXJpZXMubGVuZ3RoICYmICFpbmRleClcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNlcmllcy5sZW5ndGg7IGkrKylcclxuICAgICAgICBheGVzW3RoaXMuc2VyaWVzW2ldXSA9IG5hbWUuc3BsaXQoQVhFU19DT0RFX0RJVklERVIpW2ldO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnhBeGlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHggPSBwb2ludHNbZXZ0LnBvaW50SW5kZXhdLng7XHJcbiAgICAgIGF4ZXNbdGhpcy54QXhpc1tpXV0gPSB4LnNwbGl0KEFYRVNfQ09ERV9ESVZJREVSKVtpXTtcclxuICAgIH1cclxuICAgIHRoaXMuZXhwbG9yZShheGVzLCB7IGluZGV4IH0pO1xyXG4gIH1cclxuICBvblRoZW1lQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5vbkJpbmQodGhpcy5fZGF0YSk7XHJcbiAgfVxyXG4gIG9uUmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMuY2hhcnQpIHtcclxuICAgICAgdGhpcy5jaGFydC5oZWlnaHQgPSB0aGlzLmhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgdG9vbHRpcFJlbmRlcihlOiBJVG9vbHRpcFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgZS50ZXh0ID0gdGhpcy5faW50bC5mb3JtYXROdW1iZXIoZS5wb2ludC55IGFzIG51bWJlciwge1xyXG4gICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIGZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbicsXHJcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0c1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5jaGFydCAmJiB0aGlzLmNoYXJ0LmRlc3Ryb3koKTtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1jaGFydC53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Rhc2hib2FyZC9jdWJlL2N1YmUtY2hhcnQud2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxLQUFLLEVBQWlLLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUEwQixNQUFNLGdDQUFnQyxDQUFDO0FBQ2pmLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXhELE9BQU8sRUFBRSxpQkFBaUIsRUFBdUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBSWhELEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUMzSixrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFXbkgsMEJBQTBCO0FBQzFCLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUFxQzNELFlBQVksR0FBYyxFQUN4QixPQUF1QixFQUN2QixFQUFxQixFQUNyQixJQUFpQixFQUNqQixJ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QUN0QyxRQUFRLEVBQUUsRUFBRTtvQkFDWix5Q0FBeUM7b0JBQ3pDLElBQUksRUFBRTt3QkFDSixNQUFNLEVBQUUsSUFBSTt3QkFDWixHQUFHLEVBQUUsS0FBSztxQkFDWDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGFydCwgQXhpc01vZGVsLCBNYXJrZXJPcHRpb25zTW9kZWwsIExlZ2VuZFNlcmllc01vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgQ2hhcnRTZXJpZXNUeXBlLCBBbmltYXRpb25Nb2RlbCwgU2VyaWVzTW9kZWwsIENoYXJ0Q29tcG9uZW50LCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncywgQXJlYVNlcmllcywgQmFyU2VyaWVzLCBCdWJibGVTZXJpZXMsIENvbHVtblNlcmllcywgRGF0ZVRpbWUsIExpbmVTZXJpZXMsIFBvbGFyU2VyaWVzLCBSYWRhclNlcmllcywgU2NhdHRlclNlcmllcywgU3BsaW5lQXJlYVNlcmllcywgU3BsaW5lU2VyaWVzLCBTdGFja2luZ0FyZWFTZXJpZXMsIFN0YWNraW5nQmFyU2VyaWVzLCBTdGFja2luZ0NvbHVtblNlcmllcywgU3RhY2tpbmdMaW5lU2VyaWVzLCBTdGVwQXJlYVNlcmllcywgU3RlcExpbmVTZXJpZXMsIElQb2ludEV2ZW50QXJncywgUG9pbnQgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBDdWJlQW5hbHlzaXNCYXNlIH0gZnJvbSAnLi9jdWJlLWFuYWx5c2lzLmJhc2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgV2lkZ2V0UmVmIH0gZnJvbSBcIi4uL3dpZGdldC1yZWZcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWEVTX0NPREVfRElWSURFUiwgQ3ViZVNlcnZpY2UsIFNlcmllcyB9IGZyb20gJy4uLy4uL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcbmltcG9ydCB7IEN1YmVJbmZvIH0gZnJvbSAnLi4vLi4vY3ViZS9jdWJlLWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcblxyXG5DaGFydC5JbmplY3QoRGF0ZVRpbWUsIEJhclNlcmllcywgQXJlYVNlcmllcywgQnViYmxlU2VyaWVzLCBDb2x1bW5TZXJpZXMsIExpbmVTZXJpZXMsIFBvbGFyU2VyaWVzLCBSYWRhclNlcmllcywgU3BsaW5lU2VyaWVzLCBTcGxpbmVBcmVhU2VyaWVzLCBTY2F0dGVyU2VyaWVzLFxyXG4gIFN0YWNraW5nTGluZVNlcmllcywgU3RhY2tpbmdBcmVhU2VyaWVzLCBTdGFja2luZ0NvbHVtblNlcmllcywgU3RhY2tpbmdCYXJTZXJpZXMsIFN0ZXBBcmVhU2VyaWVzLCBTdGVwTGluZVNlcmllcyk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLWNoYXJ0LWFuYWx5c2lzJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgLy90ZW1wbGF0ZVVybDogJy4vY3ViZS1jaGFydC53aWRnZXQuaHRtbCdcclxuICBob3N0OiB7XHJcbiAgICAnW2lkXSc6ICdpZCcsXHJcbiAgICBkaXI6ICdsdHInXHJcbiAgfVxyXG59KVxyXG4vKiogc3RhdGlzdGljcyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgQ3ViZUNoYXJ0QW5hbHlzaXNXaWRnZXQgZXh0ZW5kcyBDdWJlQW5hbHlzaXNCYXNlIHtcclxuICAvL0BWaWV3Q2hpbGQoQ2hhcnRDb21wb25lbnQpXHJcbiAgY2hhcnQ6IENoYXJ0O1xyXG4gIHJlYWRvbmx5IHR5cGU6IENoYXJ0U2VyaWVzVHlwZSA9IHRoaXMuX29wdGlvbnMuY2hhcnRUeXBlIGFzIENoYXJ0U2VyaWVzVHlwZSB8fCAnQ29sdW1uJztcclxuICByZWFkb25seSBpbmRleFR5cGU6IENoYXJ0U2VyaWVzVHlwZSA9IHRoaXMuX29wdGlvbnMuaW5kZXhDaGFydFR5cGUgYXMgQ2hhcnRTZXJpZXNUeXBlIHx8ICdMaW5lJztcclxuICByZWFkb25seSBtYXJrZXI6IE1hcmtlck9wdGlvbnNNb2RlbCA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICB3aWR0aDogMTAsXHJcbiAgICBoZWlnaHQ6IDEwXHJcbiAgfVxyXG4gIHJlYWRvbmx5IHByaW1hcnlYQXhpczogQXhpc01vZGVsID0ge1xyXG4gICAgdmFsdWVUeXBlOiAnQ2F0ZWdvcnknLFxyXG4gICAgbGFiZWxTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVlBeGlzOiBBeGlzTW9kZWwgPSB7XHJcbiAgICBsYWJlbEZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnYzAnIDogJ24wJyxcclxuICAgIGxhYmVsU3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IHRvb2x0aXA6IFRvb2x0aXBTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgZW5hYmxlQW5pbWF0aW9uOiBmYWxzZSxcclxuICAgIHNoYXJlZDogZmFsc2UsXHJcbiAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IGxlZ2VuZDogTGVnZW5kU2VyaWVzTW9kZWwgPSB7XHJcbiAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgYW5pbWF0aW9uOiBBbmltYXRpb25Nb2RlbCA9IHsgZW5hYmxlOiB0cnVlIH07XHJcbiAgY29uc3RydWN0b3IocmVmOiBXaWRnZXRSZWYsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIGRzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIGN1YmU6IEN1YmVTZXJ2aWNlLFxyXG4gICAgaW5mbzogQ3ViZUluZm8sXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihyZWYsIGluZm8sIHNlc3Npb24sIGRzLCBjdWJlKTtcclxuICB9XHJcbiAgb25Mb2FkKGRhdGE6IFNlcmllc1tdKSB7XHJcbiAgICBjb25zdCBzZXJpZXMgPSBkYXRhLm1hcChzID0+IHtcclxuICAgICAgaWYgKHMuaW5kZXgpXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHlOYW1lOiAneScsIHhOYW1lOiAnbmFtZScsXHJcbiAgICAgICAgICB0eXBlOiB0aGlzLmluZGV4VHlwZSxcclxuICAgICAgICAgIG5hbWU6IHMudGl0bGUsXHJcbiAgICAgICAgICB3aWR0aDogMixcclxuICAgICAgICAgIHN0YWNraW5nR3JvdXA6ICdpbmRleCcsXHJcbiAgICAgICAgICBtYXJrZXI6IHtcclxuICAgICAgICAgICAgc2hhcGU6ICdEaWFtb25kJywgd2lkdGg6IDRcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhU291cmNlOiBzLnBvaW50cyxcclxuICAgICAgICAgIGZpbGw6IHRoaXMuX3Nlc3Npb24uZ2V0UHJpbWVyeSg0MDApXHJcbiAgICAgICAgfSBhcyBTZXJpZXNNb2RlbDtcclxuICAgICAgZWxzZSByZXR1cm4ge1xyXG4gICAgICAgIHlOYW1lOiAneScsIHhOYW1lOiAnbmFtZScsIHR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgICBkYXRhU291cmNlOiBzLnBvaW50cyxcclxuICAgICAgICBuYW1lOiBzLnRpdGxlIHx8XHJcbiAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuZ2V0KCdVc2FnZScpXHJcbiAgICAgIH0gYXMgU2VyaWVzTW9kZWw7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2hhcnQgJiYgdGhpcy5jaGFydC5kZXN0cm95KCk7XHJcbiAgICBpZiAoc2VyaWVzLmxlbmd0aCkgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh7XHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxyXG4gICAgICBlbmFibGVBbmltYXRpb246IHRydWUsXHJcbiAgICAgIHVzZUdyb3VwaW5nU2VwYXJhdG9yOiB0cnVlLFxyXG4gICAgICBwcmltYXJ5WEF4aXM6IHRoaXMucHJpbWFyeVhBeGlzLFxyXG4gICAgICBwcmltYXJ5WUF4aXM6IHRoaXMucHJpbWFyeVlBeGlzLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICAgIHBhbGV0dGVzOiB0aGlzLnBhbGV0dGVzLFxyXG4gICAgICBjdXJyZW5jeUNvZGU6IHRoaXMuY3VycmVuY3lDb2RlLFxyXG4gICAgICBzZXJpZXMsXHJcbiAgICAgIHBvaW50Q2xpY2s6IHRoaXMucG9pbnRDbGljay5iaW5kKHRoaXMpLFxyXG4gICAgICBsZWdlbmRTZXR0aW5nczoge1xyXG4gICAgICAgIGlzSW52ZXJzZWQ6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICB2aXNpYmxlOiBzZXJpZXMubGVuZ3RoID4gMVxyXG4gICAgICB9IGFzIExlZ2VuZFNlcmllc01vZGVsXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBwb2ludENsaWNrKGV2dDogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCBheGVzOiBBeGVzTWFwID0ge30sXHJcbiAgICAgIHNlcmllID0gdGhpcy5fZGF0YVtldnQuc2VyaWVzSW5kZXhdLFxyXG4gICAgICB7IGluZGV4LCBuYW1lLCBwb2ludHMgfSA9IHNlcmllO1xyXG4gICAgaWYgKHRoaXMuc2VyaWVzLmxlbmd0aCAmJiAhaW5kZXgpXHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zZXJpZXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXhlc1t0aGlzLnNlcmllc1tpXV0gPSBuYW1lLnNwbGl0KEFYRVNfQ09ERV9ESVZJREVSKVtpXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy54QXhpcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCB4ID0gcG9pbnRzW2V2dC5wb2ludEluZGV4XS54O1xyXG4gICAgICBheGVzW3RoaXMueEF4aXNbaV1dID0geC5zcGxpdChBWEVTX0NPREVfRElWSURFUilbaV07XHJcbiAgICB9XHJcbiAgICB0aGlzLmV4cGxvcmUoYXhlcywgeyBpbmRleCB9KTtcclxuICB9XHJcbiAgb25UaGVtZUNoYW5nZSgpIHtcclxuICAgIHRoaXMub25CaW5kKHRoaXMuX2RhdGEpO1xyXG4gIH1cclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLmNoYXJ0KSB7XHJcbiAgICAgIHRoaXMuY2hhcnQuaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRvb2x0aXBSZW5kZXIoZTogSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIGUudGV4dCA9IHRoaXMuX2ludGwuZm9ybWF0TnVtYmVyKGUucG9pbnQueSBhcyBudW1iZXIsIHtcclxuICAgICAgY3VycmVuY3k6IHRoaXMuY3VycmVuY3lDb2RlLFxyXG4gICAgICBmb3JtYXQ6IHRoaXMuY3VycmVuY3lDb2RlID8gJ2MnIDogJ24nLFxyXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHNcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuY2hhcnQgJiYgdGhpcy5jaGFydC5kZXN0cm95KCk7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG4iXX0=