@grafana/scenes 6.8.0 → 6.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/index.js +1 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
  9. package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
  10. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
  11. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
  12. package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
  13. package/dist/esm/dist/esm/components/NestedScene.js +0 -95
  14. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
  15. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
  16. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
  17. package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
  18. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
  19. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
  20. package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
  21. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
  22. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
  23. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
  24. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
  25. package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
  26. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
  27. package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
  28. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
  29. package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
  30. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
  31. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
  32. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
  33. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
  34. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  35. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  36. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
  37. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  38. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  39. package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
  40. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
  41. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
  42. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
  43. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  44. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
  45. package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
  46. package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
  47. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
  48. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
  49. package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
  50. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
  51. package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
  52. package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
  53. package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
  54. package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
  55. package/dist/esm/dist/esm/core/events.js +0 -11
  56. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
  57. package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
  58. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
  59. package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
  60. package/dist/esm/dist/esm/core/types.js +0 -15
  61. package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
  62. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
  63. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
  64. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
  65. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
  66. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
  67. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
  68. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
  69. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
  70. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  71. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
  72. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  73. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  74. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
  75. package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
  76. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
  77. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
  78. package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
  79. package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
  80. package/dist/esm/dist/esm/services/utils.js +0 -71
  81. package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
  82. package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
  83. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
  84. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  85. package/dist/esm/dist/esm/utils/date.js +0 -15
  86. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
  87. package/dist/esm/dist/esm/utils/explore.js +0 -47
  88. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
  89. package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
  90. package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
  91. package/dist/esm/dist/esm/utils/metricTree.js +0 -53
  92. package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
  93. package/dist/esm/dist/esm/utils/utils.js +0 -11
  94. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
  95. package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
  96. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
  97. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
  98. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
  99. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  104. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  105. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  106. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  107. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  108. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
  109. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  110. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  111. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
  112. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
  113. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
  114. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
  115. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
  116. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
  117. package/dist/esm/dist/esm/variables/constants.js +0 -9
  118. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
  119. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
  120. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  121. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  122. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
  123. package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
  124. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
  125. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
  126. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
  127. package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
  128. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
  129. package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
  130. package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
  131. package/dist/esm/dist/esm/variables/macros/index.js +0 -26
  132. package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
  133. package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
  134. package/dist/esm/dist/esm/variables/macros/types.js +0 -11
  135. package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
  136. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
  137. package/dist/esm/dist/esm/variables/types.js +0 -11
  138. package/dist/esm/dist/esm/variables/utils.js +0 -172
  139. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
  140. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
  141. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
  142. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
  143. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
  144. package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
  145. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
  146. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
  147. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
  148. package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
  149. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
  150. package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
  151. package/dist/esm/querying/DataProviderSharer.js +0 -39
  152. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
  153. package/dist/esm/src/behaviors/CursorSync.js +0 -76
  154. package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
  155. package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
  156. package/dist/esm/src/behaviors/index.js +0 -5
  157. package/dist/esm/src/components/EmbeddedScene.js +0 -59
  158. package/dist/esm/src/components/NestedScene.js +0 -95
  159. package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
  160. package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
  161. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
  162. package/dist/esm/src/components/SceneApp/utils.js +0 -42
  163. package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
  164. package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
  165. package/dist/esm/src/components/SceneCanvasText.js +0 -32
  166. package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
  167. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
  168. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
  169. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
  170. package/dist/esm/src/components/SceneReactObject.js +0 -34
  171. package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
  172. package/dist/esm/src/components/SceneTimePicker.js +0 -139
  173. package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
  174. package/dist/esm/src/components/SceneToolbarButton.js +0 -33
  175. package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
  176. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
  177. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
  178. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
  179. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  180. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  181. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
  182. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  183. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  184. package/dist/esm/src/components/layout/LazyLoader.js +0 -103
  185. package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
  186. package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
  187. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
  188. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  189. package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
  190. package/dist/esm/src/components/layout/grid/constants.js +0 -7
  191. package/dist/esm/src/components/layout/grid/utils.js +0 -36
  192. package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
  193. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
  194. package/dist/esm/src/components/layout/split/Splitter.js +0 -386
  195. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
  196. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
  197. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
  198. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
  199. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
  200. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
  201. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
  202. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
  203. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
  204. package/dist/esm/src/core/PanelBuilders/index.js +0 -116
  205. package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
  206. package/dist/esm/src/core/SceneDataNode.js +0 -43
  207. package/dist/esm/src/core/SceneObjectBase.js +0 -286
  208. package/dist/esm/src/core/SceneObjectRef.js +0 -32
  209. package/dist/esm/src/core/SceneTimeRange.js +0 -231
  210. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
  211. package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
  212. package/dist/esm/src/core/events.js +0 -11
  213. package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
  214. package/dist/esm/src/core/sceneGraph/index.js +0 -25
  215. package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
  216. package/dist/esm/src/core/sceneGraph/utils.js +0 -64
  217. package/dist/esm/src/core/types.js +0 -15
  218. package/dist/esm/src/index.js +0 -108
  219. package/dist/esm/src/querying/DataLayersMerger.js +0 -46
  220. package/dist/esm/src/querying/DataProviderProxy.js +0 -37
  221. package/dist/esm/src/querying/DataProviderSharer.js +0 -108
  222. package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
  223. package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
  224. package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
  225. package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
  226. package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
  227. package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
  228. package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
  229. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
  230. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
  231. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  232. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
  233. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  234. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  235. package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
  236. package/dist/esm/src/querying/layers/index.js +0 -2
  237. package/dist/esm/src/querying/registerQueryWithController.js +0 -41
  238. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
  239. package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
  240. package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
  241. package/dist/esm/src/services/UrlSyncManager.js +0 -167
  242. package/dist/esm/src/services/useUrlSync.js +0 -29
  243. package/dist/esm/src/services/utils.js +0 -75
  244. package/dist/esm/src/utils/ControlsLabel.js +0 -107
  245. package/dist/esm/src/utils/LoadingIndicator.js +0 -19
  246. package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
  247. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  248. package/dist/esm/src/utils/date.js +0 -15
  249. package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
  250. package/dist/esm/src/utils/explore.js +0 -47
  251. package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
  252. package/dist/esm/src/utils/getDataSource.js +0 -18
  253. package/dist/esm/src/utils/getMessageFromError.js +0 -24
  254. package/dist/esm/src/utils/metricTree.js +0 -53
  255. package/dist/esm/src/utils/parseUrlParam.js +0 -41
  256. package/dist/esm/src/utils/utils.js +0 -11
  257. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
  258. package/dist/esm/src/utils/writeSceneLog.js +0 -12
  259. package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
  260. package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
  261. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
  262. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
  263. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  264. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  269. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  270. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  271. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
  272. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  273. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  274. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
  275. package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
  276. package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
  277. package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
  278. package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
  279. package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
  280. package/dist/esm/src/variables/constants.js +0 -9
  281. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
  282. package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
  283. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  284. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  285. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
  286. package/dist/esm/src/variables/interpolation/defaults.js +0 -21
  287. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
  288. package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
  289. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
  290. package/dist/esm/src/variables/lookupVariable.js +0 -20
  291. package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
  292. package/dist/esm/src/variables/macros/contextMacros.js +0 -43
  293. package/dist/esm/src/variables/macros/dataMacros.js +0 -134
  294. package/dist/esm/src/variables/macros/index.js +0 -35
  295. package/dist/esm/src/variables/macros/templateProxies.js +0 -51
  296. package/dist/esm/src/variables/macros/timeMacros.js +0 -86
  297. package/dist/esm/src/variables/macros/types.js +0 -11
  298. package/dist/esm/src/variables/macros/urlMacros.js +0 -56
  299. package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
  300. package/dist/esm/src/variables/types.js +0 -11
  301. package/dist/esm/src/variables/utils.js +0 -172
  302. package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
  303. package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
  304. package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
  305. package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
  306. package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
  307. package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
  308. package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
  309. package/dist/esm/src/variables/variants/TestVariable.js +0 -117
  310. package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
  311. package/dist/esm/src/variables/variants/guards.js +0 -27
  312. package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
  313. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
  314. package/dist/esm/src/variables/variants/query/guards.js +0 -28
  315. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
  316. package/dist/esm/src/variables/variants/query/utils.js +0 -124
  317. package/dist/esm/variables/variants/JsonVariable.js +0 -96
  318. package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
  319. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
@@ -1,468 +0,0 @@
1
- import { isEqual, cloneDeep } from 'lodash';
2
- import { ReplaySubject, forkJoin } from 'rxjs';
3
- import { LoadingState } from '@grafana/schema';
4
- import { preProcessPanelData, DataTopic, DataFrameView, rangeUtil } from '@grafana/data';
5
- import { getRunRequest, toDataQueryError, isExpressionReference } from '@grafana/runtime';
6
- import { SceneObjectBase } from '../core/SceneObjectBase.js';
7
- import { sceneGraph } from '../core/sceneGraph/index.js';
8
- import { getDataSource } from '../utils/getDataSource.js';
9
- import { VariableDependencyConfig } from '../variables/VariableDependencyConfig.js';
10
- import { writeSceneLog } from '../utils/writeSceneLog.js';
11
- import { VariableValueRecorder } from '../variables/VariableValueRecorder.js';
12
- import { emptyPanelData } from '../core/SceneDataNode.js';
13
- import { getClosest } from '../core/sceneGraph/utils.js';
14
- import { isExtraQueryProvider } from './ExtraQueryProvider.js';
15
- import { extraQueryProcessingOperator, passthroughProcessor } from './extraQueryProcessingOperator.js';
16
- import { filterAnnotations } from './layers/annotations/filterAnnotations.js';
17
- import { getEnrichedDataRequest } from './getEnrichedDataRequest.js';
18
- import { findActiveAdHocFilterVariableByUid } from '../variables/adhoc/patchGetAdhocFilters.js';
19
- import { registerQueryWithController } from './registerQueryWithController.js';
20
- import { findActiveGroupByVariablesByUid } from '../variables/groupby/findActiveGroupByVariablesByUid.js';
21
- import { GroupByVariable } from '../variables/groupby/GroupByVariable.js';
22
- import { AdHocFiltersVariable, isFilterComplete } from '../variables/adhoc/AdHocFiltersVariable.js';
23
- import { DataLayersMerger } from './DataLayersMerger.js';
24
- import { interpolate } from '../core/sceneGraph/sceneGraph.js';
25
- import { wrapInSafeSerializableSceneObject } from '../utils/wrapInSafeSerializableSceneObject.js';
26
-
27
- var __defProp = Object.defineProperty;
28
- var __defProps = Object.defineProperties;
29
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
30
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
31
- var __hasOwnProp = Object.prototype.hasOwnProperty;
32
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
33
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
34
- var __spreadValues = (a, b) => {
35
- for (var prop in b || (b = {}))
36
- if (__hasOwnProp.call(b, prop))
37
- __defNormalProp(a, prop, b[prop]);
38
- if (__getOwnPropSymbols)
39
- for (var prop of __getOwnPropSymbols(b)) {
40
- if (__propIsEnum.call(b, prop))
41
- __defNormalProp(a, prop, b[prop]);
42
- }
43
- return a;
44
- };
45
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
46
- let counter = 100;
47
- function getNextRequestId() {
48
- return "SQR" + counter++;
49
- }
50
- class SceneQueryRunner extends SceneObjectBase {
51
- constructor(initialState) {
52
- super(initialState);
53
- this._dataLayersMerger = new DataLayersMerger();
54
- this._variableValueRecorder = new VariableValueRecorder();
55
- this._results = new ReplaySubject(1);
56
- this._scopedVars = { __sceneObject: wrapInSafeSerializableSceneObject(this) };
57
- this._variableDependency = new VariableDependencyConfig(this, {
58
- statePaths: ["queries", "datasource"],
59
- onVariableUpdateCompleted: this.onVariableUpdatesCompleted.bind(this),
60
- onAnyVariableChanged: this.onAnyVariableChanged.bind(this)
61
- });
62
- this.onDataReceived = (data) => {
63
- const preProcessedData = preProcessPanelData(data, this.state.data);
64
- this._resultAnnotations = data.annotations;
65
- const dataWithLayersApplied = this._combineDataLayers(preProcessedData);
66
- let hasFetchedData = this.state._hasFetchedData;
67
- if (!hasFetchedData && preProcessedData.state !== LoadingState.Loading) {
68
- hasFetchedData = true;
69
- }
70
- this.setState({ data: dataWithLayersApplied, _hasFetchedData: hasFetchedData });
71
- this._results.next({ origin: this, data: dataWithLayersApplied });
72
- };
73
- this.addActivationHandler(() => this._onActivate());
74
- }
75
- getResultsStream() {
76
- return this._results;
77
- }
78
- _onActivate() {
79
- if (this.isQueryModeAuto()) {
80
- const timeRange = sceneGraph.getTimeRange(this);
81
- const providers = this.getClosestExtraQueryProviders();
82
- for (const provider of providers) {
83
- this._subs.add(
84
- provider.subscribeToState((n, p) => {
85
- if (provider.shouldRerun(p, n, this.state.queries)) {
86
- this.runQueries();
87
- }
88
- })
89
- );
90
- }
91
- this.subscribeToTimeRangeChanges(timeRange);
92
- if (this.shouldRunQueriesOnActivate()) {
93
- this.runQueries();
94
- }
95
- }
96
- if (!this._dataLayersSub) {
97
- this._handleDataLayers();
98
- }
99
- return () => this._onDeactivate();
100
- }
101
- _handleDataLayers() {
102
- const dataLayers = sceneGraph.getDataLayers(this);
103
- if (dataLayers.length === 0) {
104
- return;
105
- }
106
- this._dataLayersSub = this._dataLayersMerger.getMergedStream(dataLayers).subscribe(this._onLayersReceived.bind(this));
107
- }
108
- _onLayersReceived(results) {
109
- var _a, _b, _c, _d, _e;
110
- const timeRange = sceneGraph.getTimeRange(this);
111
- const { dataLayerFilter } = this.state;
112
- let annotations = [];
113
- let alertStates = [];
114
- let alertState;
115
- for (const result of results) {
116
- for (let frame of result.data.series) {
117
- if (((_a = frame.meta) == null ? void 0 : _a.dataTopic) === DataTopic.Annotations) {
118
- annotations = annotations.concat(frame);
119
- }
120
- if (((_b = frame.meta) == null ? void 0 : _b.dataTopic) === DataTopic.AlertStates) {
121
- alertStates = alertStates.concat(frame);
122
- }
123
- }
124
- }
125
- if (dataLayerFilter == null ? void 0 : dataLayerFilter.panelId) {
126
- if (annotations.length > 0) {
127
- annotations = filterAnnotations(annotations, dataLayerFilter);
128
- }
129
- if (alertStates.length > 0) {
130
- for (const frame of alertStates) {
131
- const frameView = new DataFrameView(frame);
132
- for (const row of frameView) {
133
- if (row.panelId === dataLayerFilter.panelId) {
134
- alertState = row;
135
- break;
136
- }
137
- }
138
- }
139
- }
140
- }
141
- if (allFramesEmpty(annotations) && allFramesEmpty(this._layerAnnotations) && isEqual(alertState, (_c = this.state.data) == null ? void 0 : _c.alertState)) {
142
- return;
143
- }
144
- this._layerAnnotations = annotations;
145
- const baseStateUpdate = this.state.data ? this.state.data : __spreadProps(__spreadValues({}, emptyPanelData), { timeRange: timeRange.state.value });
146
- this.setState({
147
- data: __spreadProps(__spreadValues({}, baseStateUpdate), {
148
- annotations: [...(_d = this._resultAnnotations) != null ? _d : [], ...annotations],
149
- alertState: alertState != null ? alertState : (_e = this.state.data) == null ? void 0 : _e.alertState
150
- })
151
- });
152
- }
153
- onVariableUpdatesCompleted() {
154
- if (this.isQueryModeAuto()) {
155
- this.runQueries();
156
- }
157
- }
158
- onAnyVariableChanged(variable) {
159
- if (this._adhocFiltersVar === variable || this._groupByVar === variable || !this.isQueryModeAuto()) {
160
- return;
161
- }
162
- if (variable instanceof AdHocFiltersVariable && this._isRelevantAutoVariable(variable)) {
163
- this.runQueries();
164
- }
165
- if (variable instanceof GroupByVariable && this._isRelevantAutoVariable(variable)) {
166
- this.runQueries();
167
- }
168
- }
169
- _isRelevantAutoVariable(variable) {
170
- var _a, _b;
171
- const datasource = (_a = this.state.datasource) != null ? _a : findFirstDatasource(this.state.queries);
172
- return variable.state.applyMode === "auto" && (datasource == null ? void 0 : datasource.uid) === ((_b = variable.state.datasource) == null ? void 0 : _b.uid);
173
- }
174
- shouldRunQueriesOnActivate() {
175
- if (this._variableValueRecorder.hasDependenciesChanged(this)) {
176
- writeSceneLog(
177
- "SceneQueryRunner",
178
- "Variable dependency changed while inactive, shouldRunQueriesOnActivate returns true"
179
- );
180
- return true;
181
- }
182
- if (!this.state.data) {
183
- return true;
184
- }
185
- if (this._isDataTimeRangeStale(this.state.data)) {
186
- return true;
187
- }
188
- return false;
189
- }
190
- _isDataTimeRangeStale(data) {
191
- const timeRange = sceneGraph.getTimeRange(this);
192
- const stateTimeRange = timeRange.state.value;
193
- const dataTimeRange = data.timeRange;
194
- if (stateTimeRange.from.unix() === dataTimeRange.from.unix() && stateTimeRange.to.unix() === dataTimeRange.to.unix()) {
195
- return false;
196
- }
197
- writeSceneLog("SceneQueryRunner", "Data time range is stale");
198
- return true;
199
- }
200
- _onDeactivate() {
201
- var _a;
202
- if (this._querySub) {
203
- this._querySub.unsubscribe();
204
- this._querySub = void 0;
205
- }
206
- if (this._dataLayersSub) {
207
- this._dataLayersSub.unsubscribe();
208
- this._dataLayersSub = void 0;
209
- }
210
- (_a = this._timeSub) == null ? void 0 : _a.unsubscribe();
211
- this._timeSub = void 0;
212
- this._timeSubRange = void 0;
213
- this._adhocFiltersVar = void 0;
214
- this._groupByVar = void 0;
215
- this._variableValueRecorder.recordCurrentDependencyValuesForSceneObject(this);
216
- }
217
- setContainerWidth(width) {
218
- if (!this._containerWidth && width > 0) {
219
- this._containerWidth = width;
220
- if (this.state.maxDataPointsFromWidth && !this.state.maxDataPoints) {
221
- setTimeout(() => {
222
- if (this.isActive && !this.state._hasFetchedData) {
223
- this.runQueries();
224
- }
225
- }, 0);
226
- }
227
- } else {
228
- if (width > 0) {
229
- this._containerWidth = width;
230
- }
231
- }
232
- }
233
- isDataReadyToDisplay() {
234
- return Boolean(this.state._hasFetchedData);
235
- }
236
- subscribeToTimeRangeChanges(timeRange) {
237
- if (this._timeSubRange === timeRange) {
238
- return;
239
- }
240
- if (this._timeSub) {
241
- this._timeSub.unsubscribe();
242
- }
243
- this._timeSubRange = timeRange;
244
- this._timeSub = timeRange.subscribeToState(() => {
245
- this.runWithTimeRange(timeRange);
246
- });
247
- }
248
- runQueries() {
249
- const timeRange = sceneGraph.getTimeRange(this);
250
- if (this.isQueryModeAuto()) {
251
- this.subscribeToTimeRangeChanges(timeRange);
252
- }
253
- this.runWithTimeRange(timeRange);
254
- }
255
- getMaxDataPoints() {
256
- var _a;
257
- if (this.state.maxDataPoints) {
258
- return this.state.maxDataPoints;
259
- }
260
- return this.state.maxDataPointsFromWidth ? (_a = this._containerWidth) != null ? _a : 500 : 500;
261
- }
262
- cancelQuery() {
263
- var _a;
264
- (_a = this._querySub) == null ? void 0 : _a.unsubscribe();
265
- if (this._dataLayersSub) {
266
- this._dataLayersSub.unsubscribe();
267
- this._dataLayersSub = void 0;
268
- }
269
- this.setState({
270
- data: __spreadProps(__spreadValues({}, this.state.data), { state: LoadingState.Done })
271
- });
272
- }
273
- async runWithTimeRange(timeRange) {
274
- var _a, _b, _c;
275
- if (!this.state.maxDataPoints && this.state.maxDataPointsFromWidth && !this._containerWidth) {
276
- return;
277
- }
278
- if (!this._dataLayersSub) {
279
- this._handleDataLayers();
280
- }
281
- (_a = this._querySub) == null ? void 0 : _a.unsubscribe();
282
- if (this._variableDependency.hasDependencyInLoadingState()) {
283
- writeSceneLog("SceneQueryRunner", "Variable dependency is in loading state, skipping query execution");
284
- this.setState({ data: __spreadProps(__spreadValues({}, (_b = this.state.data) != null ? _b : emptyPanelData), { state: LoadingState.Loading }) });
285
- return;
286
- }
287
- const { queries } = this.state;
288
- if (!(queries == null ? void 0 : queries.length)) {
289
- this._setNoDataState();
290
- return;
291
- }
292
- try {
293
- const datasource = (_c = this.state.datasource) != null ? _c : findFirstDatasource(queries);
294
- const ds = await getDataSource(datasource, this._scopedVars);
295
- this.findAndSubscribeToAdHocFilters(datasource == null ? void 0 : datasource.uid);
296
- const runRequest = getRunRequest();
297
- const { primary, secondaries, processors } = this.prepareRequests(timeRange, ds);
298
- writeSceneLog("SceneQueryRunner", "Starting runRequest", this.state.key);
299
- let stream = runRequest(ds, primary);
300
- if (secondaries.length > 0) {
301
- const secondaryStreams = secondaries.map((r) => runRequest(ds, r));
302
- const op = extraQueryProcessingOperator(processors);
303
- stream = forkJoin([stream, ...secondaryStreams]).pipe(op);
304
- }
305
- stream = stream.pipe(
306
- registerQueryWithController({
307
- type: "data",
308
- request: primary,
309
- origin: this,
310
- cancel: () => this.cancelQuery()
311
- })
312
- );
313
- this._querySub = stream.subscribe(this.onDataReceived);
314
- } catch (err) {
315
- console.error("PanelQueryRunner Error", err);
316
- this.onDataReceived(__spreadProps(__spreadValues(__spreadValues({}, emptyPanelData), this.state.data), {
317
- state: LoadingState.Error,
318
- errors: [toDataQueryError(err)]
319
- }));
320
- }
321
- }
322
- clone(withState) {
323
- var _a;
324
- const clone = super.clone(withState);
325
- if (this._resultAnnotations) {
326
- clone["_resultAnnotations"] = this._resultAnnotations.map((frame) => __spreadValues({}, frame));
327
- }
328
- if (this._layerAnnotations) {
329
- clone["_layerAnnotations"] = this._layerAnnotations.map((frame) => __spreadValues({}, frame));
330
- }
331
- clone["_variableValueRecorder"] = this._variableValueRecorder.cloneAndRecordCurrentValuesForSceneObject(this);
332
- clone["_containerWidth"] = this._containerWidth;
333
- clone["_results"].next({ origin: this, data: (_a = this.state.data) != null ? _a : emptyPanelData });
334
- return clone;
335
- }
336
- prepareRequests(timeRange, ds) {
337
- var _a;
338
- const { minInterval, queries } = this.state;
339
- let request = __spreadValues({
340
- app: "scenes",
341
- requestId: getNextRequestId(),
342
- timezone: timeRange.getTimeZone(),
343
- range: timeRange.state.value,
344
- interval: "1s",
345
- intervalMs: 1e3,
346
- targets: cloneDeep(queries),
347
- maxDataPoints: this.getMaxDataPoints(),
348
- scopedVars: this._scopedVars,
349
- startTime: Date.now(),
350
- liveStreaming: this.state.liveStreaming,
351
- rangeRaw: {
352
- from: timeRange.state.from,
353
- to: timeRange.state.to
354
- },
355
- cacheTimeout: this.state.cacheTimeout,
356
- queryCachingTTL: this.state.queryCachingTTL
357
- }, getEnrichedDataRequest(this));
358
- if (this._adhocFiltersVar) {
359
- request.filters = this._adhocFiltersVar.state.filters.filter(isFilterComplete);
360
- }
361
- if (this._groupByVar) {
362
- request.groupByKeys = this._groupByVar.state.value;
363
- }
364
- request.targets = request.targets.map((query) => {
365
- var _a2;
366
- if (!query.datasource || query.datasource.uid !== ds.uid && !((_a2 = ds.meta) == null ? void 0 : _a2.mixed) && isExpressionReference && !isExpressionReference(query.datasource)) {
367
- query.datasource = ds.getRef();
368
- }
369
- return query;
370
- });
371
- const lowerIntervalLimit = minInterval ? interpolate(this, minInterval) : ds.interval;
372
- const norm = rangeUtil.calculateInterval(timeRange.state.value, request.maxDataPoints, lowerIntervalLimit);
373
- request.scopedVars = Object.assign({}, request.scopedVars, {
374
- __interval: { text: norm.interval, value: norm.interval },
375
- __interval_ms: { text: norm.intervalMs.toString(), value: norm.intervalMs }
376
- });
377
- request.interval = norm.interval;
378
- request.intervalMs = norm.intervalMs;
379
- const primaryTimeRange = timeRange.state.value;
380
- let secondaryRequests = [];
381
- let secondaryProcessors = /* @__PURE__ */ new Map();
382
- for (const provider of (_a = this.getClosestExtraQueryProviders()) != null ? _a : []) {
383
- for (const { req, processor } of provider.getExtraQueries(request)) {
384
- const requestId = getNextRequestId();
385
- secondaryRequests.push(__spreadProps(__spreadValues({}, req), { requestId }));
386
- secondaryProcessors.set(requestId, processor != null ? processor : passthroughProcessor);
387
- }
388
- }
389
- request.range = primaryTimeRange;
390
- return { primary: request, secondaries: secondaryRequests, processors: secondaryProcessors };
391
- }
392
- _combineDataLayers(data) {
393
- if (this._layerAnnotations && this._layerAnnotations.length > 0) {
394
- data.annotations = (data.annotations || []).concat(this._layerAnnotations);
395
- }
396
- if (this.state.data && this.state.data.alertState) {
397
- data.alertState = this.state.data.alertState;
398
- }
399
- return data;
400
- }
401
- _setNoDataState() {
402
- if (this.state.data !== emptyPanelData) {
403
- this.setState({ data: emptyPanelData });
404
- }
405
- }
406
- getClosestExtraQueryProviders() {
407
- const found = /* @__PURE__ */ new Map();
408
- if (!this.parent) {
409
- return [];
410
- }
411
- getClosest(this.parent, (s) => {
412
- if (isExtraQueryProvider(s) && !found.has(s.constructor)) {
413
- found.set(s.constructor, s);
414
- }
415
- s.forEachChild((child) => {
416
- if (isExtraQueryProvider(child) && !found.has(child.constructor)) {
417
- found.set(child.constructor, child);
418
- }
419
- });
420
- return null;
421
- });
422
- return Array.from(found.values());
423
- }
424
- findAndSubscribeToAdHocFilters(uid) {
425
- const filtersVar = findActiveAdHocFilterVariableByUid(uid);
426
- if (this._adhocFiltersVar !== filtersVar) {
427
- this._adhocFiltersVar = filtersVar;
428
- this._updateExplicitVariableDependencies();
429
- }
430
- const groupByVar = findActiveGroupByVariablesByUid(uid);
431
- if (this._groupByVar !== groupByVar) {
432
- this._groupByVar = groupByVar;
433
- this._updateExplicitVariableDependencies();
434
- }
435
- }
436
- _updateExplicitVariableDependencies() {
437
- const explicitDependencies = [];
438
- if (this._adhocFiltersVar) {
439
- explicitDependencies.push(this._adhocFiltersVar.state.name);
440
- }
441
- if (this._groupByVar) {
442
- explicitDependencies.push(this._groupByVar.state.name);
443
- }
444
- this._variableDependency.setVariableNames(explicitDependencies);
445
- }
446
- isQueryModeAuto() {
447
- var _a;
448
- return ((_a = this.state.runQueriesMode) != null ? _a : "auto") === "auto";
449
- }
450
- }
451
- function findFirstDatasource(targets) {
452
- var _a, _b;
453
- return (_b = (_a = targets.find((t) => t.datasource !== null)) == null ? void 0 : _a.datasource) != null ? _b : void 0;
454
- }
455
- function allFramesEmpty(frames) {
456
- if (!frames) {
457
- return true;
458
- }
459
- for (let i = 0; i < frames.length; i++) {
460
- if (frames[i].length > 0) {
461
- return false;
462
- }
463
- }
464
- return true;
465
- }
466
-
467
- export { SceneQueryRunner, findFirstDatasource, getNextRequestId };
468
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVRdWVyeVJ1bm5lci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcXVlcnlpbmcvU2NlbmVRdWVyeVJ1bm5lci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VxdWFsLCBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZSB9IGZyb20gJ0BncmFmYW5hL3NjaGVtYSc7XG5pbXBvcnQgeyBwcmVQcm9jZXNzUGFuZWxEYXRhLCBEYXRhVG9waWMsIERhdGFGcmFtZVZpZXcsIHJhbmdlVXRpbCB9IGZyb20gJ0BncmFmYW5hL2RhdGEnO1xuaW1wb3J0IHsgZ2V0UnVuUmVxdWVzdCwgdG9EYXRhUXVlcnlFcnJvciwgaXNFeHByZXNzaW9uUmVmZXJlbmNlIH0gZnJvbSAnQGdyYWZhbmEvcnVudGltZSc7XG5pbXBvcnQgeyBTY2VuZU9iamVjdEJhc2UgfSBmcm9tICcuLi9jb3JlL1NjZW5lT2JqZWN0QmFzZS5qcyc7XG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vY29yZS9zY2VuZUdyYXBoL2luZGV4LmpzJztcbmltcG9ydCB7IGdldERhdGFTb3VyY2UgfSBmcm9tICcuLi91dGlscy9nZXREYXRhU291cmNlLmpzJztcbmltcG9ydCB7IFZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZyB9IGZyb20gJy4uL3ZhcmlhYmxlcy9WYXJpYWJsZURlcGVuZGVuY3lDb25maWcuanMnO1xuaW1wb3J0IHsgd3JpdGVTY2VuZUxvZyB9IGZyb20gJy4uL3V0aWxzL3dyaXRlU2NlbmVMb2cuanMnO1xuaW1wb3J0IHsgVmFyaWFibGVWYWx1ZVJlY29yZGVyIH0gZnJvbSAnLi4vdmFyaWFibGVzL1ZhcmlhYmxlVmFsdWVSZWNvcmRlci5qcyc7XG5pbXBvcnQgeyBlbXB0eVBhbmVsRGF0YSB9IGZyb20gJy4uL2NvcmUvU2NlbmVEYXRhTm9kZS5qcyc7XG5pbXBvcnQgeyBnZXRDbG9zZXN0IH0gZnJvbSAnLi4vY29yZS9zY2VuZUdyYXBoL3V0aWxzLmpzJztcbmltcG9ydCB7IGlzRXh0cmFRdWVyeVByb3ZpZGVyIH0gZnJvbSAnLi9FeHRyYVF1ZXJ5UHJvdmlkZXIuanMnO1xuaW1wb3J0IHsgZXh0cmFRdWVyeVByb2Nlc3NpbmdPcGVyYXRvciwgcGFzc3Rocm91Z2hQcm9jZXNzb3IgfSBmcm9tICcuL2V4dHJhUXVlcnlQcm9jZXNzaW5nT3BlcmF0b3IuanMnO1xuaW1wb3J0IHsgZmlsdGVyQW5ub3RhdGlvbnMgfSBmcm9tICcuL2xheWVycy9hbm5vdGF0aW9ucy9maWx0ZXJBbm5vdGF0aW9ucy5qcyc7XG5pbXBvcnQgeyBnZXRFbnJpY2hlZERhdGFSZXF1ZXN0IH0gZnJvbSAnLi9nZXRFbnJpY2hlZERhdGFSZXF1ZXN0LmpzJztcbmltcG9ydCB7IGZpbmRBY3RpdmVBZEhvY0ZpbHRlclZhcmlhYmxlQnlVaWQgfSBmcm9tICcuLi92YXJpYWJsZXMvYWRob2MvcGF0Y2hHZXRBZGhvY0ZpbHRlcnMuanMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJRdWVyeVdpdGhDb250cm9sbGVyIH0gZnJvbSAnLi9yZWdpc3RlclF1ZXJ5V2l0aENvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgZmluZEFjdGl2ZUdyb3VwQnlWYXJpYWJsZXNCeVVpZCB9IGZyb20gJy4uL3ZhcmlhYmxlcy9ncm91cGJ5L2ZpbmRBY3RpdmVHcm91cEJ5VmFyaWFibGVzQnlVaWQuanMnO1xuaW1wb3J0IHsgR3JvdXBCeVZhcmlhYmxlIH0gZnJvbSAnLi4vdmFyaWFibGVzL2dyb3VwYnkvR3JvdXBCeVZhcmlhYmxlLmpzJztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc1ZhcmlhYmxlLCBpc0ZpbHRlckNvbXBsZXRlIH0gZnJvbSAnLi4vdmFyaWFibGVzL2FkaG9jL0FkSG9jRmlsdGVyc1ZhcmlhYmxlLmpzJztcbmltcG9ydCB7IERhdGFMYXllcnNNZXJnZXIgfSBmcm9tICcuL0RhdGFMYXllcnNNZXJnZXIuanMnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGUgfSBmcm9tICcuLi9jb3JlL3NjZW5lR3JhcGgvc2NlbmVHcmFwaC5qcyc7XG5pbXBvcnQgeyB3cmFwSW5TYWZlU2VyaWFsaXphYmxlU2NlbmVPYmplY3QgfSBmcm9tICcuLi91dGlscy93cmFwSW5TYWZlU2VyaWFsaXphYmxlU2NlbmVPYmplY3QuanMnO1xuXG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZGVmUHJvcHMgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcztcbnZhciBfX2dldE93blByb3BEZXNjcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzO1xudmFyIF9fZ2V0T3duUHJvcFN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19wcm9wSXNFbnVtID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbnZhciBfX2RlZk5vcm1hbFByb3AgPSAob2JqLCBrZXksIHZhbHVlKSA9PiBrZXkgaW4gb2JqID8gX19kZWZQcm9wKG9iaiwga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlIH0pIDogb2JqW2tleV0gPSB2YWx1ZTtcbnZhciBfX3NwcmVhZFZhbHVlcyA9IChhLCBiKSA9PiB7XG4gIGZvciAodmFyIHByb3AgaW4gYiB8fCAoYiA9IHt9KSlcbiAgICBpZiAoX19oYXNPd25Qcm9wLmNhbGwoYiwgcHJvcCkpXG4gICAgICBfX2RlZk5vcm1hbFByb3AoYSwgcHJvcCwgYltwcm9wXSk7XG4gIGlmIChfX2dldE93blByb3BTeW1ib2xzKVxuICAgIGZvciAodmFyIHByb3Agb2YgX19nZXRPd25Qcm9wU3ltYm9scyhiKSkge1xuICAgICAgaWYgKF9fcHJvcElzRW51bS5jYWxsKGIsIHByb3ApKVxuICAgICAgICBfX2RlZk5vcm1hbFByb3AoYSwgcHJvcCwgYltwcm9wXSk7XG4gICAgfVxuICByZXR1cm4gYTtcbn07XG52YXIgX19zcHJlYWRQcm9wcyA9IChhLCBiKSA9PiBfX2RlZlByb3BzKGEsIF9fZ2V0T3duUHJvcERlc2NzKGIpKTtcbmxldCBjb3VudGVyID0gMTAwO1xuZnVuY3Rpb24gZ2V0TmV4dFJlcXVlc3RJZCgpIHtcbiAgcmV0dXJuIFwiU1FSXCIgKyBjb3VudGVyKys7XG59XG5jbGFzcyBTY2VuZVF1ZXJ5UnVubmVyIGV4dGVuZHMgU2NlbmVPYmplY3RCYXNlIHtcbiAgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlKSB7XG4gICAgc3VwZXIoaW5pdGlhbFN0YXRlKTtcbiAgICB0aGlzLl9kYXRhTGF5ZXJzTWVyZ2VyID0gbmV3IERhdGFMYXllcnNNZXJnZXIoKTtcbiAgICB0aGlzLl92YXJpYWJsZVZhbHVlUmVjb3JkZXIgPSBuZXcgVmFyaWFibGVWYWx1ZVJlY29yZGVyKCk7XG4gICAgdGhpcy5fcmVzdWx0cyA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHRoaXMuX3Njb3BlZFZhcnMgPSB7IF9fc2NlbmVPYmplY3Q6IHdyYXBJblNhZmVTZXJpYWxpemFibGVTY2VuZU9iamVjdCh0aGlzKSB9O1xuICAgIHRoaXMuX3ZhcmlhYmxlRGVwZW5kZW5jeSA9IG5ldyBWYXJpYWJsZURlcGVuZGVuY3lDb25maWcodGhpcywge1xuICAgICAgc3RhdGVQYXRoczogW1wicXVlcmllc1wiLCBcImRhdGFzb3VyY2VcIl0sXG4gICAgICBvblZhcmlhYmxlVXBkYXRlQ29tcGxldGVkOiB0aGlzLm9uVmFyaWFibGVVcGRhdGVzQ29tcGxldGVkLmJpbmQodGhpcyksXG4gICAgICBvbkFueVZhcmlhYmxlQ2hhbmdlZDogdGhpcy5vbkFueVZhcmlhYmxlQ2hhbmdlZC5iaW5kKHRoaXMpXG4gICAgfSk7XG4gICAgdGhpcy5vbkRhdGFSZWNlaXZlZCA9IChkYXRhKSA9PiB7XG4gICAgICBjb25zdCBwcmVQcm9jZXNzZWREYXRhID0gcHJlUHJvY2Vzc1BhbmVsRGF0YShkYXRhLCB0aGlzLnN0YXRlLmRhdGEpO1xuICAgICAgdGhpcy5fcmVzdWx0QW5ub3RhdGlvbnMgPSBkYXRhLmFubm90YXRpb25zO1xuICAgICAgY29uc3QgZGF0YVdpdGhMYXllcnNBcHBsaWVkID0gdGhpcy5fY29tYmluZURhdGFMYXllcnMocHJlUHJvY2Vzc2VkRGF0YSk7XG4gICAgICBsZXQgaGFzRmV0Y2hlZERhdGEgPSB0aGlzLnN0YXRlLl9oYXNGZXRjaGVkRGF0YTtcbiAgICAgIGlmICghaGFzRmV0Y2hlZERhdGEgJiYgcHJlUHJvY2Vzc2VkRGF0YS5zdGF0ZSAhPT0gTG9hZGluZ1N0YXRlLkxvYWRpbmcpIHtcbiAgICAgICAgaGFzRmV0Y2hlZERhdGEgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRhdGE6IGRhdGFXaXRoTGF5ZXJzQXBwbGllZCwgX2hhc0ZldGNoZWREYXRhOiBoYXNGZXRjaGVkRGF0YSB9KTtcbiAgICAgIHRoaXMuX3Jlc3VsdHMubmV4dCh7IG9yaWdpbjogdGhpcywgZGF0YTogZGF0YVdpdGhMYXllcnNBcHBsaWVkIH0pO1xuICAgIH07XG4gICAgdGhpcy5hZGRBY3RpdmF0aW9uSGFuZGxlcigoKSA9PiB0aGlzLl9vbkFjdGl2YXRlKCkpO1xuICB9XG4gIGdldFJlc3VsdHNTdHJlYW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jlc3VsdHM7XG4gIH1cbiAgX29uQWN0aXZhdGUoKSB7XG4gICAgaWYgKHRoaXMuaXNRdWVyeU1vZGVBdXRvKCkpIHtcbiAgICAgIGNvbnN0IHRpbWVSYW5nZSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKHRoaXMpO1xuICAgICAgY29uc3QgcHJvdmlkZXJzID0gdGhpcy5nZXRDbG9zZXN0RXh0cmFRdWVyeVByb3ZpZGVycygpO1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiBwcm92aWRlcnMpIHtcbiAgICAgICAgdGhpcy5fc3Vicy5hZGQoXG4gICAgICAgICAgcHJvdmlkZXIuc3Vic2NyaWJlVG9TdGF0ZSgobiwgcCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVyLnNob3VsZFJlcnVuKHAsIG4sIHRoaXMuc3RhdGUucXVlcmllcykpIHtcbiAgICAgICAgICAgICAgdGhpcy5ydW5RdWVyaWVzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9UaW1lUmFuZ2VDaGFuZ2VzKHRpbWVSYW5nZSk7XG4gICAgICBpZiAodGhpcy5zaG91bGRSdW5RdWVyaWVzT25BY3RpdmF0ZSgpKSB7XG4gICAgICAgIHRoaXMucnVuUXVlcmllcygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMuX2RhdGFMYXllcnNTdWIpIHtcbiAgICAgIHRoaXMuX2hhbmRsZURhdGFMYXllcnMoKTtcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHRoaXMuX29uRGVhY3RpdmF0ZSgpO1xuICB9XG4gIF9oYW5kbGVEYXRhTGF5ZXJzKCkge1xuICAgIGNvbnN0IGRhdGFMYXllcnMgPSBzY2VuZUdyYXBoLmdldERhdGFMYXllcnModGhpcyk7XG4gICAgaWYgKGRhdGFMYXllcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2RhdGFMYXllcnNTdWIgPSB0aGlzLl9kYXRhTGF5ZXJzTWVyZ2VyLmdldE1lcmdlZFN0cmVhbShkYXRhTGF5ZXJzKS5zdWJzY3JpYmUodGhpcy5fb25MYXllcnNSZWNlaXZlZC5iaW5kKHRoaXMpKTtcbiAgfVxuICBfb25MYXllcnNSZWNlaXZlZChyZXN1bHRzKSB7XG4gICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICBjb25zdCB0aW1lUmFuZ2UgPSBzY2VuZUdyYXBoLmdldFRpbWVSYW5nZSh0aGlzKTtcbiAgICBjb25zdCB7IGRhdGFMYXllckZpbHRlciB9ID0gdGhpcy5zdGF0ZTtcbiAgICBsZXQgYW5ub3RhdGlvbnMgPSBbXTtcbiAgICBsZXQgYWxlcnRTdGF0ZXMgPSBbXTtcbiAgICBsZXQgYWxlcnRTdGF0ZTtcbiAgICBmb3IgKGNvbnN0IHJlc3VsdCBvZiByZXN1bHRzKSB7XG4gICAgICBmb3IgKGxldCBmcmFtZSBvZiByZXN1bHQuZGF0YS5zZXJpZXMpIHtcbiAgICAgICAgaWYgKCgoX2EgPSBmcmFtZS5tZXRhKSA9PSBudWxsID8gdm9pZCAwIDogX2EuZGF0YVRvcGljKSA9PT0gRGF0YVRvcGljLkFubm90YXRpb25zKSB7XG4gICAgICAgICAgYW5ub3RhdGlvbnMgPSBhbm5vdGF0aW9ucy5jb25jYXQoZnJhbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgoKF9iID0gZnJhbWUubWV0YSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmRhdGFUb3BpYykgPT09IERhdGFUb3BpYy5BbGVydFN0YXRlcykge1xuICAgICAgICAgIGFsZXJ0U3RhdGVzID0gYWxlcnRTdGF0ZXMuY29uY2F0KGZyYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGF0YUxheWVyRmlsdGVyID09IG51bGwgPyB2b2lkIDAgOiBkYXRhTGF5ZXJGaWx0ZXIucGFuZWxJZCkge1xuICAgICAgaWYgKGFubm90YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYW5ub3RhdGlvbnMgPSBmaWx0ZXJBbm5vdGF0aW9ucyhhbm5vdGF0aW9ucywgZGF0YUxheWVyRmlsdGVyKTtcbiAgICAgIH1cbiAgICAgIGlmIChhbGVydFN0YXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAoY29uc3QgZnJhbWUgb2YgYWxlcnRTdGF0ZXMpIHtcbiAgICAgICAgICBjb25zdCBmcmFtZVZpZXcgPSBuZXcgRGF0YUZyYW1lVmlldyhmcmFtZSk7XG4gICAgICAgICAgZm9yIChjb25zdCByb3cgb2YgZnJhbWVWaWV3KSB7XG4gICAgICAgICAgICBpZiAocm93LnBhbmVsSWQgPT09IGRhdGFMYXllckZpbHRlci5wYW5lbElkKSB7XG4gICAgICAgICAgICAgIGFsZXJ0U3RhdGUgPSByb3c7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWxsRnJhbWVzRW1wdHkoYW5ub3RhdGlvbnMpICYmIGFsbEZyYW1lc0VtcHR5KHRoaXMuX2xheWVyQW5ub3RhdGlvbnMpICYmIGlzRXF1YWwoYWxlcnRTdGF0ZSwgKF9jID0gdGhpcy5zdGF0ZS5kYXRhKSA9PSBudWxsID8gdm9pZCAwIDogX2MuYWxlcnRTdGF0ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbGF5ZXJBbm5vdGF0aW9ucyA9IGFubm90YXRpb25zO1xuICAgIGNvbnN0IGJhc2VTdGF0ZVVwZGF0ZSA9IHRoaXMuc3RhdGUuZGF0YSA/IHRoaXMuc3RhdGUuZGF0YSA6IF9fc3ByZWFkUHJvcHMoX19zcHJlYWRWYWx1ZXMoe30sIGVtcHR5UGFuZWxEYXRhKSwgeyB0aW1lUmFuZ2U6IHRpbWVSYW5nZS5zdGF0ZS52YWx1ZSB9KTtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGRhdGE6IF9fc3ByZWFkUHJvcHMoX19zcHJlYWRWYWx1ZXMoe30sIGJhc2VTdGF0ZVVwZGF0ZSksIHtcbiAgICAgICAgYW5ub3RhdGlvbnM6IFsuLi4oX2QgPSB0aGlzLl9yZXN1bHRBbm5vdGF0aW9ucykgIT0gbnVsbCA/IF9kIDogW10sIC4uLmFubm90YXRpb25zXSxcbiAgICAgICAgYWxlcnRTdGF0ZTogYWxlcnRTdGF0ZSAhPSBudWxsID8gYWxlcnRTdGF0ZSA6IChfZSA9IHRoaXMuc3RhdGUuZGF0YSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9lLmFsZXJ0U3RhdGVcbiAgICAgIH0pXG4gICAgfSk7XG4gIH1cbiAgb25WYXJpYWJsZVVwZGF0ZXNDb21wbGV0ZWQoKSB7XG4gICAgaWYgKHRoaXMuaXNRdWVyeU1vZGVBdXRvKCkpIHtcbiAgICAgIHRoaXMucnVuUXVlcmllcygpO1xuICAgIH1cbiAgfVxuICBvbkFueVZhcmlhYmxlQ2hhbmdlZCh2YXJpYWJsZSkge1xuICAgIGlmICh0aGlzLl9hZGhvY0ZpbHRlcnNWYXIgPT09IHZhcmlhYmxlIHx8IHRoaXMuX2dyb3VwQnlWYXIgPT09IHZhcmlhYmxlIHx8ICF0aGlzLmlzUXVlcnlNb2RlQXV0bygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YXJpYWJsZSBpbnN0YW5jZW9mIEFkSG9jRmlsdGVyc1ZhcmlhYmxlICYmIHRoaXMuX2lzUmVsZXZhbnRBdXRvVmFyaWFibGUodmFyaWFibGUpKSB7XG4gICAgICB0aGlzLnJ1blF1ZXJpZXMoKTtcbiAgICB9XG4gICAgaWYgKHZhcmlhYmxlIGluc3RhbmNlb2YgR3JvdXBCeVZhcmlhYmxlICYmIHRoaXMuX2lzUmVsZXZhbnRBdXRvVmFyaWFibGUodmFyaWFibGUpKSB7XG4gICAgICB0aGlzLnJ1blF1ZXJpZXMoKTtcbiAgICB9XG4gIH1cbiAgX2lzUmVsZXZhbnRBdXRvVmFyaWFibGUodmFyaWFibGUpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IGRhdGFzb3VyY2UgPSAoX2EgPSB0aGlzLnN0YXRlLmRhdGFzb3VyY2UpICE9IG51bGwgPyBfYSA6IGZpbmRGaXJzdERhdGFzb3VyY2UodGhpcy5zdGF0ZS5xdWVyaWVzKTtcbiAgICByZXR1cm4gdmFyaWFibGUuc3RhdGUuYXBwbHlNb2RlID09PSBcImF1dG9cIiAmJiAoZGF0YXNvdXJjZSA9PSBudWxsID8gdm9pZCAwIDogZGF0YXNvdXJjZS51aWQpID09PSAoKF9iID0gdmFyaWFibGUuc3RhdGUuZGF0YXNvdXJjZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLnVpZCk7XG4gIH1cbiAgc2hvdWxkUnVuUXVlcmllc09uQWN0aXZhdGUoKSB7XG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlVmFsdWVSZWNvcmRlci5oYXNEZXBlbmRlbmNpZXNDaGFuZ2VkKHRoaXMpKSB7XG4gICAgICB3cml0ZVNjZW5lTG9nKFxuICAgICAgICBcIlNjZW5lUXVlcnlSdW5uZXJcIixcbiAgICAgICAgXCJWYXJpYWJsZSBkZXBlbmRlbmN5IGNoYW5nZWQgd2hpbGUgaW5hY3RpdmUsIHNob3VsZFJ1blF1ZXJpZXNPbkFjdGl2YXRlIHJldHVybnMgdHJ1ZVwiXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICghdGhpcy5zdGF0ZS5kYXRhKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2lzRGF0YVRpbWVSYW5nZVN0YWxlKHRoaXMuc3RhdGUuZGF0YSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgX2lzRGF0YVRpbWVSYW5nZVN0YWxlKGRhdGEpIHtcbiAgICBjb25zdCB0aW1lUmFuZ2UgPSBzY2VuZUdyYXBoLmdldFRpbWVSYW5nZSh0aGlzKTtcbiAgICBjb25zdCBzdGF0ZVRpbWVSYW5nZSA9IHRpbWVSYW5nZS5zdGF0ZS52YWx1ZTtcbiAgICBjb25zdCBkYXRhVGltZVJhbmdlID0gZGF0YS50aW1lUmFuZ2U7XG4gICAgaWYgKHN0YXRlVGltZVJhbmdlLmZyb20udW5peCgpID09PSBkYXRhVGltZVJhbmdlLmZyb20udW5peCgpICYmIHN0YXRlVGltZVJhbmdlLnRvLnVuaXgoKSA9PT0gZGF0YVRpbWVSYW5nZS50by51bml4KCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgd3JpdGVTY2VuZUxvZyhcIlNjZW5lUXVlcnlSdW5uZXJcIiwgXCJEYXRhIHRpbWUgcmFuZ2UgaXMgc3RhbGVcIik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgX29uRGVhY3RpdmF0ZSgpIHtcbiAgICB2YXIgX2E7XG4gICAgaWYgKHRoaXMuX3F1ZXJ5U3ViKSB7XG4gICAgICB0aGlzLl9xdWVyeVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5fcXVlcnlTdWIgPSB2b2lkIDA7XG4gICAgfVxuICAgIGlmICh0aGlzLl9kYXRhTGF5ZXJzU3ViKSB7XG4gICAgICB0aGlzLl9kYXRhTGF5ZXJzU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLl9kYXRhTGF5ZXJzU3ViID0gdm9pZCAwO1xuICAgIH1cbiAgICAoX2EgPSB0aGlzLl90aW1lU3ViKSA9PSBudWxsID8gdm9pZCAwIDogX2EudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl90aW1lU3ViID0gdm9pZCAwO1xuICAgIHRoaXMuX3RpbWVTdWJSYW5nZSA9IHZvaWQgMDtcbiAgICB0aGlzLl9hZGhvY0ZpbHRlcnNWYXIgPSB2b2lkIDA7XG4gICAgdGhpcy5fZ3JvdXBCeVZhciA9IHZvaWQgMDtcbiAgICB0aGlzLl92YXJpYWJsZVZhbHVlUmVjb3JkZXIucmVjb3JkQ3VycmVudERlcGVuZGVuY3lWYWx1ZXNGb3JTY2VuZU9iamVjdCh0aGlzKTtcbiAgfVxuICBzZXRDb250YWluZXJXaWR0aCh3aWR0aCkge1xuICAgIGlmICghdGhpcy5fY29udGFpbmVyV2lkdGggJiYgd2lkdGggPiAwKSB7XG4gICAgICB0aGlzLl9jb250YWluZXJXaWR0aCA9IHdpZHRoO1xuICAgICAgaWYgKHRoaXMuc3RhdGUubWF4RGF0YVBvaW50c0Zyb21XaWR0aCAmJiAhdGhpcy5zdGF0ZS5tYXhEYXRhUG9pbnRzKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmlzQWN0aXZlICYmICF0aGlzLnN0YXRlLl9oYXNGZXRjaGVkRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5ydW5RdWVyaWVzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHdpZHRoID4gMCkge1xuICAgICAgICB0aGlzLl9jb250YWluZXJXaWR0aCA9IHdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpc0RhdGFSZWFkeVRvRGlzcGxheSgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLnN0YXRlLl9oYXNGZXRjaGVkRGF0YSk7XG4gIH1cbiAgc3Vic2NyaWJlVG9UaW1lUmFuZ2VDaGFuZ2VzKHRpbWVSYW5nZSkge1xuICAgIGlmICh0aGlzLl90aW1lU3ViUmFuZ2UgPT09IHRpbWVSYW5nZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5fdGltZVN1Yikge1xuICAgICAgdGhpcy5fdGltZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLl90aW1lU3ViUmFuZ2UgPSB0aW1lUmFuZ2U7XG4gICAgdGhpcy5fdGltZVN1YiA9IHRpbWVSYW5nZS5zdWJzY3JpYmVUb1N0YXRlKCgpID0+IHtcbiAgICAgIHRoaXMucnVuV2l0aFRpbWVSYW5nZSh0aW1lUmFuZ2UpO1xuICAgIH0pO1xuICB9XG4gIHJ1blF1ZXJpZXMoKSB7XG4gICAgY29uc3QgdGltZVJhbmdlID0gc2NlbmVHcmFwaC5nZXRUaW1lUmFuZ2UodGhpcyk7XG4gICAgaWYgKHRoaXMuaXNRdWVyeU1vZGVBdXRvKCkpIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9UaW1lUmFuZ2VDaGFuZ2VzKHRpbWVSYW5nZSk7XG4gICAgfVxuICAgIHRoaXMucnVuV2l0aFRpbWVSYW5nZSh0aW1lUmFuZ2UpO1xuICB9XG4gIGdldE1heERhdGFQb2ludHMoKSB7XG4gICAgdmFyIF9hO1xuICAgIGlmICh0aGlzLnN0YXRlLm1heERhdGFQb2ludHMpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLm1heERhdGFQb2ludHM7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0YXRlLm1heERhdGFQb2ludHNGcm9tV2lkdGggPyAoX2EgPSB0aGlzLl9jb250YWluZXJXaWR0aCkgIT0gbnVsbCA/IF9hIDogNTAwIDogNTAwO1xuICB9XG4gIGNhbmNlbFF1ZXJ5KCkge1xuICAgIHZhciBfYTtcbiAgICAoX2EgPSB0aGlzLl9xdWVyeVN1YikgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLnVuc3Vic2NyaWJlKCk7XG4gICAgaWYgKHRoaXMuX2RhdGFMYXllcnNTdWIpIHtcbiAgICAgIHRoaXMuX2RhdGFMYXllcnNTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuX2RhdGFMYXllcnNTdWIgPSB2b2lkIDA7XG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgZGF0YTogX19zcHJlYWRQcm9wcyhfX3NwcmVhZFZhbHVlcyh7fSwgdGhpcy5zdGF0ZS5kYXRhKSwgeyBzdGF0ZTogTG9hZGluZ1N0YXRlLkRvbmUgfSlcbiAgICB9KTtcbiAgfVxuICBhc3luYyBydW5XaXRoVGltZVJhbmdlKHRpbWVSYW5nZSkge1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIGlmICghdGhpcy5zdGF0ZS5tYXhEYXRhUG9pbnRzICYmIHRoaXMuc3RhdGUubWF4RGF0YVBvaW50c0Zyb21XaWR0aCAmJiAhdGhpcy5fY29udGFpbmVyV2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9kYXRhTGF5ZXJzU3ViKSB7XG4gICAgICB0aGlzLl9oYW5kbGVEYXRhTGF5ZXJzKCk7XG4gICAgfVxuICAgIChfYSA9IHRoaXMuX3F1ZXJ5U3ViKSA9PSBudWxsID8gdm9pZCAwIDogX2EudW5zdWJzY3JpYmUoKTtcbiAgICBpZiAodGhpcy5fdmFyaWFibGVEZXBlbmRlbmN5Lmhhc0RlcGVuZGVuY3lJbkxvYWRpbmdTdGF0ZSgpKSB7XG4gICAgICB3cml0ZVNjZW5lTG9nKFwiU2NlbmVRdWVyeVJ1bm5lclwiLCBcIlZhcmlhYmxlIGRlcGVuZGVuY3kgaXMgaW4gbG9hZGluZyBzdGF0ZSwgc2tpcHBpbmcgcXVlcnkgZXhlY3V0aW9uXCIpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRhdGE6IF9fc3ByZWFkUHJvcHMoX19zcHJlYWRWYWx1ZXMoe30sIChfYiA9IHRoaXMuc3RhdGUuZGF0YSkgIT0gbnVsbCA/IF9iIDogZW1wdHlQYW5lbERhdGEpLCB7IHN0YXRlOiBMb2FkaW5nU3RhdGUuTG9hZGluZyB9KSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBxdWVyaWVzIH0gPSB0aGlzLnN0YXRlO1xuICAgIGlmICghKHF1ZXJpZXMgPT0gbnVsbCA/IHZvaWQgMCA6IHF1ZXJpZXMubGVuZ3RoKSkge1xuICAgICAgdGhpcy5fc2V0Tm9EYXRhU3RhdGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGFzb3VyY2UgPSAoX2MgPSB0aGlzLnN0YXRlLmRhdGFzb3VyY2UpICE9IG51bGwgPyBfYyA6IGZpbmRGaXJzdERhdGFzb3VyY2UocXVlcmllcyk7XG4gICAgICBjb25zdCBkcyA9IGF3YWl0IGdldERhdGFTb3VyY2UoZGF0YXNvdXJjZSwgdGhpcy5fc2NvcGVkVmFycyk7XG4gICAgICB0aGlzLmZpbmRBbmRTdWJzY3JpYmVUb0FkSG9jRmlsdGVycyhkYXRhc291cmNlID09IG51bGwgPyB2b2lkIDAgOiBkYXRhc291cmNlLnVpZCk7XG4gICAgICBjb25zdCBydW5SZXF1ZXN0ID0gZ2V0UnVuUmVxdWVzdCgpO1xuICAgICAgY29uc3QgeyBwcmltYXJ5LCBzZWNvbmRhcmllcywgcHJvY2Vzc29ycyB9ID0gdGhpcy5wcmVwYXJlUmVxdWVzdHModGltZVJhbmdlLCBkcyk7XG4gICAgICB3cml0ZVNjZW5lTG9nKFwiU2NlbmVRdWVyeVJ1bm5lclwiLCBcIlN0YXJ0aW5nIHJ1blJlcXVlc3RcIiwgdGhpcy5zdGF0ZS5rZXkpO1xuICAgICAgbGV0IHN0cmVhbSA9IHJ1blJlcXVlc3QoZHMsIHByaW1hcnkpO1xuICAgICAgaWYgKHNlY29uZGFyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgc2Vjb25kYXJ5U3RyZWFtcyA9IHNlY29uZGFyaWVzLm1hcCgocikgPT4gcnVuUmVxdWVzdChkcywgcikpO1xuICAgICAgICBjb25zdCBvcCA9IGV4dHJhUXVlcnlQcm9jZXNzaW5nT3BlcmF0b3IocHJvY2Vzc29ycyk7XG4gICAgICAgIHN0cmVhbSA9IGZvcmtKb2luKFtzdHJlYW0sIC4uLnNlY29uZGFyeVN0cmVhbXNdKS5waXBlKG9wKTtcbiAgICAgIH1cbiAgICAgIHN0cmVhbSA9IHN0cmVhbS5waXBlKFxuICAgICAgICByZWdpc3RlclF1ZXJ5V2l0aENvbnRyb2xsZXIoe1xuICAgICAgICAgIHR5cGU6IFwiZGF0YVwiLFxuICAgICAgICAgIHJlcXVlc3Q6IHByaW1hcnksXG4gICAgICAgICAgb3JpZ2luOiB0aGlzLFxuICAgICAgICAgIGNhbmNlbDogKCkgPT4gdGhpcy5jYW5jZWxRdWVyeSgpXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5fcXVlcnlTdWIgPSBzdHJlYW0uc3Vic2NyaWJlKHRoaXMub25EYXRhUmVjZWl2ZWQpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihcIlBhbmVsUXVlcnlSdW5uZXIgRXJyb3JcIiwgZXJyKTtcbiAgICAgIHRoaXMub25EYXRhUmVjZWl2ZWQoX19zcHJlYWRQcm9wcyhfX3NwcmVhZFZhbHVlcyhfX3NwcmVhZFZhbHVlcyh7fSwgZW1wdHlQYW5lbERhdGEpLCB0aGlzLnN0YXRlLmRhdGEpLCB7XG4gICAgICAgIHN0YXRlOiBMb2FkaW5nU3RhdGUuRXJyb3IsXG4gICAgICAgIGVycm9yczogW3RvRGF0YVF1ZXJ5RXJyb3IoZXJyKV1cbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cbiAgY2xvbmUod2l0aFN0YXRlKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGNsb25lID0gc3VwZXIuY2xvbmUod2l0aFN0YXRlKTtcbiAgICBpZiAodGhpcy5fcmVzdWx0QW5ub3RhdGlvbnMpIHtcbiAgICAgIGNsb25lW1wiX3Jlc3VsdEFubm90YXRpb25zXCJdID0gdGhpcy5fcmVzdWx0QW5ub3RhdGlvbnMubWFwKChmcmFtZSkgPT4gX19zcHJlYWRWYWx1ZXMoe30sIGZyYW1lKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9sYXllckFubm90YXRpb25zKSB7XG4gICAgICBjbG9uZVtcIl9sYXllckFubm90YXRpb25zXCJdID0gdGhpcy5fbGF5ZXJBbm5vdGF0aW9ucy5tYXAoKGZyYW1lKSA9PiBfX3NwcmVhZFZhbHVlcyh7fSwgZnJhbWUpKTtcbiAgICB9XG4gICAgY2xvbmVbXCJfdmFyaWFibGVWYWx1ZVJlY29yZGVyXCJdID0gdGhpcy5fdmFyaWFibGVWYWx1ZVJlY29yZGVyLmNsb25lQW5kUmVjb3JkQ3VycmVudFZhbHVlc0ZvclNjZW5lT2JqZWN0KHRoaXMpO1xuICAgIGNsb25lW1wiX2NvbnRhaW5lcldpZHRoXCJdID0gdGhpcy5fY29udGFpbmVyV2lkdGg7XG4gICAgY2xvbmVbXCJfcmVzdWx0c1wiXS5uZXh0KHsgb3JpZ2luOiB0aGlzLCBkYXRhOiAoX2EgPSB0aGlzLnN0YXRlLmRhdGEpICE9IG51bGwgPyBfYSA6IGVtcHR5UGFuZWxEYXRhIH0pO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuICBwcmVwYXJlUmVxdWVzdHModGltZVJhbmdlLCBkcykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IG1pbkludGVydmFsLCBxdWVyaWVzIH0gPSB0aGlzLnN0YXRlO1xuICAgIGxldCByZXF1ZXN0ID0gX19zcHJlYWRWYWx1ZXMoe1xuICAgICAgYXBwOiBcInNjZW5lc1wiLFxuICAgICAgcmVxdWVzdElkOiBnZXROZXh0UmVxdWVzdElkKCksXG4gICAgICB0aW1lem9uZTogdGltZVJhbmdlLmdldFRpbWVab25lKCksXG4gICAgICByYW5nZTogdGltZVJhbmdlLnN0YXRlLnZhbHVlLFxuICAgICAgaW50ZXJ2YWw6IFwiMXNcIixcbiAgICAgIGludGVydmFsTXM6IDFlMyxcbiAgICAgIHRhcmdldHM6IGNsb25lRGVlcChxdWVyaWVzKSxcbiAgICAgIG1heERhdGFQb2ludHM6IHRoaXMuZ2V0TWF4RGF0YVBvaW50cygpLFxuICAgICAgc2NvcGVkVmFyczogdGhpcy5fc2NvcGVkVmFycyxcbiAgICAgIHN0YXJ0VGltZTogRGF0ZS5ub3coKSxcbiAgICAgIGxpdmVTdHJlYW1pbmc6IHRoaXMuc3RhdGUubGl2ZVN0cmVhbWluZyxcbiAgICAgIHJhbmdlUmF3OiB7XG4gICAgICAgIGZyb206IHRpbWVSYW5nZS5zdGF0ZS5mcm9tLFxuICAgICAgICB0bzogdGltZVJhbmdlLnN0YXRlLnRvXG4gICAgICB9LFxuICAgICAgY2FjaGVUaW1lb3V0OiB0aGlzLnN0YXRlLmNhY2hlVGltZW91dCxcbiAgICAgIHF1ZXJ5Q2FjaGluZ1RUTDogdGhpcy5zdGF0ZS5xdWVyeUNhY2hpbmdUVExcbiAgICB9LCBnZXRFbnJpY2hlZERhdGFSZXF1ZXN0KHRoaXMpKTtcbiAgICBpZiAodGhpcy5fYWRob2NGaWx0ZXJzVmFyKSB7XG4gICAgICByZXF1ZXN0LmZpbHRlcnMgPSB0aGlzLl9hZGhvY0ZpbHRlcnNWYXIuc3RhdGUuZmlsdGVycy5maWx0ZXIoaXNGaWx0ZXJDb21wbGV0ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9ncm91cEJ5VmFyKSB7XG4gICAgICByZXF1ZXN0Lmdyb3VwQnlLZXlzID0gdGhpcy5fZ3JvdXBCeVZhci5zdGF0ZS52YWx1ZTtcbiAgICB9XG4gICAgcmVxdWVzdC50YXJnZXRzID0gcmVxdWVzdC50YXJnZXRzLm1hcCgocXVlcnkpID0+IHtcbiAgICAgIHZhciBfYTI7XG4gICAgICBpZiAoIXF1ZXJ5LmRhdGFzb3VyY2UgfHwgcXVlcnkuZGF0YXNvdXJjZS51aWQgIT09IGRzLnVpZCAmJiAhKChfYTIgPSBkcy5tZXRhKSA9PSBudWxsID8gdm9pZCAwIDogX2EyLm1peGVkKSAmJiBpc0V4cHJlc3Npb25SZWZlcmVuY2UgJiYgIWlzRXhwcmVzc2lvblJlZmVyZW5jZShxdWVyeS5kYXRhc291cmNlKSkge1xuICAgICAgICBxdWVyeS5kYXRhc291cmNlID0gZHMuZ2V0UmVmKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcXVlcnk7XG4gICAgfSk7XG4gICAgY29uc3QgbG93ZXJJbnRlcnZhbExpbWl0ID0gbWluSW50ZXJ2YWwgPyBpbnRlcnBvbGF0ZSh0aGlzLCBtaW5JbnRlcnZhbCkgOiBkcy5pbnRlcnZhbDtcbiAgICBjb25zdCBub3JtID0gcmFuZ2VVdGlsLmNhbGN1bGF0ZUludGVydmFsKHRpbWVSYW5nZS5zdGF0ZS52YWx1ZSwgcmVxdWVzdC5tYXhEYXRhUG9pbnRzLCBsb3dlckludGVydmFsTGltaXQpO1xuICAgIHJlcXVlc3Quc2NvcGVkVmFycyA9IE9iamVjdC5hc3NpZ24oe30sIHJlcXVlc3Quc2NvcGVkVmFycywge1xuICAgICAgX19pbnRlcnZhbDogeyB0ZXh0OiBub3JtLmludGVydmFsLCB2YWx1ZTogbm9ybS5pbnRlcnZhbCB9LFxuICAgICAgX19pbnRlcnZhbF9tczogeyB0ZXh0OiBub3JtLmludGVydmFsTXMudG9TdHJpbmcoKSwgdmFsdWU6IG5vcm0uaW50ZXJ2YWxNcyB9XG4gICAgfSk7XG4gICAgcmVxdWVzdC5pbnRlcnZhbCA9IG5vcm0uaW50ZXJ2YWw7XG4gICAgcmVxdWVzdC5pbnRlcnZhbE1zID0gbm9ybS5pbnRlcnZhbE1zO1xuICAgIGNvbnN0IHByaW1hcnlUaW1lUmFuZ2UgPSB0aW1lUmFuZ2Uuc3RhdGUudmFsdWU7XG4gICAgbGV0IHNlY29uZGFyeVJlcXVlc3RzID0gW107XG4gICAgbGV0IHNlY29uZGFyeVByb2Nlc3NvcnMgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgKF9hID0gdGhpcy5nZXRDbG9zZXN0RXh0cmFRdWVyeVByb3ZpZGVycygpKSAhPSBudWxsID8gX2EgOiBbXSkge1xuICAgICAgZm9yIChjb25zdCB7IHJlcSwgcHJvY2Vzc29yIH0gb2YgcHJvdmlkZXIuZ2V0RXh0cmFRdWVyaWVzKHJlcXVlc3QpKSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RJZCA9IGdldE5leHRSZXF1ZXN0SWQoKTtcbiAgICAgICAgc2Vjb25kYXJ5UmVxdWVzdHMucHVzaChfX3NwcmVhZFByb3BzKF9fc3ByZWFkVmFsdWVzKHt9LCByZXEpLCB7IHJlcXVlc3RJZCB9KSk7XG4gICAgICAgIHNlY29uZGFyeVByb2Nlc3NvcnMuc2V0KHJlcXVlc3RJZCwgcHJvY2Vzc29yICE9IG51bGwgPyBwcm9jZXNzb3IgOiBwYXNzdGhyb3VnaFByb2Nlc3Nvcik7XG4gICAgICB9XG4gICAgfVxuICAgIHJlcXVlc3QucmFuZ2UgPSBwcmltYXJ5VGltZVJhbmdlO1xuICAgIHJldHVybiB7IHByaW1hcnk6IHJlcXVlc3QsIHNlY29uZGFyaWVzOiBzZWNvbmRhcnlSZXF1ZXN0cywgcHJvY2Vzc29yczogc2Vjb25kYXJ5UHJvY2Vzc29ycyB9O1xuICB9XG4gIF9jb21iaW5lRGF0YUxheWVycyhkYXRhKSB7XG4gICAgaWYgKHRoaXMuX2xheWVyQW5ub3RhdGlvbnMgJiYgdGhpcy5fbGF5ZXJBbm5vdGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBkYXRhLmFubm90YXRpb25zID0gKGRhdGEuYW5ub3RhdGlvbnMgfHwgW10pLmNvbmNhdCh0aGlzLl9sYXllckFubm90YXRpb25zKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RhdGUuZGF0YSAmJiB0aGlzLnN0YXRlLmRhdGEuYWxlcnRTdGF0ZSkge1xuICAgICAgZGF0YS5hbGVydFN0YXRlID0gdGhpcy5zdGF0ZS5kYXRhLmFsZXJ0U3RhdGU7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIF9zZXROb0RhdGFTdGF0ZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5kYXRhICE9PSBlbXB0eVBhbmVsRGF0YSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRhdGE6IGVtcHR5UGFuZWxEYXRhIH0pO1xuICAgIH1cbiAgfVxuICBnZXRDbG9zZXN0RXh0cmFRdWVyeVByb3ZpZGVycygpIHtcbiAgICBjb25zdCBmb3VuZCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgaWYgKCF0aGlzLnBhcmVudCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBnZXRDbG9zZXN0KHRoaXMucGFyZW50LCAocykgPT4ge1xuICAgICAgaWYgKGlzRXh0cmFRdWVyeVByb3ZpZGVyKHMpICYmICFmb3VuZC5oYXMocy5jb25zdHJ1Y3RvcikpIHtcbiAgICAgICAgZm91bmQuc2V0KHMuY29uc3RydWN0b3IsIHMpO1xuICAgICAgfVxuICAgICAgcy5mb3JFYWNoQ2hpbGQoKGNoaWxkKSA9PiB7XG4gICAgICAgIGlmIChpc0V4dHJhUXVlcnlQcm92aWRlcihjaGlsZCkgJiYgIWZvdW5kLmhhcyhjaGlsZC5jb25zdHJ1Y3RvcikpIHtcbiAgICAgICAgICBmb3VuZC5zZXQoY2hpbGQuY29uc3RydWN0b3IsIGNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShmb3VuZC52YWx1ZXMoKSk7XG4gIH1cbiAgZmluZEFuZFN1YnNjcmliZVRvQWRIb2NGaWx0ZXJzKHVpZCkge1xuICAgIGNvbnN0IGZpbHRlcnNWYXIgPSBmaW5kQWN0aXZlQWRIb2NGaWx0ZXJWYXJpYWJsZUJ5VWlkKHVpZCk7XG4gICAgaWYgKHRoaXMuX2FkaG9jRmlsdGVyc1ZhciAhPT0gZmlsdGVyc1Zhcikge1xuICAgICAgdGhpcy5fYWRob2NGaWx0ZXJzVmFyID0gZmlsdGVyc1ZhcjtcbiAgICAgIHRoaXMuX3VwZGF0ZUV4cGxpY2l0VmFyaWFibGVEZXBlbmRlbmNpZXMoKTtcbiAgICB9XG4gICAgY29uc3QgZ3JvdXBCeVZhciA9IGZpbmRBY3RpdmVHcm91cEJ5VmFyaWFibGVzQnlVaWQodWlkKTtcbiAgICBpZiAodGhpcy5fZ3JvdXBCeVZhciAhPT0gZ3JvdXBCeVZhcikge1xuICAgICAgdGhpcy5fZ3JvdXBCeVZhciA9IGdyb3VwQnlWYXI7XG4gICAgICB0aGlzLl91cGRhdGVFeHBsaWNpdFZhcmlhYmxlRGVwZW5kZW5jaWVzKCk7XG4gICAgfVxuICB9XG4gIF91cGRhdGVFeHBsaWNpdFZhcmlhYmxlRGVwZW5kZW5jaWVzKCkge1xuICAgIGNvbnN0IGV4cGxpY2l0RGVwZW5kZW5jaWVzID0gW107XG4gICAgaWYgKHRoaXMuX2FkaG9jRmlsdGVyc1Zhcikge1xuICAgICAgZXhwbGljaXREZXBlbmRlbmNpZXMucHVzaCh0aGlzLl9hZGhvY0ZpbHRlcnNWYXIuc3RhdGUubmFtZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9ncm91cEJ5VmFyKSB7XG4gICAgICBleHBsaWNpdERlcGVuZGVuY2llcy5wdXNoKHRoaXMuX2dyb3VwQnlWYXIuc3RhdGUubmFtZSk7XG4gICAgfVxuICAgIHRoaXMuX3ZhcmlhYmxlRGVwZW5kZW5jeS5zZXRWYXJpYWJsZU5hbWVzKGV4cGxpY2l0RGVwZW5kZW5jaWVzKTtcbiAgfVxuICBpc1F1ZXJ5TW9kZUF1dG8oKSB7XG4gICAgdmFyIF9hO1xuICAgIHJldHVybiAoKF9hID0gdGhpcy5zdGF0ZS5ydW5RdWVyaWVzTW9kZSkgIT0gbnVsbCA/IF9hIDogXCJhdXRvXCIpID09PSBcImF1dG9cIjtcbiAgfVxufVxuZnVuY3Rpb24gZmluZEZpcnN0RGF0YXNvdXJjZSh0YXJnZXRzKSB7XG4gIHZhciBfYSwgX2I7XG4gIHJldHVybiAoX2IgPSAoX2EgPSB0YXJnZXRzLmZpbmQoKHQpID0+IHQuZGF0YXNvdXJjZSAhPT0gbnVsbCkpID09IG51bGwgPyB2b2lkIDAgOiBfYS5kYXRhc291cmNlKSAhPSBudWxsID8gX2IgOiB2b2lkIDA7XG59XG5mdW5jdGlvbiBhbGxGcmFtZXNFbXB0eShmcmFtZXMpIHtcbiAgaWYgKCFmcmFtZXMpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGZyYW1lcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChmcmFtZXNbaV0ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IHsgU2NlbmVRdWVyeVJ1bm5lciwgZmluZEZpcnN0RGF0YXNvdXJjZSwgZ2V0TmV4dFJlcXVlc3RJZCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lVMk5sYm1WUmRXVnllVkoxYm01bGNpNXFjeUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dmMzSmpMM0YxWlhKNWFXNW5MMU5qWlc1bFVYVmxjbmxTZFc1dVpYSXVkSE1pWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1kyeHZibVZFWldWd0xDQnBjMFZ4ZFdGc0lIMGdabkp2YlNBbmJHOWtZWE5vSnp0Y2JtbHRjRzl5ZENCN0lHWnZjbXRLYjJsdUxDQlNaWEJzWVhsVGRXSnFaV04wTENCVmJuTjFZbk5qY21saVlXSnNaU0I5SUdaeWIyMGdKM0o0YW5Nbk8xeHVYRzVwYlhCdmNuUWdleUJFWVhSaFVYVmxjbmtzSUVSaGRHRlRiM1Z5WTJWU1pXWXNJRXh2WVdScGJtZFRkR0YwWlNCOUlHWnliMjBnSjBCbmNtRm1ZVzVoTDNOamFHVnRZU2M3WEc1Y2JtbHRjRzl5ZENCN1hHNGdJRUZzWlhKMFUzUmhkR1ZKYm1adkxGeHVJQ0JFWVhSaFJuSmhiV1VzWEc0Z0lFUmhkR0ZHY21GdFpWWnBaWGNzWEc0Z0lFUmhkR0ZSZFdWeWVWSmxjWFZsYzNRc1hHNGdJRVJoZEdGVGIzVnlZMlZCY0drc1hHNGdJRVJoZEdGVWIzQnBZeXhjYmlBZ1VHRnVaV3hFWVhSaExGeHVJQ0J3Y21WUWNtOWpaWE56VUdGdVpXeEVZWFJoTEZ4dUlDQnlZVzVuWlZWMGFXd3NYRzU5SUdaeWIyMGdKMEJuY21GbVlXNWhMMlJoZEdFbk8xeHVYRzR2THlCVVQwUlBPaUJTWlcxdmRtVWdkR2hwY3lCcFoyNXZjbVVnWVc1dWIzUmhkR2x2YmlCM2FHVnVJSFJvWlNCbmNtRm1ZVzVoSUhKMWJuUnBiV1VnWkdWd1pXNWtaVzVqZVNCb1lYTWdZbVZsYmlCMWNHUmhkR1ZrWEc0dkx5QkFkSE10YVdkdWIzSmxYRzVwYlhCdmNuUWdleUJuWlhSU2RXNVNaWEYxWlhOMExDQjBiMFJoZEdGUmRXVnllVVZ5Y205eUxDQnBjMFY0Y0hKbGMzTnBiMjVTWldabGNtVnVZMlVzSUdOdmJtWnBaeUI5SUdaeWIyMGdKMEJuY21GbVlXNWhMM0oxYm5ScGJXVW5PMXh1WEc1cGJYQnZjblFnZXlCVFkyVnVaVTlpYW1WamRFSmhjMlVnZlNCbWNtOXRJQ2N1TGk5amIzSmxMMU5qWlc1bFQySnFaV04wUW1GelpTYzdYRzVwYlhCdmNuUWdleUJ6WTJWdVpVZHlZWEJvSUgwZ1puSnZiU0FuTGk0dlkyOXlaUzl6WTJWdVpVZHlZWEJvSnp0Y2JtbHRjRzl5ZENCN1hHNGdJRVJoZEdGTVlYbGxja1pwYkhSbGNpeGNiaUFnVTJObGJtVkVZWFJoVUhKdmRtbGtaWElzWEc0Z0lGTmpaVzVsUkdGMFlWQnliM1pwWkdWeVVtVnpkV3gwTEZ4dUlDQlRZMlZ1WlVSaGRHRlJkV1Z5ZVN4Y2JpQWdVMk5sYm1WUFltcGxZM1JUZEdGMFpTeGNiaUFnVTJObGJtVlVhVzFsVW1GdVoyVk1hV3RsTEZ4dWZTQm1jbTl0SUNjdUxpOWpiM0psTDNSNWNHVnpKenRjYm1sdGNHOXlkQ0I3SUdkbGRFUmhkR0ZUYjNWeVkyVWdmU0JtY205dElDY3VMaTkxZEdsc2N5OW5aWFJFWVhSaFUyOTFjbU5sSnp0Y2JtbHRjRzl5ZENCN0lGWmhjbWxoWW14bFJHVndaVzVrWlc1amVVTnZibVpwWnlCOUlHWnliMjBnSnk0dUwzWmhjbWxoWW14bGN5OVdZWEpwWVdKc1pVUmxjR1Z1WkdWdVkzbERiMjVtYVdjbk8xeHVhVzF3YjNKMElIc2dkM0pwZEdWVFkyVnVaVXh2WnlCOUlHWnliMjBnSnk0dUwzVjBhV3h6TDNkeWFYUmxVMk5sYm1WTWIyY25PMXh1YVcxd2IzSjBJSHNnVm1GeWFXRmliR1ZXWVd4MVpWSmxZMjl5WkdWeUlIMGdabkp2YlNBbkxpNHZkbUZ5YVdGaWJHVnpMMVpoY21saFlteGxWbUZzZFdWU1pXTnZjbVJsY2ljN1hHNXBiWEJ2Y25RZ2V5QmxiWEIwZVZCaGJtVnNSR0YwWVNCOUlHWnliMjBnSnk0dUwyTnZjbVV2VTJObGJtVkVZWFJoVG05a1pTYzdYRzVwYlhCdmNuUWdleUJuWlhSRGJHOXpaWE4wSUgwZ1puSnZiU0FuTGk0dlkyOXlaUzl6WTJWdVpVZHlZWEJvTDNWMGFXeHpKenRjYm1sdGNHOXlkQ0I3SUdselJYaDBjbUZSZFdWeWVWQnliM1pwWkdWeUxDQkZlSFJ5WVZGMVpYSjVSR0YwWVZCeWIyTmxjM052Y2l3Z1JYaDBjbUZSZFdWeWVWQnliM1pwWkdWeUlIMGdabkp2YlNBbkxpOUZlSFJ5WVZGMVpYSjVVSEp2ZG1sa1pYSW5PMXh1YVcxd2IzSjBJSHNnY0dGemMzUm9jbTkxWjJoUWNtOWpaWE56YjNJc0lHVjRkSEpoVVhWbGNubFFjbTlqWlhOemFXNW5UM0JsY21GMGIzSWdmU0JtY205dElDY3VMMlY0ZEhKaFVYVmxjbmxRY205alpYTnphVzVuVDNCbGNtRjBiM0luTzF4dWFXMXdiM0owSUhzZ1ptbHNkR1Z5UVc1dWIzUmhkR2x2Ym5NZ2ZTQm1jbTl0SUNjdUwyeGhlV1Z5Y3k5aGJtNXZkR0YwYVc5dWN5OW1hV3gwWlhKQmJtNXZkR0YwYVc5dWN5YzdYRzVwYlhCdmNuUWdleUJuWlhSRmJuSnBZMmhsWkVSaGRHRlNaWEYxWlhOMElIMGdabkp2YlNBbkxpOW5aWFJGYm5KcFkyaGxaRVJoZEdGU1pYRjFaWE4wSnp0Y2JtbHRjRzl5ZENCN0lHWnBibVJCWTNScGRtVkJaRWh2WTBacGJIUmxjbFpoY21saFlteGxRbmxWYVdRZ2ZTQm1jbTl0SUNjdUxpOTJZWEpwWVdKc1pYTXZZV1JvYjJNdmNHRjBZMmhIWlhSQlpHaHZZMFpwYkhSbGNuTW5PMXh1YVcxd2IzSjBJSHNnY21WbmFYTjBaWEpSZFdWeWVWZHBkR2hEYjI1MGNtOXNiR1Z5SUgwZ1puSnZiU0FuTGk5eVpXZHBjM1JsY2xGMVpYSjVWMmwwYUVOdmJuUnliMnhzWlhJbk8xeHVhVzF3YjNKMElIc2dabWx1WkVGamRHbDJaVWR5YjNWd1FubFdZWEpwWVdKc1pYTkNlVlZwWkNCOUlHWnliMjBnSnk0dUwzWmhjbWxoWW14bGN5OW5jbTkxY0dKNUwyWnBibVJCWTNScGRtVkhjbTkxY0VKNVZtRnlhV0ZpYkdWelFubFZhV1FuTzF4dWFXMXdiM0owSUhzZ1IzSnZkWEJDZVZaaGNtbGhZbXhsSUgwZ1puSnZiU0FuTGk0dmRtRnlhV0ZpYkdWekwyZHliM1Z3WW5rdlIzSnZkWEJDZVZaaGNtbGhZbXhsSnp0Y2JtbHRjRzl5ZENCN0lFRmtTRzlqUm1sc2RHVnljMVpoY21saFlteGxMQ0JwYzBacGJIUmxja052YlhCc1pYUmxJSDBnWm5KdmJTQW5MaTR2ZG1GeWFXRmliR1Z6TDJGa2FHOWpMMEZrU0c5alJtbHNkR1Z5YzFaaGNtbGhZbXhsSnp0Y2JtbHRjRzl5ZENCN0lGTmpaVzVsVm1GeWFXRmliR1VnZlNCbWNtOXRJQ2N1TGk5MllYSnBZV0pzWlhNdmRIbHdaWE1uTzF4dWFXMXdiM0owSUhzZ1JHRjBZVXhoZVdWeWMwMWxjbWRsY2lCOUlHWnliMjBnSnk0dlJHRjBZVXhoZVdWeWMwMWxjbWRsY2ljN1hHNXBiWEJ2Y25RZ2V5QnBiblJsY25CdmJHRjBaU0I5SUdaeWIyMGdKeTR1TDJOdmNtVXZjMk5sYm1WSGNtRndhQzl6WTJWdVpVZHlZWEJvSnp0Y2JtbHRjRzl5ZENCN0lIZHlZWEJKYmxOaFptVlRaWEpwWVd4cGVtRmliR1ZUWTJWdVpVOWlhbVZqZENCOUlHWnliMjBnSnk0dUwzVjBhV3h6TDNkeVlYQkpibE5oWm1WVFpYSnBZV3hwZW1GaWJHVlRZMlZ1WlU5aWFtVmpkQ2M3WEc1Y2JteGxkQ0JqYjNWdWRHVnlJRDBnTVRBd08xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaMlYwVG1WNGRGSmxjWFZsYzNSSlpDZ3BJSHRjYmlBZ2NtVjBkWEp1SUNkVFVWSW5JQ3NnWTI5MWJuUmxjaXNyTzF4dWZWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRkYxWlhKNVVuVnVibVZ5VTNSaGRHVWdaWGgwWlc1a2N5QlRZMlZ1WlU5aWFtVmpkRk4wWVhSbElIdGNiaUFnWkdGMFlUODZJRkJoYm1Wc1JHRjBZVHRjYmlBZ2NYVmxjbWxsY3pvZ1UyTmxibVZFWVhSaFVYVmxjbmxiWFR0Y2JpQWdaR0YwWVhOdmRYSmpaVDg2SUVSaGRHRlRiM1Z5WTJWU1pXWTdYRzRnSUcxcGJrbHVkR1Z5ZG1Gc1B6b2djM1J5YVc1bk8xeHVJQ0J0WVhoRVlYUmhVRzlwYm5SelB6b2diblZ0WW1WeU8xeHVJQ0JzYVhabFUzUnlaV0Z0YVc1blB6b2dZbTl2YkdWaGJqdGNiaUFnYldGNFJHRjBZVkJ2YVc1MGMwWnliMjFYYVdSMGFEODZJR0p2YjJ4bFlXNDdYRzRnSUdOaFkyaGxWR2x0Wlc5MWREODZJRVJoZEdGUmRXVnllVkpsY1hWbGMzUmJKMk5oWTJobFZHbHRaVzkxZENkZE8xeHVJQ0J4ZFdWeWVVTmhZMmhwYm1kVVZFdy9PaUJFWVhSaFVYVmxjbmxTWlhGMVpYTjBXeWR4ZFdWeWVVTmhZMmhwYm1kVVZFd25YVHRjYmlBZ0x5b3FYRzRnSUNBcUlGZG9aVzRnYzJWMElIUnZJR0YxZEc4Z0tIUm9aU0JrWldaaGRXeDBLU0J4ZFdWeWVTQnlkVzV1WlhJZ2QybHNiQ0JwYzNOMVpTQnhkV1Z5YVdWeklHOXVJR0ZqZEdsMllYUmxJQ2gzYUdWdUlIWmhjbWxoWW14bElHUmxjR1Z1WkdWdVkybGxjeUJoY21VZ2NtVmhaSGtwSUc5eUlIZG9aVzRnZEdsdFpTQnlZVzVuWlNCamFHRnVaMlV1WEc0Z0lDQXFJRk5sZENCMGJ5QnRZVzUxWVd3Z2RHOGdhR0YyWlNCbWRXeHNJRzFoYm5WaGJDQmpiMjUwY205c0lHOTJaWElnZDJobGJpQnhkV1Z5YVdWeklHRnlaU0JwYzNOMVpXUXVJRlJ5ZVNCdWIzUWdkRzhnYzJWMElIUm9hWE11SUZSb2FYTWdhWE1nYldGcGJteDVJSFZ6WldaMWJDQm1iM0lnZFc1cGRDQjBaWE4wY3l3Z2IzSWdjM0JsWTJsaGJDQmxaR2RsSUdOaGMyVWdkMjl5YTJac2IzZHpMbHh1SUNBZ0tpOWNiaUFnY25WdVVYVmxjbWxsYzAxdlpHVS9PaUFuWVhWMGJ5Y2dmQ0FuYldGdWRXRnNKenRjYmlBZ0x5OGdSbWxzZEdWeWN5QjBieUJpWlNCaGNIQnNhV1ZrSUhSdklHUmhkR0VnYkdGNVpYSWdjbVZ6ZFd4MGN5QmlaV1p2Y21VZ1kyOXRZbWx1YVc1bklIUm9aVzBnZDJsMGFDQlRVVklnY21WemRXeDBjMXh1SUNCa1lYUmhUR0Y1WlhKR2FXeDBaWEkvT2lCRVlYUmhUR0Y1WlhKR2FXeDBaWEk3WEc0Z0lDOHZJRkJ5YVhaaGRHVWdjblZ1ZEdsdFpTQnpkR0YwWlZ4dUlDQmZhR0Z6Um1WMFkyaGxaRVJoZEdFL09pQmliMjlzWldGdU8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVSaGRHRlJkV1Z5ZVVWNGRHVnVaR1ZrSUdWNGRHVnVaSE1nUkdGMFlWRjFaWEo1SUh0Y2JpQWdXMnRsZVRvZ2MzUnlhVzVuWFRvZ1lXNTVPMXh1WEc0Z0lDOHZJRTl3ZENCMGFHbHpJSEYxWlhKNUlHOTFkQ0J2WmlCMGFXMWxJSGRwYm1SdmR5QmpiMjF3WVhKcGMyOXVYRzRnSUhScGJXVlNZVzVuWlVOdmJYQmhjbVUvT2lCaWIyOXNaV0Z1TzF4dWZWeHVYRzR2THlCVWFHVWdjbVZ4ZFdWemRITWdkR2hoZENCM2FXeHNJR0psSUhKMWJpQmllU0IwYUdVZ2NYVmxjbmtnY25WdWJtVnlMbHh1THk5Y2JpOHZJRWRsYm1WeVlXeHNlU0IwYUdVZ2NYVmxjbmtnY25WdWJtVnlJSGRwYkd3Z2NuVnVJR0VnYzJsdVoyeGxJSEJ5YVcxaGNua2djbVZ4ZFdWemRDNWNiaTh2SUVsbUlIUm9aU0J6WTJWdVpTQm5jbUZ3YUNCamIyNTBZV2x1Y3lCcGJYQnNaVzFsYm5SaGRHbHZibk1nYjJaY2JpOHZJR0JGZUhSeVlWRjFaWEo1VUhKdmRtbGtaWEpnTENCMGFHVWdjbVZ4ZFdWemRITWdZM0psWVhSbFpDQmllU0IwYUdWelpWeHVMeThnYVcxd2JHVnRaVzUwWVhScGIyNXpJSGRwYkd3Z1ltVWdZV1JrWldRZ2RHOGdkR2hsSUd4cGMzUWdiMllnYzJWamIyNWtZWEo1SUhKbGNYVmxjM1J6TEZ4dUx5OGdZVzVrSUhSb1pYTmxJSGRwYkd3Z1ltVWdaWGhsWTNWMFpXUWdZWFFnZEdobElITmhiV1VnZEdsdFpTQmhjeUIwYUdVZ2NISnBiV0Z5ZVNCeVpYRjFaWE4wTGx4dUx5OWNiaTh2SUZSb1pTQnlaWE4xYkhSeklHOW1JR1ZoWTJnZ2MyVmpiMjVrWVhKNUlISmxjWFZsYzNRZ2QybHNiQ0JpWlNCd1lYTnpaV1FnZEc4Z1lXNGdZWE56YjJOcFlYUmxaRnh1THk4Z2NISnZZMlZ6YzI5eUlHWjFibU4wYVc5dUlDaGhiRzl1WnlCM2FYUm9JSFJvWlNCeVpYTjFiSFJ6SUc5bUlIUm9aU0J3Y21sdFlYSjVJSEpsY1hWbGMzUXBMRnh1THk4Z2QyaHBZMmdnWTJGdUlIUnlZVzV6Wm05eWJTQjBhR1VnY21WemRXeDBjeUJoY3lCa1pYTnBjbVZrTGx4dWFXNTBaWEptWVdObElGQnlaWEJoY21Wa1VtVnhkV1Z6ZEhNZ2UxeHVJQ0F2THlCVWFHVWdjSEpwYldGeWVTQnlaWEYxWlhOMElIUnZJSEoxYmk1Y2JpQWdjSEpwYldGeWVUb2dSR0YwWVZGMVpYSjVVbVZ4ZFdWemREdGNiaUFnTHk4Z1FTQndiM056YVdKc2VTQmxiWEIwZVNCc2FYTjBJRzltSUhObFkyOXVaR0Z5ZVNCeVpYRjFaWE4wY3lCMGJ5QnlkVzRnWVd4dmJtZHphV1JsWEc0Z0lDOHZJSFJvWlNCd2NtbHRZWEo1SUhKbGNYVmxjM1F1WEc0Z0lITmxZMjl1WkdGeWFXVnpPaUJFWVhSaFVYVmxjbmxTWlhGMVpYTjBXMTA3WEc0Z0lDOHZJRUVnYldGd0lHWnliMjBnWUhKbGNYVmxjM1JKWkdBZ2IyWWdjMlZqYjI1a1lYSjVJSEpsY1hWbGMzUnpJSFJ2SUhCeWIyTmxjM052Y25OY2JpQWdMeThnWm05eUlIUm9iM05sSUhKbGNYVmxjM1J6TGlCUWNtOTJhV1JsWkNCaWVTQjBhR1VnWUVWNGRISmhVWFZsY25sUWNtOTJhV1JsY21BdVhHNGdJSEJ5YjJObGMzTnZjbk02SUUxaGNEeHpkSEpwYm1jc0lFVjRkSEpoVVhWbGNubEVZWFJoVUhKdlkyVnpjMjl5UGp0Y2JuMWNibHh1Wlhod2IzSjBJR05zWVhOeklGTmpaVzVsVVhWbGNubFNkVzV1WlhJZ1pYaDBaVzVrY3lCVFkyVnVaVTlpYW1WamRFSmhjMlU4VVhWbGNubFNkVzV1WlhKVGRHRjBaVDRnYVcxd2JHVnRaVzUwY3lCVFkyVnVaVVJoZEdGUWNtOTJhV1JsY2lCN1hHNGdJSEJ5YVhaaGRHVWdYM0YxWlhKNVUzVmlQem9nVlc1emRXSnpZM0pwWW1GaWJHVTdYRzRnSUhCeWFYWmhkR1VnWDJSaGRHRk1ZWGxsY25OVGRXSS9PaUJWYm5OMVluTmpjbWxpWVdKc1pUdGNiaUFnY0hKcGRtRjBaU0JmWkdGMFlVeGhlV1Z5YzAxbGNtZGxjaUE5SUc1bGR5QkVZWFJoVEdGNVpYSnpUV1Z5WjJWeUtDazdYRzRnSUhCeWFYWmhkR1VnWDNScGJXVlRkV0kvT2lCVmJuTjFZbk5qY21saVlXSnNaVHRjYmlBZ2NISnBkbUYwWlNCZmRHbHRaVk4xWWxKaGJtZGxQem9nVTJObGJtVlVhVzFsVW1GdVoyVk1hV3RsTzF4dUlDQndjbWwyWVhSbElGOWpiMjUwWVdsdVpYSlhhV1IwYUQ4NklHNTFiV0psY2p0Y2JpQWdjSEpwZG1GMFpTQmZkbUZ5YVdGaWJHVldZV3gxWlZKbFkyOXlaR1Z5SUQwZ2JtVjNJRlpoY21saFlteGxWbUZzZFdWU1pXTnZjbVJsY2lncE8xeHVJQ0J3Y21sMllYUmxJRjl5WlhOMWJIUnpJRDBnYm1WM0lGSmxjR3hoZVZOMVltcGxZM1E4VTJObGJtVkVZWFJoVUhKdmRtbGtaWEpTWlhOMWJIUStLREVwTzF4dUlDQndjbWwyWVhSbElGOXpZMjl3WldSV1lYSnpJRDBnZXlCZlgzTmpaVzVsVDJKcVpXTjBPaUIzY21Gd1NXNVRZV1psVTJWeWFXRnNhWHBoWW14bFUyTmxibVZQWW1wbFkzUW9kR2hwY3lrZ2ZUdGNiaUFnY0hKcGRtRjBaU0JmYkdGNVpYSkJibTV2ZEdGMGFXOXVjejg2SUVSaGRHRkdjbUZ0WlZ0ZE8xeHVJQ0J3Y21sMllYUmxJRjl5WlhOMWJIUkJibTV2ZEdGMGFXOXVjejg2SUVSaGRHRkdjbUZ0WlZ0ZE8xeHVYRzRnSUhCeWFYWmhkR1VnWDJGa2FHOWpSbWxzZEdWeWMxWmhjajg2SUVGa1NHOWpSbWxzZEdWeWMxWmhjbWxoWW14bE8xeHVJQ0J3Y21sMllYUmxJRjluY205MWNFSjVWbUZ5UHpvZ1IzSnZkWEJDZVZaaGNtbGhZbXhsTzF4dVhHNGdJSEIxWW14cFl5Qm5aWFJTWlhOMWJIUnpVM1J5WldGdEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WlhOMWJIUnpPMXh1SUNCOVhHNWNiaUFnY0hKdmRHVmpkR1ZrSUY5MllYSnBZV0pzWlVSbGNHVnVaR1Z1WTNrNklGWmhjbWxoWW14bFJHVndaVzVrWlc1amVVTnZibVpwWnp4UmRXVnllVkoxYm01bGNsTjBZWFJsUGlBOUlHNWxkeUJXWVhKcFlXSnNaVVJsY0dWdVpHVnVZM2xEYjI1bWFXY29kR2hwY3l3Z2UxeHVJQ0FnSUhOMFlYUmxVR0YwYUhNNklGc25jWFZsY21sbGN5Y3NJQ2RrWVhSaGMyOTFjbU5sSjEwc1hHNGdJQ0FnYjI1V1lYSnBZV0pzWlZWd1pHRjBaVU52YlhCc1pYUmxaRG9nZEdocGN5NXZibFpoY21saFlteGxWWEJrWVhSbGMwTnZiWEJzWlhSbFpDNWlhVzVrS0hSb2FYTXBMRnh1SUNBZ0lHOXVRVzU1Vm1GeWFXRmliR1ZEYUdGdVoyVmtPaUIwYUdsekxtOXVRVzU1Vm1GeWFXRmliR1ZEYUdGdVoyVmtMbUpwYm1Rb2RHaHBjeWtzWEc0Z0lIMHBPMXh1WEc0Z0lIQjFZbXhwWXlCamIyNXpkSEoxWTNSdmNpaHBibWwwYVdGc1UzUmhkR1U2SUZGMVpYSjVVblZ1Ym1WeVUzUmhkR1VwSUh0Y2JpQWdJQ0J6ZFhCbGNpaHBibWwwYVdGc1UzUmhkR1VwTzF4dVhHNGdJQ0FnZEdocGN5NWhaR1JCWTNScGRtRjBhVzl1U0dGdVpHeGxjaWdvS1NBOVBpQjBhR2x6TGw5dmJrRmpkR2wyWVhSbEtDa3BPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmYjI1QlkzUnBkbUYwWlNncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1cGMxRjFaWEo1VFc5a1pVRjFkRzhvS1NrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnZEdsdFpWSmhibWRsSUQwZ2MyTmxibVZIY21Gd2FDNW5aWFJVYVcxbFVtRnVaMlVvZEdocGN5azdYRzVjYmlBZ0lDQWdJQzh2SUVGa1pDQnpkV0p6WTNKcGNIUnBiMjV6SUhSdklHRnVlU0JsZUhSeVlTQndjbTkyYVdSbGNuTWdjMjhnZEdoaGRDQjBhR1Y1SUhKbGNuVnVJSEYxWlhKcFpYTmNiaUFnSUNBZ0lDOHZJSGRvWlc0Z2RHaGxhWElnYzNSaGRHVWdZMmhoYm1kbGN5QmhibVFnZEdobGVTQnphRzkxYkdRZ2NtVnlkVzR1WEc0Z0lDQWdJQ0JqYjI1emRDQndjbTkyYVdSbGNuTWdQU0IwYUdsekxtZGxkRU5zYjNObGMzUkZlSFJ5WVZGMVpYSjVVSEp2ZG1sa1pYSnpLQ2s3WEc0Z0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUhCeWIzWnBaR1Z5SUc5bUlIQnliM1pwWkdWeWN5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxsOXpkV0p6TG1Ga1pDaGNiaUFnSUNBZ0lDQWdJQ0J3Y205MmFXUmxjaTV6ZFdKelkzSnBZbVZVYjFOMFlYUmxLQ2h1TENCd0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvY0hKdmRtbGtaWEl1YzJodmRXeGtVbVZ5ZFc0b2NDd2diaXdnZEdocGN5NXpkR0YwWlM1eGRXVnlhV1Z6S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbkoxYmxGMVpYSnBaWE1vS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOUtWeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxuTjFZbk5qY21saVpWUnZWR2x0WlZKaGJtZGxRMmhoYm1kbGN5aDBhVzFsVW1GdVoyVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV6YUc5MWJHUlNkVzVSZFdWeWFXVnpUMjVCWTNScGRtRjBaU2dwS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Y25WdVVYVmxjbWxsY3lncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ2hkR2hwY3k1ZlpHRjBZVXhoZVdWeWMxTjFZaWtnZTF4dUlDQWdJQ0FnZEdocGN5NWZhR0Z1Wkd4bFJHRjBZVXhoZVdWeWN5Z3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlBb0tTQTlQaUIwYUdsekxsOXZia1JsWVdOMGFYWmhkR1VvS1R0Y2JpQWdmVnh1WEc0Z0lDOHZJRlJvYVhNZ2JXVjBhRzlrSUhOMVluTmpjbWxpWlhNZ2RHOGdZV3hzSUZOalpXNWxSR0YwWVV4aGVXVnljeUIxY0NCMWJuUnBiQ0IwYUdVZ2NtOXZkQ3dnWVc1a0lHTnZiV0pwYm1WeklIUm9aU0J5WlhOMWJIUnpJR2x1ZEc4Z1pHRjBZU0J3Y205MmFXUmxaQ0JtY205dElGTmpaVzVsVVhWbGNubFNkVzV1WlhKY2JpQWdjSEpwZG1GMFpTQmZhR0Z1Wkd4bFJHRjBZVXhoZVdWeWN5Z3BJSHRjYmlBZ0lDQmpiMjV6ZENCa1lYUmhUR0Y1WlhKeklEMGdjMk5sYm1WSGNtRndhQzVuWlhSRVlYUmhUR0Y1WlhKektIUm9hWE1wTzF4dVhHNGdJQ0FnYVdZZ0tHUmhkR0ZNWVhsbGNuTXViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1ZlpHRjBZVXhoZVdWeWMxTjFZaUE5SUhSb2FYTXVYMlJoZEdGTVlYbGxjbk5OWlhKblpYSmNiaUFnSUNBZ0lDNW5aWFJOWlhKblpXUlRkSEpsWVcwb1pHRjBZVXhoZVdWeWN5bGNiaUFnSUNBZ0lDNXpkV0p6WTNKcFltVW9kR2hwY3k1ZmIyNU1ZWGxsY25OU1pXTmxhWFpsWkM1aWFXNWtLSFJvYVhNcEtUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMjl1VEdGNVpYSnpVbVZqWldsMlpXUW9jbVZ6ZFd4MGN6b2dTWFJsY21GaWJHVThVMk5sYm1WRVlYUmhVSEp2ZG1sa1pYSlNaWE4xYkhRK0tTQjdYRzRnSUNBZ1kyOXVjM1FnZEdsdFpWSmhibWRsSUQwZ2MyTmxibVZIY21Gd2FDNW5aWFJVYVcxbFVtRnVaMlVvZEdocGN5azdYRzRnSUNBZ1kyOXVjM1FnZXlCa1lYUmhUR0Y1WlhKR2FXeDBaWElnZlNBOUlIUm9hWE11YzNSaGRHVTdYRzVjYmlBZ0lDQnNaWFFnWVc1dWIzUmhkR2x2Ym5NNklFUmhkR0ZHY21GdFpWdGRJRDBnVzEwN1hHNGdJQ0FnYkdWMElHRnNaWEowVTNSaGRHVnpPaUJFWVhSaFJuSmhiV1ZiWFNBOUlGdGRPMXh1SUNBZ0lHeGxkQ0JoYkdWeWRGTjBZWFJsT2lCQmJHVnlkRk4wWVhSbFNXNW1ieUI4SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2NtVnpkV3gwSUc5bUlISmxjM1ZzZEhNcElIdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHWnlZVzFsSUc5bUlISmxjM1ZzZEM1a1lYUmhMbk5sY21sbGN5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb1puSmhiV1V1YldWMFlUOHVaR0YwWVZSdmNHbGpJRDA5UFNCRVlYUmhWRzl3YVdNdVFXNXViM1JoZEdsdmJuTXBJSHRjYmlBZ0lDQWdJQ0FnSUNCaGJtNXZkR0YwYVc5dWN5QTlJR0Z1Ym05MFlYUnBiMjV6TG1OdmJtTmhkQ2htY21GdFpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tHWnlZVzFsTG0xbGRHRS9MbVJoZEdGVWIzQnBZeUE5UFQwZ1JHRjBZVlJ2Y0dsakxrRnNaWEowVTNSaGRHVnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1lXeGxjblJUZEdGMFpYTWdQU0JoYkdWeWRGTjBZWFJsY3k1amIyNWpZWFFvWm5KaGJXVXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dSaGRHRk1ZWGxsY2tacGJIUmxjajh1Y0dGdVpXeEpaQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHRnVibTkwWVhScGIyNXpMbXhsYm1kMGFDQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ1lXNXViM1JoZEdsdmJuTWdQU0JtYVd4MFpYSkJibTV2ZEdGMGFXOXVjeWhoYm01dmRHRjBhVzl1Y3l3Z1pHRjBZVXhoZVdWeVJtbHNkR1Z5S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLR0ZzWlhKMFUzUmhkR1Z6TG14bGJtZDBhQ0ErSURBcElIdGNiaUFnSUNBZ0lDQWdabTl5SUNoamIyNXpkQ0JtY21GdFpTQnZaaUJoYkdWeWRGTjBZWFJsY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHWnlZVzFsVm1sbGR5QTlJRzVsZHlCRVlYUmhSbkpoYldWV2FXVjNQRUZzWlhKMFUzUmhkR1ZKYm1adlBpaG1jbUZ0WlNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0JtYjNJZ0tHTnZibk4wSUhKdmR5QnZaaUJtY21GdFpWWnBaWGNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoeWIzY3VjR0Z1Wld4SlpDQTlQVDBnWkdGMFlVeGhlV1Z5Um1sc2RHVnlMbkJoYm1Wc1NXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZV3hsY25SVGRHRjBaU0E5SUhKdmR6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1UydHBjQ0IxYm01bGMzTmhjbmtnYzNSaGRHVWdkWEJrWVhSbGMxeHVJQ0FnSUdsbUlDaGNiaUFnSUNBZ0lHRnNiRVp5WVcxbGMwVnRjSFI1S0dGdWJtOTBZWFJwYjI1ektTQW1KbHh1SUNBZ0lDQWdZV3hzUm5KaGJXVnpSVzF3ZEhrb2RHaHBjeTVmYkdGNVpYSkJibTV2ZEdGMGFXOXVjeWtnSmlaY2JpQWdJQ0FnSUdselJYRjFZV3dvWVd4bGNuUlRkR0YwWlN3Z2RHaHBjeTV6ZEdGMFpTNWtZWFJoUHk1aGJHVnlkRk4wWVhSbEtWeHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdVgyeGhlV1Z5UVc1dWIzUmhkR2x2Ym5NZ1BTQmhibTV2ZEdGMGFXOXVjenRjYmx4dUlDQWdJR052Ym5OMElHSmhjMlZUZEdGMFpWVndaR0YwWlNBOUlIUm9hWE11YzNSaGRHVXVaR0YwWVNBL0lIUm9hWE11YzNSaGRHVXVaR0YwWVNBNklIc2dMaTR1Wlcxd2RIbFFZVzVsYkVSaGRHRXNJSFJwYldWU1lXNW5aVG9nZEdsdFpWSmhibWRsTG5OMFlYUmxMblpoYkhWbElIMDdYRzVjYmlBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0h0Y2JpQWdJQ0FnSUdSaGRHRTZJSHRjYmlBZ0lDQWdJQ0FnTGk0dVltRnpaVk4wWVhSbFZYQmtZWFJsTEZ4dUlDQWdJQ0FnSUNCaGJtNXZkR0YwYVc5dWN6b2dXeTR1TGloMGFHbHpMbDl5WlhOMWJIUkJibTV2ZEdGMGFXOXVjeUEvUHlCYlhTa3NJQzR1TG1GdWJtOTBZWFJwYjI1elhTeGNiaUFnSUNBZ0lDQWdZV3hsY25SVGRHRjBaVG9nWVd4bGNuUlRkR0YwWlNBL1B5QjBhR2x6TG5OMFlYUmxMbVJoZEdFL0xtRnNaWEowVTNSaGRHVXNYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZSb2FYTWdkSEpwWlhNZ2RHOGdjM1JoY25RZ1lTQnVaWGNnY1hWbGNua2dkMmhsYm1WMlpYSWdZU0IyWVhKcFlXSnNaU0JqYjIxd2JHVjBaWE1nYjNJZ2FYTWdZMmhoYm1kbFpDNWNiaUFnSUNwY2JpQWdJQ29nVjJVZ1kyRnlaU0JoWW05MWRDQjJZWEpwWVdKc1pTQjFjR1JoZEdVZ1kyOXRjR3hsZEdsdmJuTWdaWFpsYmlCM2FHVnVJSFJvWlNCMllYSnBZV0pzWlNCb1lYTWdibTkwSUdOb1lXNW5aV1FnWVc1a0lHVjJaVzRnZDJobGJpQnBkQ0JwY3lCdWIzUWdZU0JrYVhKbFkzUWdaR1Z3Wlc1a1pXNWplUzVjYmlBZ0lDb2dSWGhoYlhCc1pUb2dWbUZ5YVdGaWJHVnpJRUVnWVc1a0lFSWdLRUlnWkdWd1pXNWtjeUJ2YmlCQktTNGdRU0IxY0dSaGRHVWdaR1Z3Wlc1a2N5QnZiaUIwYVcxbElISmhibWRsTGlCVGJ5QjNhR1Z1SUhScGJXVWdZMmhoYm1kbElIRjFaWEo1SUhKMWJtNWxjaUIzYVd4c1hHNGdJQ0FxSUdacGJtUWdkR2hoZENCMllYSnBZV0pzWlNCQklHbHpJR3h2WVdScGJtY2dkMmhwWTJnZ2FYTWdZU0JrWlhCbGJtUmxibU41SUc5dUlHOW1JSFpoY21saFlteGxJRUlnYzI4Z2QybHNiQ0J6WlhRZ1gybHpWMkZwZEdsdVowWnZjbFpoY21saFlteGxjeUIwYnlCMGNuVmxJR0Z1WkZ4dUlDQWdLaUJ1YjNRZ2FYTnpkV1VnWVc1NUlIRjFaWEo1TGx4dUlDQWdLbHh1SUNBZ0tpQlhhR1Z1SUVFZ1kyOXRjR3hsZEdWeklHbDBKM01nYkc5aFpHbHVaeUFvZDJsMGFDQnVieUIyWVd4MVpTQmphR0Z1WjJVc0lITnZJRUlnYm1WMlpYSWdkWEJrWVhSbGN5a2dhWFFnZDJsc2JDQmpZWFZ6WlNCaElHTmhiR3dnYjJZZ2RHaHBjeUJtZFc1amRHbHZiaUJzWlhSMGFXNW5YRzRnSUNBcUlIUm9aU0J4ZFdWeWVTQnlkVzV1WlhJZ2EyNXZkeUIwYUdGMElFRWdhR0Z6SUdOdmJYQnNaWFJsWkN3Z1lXNWtJR2x1SUdOaGMyVWdYMmx6VjJGcGRHbHVaMFp2Y2xaaGNtbGhZbXhsY3lCM1pTQjBjbmtnZEc4Z2NuVnVJSFJvWlNCeGRXVnllUzRnVkdobElIRjFaWEo1SUhkcGJHeGNiaUFnSUNvZ2IyNXNlU0J5ZFc0Z2FXWWdZV3hzSUhaaGNtbGhZbXhsY3lCaGNtVWdhVzRnWVNCdWIyNGdiRzloWkdsdVp5QnpkR0YwWlNCemJ5QnBiaUJ2ZEdobGNpQnpZMlZ1WVhKcGIzTWdkMmhsY21VZ1lTQnhkV1Z5ZVNCa1pYQmxibVJ6SUc5dUlHMWhibmtnZG1GeWFXRmliR1Z6SUhSb2FYTWdkMmxzYkZ4dUlDQWdLaUJpWlNCallXeHNaV1FnYldGdWVTQjBhVzFsY3lCMWJuUnBiQ0JoYkd3Z1pHVndaVzVrWlc1amFXVnpJR0Z5WlNCcGJpQmhJRzV2YmlCc2IyRmthVzVuSUhOMFlYUmxMaUFnSUNwY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2IyNVdZWEpwWVdKc1pWVndaR0YwWlhORGIyMXdiR1YwWldRb0tTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWFYTlJkV1Z5ZVUxdlpHVkJkWFJ2S0NrcElIdGNiaUFnSUNBZ0lIUm9hWE11Y25WdVVYVmxjbWxsY3lncE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRhR1ZqYXlCcFppQjJZV3gxWlNCamFHRnVaMlZrSUdseklHRWdZV1JvYjJNZ1ptbHNkR1Z5SUc4Z1ozSnZkWEFnWW5rZ2RtRnlhV0ZpYkdVZ2RHaGhkQ0JrYVdRZ2JtOTBJR1Y0YVhOMElIZG9aVzRnZDJVZ2FYTnpkV1ZrSUhSb1pTQnNZWE4wSUhGMVpYSjVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRzl1UVc1NVZtRnlhV0ZpYkdWRGFHRnVaMlZrS0haaGNtbGhZbXhsT2lCVFkyVnVaVlpoY21saFlteGxLU0I3WEc0Z0lDQWdMeThnU1dZZ2RHaHBjeUIyWVhKcFlXSnNaU0JvWVhNZ1lXeHlaV0ZrZVNCaVpXVnVJR1JsZEdWamRHVmtJSFJvYVhNZ2RtRnlhV0ZpYkdVZ1lYTWdZU0JrWlhCbGJtUmxibU41SUc5dVZtRnlhV0ZpYkdWVmNHUmhkR1Z6UTI5dGNHeGxkR1ZrSUdGaWIzWmxJSGRwYkd3Z2FHRnVaR3hsSUhaaGJIVmxJR05vWVc1blpYTmNiaUFnSUNCcFppQW9kR2hwY3k1ZllXUm9iMk5HYVd4MFpYSnpWbUZ5SUQwOVBTQjJZWEpwWVdKc1pTQjhmQ0IwYUdsekxsOW5jbTkxY0VKNVZtRnlJRDA5UFNCMllYSnBZV0pzWlNCOGZDQWhkR2hwY3k1cGMxRjFaWEo1VFc5a1pVRjFkRzhvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMllYSnBZV0pzWlNCcGJuTjBZVzVqWlc5bUlFRmtTRzlqUm1sc2RHVnljMVpoY21saFlteGxJQ1ltSUhSb2FYTXVYMmx6VW1Wc1pYWmhiblJCZFhSdlZtRnlhV0ZpYkdVb2RtRnlhV0ZpYkdVcEtTQjdYRzRnSUNBZ0lDQjBhR2x6TG5KMWJsRjFaWEpwWlhNb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kbUZ5YVdGaWJHVWdhVzV6ZEdGdVkyVnZaaUJIY205MWNFSjVWbUZ5YVdGaWJHVWdKaVlnZEdocGN5NWZhWE5TWld4bGRtRnVkRUYxZEc5V1lYSnBZV0pzWlNoMllYSnBZV0pzWlNrcElIdGNiaUFnSUNBZ0lIUm9hWE11Y25WdVVYVmxjbWxsY3lncE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gybHpVbVZzWlhaaGJuUkJkWFJ2Vm1GeWFXRmliR1VvZG1GeWFXRmliR1U2SUVGa1NHOWpSbWxzZEdWeWMxWmhjbWxoWW14bElId2dSM0p2ZFhCQ2VWWmhjbWxoWW14bEtTQjdYRzRnSUNBZ1kyOXVjM1FnWkdGMFlYTnZkWEpqWlNBOUlIUm9hWE11YzNSaGRHVXVaR0YwWVhOdmRYSmpaU0EvUHlCbWFXNWtSbWx5YzNSRVlYUmhjMjkxY21ObEtIUm9hWE11YzNSaGRHVXVjWFZsY21sbGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhaaGNtbGhZbXhsTG5OMFlYUmxMbUZ3Y0d4NVRXOWtaU0E5UFQwZ0oyRjFkRzhuSUNZbUlHUmhkR0Z6YjNWeVkyVS9MblZwWkNBOVBUMGdkbUZ5YVdGaWJHVXVjM1JoZEdVdVpHRjBZWE52ZFhKalpUOHVkV2xrTzF4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCemFHOTFiR1JTZFc1UmRXVnlhV1Z6VDI1QlkzUnBkbUYwWlNncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1ZmRtRnlhV0ZpYkdWV1lXeDFaVkpsWTI5eVpHVnlMbWhoYzBSbGNHVnVaR1Z1WTJsbGMwTm9ZVzVuWldRb2RHaHBjeWtwSUh0Y2JpQWdJQ0FnSUhkeWFYUmxVMk5sYm1WTWIyY29YRzRnSUNBZ0lDQWdJQ2RUWTJWdVpWRjFaWEo1VW5WdWJtVnlKeXhjYmlBZ0lDQWdJQ0FnSjFaaGNtbGhZbXhsSUdSbGNHVnVaR1Z1WTNrZ1kyaGhibWRsWkNCM2FHbHNaU0JwYm1GamRHbDJaU3dnYzJodmRXeGtVblZ1VVhWbGNtbGxjMDl1UVdOMGFYWmhkR1VnY21WMGRYSnVjeUIwY25WbEoxeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRWxtSUhkbElHUnZiaWQwSUdoaGRtVWdZVzU1SUdSaGRHRWdkMlVnYzJodmRXeGtJSEoxYmlCeGRXVnlhV1Z6WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbk4wWVhSbExtUmhkR0VwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFbG1JSFJwYldVZ2NtRnVaMlVnYVhNZ2MzUmhiR1VnTHlCa2FXWm1aWEpsYm5RZ2QyVWdjMmh2ZFd4a0lISjFiaUJ4ZFdWeWFXVnpYRzRnSUNBZ2FXWWdLSFJvYVhNdVgybHpSR0YwWVZScGJXVlNZVzVuWlZOMFlXeGxLSFJvYVhNdWMzUmhkR1V1WkdGMFlTa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1gybHpSR0YwWVZScGJXVlNZVzVuWlZOMFlXeGxLR1JoZEdFNklGQmhibVZzUkdGMFlTa2dlMXh1SUNBZ0lHTnZibk4wSUhScGJXVlNZVzVuWlNBOUlITmpaVzVsUjNKaGNHZ3VaMlYwVkdsdFpWSmhibWRsS0hSb2FYTXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2MzUmhkR1ZVYVcxbFVtRnVaMlVnUFNCMGFXMWxVbUZ1WjJVdWMzUmhkR1V1ZG1Gc2RXVTdYRzRnSUNBZ1kyOXVjM1FnWkdGMFlWUnBiV1ZTWVc1blpTQTlJR1JoZEdFdWRHbHRaVkpoYm1kbE8xeHVYRzRnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdjM1JoZEdWVWFXMWxVbUZ1WjJVdVpuSnZiUzUxYm1sNEtDa2dQVDA5SUdSaGRHRlVhVzFsVW1GdVoyVXVabkp2YlM1MWJtbDRLQ2tnSmlaY2JpQWdJQ0FnSUhOMFlYUmxWR2x0WlZKaGJtZGxMblJ2TG5WdWFYZ29LU0E5UFQwZ1pHRjBZVlJwYldWU1lXNW5aUzUwYnk1MWJtbDRLQ2xjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdkM0pwZEdWVFkyVnVaVXh2WnlnblUyTmxibVZSZFdWeWVWSjFibTVsY2ljc0lDZEVZWFJoSUhScGJXVWdjbUZ1WjJVZ2FYTWdjM1JoYkdVbktUdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdYMjl1UkdWaFkzUnBkbUYwWlNncE9pQjJiMmxrSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmY1hWbGNubFRkV0lwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYM0YxWlhKNVUzVmlMblZ1YzNWaWMyTnlhV0psS0NrN1hHNGdJQ0FnSUNCMGFHbHpMbDl4ZFdWeWVWTjFZaUE5SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmWkdGMFlVeGhlV1Z5YzFOMVlpa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlpHRjBZVXhoZVdWeWMxTjFZaTUxYm5OMVluTmpjbWxpWlNncE8xeHVJQ0FnSUNBZ2RHaHBjeTVmWkdGMFlVeGhlV1Z5YzFOMVlpQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TGw5MGFXMWxVM1ZpUHk1MWJuTjFZbk5qY21saVpTZ3BPMXh1SUNBZ0lIUm9hWE11WDNScGJXVlRkV0lnUFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnZEdocGN5NWZkR2x0WlZOMVlsSmhibWRsSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUhSb2FYTXVYMkZrYUc5alJtbHNkR1Z5YzFaaGNpQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQjBhR2x6TGw5bmNtOTFjRUo1Vm1GeUlEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lIUm9hWE11WDNaaGNtbGhZbXhsVm1Gc2RXVlNaV052Y21SbGNpNXlaV052Y21SRGRYSnlaVzUwUkdWd1pXNWtaVzVqZVZaaGJIVmxjMFp2Y2xOalpXNWxUMkpxWldOMEtIUm9hWE1wTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUhObGRFTnZiblJoYVc1bGNsZHBaSFJvS0hkcFpIUm9PaUJ1ZFcxaVpYSXBJSHRjYmlBZ0lDQXZMeUJKWmlCM1pTQmtiMjRuZENCb1lYWmxJR0VnZDJsa2RHZ2dkMlVnYzJodmRXeGtJSEoxYmlCeGRXVnlhV1Z6WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDlqYjI1MFlXbHVaWEpYYVdSMGFDQW1KaUIzYVdSMGFDQStJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYMk52Ym5SaGFXNWxjbGRwWkhSb0lEMGdkMmxrZEdnN1hHNWNiaUFnSUNBZ0lDOHZJRWxtSUhkbElHUnZiaWQwSUdoaGRtVWdiV0Y0UkdGMFlWQnZhVzUwY3lCemNHVmphV1pwWTJGc2JIa2djMlYwSUdGdVpDQnRZWGhFWVhSaFVHOXBiblJ6Um5KdmJWZHBaSFJvSUdseklIUnlkV1ZjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbk4wWVhSbExtMWhlRVJoZEdGUWIybHVkSE5HY205dFYybGtkR2dnSmlZZ0lYUm9hWE11YzNSaGRHVXViV0Y0UkdGMFlWQnZhVzUwY3lrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJCY3lCMGFHbHpJR2x6SUdOaGJHeGxaQ0JtY205dElISmxibVJsY2lCd1lYUm9JSGRsSUc1bFpXUWdkRzhnZDJGcGRDQm1iM0lnYm1WNGRDQjBhV05ySUdKbFptOXlaU0J5ZFc1dWFXNW5JSEYxWlhKcFpYTmNiaUFnSUNBZ0lDQWdjMlYwVkdsdFpXOTFkQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9hWE11YVhOQlkzUnBkbVVnSmlZZ0lYUm9hWE11YzNSaGRHVXVYMmhoYzBabGRHTm9aV1JFWVhSaEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbkoxYmxGMVpYSnBaWE1vS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBzSURBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCcFppQjBhR1VnZFhCa1lYUmxaQ0JqYjI1MFlXbHVaWElnZDJsa2RHZ2dhWE1nWW1sbloyVnlJSFJvWVc0Z01DQnNaWFFuY3lCeVpXMWxiV0psY2lCMGFHVWdkMmxrZEdnZ2RXNTBhV3dnYm1WNGRDQnhkV1Z5ZVNCcGMzTjFaVnh1SUNBZ0lDQWdhV1lnS0hkcFpIUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5amIyNTBZV2x1WlhKWGFXUjBhQ0E5SUhkcFpIUm9PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QnBjMFJoZEdGU1pXRmtlVlJ2UkdsemNHeGhlU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdRbTl2YkdWaGJpaDBhR2x6TG5OMFlYUmxMbDlvWVhOR1pYUmphR1ZrUkdGMFlTazdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJSE4xWW5OamNtbGlaVlJ2VkdsdFpWSmhibWRsUTJoaGJtZGxjeWgwYVcxbFVtRnVaMlU2SUZOalpXNWxWR2x0WlZKaGJtZGxUR2xyWlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5MGFXMWxVM1ZpVW1GdVoyVWdQVDA5SUhScGJXVlNZVzVuWlNrZ2UxeHVJQ0FnSUNBZ0x5OGdUbTkwYUdsdVp5QjBieUJrYnl3Z1lXeHlaV0ZrZVNCemRXSnpZM0pwWW1Wa1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVYM1JwYldWVGRXSXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzUnBiV1ZUZFdJdWRXNXpkV0p6WTNKcFltVW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TGw5MGFXMWxVM1ZpVW1GdVoyVWdQU0IwYVcxbFVtRnVaMlU3WEc0Z0lDQWdkR2hwY3k1ZmRHbHRaVk4xWWlBOUlIUnBiV1ZTWVc1blpTNXpkV0p6WTNKcFltVlViMU4wWVhSbEtDZ3BJRDArSUh0Y2JpQWdJQ0FnSUhSb2FYTXVjblZ1VjJsMGFGUnBiV1ZTWVc1blpTaDBhVzFsVW1GdVoyVXBPMXh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnY0hWaWJHbGpJSEoxYmxGMVpYSnBaWE1vS1NCN1hHNGdJQ0FnWTI5dWMzUWdkR2x0WlZKaGJtZGxJRDBnYzJObGJtVkhjbUZ3YUM1blpYUlVhVzFsVW1GdVoyVW9kR2hwY3lrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOUmRXVnllVTF2WkdWQmRYUnZLQ2twSUh0Y2JpQWdJQ0FnSUhSb2FYTXVjM1ZpYzJOeWFXSmxWRzlVYVcxbFVtRnVaMlZEYUdGdVoyVnpLSFJwYldWU1lXNW5aU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1eWRXNVhhWFJvVkdsdFpWSmhibWRsS0hScGJXVlNZVzVuWlNrN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHZGxkRTFoZUVSaGRHRlFiMmx1ZEhNb0tTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWMzUmhkR1V1YldGNFJHRjBZVkJ2YVc1MGN5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YzNSaGRHVXViV0Y0UkdGMFlWQnZhVzUwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRHRjBaUzV0WVhoRVlYUmhVRzlwYm5SelJuSnZiVmRwWkhSb0lEOGdkR2hwY3k1ZlkyOXVkR0ZwYm1WeVYybGtkR2dnUHo4Z05UQXdJRG9nTlRBd08xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHTmhibU5sYkZGMVpYSjVLQ2tnZTF4dUlDQWdJSFJvYVhNdVgzRjFaWEo1VTNWaVB5NTFibk4xWW5OamNtbGlaU2dwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11WDJSaGRHRk1ZWGxsY25OVGRXSXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgyUmhkR0ZNWVhsbGNuTlRkV0l1ZFc1emRXSnpZM0pwWW1Vb0tUdGNiaUFnSUNBZ0lIUm9hWE11WDJSaGRHRk1ZWGxsY25OVGRXSWdQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN1hHNGdJQ0FnSUNCa1lYUmhPaUI3SUM0dUxuUm9hWE11YzNSaGRHVXVaR0YwWVNFc0lITjBZWFJsT2lCTWIyRmthVzVuVTNSaGRHVXVSRzl1WlNCOUxGeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmhjM2x1WXlCeWRXNVhhWFJvVkdsdFpWSmhibWRsS0hScGJXVlNZVzVuWlRvZ1UyTmxibVZVYVcxbFVtRnVaMlZNYVd0bEtTQjdYRzRnSUNBZ0x5OGdTV1lnYm04Z2JXRjRSR0YwWVZCdmFXNTBjeUJ6Y0dWamFXWnBaV1FnZDJVZ2JXbG5hSFFnYm1WbFpDQjBieUIzWVdsMElHWnZjaUJqYjI1MFlXbHVaWElnZDJsa2RHZ2dkRzhnWW1VZ2MyVjBJR1p5YjIwZ2RHaGxJRzkxZEhOcFpHVmNiaUFnSUNCcFppQW9JWFJvYVhNdWMzUmhkR1V1YldGNFJHRjBZVkJ2YVc1MGN5QW1KaUIwYUdsekxuTjBZWFJsTG0xaGVFUmhkR0ZRYjJsdWRITkdjbTl0VjJsa2RHZ2dKaVlnSVhSb2FYTXVYMk52Ym5SaGFXNWxjbGRwWkhSb0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1NXWWdaR0YwWVNCc1lYbGxjbk1nYzNWaWMyTnlhWEIwYVc5dUlHUnZaWE51SjNRZ1pYaHBjM1FzSUdOeVpXRjBaU0J2Ym1WY2JpQWdJQ0JwWmlBb0lYUm9hWE11WDJSaGRHRk1ZWGxsY25OVGRXSXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgyaGhibVJzWlVSaGRHRk1ZWGxsY25Nb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkRZVzVqWld3Z1lXNTVJSEoxYm01cGJtY2djWFZsY21sbGMxeHVJQ0FnSUhSb2FYTXVYM0YxWlhKNVUzVmlQeTUxYm5OMVluTmpjbWxpWlNncE8xeHVYRzRnSUNBZ0x5OGdVMnRwY0NCbGVHVmpkWFJwYm1jZ2NYVmxjbWxsY3lCcFppQjJZWEpwWVdKc1pTQmtaWEJsYm1SbGJtTjVJR2x6SUdsdUlHeHZZV1JwYm1jZ2MzUmhkR1ZjYmlBZ0lDQnBaaUFvZEdocGN5NWZkbUZ5YVdGaWJHVkVaWEJsYm1SbGJtTjVMbWhoYzBSbGNHVnVaR1Z1WTNsSmJreHZZV1JwYm1kVGRHRjBaU2dwS1NCN1hHNGdJQ0FnSUNCM2NtbDBaVk5qWlc1bFRHOW5LQ2RUWTJWdVpWRjFaWEo1VW5WdWJtVnlKeXdnSjFaaGNtbGhZbXhsSUdSbGNHVnVaR1Z1WTNrZ2FYTWdhVzRnYkc5aFpHbHVaeUJ6ZEdGMFpTd2djMnRwY0hCcGJtY2djWFZsY25rZ1pYaGxZM1YwYVc5dUp5azdYRzRnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ1pHRjBZVG9nZXlBdUxpNG9kR2hwY3k1emRHRjBaUzVrWVhSaElEOC9JR1Z0Y0hSNVVHRnVaV3hFWVhSaEtTd2djM1JoZEdVNklFeHZZV1JwYm1kVGRHRjBaUzVNYjJGa2FXNW5JSDBnZlNrN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2V5QnhkV1Z5YVdWeklIMGdQU0IwYUdsekxuTjBZWFJsTzF4dVhHNGdJQ0FnTHk4Z1UybHRjR3hsSUhCaGRHZ2dkMmhsYmlCdWJ5QnhkV1Z5YVdWeklHVjRhWE4wWEc0Z0lDQWdhV1lnS0NGeGRXVnlhV1Z6UHk1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYM05sZEU1dlJHRjBZVk4wWVhSbEtDazdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHTnZibk4wSUdSaGRHRnpiM1Z5WTJVZ1BTQjBhR2x6TG5OMFlYUmxMbVJoZEdGemIzVnlZMlVnUHo4Z1ptbHVaRVpwY25OMFJHRjBZWE52ZFhKalpTaHhkV1Z5YVdWektUdGNiaUFnSUNBZ0lHTnZibk4wSUdSeklEMGdZWGRoYVhRZ1oyVjBSR0YwWVZOdmRYSmpaU2hrWVhSaGMyOTFjbU5sTENCMGFHbHpMbDl6WTI5d1pXUldZWEp6S1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVtYVc1a1FXNWtVM1ZpYzJOeWFXSmxWRzlCWkVodlkwWnBiSFJsY25Nb1pHRjBZWE52ZFhKalpUOHVkV2xrS1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnY25WdVVtVnhkV1Z6ZENBOUlHZGxkRkoxYmxKbGNYVmxjM1FvS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJSHNnY0hKcGJXRnllU3dnYzJWamIyNWtZWEpwWlhNc0lIQnliMk5sYzNOdmNuTWdmU0E5SUhSb2FYTXVjSEpsY0dGeVpWSmxjWFZsYzNSektIUnBiV1ZTWVc1blpTd2daSE1wTzF4dVhHNGdJQ0FnSUNCM2NtbDBaVk5qWlc1bFRHOW5LQ2RUWTJWdVpWRjFaWEo1VW5WdWJtVnlKeXdnSjFOMFlYSjBhVzVuSUhKMWJsSmxjWFZsYzNRbkxDQjBhR2x6TG5OMFlYUmxMbXRsZVNrN1hHNWNiaUFnSUNBZ0lHeGxkQ0J6ZEhKbFlXMGdQU0J5ZFc1U1pYRjFaWE4wS0dSekxDQndjbWx0WVhKNUtUdGNibHh1SUNBZ0lDQWdhV1lnS0hObFkyOXVaR0Z5YVdWekxteGxibWQwYUNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UzVmliV2wwSUdGc2JDQnpaV052Ym1SaGNua2djbVZ4ZFdWemRITWdhVzRnY0dGeVlXeHNaV3d1WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5sWTI5dVpHRnllVk4wY21WaGJYTWdQU0J6WldOdmJtUmhjbWxsY3k1dFlYQW9LSElwSUQwK0lISjFibEpsY1hWbGMzUW9aSE1zSUhJcEtUdGNiaUFnSUNBZ0lDQWdMeThnUTNKbFlYUmxJSFJvWlNCeWVHcHpJRzl3WlhKaGRHOXlJSGRvYVdOb0lIZHBiR3dnWTI5dFltbHVaU0IwYUdVZ2NISnBiV0Z5ZVNCaGJtUWdjMlZqYjI1a1lYSjVJSEpsYzNCdmJuTmxjMXh1SUNBZ0lDQWdJQ0F2THlCaWVTQmpZV3hzYVc1bklIUm9aU0JqYjNKeVpXTjBJSEJ5YjJObGMzTnZjaUJtZFc1amRHbHZibk1nY0hKdmRtbGtaV1FnWW5rZ2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUdWNGRISmhJSEpsY1hWbGMzUWdjSEp2ZG1sa1pYSnpMbHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnZjQ0E5SUdWNGRISmhVWFZsY25sUWNtOWpaWE56YVc1blQzQmxjbUYwYjNJb2NISnZZMlZ6YzI5eWN5azdYRzRnSUNBZ0lDQWdJQzh2SUVOdmJXSnBibVVnZEdobElIQnlhVzFoY25rZ1lXNWtJSE5sWTI5dVpHRnllU0J6ZEhKbFlXMXpJR2x1ZEc4Z1lTQnphVzVuYkdVZ2MzUnlaV0Z0TENCaGJtUWdZWEJ3YkhrZ2RHaGxJRzl3WlhKaGRHOXlMbHh1SUNBZ0lDQWdJQ0J6ZEhKbFlXMGdQU0JtYjNKclNtOXBiaWhiYzNSeVpXRnRMQ0F1TGk1elpXTnZibVJoY25sVGRISmxZVzF6WFNrdWNHbHdaU2h2Y0NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lITjBjbVZoYlNBOUlITjBjbVZoYlM1d2FYQmxLRnh1SUNBZ0lDQWdJQ0J5WldkcGMzUmxjbEYxWlhKNVYybDBhRU52Ym5SeWIyeHNaWElvZTF4dUlDQWdJQ0FnSUNBZ0lIUjVjR1U2SUNka1lYUmhKeXhjYmlBZ0lDQWdJQ0FnSUNCeVpYRjFaWE4wT2lCd2NtbHRZWEo1TEZ4dUlDQWdJQ0FnSUNBZ0lHOXlhV2RwYmpvZ2RHaHBjeXhjYmlBZ0lDQWdJQ0FnSUNCallXNWpaV3c2SUNncElEMCtJSFJvYVhNdVkyRnVZMlZzVVhWbGNua29LU3hjYmlBZ0lDQWdJQ0FnZlNsY2JpQWdJQ0FnSUNrN1hHNWNiaUFnSUNBZ0lIUm9hWE11WDNGMVpYSjVVM1ZpSUQwZ2MzUnlaV0Z0TG5OMVluTmpjbWxpWlNoMGFHbHpMbTl1UkdGMFlWSmxZMlZwZG1Wa0tUdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSXBJSHRjYmlBZ0lDQWdJR052Ym5OdmJHVXVaWEp5YjNJb0oxQmhibVZzVVhWbGNubFNkVzV1WlhJZ1JYSnliM0luTENCbGNuSXBPMXh1WEc0Z0lDQWdJQ0IwYUdsekxtOXVSR0YwWVZKbFkyVnBkbVZrS0h0Y2JpQWdJQ0FnSUNBZ0xpNHVaVzF3ZEhsUVlXNWxiRVJoZEdFc1hHNGdJQ0FnSUNBZ0lDNHVMblJvYVhNdWMzUmhkR1V1WkdGMFlTeGNiaUFnSUNBZ0lDQWdjM1JoZEdVNklFeHZZV1JwYm1kVGRHRjBaUzVGY25KdmNpeGNiaUFnSUNBZ0lDQWdaWEp5YjNKek9pQmJkRzlFWVhSaFVYVmxjbmxGY25KdmNpaGxjbklwWFN4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCamJHOXVaU2gzYVhSb1UzUmhkR1UvT2lCUVlYSjBhV0ZzUEZGMVpYSjVVblZ1Ym1WeVUzUmhkR1UrS1NCN1hHNGdJQ0FnWTI5dWMzUWdZMnh2Ym1VZ1BTQnpkWEJsY2k1amJHOXVaU2gzYVhSb1UzUmhkR1VwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11WDNKbGMzVnNkRUZ1Ym05MFlYUnBiMjV6S1NCN1hHNGdJQ0FnSUNCamJHOXVaVnNuWDNKbGMzVnNkRUZ1Ym05MFlYUnBiMjV6SjEwZ1BTQjBhR2x6TGw5eVpYTjFiSFJCYm01dmRHRjBhVzl1Y3k1dFlYQW9LR1p5WVcxbEtTQTlQaUFvZXlBdUxpNW1jbUZ0WlNCOUtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNdVgyeGhlV1Z5UVc1dWIzUmhkR2x2Ym5NcElIdGNiaUFnSUNBZ0lHTnNiMjVsV3lkZmJHRjVaWEpCYm01dmRHRjBhVzl1Y3lkZElEMGdkR2hwY3k1ZmJHRjVaWEpCYm01dmRHRjBhVzl1Y3k1dFlYQW9LR1p5WVcxbEtTQTlQaUFvZXlBdUxpNW1jbUZ0WlNCOUtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyeHZibVZiSjE5MllYSnBZV0pzWlZaaGJIVmxVbVZqYjNKa1pYSW5YU0E5SUhSb2FYTXVYM1poY21saFlteGxWbUZzZFdWU1pXTnZjbVJsY2k1amJHOXVaVUZ1WkZKbFkyOXlaRU4xY25KbGJuUldZV3gxWlhOR2IzSlRZMlZ1WlU5aWFtVmpkQ2gwYUdsektUdGNiaUFnSUNCamJHOXVaVnNuWDJOdmJuUmhhVzVsY2xkcFpIUm9KMTBnUFNCMGFHbHpMbDlqYjI1MFlXbHVaWEpYYVdSMGFEdGNiaUFnSUNCamJHOXVaVnNuWDNKbGMzVnNkSE1uWFM1dVpYaDBLSHNnYjNKcFoybHVPaUIwYUdsekxDQmtZWFJoT2lCMGFHbHpMbk4wWVhSbExtUmhkR0VnUHo4Z1pXMXdkSGxRWVc1bGJFUmhkR0VnZlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnWTJ4dmJtVTdYRzRnSUgxY2JseHVJQ0J3Y21sMllYUmxJSEJ5WlhCaGNtVlNaWEYxWlhOMGN5aDBhVzFsVW1GdVoyVTZJRk5qWlc1bFZHbHRaVkpoYm1kbFRHbHJaU3dnWkhNNklFUmhkR0ZUYjNWeVkyVkJjR2twT2lCUWNtVndZWEpsWkZKbGNYVmxjM1J6SUh0Y2JpQWdJQ0JqYjI1emRDQjdJRzFwYmtsdWRHVnlkbUZzTENCeGRXVnlhV1Z6SUgwZ1BTQjBhR2x6TG5OMFlYUmxPMXh1WEc0Z0lDQWdiR1YwSUhKbGNYVmxjM1E2SUVSaGRHRlJkV1Z5ZVZKbGNYVmxjM1E4UkdGMFlWRjFaWEo1UlhoMFpXNWtaV1ErSUQwZ2UxeHVJQ0FnSUNBZ1lYQndPaUFuYzJObGJtVnpKeXhjYmlBZ0lDQWdJSEpsY1hWbGMzUkpaRG9nWjJWMFRtVjRkRkpsY1hWbGMzUkpaQ2dwTEZ4dUlDQWdJQ0FnZEdsdFpYcHZibVU2SUhScGJXVlNZVzVuWlM1blpYUlVhVzFsV205dVpTZ3BMRnh1SUNBZ0lDQWdjbUZ1WjJVNklIUnBiV1ZTWVc1blpTNXpkR0YwWlM1MllXeDFaU3hjYmlBZ0lDQWdJR2x1ZEdWeWRtRnNPaUFuTVhNbkxGeHVJQ0FnSUNBZ2FXNTBaWEoyWVd4TmN6b2dNVEF3TUN4Y2JpQWdJQ0FnSUhSaGNtZGxkSE02SUdOc2IyNWxSR1ZsY0NoeGRXVnlhV1Z6S1N4Y2JpQWdJQ0FnSUcxaGVFUmhkR0ZRYjJsdWRITTZJSFJvYVhNdVoyVjBUV0Y0UkdGMFlWQnZhVzUwY3lncExGeHVJQ0FnSUNBZ2MyTnZjR1ZrVm1GeWN6b2dkR2hwY3k1ZmMyTnZjR1ZrVm1GeWN5eGNiaUFnSUNBZ0lITjBZWEowVkdsdFpUb2dSR0YwWlM1dWIzY29LU3hjYmlBZ0lDQWdJR3hwZG1WVGRISmxZVzFwYm1jNklIUm9hWE11YzNSaGRHVXViR2wyWlZOMGNtVmhiV2x1Wnl4Y2JpQWdJQ0FnSUhKaGJtZGxVbUYzT2lCN1hHNGdJQ0FnSUNBZ0lHWnliMjA2SUhScGJXVlNZVzVuWlM1emRHRjBaUzVtY205dExGeHVJQ0FnSUNBZ0lDQjBiem9nZEdsdFpWSmhibWRsTG5OMFlYUmxMblJ2TEZ4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUdOaFkyaGxWR2x0Wlc5MWREb2dkR2hwY3k1emRHRjBaUzVqWVdOb1pWUnBiV1Z2ZFhRc1hHNGdJQ0FnSUNCeGRXVnllVU5oWTJocGJtZFVWRXc2SUhSb2FYTXVjM1JoZEdVdWNYVmxjbmxEWVdOb2FXNW5WRlJNTEZ4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJoYzJ0eklIUm9aU0J6WTJWdVpTQnliMjkwSUhSdklIQnliM1pwWkdVZ1kyOXVkR1Y0ZENCd2NtOXdaWEowYVdWeklHeHBhMlVnWVhCd0xDQndZVzVsYkNCaGJtUWdaR0Z6YUdKdllYSmtWVWxFWEc0Z0lDQWdJQ0F1TGk1blpYUkZibkpwWTJobFpFUmhkR0ZTWlhGMVpYTjBLSFJvYVhNcExGeHVJQ0FnSUgwN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1ZllXUm9iMk5HYVd4MFpYSnpWbUZ5S1NCN1hHNGdJQ0FnSUNBdkx5QnZibXg1SUhCaGMzTWdabWxzZEdWeWN5QjBhR0YwSUdoaGRtVWdZbTkwYUNCclpYa2dZVzVrSUhaaGJIVmxYRzRnSUNBZ0lDQXZMeUJBZEhNdGFXZHViM0psSUNoVVpXMXdiM0poY25rZ2FXZHViM0psSUhWdWRHbHNJSGRsSUhWd1pHRjBaU0JBWjNKaFptRnVZUzlrWVhSaEtWeHVJQ0FnSUNBZ2NtVnhkV1Z6ZEM1bWFXeDBaWEp6SUQwZ2RHaHBjeTVmWVdSb2IyTkdhV3gwWlhKelZtRnlMbk4wWVhSbExtWnBiSFJsY25NdVptbHNkR1Z5S0dselJtbHNkR1Z5UTI5dGNHeGxkR1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbDluY205MWNFSjVWbUZ5S1NCN1hHNGdJQ0FnSUNBdkx5QkFkSE10YVdkdWIzSmxJQ2hVWlcxd2IzSmhjbmtnYVdkdWIzSmxJSFZ1ZEdsc0lIZGxJSFZ3WkdGMFpTQkFaM0poWm1GdVlTOWtZWFJoS1Z4dUlDQWdJQ0FnY21WeGRXVnpkQzVuY205MWNFSjVTMlY1Y3lBOUlIUm9hWE11WDJkeWIzVndRbmxXWVhJdWMzUmhkR1V1ZG1Gc2RXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVnhkV1Z6ZEM1MFlYSm5aWFJ6SUQwZ2NtVnhkV1Z6ZEM1MFlYSm5aWFJ6TG0xaGNDZ29jWFZsY25rcElEMCtJSHRjYmlBZ0lDQWdJR2xtSUNoY2JpQWdJQ0FnSUNBZ0lYRjFaWEo1TG1SaGRHRnpiM1Z5WTJVZ2ZIeGNiaUFnSUNBZ0lDQWdLSEYxWlhKNUxtUmhkR0Z6YjNWeVkyVXVkV2xrSUNFOVBTQmtjeTUxYVdRZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FoWkhNdWJXVjBZVDh1YldsNFpXUWdKaVpjYmlBZ0lDQWdJQ0FnSUNCcGMwVjRjSEpsYzNOcGIyNVNaV1psY21WdVkyVWdMeW9nVkU5RVR6b2dVbVZ0YjNabElIUm9hWE1nWTJobFkyc2dkMmhsYmlCcGMwVjRjSEpsYzNOcGIyNVNaV1psY21WdVkyVWdhWE1nY0hKdmNHVnliSGtnWlhod2IzSjBaV1FnWm5KdmJTQm5jbUZtWVc0Z2NuVnVkR2x0WlNBcUx5QW1KbHh1SUNBZ0lDQWdJQ0FnSUNGcGMwVjRjSEpsYzNOcGIyNVNaV1psY21WdVkyVW9jWFZsY25rdVpHRjBZWE52ZFhKalpTa3BYRzRnSUNBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnY1hWbGNua3VaR0YwWVhOdmRYSmpaU0E5SUdSekxtZGxkRkpsWmlncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUhGMVpYSjVPMXh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JHOTNaWEpKYm5SbGNuWmhiRXhwYldsMElEMGdiV2x1U1c1MFpYSjJZV3dnUHlCcGJuUmxjbkJ2YkdGMFpTaDBhR2x6TENCdGFXNUpiblJsY25aaGJDa2dPaUJrY3k1cGJuUmxjblpoYkR0Y2JpQWdJQ0JqYjI1emRDQnViM0p0SUQwZ2NtRnVaMlZWZEdsc0xtTmhiR04xYkdGMFpVbHVkR1Z5ZG1Gc0tIUnBiV1ZTWVc1blpTNXpkR0YwWlM1MllXeDFaU3dnY21WeGRXVnpkQzV0WVhoRVlYUmhVRzlwYm5SeklTd2diRzkzWlhKSmJuUmxjblpoYkV4cGJXbDBLVHRjYmx4dUlDQWdJQzh2SUcxaGEyVWdjMmhoYkd4dmR5QmpiM0I1SUc5bUlITmpiM0JsWkNCMllYSnpMRnh1SUNBZ0lDOHZJR0Z1WkNCaFpHUWdZblZwYkhRZ2FXNGdkbUZ5YVdGaWJHVnpJR2x1ZEdWeWRtRnNJR0Z1WkNCcGJuUmxjblpoYkY5dGMxeHVJQ0FnSUhKbGNYVmxjM1F1YzJOdmNHVmtWbUZ5Y3lBOUlFOWlhbVZqZEM1aGMzTnBaMjRvZTMwc0lISmxjWFZsYzNRdWMyTnZjR1ZrVm1GeWN5d2dlMXh1SUNBZ0lDQWdYMTlwYm5SbGNuWmhiRG9nZXlCMFpYaDBPaUJ1YjNKdExtbHVkR1Z5ZG1Gc0xDQjJZV3gxWlRvZ2JtOXliUzVwYm5SbGNuWmhiQ0I5TEZ4dUlDQWdJQ0FnWDE5cGJuUmxjblpoYkY5dGN6b2dleUIwWlhoME9pQnViM0p0TG1sdWRHVnlkbUZzVFhNdWRHOVRkSEpwYm1jb0tTd2dkbUZzZFdVNklHNXZjbTB1YVc1MFpYSjJZV3hOY3lCOUxGeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ2NtVnhkV1Z6ZEM1cGJuUmxjblpoYkNBOUlHNXZjbTB1YVc1MFpYSjJZV3c3WEc0Z0lDQWdjbVZ4ZFdWemRDNXBiblJsY25aaGJFMXpJRDBnYm05eWJTNXBiblJsY25aaGJFMXpPMXh1WEc0Z0lDQWdMeThnU1dZZ2RHaGxjbVVnWVhKbElHRnVlU0JsZUhSeVlTQnlaWEYxWlhOMElIQnliM1pwWkdWeWN5d2dkMlVnYm1WbFpDQjBieUJoWkdRZ1lTQnVaWGNnY21WeGRXVnpkQ0JtYjNJZ1pXRmphRnh1SUNBZ0lDOHZJR0Z1WkNCdFlYQWdkR2hsSUhKbGNYVmxjM1FuY3lCSlJDQjBieUIwYUdVZ2NISnZZMlZ6YzI5eUlHWjFibU4wYVc5dUlHZHBkbVZ1SUdKNUlIUm9aU0J3Y205MmFXUmxjaXdnZEc4Z1pXNXpkWEpsSUhSb1lYUmNiaUFnSUNBdkx5QjBhR1VnY0hKdlkyVnpjMjl5SUdseklHTmhiR3hsWkNCM2FYUm9JSFJvWlNCamIzSnlaV04wSUhKbGMzQnZibk5sSUdSaGRHRXVYRzRnSUNBZ1kyOXVjM1FnY0hKcGJXRnllVlJwYldWU1lXNW5aU0E5SUhScGJXVlNZVzVuWlM1emRHRjBaUzUyWVd4MVpUdGNiaUFnSUNCc1pYUWdjMlZqYjI1a1lYSjVVbVZ4ZFdWemRITTZJRVJoZEdGUmRXVnllVkpsY1hWbGMzUmJYU0E5SUZ0ZE8xeHVJQ0FnSUd4bGRDQnpaV052Ym1SaGNubFFjbTlqWlhOemIzSnpJRDBnYm1WM0lFMWhjQ2dwTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnY0hKdmRtbGtaWElnYjJZZ2RHaHBjeTVuWlhSRGJHOXpaWE4wUlhoMGNtRlJkV1Z5ZVZCeWIzWnBaR1Z5Y3lncElEOC9JRnRkS1NCN1hHNGdJQ0FnSUNCbWIzSWdLR052Ym5OMElIc2djbVZ4TENCd2NtOWpaWE56YjNJZ2ZTQnZaaUJ3Y205MmFXUmxjaTVuWlhSRmVIUnlZVkYxWlhKcFpYTW9jbVZ4ZFdWemRDa3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdjbVZ4ZFdWemRFbGtJRDBnWjJWMFRtVjRkRkpsY1hWbGMzUkpaQ2dwTzF4dUlDQWdJQ0FnSUNCelpXTnZibVJoY25sU1pYRjFaWE4wY3k1d2RYTm9LSHNnTGk0dWNtVnhMQ0J5WlhGMVpYTjBTV1FnZlNrN1hHNGdJQ0FnSUNBZ0lITmxZMjl1WkdGeWVWQnliMk5sYzNOdmNuTXVjMlYwS0hKbGNYVmxjM1JKWkN3Z2NISnZZMlZ6YzI5eUlEOC9JSEJoYzNOMGFISnZkV2RvVUhKdlkyVnpjMjl5S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVZ4ZFdWemRDNXlZVzVuWlNBOUlIQnlhVzFoY25sVWFXMWxVbUZ1WjJVN1hHNGdJQ0FnY21WMGRYSnVJSHNnY0hKcGJXRnllVG9nY21WeGRXVnpkQ3dnYzJWamIyNWtZWEpwWlhNNklITmxZMjl1WkdGeWVWSmxjWFZsYzNSekxDQndjbTlqWlhOemIzSnpPaUJ6WldOdmJtUmhjbmxRY205alpYTnpiM0p6SUgwN1hHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElHOXVSR0YwWVZKbFkyVnBkbVZrSUQwZ0tHUmhkR0U2SUZCaGJtVnNSR0YwWVNrZ1BUNGdlMXh1SUNBZ0lDOHZJRmRwYkd3Z1kyOXRZbWx1WlNCaGJtNXZkR0YwYVc5dWN5Qm1jbTl0SUZOUlVpQnhkV1Z5YVdWeklDaG1jbUZ0WlhNZ2QybDBhQ0J0WlhSaExtUmhkR0ZVYjNCcFl5QTlQVDBnUkdGMFlWUnZjR2xqTGtGdWJtOTBZWFJwYjI1ektWeHVJQ0FnSUdOdmJuTjBJSEJ5WlZCeWIyTmxjM05sWkVSaGRHRWdQU0J3Y21WUWNtOWpaWE56VUdGdVpXeEVZWFJoS0dSaGRHRXNJSFJvYVhNdWMzUmhkR1V1WkdGMFlTazdYRzVjYmlBZ0lDQXZMeUJUWVhabElIRjFaWEo1SUdGdWJtOTBZWFJwYjI1elhHNGdJQ0FnZEdocGN5NWZjbVZ6ZFd4MFFXNXViM1JoZEdsdmJuTWdQU0JrWVhSaExtRnVibTkwWVhScGIyNXpPMXh1WEc0Z0lDQWdMeThnVjJsc2JDQmpiMjFpYVc1bElHRnVibTkwWVhScGIyNXpJQ1lnWVd4bGNuUWdjM1JoZEdVZ1puSnZiU0JrWVhSaElHeGhlV1Z5SUhCeWIzWnBaR1Z5YzF4dUlDQWdJR052Ym5OMElHUmhkR0ZYYVhSb1RHRjVaWEp6UVhCd2JHbGxaQ0E5SUhSb2FYTXVYMk52YldKcGJtVkVZWFJoVEdGNVpYSnpLSEJ5WlZCeWIyTmxjM05sWkVSaGRHRXBPMXh1WEc0Z0lDQWdiR1YwSUdoaGMwWmxkR05vWldSRVlYUmhJRDBnZEdocGN5NXpkR0YwWlM1ZmFHRnpSbVYwWTJobFpFUmhkR0U3WEc1Y2JpQWdJQ0JwWmlBb0lXaGhjMFpsZEdOb1pXUkVZWFJoSUNZbUlIQnlaVkJ5YjJObGMzTmxaRVJoZEdFdWMzUmhkR1VnSVQwOUlFeHZZV1JwYm1kVGRHRjBaUzVNYjJGa2FXNW5LU0I3WEc0Z0lDQWdJQ0JvWVhOR1pYUmphR1ZrUkdGMFlTQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdJR1JoZEdFNklHUmhkR0ZYYVhSb1RHRjVaWEp6UVhCd2JHbGxaQ3dnWDJoaGMwWmxkR05vWldSRVlYUmhPaUJvWVhOR1pYUmphR1ZrUkdGMFlTQjlLVHRjYmlBZ0lDQjBhR2x6TGw5eVpYTjFiSFJ6TG01bGVIUW9leUJ2Y21sbmFXNDZJSFJvYVhNc0lHUmhkR0U2SUdSaGRHRlhhWFJvVEdGNVpYSnpRWEJ3YkdsbFpDQjlLVHRjYmlBZ2ZUdGNibHh1SUNCd2NtbDJZWFJsSUY5amIyMWlhVzVsUkdGMFlVeGhlV1Z5Y3loa1lYUmhPaUJRWVc1bGJFUmhkR0VwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmYkdGNVpYSkJibTV2ZEdGMGFXOXVjeUFtSmlCMGFHbHpMbDlzWVhsbGNrRnVibTkwWVhScGIyNXpMbXhsYm1kMGFDQStJREFwSUh0Y2JpQWdJQ0FnSUdSaGRHRXVZVzV1YjNSaGRHbHZibk1nUFNBb1pHRjBZUzVoYm01dmRHRjBhVzl1Y3lCOGZDQmJYU2t1WTI5dVkyRjBLSFJvYVhNdVgyeGhlV1Z5UVc1dWIzUmhkR2x2Ym5NcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG5OMFlYUmxMbVJoZEdFZ0ppWWdkR2hwY3k1emRHRjBaUzVrWVhSaExtRnNaWEowVTNSaGRHVXBJSHRjYmlBZ0lDQWdJR1JoZEdFdVlXeGxjblJUZEdGMFpTQTlJSFJvYVhNdWMzUmhkR1V1WkdGMFlTNWhiR1Z5ZEZOMFlYUmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCa1lYUmhPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JmYzJWMFRtOUVZWFJoVTNSaGRHVW9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVjM1JoZEdVdVpHRjBZU0FoUFQwZ1pXMXdkSGxRWVc1bGJFUmhkR0VwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVjMlYwVTNSaGRHVW9leUJrWVhSaE9pQmxiWEIwZVZCaGJtVnNSR0YwWVNCOUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dWMkZzYXlCMWNDQjBhR1VnYzJObGJtVWdaM0poY0dnZ1lXNWtJR1pwYm1RZ1lXNTVJRVY0ZEhKaFVYVmxjbmxRY205MmFXUmxjbk11WEc0Z0lDQXFYRzRnSUNBcUlGUm9hWE1nZDJsc2JDQnlaWFIxY200Z1lXNGdZWEp5WVhrZ2IyWWdkR2hsSUdOc2IzTmxjM1FnY0hKdmRtbGtaWElnYjJZZ1pXRmphQ0IwZVhCbExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQm5aWFJEYkc5elpYTjBSWGgwY21GUmRXVnllVkJ5YjNacFpHVnljeWdwT2lCQmNuSmhlVHhGZUhSeVlWRjFaWEo1VUhKdmRtbGtaWEk4WVc1NVBqNGdlMXh1SUNBZ0lDOHZJRTFoYVc1MFlXbHVJR0VnYldGd0lHWnliMjBnY0hKdmRtbGtaWElnWTI5dWMzUnlkV04wYjNJZ2RHOGdjSEp2ZG1sa1pYSWdiMkpxWldOMExpQlVhR1VnWTI5dWMzUnlkV04wYjNKY2JpQWdJQ0F2THlCcGN5QjFjMlZrSUdGeklHRWdkVzVwY1hWbElHdGxlU0JtYjNJZ1pXRmphQ0JqYkdGemN5d2dkRzhnWlc1emRYSmxJSGRsSUdoaGRtVWdibThnYlc5eVpTQjBhR0Z1SUc5dVpWeHVJQ0FnSUM4dklIUjVjR1VnYjJZZ1pXRmphQ0IwZVhCbElHOW1JSEJ5YjNacFpHVnlMbHh1SUNBZ0lHTnZibk4wSUdadmRXNWtJRDBnYm1WM0lFMWhjQ2dwTzF4dUlDQWdJR2xtSUNnaGRHaHBjeTV3WVhKbGJuUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmJYVHRjYmlBZ0lDQjlYRzRnSUNBZ1oyVjBRMnh2YzJWemRDaDBhR2x6TG5CaGNtVnVkQ3dnS0hNcElEMCtJSHRjYmlBZ0lDQWdJR2xtSUNocGMwVjRkSEpoVVhWbGNubFFjbTkyYVdSbGNpaHpLU0FtSmlBaFptOTFibVF1YUdGektITXVZMjl1YzNSeWRXTjBiM0lwS1NCN1hHNGdJQ0FnSUNBZ0lHWnZkVzVrTG5ObGRDaHpMbU52Ym5OMGNuVmpkRzl5TENCektUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lITXVabTl5UldGamFFTm9hV3hrS0NoamFHbHNaQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVhORmVIUnlZVkYxWlhKNVVISnZkbWxrWlhJb1kyaHBiR1FwSUNZbUlDRm1iM1Z1WkM1b1lYTW9ZMmhwYkdRdVkyOXVjM1J5ZFdOMGIzSXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1ptOTFibVF1YzJWMEtHTm9hV3hrTG1OdmJuTjBjblZqZEc5eUxDQmphR2xzWkNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdMeThnUVd4M1lYbHpJSEpsZEhWeWJpQnVkV3hzSUhOdklIUm9ZWFFnZEdobElITmxZWEpqYUNCamIyNTBhVzUxWlhNZ2RHOGdkR2hsSUhSdmNDQnZabHh1SUNBZ0lDQWdMeThnZEdobElITmpaVzVsSUdkeVlYQm9MbHh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdjbVYwZFhKdUlFRnljbUY1TG1aeWIyMG9abTkxYm1RdWRtRnNkV1Z6S0NrcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRmRoYkdzZ2RYQWdjMk5sYm1VZ1ozSmhjR2dnWVc1a0lHWnBibVFnZEdobElHTnNiM05sYzNRZ1ptbHNkR1Z5YzJWMElIZHBkR2dnYldGMFkyaHBibWNnWkdGMFlTQnpiM1Z5WTJWY2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1ptbHVaRUZ1WkZOMVluTmpjbWxpWlZSdlFXUkliMk5HYVd4MFpYSnpLSFZwWkRvZ2MzUnlhVzVuSUh3Z2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ1kyOXVjM1FnWm1sc2RHVnljMVpoY2lBOUlHWnBibVJCWTNScGRtVkJaRWh2WTBacGJIUmxjbFpoY21saFlteGxRbmxWYVdRb2RXbGtLVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbDloWkdodlkwWnBiSFJsY25OV1lYSWdJVDA5SUdacGJIUmxjbk5XWVhJcElIdGNiaUFnSUNBZ0lIUm9hWE11WDJGa2FHOWpSbWxzZEdWeWMxWmhjaUE5SUdacGJIUmxjbk5XWVhJN1hHNGdJQ0FnSUNCMGFHbHpMbDkxY0dSaGRHVkZlSEJzYVdOcGRGWmhjbWxoWW14bFJHVndaVzVrWlc1amFXVnpLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ1ozSnZkWEJDZVZaaGNpQTlJR1pwYm1SQlkzUnBkbVZIY205MWNFSjVWbUZ5YVdGaWJHVnpRbmxWYVdRb2RXbGtLVHRjYmlBZ0lDQnBaaUFvZEdocGN5NWZaM0p2ZFhCQ2VWWmhjaUFoUFQwZ1ozSnZkWEJDZVZaaGNpa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlozSnZkWEJDZVZaaGNpQTlJR2R5YjNWd1FubFdZWEk3WEc0Z0lDQWdJQ0IwYUdsekxsOTFjR1JoZEdWRmVIQnNhV05wZEZaaGNtbGhZbXhsUkdWd1pXNWtaVzVqYVdWektDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSEpwZG1GMFpTQmZkWEJrWVhSbFJYaHdiR2xqYVhSV1lYSnBZV0pzWlVSbGNHVnVaR1Z1WTJsbGN5Z3BJSHRjYmlBZ0lDQmpiMjV6ZENCbGVIQnNhV05wZEVSbGNHVnVaR1Z1WTJsbGN6b2djM1J5YVc1blcxMGdQU0JiWFR0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TGw5aFpHaHZZMFpwYkhSbGNuTldZWElwSUh0Y2JpQWdJQ0FnSUdWNGNHeHBZMmwwUkdWd1pXNWtaVzVqYVdWekxuQjFjMmdvZEdocGN5NWZZV1JvYjJOR2FXeDBaWEp6Vm1GeUxuTjBZWFJsTG01aGJXVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdsekxsOW5jbTkxY0VKNVZtRnlLU0I3WEc0Z0lDQWdJQ0JsZUhCc2FXTnBkRVJsY0dWdVpHVnVZMmxsY3k1d2RYTm9LSFJvYVhNdVgyZHliM1Z3UW5sV1lYSXVjM1JoZEdVdWJtRnRaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1ZmRtRnlhV0ZpYkdWRVpYQmxibVJsYm1ONUxuTmxkRlpoY21saFlteGxUbUZ0WlhNb1pYaHdiR2xqYVhSRVpYQmxibVJsYm1OcFpYTXBPMXh1SUNCOVhHNWNiaUFnY0hKcGRtRjBaU0JwYzFGMVpYSjVUVzlrWlVGMWRHOG9LVG9nWW05dmJHVmhiaUI3WEc0Z0lDQWdjbVYwZFhKdUlDaDBhR2x6TG5OMFlYUmxMbkoxYmxGMVpYSnBaWE5OYjJSbElEOC9JQ2RoZFhSdkp5a2dQVDA5SUNkaGRYUnZKenRjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWm1sdVpFWnBjbk4wUkdGMFlYTnZkWEpqWlNoMFlYSm5aWFJ6T2lCRVlYUmhVWFZsY25sYlhTazZJRVJoZEdGVGIzVnlZMlZTWldZZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNCeVpYUjFjbTRnZEdGeVoyVjBjeTVtYVc1a0tDaDBLU0E5UGlCMExtUmhkR0Z6YjNWeVkyVWdJVDA5SUc1MWJHd3BQeTVrWVhSaGMyOTFjbU5sSUQ4L0lIVnVaR1ZtYVc1bFpEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1lXeHNSbkpoYldWelJXMXdkSGtvWm5KaGJXVnpQem9nUkdGMFlVWnlZVzFsVzEwcElIdGNiaUFnYVdZZ0tDRm1jbUZ0WlhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWm5KaGJXVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnYVdZZ0tHWnlZVzFsYzF0cFhTNXNaVzVuZEdnZ1BpQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYRzU5WEc0aVhTd2libUZ0WlhNaU9sc2lYMkVpWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEJRVzFFUVN4SlFVRkpMRTlCUVZVc1IwRkJRU3hIUVVGQkxFTkJRVUU3UVVGRlVDeFRRVUZUTEdkQ1FVRnRRaXhIUVVGQk8wRkJRMnBETEVWQlFVRXNUMEZCVHl4TFFVRlJMRWRCUVVFc1QwRkJRU3hGUVVGQkxFTkJRVUU3UVVGRGFrSXNRMEZCUVR0QlFXOUVUeXhOUVVGTkxIbENRVUY1UWl4bFFVRXJSQ3hEUVVGQk8wRkJRVUVzUlVFd1FqVkdMRmxCUVZrc1dVRkJaME1zUlVGQlFUdEJRVU5xUkN4SlFVRkJMRXRCUVVFc1EwRkJUU3haUVVGWkxFTkJRVUVzUTBGQlFUdEJRWGhDY0VJc1NVRkJVU3hKUVVGQkxFTkJRVUVzYVVKQlFVRXNSMEZCYjBJc1NVRkJTU3huUWtGQmFVSXNSVUZCUVN4RFFVRkJPMEZCU1dwRUxFbEJRVkVzU1VGQlFTeERRVUZCTEhOQ1FVRkJMRWRCUVhsQ0xFbEJRVWtzY1VKQlFYTkNMRVZCUVVFc1EwRkJRVHRCUVVNelJDeEpRVUZSTEVsQlFVRXNRMEZCUVN4UlFVRkJMRWRCUVZjc1NVRkJTU3hoUVVGQkxFTkJRWFZETEVOQlFVTXNRMEZCUVN4RFFVRkJPMEZCUXk5RUxFbEJRVUVzU1VGQlFTeERRVUZSTEZkQlFXTXNSMEZCUVN4RlFVRkZMR0ZCUVdVc1JVRkJRU3hwUTBGQlFTeERRVUZyUXl4SlFVRkpMRU5CUVVVc1JVRkJRU3hEUVVGQk8wRkJWeTlGTEVsQlFWVXNTVUZCUVN4RFFVRkJMRzFDUVVGQkxFZEJRV3RGTEVsQlFVa3NkMEpCUVVFc1EwRkJlVUlzU1VGQlRTeEZRVUZCTzBGQlFVRXNUVUZETjBjc1ZVRkJRU3hGUVVGWkxFTkJRVU1zVTBGQlFTeEZRVUZYTEZsQlFWa3NRMEZCUVR0QlFVRkJMRTFCUTNCRExIbENRVUV5UWl4RlFVRkJMRWxCUVVFc1EwRkJTeXd3UWtGQk1rSXNRMEZCUVN4SlFVRkJMRU5CUVVzc1NVRkJTU3hEUVVGQk8wRkJRVUVzVFVGRGNFVXNiMEpCUVhOQ0xFVkJRVUVzU1VGQlFTeERRVUZMTEc5Q1FVRnhRaXhEUVVGQkxFbEJRVUVzUTBGQlN5eEpRVUZKTEVOQlFVRTdRVUZCUVN4TFFVTXhSQ3hEUVVGQkxFTkJRVUU3UVVGMVkwUXNTVUZCVVN4SlFVRkJMRU5CUVVFc1kwRkJRU3hIUVVGcFFpeERRVUZETEVsQlFXOUNMRXRCUVVFN1FVRkZOVU1zVFVGQlFTeE5RVUZOTEdkQ1FVRnRRaXhIUVVGQkxHMUNRVUZCTEVOQlFXOUNMRWxCUVUwc1JVRkJRU3hKUVVGQkxFTkJRVXNzVFVGQlRTeEpRVUZKTEVOQlFVRXNRMEZCUVR0QlFVZHNSU3hOUVVGQkxFbEJRVUVzUTBGQlN5eHhRa0ZCY1VJc1NVRkJTeXhEUVVGQkxGZEJRVUVzUTBGQlFUdEJRVWN2UWl4TlFVRk5MRTFCUVVFc2NVSkJRVUVzUjBGQmQwSXNTVUZCU3l4RFFVRkJMR3RDUVVGQkxFTkJRVzFDTEdkQ1FVRm5RaXhEUVVGQkxFTkJRVUU3UVVGRmRFVXNUVUZCU1N4SlFVRkJMR05CUVVFc1IwRkJhVUlzUzBGQlN5eExRVUZOTEVOQlFVRXNaVUZCUVN4RFFVRkJPMEZCUldoRExFMUJRVUVzU1VGQlNTeERRVUZETEdOQlFVRXNTVUZCYTBJc1owSkJRV2xDTEVOQlFVRXNTMEZCUVN4TFFVRlZMR0ZCUVdFc1QwRkJVeXhGUVVGQk8wRkJRM1JGTEZGQlFXbENMR05CUVVFc1IwRkJRU3hKUVVGQkxFTkJRVUU3UVVGQlFTeFBRVU51UWp0QlFVVkJMRTFCUVVFc1NVRkJRU3hEUVVGTExGTkJRVk1zUlVGQlJTeEpRVUZCTEVWQlFVMHNjVUpCUVhWQ0xFVkJRVUVzWlVGQlFTeEZRVUZwUWl4blFrRkJaMElzUTBGQlFTeERRVUZCTzBGQlF6bEZMRTFCUVVFc1NVRkJRU3hEUVVGTExGTkJRVk1zU1VGQlN5eERRVUZCTEVWQlFVVXNVVUZCVVN4SlFVRk5MRVZCUVVFc1NVRkJRU3hGUVVGTkxIVkNRVUYxUWl4RFFVRkJMRU5CUVVFN1FVRkJRU3hMUVVOc1JTeERRVUZCTzBGQmNHUkZMRWxCUVVFc1NVRkJRU3hEUVVGTExHOUNRVUZ4UWl4RFFVRkJMRTFCUVUwc1NVRkJTeXhEUVVGQkxGZEJRVUVzUlVGQllTeERRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTndSRHRCUVVGQkxFVkJaRThzWjBKQlFXMUNMRWRCUVVFN1FVRkRlRUlzU1VGQlFTeFBRVUZQTEVsQlFVc3NRMEZCUVN4UlFVRkJMRU5CUVVFN1FVRkJRU3hIUVVOa08wRkJRVUVzUlVGalVTeFhRVUZqTEVkQlFVRTdRVUZEY0VJc1NVRkJTU3hKUVVGQkxFbEJRVUVzUTBGQlN5eHBRa0ZCYlVJc1JVRkJRVHRCUVVNeFFpeE5RVUZOTEUxQlFVRXNVMEZCUVN4SFFVRlpMRlZCUVZjc1EwRkJRU3haUVVGQkxFTkJRV0VzU1VGQlNTeERRVUZCTEVOQlFVRTdRVUZKT1VNc1RVRkJUU3hOUVVGQkxGTkJRVUVzUjBGQldTeExRVUZMTERaQ1FVRTRRaXhGUVVGQkxFTkJRVUU3UVVGRGNrUXNUVUZCUVN4TFFVRkJMRTFCUVZjc1dVRkJXU3hUUVVGWExFVkJRVUU3UVVGRGFFTXNVVUZCUVN4SlFVRkJMRU5CUVVzc1MwRkJUU3hEUVVGQkxFZEJRVUU3UVVGQlFTeFZRVU5VTEZGQlFWTXNRMEZCUVN4blFrRkJRU3hEUVVGcFFpeERRVUZETEVOQlFVRXNSVUZCUnl4RFFVRk5MRXRCUVVFN1FVRkRiRU1zV1VGQlFTeEpRVUZKTEZOQlFWTXNWMEZCV1N4RFFVRkJMRU5CUVVFc1JVRkJSeXhIUVVGSExFbEJRVXNzUTBGQlFTeExRVUZCTEVOQlFVMHNUMEZCVHl4RFFVRkhMRVZCUVVFN1FVRkRiRVFzWTBGQlFTeEpRVUZCTEVOQlFVc3NWVUZCVnl4RlFVRkJMRU5CUVVFN1FVRkJRU3hoUVVOc1FqdEJRVUZCTEZkQlEwUXNRMEZCUVR0QlFVRkJMRk5CUTBnc1EwRkJRVHRCUVVGQkxFOUJRMFk3UVVGRlFTeE5RVUZCTEVsQlFVRXNRMEZCU3l3MFFrRkJORUlzVTBGQlV5eERRVUZCTEVOQlFVRTdRVUZGTVVNc1RVRkJTU3hKUVVGQkxFbEJRVUVzUTBGQlN5dzBRa0ZCT0VJc1JVRkJRVHRCUVVOeVF5eFJRVUZCTEVsQlFVRXNRMEZCU3l4VlFVRlhMRVZCUVVFc1EwRkJRVHRCUVVGQkxFOUJRMnhDTzBGQlFVRXNTMEZEUmp0QlFVVkJMRWxCUVVrc1NVRkJRU3hEUVVGRExFdEJRVXNzWTBGQlowSXNSVUZCUVR0QlFVTjRRaXhOUVVGQkxFbEJRVUVzUTBGQlN5eHBRa0ZCYTBJc1JVRkJRU3hEUVVGQk8wRkJRVUVzUzBGRGVrSTdRVUZGUVN4SlFVRlBMRTlCUVVFc1RVRkJUU3hMUVVGTExHRkJRV01zUlVGQlFTeERRVUZCTzBGQlFVRXNSMEZEYkVNN1FVRkJRU3hGUVVkUkxHbENRVUZ2UWl4SFFVRkJPMEZCUXpGQ0xFbEJRVTBzVFVGQlFTeFZRVUZCTEVkQlFXRXNWVUZCVnl4RFFVRkJMR0ZCUVVFc1EwRkJZeXhKUVVGSkxFTkJRVUVzUTBGQlFUdEJRVVZvUkN4SlFVRkpMRWxCUVVFc1ZVRkJRU3hEUVVGWExGZEJRVmNzUTBGQlJ5eEZRVUZCTzBGQlF6TkNMRTFCUVVFc1QwRkJRVHRCUVVGQkxFdEJRMFk3UVVGRlFTeEpRVUZMTEVsQlFVRXNRMEZCUVN4alFVRkJMRWRCUVdsQ0xFbEJRVXNzUTBGQlFTeHBRa0ZCUVN4RFFVTjRRaXhsUVVGblFpeERRVUZCTEZWQlFWVXNRMEZETVVJc1EwRkJRU3hUUVVGQkxFTkJRVlVzU1VGQlN5eERRVUZCTEdsQ1FVRkJMRU5CUVd0Q0xFbEJRVXNzUTBGQlFTeEpRVUZKTEVOQlFVTXNRMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRhRVE3UVVGQlFTeEZRVVZSTEd0Q1FVRnJRaXhQUVVFMFF5eEZRVUZCTzBGQmRreDRSU3hKUVVGQkxFbEJRVUVzUlVGQlFTeEZRVUZCTEVWQlFVRXNSVUZCUVN4RlFVRkJMRVZCUVVFc1JVRkJRU3hGUVVGQkxFVkJRVUVzUTBGQlFUdEJRWGRNU1N4SlFVRk5MRTFCUVVFc1UwRkJRU3hIUVVGWkxGVkJRVmNzUTBGQlFTeFpRVUZCTEVOQlFXRXNTVUZCU1N4RFFVRkJMRU5CUVVFN1FVRkRPVU1zU1VGQlRTeE5RVUZCTEVWQlFVVXNaVUZCWjBJc1JVRkJRU3hIUVVGSkxFbEJRVXNzUTBGQlFTeExRVUZCTEVOQlFVRTdRVUZGYWtNc1NVRkJRU3hKUVVGSkxHTkJRVEpDTEVWQlFVTXNRMEZCUVR0QlFVTm9ReXhKUVVGQkxFbEJRVWtzWTBGQk1rSXNSVUZCUXl4RFFVRkJPMEZCUTJoRExFbEJRVWtzU1VGQlFTeFZRVUZCTEVOQlFVRTdRVUZGU2l4SlFVRkJMRXRCUVVFc1RVRkJWeXhWUVVGVkxFOUJRVk1zUlVGQlFUdEJRVU0xUWl4TlFVRlRMRXRCUVVFc1NVRkJRU3hMUVVGQkxFbEJRVk1zVFVGQlR5eERRVUZCTEVsQlFVRXNRMEZCU3l4TlFVRlJMRVZCUVVFN1FVRkRjRU1zVVVGQlFTeEpRVUZCTEVOQlFVRXNRMEZCU1N4RlFVRk5MRWRCUVVFc1MwRkJRU3hEUVVGQkxFbEJRVUVzUzBGQlRpeEpRVUZaTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGQkxGTkJRVUVzVFVGQll5eFZRVUZWTEZkQlFXRXNSVUZCUVR0QlFVTnVSQ3hWUVVGakxGZEJRVUVzUjBGQlFTeFhRVUZCTEVOQlFWa3NUMEZCVHl4TFFVRkxMRU5CUVVFc1EwRkJRVHRCUVVGQkxGTkJRM2hETzBGQlEwRXNVVUZCUVN4SlFVRkJMRU5CUVVFc1EwRkJTU3hGUVVGTkxFZEJRVUVzUzBGQlFTeERRVUZCTEVsQlFVRXNTMEZCVGl4SlFVRlpMRWRCUVVFc1MwRkJRU3hEUVVGQkxFZEJRVUVzUlVGQlFTeERRVUZCTEZOQlFVRXNUVUZCWXl4VlFVRlZMRmRCUVdFc1JVRkJRVHRCUVVOdVJDeFZRVUZqTEZkQlFVRXNSMEZCUVN4WFFVRkJMRU5CUVZrc1QwRkJUeXhMUVVGTExFTkJRVUVzUTBGQlFUdEJRVUZCTEZOQlEzaERPMEZCUVVFc1QwRkRSanRCUVVGQkxFdEJRMFk3UVVGRlFTeEpRVUZCTEVsQlFVa3NiVVJCUVdsQ0xFOUJRVk1zUlVGQlFUdEJRVU0xUWl4TlFVRkpMRWxCUVVFc1YwRkJRU3hEUVVGWkxGTkJRVk1zUTBGQlJ5eEZRVUZCTzBGQlF6RkNMRkZCUVdNc1YwRkJRU3hIUVVGQkxHbENRVUZCTEVOQlFXdENMR0ZCUVdFc1pVRkJaU3hEUVVGQkxFTkJRVUU3UVVGQlFTeFBRVU01UkR0QlFVVkJMRTFCUVVrc1NVRkJRU3hYUVVGQkxFTkJRVmtzVTBGQlV5eERRVUZITEVWQlFVRTdRVUZETVVJc1VVRkJRU3hMUVVGQkxFMUJRVmNzVTBGQlV5eFhRVUZoTEVWQlFVRTdRVUZETDBJc1ZVRkJUU3hOUVVGQkxGTkJRVUVzUjBGQldTeEpRVUZKTEdGQlFVRXNRMEZCT0VJc1MwRkJTeXhEUVVGQkxFTkJRVUU3UVVGRmVrUXNWVUZCUVN4TFFVRkJMRTFCUVZjc1QwRkJUeXhUUVVGWExFVkJRVUU3UVVGRE0wSXNXVUZCU1N4SlFVRkJMRWRCUVVFc1EwRkJTU3hQUVVGWkxFdEJRVUVzWlVGQlFTeERRVUZuUWl4UFFVRlRMRVZCUVVFN1FVRkRNME1zWTBGQllTeFZRVUZCTEVkQlFVRXNSMEZCUVN4RFFVRkJPMEZCUTJJc1kwRkJRU3hOUVVGQk8wRkJRVUVzWVVGRFJqdEJRVUZCTEZkQlEwWTdRVUZCUVN4VFFVTkdPMEZCUVVFc1QwRkRSanRCUVVGQkxFdEJRMFk3UVVGSFFTeEpRVUZCTEVsQlEwVXNZMEZCWlN4RFFVRkJMRmRCUVZjc1EwRkRNVUlzU1VGQlFTeGpRVUZCTEVOQlFXVXNTMEZCU3l4cFFrRkJhVUlzUTBGQlFTeEpRVU55UXl4UFFVRlJMRU5CUVVFc1ZVRkJRU3hGUVVGQkxFTkJRVmtzUlVGQlN5eEhRVUZCTEVsQlFVRXNRMEZCUVN4TFFVRkJMRU5CUVUwc1NVRkJXQ3hMUVVGQkxFbEJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVdsQ0xGVkJRVlVzUTBGREwwTXNSVUZCUVR0QlFVTkJMRTFCUVVFc1QwRkJRVHRCUVVGQkxFdEJRMFk3UVVGRlFTeEpRVUZCTEVsQlFVRXNRMEZCU3l4cFFrRkJiMElzUjBGQlFTeFhRVUZCTEVOQlFVRTdRVUZGZWtJc1NVRkJRU3hOUVVGTkxHVkJRV3RDTEVkQlFVRXNTVUZCUVN4RFFVRkxMRXRCUVUwc1EwRkJRU3hKUVVGQkxFZEJRVThzU1VGQlN5eERRVUZCTEV0QlFVRXNRMEZCVFN4SlFVRlBMRWRCUVVFc1lVRkJRU3hEUVVGQkxHTkJRVUVzUTBGQlFTeEZRVUZCTEVWQlFVc3NZMEZCVEN4RFFVRkJMRVZCUVVFc1JVRkJjVUlzVTBGQlZ5eEZRVUZCTEZOQlFVRXNRMEZCVlN4TlFVRk5MRXRCUVUwc1JVRkJRU3hEUVVGQkxFTkJRVUU3UVVGRmJFZ3NTVUZCUVN4SlFVRkJMRU5CUVVzc1VVRkJVeXhEUVVGQk8wRkJRVUVzVFVGRFdpeEpRVUZCTEVWQlFVMHNhVU5CUTBRc1pVRkVReXhEUVVGQkxFVkJRVUU3UVVGQlFTeFJRVVZLTEZkQlFVRXNSVUZCWVN4RFFVRkRMRWRCUVVrc1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlFTeERRVUZMTEhWQ1FVRk1MRWxCUVRKQ0xFZEJRVUVzUlVGQlFTeEhRVUZCTEVWQlFVc3NSVUZCUVN4SFFVRkhMRmRCUVZjc1EwRkJRVHRCUVVGQkxGRkJRMmhGTEZWQlFWa3NSVUZCUVN4VlFVRkJMRWxCUVVFc1NVRkJRU3hIUVVGQkxGVkJRVUVzUjBGQlFTeERRVUZqTEVWQlFVc3NSMEZCUVN4SlFVRkJMRU5CUVVFc1MwRkJRU3hEUVVGTkxGTkJRVmdzU1VGQmFVSXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRU3hGUVVGQkxFTkJRVUVzVlVGQlFUdEJRVUZCTEU5QlF6ZERMRU5CUVVFN1FVRkJRU3hMUVVORUxFTkJRVUVzUTBGQlFUdEJRVUZCTEVkQlEwZzdRVUZCUVN4RlFXVlJMREJDUVVFMlFpeEhRVUZCTzBGQlEyNURMRWxCUVVrc1NVRkJRU3hKUVVGQkxFTkJRVXNzYVVKQlFXMUNMRVZCUVVFN1FVRkRNVUlzVFVGQlFTeEpRVUZCTEVOQlFVc3NWVUZCVnl4RlFVRkJMRU5CUVVFN1FVRkJRU3hMUVVOc1FqdEJRVUZCTEVkQlEwWTdRVUZCUVN4RlFVdFJMSEZDUVVGeFFpeFJRVUY1UWl4RlFVRkJPMEZCUlhCRUxFbEJRVWtzU1VGQlFTeEpRVUZCTEVOQlFVc3NjVUpCUVhGQ0xGRkJRVmtzU1VGQlFTeEpRVUZCTEVOQlFVc3NaMEpCUVdkQ0xGRkJRVmtzU1VGQlFTeERRVUZETEVsQlFVc3NRMEZCUVN4bFFVRkJMRVZCUVcxQ0xFVkJRVUU3UVVGRGJFY3NUVUZCUVN4UFFVRkJPMEZCUVVFc1MwRkRSanRCUVVWQkxFbEJRVUVzU1VGQlNTeFJRVUZ2UWl4WlFVRkJMRzlDUVVGQkxFbEJRWGRDTEVsQlFVc3NRMEZCUVN4MVFrRkJRU3hEUVVGM1FpeFJRVUZSTEVOQlFVY3NSVUZCUVR0QlFVTjBSaXhOUVVGQkxFbEJRVUVzUTBGQlN5eFZRVUZYTEVWQlFVRXNRMEZCUVR0QlFVRkJMRXRCUTJ4Q08wRkJSVUVzU1VGQlFTeEpRVUZKTEZGQlFXOUNMRmxCUVVFc1pVRkJRU3hKUVVGdFFpeEpRVUZMTEVOQlFVRXNkVUpCUVVFc1EwRkJkMElzVVVGQlVTeERRVUZITEVWQlFVRTdRVUZEYWtZc1RVRkJRU3hKUVVGQkxFTkJRVXNzVlVGQlZ5eEZRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTnNRanRCUVVGQkxFZEJRMFk3UVVGQlFTeEZRVVZSTEhkQ1FVRjNRaXhSUVVGclJDeEZRVUZCTzBGQmVGSndSaXhKUVVGQkxFbEJRVUVzUlVGQlFTeEZRVUZCTEVWQlFVRXNRMEZCUVR0QlFYbFNTU3hKUVVGTkxFMUJRVUVzVlVGQlFTeEhRVUZCTEVOQlFXRXNWVUZCU3l4TFFVRk5MRU5CUVVFc1ZVRkJRU3hMUVVGWUxGbEJRWGxDTEcxQ1FVRnZRaXhEUVVGQkxFbEJRVUVzUTBGQlN5eE5RVUZOTEU5QlFVOHNRMEZCUVN4RFFVRkJPMEZCUTJ4R0xFbEJRVThzVDBGQlFTeFJRVUZCTEVOQlFWTXNUVUZCVFN4VFFVRmpMRXRCUVVFc1RVRkJRU3hKUVVGQkxFTkJRVlVzZVVOQlFWa3NSMEZCVVN4UFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxGRkJRVUVzUTBGQlV5eExRVUZOTEVOQlFVRXNWVUZCUVN4TFFVRm1MRWxCUVRKQ0xFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkJMRWRCUVVFc1EwRkJRU3hEUVVGQk8wRkJRVUVzUjBGREwwWTdRVUZCUVN4RlFVVlJMREJDUVVFMlFpeEhRVUZCTzBGQlEyNURMRWxCUVVFc1NVRkJTU3hKUVVGTExFTkJRVUVzYzBKQlFVRXNRMEZCZFVJc2MwSkJRWFZDTEVOQlFVRXNTVUZCU1N4RFFVRkhMRVZCUVVFN1FVRkROVVFzVFVGQlFTeGhRVUZCTzBGQlFVRXNVVUZEUlN4clFrRkJRVHRCUVVGQkxGRkJRMEVzY1VaQlFVRTdRVUZCUVN4UFFVTkdMRU5CUVVFN1FVRkRRU3hOUVVGUExFOUJRVUVzU1VGQlFTeERRVUZCTzBGQlFVRXNTMEZEVkR0QlFVZEJMRWxCUVVrc1NVRkJRU3hEUVVGRExFbEJRVXNzUTBGQlFTeExRVUZCTEVOQlFVMHNTVUZCVFN4RlFVRkJPMEZCUTNCQ0xFMUJRVThzVDBGQlFTeEpRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTlVPMEZCUjBFc1NVRkJRU3hKUVVGSkxFbEJRVXNzUTBGQlFTeHhRa0ZCUVN4RFFVRnpRaXhKUVVGTExFTkJRVUVzUzBGQlFTeERRVUZOTEVsQlFVa3NRMEZCUnl4RlFVRkJPMEZCUXk5RExFMUJRVThzVDBGQlFTeEpRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTlVPMEZCUlVFc1NVRkJUeXhQUVVGQkxFdEJRVUVzUTBGQlFUdEJRVUZCTEVkQlExUTdRVUZCUVN4RlFVVlJMSE5DUVVGelFpeEpRVUZwUWl4RlFVRkJPMEZCUXpkRExFbEJRVTBzVFVGQlFTeFRRVUZCTEVkQlFWa3NWVUZCVnl4RFFVRkJMRmxCUVVFc1EwRkJZU3hKUVVGSkxFTkJRVUVzUTBGQlFUdEJRVVU1UXl4SlFVRk5MRTFCUVVFc1kwRkJRU3hIUVVGcFFpeFZRVUZWTEV0QlFVMHNRMEZCUVN4TFFVRkJMRU5CUVVFN1FVRkRka01zU1VGQlFTeE5RVUZOTEdkQ1FVRm5RaXhKUVVGTExFTkJRVUVzVTBGQlFTeERRVUZCTzBGQlJUTkNMRWxCUVVFc1NVRkRSU3hqUVVGbExFTkJRVUVzU1VGQlFTeERRVUZMTEVsQlFVc3NSVUZCUVN4TFFVRk5MR05CUVdNc1NVRkJTeXhEUVVGQkxFbEJRVUVzUlVGRGJFUXNTVUZCUVN4alFVRkJMRU5CUVdVc1IwRkJSeXhKUVVGTExFVkJRVUVzUzBGQlRTeGhRVUZqTEVOQlFVRXNSVUZCUVN4RFFVRkhMRTFCUXpsRExFVkJRVUU3UVVGRFFTeE5RVUZQTEU5QlFVRXNTMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkRWRHRCUVVOQkxFbEJRVUVzWVVGQlFTeERRVUZqTEc5Q1FVRnZRaXd3UWtGQk1FSXNRMEZCUVN4RFFVRkJPMEZCUXpWRUxFbEJRVThzVDBGQlFTeEpRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTlVPMEZCUVVFc1JVRkZVU3hoUVVGelFpeEhRVUZCTzBGQmJsVm9ReXhKUVVGQkxFbEJRVUVzUlVGQlFTeERRVUZCTzBGQmIxVkpMRWxCUVVFc1NVRkJTU3hMUVVGTExGTkJRVmNzUlVGQlFUdEJRVU5zUWl4TlFVRkJMRWxCUVVFc1EwRkJTeXhWUVVGVkxGZEJRVmtzUlVGQlFTeERRVUZCTzBGQlF6TkNMRTFCUVVFc1NVRkJRU3hEUVVGTExGTkJRVmtzUjBGQlFTeExRVUZCTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUTI1Q08wRkJSVUVzU1VGQlFTeEpRVUZKTEV0QlFVc3NZMEZCWjBJc1JVRkJRVHRCUVVOMlFpeE5RVUZCTEVsQlFVRXNRMEZCU3l4bFFVRmxMRmRCUVZrc1JVRkJRU3hEUVVGQk8wRkJRMmhETEUxQlFVRXNTVUZCUVN4RFFVRkxMR05CUVdsQ0xFZEJRVUVzUzBGQlFTeERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTjRRanRCUVVWQkxFbEJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCUVN4RFFVRkxMR0ZCUVV3c1NVRkJaU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEVWQlFVRXNRMEZCUVN4WFFVRkJMRVZCUVVFc1EwRkJRVHRCUVVObUxFbEJRVUVzU1VGQlFTeERRVUZMTEZGQlFWY3NSMEZCUVN4TFFVRkJMRU5CUVVFc1EwRkJRVHRCUVVOb1FpeEpRVUZCTEVsQlFVRXNRMEZCU3l4aFFVRm5RaXhIUVVGQkxFdEJRVUVzUTBGQlFTeERRVUZCTzBGQlEzSkNMRWxCUVVFc1NVRkJRU3hEUVVGTExHZENRVUZ0UWl4SFFVRkJMRXRCUVVFc1EwRkJRU3hEUVVGQk8wRkJRM2hDTEVsQlFVRXNTVUZCUVN4RFFVRkxMRmRCUVdNc1IwRkJRU3hMUVVGQkxFTkJRVUVzUTBGQlFUdEJRVU51UWl4SlFVRkxMRWxCUVVFc1EwRkJRU3h6UWtGQlFTeERRVUYxUWl3MFEwRkJORU1zU1VGQlNTeERRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTTVSVHRCUVVGQkxFVkJSVThzYTBKQlFXdENMRXRCUVdVc1JVRkJRVHRCUVVWMFF5eEpRVUZCTEVsQlFVa3NRMEZCUXl4SlFVRkJMRU5CUVVzc1pVRkJiVUlzU1VGQlFTeExRVUZCTEVkQlFWRXNRMEZCUnl4RlFVRkJPMEZCUTNSRExFMUJRVUVzU1VGQlFTeERRVUZMTEdWQlFXdENMRWRCUVVFc1MwRkJRU3hEUVVGQk8wRkJSM1pDTEUxQlFVRXNTVUZCU1N4TFFVRkxMRXRCUVUwc1EwRkJRU3h6UWtGQlFTeEpRVUV3UWl4RFFVRkRMRWxCUVVFc1EwRkJTeXhOUVVGTkxHRkJRV1VzUlVGQlFUdEJRVVZzUlN4UlFVRkJMRlZCUVVFc1EwRkJWeXhOUVVGTk8wRkJRMllzVlVGQlFTeEpRVUZKTEVsQlFVc3NRMEZCUVN4UlFVRkJMRWxCUVZrc1EwRkJReXhKUVVGQkxFTkJRVXNzVFVGQlRTeGxRVUZwUWl4RlFVRkJPMEZCUTJoRUxGbEJRVUVzU1VGQlFTeERRVUZMTEZWQlFWY3NSVUZCUVN4RFFVRkJPMEZCUVVFc1YwRkRiRUk3UVVGQlFTeFhRVU5ETEVOQlFVTXNRMEZCUVN4RFFVRkJPMEZCUVVFc1QwRkRUanRCUVVGQkxFdEJRMHNzVFVGQlFUdEJRVVZNTEUxQlFVRXNTVUZCU1N4UlFVRlJMRU5CUVVjc1JVRkJRVHRCUVVOaUxGRkJRVUVzU1VGQlFTeERRVUZMTEdWQlFXdENMRWRCUVVFc1MwRkJRU3hEUVVGQk8wRkJRVUVzVDBGRGVrSTdRVUZCUVN4TFFVTkdPMEZCUVVFc1IwRkRSanRCUVVGQkxFVkJSVThzYjBKQlFYVkNMRWRCUVVFN1FVRkROVUlzU1VGQlR5eFBRVUZCTEU5QlFVRXNRMEZCVVN4SlFVRkxMRU5CUVVFc1MwRkJRU3hEUVVGTkxHVkJRV1VzUTBGQlFTeERRVUZCTzBGQlFVRXNSMEZETTBNN1FVRkJRU3hGUVVWUkxEUkNRVUUwUWl4VFFVRXJRaXhGUVVGQk8wRkJRMnBGTEVsQlFVa3NTVUZCUVN4SlFVRkJMRU5CUVVzc2EwSkJRV3RDTEZOQlFWY3NSVUZCUVR0QlFVVndReXhOUVVGQkxFOUJRVUU3UVVGQlFTeExRVU5HTzBGQlJVRXNTVUZCUVN4SlFVRkpMRXRCUVVzc1VVRkJWU3hGUVVGQk8wRkJRMnBDTEUxQlFVRXNTVUZCUVN4RFFVRkxMRk5CUVZNc1YwRkJXU3hGUVVGQkxFTkJRVUU3UVVGQlFTeExRVU0xUWp0QlFVVkJMRWxCUVVFc1NVRkJRU3hEUVVGTExHRkJRV2RDTEVkQlFVRXNVMEZCUVN4RFFVRkJPMEZCUTNKQ0xFbEJRVXNzU1VGQlFTeERRVUZCTEZGQlFVRXNSMEZCVnl4VFFVRlZMRU5CUVVFc1owSkJRVUVzUTBGQmFVSXNUVUZCVFR0QlFVTXZReXhOUVVGQkxFbEJRVUVzUTBGQlN5eHBRa0ZCYVVJc1UwRkJVeXhEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU5vUXl4RFFVRkJMRU5CUVVFN1FVRkJRU3hIUVVOSU8wRkJRVUVzUlVGRlR5eFZRVUZoTEVkQlFVRTdRVUZEYkVJc1NVRkJUU3hOUVVGQkxGTkJRVUVzUjBGQldTeFZRVUZYTEVOQlFVRXNXVUZCUVN4RFFVRmhMRWxCUVVrc1EwRkJRU3hEUVVGQk8wRkJRemxETEVsQlFVa3NTVUZCUVN4SlFVRkJMRU5CUVVzc2FVSkJRVzFDTEVWQlFVRTdRVUZETVVJc1RVRkJRU3hKUVVGQkxFTkJRVXNzTkVKQlFUUkNMRk5CUVZNc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGRE5VTTdRVUZGUVN4SlFVRkJMRWxCUVVFc1EwRkJTeXhwUWtGQmFVSXNVMEZCVXl4RFFVRkJMRU5CUVVFN1FVRkJRU3hIUVVOcVF6dEJRVUZCTEVWQlJWRXNaMEpCUVcxQ0xFZEJRVUU3UVVGNldUZENMRWxCUVVFc1NVRkJRU3hGUVVGQkxFTkJRVUU3UVVFd1dVa3NTVUZCU1N4SlFVRkJMRWxCUVVFc1EwRkJTeXhOUVVGTkxHRkJRV1VzUlVGQlFUdEJRVU0xUWl4TlFVRkJMRTlCUVU4c1MwRkJTeXhMUVVGTkxFTkJRVUVzWVVGQlFTeERRVUZCTzBGQlFVRXNTMEZEY0VJN1FVRkZRU3hKUVVGQkxFOUJRVThzUzBGQlN5eExRVUZOTEVOQlFVRXNjMEpCUVVFc1IwRkJRU3hEUVVGNVFpeEZRVUZMTEVkQlFVRXNTVUZCUVN4RFFVRkJMR1ZCUVVFc1MwRkJUQ3haUVVGM1FpeEhRVUZOTEVkQlFVRXNSMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRNMFU3UVVGQlFTeEZRVVZQTEZkQlFXTXNSMEZCUVR0QlFXcGFka0lzU1VGQlFTeEpRVUZCTEVWQlFVRXNRMEZCUVR0QlFXdGFTU3hKUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVRXNRMEZCU3l4alFVRk1MRWxCUVdkQ0xFZEJRVUVzUzBGQlFTeERRVUZCTEVkQlFVRXNSVUZCUVN4RFFVRkJMRmRCUVVFc1JVRkJRU3hEUVVGQk8wRkJSV2hDTEVsQlFVRXNTVUZCU1N4TFFVRkxMR05CUVdkQ0xFVkJRVUU3UVVGRGRrSXNUVUZCUVN4SlFVRkJMRU5CUVVzc1pVRkJaU3hYUVVGWkxFVkJRVUVzUTBGQlFUdEJRVU5vUXl4TlFVRkJMRWxCUVVFc1EwRkJTeXhqUVVGcFFpeEhRVUZCTEV0QlFVRXNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkRlRUk3UVVGRlFTeEpRVUZCTEVsQlFVRXNRMEZCU3l4UlFVRlRMRU5CUVVFN1FVRkJRU3hOUVVOYUxFbEJRVUVzUlVGQlRTeHBRMEZCU3l4SlFVRkxMRU5CUVVFc1MwRkJRU3hEUVVGTkxFOUJRV2hDTEVWQlFYVkNMRXRCUVVFc1JVRkJUeXhoUVVGaExFbEJRVXNzUlVGQlFTeERRVUZCTzBGQlFVRXNTMEZEZGtRc1EwRkJRU3hEUVVGQk8wRkJRVUVzUjBGRFNEdEJRVUZCTEVWQlJVRXNUVUZCWXl4cFFrRkJhVUlzVTBGQkswSXNSVUZCUVR0QlFUbGFhRVVzU1VGQlFTeEpRVUZCTEVWQlFVRXNSVUZCUVN4RlFVRkJMRVZCUVVFc1JVRkJRU3hEUVVGQk8wRkJaMkZKTEVsQlFVa3NTVUZCUVN4RFFVRkRMRXRCUVVzc1MwRkJUU3hEUVVGQkxHRkJRVUVzU1VGQmFVSXNTMEZCU3l4TFFVRk5MRU5CUVVFc2MwSkJRVUVzU1VGQk1FSXNRMEZCUXl4SlFVRkJMRU5CUVVzc1pVRkJhVUlzUlVGQlFUdEJRVU16Uml4TlFVRkJMRTlCUVVFN1FVRkJRU3hMUVVOR08wRkJSMEVzU1VGQlNTeEpRVUZCTEVOQlFVTXNTMEZCU3l4alFVRm5RaXhGUVVGQk8wRkJRM2hDTEUxQlFVRXNTVUZCUVN4RFFVRkxMR2xDUVVGclFpeEZRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTjZRanRCUVVkQkxFbEJRVUVzUTBGQlFTeEZRVUZCTEVkQlFVRXNTVUZCUVN4RFFVRkxMR05CUVV3c1NVRkJaMElzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4RlFVRkJMRU5CUVVFc1YwRkJRU3hGUVVGQkxFTkJRVUU3UVVGSGFFSXNTVUZCU1N4SlFVRkJMRWxCUVVFc1EwRkJTeXh0UWtGQmIwSXNRMEZCUVN3eVFrRkJRU3hGUVVFclFpeEZRVUZCTzBGQlF6RkVMRTFCUVVFc1lVRkJRU3hEUVVGakxHOUNRVUZ2UWl4dFJVRkJiVVVzUTBGQlFTeERRVUZCTzBGQlEzSkhMRTFCUVVFc1NVRkJRU3hEUVVGTExGRkJRVk1zUTBGQlFTeEZRVUZGTEVsQlFVMHNSVUZCUVN4aFFVRkJMRU5CUVVFc1kwRkJRU3hEUVVGQkxFVkJRVUVzUlVGQlFTeERRVUZOTEZWQlFVc3NTMEZCVFN4RFFVRkJMRWxCUVVFc1MwRkJXQ3hKUVVGdFFpeEhRVUZCTEVWQlFVRXNSMEZCUVN4alFVRkJMRU5CUVVFc1JVRkJla0lzUlVGQk1FTXNTMEZCUVN4RlFVRlBMRmxCUVdFc1EwRkJRU3hQUVVGQkxFdEJRVmNzUTBGQlFTeERRVUZCTzBGQlF5OUdMRTFCUVVFc1QwRkJRVHRCUVVGQkxFdEJRMFk3UVVGRlFTeEpRVUZOTEUxQlFVRXNSVUZCUlN4UFFVRlJMRVZCUVVFc1IwRkJTU3hKUVVGTExFTkJRVUVzUzBGQlFTeERRVUZCTzBGQlIzcENMRWxCUVVrc1NVRkJRU3hGUVVGRExHMURRVUZUTEUxQlFWRXNRMEZCUVN4RlFVRkJPMEZCUTNCQ0xFMUJRVUVzU1VGQlFTeERRVUZMTEdWQlFXZENMRVZCUVVFc1EwRkJRVHRCUVVOeVFpeE5RVUZCTEU5QlFVRTdRVUZCUVN4TFFVTkdPMEZCUlVFc1NVRkJTU3hKUVVGQk8wRkJRMFlzVFVGQlFTeE5RVUZOTEdOQlFXRXNSVUZCU3l4SFFVRkJMRWxCUVVFc1EwRkJRU3hMUVVGQkxFTkJRVTBzVlVGQldDeExRVUZCTEVsQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVhsQ0xHOUNRVUZ2UWl4UFFVRlBMRU5CUVVFc1EwRkJRVHRCUVVOMlJTeE5RVUZCTEUxQlFVMHNSVUZCU3l4SFFVRkJMRTFCUVUwc1lVRkJZeXhEUVVGQkxGVkJRVUVzUlVGQldTeExRVUZMTEZkQlFWY3NRMEZCUVN4RFFVRkJPMEZCUlRORUxFMUJRVXNzU1VGQlFTeERRVUZCTERoQ1FVRkJMRU5CUVN0Q0xIbERRVUZaTEVkQlFVY3NRMEZCUVN4RFFVRkJPMEZCUlc1RUxFMUJRVUVzVFVGQlRTeGhRVUZoTEdGQlFXTXNSVUZCUVN4RFFVRkJPMEZCUTJwRExFMUJRVTBzVFVGQlFTeEZRVUZGTEZOQlFWTXNWMEZCWVN4RlFVRkJMRlZCUVVFc1MwRkJaU3hKUVVGTExFTkJRVUVzWlVGQlFTeERRVUZuUWl4WFFVRlhMRVZCUVVVc1EwRkJRU3hEUVVGQk8wRkJSUzlGTEUxQlFVRXNZVUZCUVN4RFFVRmpMR3RDUVVGdlFpeEZRVUZCTEhGQ1FVRkJMRVZCUVhWQ0xFbEJRVXNzUTBGQlFTeExRVUZCTEVOQlFVMHNSMEZCUnl4RFFVRkJMRU5CUVVFN1FVRkZka1VzVFVGQlNTeEpRVUZCTEUxQlFVRXNSMEZCVXl4VlFVRlhMRU5CUVVFc1JVRkJRU3hGUVVGSkxFOUJRVThzUTBGQlFTeERRVUZCTzBGQlJXNURMRTFCUVVrc1NVRkJRU3hYUVVGQkxFTkJRVmtzVTBGQlV5eERRVUZITEVWQlFVRTdRVUZGTVVJc1VVRkJUU3hOUVVGQkxHZENRVUZCTEVkQlFXMUNMRmxCUVZrc1IwRkJTU3hEUVVGQkxFTkJRVU1zVFVGQlRTeFZRVUZYTEVOQlFVRXNSVUZCUVN4RlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGQkxFTkJRVUU3UVVGSmFrVXNVVUZCVFN4TlFVRkJMRVZCUVVFc1IwRkJTeXcyUWtGQk5rSXNWVUZCVlN4RFFVRkJMRU5CUVVFN1FVRkZiRVFzVVVGQlV5eE5RVUZCTEVkQlFVRXNVVUZCUVN4RFFVRlRMRU5CUVVNc1RVRkJVU3hGUVVGQkxFZEJRVWNzWjBKQlFXZENMRU5CUVVNc1EwRkJRU3hEUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZCTEVOQlFVRTdRVUZCUVN4UFFVTXhSRHRCUVVWQkxFMUJRVUVzVFVGQlFTeEhRVUZUTEUxQlFVOHNRMEZCUVN4SlFVRkJPMEZCUVVFc1VVRkRaQ3d5UWtGQk5FSXNRMEZCUVR0QlFVRkJMRlZCUXpGQ0xFbEJRVTBzUlVGQlFTeE5RVUZCTzBGQlFVRXNWVUZEVGl4UFFVRlRMRVZCUVVFc1QwRkJRVHRCUVVGQkxGVkJRMVFzVFVGQlVTeEZRVUZCTEVsQlFVRTdRVUZCUVN4VlFVTlNMRTFCUVVFc1JVRkJVU3hOUVVGTkxFbEJRVUVzUTBGQlN5eFhRVUZaTEVWQlFVRTdRVUZCUVN4VFFVTm9ReXhEUVVGQk8wRkJRVUVzVDBGRFNDeERRVUZCTzBGQlJVRXNUVUZCUVN4SlFVRkJMRU5CUVVzc1UwRkJXU3hIUVVGQkxFMUJRVUVzUTBGQlR5eFRRVUZWTEVOQlFVRXNTVUZCUVN4RFFVRkxMR05CUVdNc1EwRkJRU3hEUVVGQk8wRkJRVUVzWVVGRE9VTXNSMEZCVUN4RlFVRkJPMEZCUTBFc1RVRkJVU3hQUVVGQkxFTkJRVUVzUzBGQlFTeERRVUZOTERCQ1FVRXdRaXhIUVVGSExFTkJRVUVzUTBGQlFUdEJRVVV6UXl4TlFVRkJMRWxCUVVFc1EwRkJTeXhqUVVGbExFTkJRVUVzWVVGQlFTeERRVUZCTEdOQlFVRXNRMEZCUVN4alFVRkJMRU5CUVVFc1JVRkJRU3hGUVVObUxHTkJRMEVzUTBGQlFTeEZRVUZCTEVsQlFVRXNRMEZCU3l4TlFVRk5MRWxCUmtrc1EwRkJRU3hGUVVGQk8wRkJRVUVzVVVGSGJFSXNUMEZCVHl4WlFVRmhMRU5CUVVFc1MwRkJRVHRCUVVGQkxGRkJRM0JDTEUxQlFWRXNSVUZCUVN4RFFVRkRMR2RDUVVGcFFpeERRVUZCTEVkQlFVY3NRMEZCUXl4RFFVRkJPMEZCUVVFc1QwRkRMMElzUTBGQlFTeERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTklPMEZCUVVFc1IwRkRSanRCUVVGQkxFVkJSVThzVFVGQlRTeFRRVUYxUXl4RlFVRkJPMEZCZW1WMFJDeEpRVUZCTEVsQlFVRXNSVUZCUVN4RFFVRkJPMEZCTUdWSkxFbEJRVTBzVFVGQlFTeExRVUZCTEVkQlFWRXNTMEZCVFN4RFFVRkJMRXRCUVVFc1EwRkJUU3hUUVVGVExFTkJRVUVzUTBGQlFUdEJRVVZ1UXl4SlFVRkJMRWxCUVVrc1MwRkJTeXhyUWtGQmIwSXNSVUZCUVR0QlFVTXpRaXhOUVVGQkxFdEJRVUVzUTBGQlRTeDNRa0ZCZDBJc1NVRkJTeXhEUVVGQkxHdENRVUZCTEVOQlFXMUNMRWxCUVVrc1EwRkJReXhMUVVGQkxFdEJRVmNzYlVKQlFVc3NTMEZCVVN4RFFVRkJMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRM0pHTzBGQlJVRXNTVUZCUVN4SlFVRkpMRXRCUVVzc2FVSkJRVzFDTEVWQlFVRTdRVUZETVVJc1RVRkJRU3hMUVVGQkxFTkJRVTBzZFVKQlFYVkNMRWxCUVVzc1EwRkJRU3hwUWtGQlFTeERRVUZyUWl4SlFVRkpMRU5CUVVNc1MwRkJRU3hMUVVGWExHMUNRVUZMTEV0QlFWRXNRMEZCUVN4RFFVRkJMRU5CUVVFN1FVRkJRU3hMUVVOdVJqdEJRVVZCTEVsQlFVRXNTMEZCUVN4RFFVRk5MSGRDUVVFMFFpeERRVUZCTEVkQlFVRXNTVUZCUVN4RFFVRkxMSE5DUVVGMVFpeERRVUZCTEhsRFFVRkJMRU5CUVRCRExFbEJRVWtzUTBGQlFTeERRVUZCTzBGQlF6VkhMRWxCUVVFc1MwRkJRU3hEUVVGTkxIRkNRVUZ4UWl4SlFVRkxMRU5CUVVFc1pVRkJRU3hEUVVGQk8wRkJRMmhETEVsQlFVMHNTMEZCUVN4RFFVRkJMRlZCUVVFc1EwRkJRU3hEUVVGWkxFbEJRVXNzUTBGQlFTeEZRVUZGTEUxQlFWRXNSVUZCUVN4SlFVRkJMRVZCUVUwc1NVRkJUU3hGUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEVsQlFVRXNRMEZCU3l4TFFVRk5MRU5CUVVFc1NVRkJRU3hMUVVGWUxFbEJRVzFDTEVkQlFVRXNSVUZCUVN4SFFVRkJMR05CUVVFc1JVRkJaMElzUTBGQlFTeERRVUZCTzBGQlJXaEdMRWxCUVU4c1QwRkJRU3hMUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5VTzBGQlFVRXNSVUZGVVN4bFFVRkJMRU5CUVdkQ0xGZEJRU3RDTEVWQlFYRkRMRVZCUVVFN1FVRXpaamxHTEVsQlFVRXNTVUZCUVN4RlFVRkJMRU5CUVVFN1FVRTBaa2tzU1VGQlFTeE5RVUZOTEVWQlFVVXNWMEZCUVN4RlFVRmhMRTlCUVZFc1JVRkJRU3hIUVVGSkxFbEJRVXNzUTBGQlFTeExRVUZCTEVOQlFVRTdRVUZGZEVNc1NVRkJRU3hKUVVGSkxFOUJRU3RETEVkQlFVRXNZMEZCUVN4RFFVRkJPMEZCUVVFc1RVRkRha1FzUjBGQlN5eEZRVUZCTEZGQlFVRTdRVUZCUVN4TlFVTk1MRmRCUVZjc1owSkJRV2xDTEVWQlFVRTdRVUZCUVN4TlFVTTFRaXhSUVVGQkxFVkJRVlVzVlVGQlZTeFhRVUZaTEVWQlFVRTdRVUZCUVN4TlFVTm9ReXhMUVVGQkxFVkJRVThzVlVGQlZTeExRVUZOTEVOQlFVRXNTMEZCUVR0QlFVRkJMRTFCUTNaQ0xGRkJRVlVzUlVGQlFTeEpRVUZCTzBGQlFVRXNUVUZEVml4VlFVRlpMRVZCUVVFc1IwRkJRVHRCUVVGQkxFMUJRMW9zVDBGQlFTeEZRVUZUTEZWQlFWVXNUMEZCVHl4RFFVRkJPMEZCUVVFc1RVRkRNVUlzWVVGQlFTeEZRVUZsTEV0QlFVc3NaMEpCUVdsQ0xFVkJRVUU3UVVGQlFTeE5RVU55UXl4WlFVRlpMRWxCUVVzc1EwRkJRU3hYUVVGQk8wRkJRVUVzVFVGRGFrSXNVMEZCUVN4RlFVRlhMRXRCUVVzc1IwRkJTU3hGUVVGQk8wRkJRVUVzVFVGRGNFSXNZVUZCUVN4RlFVRmxMRXRCUVVzc1MwRkJUU3hEUVVGQkxHRkJRVUU3UVVGQlFTeE5RVU14UWl4UlFVRlZMRVZCUVVFN1FVRkJRU3hSUVVOU0xFbEJRVUVzUlVGQlRTeFZRVUZWTEV0QlFVMHNRMEZCUVN4SlFVRkJPMEZCUVVFc1VVRkRkRUlzUlVGQlFTeEZRVUZKTEZWQlFWVXNTMEZCVFN4RFFVRkJMRVZCUVVFN1FVRkJRU3hQUVVOMFFqdEJRVUZCTEUxQlEwRXNXVUZCUVN4RlFVRmpMRXRCUVVzc1MwRkJUU3hEUVVGQkxGbEJRVUU3UVVGQlFTeE5RVU42UWl4bFFVRkJMRVZCUVdsQ0xFdEJRVXNzUzBGQlRTeERRVUZCTEdWQlFVRTdRVUZCUVN4TFFVRkJMRVZCUlhwQ0xIVkNRVUYxUWl4SlFVRkpMRU5CUVVFc1EwRkJRU3hEUVVGQk8wRkJSMmhETEVsQlFVRXNTVUZCU1N4TFFVRkxMR2RDUVVGclFpeEZRVUZCTzBGQlIzcENMRTFCUVVFc1QwRkJRU3hEUVVGUkxGVkJRVlVzU1VGQlN5eERRVUZCTEdkQ1FVRkJMRU5CUVdsQ0xFdEJRVTBzUTBGQlFTeFBRVUZCTEVOQlFWRXNUMEZCVHl4blFrRkJaMElzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZETDBVN1FVRkZRU3hKUVVGQkxFbEJRVWtzUzBGQlN5eFhRVUZoTEVWQlFVRTdRVUZGY0VJc1RVRkJVU3hQUVVGQkxFTkJRVUVzVjBGQlFTeEhRVUZqTEVsQlFVc3NRMEZCUVN4WFFVRkJMRU5CUVZrc1MwRkJUU3hEUVVGQkxFdEJRVUVzUTBGQlFUdEJRVUZCTEV0QlF5OURPMEZCUlVFc1NVRkJRU3hQUVVGQkxFTkJRVkVzVDBGQlZTeEhRVUZCTEU5QlFVRXNRMEZCVVN4UFFVRlJMRU5CUVVFc1IwRkJRU3hEUVVGSkxFTkJRVU1zUzBGQlZTeExRVUZCTzBGQkwyaENja1FzVFVGQlFVRXNTVUZCUVVFc1IwRkJRVUVzUTBGQlFVRTdRVUZuYVVKTkxFMUJRMFVzU1VGQlFTeERRVUZETEUxQlFVMHNWVUZEVGl4SlFVRkJMRXRCUVVFc1EwRkJUU3hYUVVGWExFZEJRVkVzUzBGQlFTeEZRVUZCTEVOQlFVY3NUMEZETTBJc1JVRkJRMEVzUTBGQlFVRXNSMEZCUVVFc1IwRkJRU3hIUVVGSExFbEJRVWdzUzBGQlFTeEpRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVGQkxFbEJRVk1zUzBGRFZpeERRVUZCTEVsQlFVRXNjVUpCUVVFc1NVRkRRU3hEUVVGRExIRkNRVUZ6UWl4RFFVRkJMRXRCUVVFc1EwRkJUU3hWUVVGVkxFTkJRM3BETEVWQlFVRTdRVUZEUVN4UlFVRk5MRXRCUVVFc1EwRkJRU3hWUVVGQkxFZEJRV0VzUjBGQlJ5eE5RVUZQTEVWQlFVRXNRMEZCUVR0QlFVRkJMRTlCUXk5Q08wRkJRMEVzVFVGQlR5eFBRVUZCTEV0QlFVRXNRMEZCUVR0QlFVRkJMRXRCUTFJc1EwRkJRU3hEUVVGQk8wRkJSVVFzU1VGQlFTeE5RVUZOTEhGQ1FVRnhRaXhYUVVGakxFZEJRVUVzVjBGQlFTeERRVUZaTEVsQlFVMHNSVUZCUVN4WFFVRlhMRWxCUVVrc1JVRkJSeXhEUVVGQkxGRkJRVUVzUTBGQlFUdEJRVU0zUlN4SlFVRk5MRTFCUVVFc1NVRkJRU3hIUVVGUExGVkJRVlVzYVVKQlFXdENMRU5CUVVFc1UwRkJRU3hEUVVGVkxFMUJRVTBzUzBGQlR5eEZRVUZCTEU5QlFVRXNRMEZCVVN4bFFVRm5RaXhyUWtGQmEwSXNRMEZCUVN4RFFVRkJPMEZCU1RGSExFbEJRVUVzVDBGQlFTeERRVUZSTEdGQlFXRXNUVUZCVHl4RFFVRkJMRTFCUVVFc1EwRkJUeXhGUVVGRExFVkJRVWNzVVVGQlVTeFZRVUZaTEVWQlFVRTdRVUZCUVN4TlFVTjZSQ3haUVVGWkxFVkJRVVVzU1VGQlFTeEZRVUZOTEV0QlFVc3NVVUZCVlN4RlFVRkJMRXRCUVVFc1JVRkJUeXhMUVVGTExGRkJRVk1zUlVGQlFUdEJRVUZCTEUxQlEzaEVMR0ZCUVVFc1JVRkJaU3hGUVVGRkxFbEJRVTBzUlVGQlFTeEpRVUZCTEVOQlFVc3NWMEZCVnl4UlFVRlRMRVZCUVVFc1JVRkJSeXhMUVVGUExFVkJRVUVzU1VGQlFTeERRVUZMTEZWQlFWY3NSVUZCUVR0QlFVRkJMRXRCUXpORkxFTkJRVUVzUTBGQlFUdEJRVVZFTEVsQlFVRXNUMEZCUVN4RFFVRlJMRmRCUVZjc1NVRkJTeXhEUVVGQkxGRkJRVUVzUTBGQlFUdEJRVU40UWl4SlFVRkJMRTlCUVVFc1EwRkJVU3hoUVVGaExFbEJRVXNzUTBGQlFTeFZRVUZCTEVOQlFVRTdRVUZMTVVJc1NVRkJUU3hOUVVGQkxHZENRVUZCTEVkQlFXMUNMRlZCUVZVc1MwRkJUU3hEUVVGQkxFdEJRVUVzUTBGQlFUdEJRVU42UXl4SlFVRkJMRWxCUVVrc2IwSkJRWGRETEVWQlFVTXNRMEZCUVR0QlFVTTNReXhKUVVGSkxFbEJRVUVzYlVKQlFVRXNkVUpCUVRCQ0xFZEJRVWtzUlVGQlFTeERRVUZCTzBGQlEyeERMRWxCUVVFc1MwRkJRU3hOUVVGWExHRkJRVmtzUlVGQlN5eEhRVUZCTEVsQlFVRXNRMEZCUVN3MlFrRkJRU3hGUVVGTUxFdEJRVUVzU1VGQlFTeEhRVUZCTEVWQlFVRXNSMEZCZDBNc1JVRkJTU3hGUVVGQk8wRkJRMnBGTEUxQlFVRXNTMEZCUVN4TlFVRlhMRVZCUVVVc1IwRkJTeXhGUVVGQkxGTkJRVUVzVFVGQlpTeFJRVUZUTEVOQlFVRXNaVUZCUVN4RFFVRm5RaXhQUVVGUExFTkJRVWNzUlVGQlFUdEJRVU5zUlN4UlFVRkJMRTFCUVUwc1dVRkJXU3huUWtGQmFVSXNSVUZCUVN4RFFVRkJPMEZCUTI1RExGRkJRVUVzYVVKQlFVRXNRMEZCYTBJc1NVRkJTeXhEUVVGQkxHRkJRVUVzUTBGQlFTeGpRVUZCTEVOQlFVRXNSVUZCUVN4RlFVRkxMRWRCUVV3c1EwRkJRU3hGUVVGQkxFVkJRVlVzVjBGQlZ5eERRVUZCTEVOQlFVRXNRMEZCUVR0QlFVTTFReXhSUVVGdlFpeHRRa0ZCUVN4RFFVRkJMRWRCUVVFc1EwRkJTU3hUUVVGWExFVkJRVUVzVTBGQlFTeEpRVUZCTEVsQlFVRXNSMEZCUVN4VFFVRkJMRWRCUVdFc2IwSkJRVzlDTEVOQlFVRXNRMEZCUVR0QlFVRkJMRTlCUTNSRk8wRkJRVUVzUzBGRFJqdEJRVU5CTEVsQlFVRXNUMEZCUVN4RFFVRlJMRXRCUVZFc1IwRkJRU3huUWtGQlFTeERRVUZCTzBGQlEyaENMRWxCUVVFc1QwRkJUeXhGUVVGRkxFOUJRVk1zUlVGQlFTeFBRVUZCTEVWQlFWTXNWMEZCWVN4RlFVRkJMR2xDUVVGQkxFVkJRVzFDTEZsQlFWa3NiVUpCUVc5Q0xFVkJRVUVzUTBGQlFUdEJRVUZCTEVkQlF6ZEdPMEZCUVVFc1JVRnpRbEVzYlVKQlFXMUNMRWxCUVdsQ0xFVkJRVUU3UVVGRE1VTXNTVUZCUVN4SlFVRkpMRWxCUVVzc1EwRkJRU3hwUWtGQlFTeEpRVUZ4UWl4SlFVRkxMRU5CUVVFc2FVSkJRVUVzUTBGQmEwSXNVMEZCVXl4RFFVRkhMRVZCUVVFN1FVRkRMMFFzVFVGQlFTeEpRVUZCTEVOQlFVc3NaVUZCWlN4SlFVRkxMRU5CUVVFc1YwRkJRU3hKUVVGbExFVkJRVWtzUlVGQlFTeE5RVUZCTEVOQlFVOHNTMEZCU3l4cFFrRkJhVUlzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZETTBVN1FVRkZRU3hKUVVGQkxFbEJRVWtzUzBGQlN5eExRVUZOTEVOQlFVRXNTVUZCUVN4SlFVRlJMRWxCUVVzc1EwRkJRU3hMUVVGQkxFTkJRVTBzUzBGQlN5eFZRVUZaTEVWQlFVRTdRVUZEYWtRc1RVRkJTeXhKUVVGQkxFTkJRVUVzVlVGQlFTeEhRVUZoTEVsQlFVc3NRMEZCUVN4TFFVRkJMRU5CUVUwc1NVRkJTeXhEUVVGQkxGVkJRVUVzUTBGQlFUdEJRVUZCTEV0QlEzQkRPMEZCUlVFc1NVRkJUeXhQUVVGQkxFbEJRVUVzUTBGQlFUdEJRVUZCTEVkQlExUTdRVUZCUVN4RlFVVlJMR1ZCUVd0Q0xFZEJRVUU3UVVGRGVFSXNTVUZCU1N4SlFVRkJMRWxCUVVFc1EwRkJTeXhMUVVGTkxFTkJRVUVzU1VGQlFTeExRVUZUTEdOQlFXZENMRVZCUVVFN1FVRkRkRU1zVFVGQlFTeEpRVUZCTEVOQlFVc3NVVUZCVXl4RFFVRkJMRVZCUVVVc1NVRkJUU3hGUVVGQkxHTkJRVUVzUlVGQlowSXNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkRlRU03UVVGQlFTeEhRVU5HTzBGQlFVRXNSVUZQVVN3MlFrRkJaMFVzUjBGQlFUdEJRVWwwUlN4SlFVRk5MRTFCUVVFc1MwRkJRU3gxUWtGQldTeEhRVUZKTEVWQlFVRXNRMEZCUVR0QlFVTjBRaXhKUVVGSkxFbEJRVUVzUTBGQlF5eExRVUZMTEUxQlFWRXNSVUZCUVR0QlFVTm9RaXhOUVVGQkxFOUJRVThzUlVGQlF5eERRVUZCTzBGQlFVRXNTMEZEVmp0QlFVTkJMRWxCUVZjc1ZVRkJRU3hEUVVGQkxFbEJRVUVzUTBGQlN5eE5RVUZSTEVWQlFVRXNRMEZCUXl4RFFVRk5MRXRCUVVFN1FVRkROMElzVFVGQlNTeEpRVUZCTEc5Q1FVRkJMRU5CUVhGQ0xFTkJRVU1zUTBGQlN5eEpRVUZCTEVOQlFVTXNUVUZCVFN4SFFVRkpMRU5CUVVFc1EwRkJRU3hEUVVGRkxGZEJRVmNzUTBGQlJ5eEZRVUZCTzBGQlEzaEVMRkZCUVUwc1MwRkJRU3hEUVVGQkxFZEJRVUVzUTBGQlNTeERRVUZGTEVOQlFVRXNWMEZCUVN4RlFVRmhMRU5CUVVNc1EwRkJRU3hEUVVGQk8wRkJRVUVzVDBGRE5VSTdRVUZEUVN4TlFVRkZMRU5CUVVFc1EwRkJRU3haUVVGQkxFTkJRV0VzUTBGQlF5eExRVUZWTEV0QlFVRTdRVUZEZUVJc1VVRkJTU3hKUVVGQkxHOUNRVUZCTEVOQlFYRkNMRXRCUVVzc1EwRkJTeXhKUVVGQkxFTkJRVU1zVFVGQlRTeEhRVUZKTEVOQlFVRXNTMEZCUVN4RFFVRk5MRmRCUVZjc1EwRkJSeXhGUVVGQk8wRkJRMmhGTEZWQlFVMHNTMEZCUVN4RFFVRkJMRWRCUVVFc1EwRkJTU3hMUVVGTkxFTkJRVUVzVjBGQlFTeEZRVUZoTEV0QlFVc3NRMEZCUVN4RFFVRkJPMEZCUVVFc1UwRkRjRU03UVVGQlFTeFBRVU5FTEVOQlFVRXNRMEZCUVR0QlFVZEVMRTFCUVU4c1QwRkJRU3hKUVVGQkxFTkJRVUU3UVVGQlFTeExRVU5TTEVOQlFVRXNRMEZCUVR0QlFVTkVMRWxCUVVFc1QwRkJUeXhMUVVGTkxFTkJRVUVzU1VGQlFTeERRVUZMTEV0QlFVMHNRMEZCUVN4TlFVRkJMRVZCUVZFc1EwRkJRU3hEUVVGQk8wRkJRVUVzUjBGRGJFTTdRVUZCUVN4RlFVdFJMQ3RDUVVFclFpeEhRVUY1UWl4RlFVRkJPMEZCUXpsRUxFbEJRVTBzVFVGQlFTeFZRVUZCTEVkQlFXRXNiVU5CUVcxRExFZEJRVWNzUTBGQlFTeERRVUZCTzBGQlJYcEVMRWxCUVVrc1NVRkJRU3hKUVVGQkxFTkJRVXNzY1VKQlFYRkNMRlZCUVZrc1JVRkJRVHRCUVVONFF5eE5RVUZCTEVsQlFVRXNRMEZCU3l4blFrRkJiVUlzUjBGQlFTeFZRVUZCTEVOQlFVRTdRVUZEZUVJc1RVRkJRU3hKUVVGQkxFTkJRVXNzYlVOQlFXOURMRVZCUVVFc1EwRkJRVHRCUVVGQkxFdEJRek5ETzBGQlJVRXNTVUZCVFN4TlFVRkJMRlZCUVVFc1IwRkJZU3huUTBGQlowTXNSMEZCUnl4RFFVRkJMRU5CUVVFN1FVRkRkRVFzU1VGQlNTeEpRVUZCTEVsQlFVRXNRMEZCU3l4blFrRkJaMElzVlVGQldTeEZRVUZCTzBGQlEyNURMRTFCUVVFc1NVRkJRU3hEUVVGTExGZEJRV01zUjBGQlFTeFZRVUZCTEVOQlFVRTdRVUZEYmtJc1RVRkJRU3hKUVVGQkxFTkJRVXNzYlVOQlFXOURMRVZCUVVFc1EwRkJRVHRCUVVGQkxFdEJRek5ETzBGQlFVRXNSMEZEUmp0QlFVRkJMRVZCUlZFc2JVTkJRWE5ETEVkQlFVRTdRVUZETlVNc1NVRkJRU3hOUVVGTkxIVkNRVUZwUXl4RlFVRkRMRU5CUVVFN1FVRkZlRU1zU1VGQlFTeEpRVUZKTEV0QlFVc3NaMEpCUVd0Q0xFVkJRVUU3UVVGRGVrSXNUVUZCUVN4dlFrRkJRU3hEUVVGeFFpeEpRVUZMTEVOQlFVRXNTVUZCUVN4RFFVRkxMR2RDUVVGcFFpeERRVUZCTEV0QlFVRXNRMEZCVFN4SlFVRkpMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRelZFTzBGQlJVRXNTVUZCUVN4SlFVRkpMRXRCUVVzc1YwRkJZU3hGUVVGQk8wRkJRM0JDTEUxQlFVRXNiMEpCUVVFc1EwRkJjVUlzU1VGQlN5eERRVUZCTEVsQlFVRXNRMEZCU3l4WFFVRlpMRU5CUVVFc1MwRkJRU3hEUVVGTkxFbEJRVWtzUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZEZGtRN1FVRkZRU3hKUVVGTExFbEJRVUVzUTBGQlFTeHRRa0ZCUVN4RFFVRnZRaXhwUWtGQmFVSXNiMEpCUVc5Q0xFTkJRVUVzUTBGQlFUdEJRVUZCTEVkQlEyaEZPMEZCUVVFc1JVRkZVU3hsUVVFeVFpeEhRVUZCTzBGQk4zRkNja01zU1VGQlFTeEpRVUZCTEVWQlFVRXNRMEZCUVR0QlFUaHhRa2tzU1VGQlFTeFBRVUZCTEVOQlFVRXNRMEZCVVN4RlFVRkxMRWRCUVVFc1NVRkJRU3hEUVVGQkxFdEJRVUVzUTBGQlRTeGpRVUZZTEV0QlFVRXNTVUZCUVN4SFFVRkJMRVZCUVVFc1IwRkJOa0lzVFVGQldTeE5RVUZCTEUxQlFVRXNRMEZCUVR0QlFVRkJMRWRCUTI1RU8wRkJRMFlzUTBGQlFUdEJRVVZQTEZOQlFWTXNiMEpCUVc5Q0xFOUJRV2xFTEVWQlFVRTdRVUZzY2tKeVJpeEZRVUZCTEVsQlFVRXNSVUZCUVN4RlFVRkJMRVZCUVVFc1EwRkJRVHRCUVcxeVFrVXNSVUZCVHl4UFFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEU5QlFVRXNRMEZCVVN4SlFVRkxMRU5CUVVFc1EwRkJReXhEUVVGTkxFdEJRVUVzUTBGQlFTeERRVUZGTEdWQlFXVXNTVUZCU1N4RFFVRkJMRXRCUVhwRExFbEJRVFJETEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGQkxGVkJRVUVzUzBGQk5VTXNTVUZCTUVRc1IwRkJRU3hGUVVGQkxFZEJRVUVzUzBGQlFTeERRVUZCTEVOQlFVRTdRVUZEYmtVc1EwRkJRVHRCUVVWQkxGTkJRVk1zWlVGQlpTeE5RVUZ6UWl4RlFVRkJPMEZCUXpWRExFVkJRVUVzU1VGQlNTeERRVUZETEUxQlFWRXNSVUZCUVR0QlFVTllMRWxCUVU4c1QwRkJRU3hKUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5VTzBGQlJVRXNSVUZCUVN4TFFVRkJMRWxCUVZNc1EwRkJTU3hIUVVGQkxFTkJRVUVzUlVGQlJ5eERRVUZKTEVkQlFVRXNUVUZCUVN4RFFVRlBMRkZCUVZFc1EwRkJTeXhGUVVGQkxFVkJRVUU3UVVGRGRFTXNTVUZCU1N4SlFVRkJMRTFCUVVFc1EwRkJUeXhEUVVGSExFTkJRVUVzUTBGQlFTeE5RVUZCTEVkQlFWTXNRMEZCUnl4RlFVRkJPMEZCUTNoQ0xFMUJRVThzVDBGQlFTeExRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTlVPMEZCUVVFc1IwRkRSanRCUVVWQkxFVkJRVThzVDBGQlFTeEpRVUZC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