@grafana/scenes 6.8.0 → 6.9.0--canary.1093.14409340532.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 (321) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/components/VizPanel/VizPanelRenderer.js +4 -3
  3. package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
  4. package/dist/esm/index.js +1 -1
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +5 -4
  8. package/dist/index.js.map +1 -1
  9. package/package.json +2 -2
  10. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
  11. package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
  12. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
  13. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
  14. package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
  15. package/dist/esm/dist/esm/components/NestedScene.js +0 -95
  16. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
  17. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
  18. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
  19. package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
  20. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
  21. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
  22. package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
  23. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
  24. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
  25. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
  26. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
  27. package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
  28. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
  29. package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
  30. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
  31. package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
  32. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
  33. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
  34. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
  35. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
  36. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  37. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  38. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
  39. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  40. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  41. package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
  42. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
  43. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
  44. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
  45. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  46. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
  47. package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
  48. package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
  49. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
  50. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
  51. package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
  52. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
  53. package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
  54. package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
  55. package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
  56. package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
  57. package/dist/esm/dist/esm/core/events.js +0 -11
  58. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
  59. package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
  60. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
  61. package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
  62. package/dist/esm/dist/esm/core/types.js +0 -15
  63. package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
  64. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
  65. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
  66. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
  67. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
  68. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
  69. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
  70. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
  71. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
  72. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  73. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
  74. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  75. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  76. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
  77. package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
  78. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
  79. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
  80. package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
  81. package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
  82. package/dist/esm/dist/esm/services/utils.js +0 -71
  83. package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
  84. package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
  85. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
  86. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  87. package/dist/esm/dist/esm/utils/date.js +0 -15
  88. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
  89. package/dist/esm/dist/esm/utils/explore.js +0 -47
  90. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
  91. package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
  92. package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
  93. package/dist/esm/dist/esm/utils/metricTree.js +0 -53
  94. package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
  95. package/dist/esm/dist/esm/utils/utils.js +0 -11
  96. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
  97. package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
  98. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
  99. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  104. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  105. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  106. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  107. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  108. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  109. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  110. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
  111. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  112. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  113. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
  114. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
  115. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
  116. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
  117. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
  118. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
  119. package/dist/esm/dist/esm/variables/constants.js +0 -9
  120. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
  121. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
  122. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  123. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  124. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
  125. package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
  126. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
  127. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
  128. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
  129. package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
  130. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
  131. package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
  132. package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
  133. package/dist/esm/dist/esm/variables/macros/index.js +0 -26
  134. package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
  135. package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
  136. package/dist/esm/dist/esm/variables/macros/types.js +0 -11
  137. package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
  138. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
  139. package/dist/esm/dist/esm/variables/types.js +0 -11
  140. package/dist/esm/dist/esm/variables/utils.js +0 -172
  141. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
  142. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
  143. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
  144. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
  145. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
  146. package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
  147. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
  148. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
  149. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
  150. package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
  151. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
  152. package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
  153. package/dist/esm/querying/DataProviderSharer.js +0 -39
  154. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
  155. package/dist/esm/src/behaviors/CursorSync.js +0 -76
  156. package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
  157. package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
  158. package/dist/esm/src/behaviors/index.js +0 -5
  159. package/dist/esm/src/components/EmbeddedScene.js +0 -59
  160. package/dist/esm/src/components/NestedScene.js +0 -95
  161. package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
  162. package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
  163. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
  164. package/dist/esm/src/components/SceneApp/utils.js +0 -42
  165. package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
  166. package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
  167. package/dist/esm/src/components/SceneCanvasText.js +0 -32
  168. package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
  169. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
  170. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
  171. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
  172. package/dist/esm/src/components/SceneReactObject.js +0 -34
  173. package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
  174. package/dist/esm/src/components/SceneTimePicker.js +0 -139
  175. package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
  176. package/dist/esm/src/components/SceneToolbarButton.js +0 -33
  177. package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
  178. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
  179. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
  180. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
  181. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  182. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  183. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
  184. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  185. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  186. package/dist/esm/src/components/layout/LazyLoader.js +0 -103
  187. package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
  188. package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
  189. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
  190. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  191. package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
  192. package/dist/esm/src/components/layout/grid/constants.js +0 -7
  193. package/dist/esm/src/components/layout/grid/utils.js +0 -36
  194. package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
  195. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
  196. package/dist/esm/src/components/layout/split/Splitter.js +0 -386
  197. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
  198. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
  199. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
  200. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
  201. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
  202. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
  203. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
  204. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
  205. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
  206. package/dist/esm/src/core/PanelBuilders/index.js +0 -116
  207. package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
  208. package/dist/esm/src/core/SceneDataNode.js +0 -43
  209. package/dist/esm/src/core/SceneObjectBase.js +0 -286
  210. package/dist/esm/src/core/SceneObjectRef.js +0 -32
  211. package/dist/esm/src/core/SceneTimeRange.js +0 -231
  212. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
  213. package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
  214. package/dist/esm/src/core/events.js +0 -11
  215. package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
  216. package/dist/esm/src/core/sceneGraph/index.js +0 -25
  217. package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
  218. package/dist/esm/src/core/sceneGraph/utils.js +0 -64
  219. package/dist/esm/src/core/types.js +0 -15
  220. package/dist/esm/src/index.js +0 -108
  221. package/dist/esm/src/querying/DataLayersMerger.js +0 -46
  222. package/dist/esm/src/querying/DataProviderProxy.js +0 -37
  223. package/dist/esm/src/querying/DataProviderSharer.js +0 -108
  224. package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
  225. package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
  226. package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
  227. package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
  228. package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
  229. package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
  230. package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
  231. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
  232. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
  233. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  234. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
  235. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  236. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  237. package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
  238. package/dist/esm/src/querying/layers/index.js +0 -2
  239. package/dist/esm/src/querying/registerQueryWithController.js +0 -41
  240. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
  241. package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
  242. package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
  243. package/dist/esm/src/services/UrlSyncManager.js +0 -167
  244. package/dist/esm/src/services/useUrlSync.js +0 -29
  245. package/dist/esm/src/services/utils.js +0 -75
  246. package/dist/esm/src/utils/ControlsLabel.js +0 -107
  247. package/dist/esm/src/utils/LoadingIndicator.js +0 -19
  248. package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
  249. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  250. package/dist/esm/src/utils/date.js +0 -15
  251. package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
  252. package/dist/esm/src/utils/explore.js +0 -47
  253. package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
  254. package/dist/esm/src/utils/getDataSource.js +0 -18
  255. package/dist/esm/src/utils/getMessageFromError.js +0 -24
  256. package/dist/esm/src/utils/metricTree.js +0 -53
  257. package/dist/esm/src/utils/parseUrlParam.js +0 -41
  258. package/dist/esm/src/utils/utils.js +0 -11
  259. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
  260. package/dist/esm/src/utils/writeSceneLog.js +0 -12
  261. package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
  262. package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
  263. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
  264. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  269. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  270. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  271. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  272. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  273. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
  274. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  275. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  276. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
  277. package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
  278. package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
  279. package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
  280. package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
  281. package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
  282. package/dist/esm/src/variables/constants.js +0 -9
  283. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
  284. package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
  285. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  286. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  287. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
  288. package/dist/esm/src/variables/interpolation/defaults.js +0 -21
  289. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
  290. package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
  291. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
  292. package/dist/esm/src/variables/lookupVariable.js +0 -20
  293. package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
  294. package/dist/esm/src/variables/macros/contextMacros.js +0 -43
  295. package/dist/esm/src/variables/macros/dataMacros.js +0 -134
  296. package/dist/esm/src/variables/macros/index.js +0 -35
  297. package/dist/esm/src/variables/macros/templateProxies.js +0 -51
  298. package/dist/esm/src/variables/macros/timeMacros.js +0 -86
  299. package/dist/esm/src/variables/macros/types.js +0 -11
  300. package/dist/esm/src/variables/macros/urlMacros.js +0 -56
  301. package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
  302. package/dist/esm/src/variables/types.js +0 -11
  303. package/dist/esm/src/variables/utils.js +0 -172
  304. package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
  305. package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
  306. package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
  307. package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
  308. package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
  309. package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
  310. package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
  311. package/dist/esm/src/variables/variants/TestVariable.js +0 -117
  312. package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
  313. package/dist/esm/src/variables/variants/guards.js +0 -27
  314. package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
  315. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
  316. package/dist/esm/src/variables/variants/query/guards.js +0 -28
  317. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
  318. package/dist/esm/src/variables/variants/query/utils.js +0 -124
  319. package/dist/esm/variables/variants/JsonVariable.js +0 -96
  320. package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
  321. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
@@ -1,121 +0,0 @@
1
- import { from, of } from 'rxjs';
2
- import { map, mergeMap } from 'rxjs/operators';
3
- import { rangeUtil, CoreApp, DataTopic } from '@grafana/data';
4
- import { getTemplateSrv, getRunRequest } from '@grafana/runtime';
5
- import { shouldUseLegacyRunner, standardAnnotationSupport } from './standardAnnotationsSupport.js';
6
- import { LoadingState } from '@grafana/schema';
7
- import { getEnrichedDataRequest } from '../../getEnrichedDataRequest.js';
8
- import { wrapInSafeSerializableSceneObject } from '../../../utils/wrapInSafeSerializableSceneObject.js';
9
-
10
- var __defProp = Object.defineProperty;
11
- var __defProps = Object.defineProperties;
12
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
13
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
14
- var __hasOwnProp = Object.prototype.hasOwnProperty;
15
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
16
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17
- var __spreadValues = (a, b) => {
18
- for (var prop in b || (b = {}))
19
- if (__hasOwnProp.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- if (__getOwnPropSymbols)
22
- for (var prop of __getOwnPropSymbols(b)) {
23
- if (__propIsEnum.call(b, prop))
24
- __defNormalProp(a, prop, b[prop]);
25
- }
26
- return a;
27
- };
28
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
29
- let counter = 100;
30
- function getNextRequestId() {
31
- return "AQ" + counter++;
32
- }
33
- function executeAnnotationQuery(datasource, timeRange, query, layer) {
34
- var _a;
35
- if (datasource.annotationQuery && shouldUseLegacyRunner(datasource)) {
36
- console.warn("Using deprecated annotationQuery method, please upgrade your datasource");
37
- return from(
38
- datasource.annotationQuery({
39
- range: timeRange.state.value,
40
- rangeRaw: timeRange.state.value.raw,
41
- annotation: query,
42
- dashboard: {
43
- getVariables: getTemplateSrv().getVariables
44
- }
45
- })
46
- ).pipe(
47
- map((events) => ({
48
- state: LoadingState.Done,
49
- events
50
- }))
51
- );
52
- }
53
- const processor = __spreadValues(__spreadValues({}, standardAnnotationSupport), datasource.annotations);
54
- const annotationWithDefaults = __spreadValues(__spreadValues({}, (_a = processor.getDefaultQuery) == null ? void 0 : _a.call(processor)), query);
55
- const annotation = processor.prepareAnnotation(annotationWithDefaults);
56
- if (!annotation) {
57
- return of({
58
- state: LoadingState.Done,
59
- events: []
60
- });
61
- }
62
- const processedQuery = processor.prepareQuery(annotation);
63
- if (!processedQuery) {
64
- return of({
65
- state: LoadingState.Done,
66
- events: []
67
- });
68
- }
69
- const maxDataPoints = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
70
- const interval = rangeUtil.calculateInterval(timeRange.state.value, maxDataPoints, datasource.interval);
71
- const scopedVars = {
72
- __interval: { text: interval.interval, value: interval.interval },
73
- __interval_ms: { text: interval.intervalMs.toString(), value: interval.intervalMs },
74
- __annotation: { text: annotation.name, value: annotation },
75
- __sceneObject: wrapInSafeSerializableSceneObject(layer)
76
- };
77
- const queryRequest = __spreadValues(__spreadProps(__spreadValues({
78
- startTime: Date.now(),
79
- requestId: getNextRequestId(),
80
- range: timeRange.state.value,
81
- maxDataPoints,
82
- scopedVars
83
- }, interval), {
84
- app: CoreApp.Dashboard,
85
- timezone: timeRange.getTimeZone(),
86
- targets: [
87
- __spreadProps(__spreadValues({}, processedQuery), {
88
- refId: "Anno"
89
- })
90
- ]
91
- }), getEnrichedDataRequest(layer));
92
- const runRequest = getRunRequest();
93
- return runRequest(datasource, queryRequest).pipe(
94
- mergeMap((panelData) => {
95
- const data = (panelData == null ? void 0 : panelData.series.length) ? panelData.series : panelData.annotations;
96
- if (!(data == null ? void 0 : data.length)) {
97
- return of({
98
- state: panelData.state,
99
- events: []
100
- });
101
- }
102
- data.forEach((frame) => {
103
- var _a2;
104
- if (!((_a2 = frame.meta) == null ? void 0 : _a2.dataTopic)) {
105
- frame.meta = __spreadProps(__spreadValues({}, frame.meta || {}), { dataTopic: DataTopic.Annotations });
106
- }
107
- });
108
- return processor.processEvents(annotation, data).pipe(
109
- map((events) => {
110
- return {
111
- state: panelData.state,
112
- events: events || []
113
- };
114
- })
115
- );
116
- })
117
- );
118
- }
119
-
120
- export { executeAnnotationQuery };
121
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRBbm5vdGF0aW9uUXVlcnkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3F1ZXJ5aW5nL2xheWVycy9hbm5vdGF0aW9ucy9zdGFuZGFyZEFubm90YXRpb25RdWVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJhbmdlVXRpbCwgQ29yZUFwcCwgRGF0YVRvcGljIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBnZXRUZW1wbGF0ZVNydiwgZ2V0UnVuUmVxdWVzdCB9IGZyb20gJ0BncmFmYW5hL3J1bnRpbWUnO1xuaW1wb3J0IHsgc2hvdWxkVXNlTGVnYWN5UnVubmVyLCBzdGFuZGFyZEFubm90YXRpb25TdXBwb3J0IH0gZnJvbSAnLi9zdGFuZGFyZEFubm90YXRpb25zU3VwcG9ydC5qcyc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUgfSBmcm9tICdAZ3JhZmFuYS9zY2hlbWEnO1xuaW1wb3J0IHsgZ2V0RW5yaWNoZWREYXRhUmVxdWVzdCB9IGZyb20gJy4uLy4uL2dldEVucmljaGVkRGF0YVJlcXVlc3QuanMnO1xuaW1wb3J0IHsgd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0LmpzJztcblxudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2RlZlByb3BzID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXM7XG52YXIgX19nZXRPd25Qcm9wRGVzY3MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycztcbnZhciBfX2dldE93blByb3BTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBfX2hhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIF9fcHJvcElzRW51bSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG52YXIgX19kZWZOb3JtYWxQcm9wID0gKG9iaiwga2V5LCB2YWx1ZSkgPT4ga2V5IGluIG9iaiA/IF9fZGVmUHJvcChvYmosIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZSB9KSA6IG9ialtrZXldID0gdmFsdWU7XG52YXIgX19zcHJlYWRWYWx1ZXMgPSAoYSwgYikgPT4ge1xuICBmb3IgKHZhciBwcm9wIGluIGIgfHwgKGIgPSB7fSkpXG4gICAgaWYgKF9faGFzT3duUHJvcC5jYWxsKGIsIHByb3ApKVxuICAgICAgX19kZWZOb3JtYWxQcm9wKGEsIHByb3AsIGJbcHJvcF0pO1xuICBpZiAoX19nZXRPd25Qcm9wU3ltYm9scylcbiAgICBmb3IgKHZhciBwcm9wIG9mIF9fZ2V0T3duUHJvcFN5bWJvbHMoYikpIHtcbiAgICAgIGlmIChfX3Byb3BJc0VudW0uY2FsbChiLCBwcm9wKSlcbiAgICAgICAgX19kZWZOb3JtYWxQcm9wKGEsIHByb3AsIGJbcHJvcF0pO1xuICAgIH1cbiAgcmV0dXJuIGE7XG59O1xudmFyIF9fc3ByZWFkUHJvcHMgPSAoYSwgYikgPT4gX19kZWZQcm9wcyhhLCBfX2dldE93blByb3BEZXNjcyhiKSk7XG5sZXQgY291bnRlciA9IDEwMDtcbmZ1bmN0aW9uIGdldE5leHRSZXF1ZXN0SWQoKSB7XG4gIHJldHVybiBcIkFRXCIgKyBjb3VudGVyKys7XG59XG5mdW5jdGlvbiBleGVjdXRlQW5ub3RhdGlvblF1ZXJ5KGRhdGFzb3VyY2UsIHRpbWVSYW5nZSwgcXVlcnksIGxheWVyKSB7XG4gIHZhciBfYTtcbiAgaWYgKGRhdGFzb3VyY2UuYW5ub3RhdGlvblF1ZXJ5ICYmIHNob3VsZFVzZUxlZ2FjeVJ1bm5lcihkYXRhc291cmNlKSkge1xuICAgIGNvbnNvbGUud2FybihcIlVzaW5nIGRlcHJlY2F0ZWQgYW5ub3RhdGlvblF1ZXJ5IG1ldGhvZCwgcGxlYXNlIHVwZ3JhZGUgeW91ciBkYXRhc291cmNlXCIpO1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgZGF0YXNvdXJjZS5hbm5vdGF0aW9uUXVlcnkoe1xuICAgICAgICByYW5nZTogdGltZVJhbmdlLnN0YXRlLnZhbHVlLFxuICAgICAgICByYW5nZVJhdzogdGltZVJhbmdlLnN0YXRlLnZhbHVlLnJhdyxcbiAgICAgICAgYW5ub3RhdGlvbjogcXVlcnksXG4gICAgICAgIGRhc2hib2FyZDoge1xuICAgICAgICAgIGdldFZhcmlhYmxlczogZ2V0VGVtcGxhdGVTcnYoKS5nZXRWYXJpYWJsZXNcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApLnBpcGUoXG4gICAgICBtYXAoKGV2ZW50cykgPT4gKHtcbiAgICAgICAgc3RhdGU6IExvYWRpbmdTdGF0ZS5Eb25lLFxuICAgICAgICBldmVudHNcbiAgICAgIH0pKVxuICAgICk7XG4gIH1cbiAgY29uc3QgcHJvY2Vzc29yID0gX19zcHJlYWRWYWx1ZXMoX19zcHJlYWRWYWx1ZXMoe30sIHN0YW5kYXJkQW5ub3RhdGlvblN1cHBvcnQpLCBkYXRhc291cmNlLmFubm90YXRpb25zKTtcbiAgY29uc3QgYW5ub3RhdGlvbldpdGhEZWZhdWx0cyA9IF9fc3ByZWFkVmFsdWVzKF9fc3ByZWFkVmFsdWVzKHt9LCAoX2EgPSBwcm9jZXNzb3IuZ2V0RGVmYXVsdFF1ZXJ5KSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2FsbChwcm9jZXNzb3IpKSwgcXVlcnkpO1xuICBjb25zdCBhbm5vdGF0aW9uID0gcHJvY2Vzc29yLnByZXBhcmVBbm5vdGF0aW9uKGFubm90YXRpb25XaXRoRGVmYXVsdHMpO1xuICBpZiAoIWFubm90YXRpb24pIHtcbiAgICByZXR1cm4gb2Yoe1xuICAgICAgc3RhdGU6IExvYWRpbmdTdGF0ZS5Eb25lLFxuICAgICAgZXZlbnRzOiBbXVxuICAgIH0pO1xuICB9XG4gIGNvbnN0IHByb2Nlc3NlZFF1ZXJ5ID0gcHJvY2Vzc29yLnByZXBhcmVRdWVyeShhbm5vdGF0aW9uKTtcbiAgaWYgKCFwcm9jZXNzZWRRdWVyeSkge1xuICAgIHJldHVybiBvZih7XG4gICAgICBzdGF0ZTogTG9hZGluZ1N0YXRlLkRvbmUsXG4gICAgICBldmVudHM6IFtdXG4gICAgfSk7XG4gIH1cbiAgY29uc3QgbWF4RGF0YVBvaW50cyA9IHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoO1xuICBjb25zdCBpbnRlcnZhbCA9IHJhbmdlVXRpbC5jYWxjdWxhdGVJbnRlcnZhbCh0aW1lUmFuZ2Uuc3RhdGUudmFsdWUsIG1heERhdGFQb2ludHMsIGRhdGFzb3VyY2UuaW50ZXJ2YWwpO1xuICBjb25zdCBzY29wZWRWYXJzID0ge1xuICAgIF9faW50ZXJ2YWw6IHsgdGV4dDogaW50ZXJ2YWwuaW50ZXJ2YWwsIHZhbHVlOiBpbnRlcnZhbC5pbnRlcnZhbCB9LFxuICAgIF9faW50ZXJ2YWxfbXM6IHsgdGV4dDogaW50ZXJ2YWwuaW50ZXJ2YWxNcy50b1N0cmluZygpLCB2YWx1ZTogaW50ZXJ2YWwuaW50ZXJ2YWxNcyB9LFxuICAgIF9fYW5ub3RhdGlvbjogeyB0ZXh0OiBhbm5vdGF0aW9uLm5hbWUsIHZhbHVlOiBhbm5vdGF0aW9uIH0sXG4gICAgX19zY2VuZU9iamVjdDogd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0KGxheWVyKVxuICB9O1xuICBjb25zdCBxdWVyeVJlcXVlc3QgPSBfX3NwcmVhZFZhbHVlcyhfX3NwcmVhZFByb3BzKF9fc3ByZWFkVmFsdWVzKHtcbiAgICBzdGFydFRpbWU6IERhdGUubm93KCksXG4gICAgcmVxdWVzdElkOiBnZXROZXh0UmVxdWVzdElkKCksXG4gICAgcmFuZ2U6IHRpbWVSYW5nZS5zdGF0ZS52YWx1ZSxcbiAgICBtYXhEYXRhUG9pbnRzLFxuICAgIHNjb3BlZFZhcnNcbiAgfSwgaW50ZXJ2YWwpLCB7XG4gICAgYXBwOiBDb3JlQXBwLkRhc2hib2FyZCxcbiAgICB0aW1lem9uZTogdGltZVJhbmdlLmdldFRpbWVab25lKCksXG4gICAgdGFyZ2V0czogW1xuICAgICAgX19zcHJlYWRQcm9wcyhfX3NwcmVhZFZhbHVlcyh7fSwgcHJvY2Vzc2VkUXVlcnkpLCB7XG4gICAgICAgIHJlZklkOiBcIkFubm9cIlxuICAgICAgfSlcbiAgICBdXG4gIH0pLCBnZXRFbnJpY2hlZERhdGFSZXF1ZXN0KGxheWVyKSk7XG4gIGNvbnN0IHJ1blJlcXVlc3QgPSBnZXRSdW5SZXF1ZXN0KCk7XG4gIHJldHVybiBydW5SZXF1ZXN0KGRhdGFzb3VyY2UsIHF1ZXJ5UmVxdWVzdCkucGlwZShcbiAgICBtZXJnZU1hcCgocGFuZWxEYXRhKSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gKHBhbmVsRGF0YSA9PSBudWxsID8gdm9pZCAwIDogcGFuZWxEYXRhLnNlcmllcy5sZW5ndGgpID8gcGFuZWxEYXRhLnNlcmllcyA6IHBhbmVsRGF0YS5hbm5vdGF0aW9ucztcbiAgICAgIGlmICghKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gb2Yoe1xuICAgICAgICAgIHN0YXRlOiBwYW5lbERhdGEuc3RhdGUsXG4gICAgICAgICAgZXZlbnRzOiBbXVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGRhdGEuZm9yRWFjaCgoZnJhbWUpID0+IHtcbiAgICAgICAgdmFyIF9hMjtcbiAgICAgICAgaWYgKCEoKF9hMiA9IGZyYW1lLm1ldGEpID09IG51bGwgPyB2b2lkIDAgOiBfYTIuZGF0YVRvcGljKSkge1xuICAgICAgICAgIGZyYW1lLm1ldGEgPSBfX3NwcmVhZFByb3BzKF9fc3ByZWFkVmFsdWVzKHt9LCBmcmFtZS5tZXRhIHx8IHt9KSwgeyBkYXRhVG9waWM6IERhdGFUb3BpYy5Bbm5vdGF0aW9ucyB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcHJvY2Vzc29yLnByb2Nlc3NFdmVudHMoYW5ub3RhdGlvbiwgZGF0YSkucGlwZShcbiAgICAgICAgbWFwKChldmVudHMpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3RhdGU6IHBhbmVsRGF0YS5zdGF0ZSxcbiAgICAgICAgICAgIGV2ZW50czogZXZlbnRzIHx8IFtdXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSlcbiAgKTtcbn1cblxuZXhwb3J0IHsgZXhlY3V0ZUFubm90YXRpb25RdWVyeSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljM1JoYm1SaGNtUkJibTV2ZEdGMGFXOXVVWFZsY25rdWFuTWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5eGRXVnllV2x1Wnk5c1lYbGxjbk12WVc1dWIzUmhkR2x2Ym5NdmMzUmhibVJoY21SQmJtNXZkR0YwYVc5dVVYVmxjbmt1ZEhNaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dabkp2YlN3Z1QySnpaWEoyWVdKc1pTd2diMllnZlNCbWNtOXRJQ2R5ZUdwekp6dGNibWx0Y0c5eWRDQjdJRzFoY0N3Z2JXVnlaMlZOWVhBZ2ZTQm1jbTl0SUNkeWVHcHpMMjl3WlhKaGRHOXljeWM3WEc1Y2JtbHRjRzl5ZENCN1hHNGdJRUZ1Ym05MFlYUnBiMjVGZG1WdWRDeGNiaUFnUVc1dWIzUmhkR2x2YmxGMVpYSjVMRnh1SUNCRGIzSmxRWEJ3TEZ4dUlDQkVZWFJoVVhWbGNubFNaWEYxWlhOMExGeHVJQ0JFWVhSaFUyOTFjbU5sUVhCcExGeHVJQ0JFWVhSaFZHOXdhV01zWEc0Z0lGQmhibVZzVFc5a1pXd3NYRzRnSUhKaGJtZGxWWFJwYkN4Y2JpQWdVMk52Y0dWa1ZtRnljeXhjYm4wZ1puSnZiU0FuUUdkeVlXWmhibUV2WkdGMFlTYzdYRzVjYm1sdGNHOXlkQ0I3SUdkbGRGSjFibEpsY1hWbGMzUXNJR2RsZEZSbGJYQnNZWFJsVTNKMklIMGdabkp2YlNBblFHZHlZV1poYm1FdmNuVnVkR2x0WlNjN1hHNXBiWEJ2Y25RZ2V5QnphRzkxYkdSVmMyVk1aV2RoWTNsU2RXNXVaWElzSUhOMFlXNWtZWEprUVc1dWIzUmhkR2x2YmxOMWNIQnZjblFnZlNCbWNtOXRJQ2N1TDNOMFlXNWtZWEprUVc1dWIzUmhkR2x2Ym5OVGRYQndiM0owSnp0Y2JtbHRjRzl5ZENCN0lFUmhjMmhpYjJGeVpDd2dURzloWkdsdVoxTjBZWFJsSUgwZ1puSnZiU0FuUUdkeVlXWmhibUV2YzJOb1pXMWhKenRjYm1sdGNHOXlkQ0I3SUZOalpXNWxUMkpxWldOMExDQlRZMlZ1WlZScGJXVlNZVzVuWlV4cGEyVWdmU0JtY205dElDY3VMaTh1TGk4dUxpOWpiM0psTDNSNWNHVnpKenRjYm1sdGNHOXlkQ0I3SUdkbGRFVnVjbWxqYUdWa1JHRjBZVkpsY1hWbGMzUWdmU0JtY205dElDY3VMaTh1TGk5blpYUkZibkpwWTJobFpFUmhkR0ZTWlhGMVpYTjBKenRjYm1sdGNHOXlkQ0I3SUhkeVlYQkpibE5oWm1WVFpYSnBZV3hwZW1GaWJHVlRZMlZ1WlU5aWFtVmpkQ0I5SUdaeWIyMGdKeTR1THk0dUx5NHVMM1YwYVd4ekwzZHlZWEJKYmxOaFptVlRaWEpwWVd4cGVtRmliR1ZUWTJWdVpVOWlhbVZqZENjN1hHNWNibXhsZENCamIzVnVkR1Z5SUQwZ01UQXdPMXh1Wm5WdVkzUnBiMjRnWjJWMFRtVjRkRkpsY1hWbGMzUkpaQ2dwSUh0Y2JpQWdjbVYwZFhKdUlDZEJVU2NnS3lCamIzVnVkR1Z5S3lzN1hHNTlYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVc1dWIzUmhkR2x2YmxGMVpYSjVUM0IwYVc5dWN5QjdYRzRnSUdSaGMyaGliMkZ5WkRvZ1JHRnphR0p2WVhKa08xeHVJQ0J3WVc1bGJEb2dVR0Z1Wld4TmIyUmxiRHRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJibTV2ZEdGMGFXOXVVWFZsY25sU1pYTjFiSFJ6SUh0Y2JpQWdjM1JoZEdVNklFeHZZV1JwYm1kVGRHRjBaVHRjYmlBZ1pYWmxiblJ6T2lCQmJtNXZkR0YwYVc5dVJYWmxiblJiWFR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1Y0WldOMWRHVkJibTV2ZEdGMGFXOXVVWFZsY25rb1hHNGdJR1JoZEdGemIzVnlZMlU2SUVSaGRHRlRiM1Z5WTJWQmNHa3NYRzRnSUhScGJXVlNZVzVuWlRvZ1UyTmxibVZVYVcxbFVtRnVaMlZNYVd0bExGeHVJQ0J4ZFdWeWVUb2dRVzV1YjNSaGRHbHZibEYxWlhKNUxGeHVJQ0JzWVhsbGNqb2dVMk5sYm1WUFltcGxZM1JjYmlrNklFOWljMlZ5ZG1GaWJHVThRVzV1YjNSaGRHbHZibEYxWlhKNVVtVnpkV3gwY3o0Z2UxeHVJQ0F2THlCRGFHVmpheUJwWmlCM1pTQnphRzkxYkdRZ2RYTmxJSFJvWlNCdmJHUWdZVzV1YjNSaGRHbHZibEYxWlhKNUlHMWxkR2h2WkZ4dUlDQnBaaUFvWkdGMFlYTnZkWEpqWlM1aGJtNXZkR0YwYVc5dVVYVmxjbmtnSmlZZ2MyaHZkV3hrVlhObFRHVm5ZV041VW5WdWJtVnlLR1JoZEdGemIzVnlZMlVwS1NCN1hHNGdJQ0FnWTI5dWMyOXNaUzUzWVhKdUtDZFZjMmx1WnlCa1pYQnlaV05oZEdWa0lHRnVibTkwWVhScGIyNVJkV1Z5ZVNCdFpYUm9iMlFzSUhCc1pXRnpaU0IxY0dkeVlXUmxJSGx2ZFhJZ1pHRjBZWE52ZFhKalpTY3BPMXh1SUNBZ0lISmxkSFZ5YmlCbWNtOXRLRnh1SUNBZ0lDQWdaR0YwWVhOdmRYSmpaUzVoYm01dmRHRjBhVzl1VVhWbGNua29lMXh1SUNBZ0lDQWdJQ0J5WVc1blpUb2dkR2x0WlZKaGJtZGxMbk4wWVhSbExuWmhiSFZsTEZ4dUlDQWdJQ0FnSUNCeVlXNW5aVkpoZHpvZ2RHbHRaVkpoYm1kbExuTjBZWFJsTG5aaGJIVmxMbkpoZHl4Y2JpQWdJQ0FnSUNBZ1lXNXViM1JoZEdsdmJqb2djWFZsY25rc1hHNGdJQ0FnSUNBZ0lHUmhjMmhpYjJGeVpEb2dlMXh1SUNBZ0lDQWdJQ0FnSUdkbGRGWmhjbWxoWW14bGN6b2daMlYwVkdWdGNHeGhkR1ZUY25Zb0tTNW5aWFJXWVhKcFlXSnNaWE1zWEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCOUtWeHVJQ0FnSUNrdWNHbHdaU2hjYmlBZ0lDQWdJRzFoY0Nnb1pYWmxiblJ6S1NBOVBpQW9lMXh1SUNBZ0lDQWdJQ0J6ZEdGMFpUb2dURzloWkdsdVoxTjBZWFJsTGtSdmJtVXNYRzRnSUNBZ0lDQWdJR1YyWlc1MGN5eGNiaUFnSUNBZ0lIMHBLVnh1SUNBZ0lDazdYRzRnSUgxY2JseHVJQ0F2THlCVGRHRnVaR0Z5WkNCQlVFa2dabTl5SUdGdWJtOTBZWFJwYjI1eklITjFjSEJ2Y25RdUlGTndjbVZoWkNCcGJpQmtZWFJoYzI5MWNtTmxJR0Z1Ym05MFlYUnBiMjV6SUhOMWNIQnZjblFnYjNabGNuSnBaR1Z6WEc0Z0lHTnZibk4wSUhCeWIyTmxjM052Y2lBOUlIdGNiaUFnSUNBdUxpNXpkR0Z1WkdGeVpFRnVibTkwWVhScGIyNVRkWEJ3YjNKMExGeHVJQ0FnSUM0dUxtUmhkR0Z6YjNWeVkyVXVZVzV1YjNSaGRHbHZibk1zWEc0Z0lIMDdYRzVjYmlBZ1kyOXVjM1FnWVc1dWIzUmhkR2x2YmxkcGRHaEVaV1poZFd4MGN5QTlJSHRjYmlBZ0lDQXZMeUJFWldaaGRXeDBJSEYxWlhKNUlIQnliM1pwWkdWa0lHSjVJR0VnWkdGMFlTQnpiM1Z5WTJWY2JpQWdJQ0F1TGk1d2NtOWpaWE56YjNJdVoyVjBSR1ZtWVhWc2RGRjFaWEo1UHk0b0tTeGNiaUFnSUNBdUxpNXhkV1Z5ZVN4Y2JpQWdmVHRjYmx4dUlDQXZMeUJFWVhSaElITnZkWEpqWlNCeGRXVnllU0J0YVdkeVlYUnBiMjV6WEc0Z0lHTnZibk4wSUdGdWJtOTBZWFJwYjI0Z1BTQndjbTlqWlhOemIzSXVjSEpsY0dGeVpVRnVibTkwWVhScGIyNGhLR0Z1Ym05MFlYUnBiMjVYYVhSb1JHVm1ZWFZzZEhNcE8xeHVJQ0JwWmlBb0lXRnVibTkwWVhScGIyNHBJSHRjYmlBZ0lDQnlaWFIxY200Z2IyWW9lMXh1SUNBZ0lDQWdjM1JoZEdVNklFeHZZV1JwYm1kVGRHRjBaUzVFYjI1bExGeHVJQ0FnSUNBZ1pYWmxiblJ6T2lCYlhTeGNiaUFnSUNCOUtUdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElIQnliMk5sYzNObFpGRjFaWEo1SUQwZ2NISnZZMlZ6YzI5eUxuQnlaWEJoY21WUmRXVnllU0VvWVc1dWIzUmhkR2x2YmlrN1hHNGdJR2xtSUNnaGNISnZZMlZ6YzJWa1VYVmxjbmtwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiMllvZTF4dUlDQWdJQ0FnYzNSaGRHVTZJRXh2WVdScGJtZFRkR0YwWlM1RWIyNWxMRnh1SUNBZ0lDQWdaWFpsYm5Sek9pQmJYU3hjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVYRzRnSUM4dklFNXZJRzF2Y21VZ2NHOXBiblJ6SUhSb1lXNGdjR2w0Wld4elhHNGdJR052Ym5OMElHMWhlRVJoZEdGUWIybHVkSE1nUFNCM2FXNWtiM2N1YVc1dVpYSlhhV1IwYUNCOGZDQmtiMk4xYldWdWRDNWtiMk4xYldWdWRFVnNaVzFsYm5RdVkyeHBaVzUwVjJsa2RHZ2dmSHdnWkc5amRXMWxiblF1WW05a2VTNWpiR2xsYm5SWGFXUjBhRHRjYmx4dUlDQXZMeUJCWkdRZ2FXNTBaWEoyWVd3Z2RHOGdZVzV1YjNSaGRHbHZiaUJ4ZFdWeWFXVnpYRzRnSUdOdmJuTjBJR2x1ZEdWeWRtRnNJRDBnY21GdVoyVlZkR2xzTG1OaGJHTjFiR0YwWlVsdWRHVnlkbUZzS0hScGJXVlNZVzVuWlM1emRHRjBaUzUyWVd4MVpTd2diV0Y0UkdGMFlWQnZhVzUwY3l3Z1pHRjBZWE52ZFhKalpTNXBiblJsY25aaGJDazdYRzVjYmlBZ1kyOXVjM1FnYzJOdmNHVmtWbUZ5Y3pvZ1UyTnZjR1ZrVm1GeWN5QTlJSHRjYmlBZ0lDQmZYMmx1ZEdWeWRtRnNPaUI3SUhSbGVIUTZJR2x1ZEdWeWRtRnNMbWx1ZEdWeWRtRnNMQ0IyWVd4MVpUb2dhVzUwWlhKMllXd3VhVzUwWlhKMllXd2dmU3hjYmlBZ0lDQmZYMmx1ZEdWeWRtRnNYMjF6T2lCN0lIUmxlSFE2SUdsdWRHVnlkbUZzTG1sdWRHVnlkbUZzVFhNdWRHOVRkSEpwYm1jb0tTd2dkbUZzZFdVNklHbHVkR1Z5ZG1Gc0xtbHVkR1Z5ZG1Gc1RYTWdmU3hjYmlBZ0lDQmZYMkZ1Ym05MFlYUnBiMjQ2SUhzZ2RHVjRkRG9nWVc1dWIzUmhkR2x2Ymk1dVlXMWxMQ0IyWVd4MVpUb2dZVzV1YjNSaGRHbHZiaUI5TEZ4dUlDQWdJRjlmYzJObGJtVlBZbXBsWTNRNklIZHlZWEJKYmxOaFptVlRaWEpwWVd4cGVtRmliR1ZUWTJWdVpVOWlhbVZqZENoc1lYbGxjaWtzWEc0Z0lIMDdYRzVjYmlBZ1kyOXVjM1FnY1hWbGNubFNaWEYxWlhOME9pQkVZWFJoVVhWbGNubFNaWEYxWlhOMElEMGdlMXh1SUNBZ0lITjBZWEowVkdsdFpUb2dSR0YwWlM1dWIzY29LU3hjYmlBZ0lDQnlaWEYxWlhOMFNXUTZJR2RsZEU1bGVIUlNaWEYxWlhOMFNXUW9LU3hjYmlBZ0lDQnlZVzVuWlRvZ2RHbHRaVkpoYm1kbExuTjBZWFJsTG5aaGJIVmxMRnh1SUNBZ0lHMWhlRVJoZEdGUWIybHVkSE1zWEc0Z0lDQWdjMk52Y0dWa1ZtRnljeXhjYmlBZ0lDQXVMaTVwYm5SbGNuWmhiQ3hjYmlBZ0lDQmhjSEE2SUVOdmNtVkJjSEF1UkdGemFHSnZZWEprTEZ4dUlDQWdJSFJwYldWNmIyNWxPaUIwYVcxbFVtRnVaMlV1WjJWMFZHbHRaVnB2Ym1Vb0tTeGNiaUFnSUNCMFlYSm5aWFJ6T2lCYlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDNHVMbkJ5YjJObGMzTmxaRkYxWlhKNUxGeHVJQ0FnSUNBZ0lDQnlaV1pKWkRvZ0owRnVibThuTEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0JkTEZ4dUlDQWdJQzR1TG1kbGRFVnVjbWxqYUdWa1JHRjBZVkpsY1hWbGMzUW9iR0Y1WlhJcExGeHVJQ0I5TzF4dVhHNGdJR052Ym5OMElISjFibEpsY1hWbGMzUWdQU0JuWlhSU2RXNVNaWEYxWlhOMEtDazdYRzVjYmlBZ2NtVjBkWEp1SUhKMWJsSmxjWFZsYzNRb1pHRjBZWE52ZFhKalpTd2djWFZsY25sU1pYRjFaWE4wS1M1d2FYQmxLRnh1SUNBZ0lHMWxjbWRsVFdGd0tDaHdZVzVsYkVSaGRHRXBJRDArSUh0Y2JpQWdJQ0FnSUM4dklGTnZiV1VnWVc1dWIzUmhkR2x2Ym5NZ2MyVjBJSFJvWlNCMGIzQnBZeUJoYkhKbFlXUjVYRzRnSUNBZ0lDQmpiMjV6ZENCa1lYUmhJRDBnY0dGdVpXeEVZWFJoUHk1elpYSnBaWE11YkdWdVozUm9JRDhnY0dGdVpXeEVZWFJoTG5ObGNtbGxjeUE2SUhCaGJtVnNSR0YwWVM1aGJtNXZkR0YwYVc5dWN6dGNibHh1SUNBZ0lDQWdhV1lnS0NGa1lYUmhQeTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzltS0h0Y2JpQWdJQ0FnSUNBZ0lDQnpkR0YwWlRvZ2NHRnVaV3hFWVhSaExuTjBZWFJsTEZ4dUlDQWdJQ0FnSUNBZ0lHVjJaVzUwY3pvZ1cxMHNYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBdkx5QkJaR1FnWkdGMFlTQjBiM0JwWXlCMGJ5QmxZV05vSUdaeVlXMWxYRzRnSUNBZ0lDQmtZWFJoTG1admNrVmhZMmdvS0daeVlXMWxLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDOHZJRWxtSUdSaGRHRWdkRzl3YVdNZ2FHRnpJRzV2ZENCaVpXVnVJSEJ5YjNacFpHVmtJR0o1SUhSb1pTQmtZWFJoSUhOdmRYSmpaU3dnYldGclpTQnpkWEpsSUdsMEozTWdjMlYwSUdOdmNuSmxZM1JzZVZ4dUlDQWdJQ0FnSUNCcFppQW9JV1p5WVcxbExtMWxkR0UvTG1SaGRHRlViM0JwWXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1p5WVcxbExtMWxkR0VnUFNCN0lDNHVMaWhtY21GdFpTNXRaWFJoSUh4OElIdDlLU3dnWkdGMFlWUnZjR2xqT2lCRVlYUmhWRzl3YVdNdVFXNXViM1JoZEdsdmJuTWdmVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNrN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCd2NtOWpaWE56YjNJdWNISnZZMlZ6YzBWMlpXNTBjeUVvWVc1dWIzUmhkR2x2Yml3Z1pHRjBZU2t1Y0dsd1pTaGNiaUFnSUNBZ0lDQWdiV0Z3S0NobGRtVnVkSE1wSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2MzUmhkR1U2SUhCaGJtVnNSR0YwWVM1emRHRjBaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHVjJaVzUwY3pvZ1pYWmxiblJ6SUh4OElGdGRMRnh1SUNBZ0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNBZ0lIMHBYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMHBYRzRnSUNrN1hHNTlYRzRpWFN3aWJtRnRaWE1pT2xzaVgyRWlYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN1FVRnpRa0VzU1VGQlNTeFBRVUZWTEVkQlFVRXNSMEZCUVN4RFFVRkJPMEZCUTJRc1UwRkJVeXhuUWtGQmJVSXNSMEZCUVR0QlFVTXhRaXhGUVVGQkxFOUJRVThzU1VGQlR5eEhRVUZCTEU5QlFVRXNSVUZCUVN4RFFVRkJPMEZCUTJoQ0xFTkJRVUU3UVVGWlR5eFRRVUZUTEhOQ1FVTmtMRU5CUVVFc1ZVRkJRU3hGUVVOQkxGTkJRMEVzUlVGQlFTeExRVUZCTEVWQlEwRXNTMEZEYjBNc1JVRkJRVHRCUVRGRGRFTXNSVUZCUVN4SlFVRkJMRVZCUVVFc1EwRkJRVHRCUVRSRFJTeEZRVUZCTEVsQlFVa3NWVUZCVnl4RFFVRkJMR1ZCUVVFc1NVRkJiVUlzY1VKQlFYTkNMRU5CUVVFc1ZVRkJWU3hEUVVGSExFVkJRVUU3UVVGRGJrVXNTVUZCUVN4UFFVRkJMRU5CUVZFc1MwRkJTeXg1UlVGQmVVVXNRMEZCUVN4RFFVRkJPMEZCUTNSR0xFbEJRVThzVDBGQlFTeEpRVUZCTzBGQlFVRXNUVUZEVEN4WFFVRlhMR1ZCUVdkQ0xFTkJRVUU3UVVGQlFTeFJRVU42UWl4TFFVRkJMRVZCUVU4c1ZVRkJWU3hMUVVGTkxFTkJRVUVzUzBGQlFUdEJRVUZCTEZGQlEzWkNMRkZCUVVFc1JVRkJWU3hUUVVGVkxFTkJRVUVzUzBGQlFTeERRVUZOTEV0QlFVMHNRMEZCUVN4SFFVRkJPMEZCUVVFc1VVRkRhRU1zVlVGQldTeEZRVUZCTEV0QlFVRTdRVUZCUVN4UlFVTmFMRk5CUVZjc1JVRkJRVHRCUVVGQkxGVkJRMVFzV1VGQlFTeEZRVUZqTEdkQ1FVRnBRaXhEUVVGQkxGbEJRVUU3UVVGQlFTeFRRVU5xUXp0QlFVRkJMRTlCUTBRc1EwRkJRVHRCUVVGQkxFdEJRMFFzUTBGQlFTeEpRVUZCTzBGQlFVRXNUVUZEUVN4SFFVRkJMRU5CUVVrc1EwRkJReXhOUVVGWkxFMUJRVUU3UVVGQlFTeFJRVU5tTEU5QlFVOHNXVUZCWVN4RFFVRkJMRWxCUVVFN1FVRkJRU3hSUVVOd1FpeE5RVUZCTzBGQlFVRXNUMEZEUVN4RFFVRkJMRU5CUVVFN1FVRkJRU3hMUVVOS0xFTkJRVUU3UVVGQlFTeEhRVU5HTzBGQlIwRXNSVUZCVFN4TlFVRkJMRk5CUVVFc1IwRkJXU3hqUVVOaUxFTkJRVUVzWTBGQlFTeERRVUZCTEVWQlFVRXNSVUZCUVN4NVFrRkJRU3hEUVVGQkxFVkJRMEVzVlVGQlZ5eERRVUZCTEZkQlFVRXNRMEZCUVN4RFFVRkJPMEZCUjJoQ0xFVkJRVUVzVFVGQlRTeHpRa0ZCZVVJc1IwRkJRU3hqUVVGQkxFTkJRVUVzWTBGQlFTeERRVUZCTEVWQlFVRXNSVUZCUVN4RFFVVXhRaXhGUVVGVkxFZEJRVUVzVTBGQlFTeERRVUZCTEdWQlFVRXNTMEZCVml4SlFVTkJMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZCTEVsQlFVRXNRMEZCUVN4VFFVRkJMRU5CUVVFc1EwRkJRU3hGUVVGQkxFdEJRVUVzUTBGQlFTeERRVUZCTzBGQlNVd3NSVUZCVFN4TlFVRkJMRlZCUVVFc1IwRkJZU3hUUVVGVkxFTkJRVUVzYVVKQlFVRXNRMEZCYlVJc2MwSkJRWE5DTEVOQlFVRXNRMEZCUVR0QlFVTjBSU3hGUVVGQkxFbEJRVWtzUTBGQlF5eFZRVUZaTEVWQlFVRTdRVUZEWml4SlFVRkJMRTlCUVU4c1JVRkJSeXhEUVVGQk8wRkJRVUVzVFVGRFVpeFBRVUZQTEZsQlFXRXNRMEZCUVN4SlFVRkJPMEZCUVVFc1RVRkRjRUlzVVVGQlVTeEZRVUZETzBGQlFVRXNTMEZEVml4RFFVRkJMRU5CUVVFN1FVRkJRU3hIUVVOSU8wRkJSVUVzUlVGQlRTeE5RVUZCTEdOQlFVRXNSMEZCYVVJc1UwRkJWU3hEUVVGQkxGbEJRVUVzUTBGQll5eFZRVUZWTEVOQlFVRXNRMEZCUVR0QlFVTjZSQ3hGUVVGQkxFbEJRVWtzUTBGQlF5eGpRVUZuUWl4RlFVRkJPMEZCUTI1Q0xFbEJRVUVzVDBGQlR5eEZRVUZITEVOQlFVRTdRVUZCUVN4TlFVTlNMRTlCUVU4c1dVRkJZU3hEUVVGQkxFbEJRVUU3UVVGQlFTeE5RVU53UWl4UlFVRlJMRVZCUVVNN1FVRkJRU3hMUVVOV0xFTkJRVUVzUTBGQlFUdEJRVUZCTEVkQlEwZzdRVUZIUVN4RlFVRkJMRTFCUVUwc1owSkJRV2RDTEUxQlFVOHNRMEZCUVN4VlFVRkJMRWxCUVdNc1UwRkJVeXhsUVVGblFpeERRVUZCTEZkQlFVRXNTVUZCWlN4VFFVRlRMRWxCUVVzc1EwRkJRU3hYUVVGQkxFTkJRVUU3UVVGSGFrY3NSVUZCVFN4TlFVRkJMRkZCUVVFc1IwRkJWeXhWUVVGVkxHbENRVUZyUWl4RFFVRkJMRk5CUVVFc1EwRkJWU3hOUVVGTkxFdEJRVThzUlVGQlFTeGhRVUZCTEVWQlFXVXNWMEZCVnl4UlFVRlJMRU5CUVVFc1EwRkJRVHRCUVVWMFJ5eEZRVUZCTEUxQlFVMHNWVUZCZVVJc1IwRkJRVHRCUVVGQkxFbEJRemRDTEZsQlFWa3NSVUZCUlN4SlFVRkJMRVZCUVUwc1UwRkJVeXhSUVVGVkxFVkJRVUVzUzBGQlFTeEZRVUZQTEZOQlFWTXNVVUZCVXl4RlFVRkJPMEZCUVVFc1NVRkRhRVVzWVVGQlFTeEZRVUZsTEVWQlFVVXNTVUZCVFN4RlFVRkJMRkZCUVVFc1EwRkJVeXhYUVVGWExGRkJRVk1zUlVGQlFTeEZRVUZITEV0QlFVOHNSVUZCUVN4UlFVRkJMRU5CUVZNc1ZVRkJWeXhGUVVGQk8wRkJRVUVzU1VGRGJFWXNZMEZCWXl4RlFVRkZMRWxCUVVFc1JVRkJUU3hWUVVGWExFTkJRVUVzU1VGQlFTeEZRVUZOTEU5QlFVOHNWVUZCVnl4RlFVRkJPMEZCUVVFc1NVRkRla1FzWVVGQlFTeEZRVUZsTEd0RFFVRnJReXhMUVVGTExFTkJRVUU3UVVGQlFTeEhRVU40UkN4RFFVRkJPMEZCUlVFc1JVRkJRU3hOUVVGTkxGbEJRV2xETEVkQlFVRXNZMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJRU3hqUVVGQkxFTkJRVUU3UVVGQlFTeEpRVU55UXl4VFFVRkJMRVZCUVZjc1MwRkJTeXhIUVVGSkxFVkJRVUU3UVVGQlFTeEpRVU53UWl4WFFVRlhMR2RDUVVGcFFpeEZRVUZCTzBGQlFVRXNTVUZETlVJc1MwRkJRU3hGUVVGUExGVkJRVlVzUzBGQlRTeERRVUZCTEV0QlFVRTdRVUZCUVN4SlFVTjJRaXhoUVVGQk8wRkJRVUVzU1VGRFFTeFZRVUZCTzBGQlFVRXNSMEZCUVN4RlFVTkhMRkZCVG10RExFTkJRVUVzUlVGQlFUdEJRVUZCTEVsQlQzSkRMRXRCUVVzc1QwRkJVU3hEUVVGQkxGTkJRVUU3UVVGQlFTeEpRVU5pTEZGQlFVRXNSVUZCVlN4VlFVRlZMRmRCUVZrc1JVRkJRVHRCUVVGQkxFbEJRMmhETEU5QlFWTXNSVUZCUVR0QlFVRkJMRTFCUTFBc2FVTkJRMHNzWTBGRVRDeERRVUZCTEVWQlFVRTdRVUZCUVN4UlFVVkZMRXRCUVU4c1JVRkJRU3hOUVVGQk8wRkJRVUVzVDBGRFZDeERRVUZCTzBGQlFVRXNTMEZEUmp0QlFVRkJMRWRCUVVFc1EwRkJRU3hGUVVOSExIVkNRVUYxUWl4TFFVRkxMRU5CUVVFc1EwRkJRU3hEUVVGQk8wRkJSMnBETEVWQlFVRXNUVUZCVFN4aFFVRmhMR0ZCUVdNc1JVRkJRU3hEUVVGQk8wRkJSV3BETEVWQlFVOHNUMEZCUVN4VlFVRkJMRU5CUVZjc1ZVRkJXU3hGUVVGQkxGbEJRVmtzUTBGQlJTeERRVUZCTEVsQlFVRTdRVUZCUVN4SlFVTXhReXhSUVVGQkxFTkJRVk1zUTBGQlF5eFRRVUZqTEV0QlFVRTdRVUZGZEVJc1RVRkJRU3hOUVVGTkxGRkJRVThzVTBGQlZ5eEpRVUZCTEVsQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hUUVVGQkxFTkJRVUVzVFVGQlFTeERRVUZQTEUxQlFWTXNTVUZCUVN4VFFVRkJMRU5CUVZVc1UwRkJVeXhUUVVGVkxFTkJRVUVzVjBGQlFTeERRVUZCTzBGQlJYSkZMRTFCUVVrc1NVRkJRU3hGUVVGRExEWkNRVUZOTEUxQlFWRXNRMEZCUVN4RlFVRkJPMEZCUTJwQ0xGRkJRVUVzVDBGQlR5eEZRVUZITEVOQlFVRTdRVUZCUVN4VlFVTlNMRTlCUVU4c1UwRkJWU3hEUVVGQkxFdEJRVUU3UVVGQlFTeFZRVU5xUWl4UlFVRlJMRVZCUVVNN1FVRkJRU3hUUVVOV0xFTkJRVUVzUTBGQlFUdEJRVUZCTEU5QlEwZzdRVUZIUVN4TlFVRkxMRWxCUVVFc1EwRkJRU3hQUVVGQkxFTkJRVkVzUTBGQlF5eExRVUZWTEV0QlFVRTdRVUV4U1RsQ0xGRkJRVUZCTEVsQlFVRkJMRWRCUVVGQkxFTkJRVUZCTzBGQk5FbFJMRkZCUVVFc1NVRkJTU3hIUVVGRFFTeEhRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRk5MRWxCUVU0c1MwRkJRU3hKUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRkJMRWxCUVZrc1UwRkJWeXhEUVVGQkxFVkJRVUU3UVVGRE1VSXNWVUZCVFN4TFFVRkJMRU5CUVVFc1NVRkJRU3hIUVVGUExHbERRVUZOTEV0QlFVMHNRMEZCUVN4SlFVRkJMRWxCUVZFc1JVRkJjRUlzUTBGQlFTeEZRVUZCTEVWQlFYbENMRk5CUVZjc1JVRkJRU3hUUVVGQkxFTkJRVlVzVjBGQldTeEZRVUZCTEVOQlFVRXNRMEZCUVR0QlFVRkJMRk5CUTNwRk8wRkJRVUVzVDBGRFJDeERRVUZCTEVOQlFVRTdRVUZGUkN4TlFVRkJMRTlCUVU4c1UwRkJWU3hEUVVGQkxHRkJRVUVzUTBGQlpTeFZRVUZaTEVWQlFVRXNTVUZCU1N4RFFVRkZMRU5CUVVFc1NVRkJRVHRCUVVGQkxGRkJRMmhFTEVkQlFVRXNRMEZCU1N4RFFVRkRMRTFCUVZjc1MwRkJRVHRCUVVOa0xGVkJRVThzVDBGQlFUdEJRVUZCTEZsQlEwd3NUMEZCVHl4VFFVRlZMRU5CUVVFc1MwRkJRVHRCUVVGQkxGbEJRMnBDTEUxQlFVRXNSVUZCVVN4VlFVRlZMRVZCUVVNN1FVRkJRU3hYUVVOeVFpeERRVUZCTzBGQlFVRXNVMEZEUkN4RFFVRkJPMEZCUVVFc1QwRkRTQ3hEUVVGQk8wRkJRVUVzUzBGRFJDeERRVUZCTzBGQlFVRXNSMEZEU0N4RFFVRkJPMEZCUTBZN096czdJbjA9XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQkEsSUFBSSxPQUFVLEdBQUEsR0FBQSxDQUFBO0FBQ2QsU0FBUyxnQkFBbUIsR0FBQTtBQUMxQixFQUFBLE9BQU8sSUFBTyxHQUFBLE9BQUEsRUFBQSxDQUFBO0FBQ2hCLENBQUE7QUFZTyxTQUFTLHNCQUNkLENBQUEsVUFBQSxFQUNBLFNBQ0EsRUFBQSxLQUFBLEVBQ0EsS0FDb0MsRUFBQTtBQTFDdEMsRUFBQSxJQUFBLEVBQUEsQ0FBQTtBQTRDRSxFQUFBLElBQUksVUFBVyxDQUFBLGVBQUEsSUFBbUIscUJBQXNCLENBQUEsVUFBVSxDQUFHLEVBQUE7QUFDbkUsSUFBQSxPQUFBLENBQVEsS0FBSyx5RUFBeUUsQ0FBQSxDQUFBO0FBQy9FLElBQUEsT0FBQSxJQUFBO0FBQ0wsTUFBQSxVQUFBLENBQVcsZUFBZ0IsQ0FBQTtBQUN6QixRQUFBLEtBQUEsRUFBTyxVQUFVLEtBQU0sQ0FBQSxLQUFBO1FBQ3ZCLFFBQVUsRUFBQSxTQUFBLENBQVUsTUFBTSxLQUFNLENBQUEsR0FBQTtRQUNoQyxVQUFZLEVBQUEsS0FBQTtRQUNaLFNBQVcsRUFBQTtBQUNULFVBQUEsWUFBQSxFQUFjLGdC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
@@ -1,211 +0,0 @@
1
- import { isString } from 'lodash';
2
- import { of } from 'rxjs';
3
- import { map, mergeMap } from 'rxjs/operators';
4
- import { FieldType, getFieldDisplayName, AnnotationEventFieldSource, standardTransformers } from '@grafana/data';
5
- import { config } from '@grafana/runtime';
6
-
7
- var __defProp = Object.defineProperty;
8
- var __defProps = Object.defineProperties;
9
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
10
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
11
- var __hasOwnProp = Object.prototype.hasOwnProperty;
12
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
- var __spreadValues = (a, b) => {
15
- for (var prop in b || (b = {}))
16
- if (__hasOwnProp.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- if (__getOwnPropSymbols)
19
- for (var prop of __getOwnPropSymbols(b)) {
20
- if (__propIsEnum.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- }
23
- return a;
24
- };
25
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
- var __objRest = (source, exclude) => {
27
- var target = {};
28
- for (var prop in source)
29
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
30
- target[prop] = source[prop];
31
- if (source != null && __getOwnPropSymbols)
32
- for (var prop of __getOwnPropSymbols(source)) {
33
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
34
- target[prop] = source[prop];
35
- }
36
- return target;
37
- };
38
- const standardAnnotationSupport = {
39
- prepareAnnotation: (json) => {
40
- if (isString(json == null ? void 0 : json.query)) {
41
- const _a = json, { query } = _a, rest = __objRest(_a, ["query"]);
42
- return __spreadProps(__spreadValues({}, rest), {
43
- target: {
44
- refId: "annotation_query",
45
- query
46
- },
47
- mappings: {}
48
- });
49
- }
50
- return json;
51
- },
52
- prepareQuery: (anno) => anno.target,
53
- processEvents: (anno, data) => {
54
- return getAnnotationsFromData(data, anno.mappings);
55
- }
56
- };
57
- function singleFrameFromPanelData() {
58
- return (source) => source.pipe(
59
- mergeMap((data) => {
60
- if (!(data == null ? void 0 : data.length)) {
61
- return of(void 0);
62
- }
63
- if (data.length === 1) {
64
- return of(data[0]);
65
- }
66
- const ctx = {
67
- interpolate: (v) => v
68
- };
69
- return of(data).pipe(
70
- standardTransformers.mergeTransformer.operator({}, ctx),
71
- map((d) => d[0])
72
- );
73
- })
74
- );
75
- }
76
- const annotationEventNames = [
77
- {
78
- key: "time",
79
- field: (frame) => frame.fields.find((f) => f.type === FieldType.time),
80
- placeholder: "time, or the first time field"
81
- },
82
- { key: "timeEnd", help: "When this field is defined, the annotation will be treated as a range" },
83
- {
84
- key: "title"
85
- },
86
- {
87
- key: "text",
88
- field: (frame) => frame.fields.find((f) => f.type === FieldType.string),
89
- placeholder: "text, or the first text field"
90
- },
91
- { key: "tags", split: ",", help: "The results will be split on comma (,)" },
92
- {
93
- key: "id"
94
- }
95
- ];
96
- const publicDashboardEventNames = [
97
- {
98
- key: "color"
99
- },
100
- {
101
- key: "isRegion"
102
- },
103
- {
104
- key: "source"
105
- }
106
- ];
107
- const alertEventAndAnnotationFields = [
108
- ...config.publicDashboardAccessToken ? publicDashboardEventNames : [],
109
- ...annotationEventNames,
110
- { key: "userId" },
111
- { key: "login" },
112
- { key: "email" },
113
- { key: "prevState" },
114
- { key: "newState" },
115
- { key: "data" },
116
- { key: "panelId" },
117
- { key: "alertId" },
118
- { key: "dashboardId" },
119
- { key: "dashboardUID" }
120
- ];
121
- function getAnnotationsFromData(data, options) {
122
- return of(data).pipe(
123
- singleFrameFromPanelData(),
124
- map((frame) => {
125
- if (!(frame == null ? void 0 : frame.length)) {
126
- return [];
127
- }
128
- let hasTime = false;
129
- let hasText = false;
130
- const byName = {};
131
- for (const f of frame.fields) {
132
- const name = getFieldDisplayName(f, frame);
133
- byName[name.toLowerCase()] = f;
134
- }
135
- if (!options) {
136
- options = {};
137
- }
138
- const fields = [];
139
- for (const evts of alertEventAndAnnotationFields) {
140
- const opt = options[evts.key] || {};
141
- if (opt.source === AnnotationEventFieldSource.Skip) {
142
- continue;
143
- }
144
- const setter = { key: evts.key, split: evts.split };
145
- if (opt.source === AnnotationEventFieldSource.Text) {
146
- setter.text = opt.value;
147
- } else {
148
- const lower = (opt.value || evts.key).toLowerCase();
149
- setter.field = byName[lower];
150
- if (!setter.field && evts.field) {
151
- setter.field = evts.field(frame);
152
- }
153
- }
154
- if (setter.field || setter.text) {
155
- fields.push(setter);
156
- if (setter.key === "time") {
157
- hasTime = true;
158
- } else if (setter.key === "text") {
159
- hasText = true;
160
- }
161
- }
162
- }
163
- if (!hasTime || !hasText) {
164
- console.error("Cannot process annotation fields. No time or text present.");
165
- return [];
166
- }
167
- const events = [];
168
- for (let i = 0; i < frame.length; i++) {
169
- const anno = {
170
- type: "default",
171
- color: "red"
172
- };
173
- for (const f of fields) {
174
- let v = void 0;
175
- if (f.text) {
176
- v = f.text;
177
- } else if (f.field) {
178
- v = f.field.values.get(i);
179
- if (v !== void 0 && f.regex) {
180
- const match = f.regex.exec(v);
181
- if (match) {
182
- v = match[1] ? match[1] : match[0];
183
- }
184
- }
185
- }
186
- if (v !== null && v !== void 0) {
187
- if (f.split && typeof v === "string") {
188
- v = v.split(",");
189
- }
190
- anno[f.key] = v;
191
- }
192
- }
193
- events.push(anno);
194
- }
195
- return events;
196
- })
197
- );
198
- }
199
- const legacyRunner = [
200
- "prometheus",
201
- "loki",
202
- "elasticsearch",
203
- "grafana-opensearch-datasource"
204
- ];
205
- function shouldUseLegacyRunner(datasource) {
206
- const { type } = datasource;
207
- return !datasource.annotations || legacyRunner.includes(type);
208
- }
209
-
210
- export { annotationEventNames, getAnnotationsFromData, publicDashboardEventNames, shouldUseLegacyRunner, singleFrameFromPanelData, standardAnnotationSupport };
211
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRBbm5vdGF0aW9uc1N1cHBvcnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3F1ZXJ5aW5nL2xheWVycy9hbm5vdGF0aW9ucy9zdGFuZGFyZEFubm90YXRpb25zU3VwcG9ydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgZ2V0RmllbGREaXNwbGF5TmFtZSwgQW5ub3RhdGlvbkV2ZW50RmllbGRTb3VyY2UsIHN0YW5kYXJkVHJhbnNmb3JtZXJzIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcblxudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2RlZlByb3BzID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXM7XG52YXIgX19nZXRPd25Qcm9wRGVzY3MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycztcbnZhciBfX2dldE93blByb3BTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBfX2hhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIF9fcHJvcElzRW51bSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG52YXIgX19kZWZOb3JtYWxQcm9wID0gKG9iaiwga2V5LCB2YWx1ZSkgPT4ga2V5IGluIG9iaiA/IF9fZGVmUHJvcChvYmosIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZSB9KSA6IG9ialtrZXldID0gdmFsdWU7XG52YXIgX19zcHJlYWRWYWx1ZXMgPSAoYSwgYikgPT4ge1xuICBmb3IgKHZhciBwcm9wIGluIGIgfHwgKGIgPSB7fSkpXG4gICAgaWYgKF9faGFzT3duUHJvcC5jYWxsKGIsIHByb3ApKVxuICAgICAgX19kZWZOb3JtYWxQcm9wKGEsIHByb3AsIGJbcHJvcF0pO1xuICBpZiAoX19nZXRPd25Qcm9wU3ltYm9scylcbiAgICBmb3IgKHZhciBwcm9wIG9mIF9fZ2V0T3duUHJvcFN5bWJvbHMoYikpIHtcbiAgICAgIGlmIChfX3Byb3BJc0VudW0uY2FsbChiLCBwcm9wKSlcbiAgICAgICAgX19kZWZOb3JtYWxQcm9wKGEsIHByb3AsIGJbcHJvcF0pO1xuICAgIH1cbiAgcmV0dXJuIGE7XG59O1xudmFyIF9fc3ByZWFkUHJvcHMgPSAoYSwgYikgPT4gX19kZWZQcm9wcyhhLCBfX2dldE93blByb3BEZXNjcyhiKSk7XG52YXIgX19vYmpSZXN0ID0gKHNvdXJjZSwgZXhjbHVkZSkgPT4ge1xuICB2YXIgdGFyZ2V0ID0ge307XG4gIGZvciAodmFyIHByb3AgaW4gc291cmNlKVxuICAgIGlmIChfX2hhc093blByb3AuY2FsbChzb3VyY2UsIHByb3ApICYmIGV4Y2x1ZGUuaW5kZXhPZihwcm9wKSA8IDApXG4gICAgICB0YXJnZXRbcHJvcF0gPSBzb3VyY2VbcHJvcF07XG4gIGlmIChzb3VyY2UgIT0gbnVsbCAmJiBfX2dldE93blByb3BTeW1ib2xzKVxuICAgIGZvciAodmFyIHByb3Agb2YgX19nZXRPd25Qcm9wU3ltYm9scyhzb3VyY2UpKSB7XG4gICAgICBpZiAoZXhjbHVkZS5pbmRleE9mKHByb3ApIDwgMCAmJiBfX3Byb3BJc0VudW0uY2FsbChzb3VyY2UsIHByb3ApKVxuICAgICAgICB0YXJnZXRbcHJvcF0gPSBzb3VyY2VbcHJvcF07XG4gICAgfVxuICByZXR1cm4gdGFyZ2V0O1xufTtcbmNvbnN0IHN0YW5kYXJkQW5ub3RhdGlvblN1cHBvcnQgPSB7XG4gIHByZXBhcmVBbm5vdGF0aW9uOiAoanNvbikgPT4ge1xuICAgIGlmIChpc1N0cmluZyhqc29uID09IG51bGwgPyB2b2lkIDAgOiBqc29uLnF1ZXJ5KSkge1xuICAgICAgY29uc3QgX2EgPSBqc29uLCB7IHF1ZXJ5IH0gPSBfYSwgcmVzdCA9IF9fb2JqUmVzdChfYSwgW1wicXVlcnlcIl0pO1xuICAgICAgcmV0dXJuIF9fc3ByZWFkUHJvcHMoX19zcHJlYWRWYWx1ZXMoe30sIHJlc3QpLCB7XG4gICAgICAgIHRhcmdldDoge1xuICAgICAgICAgIHJlZklkOiBcImFubm90YXRpb25fcXVlcnlcIixcbiAgICAgICAgICBxdWVyeVxuICAgICAgICB9LFxuICAgICAgICBtYXBwaW5nczoge31cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4ganNvbjtcbiAgfSxcbiAgcHJlcGFyZVF1ZXJ5OiAoYW5ubykgPT4gYW5uby50YXJnZXQsXG4gIHByb2Nlc3NFdmVudHM6IChhbm5vLCBkYXRhKSA9PiB7XG4gICAgcmV0dXJuIGdldEFubm90YXRpb25zRnJvbURhdGEoZGF0YSwgYW5uby5tYXBwaW5ncyk7XG4gIH1cbn07XG5mdW5jdGlvbiBzaW5nbGVGcmFtZUZyb21QYW5lbERhdGEoKSB7XG4gIHJldHVybiAoc291cmNlKSA9PiBzb3VyY2UucGlwZShcbiAgICBtZXJnZU1hcCgoZGF0YSkgPT4ge1xuICAgICAgaWYgKCEoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5sZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBvZih2b2lkIDApO1xuICAgICAgfVxuICAgICAgaWYgKGRhdGEubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJldHVybiBvZihkYXRhWzBdKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgaW50ZXJwb2xhdGU6ICh2KSA9PiB2XG4gICAgICB9O1xuICAgICAgcmV0dXJuIG9mKGRhdGEpLnBpcGUoXG4gICAgICAgIHN0YW5kYXJkVHJhbnNmb3JtZXJzLm1lcmdlVHJhbnNmb3JtZXIub3BlcmF0b3Ioe30sIGN0eCksXG4gICAgICAgIG1hcCgoZCkgPT4gZFswXSlcbiAgICAgICk7XG4gICAgfSlcbiAgKTtcbn1cbmNvbnN0IGFubm90YXRpb25FdmVudE5hbWVzID0gW1xuICB7XG4gICAga2V5OiBcInRpbWVcIixcbiAgICBmaWVsZDogKGZyYW1lKSA9PiBmcmFtZS5maWVsZHMuZmluZCgoZikgPT4gZi50eXBlID09PSBGaWVsZFR5cGUudGltZSksXG4gICAgcGxhY2Vob2xkZXI6IFwidGltZSwgb3IgdGhlIGZpcnN0IHRpbWUgZmllbGRcIlxuICB9LFxuICB7IGtleTogXCJ0aW1lRW5kXCIsIGhlbHA6IFwiV2hlbiB0aGlzIGZpZWxkIGlzIGRlZmluZWQsIHRoZSBhbm5vdGF0aW9uIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHJhbmdlXCIgfSxcbiAge1xuICAgIGtleTogXCJ0aXRsZVwiXG4gIH0sXG4gIHtcbiAgICBrZXk6IFwidGV4dFwiLFxuICAgIGZpZWxkOiAoZnJhbWUpID0+IGZyYW1lLmZpZWxkcy5maW5kKChmKSA9PiBmLnR5cGUgPT09IEZpZWxkVHlwZS5zdHJpbmcpLFxuICAgIHBsYWNlaG9sZGVyOiBcInRleHQsIG9yIHRoZSBmaXJzdCB0ZXh0IGZpZWxkXCJcbiAgfSxcbiAgeyBrZXk6IFwidGFnc1wiLCBzcGxpdDogXCIsXCIsIGhlbHA6IFwiVGhlIHJlc3VsdHMgd2lsbCBiZSBzcGxpdCBvbiBjb21tYSAoLClcIiB9LFxuICB7XG4gICAga2V5OiBcImlkXCJcbiAgfVxuXTtcbmNvbnN0IHB1YmxpY0Rhc2hib2FyZEV2ZW50TmFtZXMgPSBbXG4gIHtcbiAgICBrZXk6IFwiY29sb3JcIlxuICB9LFxuICB7XG4gICAga2V5OiBcImlzUmVnaW9uXCJcbiAgfSxcbiAge1xuICAgIGtleTogXCJzb3VyY2VcIlxuICB9XG5dO1xuY29uc3QgYWxlcnRFdmVudEFuZEFubm90YXRpb25GaWVsZHMgPSBbXG4gIC4uLmNvbmZpZy5wdWJsaWNEYXNoYm9hcmRBY2Nlc3NUb2tlbiA/IHB1YmxpY0Rhc2hib2FyZEV2ZW50TmFtZXMgOiBbXSxcbiAgLi4uYW5ub3RhdGlvbkV2ZW50TmFtZXMsXG4gIHsga2V5OiBcInVzZXJJZFwiIH0sXG4gIHsga2V5OiBcImxvZ2luXCIgfSxcbiAgeyBrZXk6IFwiZW1haWxcIiB9LFxuICB7IGtleTogXCJwcmV2U3RhdGVcIiB9LFxuICB7IGtleTogXCJuZXdTdGF0ZVwiIH0sXG4gIHsga2V5OiBcImRhdGFcIiB9LFxuICB7IGtleTogXCJwYW5lbElkXCIgfSxcbiAgeyBrZXk6IFwiYWxlcnRJZFwiIH0sXG4gIHsga2V5OiBcImRhc2hib2FyZElkXCIgfSxcbiAgeyBrZXk6IFwiZGFzaGJvYXJkVUlEXCIgfVxuXTtcbmZ1bmN0aW9uIGdldEFubm90YXRpb25zRnJvbURhdGEoZGF0YSwgb3B0aW9ucykge1xuICByZXR1cm4gb2YoZGF0YSkucGlwZShcbiAgICBzaW5nbGVGcmFtZUZyb21QYW5lbERhdGEoKSxcbiAgICBtYXAoKGZyYW1lKSA9PiB7XG4gICAgICBpZiAoIShmcmFtZSA9PSBudWxsID8gdm9pZCAwIDogZnJhbWUubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBsZXQgaGFzVGltZSA9IGZhbHNlO1xuICAgICAgbGV0IGhhc1RleHQgPSBmYWxzZTtcbiAgICAgIGNvbnN0IGJ5TmFtZSA9IHt9O1xuICAgICAgZm9yIChjb25zdCBmIG9mIGZyYW1lLmZpZWxkcykge1xuICAgICAgICBjb25zdCBuYW1lID0gZ2V0RmllbGREaXNwbGF5TmFtZShmLCBmcmFtZSk7XG4gICAgICAgIGJ5TmFtZVtuYW1lLnRvTG93ZXJDYXNlKCldID0gZjtcbiAgICAgIH1cbiAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICBvcHRpb25zID0ge307XG4gICAgICB9XG4gICAgICBjb25zdCBmaWVsZHMgPSBbXTtcbiAgICAgIGZvciAoY29uc3QgZXZ0cyBvZiBhbGVydEV2ZW50QW5kQW5ub3RhdGlvbkZpZWxkcykge1xuICAgICAgICBjb25zdCBvcHQgPSBvcHRpb25zW2V2dHMua2V5XSB8fCB7fTtcbiAgICAgICAgaWYgKG9wdC5zb3VyY2UgPT09IEFubm90YXRpb25FdmVudEZpZWxkU291cmNlLlNraXApIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZXR0ZXIgPSB7IGtleTogZXZ0cy5rZXksIHNwbGl0OiBldnRzLnNwbGl0IH07XG4gICAgICAgIGlmIChvcHQuc291cmNlID09PSBBbm5vdGF0aW9uRXZlbnRGaWVsZFNvdXJjZS5UZXh0KSB7XG4gICAgICAgICAgc2V0dGVyLnRleHQgPSBvcHQudmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbG93ZXIgPSAob3B0LnZhbHVlIHx8IGV2dHMua2V5KS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIHNldHRlci5maWVsZCA9IGJ5TmFtZVtsb3dlcl07XG4gICAgICAgICAgaWYgKCFzZXR0ZXIuZmllbGQgJiYgZXZ0cy5maWVsZCkge1xuICAgICAgICAgICAgc2V0dGVyLmZpZWxkID0gZXZ0cy5maWVsZChmcmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR0ZXIuZmllbGQgfHwgc2V0dGVyLnRleHQpIHtcbiAgICAgICAgICBmaWVsZHMucHVzaChzZXR0ZXIpO1xuICAgICAgICAgIGlmIChzZXR0ZXIua2V5ID09PSBcInRpbWVcIikge1xuICAgICAgICAgICAgaGFzVGltZSA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChzZXR0ZXIua2V5ID09PSBcInRleHRcIikge1xuICAgICAgICAgICAgaGFzVGV4dCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWhhc1RpbWUgfHwgIWhhc1RleHQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkNhbm5vdCBwcm9jZXNzIGFubm90YXRpb24gZmllbGRzLiBObyB0aW1lIG9yIHRleHQgcHJlc2VudC5cIik7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV2ZW50cyA9IFtdO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmcmFtZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBhbm5vID0ge1xuICAgICAgICAgIHR5cGU6IFwiZGVmYXVsdFwiLFxuICAgICAgICAgIGNvbG9yOiBcInJlZFwiXG4gICAgICAgIH07XG4gICAgICAgIGZvciAoY29uc3QgZiBvZiBmaWVsZHMpIHtcbiAgICAgICAgICBsZXQgdiA9IHZvaWQgMDtcbiAgICAgICAgICBpZiAoZi50ZXh0KSB7XG4gICAgICAgICAgICB2ID0gZi50ZXh0O1xuICAgICAgICAgIH0gZWxzZSBpZiAoZi5maWVsZCkge1xuICAgICAgICAgICAgdiA9IGYuZmllbGQudmFsdWVzLmdldChpKTtcbiAgICAgICAgICAgIGlmICh2ICE9PSB2b2lkIDAgJiYgZi5yZWdleCkge1xuICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IGYucmVnZXguZXhlYyh2KTtcbiAgICAgICAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICAgICAgdiA9IG1hdGNoWzFdID8gbWF0Y2hbMV0gOiBtYXRjaFswXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodiAhPT0gbnVsbCAmJiB2ICE9PSB2b2lkIDApIHtcbiAgICAgICAgICAgIGlmIChmLnNwbGl0ICYmIHR5cGVvZiB2ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgIHYgPSB2LnNwbGl0KFwiLFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFubm9bZi5rZXldID0gdjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnRzLnB1c2goYW5ubyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXZlbnRzO1xuICAgIH0pXG4gICk7XG59XG5jb25zdCBsZWdhY3lSdW5uZXIgPSBbXG4gIFwicHJvbWV0aGV1c1wiLFxuICBcImxva2lcIixcbiAgXCJlbGFzdGljc2VhcmNoXCIsXG4gIFwiZ3JhZmFuYS1vcGVuc2VhcmNoLWRhdGFzb3VyY2VcIlxuXTtcbmZ1bmN0aW9uIHNob3VsZFVzZUxlZ2FjeVJ1bm5lcihkYXRhc291cmNlKSB7XG4gIGNvbnN0IHsgdHlwZSB9ID0gZGF0YXNvdXJjZTtcbiAgcmV0dXJuICFkYXRhc291cmNlLmFubm90YXRpb25zIHx8IGxlZ2FjeVJ1bm5lci5pbmNsdWRlcyh0eXBlKTtcbn1cblxuZXhwb3J0IHsgYW5ub3RhdGlvbkV2ZW50TmFtZXMsIGdldEFubm90YXRpb25zRnJvbURhdGEsIHB1YmxpY0Rhc2hib2FyZEV2ZW50TmFtZXMsIHNob3VsZFVzZUxlZ2FjeVJ1bm5lciwgc2luZ2xlRnJhbWVGcm9tUGFuZWxEYXRhLCBzdGFuZGFyZEFubm90YXRpb25TdXBwb3J0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWMzUmhibVJoY21SQmJtNXZkR0YwYVc5dWMxTjFjSEJ2Y25RdWFuTWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5eGRXVnllV2x1Wnk5c1lYbGxjbk12WVc1dWIzUmhkR2x2Ym5NdmMzUmhibVJoY21SQmJtNXZkR0YwYVc5dWMxTjFjSEJ2Y25RdWRITWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnYVhOVGRISnBibWNnZlNCbWNtOXRJQ2RzYjJSaGMyZ25PMXh1YVcxd2IzSjBJSHNnVDJKelpYSjJZV0pzWlN3Z2IyWXNJRTl3WlhKaGRHOXlSblZ1WTNScGIyNGdmU0JtY205dElDZHllR3B6Snp0Y2JtbHRjRzl5ZENCN0lHMWhjQ3dnYldWeVoyVk5ZWEFnZlNCbWNtOXRJQ2R5ZUdwekwyOXdaWEpoZEc5eWN5YzdYRzVjYm1sdGNHOXlkQ0I3WEc0Z0lFRnVibTkwWVhScGIyNUZkbVZ1ZEN4Y2JpQWdRVzV1YjNSaGRHbHZia1YyWlc1MFJtbGxiR1JUYjNWeVkyVXNYRzRnSUVGdWJtOTBZWFJwYjI1RmRtVnVkRTFoY0hCcGJtZHpMRnh1SUNCQmJtNXZkR0YwYVc5dVVYVmxjbmtzWEc0Z0lFRnVibTkwWVhScGIyNVRkWEJ3YjNKMExGeHVJQ0JFWVhSaFJuSmhiV1VzWEc0Z0lFUmhkR0ZUYjNWeVkyVkJjR2tzWEc0Z0lFUmhkR0ZVY21GdWMyWnZjbTFEYjI1MFpYaDBMRnh1SUNCR2FXVnNaQ3hjYmlBZ1JtbGxiR1JVZVhCbExGeHVJQ0JuWlhSR2FXVnNaRVJwYzNCc1lYbE9ZVzFsTEZ4dUlDQkxaWGxXWVd4MVpTeGNiaUFnYzNSaGJtUmhjbVJVY21GdWMyWnZjbTFsY25Nc1hHNTlJR1p5YjIwZ0owQm5jbUZtWVc1aEwyUmhkR0VuTzF4dWFXMXdiM0owSUhzZ1kyOXVabWxuSUgwZ1puSnZiU0FuUUdkeVlXWmhibUV2Y25WdWRHbHRaU2M3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0J6ZEdGdVpHRnlaRUZ1Ym05MFlYUnBiMjVUZFhCd2IzSjBPaUJCYm01dmRHRjBhVzl1VTNWd2NHOXlkQ0E5SUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRUZ6YzNWdFpTQjBhR1VnYzNSdmNtVmtJSFpoYkhWbElHbHpJSE4wWVc1a1lYSmtJRzF2WkdWc0xseHVJQ0FnS2k5Y2JpQWdjSEpsY0dGeVpVRnVibTkwWVhScGIyNDZJQ2hxYzI5dU9pQmhibmtwSUQwK0lIdGNiaUFnSUNCcFppQW9hWE5UZEhKcGJtY29hbk52Ymo4dWNYVmxjbmtwS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0I3SUhGMVpYSjVMQ0F1TGk1eVpYTjBJSDBnUFNCcWMyOXVPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdMaTR1Y21WemRDeGNiaUFnSUNBZ0lDQWdkR0Z5WjJWME9pQjdYRzRnSUNBZ0lDQWdJQ0FnY21WbVNXUTZJQ2RoYm01dmRHRjBhVzl1WDNGMVpYSjVKeXhjYmlBZ0lDQWdJQ0FnSUNCeGRXVnllU3hjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ2JXRndjR2x1WjNNNklIdDlMRnh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdwemIyNGdZWE1nUVc1dWIzUmhkR2x2YmxGMVpYSjVPMXh1SUNCOUxGeHVYRzRnSUM4cUtseHVJQ0FnS2lCRVpXWmhkV3gwSUhkcGJHd2dhblZ6ZENCeVpYUjFjbTRnZEdGeVoyVjBJR1p5YjIwZ2RHaGxJR0Z1Ym05MFlYUnBiMjR1WEc0Z0lDQXFMMXh1SUNCd2NtVndZWEpsVVhWbGNuazZJQ2hoYm01dk9pQkJibTV2ZEdGMGFXOXVVWFZsY25rcElEMCtJR0Z1Ym04dWRHRnlaMlYwTEZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJRY205MmFXUmxjeUJrWldaaGRXeDBJSEJ5YjJObGMzTnBibWNnWm5KdmJTQmtZWFJoUm5KaGJXVWdkRzhnWVc1dWIzUmhkR2x2YmlCbGRtVnVkSE11WEc0Z0lDQXFMMXh1SUNCd2NtOWpaWE56UlhabGJuUnpPaUFvWVc1dWJ6b2dRVzV1YjNSaGRHbHZibEYxWlhKNUxDQmtZWFJoT2lCRVlYUmhSbkpoYldWYlhTa2dQVDRnZTF4dUlDQWdJSEpsZEhWeWJpQm5aWFJCYm01dmRHRjBhVzl1YzBaeWIyMUVZWFJoS0dSaGRHRXNJR0Z1Ym04dWJXRndjR2x1WjNNcE8xeHVJQ0I5TEZ4dWZUdGNibHh1THlvcVhHNGdLaUJHYkdGMGRHVnVJR0ZzYkNCbWNtRnRaWE1nYVc1MGJ5QmhJSE5wYm1kc1pTQm1jbUZ0WlNCM2FYUm9JRzFsY21kbFZISmhibk5tYjNKdFpYSXVYRzRnS2k5Y2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlITnBibWRzWlVaeVlXMWxSbkp2YlZCaGJtVnNSR0YwWVNncE9pQlBjR1Z5WVhSdmNrWjFibU4wYVc5dVBFUmhkR0ZHY21GdFpWdGRMQ0JFWVhSaFJuSmhiV1VnZkNCMWJtUmxabWx1WldRK0lIdGNiaUFnY21WMGRYSnVJQ2h6YjNWeVkyVXBJRDArWEc0Z0lDQWdjMjkxY21ObExuQnBjR1VvWEc0Z0lDQWdJQ0J0WlhKblpVMWhjQ2dvWkdGMFlTa2dQVDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9JV1JoZEdFL0xteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnZaaWgxYm1SbFptbHVaV1FwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0dSaGRHRXViR1Z1WjNSb0lEMDlQU0F4S1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHOW1LR1JoZEdGYk1GMHBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWTNSNE9pQkVZWFJoVkhKaGJuTm1iM0p0UTI5dWRHVjRkQ0E5SUh0Y2JpQWdJQ0FnSUNBZ0lDQnBiblJsY25CdmJHRjBaVG9nS0hZNklITjBjbWx1WnlrZ1BUNGdkaXhjYmlBZ0lDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2IyWW9aR0YwWVNrdWNHbHdaU2hjYmlBZ0lDQWdJQ0FnSUNCemRHRnVaR0Z5WkZSeVlXNXpabTl5YldWeWN5NXRaWEpuWlZSeVlXNXpabTl5YldWeUxtOXdaWEpoZEc5eUtIdDlMQ0JqZEhncExGeHVJQ0FnSUNBZ0lDQWdJRzFoY0Nnb1pDa2dQVDRnWkZzd1hTbGNiaUFnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSDBwWEc0Z0lDQWdLVHRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRUZ1Ym05MFlYUnBiMjVGZG1WdWRFWnBaV3hrVTJWMGRHVnlJSHRjYmlBZ2EyVjVPaUJyWlhsdlppQkJibTV2ZEdGMGFXOXVSWFpsYm5RN1hHNGdJR1pwWld4a1B6b2dSbWxsYkdRN1hHNGdJSFJsZUhRL09pQnpkSEpwYm1jN1hHNGdJSEpsWjJWNFB6b2dVbVZuUlhod08xeHVJQ0J6Y0d4cGREODZJSE4wY21sdVp6c2dMeThnWm05eUlIUmhaM05jYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJibTV2ZEdGMGFXOXVSbWxsYkdSSmJtWnZJSHRjYmlBZ2EyVjVPaUJyWlhsdlppQkJibTV2ZEdGMGFXOXVSWFpsYm5RN1hHNWNiaUFnYzNCc2FYUS9PaUJ6ZEhKcGJtYzdYRzRnSUdacFpXeGtQem9nS0daeVlXMWxPaUJFWVhSaFJuSmhiV1VwSUQwK0lFWnBaV3hrSUh3Z2RXNWtaV1pwYm1Wa08xeHVJQ0J3YkdGalpXaHZiR1JsY2o4NklITjBjbWx1Wnp0Y2JpQWdhR1ZzY0Q4NklITjBjbWx1Wnp0Y2JuMWNibHh1THk4Z1ZHaGxjMlVnWm1sbGJHUnpJR2RsZENCaFpHUmxaQ0IwYnlCMGFHVWdjM1JoYm1SaGNtUWdWVWxjYm1WNGNHOXlkQ0JqYjI1emRDQmhibTV2ZEdGMGFXOXVSWFpsYm5ST1lXMWxjem9nUVc1dWIzUmhkR2x2YmtacFpXeGtTVzVtYjF0ZElEMGdXMXh1SUNCN1hHNGdJQ0FnYTJWNU9pQW5kR2x0WlNjc1hHNGdJQ0FnWm1sbGJHUTZJQ2htY21GdFpUb2dSR0YwWVVaeVlXMWxLU0E5UGlCbWNtRnRaUzVtYVdWc1pITXVabWx1WkNnb1ppa2dQVDRnWmk1MGVYQmxJRDA5UFNCR2FXVnNaRlI1Y0dVdWRHbHRaU2tzWEc0Z0lDQWdjR3hoWTJWb2IyeGtaWEk2SUNkMGFXMWxMQ0J2Y2lCMGFHVWdabWx5YzNRZ2RHbHRaU0JtYVdWc1pDY3NYRzRnSUgwc1hHNGdJSHNnYTJWNU9pQW5kR2x0WlVWdVpDY3NJR2hsYkhBNklDZFhhR1Z1SUhSb2FYTWdabWxsYkdRZ2FYTWdaR1ZtYVc1bFpDd2dkR2hsSUdGdWJtOTBZWFJwYjI0Z2QybHNiQ0JpWlNCMGNtVmhkR1ZrSUdGeklHRWdjbUZ1WjJVbklIMHNYRzRnSUh0Y2JpQWdJQ0JyWlhrNklDZDBhWFJzWlNjc1hHNGdJSDBzWEc0Z0lIdGNiaUFnSUNCclpYazZJQ2QwWlhoMEp5eGNiaUFnSUNCbWFXVnNaRG9nS0daeVlXMWxPaUJFWVhSaFJuSmhiV1VwSUQwK0lHWnlZVzFsTG1acFpXeGtjeTVtYVc1a0tDaG1LU0E5UGlCbUxuUjVjR1VnUFQwOUlFWnBaV3hrVkhsd1pTNXpkSEpwYm1jcExGeHVJQ0FnSUhCc1lXTmxhRzlzWkdWeU9pQW5kR1Y0ZEN3Z2IzSWdkR2hsSUdacGNuTjBJSFJsZUhRZ1ptbGxiR1FuTEZ4dUlDQjlMRnh1SUNCN0lHdGxlVG9nSjNSaFozTW5MQ0J6Y0d4cGREb2dKeXduTENCb1pXeHdPaUFuVkdobElISmxjM1ZzZEhNZ2QybHNiQ0JpWlNCemNHeHBkQ0J2YmlCamIyMXRZU0FvTENrbklIMHNYRzRnSUh0Y2JpQWdJQ0JyWlhrNklDZHBaQ2NzWEc0Z0lIMHNYRzVkTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnY0hWaWJHbGpSR0Z6YUdKdllYSmtSWFpsYm5ST1lXMWxjem9nUVc1dWIzUmhkR2x2YmtacFpXeGtTVzVtYjF0ZElEMGdXMXh1SUNCN1hHNGdJQ0FnYTJWNU9pQW5ZMjlzYjNJbkxGeHVJQ0I5TEZ4dUlDQjdYRzRnSUNBZ2EyVjVPaUFuYVhOU1pXZHBiMjRuTEZ4dUlDQjlMRnh1SUNCN1hHNGdJQ0FnYTJWNU9pQW5jMjkxY21ObEp5eGNiaUFnZlN4Y2JsMDdYRzVjYmk4dklFZHBkbVZ1SUd4bFoyRmplU0JwYm1aeVlYTjBjblZqZEhWeVpTd2dZV3hsY25RZ1pYWmxiblJ6SUdGeVpTQndZWE56WldRZ2RHaHZkV2RvSUhSb1pTQnpZVzFsSUdGdWJtOTBZWFJwYjI1Y2JpOHZJSEJwY0dWc2FXNWxMQ0JpZFhRZ2FXNWpiSFZrWlNCbWFXVnNaSE1nZEdoaGRDQnphRzkxYkdRZ2JtOTBJR0psSUdWNGNHOXpaV1FnWjJWdVpYSmhiR3g1WEc1amIyNXpkQ0JoYkdWeWRFVjJaVzUwUVc1a1FXNXViM1JoZEdsdmJrWnBaV3hrY3pvZ1FXNXViM1JoZEdsdmJrWnBaV3hrU1c1bWIxdGRJRDBnVzF4dUlDQXVMaTRvWTI5dVptbG5MbkIxWW14cFkwUmhjMmhpYjJGeVpFRmpZMlZ6YzFSdmEyVnVJRDhnY0hWaWJHbGpSR0Z6YUdKdllYSmtSWFpsYm5ST1lXMWxjeUE2SUZ0ZEtTeGNiaUFnTGk0dVlXNXViM1JoZEdsdmJrVjJaVzUwVG1GdFpYTXNYRzRnSUhzZ2EyVjVPaUFuZFhObGNrbGtKeUI5TEZ4dUlDQjdJR3RsZVRvZ0oyeHZaMmx1SnlCOUxGeHVJQ0I3SUd0bGVUb2dKMlZ0WVdsc0p5QjlMRnh1SUNCN0lHdGxlVG9nSjNCeVpYWlRkR0YwWlNjZ2ZTeGNiaUFnZXlCclpYazZJQ2R1WlhkVGRHRjBaU2NnZlN4Y2JpQWdleUJyWlhrNklDZGtZWFJoSnlCaGN5QmhibmtnZlN4Y2JpQWdleUJyWlhrNklDZHdZVzVsYkVsa0p5QjlMRnh1SUNCN0lHdGxlVG9nSjJGc1pYSjBTV1FuSUgwc1hHNGdJSHNnYTJWNU9pQW5aR0Z6YUdKdllYSmtTV1FuSUgwc1hHNGdJSHNnYTJWNU9pQW5aR0Z6YUdKdllYSmtWVWxFSnlCOUxGeHVYVHRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRFRnVibTkwWVhScGIyNXpSbkp2YlVSaGRHRW9YRzRnSUdSaGRHRTZJRVJoZEdGR2NtRnRaVnRkTEZ4dUlDQnZjSFJwYjI1elB6b2dRVzV1YjNSaGRHbHZia1YyWlc1MFRXRndjR2x1WjNOY2JpazZJRTlpYzJWeWRtRmliR1U4UVc1dWIzUmhkR2x2YmtWMlpXNTBXMTArSUh0Y2JpQWdjbVYwZFhKdUlHOW1LR1JoZEdFcExuQnBjR1VvWEc0Z0lDQWdjMmx1WjJ4bFJuSmhiV1ZHY205dFVHRnVaV3hFWVhSaEtDa3NYRzRnSUNBZ2JXRndLQ2htY21GdFpTa2dQVDRnZTF4dUlDQWdJQ0FnYVdZZ0tDRm1jbUZ0WlQ4dWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdiR1YwSUdoaGMxUnBiV1VnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJR3hsZENCb1lYTlVaWGgwSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0JqYjI1emRDQmllVTVoYldVNklFdGxlVlpoYkhWbFBFWnBaV3hrUGlBOUlIdDlPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUdZZ2IyWWdabkpoYldVdVptbGxiR1J6S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc1aGJXVWdQU0JuWlhSR2FXVnNaRVJwYzNCc1lYbE9ZVzFsS0dZc0lHWnlZVzFsS1R0Y2JpQWdJQ0FnSUNBZ1lubE9ZVzFsVzI1aGJXVXVkRzlNYjNkbGNrTmhjMlVvS1YwZ1BTQm1PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb0lXOXdkR2x2Ym5NcElIdGNiaUFnSUNBZ0lDQWdiM0IwYVc5dWN5QTlJSHQ5TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCamIyNXpkQ0JtYVdWc1pITTZJRUZ1Ym05MFlYUnBiMjVGZG1WdWRFWnBaV3hrVTJWMGRHVnlXMTBnUFNCYlhUdGNibHh1SUNBZ0lDQWdabTl5SUNoamIyNXpkQ0JsZG5SeklHOW1JR0ZzWlhKMFJYWmxiblJCYm1SQmJtNXZkR0YwYVc5dVJtbGxiR1J6S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc5d2RDQTlJRzl3ZEdsdmJuTmJaWFowY3k1clpYbGRJSHg4SUh0OU95QXZMMEZ1Ym05MFlYUnBiMjVGZG1WdWRFWnBaV3hrVFdGd2NHbHVaMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHZjSFF1YzI5MWNtTmxJRDA5UFNCQmJtNXZkR0YwYVc5dVJYWmxiblJHYVdWc1pGTnZkWEpqWlM1VGEybHdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpaWFIwWlhJNklFRnVibTkwWVhScGIyNUZkbVZ1ZEVacFpXeGtVMlYwZEdWeUlEMGdleUJyWlhrNklHVjJkSE11YTJWNUxDQnpjR3hwZERvZ1pYWjBjeTV6Y0d4cGRDQjlPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHZjSFF1YzI5MWNtTmxJRDA5UFNCQmJtNXZkR0YwYVc5dVJYWmxiblJHYVdWc1pGTnZkWEpqWlM1VVpYaDBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2MyVjBkR1Z5TG5SbGVIUWdQU0J2Y0hRdWRtRnNkV1U3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYkc5M1pYSWdQU0FvYjNCMExuWmhiSFZsSUh4OElHVjJkSE11YTJWNUtTNTBiMHh2ZDJWeVEyRnpaU2dwTzF4dUlDQWdJQ0FnSUNBZ0lITmxkSFJsY2k1bWFXVnNaQ0E5SUdKNVRtRnRaVnRzYjNkbGNsMDdYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9JWE5sZEhSbGNpNW1hV1ZzWkNBbUppQmxkblJ6TG1acFpXeGtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaWFIwWlhJdVptbGxiR1FnUFNCbGRuUnpMbVpwWld4a0tHWnlZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9jMlYwZEdWeUxtWnBaV3hrSUh4OElITmxkSFJsY2k1MFpYaDBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1ptbGxiR1J6TG5CMWMyZ29jMlYwZEdWeUtUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2MyVjBkR1Z5TG10bGVTQTlQVDBnSjNScGJXVW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm9ZWE5VYVcxbElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLSE5sZEhSbGNpNXJaWGtnUFQwOUlDZDBaWGgwSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYUdGelZHVjRkQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2doYUdGelZHbHRaU0I4ZkNBaGFHRnpWR1Y0ZENrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6YjJ4bExtVnljbTl5S0NkRFlXNXViM1FnY0hKdlkyVnpjeUJoYm01dmRHRjBhVzl1SUdacFpXeGtjeTRnVG04Z2RHbHRaU0J2Y2lCMFpYaDBJSEJ5WlhObGJuUXVKeWs3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJiWFR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0x5OGdRV1JrSUdWaFkyZ2dkbUZzZFdVZ2RHOGdkR2hsSUhOMGNtbHVaMXh1SUNBZ0lDQWdZMjl1YzNRZ1pYWmxiblJ6T2lCQmJtNXZkR0YwYVc5dVJYWmxiblJiWFNBOUlGdGRPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdaeVlXMWxMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdGdWJtODZJRUZ1Ym05MFlYUnBiMjVGZG1WdWRDQTlJSHRjYmlBZ0lDQWdJQ0FnSUNCMGVYQmxPaUFuWkdWbVlYVnNkQ2NzWEc0Z0lDQWdJQ0FnSUNBZ1kyOXNiM0k2SUNkeVpXUW5MRnh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdaaUJ2WmlCbWFXVnNaSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQnNaWFFnZGpvZ1lXNTVJRDBnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dZdWRHVjRkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkaUE5SUdZdWRHVjRkRHNnTHk4Z1ZFOUVUeUJ6ZFhCd2IzSjBJSFJsYlhCc1lYUmxjeUZjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHWXVabWxsYkdRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhZZ1BTQm1MbVpwWld4a0xuWmhiSFZsY3k1blpYUW9hU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZGlBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUdZdWNtVm5aWGdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdiV0YwWTJnZ1BTQm1MbkpsWjJWNExtVjRaV01vZGlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHRZWFJqYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWWdQU0J0WVhSamFGc3hYU0EvSUcxaGRHTm9XekZkSURvZ2JXRjBZMmhiTUYwN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2RpQWhQVDBnYm5Wc2JDQW1KaUIySUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htTG5Od2JHbDBJQ1ltSUhSNWNHVnZaaUIySUQwOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjJJRDBnZGk1emNHeHBkQ2duTENjcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdLR0Z1Ym04Z1lYTWdZVzU1S1Z0bUxtdGxlVjBnUFNCMk8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHVjJaVzUwY3k1d2RYTm9LR0Z1Ym04cE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUdWMlpXNTBjenRjYmlBZ0lDQjlLVnh1SUNBcE8xeHVmVnh1WEc0dkx5QlVhR1Z6WlNCdmNIUWdiM1YwY3lCaGNtVWdhR1Z5WlNCdmJteDVJR1p2Y2lCeGRXbGphMlZ5SUdGdVpDQmxZWE5wWlhJZ2JXbG5jbUYwYVc5dUlIUnZJSEpsWVdOMElHSmhjMlZrSUdGdWJtOTBZWFJwYjI1eklHVmthWFJ2Y25NZ1lXNWtJR0psWTJGMWMyVmNiaTh2SUdGdWJtOTBZWFJwYjI0Z2MzVndjRzl5ZENCQlVFa2dibVZsWkhNZ2MyOXRaU0IzYjNKcklIUnZJSE4xY0hCdmNuUWdiR1Z6Y3lCY0luTjBZVzVrWVhKa1hDSWdaV1JwZEc5eWN5QnNhV3RsSUhCeWIyMWxkR2hsZFhNZ1lXNWtJR2hsY21VZ2FYUWdhWE1nYm05MFhHNHZMeUJ3YjJ4c2RYUnBibWNnY0hWaWJHbGpJRUZRU1M1Y2JseHVZMjl1YzNRZ2JHVm5ZV041VW5WdWJtVnlJRDBnVzF4dUlDQW5jSEp2YldWMGFHVjFjeWNzWEc0Z0lDZHNiMnRwSnl4Y2JpQWdKMlZzWVhOMGFXTnpaV0Z5WTJnbkxGeHVJQ0FuWjNKaFptRnVZUzF2Y0dWdWMyVmhjbU5vTFdSaGRHRnpiM1Z5WTJVbkxDQXZMeUJsZUhSbGNtNWhiRnh1WFR0Y2JseHVMeW9xWEc0Z0tpQlZjMlVnYkdWbllXTjVJSEoxYm01bGNpNGdWWE5sWkNCdmJteDVJR0Z6SUdGdUlHVnpZMkZ3WlNCb1lYUmphQ0JtYjNJZ1pXRnphV1Z5SUhSeVlXNXphWFJwYjI0Z2RHOGdVbVZoWTNRZ1ltRnpaV1FnWVc1dWIzUmhkR2x2YmlCbFpHbDBiM0l1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnphRzkxYkdSVmMyVk1aV2RoWTNsU2RXNXVaWElvWkdGMFlYTnZkWEpqWlRvZ1JHRjBZVk52ZFhKalpVRndhU2s2SUdKdmIyeGxZVzRnZTF4dUlDQmpiMjV6ZENCN0lIUjVjR1VnZlNBOUlHUmhkR0Z6YjNWeVkyVTdYRzRnSUhKbGRIVnliaUFoWkdGMFlYTnZkWEpqWlM1aGJtNXZkR0YwYVc5dWN5QjhmQ0JzWldkaFkzbFNkVzV1WlhJdWFXNWpiSFZrWlhNb2RIbHdaU2s3WEc1OVhHNGlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEJRWEZDVHl4TlFVRk5MSGxDUVVFclF5eEhRVUZCTzBGQlFVRXNSVUZKTVVRc2FVSkJRVUVzUlVGQmJVSXNRMEZCUXl4SlFVRmpMRXRCUVVFN1FVRkRhRU1zU1VGQlNTeEpRVUZCTEZGQlFVRXNRMEZCVXl4SlFVRk5MRWxCUVVFc1NVRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVsQlFVRXNRMEZCUVN4TFFVRkxMRU5CUVVjc1JVRkJRVHRCUVVONlFpeE5RVUZCTEUxQlFUSkNMRmRCUVc1Q0xFVkJNMEprTEV0QlFVRXNSVUZCUVN4SFFUSkNhVU1zUlVGQlZDeEZRVUZCTEVsQlFVRXNSMEZCUVN4VFFVRkJMRU5CUVZNc1NVRkJWQ3hEUVVGV0xFOUJRVUVzUTBGQlFTeERRVUZCTEVOQlFVRTdRVUZEVWl4TlFVRkJMRTlCUVU4c2FVTkJRMFlzU1VGRVJTeERRVUZCTEVWQlFVRTdRVUZCUVN4UlFVVk1MRTFCUVZFc1JVRkJRVHRCUVVGQkxGVkJRMDRzUzBGQlR5eEZRVUZCTEd0Q1FVRkJPMEZCUVVFc1ZVRkRVQ3hMUVVGQk8wRkJRVUVzVTBGRFJqdEJRVUZCTEZGQlEwRXNWVUZCVlN4RlFVRkRPMEZCUVVFc1QwRkRZaXhEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU5HTzBGQlEwRXNTVUZCVHl4UFFVRkJMRWxCUVVFc1EwRkJRVHRCUVVGQkxFZEJRMVE3UVVGQlFTeEZRVXRCTEZsQlFVRXNSVUZCWXl4RFFVRkRMRWxCUVVFc1MwRkJNRUlzU1VGQlN5eERRVUZCTEUxQlFVRTdRVUZCUVN4RlFVczVReXhoUVVGQkxFVkJRV1VzUTBGQlF5eEpRVUZCTEVWQlFYVkNMRWxCUVhOQ0xFdEJRVUU3UVVGRE0wUXNTVUZCVHl4UFFVRkJMSE5DUVVGQkxFTkJRWFZDTEVsQlFVMHNSVUZCUVN4SlFVRkJMRU5CUVVzc1VVRkJVU3hEUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU51UkR0QlFVTkdMRVZCUVVFN1FVRk5UeXhUUVVGVExIZENRVUZwUml4SFFVRkJPMEZCUXk5R0xFVkJRVThzVDBGQlFTeERRVUZETEZkQlEwNHNUVUZCVHl4RFFVRkJMRWxCUVVFN1FVRkJRU3hKUVVOTUxGRkJRVUVzUTBGQlV5eERRVUZETEVsQlFWTXNTMEZCUVR0QlFVTnFRaXhOUVVGSkxFbEJRVUVzUlVGQlF5dzJRa0ZCVFN4TlFVRlJMRU5CUVVFc1JVRkJRVHRCUVVOcVFpeFJRVUZCTEU5QlFVOHNSMEZCUnl4TFFVRlRMRU5CUVVFc1EwRkJRU3hEUVVGQk8wRkJRVUVzVDBGRGNrSTdRVUZGUVN4TlFVRkpMRWxCUVVFc1NVRkJRU3hEUVVGTExGZEJRVmNzUTBGQlJ5eEZRVUZCTzBGQlEzSkNMRkZCUVU4c1QwRkJRU3hGUVVGQkxFTkJRVWNzUzBGQlN5eERRVUZGTEVOQlFVRXNRMEZCUVN4RFFVRkJPMEZCUVVFc1QwRkRia0k3UVVGRlFTeE5RVUZCTEUxQlFVMHNSMEZCTkVJc1IwRkJRVHRCUVVGQkxGRkJRMmhETEZkQlFVRXNSVUZCWVN4RFFVRkRMRU5CUVdNc1MwRkJRU3hEUVVGQk8wRkJRVUVzVDBGRE9VSXNRMEZCUVR0QlFVVkJMRTFCUVU4c1QwRkJRU3hGUVVGQkxFTkJRVWNzU1VGQlNTeERRVUZGTEVOQlFVRXNTVUZCUVR0QlFVRkJMRkZCUTJRc2IwSkJRWEZDTEVOQlFVRXNaMEpCUVVFc1EwRkJhVUlzVVVGQlV5eERRVUZCTEVsQlFVa3NSMEZCUnl4RFFVRkJPMEZCUVVFc1VVRkRkRVFzUjBGQlNTeERRVUZCTEVOQlFVTXNRMEZCVFN4TFFVRkJMRU5CUVVFc1EwRkJSU3hEUVVGRkxFTkJRVUVzUTBGQlFUdEJRVUZCTEU5QlEycENMRU5CUVVFN1FVRkJRU3hMUVVORUxFTkJRVUU3UVVGQlFTeEhRVU5JTEVOQlFVRTdRVUZEU2l4RFFVRkJPMEZCYjBKUExFMUJRVTBzYjBKQlFUaERMRWRCUVVFN1FVRkJRU3hGUVVONlJEdEJRVUZCTEVsQlEwVXNSMEZCU3l4RlFVRkJMRTFCUVVFN1FVRkJRU3hKUVVOTUxFdEJRVUVzUlVGQlR5eERRVUZETEV0QlFVRXNTMEZCY1VJc1MwRkJUU3hEUVVGQkxFMUJRVUVzUTBGQlR5eEpRVUZMTEVOQlFVRXNRMEZCUXl4RFFVRk5MRXRCUVVFc1EwRkJRU3hEUVVGRkxFbEJRVk1zUzBGQlFTeFRRVUZCTEVOQlFWVXNTVUZCU1N4RFFVRkJPMEZCUVVFc1NVRkRMMFVzVjBGQllTeEZRVUZCTEN0Q1FVRkJPMEZCUVVFc1IwRkRaanRCUVVGQkxFVkJRMEVzUlVGQlJTeEhRVUZCTEVWQlFVc3NVMEZCVnl4RlFVRkJMRWxCUVVFc1JVRkJUU3gxUlVGQmQwVXNSVUZCUVR0QlFVRkJMRVZCUTJoSE8wRkJRVUVzU1VGRFJTeEhRVUZMTEVWQlFVRXNUMEZCUVR0QlFVRkJMRWRCUTFBN1FVRkJRU3hGUVVOQk8wRkJRVUVzU1VGRFJTeEhRVUZMTEVWQlFVRXNUVUZCUVR0QlFVRkJMRWxCUTB3c1MwRkJRU3hGUVVGUExFTkJRVU1zUzBGQlFTeExRVUZ4UWl4TFFVRk5MRU5CUVVFc1RVRkJRU3hEUVVGUExFbEJRVXNzUTBGQlFTeERRVUZETEVOQlFVMHNTMEZCUVN4RFFVRkJMRU5CUVVVc1NVRkJVeXhMUVVGQkxGTkJRVUVzUTBGQlZTeE5RVUZOTEVOQlFVRTdRVUZCUVN4SlFVTnFSaXhYUVVGaExFVkJRVUVzSzBKQlFVRTdRVUZCUVN4SFFVTm1PMEZCUVVFc1JVRkRRU3hGUVVGRkxFZEJRVXNzUlVGQlFTeE5RVUZCTEVWQlFWRXNTMEZCVHl4RlFVRkJMRWRCUVVFc1JVRkJTeXhOUVVGTkxIZERRVUY1UXl4RlFVRkJPMEZCUVVFc1JVRkRNVVU3UVVGQlFTeEpRVU5GTEVkQlFVc3NSVUZCUVN4SlFVRkJPMEZCUVVFc1IwRkRVRHRCUVVOR0xFVkJRVUU3UVVGRlR5eE5RVUZOTEhsQ1FVRnRSQ3hIUVVGQk8wRkJRVUVzUlVGRE9VUTdRVUZCUVN4SlFVTkZMRWRCUVVzc1JVRkJRU3hQUVVGQk8wRkJRVUVzUjBGRFVEdEJRVUZCTEVWQlEwRTdRVUZCUVN4SlFVTkZMRWRCUVVzc1JVRkJRU3hWUVVGQk8wRkJRVUVzUjBGRFVEdEJRVUZCTEVWQlEwRTdRVUZCUVN4SlFVTkZMRWRCUVVzc1JVRkJRU3hSUVVGQk8wRkJRVUVzUjBGRFVEdEJRVU5HTEVWQlFVRTdRVUZKUVN4TlFVRk5MRFpDUVVGMVJDeEhRVUZCTzBGQlFVRXNSVUZETTBRc1IwRkJTU3hOUVVGQkxFTkJRVThzTUVKQlFUWkNMRWRCUVVFc2VVSkJRVUVzUjBGQk5FSXNSVUZCUXp0QlFVRkJMRVZCUTNKRkxFZEJRVWNzYjBKQlFVRTdRVUZCUVN4RlFVTklMRVZCUVVVc1MwRkJTeXhSUVVGVExFVkJRVUU3UVVGQlFTeEZRVU5vUWl4RlFVRkZMRXRCUVVzc1QwRkJVU3hGUVVGQk8wRkJRVUVzUlVGRFppeEZRVUZGTEV0QlFVc3NUMEZCVVN4RlFVRkJPMEZCUVVFc1JVRkRaaXhGUVVGRkxFdEJRVXNzVjBGQldTeEZRVUZCTzBGQlFVRXNSVUZEYmtJc1JVRkJSU3hMUVVGTExGVkJRVmNzUlVGQlFUdEJRVUZCTEVWQlEyeENMRVZCUVVVc1MwRkJTeXhOUVVGakxFVkJRVUU3UVVGQlFTeEZRVU55UWl4RlFVRkZMRXRCUVVzc1UwRkJWU3hGUVVGQk8wRkJRVUVzUlVGRGFrSXNSVUZCUlN4TFFVRkxMRk5CUVZVc1JVRkJRVHRCUVVGQkxFVkJRMnBDTEVWQlFVVXNTMEZCU3l4aFFVRmpMRVZCUVVFN1FVRkJRU3hGUVVOeVFpeEZRVUZGTEV0QlFVc3NZMEZCWlN4RlFVRkJPMEZCUTNoQ0xFTkJRVUVzUTBGQlFUdEJRVVZuUWl4VFFVRkJMSE5DUVVGQkxFTkJRMlFzVFVGRFFTeFBRVU1yUWl4RlFVRkJPMEZCUXk5Q0xFVkJRVThzVDBGQlFTeEZRVUZCTEVOQlFVY3NTVUZCU1N4RFFVRkZMRU5CUVVFc1NVRkJRVHRCUVVGQkxFbEJRMlFzZDBKQlFYbENMRVZCUVVFN1FVRkJRU3hKUVVONlFpeEhRVUZCTEVOQlFVa3NRMEZCUXl4TFFVRlZMRXRCUVVFN1FVRkRZaXhOUVVGSkxFbEJRVUVzUlVGQlF5d3JRa0ZCVHl4TlFVRlJMRU5CUVVFc1JVRkJRVHRCUVVOc1FpeFJRVUZCTEU5QlFVOHNSVUZCUXl4RFFVRkJPMEZCUVVFc1QwRkRWanRCUVVWQkxFMUJRVUVzU1VGQlNTeFBRVUZWTEVkQlFVRXNTMEZCUVN4RFFVRkJPMEZCUTJRc1RVRkJRU3hKUVVGSkxFOUJRVlVzUjBGQlFTeExRVUZCTEVOQlFVRTdRVUZEWkN4TlFVRkJMRTFCUVUwc1UwRkJNRUlzUlVGQlF5eERRVUZCTzBGQlJXcERMRTFCUVZjc1MwRkJRU3hOUVVGQkxFTkJRVUVzU1VGQlN5eE5RVUZOTEUxQlFWRXNSVUZCUVR0QlFVTTFRaXhSUVVGTkxFMUJRVUVzU1VGQlFTeEhRVUZQTEcxQ1FVRnZRaXhEUVVGQkxFTkJRVUVzUlVGQlJ5eExRVUZMTEVOQlFVRXNRMEZCUVR0QlFVTjZReXhSUVVGUExFMUJRVUVzUTBGQlFTeEpRVUZCTEVOQlFVc3NZVUZCYVVJc1EwRkJRU3hIUVVGQkxFTkJRVUVzUTBGQlFUdEJRVUZCTEU5QlF5OUNPMEZCUlVFc1RVRkJRU3hKUVVGSkxFTkJRVU1zVDBGQlV5eEZRVUZCTzBGQlExb3NVVUZCUVN4UFFVRkJMRWRCUVZVc1JVRkJReXhEUVVGQk8wRkJRVUVzVDBGRFlqdEJRVVZCTEUxQlFVRXNUVUZCVFN4VFFVRjFReXhGUVVGRExFTkJRVUU3UVVGRk9VTXNUVUZCUVN4TFFVRkJMRTFCUVZjc1VVRkJVU3cyUWtGQkswSXNSVUZCUVR0QlFVTm9SQ3hSUVVGQkxFMUJRVTBzUjBGQlRTeEhRVUZCTEU5QlFVRXNRMEZCVVN4SlFVRkxMRU5CUVVFc1IwRkJRU3hEUVVGQkxFbEJRVkVzUlVGQlF5eERRVUZCTzBGQlJXeERMRkZCUVVrc1NVRkJRU3hIUVVGQkxFTkJRVWtzVFVGQlZ5eExRVUZCTERCQ1FVRkJMRU5CUVRKQ0xFbEJRVTBzUlVGQlFUdEJRVU5zUkN4VlFVRkJMRk5CUVVFN1FVRkJRU3hUUVVOR08wRkJSVUVzVVVGQlFTeE5RVUZOTEZOQlFYRkRMRVZCUVVVc1IwRkJRU3hGUVVGTExFdEJRVXNzUjBGQlN5eEZRVUZCTEV0QlFVRXNSVUZCVHl4TFFVRkxMRXRCUVUwc1JVRkJRU3hEUVVGQk8wRkJSVGxGTEZGQlFVa3NTVUZCUVN4SFFVRkJMRU5CUVVrc1RVRkJWeXhMUVVGQkxEQkNRVUZCTEVOQlFUSkNMRWxCUVUwc1JVRkJRVHRCUVVOc1JDeFZRVUZCTEUxQlFVRXNRMEZCVHl4UFFVRlBMRWRCUVVrc1EwRkJRU3hMUVVGQkxFTkJRVUU3UVVGQlFTeFRRVU5pTEUxQlFVRTdRVUZEVEN4VlFVRkJMRTFCUVUwc1MwRkJVeXhIUVVGQkxFTkJRVUVzUjBGQlFTeERRVUZKTEV0QlFWTXNTVUZCUVN4SlFVRkJMRU5CUVVzc1MwRkJTeXhYUVVGWkxFVkJRVUVzUTBGQlFUdEJRVU5zUkN4VlFVRkJMRTFCUVVFc1EwRkJUeXhSUVVGUkxFMUJRVThzUTBGQlFTeExRVUZCTEVOQlFVRXNRMEZCUVR0QlFVVjBRaXhWUVVGQkxFbEJRVWtzUTBGQlF5eE5RVUZCTEVOQlFVOHNTMEZCVXl4SlFVRkJMRWxCUVVFc1EwRkJTeXhMUVVGUExFVkJRVUU3UVVGREwwSXNXVUZCVHl4TlFVRkJMRU5CUVVFc1MwRkJRU3hIUVVGUkxFbEJRVXNzUTBGQlFTeExRVUZCTEVOQlFVMHNTMEZCU3l4RFFVRkJMRU5CUVVFN1FVRkJRU3hYUVVOcVF6dEJRVUZCTEZOQlEwWTdRVUZGUVN4UlFVRkpMRWxCUVVFc1RVRkJRU3hEUVVGUExFdEJRVk1zU1VGQlFTeE5RVUZCTEVOQlFVOHNTVUZCVFN4RlFVRkJPMEZCUXk5Q0xGVkJRVUVzVFVGQlFTeERRVUZQTEV0QlFVc3NUVUZCVFN4RFFVRkJMRU5CUVVFN1FVRkRiRUlzVlVGQlNTeEpRVUZCTEUxQlFVRXNRMEZCVHl4UlFVRlJMRTFCUVZFc1JVRkJRVHRCUVVONlFpeFpRVUZWTEU5QlFVRXNSMEZCUVN4SlFVRkJMRU5CUVVFN1FVRkJRU3hYUVVOYUxFMUJRVUVzU1VGQlZ5eE5RVUZQTEVOQlFVRXNSMEZCUVN4TFFVRlJMRTFCUVZFc1JVRkJRVHRCUVVOb1F5eFpRVUZWTEU5QlFVRXNSMEZCUVN4SlFVRkJMRU5CUVVFN1FVRkJRU3hYUVVOYU8wRkJRVUVzVTBGRFJqdEJRVUZCTEU5QlEwWTdRVUZGUVN4TlFVRkpMRWxCUVVFc1EwRkJReXhQUVVGWExFbEJRVUVzUTBGQlF5eFBRVUZUTEVWQlFVRTdRVUZEZUVJc1VVRkJRU3hQUVVGQkxFTkJRVkVzVFVGQlRTdzBSRUZCTkVRc1EwRkJRU3hEUVVGQk8wRkJRekZGTEZGQlFVRXNUMEZCVHl4RlFVRkRMRU5CUVVFN1FVRkJRU3hQUVVOV08wRkJSMEVzVFVGQlFTeE5RVUZOTEZOQlFUUkNMRVZCUVVNc1EwRkJRVHRCUVVWdVF5eE5RVUZCTEV0QlFVRXNTVUZCVXl4RFFVRkpMRWRCUVVFc1EwRkJRU3hGUVVGSExFTkJRVWtzUjBGQlFTeExRVUZCTEVOQlFVMHNVVUZCVVN4RFFVRkxMRVZCUVVFc1JVRkJRVHRCUVVOeVF5eFJRVUZCTEUxQlFVMHNTVUZCZDBJc1IwRkJRVHRCUVVGQkxGVkJRelZDTEVsQlFVMHNSVUZCUVN4VFFVRkJPMEZCUVVFc1ZVRkRUaXhMUVVGUExFVkJRVUVzUzBGQlFUdEJRVUZCTEZOQlExUXNRMEZCUVR0QlFVVkJMRkZCUVVFc1MwRkJRU3hOUVVGWExFdEJRVXNzVFVGQlVTeEZRVUZCTzBGQlEzUkNMRlZCUVVFc1NVRkJTU3hEUVVGVExFZEJRVUVzUzBGQlFTeERRVUZCTEVOQlFVRTdRVUZGWWl4VlFVRkJMRWxCUVVrc1JVRkJSU3hKUVVGTkxFVkJRVUU3UVVGRFZpeFpRVUZCTEVOQlFVRXNSMEZCU1N4RFFVRkZMRU5CUVVFc1NVRkJRU3hEUVVGQk8wRkJRVUVzVjBGRFVpeE5RVUZCTEVsQlFWY3NSVUZCUlN4TFFVRlBMRVZCUVVFN1FVRkRiRUlzV1VGQlFTeERRVUZCTEVkQlFVa3NRMEZCUlN4RFFVRkJMRXRCUVVFc1EwRkJUU3hOUVVGUExFTkJRVUVzUjBGQlFTeERRVUZKTEVOQlFVTXNRMEZCUVN4RFFVRkJPMEZCUTNoQ0xGbEJRVWtzU1VGQlFTeERRVUZCTEV0QlFVMHNTMEZCWVN4RFFVRkJMRWxCUVVFc1EwRkJRU3hEUVVGRkxFdEJRVThzUlVGQlFUdEJRVU01UWl4alFVRkJMRTFCUVUwc1MwRkJVU3hIUVVGQkxFTkJRVUVzUTBGQlJTeExRVUZOTEVOQlFVRXNTVUZCUVN4RFFVRkxMRU5CUVVNc1EwRkJRU3hEUVVGQk8wRkJRelZDTEdOQlFVRXNTVUZCU1N4TFFVRlBMRVZCUVVFN1FVRkRWQ3huUWtGQlFTeERRVUZCTEVkQlFVa3NTMEZCVFN4RFFVRkJMRU5CUVVFc1EwRkJRU3hIUVVGTExFdEJRVTBzUTBGQlFTeERRVUZCTEVOQlFVRXNSMEZCU3l4TFFVRk5MRU5CUVVFc1EwRkJRU3hEUVVGQkxFTkJRVUU3UVVGQlFTeGxRVU5zUXp0QlFVRkJMR0ZCUTBZN1FVRkJRU3hYUVVOR08wRkJSVUVzVlVGQlNTeEpRVUZCTEVOQlFVRXNTMEZCVFN4SlFVRlJMRWxCUVVFc1EwRkJRU3hMUVVGTkxFdEJRVmNzUTBGQlFTeEZRVUZCTzBGQlEycERMRmxCUVVFc1NVRkJTU3hEUVVGRkxFTkJRVUVzUzBGQlFTeEpRVUZUTEU5QlFVOHNRMEZCUVN4TFFVRk5MRkZCUVZVc1JVRkJRVHRCUVVOd1F5eGpRVUZKTEVOQlFVRXNSMEZCUVN4RFFVRkJMRU5CUVVVc1RVRkJUU3hIUVVGSExFTkJRVUVzUTBGQlFUdEJRVUZCTEdGQlEycENPMEZCUTBFc1dVRkJReXhKUVVGQkxFTkJRV0VzUlVGQlJTeEhRVUZQTEVOQlFVRXNSMEZCUVN4RFFVRkJMRU5CUVVFN1FVRkJRU3hYUVVONlFqdEJRVUZCTEZOQlEwWTdRVUZGUVN4UlFVRkJMRTFCUVVFc1EwRkJUeXhMUVVGTExFbEJRVWtzUTBGQlFTeERRVUZCTzBGQlFVRXNUMEZEYkVJN1FVRkRRU3hOUVVGUExFOUJRVUVzVFVGQlFTeERRVUZCTzBGQlFVRXNTMEZEVWl4RFFVRkJPMEZCUVVFc1IwRkRTQ3hEUVVGQk8wRkJRMFlzUTBGQlFUdEJRVTFCTEUxQlFVMHNXVUZCWlN4SFFVRkJPMEZCUVVFc1JVRkRia0lzV1VGQlFUdEJRVUZCTEVWQlEwRXNUVUZCUVR0QlFVRkJMRVZCUTBFc1pVRkJRVHRCUVVGQkxFVkJRMEVzSzBKQlFVRTdRVUZEUml4RFFVRkJMRU5CUVVFN1FVRkxUeXhUUVVGVExITkNRVUZ6UWl4VlFVRnZReXhGUVVGQk8wRkJRM2hGTEVWQlFVMHNUVUZCUVN4RlFVRkZMRTFCUVZNc1IwRkJRU3hWUVVGQkxFTkJRVUU3UVVGRGFrSXNSVUZCUVN4UFFVRlBMRU5CUVVNc1ZVRkJRU3hEUVVGWExGZEJRV1VzU1VGQlFTeFpRVUZCTEVOQlFXRXNVMEZCVXl4SlFVRkpMRU5CUVVFc1EwRkJRVHRCUVVNNVJEczdPenNpZlE9PVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQk8sTUFBTSx5QkFBK0MsR0FBQTtBQUkxRCxFQUFBLGlCQUFBLEVBQW1CLENBQUMsSUFBYyxLQUFBO0FBQzVCLElBQUEsSUFBQSxTQUFTLElBQU0sSUFBQSxJQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUEsSUFBQSxDQUFBLEtBQUssQ0FBRyxFQUFBO0FBQ3pCLE1BQTJCLE1BQUEsRUFBQSxHQUFBLElBQW5CLEVBQUEsRUEzQmQsS0FBQSxFQUFBLEdBMkJpQyxFQUFULEVBQUEsSUFBQSxHQUFBLFNBQVMsQ0FBQSxFQUFBLEVBQVQsQ0FBVixPQUFBLENBQUEsQ0FBQSxDQUFBO0FBQ1IsTUFBQSxPQUFPLGFBQUEsQ0FBQSxjQUFBLENBQUEsRUFBQSxFQUNGLElBREUsQ0FBQSxFQUFBO1FBRUwsTUFBUSxFQUFBO1VBQ04sS0FBTyxFQUFBLGtCQUFBO0FBQ1As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
@@ -1,77 +0,0 @@
1
- import { config } from '@grafana/runtime';
2
- import { cloneDeep, partition, groupBy, map, every, find, head, concat } from 'lodash';
3
-
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __spreadValues = (a, b) => {
10
- for (var prop in b || (b = {}))
11
- if (__hasOwnProp.call(b, prop))
12
- __defNormalProp(a, prop, b[prop]);
13
- if (__getOwnPropSymbols)
14
- for (var prop of __getOwnPropSymbols(b)) {
15
- if (__propIsEnum.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
19
- };
20
- function postProcessQueryResult(annotation, results) {
21
- if (annotation.snapshotData) {
22
- annotation = cloneDeep(annotation);
23
- delete annotation.snapshotData;
24
- }
25
- const processed = results.map((item) => {
26
- var _a;
27
- const processedItem = __spreadValues({}, item);
28
- processedItem.source = annotation;
29
- processedItem.color = config.theme2.visualization.getColorByName(annotation.iconColor);
30
- processedItem.type = annotation.name;
31
- processedItem.isRegion = Boolean(processedItem.timeEnd && processedItem.time !== processedItem.timeEnd);
32
- switch ((_a = processedItem.newState) == null ? void 0 : _a.toLowerCase()) {
33
- case "pending":
34
- processedItem.color = "yellow";
35
- break;
36
- case "alerting":
37
- processedItem.color = "red";
38
- break;
39
- case "ok":
40
- processedItem.color = "green";
41
- break;
42
- case "normal":
43
- processedItem.color = "green";
44
- break;
45
- case "no_data":
46
- processedItem.color = "gray";
47
- break;
48
- case "nodata":
49
- processedItem.color = "gray";
50
- break;
51
- }
52
- return processedItem;
53
- });
54
- return processed;
55
- }
56
- function dedupAnnotations(annotations) {
57
- let dedup = [];
58
- const events = partition(annotations, "id");
59
- const eventsById = groupBy(events[0], "id");
60
- dedup = map(eventsById, (eventGroup) => {
61
- if (eventGroup.length > 1 && !every(eventGroup, isPanelAlert)) {
62
- return find(eventGroup, (event) => {
63
- return event.eventType !== "panel-alert";
64
- });
65
- } else {
66
- return head(eventGroup);
67
- }
68
- });
69
- dedup = concat(dedup, events[1]);
70
- return dedup;
71
- }
72
- function isPanelAlert(event) {
73
- return event.eventType === "panel-alert";
74
- }
75
-
76
- export { dedupAnnotations, postProcessQueryResult };
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3F1ZXJ5aW5nL2xheWVycy9hbm5vdGF0aW9ucy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IGNsb25lRGVlcCwgcGFydGl0aW9uLCBncm91cEJ5LCBtYXAsIGV2ZXJ5LCBmaW5kLCBoZWFkLCBjb25jYXQgfSBmcm9tICdsb2Rhc2gnO1xuXG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcFN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19wcm9wSXNFbnVtID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbnZhciBfX2RlZk5vcm1hbFByb3AgPSAob2JqLCBrZXksIHZhbHVlKSA9PiBrZXkgaW4gb2JqID8gX19kZWZQcm9wKG9iaiwga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlIH0pIDogb2JqW2tleV0gPSB2YWx1ZTtcbnZhciBfX3NwcmVhZFZhbHVlcyA9IChhLCBiKSA9PiB7XG4gIGZvciAodmFyIHByb3AgaW4gYiB8fCAoYiA9IHt9KSlcbiAgICBpZiAoX19oYXNPd25Qcm9wLmNhbGwoYiwgcHJvcCkpXG4gICAgICBfX2RlZk5vcm1hbFByb3AoYSwgcHJvcCwgYltwcm9wXSk7XG4gIGlmIChfX2dldE93blByb3BTeW1ib2xzKVxuICAgIGZvciAodmFyIHByb3Agb2YgX19nZXRPd25Qcm9wU3ltYm9scyhiKSkge1xuICAgICAgaWYgKF9fcHJvcElzRW51bS5jYWxsKGIsIHByb3ApKVxuICAgICAgICBfX2RlZk5vcm1hbFByb3AoYSwgcHJvcCwgYltwcm9wXSk7XG4gICAgfVxuICByZXR1cm4gYTtcbn07XG5mdW5jdGlvbiBwb3N0UHJvY2Vzc1F1ZXJ5UmVzdWx0KGFubm90YXRpb24sIHJlc3VsdHMpIHtcbiAgaWYgKGFubm90YXRpb24uc25hcHNob3REYXRhKSB7XG4gICAgYW5ub3RhdGlvbiA9IGNsb25lRGVlcChhbm5vdGF0aW9uKTtcbiAgICBkZWxldGUgYW5ub3RhdGlvbi5zbmFwc2hvdERhdGE7XG4gIH1cbiAgY29uc3QgcHJvY2Vzc2VkID0gcmVzdWx0cy5tYXAoKGl0ZW0pID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgcHJvY2Vzc2VkSXRlbSA9IF9fc3ByZWFkVmFsdWVzKHt9LCBpdGVtKTtcbiAgICBwcm9jZXNzZWRJdGVtLnNvdXJjZSA9IGFubm90YXRpb247XG4gICAgcHJvY2Vzc2VkSXRlbS5jb2xvciA9IGNvbmZpZy50aGVtZTIudmlzdWFsaXphdGlvbi5nZXRDb2xvckJ5TmFtZShhbm5vdGF0aW9uLmljb25Db2xvcik7XG4gICAgcHJvY2Vzc2VkSXRlbS50eXBlID0gYW5ub3RhdGlvbi5uYW1lO1xuICAgIHByb2Nlc3NlZEl0ZW0uaXNSZWdpb24gPSBCb29sZWFuKHByb2Nlc3NlZEl0ZW0udGltZUVuZCAmJiBwcm9jZXNzZWRJdGVtLnRpbWUgIT09IHByb2Nlc3NlZEl0ZW0udGltZUVuZCk7XG4gICAgc3dpdGNoICgoX2EgPSBwcm9jZXNzZWRJdGVtLm5ld1N0YXRlKSA9PSBudWxsID8gdm9pZCAwIDogX2EudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSBcInBlbmRpbmdcIjpcbiAgICAgICAgcHJvY2Vzc2VkSXRlbS5jb2xvciA9IFwieWVsbG93XCI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImFsZXJ0aW5nXCI6XG4gICAgICAgIHByb2Nlc3NlZEl0ZW0uY29sb3IgPSBcInJlZFwiO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJva1wiOlxuICAgICAgICBwcm9jZXNzZWRJdGVtLmNvbG9yID0gXCJncmVlblwiO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJub3JtYWxcIjpcbiAgICAgICAgcHJvY2Vzc2VkSXRlbS5jb2xvciA9IFwiZ3JlZW5cIjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibm9fZGF0YVwiOlxuICAgICAgICBwcm9jZXNzZWRJdGVtLmNvbG9yID0gXCJncmF5XCI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm5vZGF0YVwiOlxuICAgICAgICBwcm9jZXNzZWRJdGVtLmNvbG9yID0gXCJncmF5XCI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gcHJvY2Vzc2VkSXRlbTtcbiAgfSk7XG4gIHJldHVybiBwcm9jZXNzZWQ7XG59XG5mdW5jdGlvbiBkZWR1cEFubm90YXRpb25zKGFubm90YXRpb25zKSB7XG4gIGxldCBkZWR1cCA9IFtdO1xuICBjb25zdCBldmVudHMgPSBwYXJ0aXRpb24oYW5ub3RhdGlvbnMsIFwiaWRcIik7XG4gIGNvbnN0IGV2ZW50c0J5SWQgPSBncm91cEJ5KGV2ZW50c1swXSwgXCJpZFwiKTtcbiAgZGVkdXAgPSBtYXAoZXZlbnRzQnlJZCwgKGV2ZW50R3JvdXApID0+IHtcbiAgICBpZiAoZXZlbnRHcm91cC5sZW5ndGggPiAxICYmICFldmVyeShldmVudEdyb3VwLCBpc1BhbmVsQWxlcnQpKSB7XG4gICAgICByZXR1cm4gZmluZChldmVudEdyb3VwLCAoZXZlbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIGV2ZW50LmV2ZW50VHlwZSAhPT0gXCJwYW5lbC1hbGVydFwiO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBoZWFkKGV2ZW50R3JvdXApO1xuICAgIH1cbiAgfSk7XG4gIGRlZHVwID0gY29uY2F0KGRlZHVwLCBldmVudHNbMV0pO1xuICByZXR1cm4gZGVkdXA7XG59XG5mdW5jdGlvbiBpc1BhbmVsQWxlcnQoZXZlbnQpIHtcbiAgcmV0dXJuIGV2ZW50LmV2ZW50VHlwZSA9PT0gXCJwYW5lbC1hbGVydFwiO1xufVxuXG5leHBvcnQgeyBkZWR1cEFubm90YXRpb25zLCBwb3N0UHJvY2Vzc1F1ZXJ5UmVzdWx0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRYUnBiSE11YW5NaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTl4ZFdWeWVXbHVaeTlzWVhsbGNuTXZZVzV1YjNSaGRHbHZibk12ZFhScGJITXVkSE1pWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdWR2hsYzJVZ2IzQjBJRzkxZEhNZ1lYSmxJR2hsY21VZ2IyNXNlU0JtYjNJZ2NYVnBZMnRsY2lCaGJtUWdaV0Z6YVdWeUlHMXBaM0poZEdsdmJpQjBieUJ5WldGamRDQmlZWE5sWkNCaGJtNXZkR0YwYVc5dWN5QmxaR2wwYjNKeklHRnVaQ0JpWldOaGRYTmxYRzR2THlCaGJtNXZkR0YwYVc5dUlITjFjSEJ2Y25RZ1FWQkpJRzVsWldSeklITnZiV1VnZDI5eWF5QjBieUJ6ZFhCd2IzSjBJR3hsYzNNZ1hDSnpkR0Z1WkdGeVpGd2lJR1ZrYVhSdmNuTWdiR2xyWlNCd2NtOXRaWFJvWlhWeklHRnVaQ0JvWlhKbElHbDBJR2x6SUc1dmRGeHVMeThnY0c5c2JIVjBhVzVuSUhCMVlteHBZeUJCVUVrdVhHNWNibWx0Y0c5eWRDQjdJRUZ1Ym05MFlYUnBiMjVGZG1WdWRDd2dRVzV1YjNSaGRHbHZibEYxWlhKNUxDQkVZWFJoVTI5MWNtTmxRWEJwSUgwZ1puSnZiU0FuUUdkeVlXWmhibUV2WkdGMFlTYzdYRzVwYlhCdmNuUWdleUJqYjI1bWFXY2dmU0JtY205dElDZEFaM0poWm1GdVlTOXlkVzUwYVcxbEp6dGNibWx0Y0c5eWRDQjdJR05zYjI1bFJHVmxjQ3dnWTI5dVkyRjBMQ0JsZG1WeWVTd2dabWx1WkN3Z1ozSnZkWEJDZVN3Z2FHVmhaQ3dnYldGd0xDQndZWEowYVhScGIyNGdmU0JtY205dElDZHNiMlJoYzJnbk8xeHVYRzVqYjI1emRDQnNaV2RoWTNsU2RXNXVaWElnUFNCYlhHNGdJQ2R3Y205dFpYUm9aWFZ6Snl4Y2JpQWdKMnh2YTJrbkxGeHVJQ0FuWld4aGMzUnBZM05sWVhKamFDY3NYRzRnSUNkbmNtRm1ZVzVoTFc5d1pXNXpaV0Z5WTJndFpHRjBZWE52ZFhKalpTY3NJQzh2SUdWNGRHVnlibUZzWEc1ZE8xeHVYRzR2S2lwY2JpQXFJRlZ6WlNCc1pXZGhZM2tnY25WdWJtVnlMaUJWYzJWa0lHOXViSGtnWVhNZ1lXNGdaWE5qWVhCbElHaGhkR05vSUdadmNpQmxZWE5wWlhJZ2RISmhibk5wZEdsdmJpQjBieUJTWldGamRDQmlZWE5sWkNCaGJtNXZkR0YwYVc5dUlHVmthWFJ2Y2k1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE5vYjNWc1pGVnpaVXhsWjJGamVWSjFibTVsY2loa1lYUmhjMjkxY21ObE9pQkVZWFJoVTI5MWNtTmxRWEJwS1RvZ1ltOXZiR1ZoYmlCN1hHNGdJR052Ym5OMElIc2dkSGx3WlNCOUlEMGdaR0YwWVhOdmRYSmpaVHRjYmlBZ2NtVjBkWEp1SUNGa1lYUmhjMjkxY21ObExtRnVibTkwWVhScGIyNXpJSHg4SUd4bFoyRmplVkoxYm01bGNpNXBibU5zZFdSbGN5aDBlWEJsS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEJ2YzNSUWNtOWpaWE56VVhWbGNubFNaWE4xYkhRb1lXNXViM1JoZEdsdmJqb2dRVzV1YjNSaGRHbHZibEYxWlhKNUxDQnlaWE4xYkhSek9pQkJibTV2ZEdGMGFXOXVSWFpsYm5SYlhTazZJRUZ1Ym05MFlYUnBiMjVGZG1WdWRGdGRJSHRjYmlBZ0x5OGdhV1lnWVc1dWIzUmhkR2x2YmlCb1lYTWdjMjVoY0hOb2IzUkVZWFJoWEc0Z0lDOHZJRzFoYTJVZ1kyeHZibVVnWVc1a0lISmxiVzkyWlNCcGRGeHVJQ0JwWmlBb1lXNXViM1JoZEdsdmJpNXpibUZ3YzJodmRFUmhkR0VwSUh0Y2JpQWdJQ0JoYm01dmRHRjBhVzl1SUQwZ1kyeHZibVZFWldWd0tHRnVibTkwWVhScGIyNHBPMXh1SUNBZ0lHUmxiR1YwWlNCaGJtNXZkR0YwYVc5dUxuTnVZWEJ6YUc5MFJHRjBZVHRjYmlBZ2ZWeHVYRzRnSUM4dlhHNGdJR052Ym5OMElIQnliMk5sYzNObFpDQTlJSEpsYzNWc2RITXViV0Z3S0NocGRHVnRLU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdjSEp2WTJWemMyVmtTWFJsYlNBOUlIc2dMaTR1YVhSbGJTQjlPMXh1WEc0Z0lDQWdjSEp2WTJWemMyVmtTWFJsYlM1emIzVnlZMlVnUFNCaGJtNXZkR0YwYVc5dU8xeHVJQ0FnSUhCeWIyTmxjM05sWkVsMFpXMHVZMjlzYjNJZ1BTQmpiMjVtYVdjdWRHaGxiV1V5TG5acGMzVmhiR2w2WVhScGIyNHVaMlYwUTI5c2IzSkNlVTVoYldVb1lXNXViM1JoZEdsdmJpNXBZMjl1UTI5c2IzSXBPMXh1SUNBZ0lIQnliMk5sYzNObFpFbDBaVzB1ZEhsd1pTQTlJR0Z1Ym05MFlYUnBiMjR1Ym1GdFpUdGNiaUFnSUNCd2NtOWpaWE56WldSSmRHVnRMbWx6VW1WbmFXOXVJRDBnUW05dmJHVmhiaWh3Y205alpYTnpaV1JKZEdWdExuUnBiV1ZGYm1RZ0ppWWdjSEp2WTJWemMyVmtTWFJsYlM1MGFXMWxJQ0U5UFNCd2NtOWpaWE56WldSSmRHVnRMblJwYldWRmJtUXBPMXh1WEc0Z0lDQWdjM2RwZEdOb0lDaHdjbTlqWlhOelpXUkpkR1Z0TG01bGQxTjBZWFJsUHk1MGIweHZkMlZ5UTJGelpTZ3BLU0I3WEc0Z0lDQWdJQ0JqWVhObElDZHdaVzVrYVc1bkp6cGNiaUFnSUNBZ0lDQWdjSEp2WTJWemMyVmtTWFJsYlM1amIyeHZjaUE5SUNkNVpXeHNiM2NuTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJR05oYzJVZ0oyRnNaWEowYVc1bkp6cGNiaUFnSUNBZ0lDQWdjSEp2WTJWemMyVmtTWFJsYlM1amIyeHZjaUE5SUNkeVpXUW5PMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lHTmhjMlVnSjI5ckp6cGNiaUFnSUNBZ0lDQWdjSEp2WTJWemMyVmtTWFJsYlM1amIyeHZjaUE5SUNkbmNtVmxiaWM3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdZMkZ6WlNBbmJtOXliV0ZzSnpvZ0x5OGdibWRoYkdWeWRDQW9YQ0p1YjNKdFlXeGNJaUJwYm5OMFpXRmtJRzltSUZ3aWIydGNJaWxjYmlBZ0lDQWdJQ0FnY0hKdlkyVnpjMlZrU1hSbGJTNWpiMnh2Y2lBOUlDZG5jbVZsYmljN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnWTJGelpTQW5ibTlmWkdGMFlTYzZYRzRnSUNBZ0lDQWdJSEJ5YjJObGMzTmxaRWwwWlcwdVkyOXNiM0lnUFNBblozSmhlU2M3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdZMkZ6WlNBbmJtOWtZWFJoSnpvZ0x5OGdibWRoYkdWeWRGeHVJQ0FnSUNBZ0lDQndjbTlqWlhOelpXUkpkR1Z0TG1OdmJHOXlJRDBnSjJkeVlYa25PMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY0hKdlkyVnpjMlZrU1hSbGJUdGNiaUFnZlNrN1hHNWNiaUFnY21WMGRYSnVJSEJ5YjJObGMzTmxaRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHUmxaSFZ3UVc1dWIzUmhkR2x2Ym5Nb1lXNXViM1JoZEdsdmJuTTZJR0Z1ZVNrZ2UxeHVJQ0JzWlhRZ1pHVmtkWEFnUFNCYlhUdGNibHh1SUNBdkx5QlRjR3hwZENCbGRtVnVkSE1nWW5rZ1lXNXViM1JoZEdsdmJrbGtJSEJ5YjNCbGNuUjVJR1Y0YVhOMFpXNWpaVnh1SUNCamIyNXpkQ0JsZG1WdWRITWdQU0J3WVhKMGFYUnBiMjRvWVc1dWIzUmhkR2x2Ym5Nc0lDZHBaQ2NwTzF4dVhHNGdJR052Ym5OMElHVjJaVzUwYzBKNVNXUWdQU0JuY205MWNFSjVLR1YyWlc1MGMxc3dYU3dnSjJsa0p5azdYRzRnSUdSbFpIVndJRDBnYldGd0tHVjJaVzUwYzBKNVNXUXNJQ2hsZG1WdWRFZHliM1Z3S1NBOVBpQjdYRzRnSUNBZ2FXWWdLR1YyWlc1MFIzSnZkWEF1YkdWdVozUm9JRDRnTVNBbUppQWhaWFpsY25rb1pYWmxiblJIY205MWNDd2dhWE5RWVc1bGJFRnNaWEowS1NrZ2UxeHVJQ0FnSUNBZ0x5OGdSMlYwSUdacGNuTjBJRzV2Ymkxd1lXNWxiQ0JoYkdWeWRGeHVJQ0FnSUNBZ2NtVjBkWEp1SUdacGJtUW9aWFpsYm5SSGNtOTFjQ3dnS0dWMlpXNTBLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGRtVnVkQzVsZG1WdWRGUjVjR1VnSVQwOUlDZHdZVzVsYkMxaGJHVnlkQ2M3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHaGxZV1FvWlhabGJuUkhjbTkxY0NrN1hHNGdJQ0FnZlZ4dUlDQjlLVHRjYmx4dUlDQmtaV1IxY0NBOUlHTnZibU5oZENoa1pXUjFjQ3dnWlhabGJuUnpXekZkS1R0Y2JpQWdjbVYwZFhKdUlHUmxaSFZ3TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzFCaGJtVnNRV3hsY25Rb1pYWmxiblE2SUhzZ1pYWmxiblJVZVhCbE9pQnpkSEpwYm1jZ2ZTa2dlMXh1SUNCeVpYUjFjbTRnWlhabGJuUXVaWFpsYm5SVWVYQmxJRDA5UFNBbmNHRnVaV3d0WVd4bGNuUW5PMXh1ZlZ4dUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3pzN096czdPenM3T3pzN1FVRjFRbWRDTEZOQlFVRXNjMEpCUVVFc1EwRkJkVUlzV1VGQk5rSXNUMEZCSzBNc1JVRkJRVHRCUVVkcVNDeEZRVUZCTEVsQlFVa3NWMEZCVnl4WlFVRmpMRVZCUVVFN1FVRkRNMElzU1VGQlFTeFZRVUZCTEVkQlFXRXNWVUZCVlN4VlFVRlZMRU5CUVVFc1EwRkJRVHRCUVVOcVF5eEpRVUZCTEU5QlFVOHNWVUZCVnl4RFFVRkJMRmxCUVVFc1EwRkJRVHRCUVVGQkxFZEJRM0JDTzBGQlIwRXNSVUZCUVN4TlFVRk5MRk5CUVZrc1IwRkJRU3hQUVVGQkxFTkJRVkVzUjBGQlNTeERRVUZCTEVOQlFVTXNTVUZCVXl4TFFVRkJPMEZCYUVNeFF5eEpRVUZCTEVsQlFVRXNSVUZCUVN4RFFVRkJPMEZCYVVOSkxFbEJRVUVzVFVGQlRTeG5Ra0ZCWjBJc1kwRkJTeXhEUVVGQkxFVkJRVUVzUlVGQlFTeEpRVUZCTEVOQlFVRXNRMEZCUVR0QlFVVXpRaXhKUVVGQkxHRkJRVUVzUTBGQll5eE5RVUZUTEVkQlFVRXNWVUZCUVN4RFFVRkJPMEZCUTNaQ0xFbEJRVUVzWVVGQlFTeERRVUZqTEZGQlFWRXNUVUZCVHl4RFFVRkJMRTFCUVVFc1EwRkJUeXhoUVVGakxFTkJRVUVzWTBGQlFTeERRVUZsTEZkQlFWY3NVMEZCVXl4RFFVRkJMRU5CUVVFN1FVRkRja1lzU1VGQlFTeGhRVUZCTEVOQlFXTXNUMEZCVHl4VlFVRlhMRU5CUVVFc1NVRkJRU3hEUVVGQk8wRkJRMmhETEVsQlFVRXNZVUZCUVN4RFFVRmpMRmRCUVZjc1QwRkJVU3hEUVVGQkxHRkJRVUVzUTBGQll5eFhRVUZYTEdGQlFXTXNRMEZCUVN4SlFVRkJMRXRCUVZNc1kwRkJZeXhQUVVGUExFTkJRVUVzUTBGQlFUdEJRVVYwUnl4SlFVRlJMRkZCUVVFc1EwRkJRU3hGUVVGQkxFZEJRVUVzWVVGQlFTeERRVUZqTEdGQlFXUXNTVUZCZDBJc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeEZRVUZCTEVOQlFVRXNWMEZCUVN4RlFVRkJPMEZCUVVFc1RVRkRla0lzUzBGQlFTeFRRVUZCTzBGQlEwZ3NVVUZCUVN4aFFVRkJMRU5CUVdNc1MwRkJVU3hIUVVGQkxGRkJRVUVzUTBGQlFUdEJRVU4wUWl4UlFVRkJMRTFCUVVFN1FVRkJRU3hOUVVOSExFdEJRVUVzVlVGQlFUdEJRVU5JTEZGQlFVRXNZVUZCUVN4RFFVRmpMRXRCUVZFc1IwRkJRU3hMUVVGQkxFTkJRVUU3UVVGRGRFSXNVVUZCUVN4TlFVRkJPMEZCUVVFc1RVRkRSeXhMUVVGQkxFbEJRVUU3UVVGRFNDeFJRVUZCTEdGQlFVRXNRMEZCWXl4TFFVRlJMRWRCUVVFc1QwRkJRU3hEUVVGQk8wRkJRM1JDTEZGQlFVRXNUVUZCUVR0QlFVRkJMRTFCUTBjc1MwRkJRU3hSUVVGQk8wRkJRMGdzVVVGQlFTeGhRVUZCTEVOQlFXTXNTMEZCVVN4SFFVRkJMRTlCUVVFc1EwRkJRVHRCUVVOMFFpeFJRVUZCTEUxQlFVRTdRVUZCUVN4TlFVTkhMRXRCUVVFc1UwRkJRVHRCUVVOSUxGRkJRVUVzWVVGQlFTeERRVUZqTEV0QlFWRXNSMEZCUVN4TlFVRkJMRU5CUVVFN1FVRkRkRUlzVVVGQlFTeE5RVUZCTzBGQlFVRXNUVUZEUnl4TFFVRkJMRkZCUVVFN1FVRkRTQ3hSUVVGQkxHRkJRVUVzUTBGQll5eExRVUZSTEVkQlFVRXNUVUZCUVN4RFFVRkJPMEZCUTNSQ0xGRkJRVUVzVFVGQlFUdEJRVUZCTEV0QlFVRTdRVUZIU2l4SlFVRlBMRTlCUVVFc1lVRkJRU3hEUVVGQk8wRkJRVUVzUjBGRFVpeERRVUZCTEVOQlFVRTdRVUZGUkN4RlFVRlBMRTlCUVVFc1UwRkJRU3hEUVVGQk8wRkJRMVFzUTBGQlFUdEJRVVZQTEZOQlFWTXNhVUpCUVdsQ0xGZEJRV3RDTEVWQlFVRTdRVUZEYWtRc1JVRkJRU3hKUVVGSkxGRkJRVkVzUlVGQlF5eERRVUZCTzBGQlIySXNSVUZCVFN4TlFVRkJMRTFCUVVFc1IwRkJVeXhUUVVGVkxFTkJRVUVzVjBGQlFTeEZRVUZoTEVsQlFVa3NRMEZCUVN4RFFVRkJPMEZCUlRGRExFVkJRVUVzVFVGQlRTeFZRVUZoTEVkQlFVRXNUMEZCUVN4RFFVRlJMRTFCUVU4c1EwRkJRU3hEUVVGQkxFTkJRVUVzUlVGQlNTeEpRVUZKTEVOQlFVRXNRMEZCUVR0QlFVTXhReXhGUVVGUkxFdEJRVUVzUjBGQlFTeEhRVUZCTEVOQlFVa3NWVUZCV1N4RlFVRkJMRU5CUVVNc1ZVRkJaU3hMUVVGQk8wRkJRM1JETEVsQlFVRXNTVUZCU1N4WFFVRlhMRTFCUVZNc1IwRkJRU3hEUVVGQkxFbEJRVXNzUTBGQlF5eExRVUZOTEVOQlFVRXNWVUZCUVN4RlFVRlpMRmxCUVZrc1EwRkJSeXhGUVVGQk8wRkJSVGRFTEUxQlFVOHNUMEZCUVN4SlFVRkJMRU5CUVVzc1ZVRkJXU3hGUVVGQkxFTkJRVU1zUzBGQlZTeExRVUZCTzBGQlEycERMRkZCUVVFc1QwRkJUeXhOUVVGTkxGTkJRV01zUzBGQlFTeGhRVUZCTEVOQlFVRTdRVUZCUVN4UFFVTTFRaXhEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU5KTEUxQlFVRTdRVUZEVEN4TlFVRkJMRTlCUVU4c1MwRkJTeXhWUVVGVkxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlEzaENPMEZCUVVFc1IwRkRSQ3hEUVVGQkxFTkJRVUU3UVVGRlJDeEZRVUZSTEV0QlFVRXNSMEZCUVN4TlFVRkJMRU5CUVU4c1MwRkJUeXhGUVVGQkxFMUJRVUVzUTBGQlR5eERRVUZGTEVOQlFVRXNRMEZCUVN4RFFVRkJPMEZCUXk5Q0xFVkJRVThzVDBGQlFTeExRVUZCTEVOQlFVRTdRVUZEVkN4RFFVRkJPMEZCUlVFc1UwRkJVeXhoUVVGaExFdEJRVGhDTEVWQlFVRTdRVUZEYkVRc1JVRkJRU3hQUVVGUExFMUJRVTBzVTBGQll5eExRVUZCTEdGQlFVRXNRMEZCUVR0QlFVTTNRanM3T3pzaWZRPT1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBdUJnQixTQUFBLHNCQUFBLENBQXVCLFlBQTZCLE9BQStDLEVBQUE7QUFHakgsRUFBQSxJQUFJLFdBQVcsWUFBYyxFQUFBO0FBQzNCLElBQUEsVUFBQSxHQUFhLFVBQVUsVUFBVSxDQUFBLENBQUE7QUFDakMsSUFBQSxPQUFPLFVBQVcsQ0FBQSxZQUFBLENBQUE7QUFBQSxHQUFBO0FBSXBCLEVBQUEsTUFBTSxTQUFZLEdBQUEsT0FBQSxDQUFRLEdBQUksQ0FBQSxDQUFDLElBQVMsS0FBQTtBQWhDMUMsSUFBQSxJQUFBLEVBQUEsQ0FBQTtBQWlDSSxJQUFBLE1BQU0sYUFBZ0IsR0FBQSxjQUFBLENBQUssRUFBQSxFQUFBLElBQUEs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
@@ -1,41 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { LoadingState } from '@grafana/schema';
3
- import { sceneGraph } from '../core/sceneGraph/index.js';
4
-
5
- function registerQueryWithController(entry) {
6
- return (queryStream) => {
7
- const queryControler = sceneGraph.getQueryController(entry.origin);
8
- if (!queryControler) {
9
- return queryStream;
10
- }
11
- return new Observable((observer) => {
12
- if (!entry.cancel) {
13
- entry.cancel = () => observer.complete();
14
- }
15
- queryControler.queryStarted(entry);
16
- let markedAsCompleted = false;
17
- const sub = queryStream.subscribe({
18
- next: (v) => {
19
- if (!markedAsCompleted && v.state !== LoadingState.Loading) {
20
- markedAsCompleted = true;
21
- queryControler.queryCompleted(entry);
22
- }
23
- observer.next(v);
24
- },
25
- error: (e) => observer.error(e),
26
- complete: () => {
27
- observer.complete();
28
- }
29
- });
30
- return () => {
31
- sub.unsubscribe();
32
- if (!markedAsCompleted) {
33
- queryControler.queryCompleted(entry);
34
- }
35
- };
36
- });
37
- };
38
- }
39
-
40
- export { registerQueryWithController };
41
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJRdWVyeVdpdGhDb250cm9sbGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9xdWVyeWluZy9yZWdpc3RlclF1ZXJ5V2l0aENvbnRyb2xsZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlIH0gZnJvbSAnQGdyYWZhbmEvc2NoZW1hJztcbmltcG9ydCB7IHNjZW5lR3JhcGggfSBmcm9tICcuLi9jb3JlL3NjZW5lR3JhcGgvaW5kZXguanMnO1xuXG5mdW5jdGlvbiByZWdpc3RlclF1ZXJ5V2l0aENvbnRyb2xsZXIoZW50cnkpIHtcbiAgcmV0dXJuIChxdWVyeVN0cmVhbSkgPT4ge1xuICAgIGNvbnN0IHF1ZXJ5Q29udHJvbGVyID0gc2NlbmVHcmFwaC5nZXRRdWVyeUNvbnRyb2xsZXIoZW50cnkub3JpZ2luKTtcbiAgICBpZiAoIXF1ZXJ5Q29udHJvbGVyKSB7XG4gICAgICByZXR1cm4gcXVlcnlTdHJlYW07XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGlmICghZW50cnkuY2FuY2VsKSB7XG4gICAgICAgIGVudHJ5LmNhbmNlbCA9ICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgICBxdWVyeUNvbnRyb2xlci5xdWVyeVN0YXJ0ZWQoZW50cnkpO1xuICAgICAgbGV0IG1hcmtlZEFzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgICBjb25zdCBzdWIgPSBxdWVyeVN0cmVhbS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodikgPT4ge1xuICAgICAgICAgIGlmICghbWFya2VkQXNDb21wbGV0ZWQgJiYgdi5zdGF0ZSAhPT0gTG9hZGluZ1N0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgICAgIG1hcmtlZEFzQ29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHF1ZXJ5Q29udHJvbGVyLnF1ZXJ5Q29tcGxldGVkKGVudHJ5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dCh2KTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlKSA9PiBvYnNlcnZlci5lcnJvcihlKSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICBpZiAoIW1hcmtlZEFzQ29tcGxldGVkKSB7XG4gICAgICAgICAgcXVlcnlDb250cm9sZXIucXVlcnlDb21wbGV0ZWQoZW50cnkpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgeyByZWdpc3RlclF1ZXJ5V2l0aENvbnRyb2xsZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pY21WbmFYTjBaWEpSZFdWeWVWZHBkR2hEYjI1MGNtOXNiR1Z5TG1weklpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTl6Y21NdmNYVmxjbmxwYm1jdmNtVm5hWE4wWlhKUmRXVnllVmRwZEdoRGIyNTBjbTlzYkdWeUxuUnpJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUU5aWMyVnlkbUZpYkdVZ2ZTQm1jbTl0SUNkeWVHcHpKenRjYm1sdGNHOXlkQ0I3SUV4dllXUnBibWRUZEdGMFpTQjlJR1p5YjIwZ0owQm5jbUZtWVc1aEwzTmphR1Z0WVNjN1hHNXBiWEJ2Y25RZ2V5QnpZMlZ1WlVkeVlYQm9JSDBnWm5KdmJTQW5MaTR2WTI5eVpTOXpZMlZ1WlVkeVlYQm9KenRjYm1sdGNHOXlkQ0I3SUZGMVpYSjVVbVZ6ZFd4MFYybDBhRk4wWVhSbExDQlRZMlZ1WlZGMVpYSjVRMjl1ZEhKdmJHeGxja1Z1ZEhKNUlIMGdabkp2YlNBbkxpNHZZbVZvWVhacGIzSnpMMU5qWlc1bFVYVmxjbmxEYjI1MGNtOXNiR1Z5Snp0Y2JseHVMeW9xWEc0Z0tpQlhhV3hzSUd4dmIyc2dabTl5SUdFZ2MyTmxibVVnYjJKcVpXTjBJSGRwZEdnZ1lTQmlaV2hoZG1sdmNpQjBhR0YwSUdseklHRWdVMk5sYm1WUmRXVnllVU52Ym5SeWIyeHNaWElnWVc1a0lISmxaMmx6ZEdWeUlIUm9aU0J4ZFdWeWVTQjNhWFJvSUdsMExseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY21WbmFYTjBaWEpSZFdWeWVWZHBkR2hEYjI1MGNtOXNiR1Z5UEZRZ1pYaDBaVzVrY3lCUmRXVnllVkpsYzNWc2RGZHBkR2hUZEdGMFpUNG9aVzUwY25rNklGTmpaVzVsVVhWbGNubERiMjUwY205c2JHVnlSVzUwY25rcElIdGNiaUFnY21WMGRYSnVJQ2h4ZFdWeWVWTjBjbVZoYlRvZ1QySnpaWEoyWVdKc1pUeFVQaWtnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEYxWlhKNVEyOXVkSEp2YkdWeUlEMGdjMk5sYm1WSGNtRndhQzVuWlhSUmRXVnllVU52Ym5SeWIyeHNaWElvWlc1MGNua3ViM0pwWjJsdUtUdGNiaUFnSUNCcFppQW9JWEYxWlhKNVEyOXVkSEp2YkdWeUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2NYVmxjbmxUZEhKbFlXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlBZbk5sY25aaFlteGxQRlErS0NodlluTmxjblpsY2lrZ1BUNGdlMXh1SUNBZ0lDQWdhV1lnS0NGbGJuUnllUzVqWVc1alpXd3BJSHRjYmlBZ0lDQWdJQ0FnWlc1MGNua3VZMkZ1WTJWc0lEMGdLQ2tnUFQ0Z2IySnpaWEoyWlhJdVkyOXRjR3hsZEdVb0tUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjWFZsY25sRGIyNTBjbTlzWlhJdWNYVmxjbmxUZEdGeWRHVmtLR1Z1ZEhKNUtUdGNiaUFnSUNBZ0lHeGxkQ0J0WVhKclpXUkJjME52YlhCc1pYUmxaQ0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdJQ0JqYjI1emRDQnpkV0lnUFNCeGRXVnllVk4wY21WaGJTNXpkV0p6WTNKcFltVW9lMXh1SUNBZ0lDQWdJQ0J1WlhoME9pQW9kaWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNnaGJXRnlhMlZrUVhORGIyMXdiR1YwWldRZ0ppWWdkaTV6ZEdGMFpTQWhQVDBnVEc5aFpHbHVaMU4wWVhSbExreHZZV1JwYm1jcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUcxaGNtdGxaRUZ6UTI5dGNHeGxkR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIRjFaWEo1UTI5dWRISnZiR1Z5TG5GMVpYSjVRMjl0Y0d4bGRHVmtLR1Z1ZEhKNUtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQnZZbk5sY25abGNpNXVaWGgwS0hZcE8xeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0JsY25KdmNqb2dLR1VwSUQwK0lHOWljMlZ5ZG1WeUxtVnljbTl5S0dVcExGeHVJQ0FnSUNBZ0lDQmpiMjF3YkdWMFpUb2dLQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJRzlpYzJWeWRtVnlMbU52YlhCc1pYUmxLQ2s3WEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCOUtUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlDZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ2MzVmlMblZ1YzNWaWMyTnlhV0psS0NrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGdFlYSnJaV1JCYzBOdmJYQnNaWFJsWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEYxWlhKNVEyOXVkSEp2YkdWeUxuRjFaWEo1UTI5dGNHeGxkR1ZrS0dWdWRISjVLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5S1R0Y2JpQWdmVHRjYm4xY2JpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdPMEZCVVU4c1UwRkJVeXcwUWtGQk5FUXNTMEZCYTBNc1JVRkJRVHRCUVVNMVJ5eEZRVUZCTEU5QlFVOHNRMEZCUXl4WFFVRXJRaXhMUVVGQk8wRkJRM0pETEVsQlFVRXNUVUZCVFN4alFVRnBRaXhIUVVGQkxGVkJRVUVzUTBGQlZ5eHJRa0ZCYlVJc1EwRkJRU3hMUVVGQkxFTkJRVTBzVFVGQlRTeERRVUZCTEVOQlFVRTdRVUZEYWtVc1NVRkJRU3hKUVVGSkxFTkJRVU1zWTBGQlowSXNSVUZCUVR0QlFVTnVRaXhOUVVGUExFOUJRVUVzVjBGQlFTeERRVUZCTzBGQlFVRXNTMEZEVkR0QlFVVkJMRWxCUVU4c1QwRkJRU3hKUVVGSkxGVkJRV01zUTBGQlFTeERRVUZETEZGQlFXRXNTMEZCUVR0QlFVTnlReXhOUVVGSkxFbEJRVUVzUTBGQlF5eE5RVUZOTEUxQlFWRXNSVUZCUVR0QlFVTnFRaXhSUVVGTkxFdEJRVUVzUTBGQlFTeE5RVUZCTEVkQlFWTXNUVUZCVFN4UlFVRkJMRU5CUVZNc1VVRkJVeXhGUVVGQkxFTkJRVUU3UVVGQlFTeFBRVU42UXp0QlFVVkJMRTFCUVVFc1kwRkJRU3hEUVVGbExHRkJRV0VzUzBGQlN5eERRVUZCTEVOQlFVRTdRVUZEYWtNc1RVRkJRU3hKUVVGSkxHbENRVUZ2UWl4SFFVRkJMRXRCUVVFc1EwRkJRVHRCUVVWNFFpeE5RVUZOTEUxQlFVRXNSMEZCUVN4SFFVRk5MRmxCUVZrc1UwRkJWU3hEUVVGQk8wRkJRVUVzVVVGRGFFTXNTVUZCUVN4RlFVRk5MRU5CUVVNc1EwRkJUU3hMUVVGQk8wRkJRMWdzVlVGQlFTeEpRVUZKTEVOQlFVTXNhVUpCUVVFc1NVRkJjVUlzUTBGQlJTeERRVUZCTEV0QlFVRXNTMEZCVlN4aFFVRmhMRTlCUVZNc1JVRkJRVHRCUVVNeFJDeFpRVUZ2UWl4cFFrRkJRU3hIUVVGQkxFbEJRVUVzUTBGQlFUdEJRVU53UWl4WlFVRkJMR05CUVVFc1EwRkJaU3hsUVVGbExFdEJRVXNzUTBGQlFTeERRVUZCTzBGQlFVRXNWMEZEY2tNN1FVRkZRU3hWUVVGQkxGRkJRVUVzUTBGQlV5eExRVUZMTEVOQlFVTXNRMEZCUVN4RFFVRkJPMEZCUVVFc1UwRkRha0k3UVVGQlFTeFJRVU5CTEV0QlFVOHNSVUZCUVN4RFFVRkRMRU5CUVUwc1MwRkJRU3hSUVVGQkxFTkJRVk1zVFVGQlRTeERRVUZETEVOQlFVRTdRVUZCUVN4UlFVTTVRaXhWUVVGVkxFMUJRVTA3UVVGRFpDeFZRVUZCTEZGQlFVRXNRMEZCVXl4UlFVRlRMRVZCUVVFc1EwRkJRVHRCUVVGQkxGTkJRM0JDTzBGQlFVRXNUMEZEUkN4RFFVRkJMRU5CUVVFN1FVRkZSQ3hOUVVGQkxFOUJRVThzVFVGQlRUdEJRVU5ZTEZGQlFVRXNSMEZCUVN4RFFVRkpMRmRCUVZrc1JVRkJRU3hEUVVGQk8wRkJSV2hDTEZGQlFVRXNTVUZCU1N4RFFVRkRMR2xDUVVGdFFpeEZRVUZCTzBGQlEzUkNMRlZCUVVFc1kwRkJRU3hEUVVGbExHVkJRV1VzUzBGQlN5eERRVUZCTEVOQlFVRTdRVUZCUVN4VFFVTnlRenRCUVVGQkxFOUJRMFlzUTBGQlFUdEJRVUZCTEV0QlEwUXNRMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRTQ3hEUVVGQk8wRkJRMFk3T3pzN0luMD1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBUU8sU0FBUyw0QkFBNEQsS0FBa0MsRUFBQTtBQUM1RyxFQUFBLE9BQU8sQ0FBQyxXQUErQixLQUFBO0FBQ3JDLElBQUEsTUFBTSxjQUFpQixHQUFBLFVBQUEsQ0FBVyxrQkFBbUIsQ0FBQSxLQUFBLENBQU0sTUFBTSxDQUFBLENBQUE7QUFDakUsSUFBQSxJQUFJLENBQUMsY0FBZ0IsRUFBQTtBQUNaLE1BQUEsT0FBQSxXQUFBLENBQUE7QUFBQSxLQUFBO0FBR0YsSUFBQSxPQUFBLElBQUksVUFBYyxDQUFBLENBQUMsUUFBYSxLQUFBO0FBQ2pDLE1BQUEsSUFBQSxDQUFDLE1BQU0sTUFBUSxFQUFBO0FBQ1gsUUFBQSxLQUFBLENBQUEsTUFBQSxHQUFTLE1BQU0sUUFBQSxDQUFTLFFBQVMsRUFBQSxDQUFBO0FBQUEsT0FBQTtBQUd6QyxNQUFBLGNBQUEsQ0FBZSxhQUFhLEtBQUssQ0FBQSxDQUFBO0FBQ2pDLE1BQUEsSUFBSSxpQkFBb0IsR0FBQSxLQUFBLENBQUE7QUFFbEIsTUFBQSxNQUFBLEdBQUEsR0FBTSxZQUFZLFNBQVUsQ0FBQTtBQUNoQyxRQUFBLElBQUEsRUFBTSxDQUFDLENBQU0sS0FBQTtBQUNYLFVBQUEsSUFBSSxDQUFDLGlCQUFBLElBQXFCLENBQUUsQ0FBQSxLQUFBLEtBQVUsYUFBYSxPQUFTLEVBQUE7QUFDdEMsWUFBQSxpQkFBQSxHQUFBLElBQUEsQ0FBQTtBQUNwQixZQUFBLGNBQUEsQ0FBZSxlQUFlLEtBQUssQ0FBQSxDQUFBO0FBQUEsV0FBQTtBQUdyQyxVQUFBLFFBQUEsQ0FBUyxLQUFLLENBQUMsQ0FBQSxDQUFBO0FBQUEsU0FBQTtBQUVqQixRQUFBLEtBQUEsRUFBTyxDQUFDLENBQUEsS0FBTSxRQUFTLENBQUEsS0FBQSxDQUFNLENBQUMsQ0FBQTtBQUM5QixRQUFBLFFBQUEsRUFBVSxNQUFNO0FBQ2QsVUFBQSxRQUFBLENBQVMsUUFBUyxFQUFBLENBQUE7QUFBQSxTQUFBO09BRXJCLENBQUEsQ0FBQTtBQUVELE1BQUEsT0FBTyxNQUFNO0FBQ1gsUUFBQSxHQUFBLENBQUksV0FBWSxFQUFBLENBQUE7QUFFaEIsUUFBQSxJQUFJLENBQUMsaUJBQW1CLEVBQUE7QUFDdEIsVUFBQSxjQUFBLENBQWUsZUFBZSxLQUFLLENBQUEsQ0FBQTtBQUFBLFNBQUE7QUFDckMsT0FBQSxDQUFBO0tBRUgsQ0FBQSxDQUFBO0FBQUEsR0FBQSxDQUFBO0FBRUw7Ozs7In0=