@carto/kepler.gl 0.0.1-alpha.map-libre

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 (913) hide show
  1. package/CHANGELOG.md +939 -0
  2. package/LICENSE +19 -0
  3. package/README.md +63 -0
  4. package/actions.js +21 -0
  5. package/cloud-providers.js +21 -0
  6. package/components.js +21 -0
  7. package/constants.js +21 -0
  8. package/dist/actions/action-wrapper.js +218 -0
  9. package/dist/actions/actions.js +198 -0
  10. package/dist/actions/identity-actions.js +105 -0
  11. package/dist/actions/index.js +161 -0
  12. package/dist/actions/map-state-actions.js +112 -0
  13. package/dist/actions/map-style-actions.js +167 -0
  14. package/dist/actions/provider-actions.js +129 -0
  15. package/dist/actions/ui-state-actions.js +316 -0
  16. package/dist/actions/vis-state-actions.js +1045 -0
  17. package/dist/cloud-providers/index.js +22 -0
  18. package/dist/cloud-providers/provider.js +386 -0
  19. package/dist/components/bottom-widget.js +215 -0
  20. package/dist/components/common/action-panel.js +134 -0
  21. package/dist/components/common/animation-control/animation-control.js +126 -0
  22. package/dist/components/common/animation-control/animation-controller.js +273 -0
  23. package/dist/components/common/animation-control/animation-speed-slider.js +101 -0
  24. package/dist/components/common/animation-control/floating-time-display.js +157 -0
  25. package/dist/components/common/animation-control/playback-controls.js +278 -0
  26. package/dist/components/common/animation-control/speed-control.js +68 -0
  27. package/dist/components/common/checkbox.js +155 -0
  28. package/dist/components/common/color-legend.js +249 -0
  29. package/dist/components/common/data-table/button.js +46 -0
  30. package/dist/components/common/data-table/canvas.js +32 -0
  31. package/dist/components/common/data-table/cell-size.js +174 -0
  32. package/dist/components/common/data-table/grid.js +84 -0
  33. package/dist/components/common/data-table/index.js +514 -0
  34. package/dist/components/common/data-table/option-dropdown.js +103 -0
  35. package/dist/components/common/dataset-label.js +36 -0
  36. package/dist/components/common/error-boundary.js +83 -0
  37. package/dist/components/common/field-selector.js +282 -0
  38. package/dist/components/common/field-token.js +42 -0
  39. package/dist/components/common/file-uploader/file-drop.js +227 -0
  40. package/dist/components/common/file-uploader/file-upload-progress.js +102 -0
  41. package/dist/components/common/file-uploader/file-upload.js +304 -0
  42. package/dist/components/common/file-uploader/upload-button.js +111 -0
  43. package/dist/components/common/histogram-plot.js +102 -0
  44. package/dist/components/common/icons/add.js +64 -0
  45. package/dist/components/common/icons/anchor_window.js +62 -0
  46. package/dist/components/common/icons/arrow-down-alt.js +64 -0
  47. package/dist/components/common/icons/arrow-down-solid .js +64 -0
  48. package/dist/components/common/icons/arrow-down.js +64 -0
  49. package/dist/components/common/icons/arrow-left.js +67 -0
  50. package/dist/components/common/icons/arrow-right.js +64 -0
  51. package/dist/components/common/icons/arrow-up-alt.js +65 -0
  52. package/dist/components/common/icons/arrow-up-solid.js +64 -0
  53. package/dist/components/common/icons/arrow-up.js +64 -0
  54. package/dist/components/common/icons/base.js +110 -0
  55. package/dist/components/common/icons/bug.js +66 -0
  56. package/dist/components/common/icons/cancel.js +64 -0
  57. package/dist/components/common/icons/checkmark.js +71 -0
  58. package/dist/components/common/icons/chevron-right.js +69 -0
  59. package/dist/components/common/icons/clipboard.js +65 -0
  60. package/dist/components/common/icons/clock.js +66 -0
  61. package/dist/components/common/icons/close.js +69 -0
  62. package/dist/components/common/icons/code-alt.js +68 -0
  63. package/dist/components/common/icons/copy.js +70 -0
  64. package/dist/components/common/icons/crosshairs.js +68 -0
  65. package/dist/components/common/icons/cube-3d.js +68 -0
  66. package/dist/components/common/icons/cursor-click.js +68 -0
  67. package/dist/components/common/icons/data-table.js +65 -0
  68. package/dist/components/common/icons/db.js +65 -0
  69. package/dist/components/common/icons/delete.js +65 -0
  70. package/dist/components/common/icons/docs.js +80 -0
  71. package/dist/components/common/icons/drag-n-drop.js +66 -0
  72. package/dist/components/common/icons/draw-polygon.js +87 -0
  73. package/dist/components/common/icons/email.js +68 -0
  74. package/dist/components/common/icons/expand.js +66 -0
  75. package/dist/components/common/icons/eye-seen.js +66 -0
  76. package/dist/components/common/icons/eye-unseen.js +66 -0
  77. package/dist/components/common/icons/file-type.js +45 -0
  78. package/dist/components/common/icons/file.js +64 -0
  79. package/dist/components/common/icons/files.js +66 -0
  80. package/dist/components/common/icons/filter-funnel.js +64 -0
  81. package/dist/components/common/icons/free-window.js +62 -0
  82. package/dist/components/common/icons/gear.js +66 -0
  83. package/dist/components/common/icons/hash.js +64 -0
  84. package/dist/components/common/icons/histogram.js +64 -0
  85. package/dist/components/common/icons/index.js +612 -0
  86. package/dist/components/common/icons/info.js +78 -0
  87. package/dist/components/common/icons/layers.js +64 -0
  88. package/dist/components/common/icons/left-arrow.js +68 -0
  89. package/dist/components/common/icons/legend.js +64 -0
  90. package/dist/components/common/icons/line-chart.js +63 -0
  91. package/dist/components/common/icons/login.js +66 -0
  92. package/dist/components/common/icons/logout.js +65 -0
  93. package/dist/components/common/icons/map-icon.js +73 -0
  94. package/dist/components/common/icons/map.js +73 -0
  95. package/dist/components/common/icons/messages.js +64 -0
  96. package/dist/components/common/icons/minus.js +64 -0
  97. package/dist/components/common/icons/pause.js +64 -0
  98. package/dist/components/common/icons/picture.js +66 -0
  99. package/dist/components/common/icons/pin.js +64 -0
  100. package/dist/components/common/icons/play.js +64 -0
  101. package/dist/components/common/icons/polygon.js +89 -0
  102. package/dist/components/common/icons/rectangle.js +90 -0
  103. package/dist/components/common/icons/reduce.js +67 -0
  104. package/dist/components/common/icons/reset.js +64 -0
  105. package/dist/components/common/icons/rocket.js +64 -0
  106. package/dist/components/common/icons/save.js +66 -0
  107. package/dist/components/common/icons/save2.js +70 -0
  108. package/dist/components/common/icons/search.js +66 -0
  109. package/dist/components/common/icons/settings.js +66 -0
  110. package/dist/components/common/icons/share.js +64 -0
  111. package/dist/components/common/icons/split.js +92 -0
  112. package/dist/components/common/icons/square-select.js +66 -0
  113. package/dist/components/common/icons/swap-horizontal.js +68 -0
  114. package/dist/components/common/icons/table.js +63 -0
  115. package/dist/components/common/icons/trash.js +66 -0
  116. package/dist/components/common/icons/upload.js +65 -0
  117. package/dist/components/common/icons/vert-dots.js +102 -0
  118. package/dist/components/common/icons/vert-three-dots.js +77 -0
  119. package/dist/components/common/icons/warning.js +79 -0
  120. package/dist/components/common/image-preview.js +73 -0
  121. package/dist/components/common/info-helper.js +84 -0
  122. package/dist/components/common/item-selector/accessor.js +56 -0
  123. package/dist/components/common/item-selector/chickleted-input.js +118 -0
  124. package/dist/components/common/item-selector/dropdown-list.js +316 -0
  125. package/dist/components/common/item-selector/item-selector-submenu.js +99 -0
  126. package/dist/components/common/item-selector/item-selector.js +363 -0
  127. package/dist/components/common/item-selector/typeahead.js +496 -0
  128. package/dist/components/common/line-chart.js +125 -0
  129. package/dist/components/common/loading-spinner.js +58 -0
  130. package/dist/components/common/logo.js +92 -0
  131. package/dist/components/common/map-layer-selector.js +50 -0
  132. package/dist/components/common/modal.js +204 -0
  133. package/dist/components/common/portaled.js +317 -0
  134. package/dist/components/common/progress-bar.js +56 -0
  135. package/dist/components/common/range-brush.js +319 -0
  136. package/dist/components/common/range-plot.js +148 -0
  137. package/dist/components/common/range-slider.js +346 -0
  138. package/dist/components/common/slider/mouse-event.js +136 -0
  139. package/dist/components/common/slider/slider-bar-handle.js +122 -0
  140. package/dist/components/common/slider/slider-handle.js +167 -0
  141. package/dist/components/common/slider/slider.js +268 -0
  142. package/dist/components/common/styled-components.js +395 -0
  143. package/dist/components/common/switch.js +47 -0
  144. package/dist/components/common/time-range-slider-time-title.js +74 -0
  145. package/dist/components/common/time-range-slider.js +131 -0
  146. package/dist/components/common/time-slider-marker.js +141 -0
  147. package/dist/components/common/toolbar-item.js +67 -0
  148. package/dist/components/common/toolbar.js +33 -0
  149. package/dist/components/common/vertical-toolbar.js +22 -0
  150. package/dist/components/container.js +217 -0
  151. package/dist/components/context.js +42 -0
  152. package/dist/components/editor/constants.js +47 -0
  153. package/dist/components/editor/editor.js +274 -0
  154. package/dist/components/editor/feature-action-panel.js +154 -0
  155. package/dist/components/editor/feature-styles.js +72 -0
  156. package/dist/components/editor/handle-style.js +80 -0
  157. package/dist/components/filters/components.js +20 -0
  158. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +110 -0
  159. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +80 -0
  160. package/dist/components/filters/filter-panels/new-filter-panel.js +101 -0
  161. package/dist/components/filters/filter-panels/polygon-filter-panel.js +102 -0
  162. package/dist/components/filters/filter-panels/range-filter-panel.js +80 -0
  163. package/dist/components/filters/filter-panels/single-select-filter-panel.js +80 -0
  164. package/dist/components/filters/filter-panels/time-range-filter-panel.js +92 -0
  165. package/dist/components/filters/index.js +48 -0
  166. package/dist/components/filters/multi-select-filter.js +54 -0
  167. package/dist/components/filters/polygon-filter.js +96 -0
  168. package/dist/components/filters/range-filter.js +53 -0
  169. package/dist/components/filters/single-select-filter.js +63 -0
  170. package/dist/components/filters/time-range-filter.js +86 -0
  171. package/dist/components/filters/time-widget.js +173 -0
  172. package/dist/components/geocoder/geocoder.js +315 -0
  173. package/dist/components/geocoder-panel.js +224 -0
  174. package/dist/components/index.js +1485 -0
  175. package/dist/components/injector.js +178 -0
  176. package/dist/components/kepler-gl.js +563 -0
  177. package/dist/components/map/coordinate-info.js +68 -0
  178. package/dist/components/map/layer-hover-info.js +176 -0
  179. package/dist/components/map/layer-selector-panel.js +116 -0
  180. package/dist/components/map/locale-panel.js +113 -0
  181. package/dist/components/map/map-control-panel.js +79 -0
  182. package/dist/components/map/map-control-toolbar.js +25 -0
  183. package/dist/components/map/map-control-tooltip.js +55 -0
  184. package/dist/components/map/map-control.js +80 -0
  185. package/dist/components/map/map-draw-panel.js +142 -0
  186. package/dist/components/map/map-legend-panel.js +124 -0
  187. package/dist/components/map/map-legend.js +244 -0
  188. package/dist/components/map/map-popover.js +204 -0
  189. package/dist/components/map/split-map-button.js +98 -0
  190. package/dist/components/map/toggle-3d-button.js +86 -0
  191. package/dist/components/map-container.js +562 -0
  192. package/dist/components/maps-layout.js +58 -0
  193. package/dist/components/modal-container.js +536 -0
  194. package/dist/components/modals/add-map-style-modal.js +288 -0
  195. package/dist/components/modals/cloud-tile.js +124 -0
  196. package/dist/components/modals/data-table-modal.js +249 -0
  197. package/dist/components/modals/delete-data-modal.js +54 -0
  198. package/dist/components/modals/error-display.js +51 -0
  199. package/dist/components/modals/export-data-modal.js +227 -0
  200. package/dist/components/modals/export-image-modal.js +136 -0
  201. package/dist/components/modals/export-map-modal/components.js +51 -0
  202. package/dist/components/modals/export-map-modal/export-html-map.js +141 -0
  203. package/dist/components/modals/export-map-modal/export-json-map.js +87 -0
  204. package/dist/components/modals/export-map-modal/export-map-modal.js +133 -0
  205. package/dist/components/modals/image-modal-container.js +90 -0
  206. package/dist/components/modals/load-data-modal.js +97 -0
  207. package/dist/components/modals/load-storage-map.js +288 -0
  208. package/dist/components/modals/loading-dialog.js +48 -0
  209. package/dist/components/modals/modal-dialog.js +37 -0
  210. package/dist/components/modals/modal-tabs.js +99 -0
  211. package/dist/components/modals/overwrite-map-modal.js +80 -0
  212. package/dist/components/modals/provider-modal-container.js +84 -0
  213. package/dist/components/modals/save-map-modal.js +207 -0
  214. package/dist/components/modals/share-map-modal.js +202 -0
  215. package/dist/components/modals/status-panel.js +83 -0
  216. package/dist/components/modals/storage-map-viewer.js +135 -0
  217. package/dist/components/notification-panel/notification-item.js +164 -0
  218. package/dist/components/notification-panel.js +87 -0
  219. package/dist/components/performance.js +134 -0
  220. package/dist/components/plot-container.js +275 -0
  221. package/dist/components/side-panel/cloud-storage-dropdown.js +63 -0
  222. package/dist/components/side-panel/common/dataset-info.js +43 -0
  223. package/dist/components/side-panel/common/dataset-tag.js +42 -0
  224. package/dist/components/side-panel/common/dataset-title.js +170 -0
  225. package/dist/components/side-panel/common/source-data-catalog.js +60 -0
  226. package/dist/components/side-panel/common/source-data-selector.js +120 -0
  227. package/dist/components/side-panel/custom-panel.js +60 -0
  228. package/dist/components/side-panel/filter-manager.js +132 -0
  229. package/dist/components/side-panel/filter-panel/filter-panel-header.js +70 -0
  230. package/dist/components/side-panel/filter-panel/filter-panel.js +145 -0
  231. package/dist/components/side-panel/interaction-manager.js +58 -0
  232. package/dist/components/side-panel/interaction-panel/brush-config.js +54 -0
  233. package/dist/components/side-panel/interaction-panel/interaction-panel.js +168 -0
  234. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +250 -0
  235. package/dist/components/side-panel/interaction-panel/tooltip-config.js +163 -0
  236. package/dist/components/side-panel/layer-manager.js +321 -0
  237. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +45 -0
  238. package/dist/components/side-panel/layer-panel/color-palette.js +83 -0
  239. package/dist/components/side-panel/layer-panel/color-range-selector.js +370 -0
  240. package/dist/components/side-panel/layer-panel/color-selector.js +226 -0
  241. package/dist/components/side-panel/layer-panel/column-selector.js +65 -0
  242. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +40 -0
  243. package/dist/components/side-panel/layer-panel/custom-palette.js +318 -0
  244. package/dist/components/side-panel/layer-panel/custom-picker.js +128 -0
  245. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +61 -0
  246. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +26 -0
  247. package/dist/components/side-panel/layer-panel/layer-column-config.js +93 -0
  248. package/dist/components/side-panel/layer-panel/layer-config-group.js +245 -0
  249. package/dist/components/side-panel/layer-panel/layer-configurator.js +977 -0
  250. package/dist/components/side-panel/layer-panel/layer-panel-header.js +222 -0
  251. package/dist/components/side-panel/layer-panel/layer-panel.js +201 -0
  252. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +89 -0
  253. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +71 -0
  254. package/dist/components/side-panel/layer-panel/layer-type-selector.js +96 -0
  255. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +111 -0
  256. package/dist/components/side-panel/layer-panel/single-color-palette.js +109 -0
  257. package/dist/components/side-panel/layer-panel/text-label-panel.js +175 -0
  258. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +174 -0
  259. package/dist/components/side-panel/layer-panel/vis-config-slider.js +90 -0
  260. package/dist/components/side-panel/layer-panel/vis-config-switch.js +84 -0
  261. package/dist/components/side-panel/map-manager.js +155 -0
  262. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +106 -0
  263. package/dist/components/side-panel/map-style-panel/map-style-selector.js +78 -0
  264. package/dist/components/side-panel/panel-dropdown.js +86 -0
  265. package/dist/components/side-panel/panel-header-action.js +121 -0
  266. package/dist/components/side-panel/panel-header.js +351 -0
  267. package/dist/components/side-panel/panel-tab.js +68 -0
  268. package/dist/components/side-panel/panel-title.js +28 -0
  269. package/dist/components/side-panel/panel-toggle.js +69 -0
  270. package/dist/components/side-panel/side-bar.js +164 -0
  271. package/dist/components/side-panel.js +242 -0
  272. package/dist/connect/keplergl-connect.js +68 -0
  273. package/dist/connect/with-local-selector.js +110 -0
  274. package/dist/constants/action-types.js +180 -0
  275. package/dist/constants/color-palette.js +547 -0
  276. package/dist/constants/color-ranges.js +70 -0
  277. package/dist/constants/custom-color-ranges.js +415 -0
  278. package/dist/constants/default-settings.js +902 -0
  279. package/dist/constants/index.js +370 -0
  280. package/dist/constants/keyevent.js +47 -0
  281. package/dist/constants/tooltip.js +205 -0
  282. package/dist/constants/user-feedbacks.js +33 -0
  283. package/dist/constants/user-guides.js +44 -0
  284. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +88 -0
  285. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +214 -0
  286. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +334 -0
  287. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +78 -0
  288. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +96 -0
  289. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +96 -0
  290. package/dist/deckgl-layers/layer-utils/cluster-utils.js +119 -0
  291. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +643 -0
  292. package/dist/deckgl-layers/layer-utils/shader-utils.js +50 -0
  293. package/dist/deckgl-layers/line-layer/line-layer.js +111 -0
  294. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +78 -0
  295. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +120 -0
  296. package/dist/index.js +155 -0
  297. package/dist/layers/aggregation-layer.js +416 -0
  298. package/dist/layers/arc-layer/arc-layer-icon.js +77 -0
  299. package/dist/layers/arc-layer/arc-layer.js +275 -0
  300. package/dist/layers/base-layer.js +1688 -0
  301. package/dist/layers/cluster-layer/cluster-layer-icon.js +80 -0
  302. package/dist/layers/cluster-layer/cluster-layer.js +151 -0
  303. package/dist/layers/default-layer-icon.js +87 -0
  304. package/dist/layers/geojson-layer/geojson-layer-icon.js +91 -0
  305. package/dist/layers/geojson-layer/geojson-layer.js +446 -0
  306. package/dist/layers/geojson-layer/geojson-utils.js +183 -0
  307. package/dist/layers/grid-layer/grid-layer-icon.js +136 -0
  308. package/dist/layers/grid-layer/grid-layer.js +115 -0
  309. package/dist/layers/grid-layer/grid-utils.js +62 -0
  310. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +71 -0
  311. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +346 -0
  312. package/dist/layers/h3-hexagon-layer/h3-utils.js +97 -0
  313. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +88 -0
  314. package/dist/layers/heatmap-layer/heatmap-layer.js +269 -0
  315. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +100 -0
  316. package/dist/layers/hexagon-layer/hexagon-layer.js +120 -0
  317. package/dist/layers/hexagon-layer/hexagon-utils.js +74 -0
  318. package/dist/layers/icon-layer/icon-info-modal.js +117 -0
  319. package/dist/layers/icon-layer/icon-layer-icon.js +73 -0
  320. package/dist/layers/icon-layer/icon-layer.js +392 -0
  321. package/dist/layers/index.js +97 -0
  322. package/dist/layers/layer-factory.js +499 -0
  323. package/dist/layers/layer-text-label.js +72 -0
  324. package/dist/layers/layer-update.js +85 -0
  325. package/dist/layers/line-layer/line-layer-icon.js +79 -0
  326. package/dist/layers/line-layer/line-layer.js +209 -0
  327. package/dist/layers/mapbox-utils.js +204 -0
  328. package/dist/layers/mapboxgl-layer.js +210 -0
  329. package/dist/layers/point-layer/point-layer-icon.js +94 -0
  330. package/dist/layers/point-layer/point-layer.js +475 -0
  331. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +334 -0
  332. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +70 -0
  333. package/dist/layers/s2-geometry-layer/s2-utils.js +51 -0
  334. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +48 -0
  335. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +151 -0
  336. package/dist/layers/scenegraph-layer/scenegraph-layer.js +250 -0
  337. package/dist/layers/trip-layer/trip-info-modal.js +54 -0
  338. package/dist/layers/trip-layer/trip-layer-icon.js +89 -0
  339. package/dist/layers/trip-layer/trip-layer.js +403 -0
  340. package/dist/layers/trip-layer/trip-utils.js +204 -0
  341. package/dist/layers/types.js +47 -0
  342. package/dist/localization/en.js +480 -0
  343. package/dist/localization/formatted-message.js +45 -0
  344. package/dist/localization/index.js +60 -0
  345. package/dist/localization/locales.js +64 -0
  346. package/dist/middleware/index.js +47 -0
  347. package/dist/processors/data-processor.js +784 -0
  348. package/dist/processors/file-handler.js +432 -0
  349. package/dist/processors/index.js +106 -0
  350. package/dist/reducers/combined-updaters.js +195 -0
  351. package/dist/reducers/composer-helpers.js +110 -0
  352. package/dist/reducers/composers.js +27 -0
  353. package/dist/reducers/core.js +156 -0
  354. package/dist/reducers/index.js +139 -0
  355. package/dist/reducers/map-state-updaters.js +239 -0
  356. package/dist/reducers/map-state.js +47 -0
  357. package/dist/reducers/map-style-updaters.js +531 -0
  358. package/dist/reducers/map-style.js +46 -0
  359. package/dist/reducers/provider-state-updaters.js +541 -0
  360. package/dist/reducers/provider-state.js +46 -0
  361. package/dist/reducers/root.js +218 -0
  362. package/dist/reducers/ui-state-updaters.js +855 -0
  363. package/dist/reducers/ui-state.js +47 -0
  364. package/dist/reducers/vis-state-merger.js +615 -0
  365. package/dist/reducers/vis-state-selectors.js +52 -0
  366. package/dist/reducers/vis-state-updaters.js +2433 -0
  367. package/dist/reducers/vis-state.js +46 -0
  368. package/dist/schemas/dataset-schema.js +189 -0
  369. package/dist/schemas/index.js +132 -0
  370. package/dist/schemas/map-state-schema.js +49 -0
  371. package/dist/schemas/map-style-schema.js +122 -0
  372. package/dist/schemas/schema-manager.js +262 -0
  373. package/dist/schemas/schema-utils.js +62 -0
  374. package/dist/schemas/schema.js +114 -0
  375. package/dist/schemas/versions.js +38 -0
  376. package/dist/schemas/vis-state-schema.js +1071 -0
  377. package/dist/styles/base.js +1570 -0
  378. package/dist/styles/index.js +32 -0
  379. package/dist/styles/media-breakpoints.js +39 -0
  380. package/dist/tasks/tasks.js +122 -0
  381. package/dist/templates/export-map-html.js +45 -0
  382. package/dist/utils/aggregate-utils.js +75 -0
  383. package/dist/utils/color-utils.js +135 -0
  384. package/dist/utils/data-scale-utils.js +84 -0
  385. package/dist/utils/data-utils.js +491 -0
  386. package/dist/utils/dataset-utils.js +254 -0
  387. package/dist/utils/dom-to-image.js +557 -0
  388. package/dist/utils/dom-utils.js +425 -0
  389. package/dist/utils/export-utils.js +297 -0
  390. package/dist/utils/filter-utils.js +1286 -0
  391. package/dist/utils/gl-utils.js +35 -0
  392. package/dist/utils/gpu-filter-utils.js +261 -0
  393. package/dist/utils/index.js +226 -0
  394. package/dist/utils/interaction-utils.js +201 -0
  395. package/dist/utils/layer-utils.js +205 -0
  396. package/dist/utils/locale-utils.js +54 -0
  397. package/dist/utils/map-info-utils.js +32 -0
  398. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +212 -0
  399. package/dist/utils/map-style-utils/mapbox-utils.js +35 -0
  400. package/dist/utils/mapbox-utils.js +39 -0
  401. package/dist/utils/notifications-utils.js +89 -0
  402. package/dist/utils/observe-dimensions.js +147 -0
  403. package/dist/utils/projection-utils.js +83 -0
  404. package/dist/utils/searcher-utils.js +45 -0
  405. package/dist/utils/split-map-utils.js +108 -0
  406. package/dist/utils/table-utils/data-container-utils.js +69 -0
  407. package/dist/utils/table-utils/data-row.js +82 -0
  408. package/dist/utils/table-utils/index.js +20 -0
  409. package/dist/utils/table-utils/indexed-data-container.js +241 -0
  410. package/dist/utils/table-utils/kepler-table.js +544 -0
  411. package/dist/utils/table-utils/row-data-container.js +242 -0
  412. package/dist/utils/utils.js +234 -0
  413. package/layers.js +21 -0
  414. package/localization.js +21 -0
  415. package/middleware.js +21 -0
  416. package/package.json +281 -0
  417. package/processors.js +21 -0
  418. package/reducers.js +21 -0
  419. package/schemas.js +21 -0
  420. package/src/actions/action-wrapper.js +183 -0
  421. package/src/actions/actions.d.ts +104 -0
  422. package/src/actions/actions.js +178 -0
  423. package/src/actions/identity-actions.d.ts +53 -0
  424. package/src/actions/identity-actions.js +83 -0
  425. package/src/actions/index.d.ts +23 -0
  426. package/src/actions/index.js +42 -0
  427. package/src/actions/map-state-actions.d.ts +46 -0
  428. package/src/actions/map-state-actions.js +90 -0
  429. package/src/actions/map-style-actions.d.ts +116 -0
  430. package/src/actions/map-style-actions.js +135 -0
  431. package/src/actions/provider-actions.d.ts +203 -0
  432. package/src/actions/provider-actions.js +94 -0
  433. package/src/actions/ui-state-actions.d.ts +200 -0
  434. package/src/actions/ui-state-actions.js +272 -0
  435. package/src/actions/vis-state-actions.d.ts +502 -0
  436. package/src/actions/vis-state-actions.js +919 -0
  437. package/src/cloud-providers/index.d.ts +53 -0
  438. package/src/cloud-providers/index.js +21 -0
  439. package/src/cloud-providers/provider.js +233 -0
  440. package/src/components/bottom-widget.d.ts +33 -0
  441. package/src/components/bottom-widget.js +235 -0
  442. package/src/components/common/action-panel.d.ts +24 -0
  443. package/src/components/common/action-panel.js +177 -0
  444. package/src/components/common/animation-control/animation-control.js +155 -0
  445. package/src/components/common/animation-control/animation-controller.js +224 -0
  446. package/src/components/common/animation-control/animation-speed-slider.js +79 -0
  447. package/src/components/common/animation-control/floating-time-display.js +192 -0
  448. package/src/components/common/animation-control/playback-controls.js +278 -0
  449. package/src/components/common/animation-control/speed-control.js +71 -0
  450. package/src/components/common/checkbox.js +128 -0
  451. package/src/components/common/color-legend.js +198 -0
  452. package/src/components/common/data-table/button.js +47 -0
  453. package/src/components/common/data-table/canvas.js +43 -0
  454. package/src/components/common/data-table/cell-size.js +180 -0
  455. package/src/components/common/data-table/grid.js +55 -0
  456. package/src/components/common/data-table/index.js +620 -0
  457. package/src/components/common/data-table/option-dropdown.js +110 -0
  458. package/src/components/common/dataset-label.js +40 -0
  459. package/src/components/common/error-boundary.js +43 -0
  460. package/src/components/common/field-selector.js +233 -0
  461. package/src/components/common/field-token.js +56 -0
  462. package/src/components/common/file-uploader/file-drop.d.ts +19 -0
  463. package/src/components/common/file-uploader/file-drop.js +196 -0
  464. package/src/components/common/file-uploader/file-upload-progress.d.ts +11 -0
  465. package/src/components/common/file-uploader/file-upload-progress.js +110 -0
  466. package/src/components/common/file-uploader/file-upload.d.ts +22 -0
  467. package/src/components/common/file-uploader/file-upload.js +301 -0
  468. package/src/components/common/file-uploader/upload-button.d.ts.wip +11 -0
  469. package/src/components/common/file-uploader/upload-button.js +83 -0
  470. package/src/components/common/histogram-plot.js +102 -0
  471. package/src/components/common/icons/add.js +43 -0
  472. package/src/components/common/icons/anchor_window.js +53 -0
  473. package/src/components/common/icons/arrow-down-alt.js +43 -0
  474. package/src/components/common/icons/arrow-down-solid .js +43 -0
  475. package/src/components/common/icons/arrow-down.js +46 -0
  476. package/src/components/common/icons/arrow-left.js +48 -0
  477. package/src/components/common/icons/arrow-right.js +46 -0
  478. package/src/components/common/icons/arrow-up-alt.js +46 -0
  479. package/src/components/common/icons/arrow-up-solid.js +43 -0
  480. package/src/components/common/icons/arrow-up.js +46 -0
  481. package/src/components/common/icons/base.js +90 -0
  482. package/src/components/common/icons/bug.js +46 -0
  483. package/src/components/common/icons/cancel.js +43 -0
  484. package/src/components/common/icons/checkmark.js +45 -0
  485. package/src/components/common/icons/chevron-right.js +47 -0
  486. package/src/components/common/icons/clipboard.js +46 -0
  487. package/src/components/common/icons/clock.js +44 -0
  488. package/src/components/common/icons/close.js +49 -0
  489. package/src/components/common/icons/code-alt.js +43 -0
  490. package/src/components/common/icons/copy.js +44 -0
  491. package/src/components/common/icons/crosshairs.js +43 -0
  492. package/src/components/common/icons/cube-3d.js +45 -0
  493. package/src/components/common/icons/cursor-click.js +49 -0
  494. package/src/components/common/icons/data-table.js +45 -0
  495. package/src/components/common/icons/db.js +45 -0
  496. package/src/components/common/icons/delete.js +44 -0
  497. package/src/components/common/icons/docs.js +46 -0
  498. package/src/components/common/icons/drag-n-drop.js +44 -0
  499. package/src/components/common/icons/draw-polygon.js +60 -0
  500. package/src/components/common/icons/email.js +45 -0
  501. package/src/components/common/icons/expand.js +45 -0
  502. package/src/components/common/icons/eye-seen.js +44 -0
  503. package/src/components/common/icons/eye-unseen.js +44 -0
  504. package/src/components/common/icons/file-type.js +57 -0
  505. package/src/components/common/icons/file.js +43 -0
  506. package/src/components/common/icons/files.js +42 -0
  507. package/src/components/common/icons/filter-funnel.js +43 -0
  508. package/src/components/common/icons/free-window.js +53 -0
  509. package/src/components/common/icons/gear.js +45 -0
  510. package/src/components/common/icons/hash.js +43 -0
  511. package/src/components/common/icons/histogram.js +47 -0
  512. package/src/components/common/icons/index.js +96 -0
  513. package/src/components/common/icons/info.js +54 -0
  514. package/src/components/common/icons/layers.js +43 -0
  515. package/src/components/common/icons/left-arrow.js +43 -0
  516. package/src/components/common/icons/legend.js +43 -0
  517. package/src/components/common/icons/line-chart.js +45 -0
  518. package/src/components/common/icons/login.js +46 -0
  519. package/src/components/common/icons/logout.js +43 -0
  520. package/src/components/common/icons/map-icon.js +69 -0
  521. package/src/components/common/icons/map.js +69 -0
  522. package/src/components/common/icons/messages.js +43 -0
  523. package/src/components/common/icons/minus.js +45 -0
  524. package/src/components/common/icons/pause.js +43 -0
  525. package/src/components/common/icons/picture.js +43 -0
  526. package/src/components/common/icons/pin.js +43 -0
  527. package/src/components/common/icons/play.js +43 -0
  528. package/src/components/common/icons/polygon.js +74 -0
  529. package/src/components/common/icons/rectangle.js +75 -0
  530. package/src/components/common/icons/reduce.js +48 -0
  531. package/src/components/common/icons/reset.js +43 -0
  532. package/src/components/common/icons/rocket.js +43 -0
  533. package/src/components/common/icons/save.js +44 -0
  534. package/src/components/common/icons/save2.js +47 -0
  535. package/src/components/common/icons/search.js +44 -0
  536. package/src/components/common/icons/settings.js +45 -0
  537. package/src/components/common/icons/share.js +43 -0
  538. package/src/components/common/icons/split.js +63 -0
  539. package/src/components/common/icons/square-select.js +44 -0
  540. package/src/components/common/icons/swap-horizontal.js +43 -0
  541. package/src/components/common/icons/table.js +46 -0
  542. package/src/components/common/icons/trash.js +51 -0
  543. package/src/components/common/icons/upload.js +44 -0
  544. package/src/components/common/icons/vert-dots.js +50 -0
  545. package/src/components/common/icons/vert-three-dots.js +45 -0
  546. package/src/components/common/icons/warning.js +46 -0
  547. package/src/components/common/image-preview.js +111 -0
  548. package/src/components/common/info-helper.js +84 -0
  549. package/src/components/common/item-selector/accessor.js +45 -0
  550. package/src/components/common/item-selector/chickleted-input.js +143 -0
  551. package/src/components/common/item-selector/dropdown-list.js +250 -0
  552. package/src/components/common/item-selector/item-selector-submenu.js +68 -0
  553. package/src/components/common/item-selector/item-selector.d.ts +34 -0
  554. package/src/components/common/item-selector/item-selector.js +360 -0
  555. package/src/components/common/item-selector/typeahead.js +507 -0
  556. package/src/components/common/line-chart.js +134 -0
  557. package/src/components/common/loading-spinner.js +64 -0
  558. package/src/components/common/logo.js +92 -0
  559. package/src/components/common/map-layer-selector.d.ts +10 -0
  560. package/src/components/common/map-layer-selector.js +54 -0
  561. package/src/components/common/modal.js +233 -0
  562. package/src/components/common/portaled.js +264 -0
  563. package/src/components/common/progress-bar.d.ts +13 -0
  564. package/src/components/common/progress-bar.js +49 -0
  565. package/src/components/common/range-brush.js +256 -0
  566. package/src/components/common/range-plot.js +139 -0
  567. package/src/components/common/range-slider.js +299 -0
  568. package/src/components/common/slider/mouse-event.js +97 -0
  569. package/src/components/common/slider/slider-bar-handle.js +97 -0
  570. package/src/components/common/slider/slider-handle.js +181 -0
  571. package/src/components/common/slider/slider.js +213 -0
  572. package/src/components/common/styled-components.js +657 -0
  573. package/src/components/common/switch.js +50 -0
  574. package/src/components/common/time-range-slider-time-title.js +76 -0
  575. package/src/components/common/time-range-slider.js +163 -0
  576. package/src/components/common/time-slider-marker.js +168 -0
  577. package/src/components/common/toolbar-item.d.ts +14 -0
  578. package/src/components/common/toolbar-item.js +83 -0
  579. package/src/components/common/toolbar.js +45 -0
  580. package/src/components/common/vertical-toolbar.js +35 -0
  581. package/src/components/container.js +173 -0
  582. package/src/components/context.d.ts +10 -0
  583. package/src/components/context.js +32 -0
  584. package/src/components/editor/constants.js +39 -0
  585. package/src/components/editor/editor.js +218 -0
  586. package/src/components/editor/feature-action-panel.js +143 -0
  587. package/src/components/editor/feature-styles.js +75 -0
  588. package/src/components/editor/handle-style.js +89 -0
  589. package/src/components/filters/components.js +28 -0
  590. package/src/components/filters/filter-panels/filter-panel-types.d.ts +28 -0
  591. package/src/components/filters/filter-panels/filter-panel-with-field-select.js +124 -0
  592. package/src/components/filters/filter-panels/multi-select-filter-panel.js +75 -0
  593. package/src/components/filters/filter-panels/new-filter-panel.js +99 -0
  594. package/src/components/filters/filter-panels/polygon-filter-panel.js +96 -0
  595. package/src/components/filters/filter-panels/range-filter-panel.js +75 -0
  596. package/src/components/filters/filter-panels/single-select-filter-panel.js +75 -0
  597. package/src/components/filters/filter-panels/time-range-filter-panel.js +95 -0
  598. package/src/components/filters/index.js +25 -0
  599. package/src/components/filters/multi-select-filter.js +36 -0
  600. package/src/components/filters/polygon-filter.d.ts +13 -0
  601. package/src/components/filters/polygon-filter.js +73 -0
  602. package/src/components/filters/range-filter.js +43 -0
  603. package/src/components/filters/single-select-filter.js +49 -0
  604. package/src/components/filters/time-range-filter.js +68 -0
  605. package/src/components/filters/time-widget.js +228 -0
  606. package/src/components/geocoder/geocoder.d.ts +33 -0
  607. package/src/components/geocoder/geocoder.js +272 -0
  608. package/src/components/geocoder-panel.js +191 -0
  609. package/src/components/index.js +247 -0
  610. package/src/components/injector.js +161 -0
  611. package/src/components/kepler-gl.d.ts +60 -0
  612. package/src/components/kepler-gl.js +525 -0
  613. package/src/components/map/coordinate-info.js +53 -0
  614. package/src/components/map/layer-hover-info.d.ts +12 -0
  615. package/src/components/map/layer-hover-info.js +185 -0
  616. package/src/components/map/layer-selector-panel.d.ts +16 -0
  617. package/src/components/map/layer-selector-panel.js +106 -0
  618. package/src/components/map/locale-panel.d.ts +12 -0
  619. package/src/components/map/locale-panel.js +91 -0
  620. package/src/components/map/map-control-panel.d.ts +11 -0
  621. package/src/components/map/map-control-panel.js +98 -0
  622. package/src/components/map/map-control-toolbar.js +33 -0
  623. package/src/components/map/map-control-tooltip.d.ts +8 -0
  624. package/src/components/map/map-control-tooltip.js +40 -0
  625. package/src/components/map/map-control.d.ts +37 -0
  626. package/src/components/map/map-control.js +100 -0
  627. package/src/components/map/map-draw-panel.d.ts +16 -0
  628. package/src/components/map/map-draw-panel.js +125 -0
  629. package/src/components/map/map-legend-panel.d.ts +20 -0
  630. package/src/components/map/map-legend-panel.js +100 -0
  631. package/src/components/map/map-legend.d.ts +58 -0
  632. package/src/components/map/map-legend.js +228 -0
  633. package/src/components/map/map-popover.d.ts +28 -0
  634. package/src/components/map/map-popover.js +250 -0
  635. package/src/components/map/split-map-button.d.ts +19 -0
  636. package/src/components/map/split-map-button.js +82 -0
  637. package/src/components/map/toggle-3d-button.d.ts +16 -0
  638. package/src/components/map/toggle-3d-button.js +75 -0
  639. package/src/components/map-container.d.ts +18 -0
  640. package/src/components/map-container.js +502 -0
  641. package/src/components/maps-layout.d.ts +5 -0
  642. package/src/components/maps-layout.js +40 -0
  643. package/src/components/modal-container.d.ts +38 -0
  644. package/src/components/modal-container.js +545 -0
  645. package/src/components/modals/add-map-style-modal.js +301 -0
  646. package/src/components/modals/cloud-tile.js +147 -0
  647. package/src/components/modals/data-table-modal.js +217 -0
  648. package/src/components/modals/delete-data-modal.js +48 -0
  649. package/src/components/modals/error-display.js +39 -0
  650. package/src/components/modals/export-data-modal.js +193 -0
  651. package/src/components/modals/export-image-modal.d.ts +21 -0
  652. package/src/components/modals/export-image-modal.js +144 -0
  653. package/src/components/modals/export-map-modal/components.js +42 -0
  654. package/src/components/modals/export-map-modal/export-html-map.d.ts +21 -0
  655. package/src/components/modals/export-map-modal/export-html-map.js +145 -0
  656. package/src/components/modals/export-map-modal/export-json-map.js +100 -0
  657. package/src/components/modals/export-map-modal/export-map-modal.js +114 -0
  658. package/src/components/modals/image-modal-container.d.ts +13 -0
  659. package/src/components/modals/image-modal-container.js +76 -0
  660. package/src/components/modals/load-data-modal.d.ts +30 -0
  661. package/src/components/modals/load-data-modal.js +94 -0
  662. package/src/components/modals/load-storage-map.js +381 -0
  663. package/src/components/modals/loading-dialog.js +69 -0
  664. package/src/components/modals/modal-dialog.js +25 -0
  665. package/src/components/modals/modal-tabs.js +126 -0
  666. package/src/components/modals/overwrite-map-modal.d.ts +18 -0
  667. package/src/components/modals/overwrite-map-modal.js +97 -0
  668. package/src/components/modals/provider-modal-container.d.ts +12 -0
  669. package/src/components/modals/provider-modal-container.js +60 -0
  670. package/src/components/modals/save-map-modal.d.ts +32 -0
  671. package/src/components/modals/save-map-modal.js +244 -0
  672. package/src/components/modals/share-map-modal.js +208 -0
  673. package/src/components/modals/status-panel.js +95 -0
  674. package/src/components/modals/storage-map-viewer.js +177 -0
  675. package/src/components/notification-panel/notification-item.js +132 -0
  676. package/src/components/notification-panel.js +72 -0
  677. package/src/components/performance.js +103 -0
  678. package/src/components/plot-container.js +228 -0
  679. package/src/components/side-panel/cloud-storage-dropdown.js +52 -0
  680. package/src/components/side-panel/common/dataset-info.js +45 -0
  681. package/src/components/side-panel/common/dataset-tag.js +55 -0
  682. package/src/components/side-panel/common/dataset-title.js +146 -0
  683. package/src/components/side-panel/common/source-data-catalog.js +61 -0
  684. package/src/components/side-panel/common/source-data-selector.js +79 -0
  685. package/src/components/side-panel/custom-panel.js +50 -0
  686. package/src/components/side-panel/filter-manager.js +105 -0
  687. package/src/components/side-panel/filter-panel/filter-panel-header.js +83 -0
  688. package/src/components/side-panel/filter-panel/filter-panel.js +126 -0
  689. package/src/components/side-panel/interaction-manager.js +46 -0
  690. package/src/components/side-panel/interaction-panel/brush-config.js +51 -0
  691. package/src/components/side-panel/interaction-panel/interaction-panel.js +115 -0
  692. package/src/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +199 -0
  693. package/src/components/side-panel/interaction-panel/tooltip-config.js +190 -0
  694. package/src/components/side-panel/layer-manager.js +290 -0
  695. package/src/components/side-panel/layer-panel/color-dimension-scale-selector.js +33 -0
  696. package/src/components/side-panel/layer-panel/color-palette.js +90 -0
  697. package/src/components/side-panel/layer-panel/color-range-selector.js +322 -0
  698. package/src/components/side-panel/layer-panel/color-selector.js +193 -0
  699. package/src/components/side-panel/layer-panel/column-selector.js +70 -0
  700. package/src/components/side-panel/layer-panel/custom-markers-config-group.js +30 -0
  701. package/src/components/side-panel/layer-panel/custom-palette.js +296 -0
  702. package/src/components/side-panel/layer-panel/custom-picker.js +88 -0
  703. package/src/components/side-panel/layer-panel/dimension-scale-selector.js +48 -0
  704. package/src/components/side-panel/layer-panel/layer-aggregation-resolution.js +13 -0
  705. package/src/components/side-panel/layer-panel/layer-column-config.js +113 -0
  706. package/src/components/side-panel/layer-panel/layer-config-group.js +237 -0
  707. package/src/components/side-panel/layer-panel/layer-configurator.js +1317 -0
  708. package/src/components/side-panel/layer-panel/layer-panel-header.js +236 -0
  709. package/src/components/side-panel/layer-panel/layer-panel.js +171 -0
  710. package/src/components/side-panel/layer-panel/layer-type-dropdown-list.js +105 -0
  711. package/src/components/side-panel/layer-panel/layer-type-list-item.js +83 -0
  712. package/src/components/side-panel/layer-panel/layer-type-selector.js +89 -0
  713. package/src/components/side-panel/layer-panel/layer-visibility-by-zoom.js +123 -0
  714. package/src/components/side-panel/layer-panel/single-color-palette.js +98 -0
  715. package/src/components/side-panel/layer-panel/text-label-panel.js +179 -0
  716. package/src/components/side-panel/layer-panel/vis-config-by-field-selector.js +163 -0
  717. package/src/components/side-panel/layer-panel/vis-config-slider.js +82 -0
  718. package/src/components/side-panel/layer-panel/vis-config-switch.js +87 -0
  719. package/src/components/side-panel/map-manager.js +114 -0
  720. package/src/components/side-panel/map-style-panel/map-layer-selector.js +128 -0
  721. package/src/components/side-panel/map-style-panel/map-style-selector.js +111 -0
  722. package/src/components/side-panel/panel-dropdown.js +53 -0
  723. package/src/components/side-panel/panel-header-action.js +106 -0
  724. package/src/components/side-panel/panel-header.js +321 -0
  725. package/src/components/side-panel/panel-tab.js +62 -0
  726. package/src/components/side-panel/panel-title.js +32 -0
  727. package/src/components/side-panel/panel-toggle.js +70 -0
  728. package/src/components/side-panel/side-bar.js +136 -0
  729. package/src/components/side-panel.d.ts +33 -0
  730. package/src/components/side-panel.js +253 -0
  731. package/src/connect/keplergl-connect.js +47 -0
  732. package/src/connect/with-local-selector.d.ts +11 -0
  733. package/src/connect/with-local-selector.js +67 -0
  734. package/src/constants/action-types.d.ts +135 -0
  735. package/src/constants/action-types.js +184 -0
  736. package/src/constants/color-palette.js +553 -0
  737. package/src/constants/color-ranges.js +63 -0
  738. package/src/constants/custom-color-ranges.js +551 -0
  739. package/src/constants/default-settings.js +991 -0
  740. package/src/constants/index.js +80 -0
  741. package/src/constants/keyevent.js +36 -0
  742. package/src/constants/tooltip.js +198 -0
  743. package/src/constants/user-feedbacks.js +32 -0
  744. package/src/constants/user-guides.js +32 -0
  745. package/src/deckgl-layers/3d-building-layer/3d-building-layer.js +56 -0
  746. package/src/deckgl-layers/3d-building-layer/3d-building-utils.js +192 -0
  747. package/src/deckgl-layers/cluster-layer/cluster-layer.js +255 -0
  748. package/src/deckgl-layers/column-layer/enhanced-column-layer.js +63 -0
  749. package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +70 -0
  750. package/src/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +70 -0
  751. package/src/deckgl-layers/layer-utils/cluster-utils.js +76 -0
  752. package/src/deckgl-layers/layer-utils/cpu-aggregator.js +583 -0
  753. package/src/deckgl-layers/layer-utils/shader-utils.js +41 -0
  754. package/src/deckgl-layers/line-layer/line-layer.js +122 -0
  755. package/src/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +57 -0
  756. package/src/deckgl-layers/svg-icon-layer/svg-icon-layer.js +85 -0
  757. package/src/index.js +52 -0
  758. package/src/layers/aggregation-layer.js +356 -0
  759. package/src/layers/arc-layer/arc-layer-icon.js +67 -0
  760. package/src/layers/arc-layer/arc-layer.js +221 -0
  761. package/src/layers/base-layer.js +1439 -0
  762. package/src/layers/cluster-layer/cluster-layer-icon.js +71 -0
  763. package/src/layers/cluster-layer/cluster-layer.js +125 -0
  764. package/src/layers/default-layer-icon.js +50 -0
  765. package/src/layers/geojson-layer/geojson-layer-icon.js +68 -0
  766. package/src/layers/geojson-layer/geojson-layer.js +344 -0
  767. package/src/layers/geojson-layer/geojson-utils.js +179 -0
  768. package/src/layers/grid-layer/grid-layer-icon.js +53 -0
  769. package/src/layers/grid-layer/grid-layer.js +95 -0
  770. package/src/layers/grid-layer/grid-utils.js +71 -0
  771. package/src/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +48 -0
  772. package/src/layers/h3-hexagon-layer/h3-hexagon-layer.js +264 -0
  773. package/src/layers/h3-hexagon-layer/h3-utils.js +65 -0
  774. package/src/layers/heatmap-layer/heatmap-layer-icon.js +64 -0
  775. package/src/layers/heatmap-layer/heatmap-layer.js +226 -0
  776. package/src/layers/hexagon-layer/hexagon-layer-icon.js +74 -0
  777. package/src/layers/hexagon-layer/hexagon-layer.js +95 -0
  778. package/src/layers/hexagon-layer/hexagon-utils.js +63 -0
  779. package/src/layers/icon-layer/icon-info-modal.js +155 -0
  780. package/src/layers/icon-layer/icon-layer-icon.js +56 -0
  781. package/src/layers/icon-layer/icon-layer.js +324 -0
  782. package/src/layers/index.d.ts +126 -0
  783. package/src/layers/index.js +72 -0
  784. package/src/layers/layer-factory.d.ts +148 -0
  785. package/src/layers/layer-factory.js +480 -0
  786. package/src/layers/layer-text-label.js +62 -0
  787. package/src/layers/layer-update.js +71 -0
  788. package/src/layers/line-layer/line-layer-icon.js +69 -0
  789. package/src/layers/line-layer/line-layer.js +161 -0
  790. package/src/layers/mapbox-utils.js +195 -0
  791. package/src/layers/mapboxgl-layer.js +154 -0
  792. package/src/layers/point-layer/point-layer-icon.js +51 -0
  793. package/src/layers/point-layer/point-layer.js +414 -0
  794. package/src/layers/s2-geometry-layer/s2-geometry-layer.js +265 -0
  795. package/src/layers/s2-geometry-layer/s2-layer-icon.js +47 -0
  796. package/src/layers/s2-geometry-layer/s2-utils.js +36 -0
  797. package/src/layers/scenegraph-layer/scenegraph-info-modal.js +97 -0
  798. package/src/layers/scenegraph-layer/scenegraph-layer-icon.js +144 -0
  799. package/src/layers/scenegraph-layer/scenegraph-layer.js +182 -0
  800. package/src/layers/trip-layer/trip-info-modal.js +82 -0
  801. package/src/layers/trip-layer/trip-layer-icon.js +62 -0
  802. package/src/layers/trip-layer/trip-layer.js +295 -0
  803. package/src/layers/trip-layer/trip-utils.js +169 -0
  804. package/src/layers/types.js +37 -0
  805. package/src/localization/en.js +501 -0
  806. package/src/localization/formatted-message.js +33 -0
  807. package/src/localization/index.js +32 -0
  808. package/src/localization/locales.js +46 -0
  809. package/src/middleware/index.js +34 -0
  810. package/src/processors/data-processor.d.ts +57 -0
  811. package/src/processors/data-processor.js +684 -0
  812. package/src/processors/file-handler.d.ts +46 -0
  813. package/src/processors/file-handler.js +220 -0
  814. package/src/processors/index.js +44 -0
  815. package/src/reducers/combined-updaters.d.ts +26 -0
  816. package/src/reducers/combined-updaters.js +198 -0
  817. package/src/reducers/composer-helpers.d.ts +32 -0
  818. package/src/reducers/composer-helpers.js +70 -0
  819. package/src/reducers/composers.js +33 -0
  820. package/src/reducers/core.d.ts +25 -0
  821. package/src/reducers/core.js +97 -0
  822. package/src/reducers/index.d.ts +118 -0
  823. package/src/reducers/index.js +53 -0
  824. package/src/reducers/map-state-updaters.d.ts +64 -0
  825. package/src/reducers/map-state-updaters.js +224 -0
  826. package/src/reducers/map-state.js +47 -0
  827. package/src/reducers/map-style-updaters.d.ts +76 -0
  828. package/src/reducers/map-style-updaters.js +541 -0
  829. package/src/reducers/map-style.js +53 -0
  830. package/src/reducers/provider-state-updaters.d.ts +88 -0
  831. package/src/reducers/provider-state-updaters.js +428 -0
  832. package/src/reducers/provider-state.js +53 -0
  833. package/src/reducers/root.js +230 -0
  834. package/src/reducers/types.d.ts +10 -0
  835. package/src/reducers/ui-state-updaters.d.ts +198 -0
  836. package/src/reducers/ui-state-updaters.js +766 -0
  837. package/src/reducers/ui-state.js +73 -0
  838. package/src/reducers/vis-state-merger.d.ts +78 -0
  839. package/src/reducers/vis-state-merger.js +545 -0
  840. package/src/reducers/vis-state-selectors.js +35 -0
  841. package/src/reducers/vis-state-updaters.d.ts +534 -0
  842. package/src/reducers/vis-state-updaters.js +2137 -0
  843. package/src/reducers/vis-state.js +155 -0
  844. package/src/schemas/dataset-schema.js +141 -0
  845. package/src/schemas/index.d.ts +24 -0
  846. package/src/schemas/index.js +42 -0
  847. package/src/schemas/map-state-schema.js +52 -0
  848. package/src/schemas/map-style-schema.js +95 -0
  849. package/src/schemas/schema-manager.d.ts +229 -0
  850. package/src/schemas/schema-manager.js +228 -0
  851. package/src/schemas/schema-utils.js +54 -0
  852. package/src/schemas/schema.d.ts +47 -0
  853. package/src/schemas/schema.js +90 -0
  854. package/src/schemas/versions.d.ts +23 -0
  855. package/src/schemas/versions.js +28 -0
  856. package/src/schemas/vis-state-schema.js +731 -0
  857. package/src/styles/base.js +1620 -0
  858. package/src/styles/index.js +22 -0
  859. package/src/styles/media-breakpoints.js +47 -0
  860. package/src/tasks/tasks.js +92 -0
  861. package/src/templates/export-map-html.js +262 -0
  862. package/src/typedefs/README.md +3 -0
  863. package/src/typedefs/deck.gl__core.d.ts +64 -0
  864. package/src/typedefs/deck.gl__mesh-layers.d.ts +33 -0
  865. package/src/utils/aggregate-utils.js +71 -0
  866. package/src/utils/color-utils.js +106 -0
  867. package/src/utils/data-scale-utils.d.ts +26 -0
  868. package/src/utils/data-scale-utils.js +61 -0
  869. package/src/utils/data-utils.d.ts +45 -0
  870. package/src/utils/data-utils.js +428 -0
  871. package/src/utils/dataset-utils.d.ts +10 -0
  872. package/src/utils/dataset-utils.js +255 -0
  873. package/src/utils/dom-to-image.js +533 -0
  874. package/src/utils/dom-utils.js +354 -0
  875. package/src/utils/export-utils.js +247 -0
  876. package/src/utils/filter-utils.d.ts +192 -0
  877. package/src/utils/filter-utils.js +1114 -0
  878. package/src/utils/gl-utils.js +42 -0
  879. package/src/utils/gpu-filter-utils.d.ts +28 -0
  880. package/src/utils/gpu-filter-utils.js +253 -0
  881. package/src/utils/index.d.ts +5 -0
  882. package/src/utils/index.js +55 -0
  883. package/src/utils/interaction-utils.d.ts +36 -0
  884. package/src/utils/interaction-utils.js +185 -0
  885. package/src/utils/layer-utils.d.ts +78 -0
  886. package/src/utils/layer-utils.js +205 -0
  887. package/src/utils/locale-utils.js +59 -0
  888. package/src/utils/map-info-utils.js +29 -0
  889. package/src/utils/map-style-utils/mapbox-gl-style-editor.js +201 -0
  890. package/src/utils/map-style-utils/mapbox-utils.js +28 -0
  891. package/src/utils/mapbox-utils.js +27 -0
  892. package/src/utils/notifications-utils.js +83 -0
  893. package/src/utils/observe-dimensions.d.ts +18 -0
  894. package/src/utils/observe-dimensions.js +115 -0
  895. package/src/utils/projection-utils.js +72 -0
  896. package/src/utils/searcher-utils.js +37 -0
  897. package/src/utils/split-map-utils.js +104 -0
  898. package/src/utils/table-utils/UPGRADE-data-container.md +38 -0
  899. package/src/utils/table-utils/data-container-interface.d.ts +140 -0
  900. package/src/utils/table-utils/data-container-utils.d.ts +43 -0
  901. package/src/utils/table-utils/data-container-utils.js +61 -0
  902. package/src/utils/table-utils/data-row.d.ts +65 -0
  903. package/src/utils/table-utils/data-row.js +54 -0
  904. package/src/utils/table-utils/index.d.ts +1 -0
  905. package/src/utils/table-utils/index.js +21 -0
  906. package/src/utils/table-utils/indexed-data-container.d.ts +26 -0
  907. package/src/utils/table-utils/indexed-data-container.js +152 -0
  908. package/src/utils/table-utils/kepler-table.d.ts +114 -0
  909. package/src/utils/table-utils/kepler-table.js +486 -0
  910. package/src/utils/table-utils/row-data-container.d.ts +30 -0
  911. package/src/utils/table-utils/row-data-container.js +151 -0
  912. package/src/utils/utils.js +202 -0
  913. package/styles.js +21 -0
@@ -0,0 +1,1570 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.inputColor = exports.inputBorderActiveColorLT = exports.inputBorderActiveColor = exports.inputBorderHoverColorLT = exports.inputBorderHoverColor = exports.inputBorderColor = exports.inputBgdActiveLT = exports.inputBgdActive = exports.inputBgdHover = exports.inputBgd = exports.inputFontWeight = exports.inputFontSizeSmall = exports.inputFontSize = exports.inputPaddingTiny = exports.inputPaddingSmall = exports.inputPadding = exports.inputBoxHeightTiny = exports.inputBoxHeightSmall = exports.inputBoxHeight = exports.selectionBtnBorderActColor = exports.selectionBtnBorderColor = exports.selectionBtnBorder = exports.selectionBtnBgdHover = exports.selectionBtnActColor = exports.selectionBtnColor = exports.selectionBtnActBgd = exports.selectionBtnBgd = exports.floatingBtnActColor = exports.floatingBtnColor = exports.floatingBtnBorderHover = exports.floatingBtnBorder = exports.floatingBtnBgdHover = exports.floatingBtnActBgd = exports.floatingBtnBgd = exports.negativeBtnActColor = exports.negativeBtnColor = exports.negativeBtnBorder = exports.negativeBtnBgdHover = exports.negativeBtnActBgd = exports.negativeBtnBgd = exports.linkBtnBorder = exports.linkBtnActBgdHover = exports.linkBtnActColor = exports.linkBtnColor = exports.linkBtnActBgd = exports.linkBtnBgd = exports.ctaBtnActColor = exports.ctaBtnColor = exports.ctaBtnActBgd = exports.ctaBtnBgdHover = exports.ctaBtnBgd = exports.secondaryBtnBorder = exports.secondaryBtnBgdHover = exports.secondaryBtnActColor = exports.secondaryBtnColor = exports.secondaryBtnActBgd = exports.secondaryBtnBgd = exports.primaryBtnBorder = exports.primaryBtnFontSizeLarge = exports.primaryBtnFontSizeSmall = exports.primaryBtnFontSizeDefault = exports.primaryBtnRadius = exports.primaryBtnBgdHover = exports.primaryBtnActColor = exports.primaryBtnColor = exports.primaryBtnActBgd = exports.primaryBtnBgd = exports.btnFontFamily = exports.logoColor = exports.errorColor = exports.activeColorHover = exports.activeColorLT = exports.activeColor = exports.textColorHlLT = exports.textColorHl = exports.titleTextColor = exports.panelTabWidth = exports.panelToggleBorderColor = exports.subtextColorActive = exports.subtextColorLT = exports.subtextColor = exports.titleColorLT = exports.dataTableTextColor = exports.textColorLT = exports.textColor = exports.labelColorLT = exports.labelHoverColor = exports.labelColor = exports.lineHeight = exports.fontSize = exports.fontWeight = exports.fontFamily = exports.borderColorLT = exports.borderColor = exports.borderRadius = exports.boxSizing = exports.boxShadow = exports.transitionSlow = exports.transitionFast = exports.transition = void 0;
9
+ exports.panelBorderRadius = exports.panelBoxShadow = exports.layerPanelHeaderHeight = exports.panelHeaderHeight = exports.panelHeaderIconHover = exports.panelHeaderIconActive = exports.panelHeaderIcon = exports.chickletBgdLT = exports.chickletBgd = exports.panelHeaderBorderRadius = exports.panelBackgroundHover = exports.panelContentBackground = exports.panelBackground = exports.sidePanelTitleLineHeight = exports.sidePanelTitleFontsize = exports.sideBarCloseBtnBgdHover = exports.sideBarCloseBtnColor = exports.sideBarCloseBtnBgd = exports.sidePanelScrollBarHeight = exports.sidePanelScrollBarWidth = exports.sidePanelBg = exports.sidePanelBorderColor = exports.sidePanelBorder = exports.sidePanelInnerPadding = exports.layerConfigGroupPaddingLeft = exports.layerConfigGroupMarginBottom = exports.sidePanelHeaderBorder = exports.sidePanelHeaderBg = exports.radioButtonBgdColor = exports.radioButtonRadius = exports.radioBorderColor = exports.radioBorderRadius = exports.radioRadius = exports.checkboxBoxBgdChecked = exports.checkboxBoxBgd = exports.checkboxBorderColorLT = exports.checkboxBorderRadius = exports.checkboxBorderColor = exports.checkboxMargin = exports.checkboxHeight = exports.checkboxWidth = exports.secondarySwitchBtnBgd = exports.secondarySwitchTrackBgd = exports.switchBtnHeight = exports.switchBtnWidth = exports.switchBtnBorderRadius = exports.switchBtnBoxShadow = exports.switchBtnBgdActive = exports.switchBtnBgd = exports.switchTrackBorderRadius = exports.switchTrackBgdActive = exports.switchTrackBgd = exports.switchLabelMargin = exports.switchHeight = exports.switchWidth = exports.dropdownWapperMargin = exports.dropdownWrapperZ = exports.dropdownListLineHeight = exports.dropdownListBorderTopLT = exports.dropdownListBorderTop = exports.dropdownListBgdLT = exports.toolbarItemBorderRaddius = exports.toolbarItemBorderHover = exports.toolbarItemIconHover = exports.toolbarItemBgdHover = exports.dropdownListBgd = exports.dropdownListShadow = exports.dropdownListHighlightBgLT = exports.dropdownListHighlightBg = exports.panelTabColor = exports.selectBorder = exports.selectBorderRadius = exports.selectBorderColorLT = exports.selectBorderColor = exports.selectBackgroundHoverLT = exports.selectBackgroundLT = exports.selectBackgroundHover = exports.selectBackground = exports.selectColorPlaceHolderLT = exports.selectColorPlaceHolder = exports.selectFontWeightBold = exports.selectFontWeight = exports.selectFontSize = exports.selectActiveBorderColor = exports.selectColorLT = exports.selectColor = exports.dropdownSelectHeight = exports.secondaryInputBorderActiveColor = exports.secondaryInputBorderColor = exports.secondaryInputColor = exports.secondaryInputBgdActive = exports.secondaryInputBgdHover = exports.secondaryInputBgd = exports.inputBoxShadowActiveLT = exports.inputBoxShadowActive = exports.inputBoxShadow = exports.inputPlaceholderFontWeight = exports.inputPlaceholderColorLT = exports.inputPlaceholderColor = exports.inputBorderRadius = void 0;
10
+ exports.breakPoints = exports.layerConfiguratorPadding = exports.layerConfiguratorMargin = exports.layerConfiguratorBorderColor = exports.layerConfiguratorBorder = exports.styledConfigGroupHeaderBorder = exports.layerConfigGroupLabelLabelFontSize = exports.layerConfigGroupLabelLabelMargin = exports.layerConfigGroupColor = exports.layerConfigGroupLabelPadding = exports.layerConfigGroupLabelMargin = exports.layerConfigGroupLabelBorderLeft = exports.textTruncate = exports.fieldTokenRightMargin = exports.actionPanelHeight = exports.actionPanelWidth = exports.notificationPanelItemHeight = exports.notificationPanelItemWidth = exports.notificationPanelWidth = exports.notificationColors = exports.rangePlotContainerHLarge = exports.rangePlotHLarge = exports.rangePlotContainerH = exports.rangePlotH = exports.rangePlotMarginLarge = exports.rangePlotMargin = exports.timeTitleFontSize = exports.axisFontColor = exports.axisFontSize = exports.histogramFillOutRange = exports.histogramFillInRange = exports.rangeBrushBgd = exports.geocoderInputHeight = exports.geocoderRight = exports.geocoderTop = exports.geocoderWidth = exports.sliderMarginBottom = exports.sliderMarginTop = exports.sliderMarginTopIsTime = exports.sliderInputPadding = exports.sliderInputFontSize = exports.sliderInputWidth = exports.sliderInputHeight = exports.sliderHandleShadow = exports.sliderHandleAfterContent = exports.sliderHandleHoverColor = exports.sliderBorderRadius = exports.sliderInactiveBorderColor = exports.sliderHandleTextColor = exports.sliderHandleColor = exports.sliderHandleWidth = exports.sliderHandleHeight = exports.sliderBarHeight = exports.sliderBarRadius = exports.sliderBarHoverColor = exports.sliderBarBgd = exports.sliderBarColor = exports.modalDialogColor = exports.modalDialogBgd = exports.modalDropdownBackground = exports.modalButtonZ = exports.modalTitleZ = exports.modalFooterZ = exports.modalContentZ = exports.modalOverlayBgd = exports.modalOverLayZ = exports.modalPortableLateralPadding = exports.modalLateralPadding = exports.modalPadding = exports.modalImagePlaceHolder = exports.modalFooterBgd = exports.modalTitleFontSizeSmaller = exports.modalTitleFontSize = exports.modalTitleColor = exports.bottomWidgetBgd = exports.bottomWidgetPaddingLeft = exports.bottomWidgetPaddingBottom = exports.bottomWidgetPaddingRight = exports.bottomWidgetPaddingTop = exports.bottomPanelGap = exports.bottomInnerPdVert = exports.bottomInnerPdSide = exports.sidepanelDividerHeight = exports.sidepanelDividerMargin = exports.sidepanelDividerBorder = exports.layerTypeIconSizeSM = exports.layerTypeIconPdL = exports.layerTypeIconSizeL = exports.tooltipFontSize = exports.tooltipBoxShadow = exports.tooltipColor = exports.tooltipBg = exports.mapPanelHeaderBackgroundColor = exports.mapPanelBackgroundColor = exports.panelBorderLT = exports.panelBorder = exports.panelBorderColor = exports.panelToggleBottomPadding = exports.panelToggleMarginRight = exports.panelBackgroundLT = void 0;
11
+ exports.themeBS = exports.themeLT = exports.theme = exports.modalScrollBar = void 0;
12
+
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+
15
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
16
+
17
+ var _styledComponents = require("styled-components");
18
+
19
+ var _defaultSettings = require("../constants/default-settings");
20
+
21
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31;
22
+
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
24
+
25
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+
27
+ var transition = 'all .4s ease';
28
+ exports.transition = transition;
29
+ var transitionFast = 'all .2s ease';
30
+ exports.transitionFast = transitionFast;
31
+ var transitionSlow = 'all .8s ease';
32
+ exports.transitionSlow = transitionSlow;
33
+ var boxShadow = '0 1px 2px 0 rgba(0,0,0,0.10)';
34
+ exports.boxShadow = boxShadow;
35
+ var boxSizing = 'border-box';
36
+ exports.boxSizing = boxSizing;
37
+ var borderRadius = '1px';
38
+ exports.borderRadius = borderRadius;
39
+ var borderColor = '#3A414C';
40
+ exports.borderColor = borderColor;
41
+ var borderColorLT = '#F1F1F1'; // TEXT
42
+
43
+ exports.borderColorLT = borderColorLT;
44
+ var fontFamily = "ff-clan-web-pro, 'Helvetica Neue', Helvetica, sans-serif";
45
+ exports.fontFamily = fontFamily;
46
+ var fontWeight = 400;
47
+ exports.fontWeight = fontWeight;
48
+ var fontSize = '0.875em';
49
+ exports.fontSize = fontSize;
50
+ var lineHeight = 1.71429;
51
+ exports.lineHeight = lineHeight;
52
+ var labelColor = '#6A7485';
53
+ exports.labelColor = labelColor;
54
+ var labelHoverColor = '#C6C6C6';
55
+ exports.labelHoverColor = labelHoverColor;
56
+ var labelColorLT = '#6A7485';
57
+ exports.labelColorLT = labelColorLT;
58
+ var textColor = '#A0A7B4';
59
+ exports.textColor = textColor;
60
+ var textColorLT = '#3A414C';
61
+ exports.textColorLT = textColorLT;
62
+ var dataTableTextColor = textColorLT;
63
+ exports.dataTableTextColor = dataTableTextColor;
64
+ var titleColorLT = '#29323C';
65
+ exports.titleColorLT = titleColorLT;
66
+ var subtextColor = '#6A7485';
67
+ exports.subtextColor = subtextColor;
68
+ var subtextColorLT = '#A0A7B4';
69
+ exports.subtextColorLT = subtextColorLT;
70
+ var subtextColorActive = '#FFFFFF';
71
+ exports.subtextColorActive = subtextColorActive;
72
+ var panelToggleBorderColor = '#FFFFFF';
73
+ exports.panelToggleBorderColor = panelToggleBorderColor;
74
+ var panelTabWidth = '30px';
75
+ exports.panelTabWidth = panelTabWidth;
76
+ var titleTextColor = '#FFFFFF';
77
+ exports.titleTextColor = titleTextColor;
78
+ var textColorHl = '#F0F0F0';
79
+ exports.textColorHl = textColorHl;
80
+ var textColorHlLT = '#000000';
81
+ exports.textColorHlLT = textColorHlLT;
82
+ var activeColor = '#1FBAD6';
83
+ exports.activeColor = activeColor;
84
+ var activeColorLT = '#2473BD';
85
+ exports.activeColorLT = activeColorLT;
86
+ var activeColorHover = '#108188';
87
+ exports.activeColorHover = activeColorHover;
88
+ var errorColor = '#F9042C';
89
+ exports.errorColor = errorColor;
90
+ var logoColor = activeColor; // Button
91
+
92
+ exports.logoColor = logoColor;
93
+ var btnFontFamily = fontFamily;
94
+ exports.btnFontFamily = btnFontFamily;
95
+ var primaryBtnBgd = '#0F9668';
96
+ exports.primaryBtnBgd = primaryBtnBgd;
97
+ var primaryBtnActBgd = '#13B17B';
98
+ exports.primaryBtnActBgd = primaryBtnActBgd;
99
+ var primaryBtnColor = '#FFFFFF';
100
+ exports.primaryBtnColor = primaryBtnColor;
101
+ var primaryBtnActColor = '#FFFFFF';
102
+ exports.primaryBtnActColor = primaryBtnActColor;
103
+ var primaryBtnBgdHover = '#13B17B';
104
+ exports.primaryBtnBgdHover = primaryBtnBgdHover;
105
+ var primaryBtnRadius = '2px';
106
+ exports.primaryBtnRadius = primaryBtnRadius;
107
+ var primaryBtnFontSizeDefault = '11px';
108
+ exports.primaryBtnFontSizeDefault = primaryBtnFontSizeDefault;
109
+ var primaryBtnFontSizeSmall = '10px';
110
+ exports.primaryBtnFontSizeSmall = primaryBtnFontSizeSmall;
111
+ var primaryBtnFontSizeLarge = '14px';
112
+ exports.primaryBtnFontSizeLarge = primaryBtnFontSizeLarge;
113
+ var primaryBtnBorder = '0';
114
+ exports.primaryBtnBorder = primaryBtnBorder;
115
+ var secondaryBtnBgd = '#6A7485';
116
+ exports.secondaryBtnBgd = secondaryBtnBgd;
117
+ var secondaryBtnActBgd = '#A0A7B4';
118
+ exports.secondaryBtnActBgd = secondaryBtnActBgd;
119
+ var secondaryBtnColor = '#FFFFFF';
120
+ exports.secondaryBtnColor = secondaryBtnColor;
121
+ var secondaryBtnActColor = '#FFFFFF';
122
+ exports.secondaryBtnActColor = secondaryBtnActColor;
123
+ var secondaryBtnBgdHover = '#A0A7B4';
124
+ exports.secondaryBtnBgdHover = secondaryBtnBgdHover;
125
+ var secondaryBtnBorder = '0';
126
+ exports.secondaryBtnBorder = secondaryBtnBorder;
127
+ var ctaBtnBgd = '#0F9668';
128
+ exports.ctaBtnBgd = ctaBtnBgd;
129
+ var ctaBtnBgdHover = '#13B17B';
130
+ exports.ctaBtnBgdHover = ctaBtnBgdHover;
131
+ var ctaBtnActBgd = '#13B17B';
132
+ exports.ctaBtnActBgd = ctaBtnActBgd;
133
+ var ctaBtnColor = '#FFFFFF';
134
+ exports.ctaBtnColor = ctaBtnColor;
135
+ var ctaBtnActColor = '#FFFFFF';
136
+ exports.ctaBtnActColor = ctaBtnActColor;
137
+ var linkBtnBgd = 'transparent';
138
+ exports.linkBtnBgd = linkBtnBgd;
139
+ var linkBtnActBgd = linkBtnBgd;
140
+ exports.linkBtnActBgd = linkBtnActBgd;
141
+ var linkBtnColor = '#A0A7B4';
142
+ exports.linkBtnColor = linkBtnColor;
143
+ var linkBtnActColor = '#F1F1F1';
144
+ exports.linkBtnActColor = linkBtnActColor;
145
+ var linkBtnActBgdHover = linkBtnBgd;
146
+ exports.linkBtnActBgdHover = linkBtnActBgdHover;
147
+ var linkBtnBorder = '0';
148
+ exports.linkBtnBorder = linkBtnBorder;
149
+ var negativeBtnBgd = errorColor;
150
+ exports.negativeBtnBgd = negativeBtnBgd;
151
+ var negativeBtnActBgd = '#FF193E';
152
+ exports.negativeBtnActBgd = negativeBtnActBgd;
153
+ var negativeBtnBgdHover = '#FF193E';
154
+ exports.negativeBtnBgdHover = negativeBtnBgdHover;
155
+ var negativeBtnBorder = '0';
156
+ exports.negativeBtnBorder = negativeBtnBorder;
157
+ var negativeBtnColor = '#FFFFFF';
158
+ exports.negativeBtnColor = negativeBtnColor;
159
+ var negativeBtnActColor = '#FFFFFF';
160
+ exports.negativeBtnActColor = negativeBtnActColor;
161
+ var floatingBtnBgd = '#29323C';
162
+ exports.floatingBtnBgd = floatingBtnBgd;
163
+ var floatingBtnActBgd = '#3A4552';
164
+ exports.floatingBtnActBgd = floatingBtnActBgd;
165
+ var floatingBtnBgdHover = '#3A4552';
166
+ exports.floatingBtnBgdHover = floatingBtnBgdHover;
167
+ var floatingBtnBorder = '0';
168
+ exports.floatingBtnBorder = floatingBtnBorder;
169
+ var floatingBtnBorderHover = '0';
170
+ exports.floatingBtnBorderHover = floatingBtnBorderHover;
171
+ var floatingBtnColor = subtextColor;
172
+ exports.floatingBtnColor = floatingBtnColor;
173
+ var floatingBtnActColor = subtextColorActive;
174
+ exports.floatingBtnActColor = floatingBtnActColor;
175
+ var selectionBtnBgd = 'transparent';
176
+ exports.selectionBtnBgd = selectionBtnBgd;
177
+ var selectionBtnActBgd = 'transparent';
178
+ exports.selectionBtnActBgd = selectionBtnActBgd;
179
+ var selectionBtnColor = '#D3D8E0';
180
+ exports.selectionBtnColor = selectionBtnColor;
181
+ var selectionBtnActColor = '#0F9668';
182
+ exports.selectionBtnActColor = selectionBtnActColor;
183
+ var selectionBtnBgdHover = '#0F9668';
184
+ exports.selectionBtnBgdHover = selectionBtnBgdHover;
185
+ var selectionBtnBorder = '1';
186
+ exports.selectionBtnBorder = selectionBtnBorder;
187
+ var selectionBtnBorderColor = '#D3D8E0';
188
+ exports.selectionBtnBorderColor = selectionBtnBorderColor;
189
+ var selectionBtnBorderActColor = '#0F9668'; // Input
190
+
191
+ exports.selectionBtnBorderActColor = selectionBtnBorderActColor;
192
+ var inputBoxHeight = '34px';
193
+ exports.inputBoxHeight = inputBoxHeight;
194
+ var inputBoxHeightSmall = '24px';
195
+ exports.inputBoxHeightSmall = inputBoxHeightSmall;
196
+ var inputBoxHeightTiny = '18px';
197
+ exports.inputBoxHeightTiny = inputBoxHeightTiny;
198
+ var inputPadding = '4px 10px';
199
+ exports.inputPadding = inputPadding;
200
+ var inputPaddingSmall = '4px 6px';
201
+ exports.inputPaddingSmall = inputPaddingSmall;
202
+ var inputPaddingTiny = '2px 4px';
203
+ exports.inputPaddingTiny = inputPaddingTiny;
204
+ var inputFontSize = '11px';
205
+ exports.inputFontSize = inputFontSize;
206
+ var inputFontSizeSmall = '10px';
207
+ exports.inputFontSizeSmall = inputFontSizeSmall;
208
+ var inputFontWeight = 500;
209
+ exports.inputFontWeight = inputFontWeight;
210
+ var inputBgd = '#29323C';
211
+ exports.inputBgd = inputBgd;
212
+ var inputBgdHover = '#3A414C';
213
+ exports.inputBgdHover = inputBgdHover;
214
+ var inputBgdActive = '#3A414C';
215
+ exports.inputBgdActive = inputBgdActive;
216
+ var inputBgdActiveLT = '#FFFFFF';
217
+ exports.inputBgdActiveLT = inputBgdActiveLT;
218
+ var inputBorderColor = '#29323C';
219
+ exports.inputBorderColor = inputBorderColor;
220
+ var inputBorderHoverColor = '#3A414C';
221
+ exports.inputBorderHoverColor = inputBorderHoverColor;
222
+ var inputBorderHoverColorLT = subtextColor;
223
+ exports.inputBorderHoverColorLT = inputBorderHoverColorLT;
224
+ var inputBorderActiveColor = '#3A414C';
225
+ exports.inputBorderActiveColor = inputBorderActiveColor;
226
+ var inputBorderActiveColorLT = textColorLT;
227
+ exports.inputBorderActiveColorLT = inputBorderActiveColorLT;
228
+ var inputColor = '#A0A7B4';
229
+ exports.inputColor = inputColor;
230
+ var inputBorderRadius = '1px';
231
+ exports.inputBorderRadius = inputBorderRadius;
232
+ var inputPlaceholderColor = '#6A7485';
233
+ exports.inputPlaceholderColor = inputPlaceholderColor;
234
+ var inputPlaceholderColorLT = subtextColorLT;
235
+ exports.inputPlaceholderColorLT = inputPlaceholderColorLT;
236
+ var inputPlaceholderFontWeight = 400;
237
+ exports.inputPlaceholderFontWeight = inputPlaceholderFontWeight;
238
+ var inputBoxShadow = 'none';
239
+ exports.inputBoxShadow = inputBoxShadow;
240
+ var inputBoxShadowActive = 'none';
241
+ exports.inputBoxShadowActive = inputBoxShadowActive;
242
+ var inputBoxShadowActiveLT = 'none';
243
+ exports.inputBoxShadowActiveLT = inputBoxShadowActiveLT;
244
+ var secondaryInputBgd = '#242730';
245
+ exports.secondaryInputBgd = secondaryInputBgd;
246
+ var secondaryInputBgdHover = '#3A414C';
247
+ exports.secondaryInputBgdHover = secondaryInputBgdHover;
248
+ var secondaryInputBgdActive = '#3A414C';
249
+ exports.secondaryInputBgdActive = secondaryInputBgdActive;
250
+ var secondaryInputColor = '#A0A7B4';
251
+ exports.secondaryInputColor = secondaryInputColor;
252
+ var secondaryInputBorderColor = '#242730';
253
+ exports.secondaryInputBorderColor = secondaryInputBorderColor;
254
+ var secondaryInputBorderActiveColor = '#D3D8E0';
255
+ exports.secondaryInputBorderActiveColor = secondaryInputBorderActiveColor;
256
+ var dropdownSelectHeight = 30; // Select
257
+
258
+ exports.dropdownSelectHeight = dropdownSelectHeight;
259
+ var selectColor = inputColor;
260
+ exports.selectColor = selectColor;
261
+ var selectColorLT = titleColorLT;
262
+ exports.selectColorLT = selectColorLT;
263
+ var selectActiveBorderColor = '#D3D8E0';
264
+ exports.selectActiveBorderColor = selectActiveBorderColor;
265
+ var selectFontSize = '11px';
266
+ exports.selectFontSize = selectFontSize;
267
+ var selectFontWeight = '400';
268
+ exports.selectFontWeight = selectFontWeight;
269
+ var selectFontWeightBold = '500';
270
+ exports.selectFontWeightBold = selectFontWeightBold;
271
+ var selectColorPlaceHolder = '#6A7485';
272
+ exports.selectColorPlaceHolder = selectColorPlaceHolder;
273
+ var selectColorPlaceHolderLT = selectColorLT;
274
+ exports.selectColorPlaceHolderLT = selectColorPlaceHolderLT;
275
+ var selectBackground = inputBgd;
276
+ exports.selectBackground = selectBackground;
277
+ var selectBackgroundHover = inputBgdHover;
278
+ exports.selectBackgroundHover = selectBackgroundHover;
279
+ var selectBackgroundLT = '#FFFFFF';
280
+ exports.selectBackgroundLT = selectBackgroundLT;
281
+ var selectBackgroundHoverLT = '#F8F8F9';
282
+ exports.selectBackgroundHoverLT = selectBackgroundHoverLT;
283
+ var selectBorderColor = '#D3D8E0';
284
+ exports.selectBorderColor = selectBorderColor;
285
+ var selectBorderColorLT = '#D3D8E0';
286
+ exports.selectBorderColorLT = selectBorderColorLT;
287
+ var selectBorderRadius = '1px';
288
+ exports.selectBorderRadius = selectBorderRadius;
289
+ var selectBorder = 0;
290
+ exports.selectBorder = selectBorder;
291
+ var panelTabColor = subtextColor;
292
+ exports.panelTabColor = panelTabColor;
293
+ var dropdownListHighlightBg = '#6A7485';
294
+ exports.dropdownListHighlightBg = dropdownListHighlightBg;
295
+ var dropdownListHighlightBgLT = '#F8F8F9';
296
+ exports.dropdownListHighlightBgLT = dropdownListHighlightBgLT;
297
+ var dropdownListShadow = '0 6px 12px 0 rgba(0,0,0,0.16)';
298
+ exports.dropdownListShadow = dropdownListShadow;
299
+ var dropdownListBgd = '#29323C';
300
+ exports.dropdownListBgd = dropdownListBgd;
301
+ var toolbarItemBgdHover = '#3A4552';
302
+ exports.toolbarItemBgdHover = toolbarItemBgdHover;
303
+ var toolbarItemIconHover = textColorHl;
304
+ exports.toolbarItemIconHover = toolbarItemIconHover;
305
+ var toolbarItemBorderHover = 'transparent';
306
+ exports.toolbarItemBorderHover = toolbarItemBorderHover;
307
+ var toolbarItemBorderRaddius = '0px';
308
+ exports.toolbarItemBorderRaddius = toolbarItemBorderRaddius;
309
+ var dropdownListBgdLT = '#FFFFFF';
310
+ exports.dropdownListBgdLT = dropdownListBgdLT;
311
+ var dropdownListBorderTop = '#242730';
312
+ exports.dropdownListBorderTop = dropdownListBorderTop;
313
+ var dropdownListBorderTopLT = '#D3D8E0';
314
+ exports.dropdownListBorderTopLT = dropdownListBorderTopLT;
315
+ var dropdownListLineHeight = 20;
316
+ exports.dropdownListLineHeight = dropdownListLineHeight;
317
+ var dropdownWrapperZ = 100;
318
+ exports.dropdownWrapperZ = dropdownWrapperZ;
319
+ var dropdownWapperMargin = 4; // Switch
320
+
321
+ exports.dropdownWapperMargin = dropdownWapperMargin;
322
+ var switchWidth = 24;
323
+ exports.switchWidth = switchWidth;
324
+ var switchHeight = 12;
325
+ exports.switchHeight = switchHeight;
326
+ var switchLabelMargin = 12;
327
+ exports.switchLabelMargin = switchLabelMargin;
328
+ var switchTrackBgd = '#29323C';
329
+ exports.switchTrackBgd = switchTrackBgd;
330
+ var switchTrackBgdActive = activeColor;
331
+ exports.switchTrackBgdActive = switchTrackBgdActive;
332
+ var switchTrackBorderRadius = '1px';
333
+ exports.switchTrackBorderRadius = switchTrackBorderRadius;
334
+ var switchBtnBgd = '#6A7485';
335
+ exports.switchBtnBgd = switchBtnBgd;
336
+ var switchBtnBgdActive = '#D3D8E0';
337
+ exports.switchBtnBgdActive = switchBtnBgdActive;
338
+ var switchBtnBoxShadow = '0 2px 4px 0 rgba(0,0,0,0.40)';
339
+ exports.switchBtnBoxShadow = switchBtnBoxShadow;
340
+ var switchBtnBorderRadius = '0';
341
+ exports.switchBtnBorderRadius = switchBtnBorderRadius;
342
+ var switchBtnWidth = 12;
343
+ exports.switchBtnWidth = switchBtnWidth;
344
+ var switchBtnHeight = 12;
345
+ exports.switchBtnHeight = switchBtnHeight;
346
+ var secondarySwitchTrackBgd = '#242730';
347
+ exports.secondarySwitchTrackBgd = secondarySwitchTrackBgd;
348
+ var secondarySwitchBtnBgd = '#3A414C'; // Checkbox
349
+
350
+ exports.secondarySwitchBtnBgd = secondarySwitchBtnBgd;
351
+ var checkboxWidth = 16;
352
+ exports.checkboxWidth = checkboxWidth;
353
+ var checkboxHeight = 16;
354
+ exports.checkboxHeight = checkboxHeight;
355
+ var checkboxMargin = 12;
356
+ exports.checkboxMargin = checkboxMargin;
357
+ var checkboxBorderColor = selectBorderColor;
358
+ exports.checkboxBorderColor = checkboxBorderColor;
359
+ var checkboxBorderRadius = '2px';
360
+ exports.checkboxBorderRadius = checkboxBorderRadius;
361
+ var checkboxBorderColorLT = selectBorderColorLT;
362
+ exports.checkboxBorderColorLT = checkboxBorderColorLT;
363
+ var checkboxBoxBgd = 'white';
364
+ exports.checkboxBoxBgd = checkboxBoxBgd;
365
+ var checkboxBoxBgdChecked = primaryBtnBgd; // Radio
366
+
367
+ exports.checkboxBoxBgdChecked = checkboxBoxBgdChecked;
368
+ var radioRadius = 8;
369
+ exports.radioRadius = radioRadius;
370
+ var radioBorderRadius = 100;
371
+ exports.radioBorderRadius = radioBorderRadius;
372
+ var radioBorderColor = 'transparent';
373
+ exports.radioBorderColor = radioBorderColor;
374
+ var radioButtonRadius = 4;
375
+ exports.radioButtonRadius = radioButtonRadius;
376
+ var radioButtonBgdColor = switchBtnBgdActive; // Side Panel
377
+
378
+ exports.radioButtonBgdColor = radioButtonBgdColor;
379
+ var sidePanelHeaderBg = '#29323C';
380
+ exports.sidePanelHeaderBg = sidePanelHeaderBg;
381
+ var sidePanelHeaderBorder = 'transparent';
382
+ exports.sidePanelHeaderBorder = sidePanelHeaderBorder;
383
+ var layerConfigGroupMarginBottom = 12;
384
+ exports.layerConfigGroupMarginBottom = layerConfigGroupMarginBottom;
385
+ var layerConfigGroupPaddingLeft = 18;
386
+ exports.layerConfigGroupPaddingLeft = layerConfigGroupPaddingLeft;
387
+ var sidePanelInnerPadding = 16;
388
+ exports.sidePanelInnerPadding = sidePanelInnerPadding;
389
+ var sidePanelBorder = 0;
390
+ exports.sidePanelBorder = sidePanelBorder;
391
+ var sidePanelBorderColor = 'transparent';
392
+ exports.sidePanelBorderColor = sidePanelBorderColor;
393
+ var sidePanelBg = '#242730';
394
+ exports.sidePanelBg = sidePanelBg;
395
+ var sidePanelScrollBarWidth = 10;
396
+ exports.sidePanelScrollBarWidth = sidePanelScrollBarWidth;
397
+ var sidePanelScrollBarHeight = 10;
398
+ exports.sidePanelScrollBarHeight = sidePanelScrollBarHeight;
399
+ var sideBarCloseBtnBgd = secondaryBtnBgd;
400
+ exports.sideBarCloseBtnBgd = sideBarCloseBtnBgd;
401
+ var sideBarCloseBtnColor = '#29323C';
402
+ exports.sideBarCloseBtnColor = sideBarCloseBtnColor;
403
+ var sideBarCloseBtnBgdHover = secondaryBtnActBgd;
404
+ exports.sideBarCloseBtnBgdHover = sideBarCloseBtnBgdHover;
405
+ var sidePanelTitleFontsize = '20px';
406
+ exports.sidePanelTitleFontsize = sidePanelTitleFontsize;
407
+ var sidePanelTitleLineHeight = '1.71429';
408
+ exports.sidePanelTitleLineHeight = sidePanelTitleLineHeight;
409
+ var panelBackground = '#29323C';
410
+ exports.panelBackground = panelBackground;
411
+ var panelContentBackground = '#292E36';
412
+ exports.panelContentBackground = panelContentBackground;
413
+ var panelBackgroundHover = '#3A4552';
414
+ exports.panelBackgroundHover = panelBackgroundHover;
415
+ var panelHeaderBorderRadius = '0px';
416
+ exports.panelHeaderBorderRadius = panelHeaderBorderRadius;
417
+ var chickletBgd = '#3A4552';
418
+ exports.chickletBgd = chickletBgd;
419
+ var chickletBgdLT = '#D3D8E0';
420
+ exports.chickletBgdLT = chickletBgdLT;
421
+ var panelHeaderIcon = '#6A7485';
422
+ exports.panelHeaderIcon = panelHeaderIcon;
423
+ var panelHeaderIconActive = '#A0A7B4';
424
+ exports.panelHeaderIconActive = panelHeaderIconActive;
425
+ var panelHeaderIconHover = textColorHl;
426
+ exports.panelHeaderIconHover = panelHeaderIconHover;
427
+ var panelHeaderHeight = 48;
428
+ exports.panelHeaderHeight = panelHeaderHeight;
429
+ var layerPanelHeaderHeight = 48;
430
+ exports.layerPanelHeaderHeight = layerPanelHeaderHeight;
431
+ var panelBoxShadow = '0 6px 12px 0 rgba(0,0,0,0.16)';
432
+ exports.panelBoxShadow = panelBoxShadow;
433
+ var panelBorderRadius = '2px';
434
+ exports.panelBorderRadius = panelBorderRadius;
435
+ var panelBackgroundLT = '#F8F8F9';
436
+ exports.panelBackgroundLT = panelBackgroundLT;
437
+ var panelToggleMarginRight = 12;
438
+ exports.panelToggleMarginRight = panelToggleMarginRight;
439
+ var panelToggleBottomPadding = 6;
440
+ exports.panelToggleBottomPadding = panelToggleBottomPadding;
441
+ var panelBorderColor = '#3A414C';
442
+ exports.panelBorderColor = panelBorderColor;
443
+ var panelBorder = "1px solid ".concat(borderColor);
444
+ exports.panelBorder = panelBorder;
445
+ var panelBorderLT = "1px solid ".concat(borderColorLT);
446
+ exports.panelBorderLT = panelBorderLT;
447
+ var mapPanelBackgroundColor = '#242730';
448
+ exports.mapPanelBackgroundColor = mapPanelBackgroundColor;
449
+ var mapPanelHeaderBackgroundColor = '#29323C';
450
+ exports.mapPanelHeaderBackgroundColor = mapPanelHeaderBackgroundColor;
451
+ var tooltipBg = '#3A414C';
452
+ exports.tooltipBg = tooltipBg;
453
+ var tooltipColor = textColorHl;
454
+ exports.tooltipColor = tooltipColor;
455
+ var tooltipBoxShadow = boxShadow;
456
+ exports.tooltipBoxShadow = tooltipBoxShadow;
457
+ var tooltipFontSize = '10px';
458
+ exports.tooltipFontSize = tooltipFontSize;
459
+ var layerTypeIconSizeL = 50;
460
+ exports.layerTypeIconSizeL = layerTypeIconSizeL;
461
+ var layerTypeIconPdL = 12;
462
+ exports.layerTypeIconPdL = layerTypeIconPdL;
463
+ var layerTypeIconSizeSM = 28; // Sidepanel divider
464
+
465
+ exports.layerTypeIconSizeSM = layerTypeIconSizeSM;
466
+ var sidepanelDividerBorder = '1px';
467
+ exports.sidepanelDividerBorder = sidepanelDividerBorder;
468
+ var sidepanelDividerMargin = 12;
469
+ exports.sidepanelDividerMargin = sidepanelDividerMargin;
470
+ var sidepanelDividerHeight = 12; // Bottom Panel
471
+
472
+ exports.sidepanelDividerHeight = sidepanelDividerHeight;
473
+ var bottomInnerPdSide = 32;
474
+ exports.bottomInnerPdSide = bottomInnerPdSide;
475
+ var bottomInnerPdVert = 6;
476
+ exports.bottomInnerPdVert = bottomInnerPdVert;
477
+ var bottomPanelGap = 20;
478
+ exports.bottomPanelGap = bottomPanelGap;
479
+ var bottomWidgetPaddingTop = 20;
480
+ exports.bottomWidgetPaddingTop = bottomWidgetPaddingTop;
481
+ var bottomWidgetPaddingRight = 20;
482
+ exports.bottomWidgetPaddingRight = bottomWidgetPaddingRight;
483
+ var bottomWidgetPaddingBottom = 30;
484
+ exports.bottomWidgetPaddingBottom = bottomWidgetPaddingBottom;
485
+ var bottomWidgetPaddingLeft = 20;
486
+ exports.bottomWidgetPaddingLeft = bottomWidgetPaddingLeft;
487
+ var bottomWidgetBgd = '#29323C'; // Modal
488
+
489
+ exports.bottomWidgetBgd = bottomWidgetBgd;
490
+ var modalTitleColor = '#3A414C';
491
+ exports.modalTitleColor = modalTitleColor;
492
+ var modalTitleFontSize = '24px';
493
+ exports.modalTitleFontSize = modalTitleFontSize;
494
+ var modalTitleFontSizeSmaller = '18px';
495
+ exports.modalTitleFontSizeSmaller = modalTitleFontSizeSmaller;
496
+ var modalFooterBgd = '#F8F8F9';
497
+ exports.modalFooterBgd = modalFooterBgd;
498
+ var modalImagePlaceHolder = '#DDDFE3';
499
+ exports.modalImagePlaceHolder = modalImagePlaceHolder;
500
+ var modalPadding = '10px 0';
501
+ exports.modalPadding = modalPadding;
502
+ var modalLateralPadding = '72px';
503
+ exports.modalLateralPadding = modalLateralPadding;
504
+ var modalPortableLateralPadding = '36px';
505
+ exports.modalPortableLateralPadding = modalPortableLateralPadding;
506
+ var modalOverLayZ = 1001;
507
+ exports.modalOverLayZ = modalOverLayZ;
508
+ var modalOverlayBgd = 'rgba(0, 0, 0, 0.5)';
509
+ exports.modalOverlayBgd = modalOverlayBgd;
510
+ var modalContentZ = 10002;
511
+ exports.modalContentZ = modalContentZ;
512
+ var modalFooterZ = 10001;
513
+ exports.modalFooterZ = modalFooterZ;
514
+ var modalTitleZ = 10003;
515
+ exports.modalTitleZ = modalTitleZ;
516
+ var modalButtonZ = 10005;
517
+ exports.modalButtonZ = modalButtonZ;
518
+ var modalDropdownBackground = '#FFFFFF'; // Modal Dialog (Dark)
519
+
520
+ exports.modalDropdownBackground = modalDropdownBackground;
521
+ var modalDialogBgd = '#3A414C';
522
+ exports.modalDialogBgd = modalDialogBgd;
523
+ var modalDialogColor = textColorHl; // Slider
524
+
525
+ exports.modalDialogColor = modalDialogColor;
526
+ var sliderBarColor = '#6A7485';
527
+ exports.sliderBarColor = sliderBarColor;
528
+ var sliderBarBgd = '#3A414C';
529
+ exports.sliderBarBgd = sliderBarBgd;
530
+ var sliderBarHoverColor = '#D3D8E0';
531
+ exports.sliderBarHoverColor = sliderBarHoverColor;
532
+ var sliderBarRadius = '1px';
533
+ exports.sliderBarRadius = sliderBarRadius;
534
+ var sliderBarHeight = 4;
535
+ exports.sliderBarHeight = sliderBarHeight;
536
+ var sliderHandleHeight = 12;
537
+ exports.sliderHandleHeight = sliderHandleHeight;
538
+ var sliderHandleWidth = 12;
539
+ exports.sliderHandleWidth = sliderHandleWidth;
540
+ var sliderHandleColor = '#D3D8E0';
541
+ exports.sliderHandleColor = sliderHandleColor;
542
+ var sliderHandleTextColor = sliderHandleColor;
543
+ exports.sliderHandleTextColor = sliderHandleTextColor;
544
+ var sliderInactiveBorderColor = sliderHandleColor;
545
+ exports.sliderInactiveBorderColor = sliderInactiveBorderColor;
546
+ var sliderBorderRadius = '0';
547
+ exports.sliderBorderRadius = sliderBorderRadius;
548
+ var sliderHandleHoverColor = '#FFFFFF';
549
+ exports.sliderHandleHoverColor = sliderHandleHoverColor;
550
+ var sliderHandleAfterContent = '';
551
+ exports.sliderHandleAfterContent = sliderHandleAfterContent;
552
+ var sliderHandleShadow = '0 2px 4px 0 rgba(0,0,0,0.40)';
553
+ exports.sliderHandleShadow = sliderHandleShadow;
554
+ var sliderInputHeight = 24;
555
+ exports.sliderInputHeight = sliderInputHeight;
556
+ var sliderInputWidth = 56;
557
+ exports.sliderInputWidth = sliderInputWidth;
558
+ var sliderInputFontSize = '10px';
559
+ exports.sliderInputFontSize = sliderInputFontSize;
560
+ var sliderInputPadding = '4px 6px';
561
+ exports.sliderInputPadding = sliderInputPadding;
562
+ var sliderMarginTopIsTime = -12;
563
+ exports.sliderMarginTopIsTime = sliderMarginTopIsTime;
564
+ var sliderMarginTop = 12;
565
+ exports.sliderMarginTop = sliderMarginTop;
566
+ var sliderMarginBottom = 12; // Geocoder
567
+
568
+ exports.sliderMarginBottom = sliderMarginBottom;
569
+ var geocoderWidth = 360;
570
+ exports.geocoderWidth = geocoderWidth;
571
+ var geocoderTop = 20;
572
+ exports.geocoderTop = geocoderTop;
573
+ var geocoderRight = 12;
574
+ exports.geocoderRight = geocoderRight;
575
+ var geocoderInputHeight = 36; // Plot
576
+
577
+ exports.geocoderInputHeight = geocoderInputHeight;
578
+ var rangeBrushBgd = '#3A414C';
579
+ exports.rangeBrushBgd = rangeBrushBgd;
580
+ var histogramFillInRange = activeColor;
581
+ exports.histogramFillInRange = histogramFillInRange;
582
+ var histogramFillOutRange = sliderBarColor;
583
+ exports.histogramFillOutRange = histogramFillOutRange;
584
+ var axisFontSize = '10px';
585
+ exports.axisFontSize = axisFontSize;
586
+ var axisFontColor = textColor;
587
+ exports.axisFontColor = axisFontColor;
588
+ var timeTitleFontSize = '10px';
589
+ exports.timeTitleFontSize = timeTitleFontSize;
590
+ var rangePlotMargin = {
591
+ top: 12,
592
+ bottom: 0,
593
+ left: 0,
594
+ right: 0
595
+ };
596
+ exports.rangePlotMargin = rangePlotMargin;
597
+ var rangePlotMarginLarge = {
598
+ top: 18,
599
+ bottom: 0,
600
+ left: 0,
601
+ right: 0
602
+ };
603
+ exports.rangePlotMarginLarge = rangePlotMarginLarge;
604
+ var rangePlotH = 62;
605
+ exports.rangePlotH = rangePlotH;
606
+ var rangePlotContainerH = 78;
607
+ exports.rangePlotContainerH = rangePlotContainerH;
608
+ var rangePlotHLarge = 102;
609
+ exports.rangePlotHLarge = rangePlotHLarge;
610
+ var rangePlotContainerHLarge = 120; // Notification
611
+
612
+ exports.rangePlotContainerHLarge = rangePlotContainerHLarge;
613
+ var notificationColors = {
614
+ info: '#276ef1',
615
+ error: '#f25138',
616
+ success: '#47b275',
617
+ warning: '#ffc043'
618
+ };
619
+ exports.notificationColors = notificationColors;
620
+ var notificationPanelWidth = 240;
621
+ exports.notificationPanelWidth = notificationPanelWidth;
622
+ var notificationPanelItemWidth = notificationPanelWidth - 60;
623
+ exports.notificationPanelItemWidth = notificationPanelItemWidth;
624
+ var notificationPanelItemHeight = 60; // Data Table
625
+
626
+ exports.notificationPanelItemHeight = notificationPanelItemHeight;
627
+ var headerRowHeight = 70;
628
+ var rowHeight = 32;
629
+ var headerPaddingTop = 6;
630
+ var headerPaddingBottom = 8;
631
+ var cellPaddingSide = 10;
632
+ var edgeCellPaddingSide = 10;
633
+ var cellFontSize = 10;
634
+ var gridPaddingSide = 24;
635
+ var headerCellBackground = '#FFFFFF';
636
+ var headerCellBorderColor = '#E0E0E0';
637
+ var headerCellIconColor = '#666666';
638
+ var cellBorderColor = '#E0E0E0';
639
+ var evenRowBackground = '#FFFFFF';
640
+ var oddRowBackground = '#F7F7F7';
641
+ var optionButtonColor = '#6A7485';
642
+ var pinnedGridBorderColor = '#E0E0E0'; // Floating Time display
643
+
644
+ var timeDisplayBorderRadius = 32;
645
+ var timeDisplayHeight = 64;
646
+ var timeDisplayMinWidth = 176;
647
+ var timeDisplayOpacity = 0.8;
648
+ var timeDisplayPadding = '0 24px'; // Export map modal
649
+
650
+ var exportIntraSectionMargin = '8'; // progress bar
651
+
652
+ var progressBarColor = primaryBtnBgd;
653
+ var progressBarTrackColor = '#E8E8E8'; // Action Panel
654
+
655
+ var actionPanelWidth = 110;
656
+ exports.actionPanelWidth = actionPanelWidth;
657
+ var actionPanelHeight = 32; // Styled Token
658
+
659
+ exports.actionPanelHeight = actionPanelHeight;
660
+ var fieldTokenRightMargin = 4;
661
+ exports.fieldTokenRightMargin = fieldTokenRightMargin;
662
+ var textTruncate = {
663
+ maxWidth: '100%',
664
+ overflow: 'hidden',
665
+ textOverflow: 'ellipsis',
666
+ whiteSpace: 'nowrap',
667
+ wordWrap: 'normal'
668
+ }; // layerConfigGroupLabel
669
+
670
+ exports.textTruncate = textTruncate;
671
+ var layerConfigGroupLabelBorderLeft = '2px';
672
+ exports.layerConfigGroupLabelBorderLeft = layerConfigGroupLabelBorderLeft;
673
+ var layerConfigGroupLabelMargin = '-12px';
674
+ exports.layerConfigGroupLabelMargin = layerConfigGroupLabelMargin;
675
+ var layerConfigGroupLabelPadding = '10px';
676
+ exports.layerConfigGroupLabelPadding = layerConfigGroupLabelPadding;
677
+ var layerConfigGroupColor = 'transparent'; // layerConfigGroupLabel label
678
+
679
+ exports.layerConfigGroupColor = layerConfigGroupColor;
680
+ var layerConfigGroupLabelLabelMargin = '0';
681
+ exports.layerConfigGroupLabelLabelMargin = layerConfigGroupLabelLabelMargin;
682
+ var layerConfigGroupLabelLabelFontSize = '12px'; // styledConfigGroupHeader
683
+
684
+ exports.layerConfigGroupLabelLabelFontSize = layerConfigGroupLabelLabelFontSize;
685
+ var styledConfigGroupHeaderBorder = '2px'; // layerConfigurator
686
+
687
+ exports.styledConfigGroupHeaderBorder = styledConfigGroupHeaderBorder;
688
+ var layerConfiguratorBorder = '0';
689
+ exports.layerConfiguratorBorder = layerConfiguratorBorder;
690
+ var layerConfiguratorBorderColor = '';
691
+ exports.layerConfiguratorBorderColor = layerConfiguratorBorderColor;
692
+ var layerConfiguratorMargin = '12px';
693
+ exports.layerConfiguratorMargin = layerConfiguratorMargin;
694
+ var layerConfiguratorPadding = '12px 0 8px 0'; // This breakpoints are used for responsive design
695
+
696
+ exports.layerConfiguratorPadding = layerConfiguratorPadding;
697
+ var breakPoints = {
698
+ palm: 588,
699
+ desk: 768
700
+ }; // theme is passed to kepler.gl when it's mounted,
701
+ // it is used by styled-components to pass along to
702
+ // all child components
703
+
704
+ exports.breakPoints = breakPoints;
705
+ var input = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ::placeholder {\n color: ", ";\n font-weight: ", ";\n }\n\n /* Disable Arrows on Number Inputs */\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n align-items: center;\n background-color: ", ";\n border: 1px solid\n ", ";\n border-radius: 2px;\n caret-color: ", ";\n color: ", ";\n display: flex;\n font-size: ", ";\n font-weight: ", ";\n font-family: ", ";\n height: ", ";\n justify-content: space-between;\n outline: none;\n overflow: hidden;\n padding: ", ";\n text-overflow: ellipsis;\n transition: ", ";\n white-space: nowrap;\n width: 100%;\n word-wrap: normal;\n pointer-events: ", ";\n opacity: ", ";\n box-shadow: ", ";\n\n :hover {\n cursor: ", ";\n background-color: ", ";\n border-color: ", ";\n }\n\n :active,\n :focus,\n &.focus,\n &.active {\n background-color: ", ";\n border-color: ", ";\n box-shadow: ", ";\n }\n"])), function (props) {
706
+ return props.theme.inputPlaceholderColor;
707
+ }, function (props) {
708
+ return props.theme.inputPlaceholderFontWeight;
709
+ }, function (props) {
710
+ return props.theme.inputBgd;
711
+ }, function (props) {
712
+ return props.active ? props.theme.inputBorderActiveColor : props.error ? props.theme.errorColor : props.theme.inputBgd;
713
+ }, function (props) {
714
+ return props.theme.inputBorderActiveColor;
715
+ }, function (props) {
716
+ return props.theme.inputColor;
717
+ }, function (props) {
718
+ return ['small', 'tiny'].includes(props.size) ? props.theme.inputFontSizeSmall : props.theme.inputFontSize;
719
+ }, function (props) {
720
+ return props.theme.inputFontWeight;
721
+ }, function (props) {
722
+ return props.theme.fontFamily;
723
+ }, function (props) {
724
+ return props.size === 'small' ? props.theme.inputBoxHeightSmall : props.size === 'tiny' ? props.theme.inputBoxHeightTiny : props.theme.inputBoxHeight;
725
+ }, function (props) {
726
+ return props.size === 'small' ? props.theme.inputPaddingSmall : props.size === 'tiny' ? props.theme.inputPaddingTiny : props.theme.inputPadding;
727
+ }, function (props) {
728
+ return props.theme.transition;
729
+ }, function (props) {
730
+ return props.disabled ? 'none' : 'all';
731
+ }, function (props) {
732
+ return props.disabled ? 0.5 : 1;
733
+ }, function (props) {
734
+ return props.theme.inputBoxShadow;
735
+ }, function (props) {
736
+ return props.type === 'number' || props.type === 'text' ? 'text' : 'pointer';
737
+ }, function (props) {
738
+ return props.active ? props.theme.inputBgdActive : props.theme.inputBgdHover;
739
+ }, function (props) {
740
+ return props.active ? props.theme.inputBorderActiveColor : props.theme.inputBorderHoverColor;
741
+ }, function (props) {
742
+ return props.theme.inputBgdActive;
743
+ }, function (props) {
744
+ return props.theme.inputBorderActiveColor;
745
+ }, function (props) {
746
+ return props.theme.inputBoxShadowActive;
747
+ });
748
+ var inputLT = (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ::placeholder {\n color: ", ";\n font-weight: 400;\n }\n ", "\n\n background-color: ", ";\n border: 1px solid\n ", ";\n color: ", ";\n caret-color: ", ";\n\n :hover {\n background-color: ", ";\n cursor: ", ";\n border-color: ", ";\n }\n\n :active,\n :focus,\n &.focus,\n &.active {\n background-color: ", ";\n border-color: ", ";\n box-shadow: ", ";\n }\n"])), function (props) {
749
+ return props.theme.inputPlaceholderColorLT;
750
+ }, input, function (props) {
751
+ return props.theme.selectBackgroundLT;
752
+ }, function (props) {
753
+ return props.active ? props.theme.selectActiveBorderColor : props.error ? props.theme.errorColor : props.theme.selectBorderColorLT;
754
+ }, function (props) {
755
+ return props.theme.selectColorLT;
756
+ }, function (props) {
757
+ return props.theme.inputBorderActiveColorLT;
758
+ }, function (props) {
759
+ return props.theme.inputBgdActiveLT;
760
+ }, function (props) {
761
+ return ['number', 'text'].includes(props.type) ? 'text' : 'pointer';
762
+ }, function (props) {
763
+ return props.active ? props.theme.inputBorderActiveColorLT : props.theme.inputBorderHoverColorLT;
764
+ }, function (props) {
765
+ return props.theme.inputBgdActiveLT;
766
+ }, function (props) {
767
+ return props.theme.inputBorderActiveColorLT;
768
+ }, function (props) {
769
+ return props.theme.inputBoxShadowActiveLT;
770
+ });
771
+ var secondaryInput = (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n color: ", ";\n background-color: ", ";\n border: 1px solid\n ", ";\n\n :hover {\n cursor: pointer;\n background-color: ", ";\n border-color: ", ";\n }\n\n :active,\n &.active {\n background-color: ", ";\n border-color: ", ";\n }\n"])), function (props) {
772
+ return props.theme.input;
773
+ }, function (props) {
774
+ return props.theme.secondaryInputColor;
775
+ }, function (props) {
776
+ return props.theme.secondaryInputBgd;
777
+ }, function (props) {
778
+ return props.error ? props.theme.errorColor : props.theme.secondaryInputBorderColor;
779
+ }, function (props) {
780
+ return props.theme.secondaryInputBgdHover;
781
+ }, function (props) {
782
+ return props.theme.secondaryInputBgdHover;
783
+ }, function (props) {
784
+ return props.theme.secondaryInputBgdActive;
785
+ }, function (props) {
786
+ return props.theme.secondaryInputBorderActiveColor;
787
+ });
788
+ var chickletedInputContainer = (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n flex-wrap: wrap;\n height: auto;\n justify-content: start;\n margin-bottom: 2px;\n padding: 0px 7px 0px 4px;\n white-space: normal;\n\n .chickleted-input__placeholder {\n line-height: 24px;\n margin: 4px;\n }\n"])));
789
+ var chickletedInput = (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n ", " ", ";\n"])), function (props) {
790
+ return props.theme.input;
791
+ }, function (props) {
792
+ return props.theme.chickletedInputContainer;
793
+ });
794
+ var chickletedInputLT = (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n ", " ", ";\n"])), function (props) {
795
+ return props.theme.inputLT;
796
+ }, function (props) {
797
+ return props.theme.chickletedInputContainer;
798
+ });
799
+ var secondaryChickletedInput = (0, _styledComponents.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n ", " ", ";\n"])), function (props) {
800
+ return props.theme.secondaryInput;
801
+ }, function (props) {
802
+ return props.theme.chickletedInputContainer;
803
+ });
804
+ var inlineInput = (0, _styledComponents.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n ", " color: ", ";\n font-size: 13px;\n letter-spacing: 0.43px;\n line-height: 18px;\n height: 24px;\n font-weight: 400;\n padding-left: 4px;\n margin-left: -4px;\n background-color: transparent;\n border: 1px solid transparent;\n\n :hover {\n height: 24px;\n cursor: text;\n background-color: transparent;\n border: 1px solid ", ";\n }\n\n :active,\n .active,\n :focus {\n background-color: transparent;\n border: 1px solid ", ";\n }\n"])), function (props) {
805
+ return props.theme.input;
806
+ }, function (props) {
807
+ return props.theme.textColor;
808
+ }, function (props) {
809
+ return props.theme.labelColor;
810
+ }, function (props) {
811
+ return props.theme.inputBorderActiveColor;
812
+ });
813
+ var switchTrack = (0, _styledComponents.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n position: absolute;\n top: 0;\n left: ", "px;\n content: '';\n display: block;\n width: ", "px;\n height: ", "px;\n border-radius: ", ";\n"])), function (props) {
814
+ return props.checked ? props.theme.switchTrackBgdActive : props.theme.switchTrackBgd;
815
+ }, function (props) {
816
+ return -props.theme.switchLabelMargin;
817
+ }, function (props) {
818
+ return props.theme.switchWidth;
819
+ }, function (props) {
820
+ return props.theme.switchHeight;
821
+ }, function (props) {
822
+ return props.theme.switchTrackBorderRadius;
823
+ });
824
+ var switchButton = (0, _styledComponents.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n transition: ", ";\n position: absolute;\n top: ", "px;\n left: ", "px;\n content: '';\n display: block;\n height: ", "px;\n width: ", "px;\n background: ", ";\n box-shadow: ", ";\n border-radius: ", ";\n"])), function (props) {
825
+ return props.theme.transition;
826
+ }, function (props) {
827
+ return (props.theme.switchHeight - props.theme.switchBtnHeight) / 2;
828
+ }, function (props) {
829
+ return (props.checked ? props.theme.switchWidth / 2 : (props.theme.switchHeight - props.theme.switchBtnHeight) / 2) - props.theme.switchLabelMargin;
830
+ }, function (props) {
831
+ return props.theme.switchBtnHeight;
832
+ }, function (props) {
833
+ return props.theme.switchBtnWidth;
834
+ }, function (props) {
835
+ return props.checked ? props.theme.switchBtnBgdActive : props.theme.switchBtnBgd;
836
+ }, function (props) {
837
+ return props.theme.switchBtnBoxShadow;
838
+ }, function (props) {
839
+ return props.theme.switchBtnBorderRadius;
840
+ });
841
+ var inputSwitch = (0, _styledComponents.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n user-select: none;\n cursor: pointer;\n line-height: ", "px;\n font-weight: 500;\n font-size: 12px;\n color: ", ";\n position: relative;\n display: inline-block;\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: ", "px;\n\n :before {\n ", ";\n }\n\n :after {\n ", ";\n }\n"])), function (props) {
842
+ return props.theme.switchHeight;
843
+ }, function (props) {
844
+ return props.theme.labelColor;
845
+ }, function (props) {
846
+ return props.theme.switchWidth;
847
+ }, function (props) {
848
+ return props.theme.switchTrack;
849
+ }, function (props) {
850
+ return props.theme.switchButton;
851
+ }); // This is a light version checkbox
852
+
853
+ var checkboxBox = (0, _styledComponents.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: ", "px;\n height: ", "px;\n background: ", ";\n border: 1px solid\n ", ";\n border-radius: 2px;\n content: '';\n"])), function (props) {
854
+ return props.theme.checkboxWidth;
855
+ }, function (props) {
856
+ return props.theme.checkboxHeight;
857
+ }, function (props) {
858
+ return props.checked ? props.theme.checkboxBoxBgdChecked : props.theme.checkboxBoxBgd;
859
+ }, function (props) {
860
+ return props.checked ? props.theme.checkboxBoxBgdChecked : props.theme.checkboxBorderColor;
861
+ });
862
+ var checkboxCheck = (0, _styledComponents.css)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n width: 10px;\n height: 5px;\n border-bottom: 2px solid white;\n border-left: 2px solid white;\n top: 4px;\n left: 3px;\n transform: rotate(-45deg);\n display: block;\n position: absolute;\n opacity: ", ";\n content: '';\n"])), function (props) {
863
+ return props.checked ? 1 : 0;
864
+ });
865
+ var inputCheckbox = (0, _styledComponents.css)(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n position: relative;\n padding-left: 32px;\n margin-bottom: 24px;\n line-height: 20px;\n vertical-align: middle;\n cursor: pointer;\n font-size: 12px;\n color: ", ";\n margin-left: -", "px;\n\n :before {\n ", ";\n }\n\n :after {\n ", ";\n }\n"])), function (props) {
866
+ return props.theme.labelColor;
867
+ }, function (props) {
868
+ return props.theme.switchLabelMargin;
869
+ }, function (props) {
870
+ return props.theme.checkboxBox;
871
+ }, function (props) {
872
+ return props.theme.checkboxCheck;
873
+ });
874
+ var inputRadio = (0, _styledComponents.css)(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n padding-left: ", "px;\n margin-bottom: 0;\n margin-left: 0;\n line-height: ", "px;\n color: ", ";\n cursor: pointer;\n\n :before {\n ", "\n width: ", "px;\n height: ", "px;\n border-radius: ", "px;\n background-color: ", ";\n border-color: ", ";\n }\n\n :after {\n top: ", "px;\n left: ", "px;\n display: table;\n width: ", "px;\n height: ", "px;\n border-radius: ", "px;\n border: 0;\n background-color: ", ";\n }\n"])), function (props) {
875
+ return props.theme.inputCheckbox;
876
+ }, function (props) {
877
+ return props.theme.radioRadius * 2 + 8;
878
+ }, function (props) {
879
+ return props.theme.radioRadius * 2;
880
+ }, function (props) {
881
+ return props.theme.textColorHl;
882
+ }, function (props) {
883
+ return props.theme.checkboxBox;
884
+ }, function (props) {
885
+ return props.theme.radioRadius * 2;
886
+ }, function (props) {
887
+ return props.theme.radioRadius * 2;
888
+ }, function (props) {
889
+ return props.theme.radioBorderRadius;
890
+ }, function (props) {
891
+ return props.theme.switchTrackBgd;
892
+ }, function (props) {
893
+ return props.theme.radioBorderColor;
894
+ }, function (props) {
895
+ return props.theme.radioRadius - props.theme.radioButtonRadius;
896
+ }, function (props) {
897
+ return props.theme.radioRadius - props.theme.radioButtonRadius;
898
+ }, function (props) {
899
+ return props.theme.radioButtonRadius * 2;
900
+ }, function (props) {
901
+ return props.theme.radioButtonRadius * 2;
902
+ }, function (props) {
903
+ return props.theme.radioButtonRadius * 2;
904
+ }, function (props) {
905
+ return props.theme.radioButtonBgdColor;
906
+ });
907
+ var secondarySwitch = (0, _styledComponents.css)(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n\n :before {\n ", " background: ", ";\n }\n\n :after {\n ", "\n background: ", ";\n }\n"])), function (props) {
908
+ return props.theme.inputSwitch;
909
+ }, function (props) {
910
+ return props.theme.switchTrack;
911
+ }, function (props) {
912
+ return props.checked ? props.theme.switchTrackBgdActive : props.theme.secondarySwitchTrackBgd;
913
+ }, function (props) {
914
+ return props.theme.switchButton;
915
+ }, function (props) {
916
+ return props.checked ? props.theme.switchBtnBgdActive : props.theme.secondarySwitchBtnBgd;
917
+ });
918
+ var dropdownScrollBar = (0, _styledComponents.css)(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n ::-webkit-scrollbar {\n height: 10px;\n width: 10px;\n }\n\n ::-webkit-scrollbar-corner {\n background: ", ";\n }\n\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 10px;\n background: ", ";\n border: 3px solid ", ";\n }\n\n :vertical:hover {\n background: ", ";\n cursor: pointer;\n }\n"])), function (props) {
919
+ return props.theme.dropdownListBgd;
920
+ }, function (props) {
921
+ return props.theme.dropdownListBgd;
922
+ }, function (props) {
923
+ return props.theme.labelColor;
924
+ }, function (props) {
925
+ return props.theme.dropdownListBgd;
926
+ }, function (props) {
927
+ return props.theme.textColorHl;
928
+ });
929
+ var dropdownScrollBarLT = (0, _styledComponents.css)(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n ", " ::-webkit-scrollbar-corner {\n background: ", ";\n }\n\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 10px;\n background: ", ";\n border: 3px solid ", ";\n }\n\n :vertical:hover {\n background: ", ";\n cursor: pointer;\n }\n"])), dropdownScrollBar, function (props) {
930
+ return props.theme.dropdownListBgdLT;
931
+ }, function (props) {
932
+ return props.theme.dropdownListBgdLT;
933
+ }, function (props) {
934
+ return props.theme.labelColorLT;
935
+ }, function (props) {
936
+ return props.theme.dropdownListBgdLT;
937
+ }, function (props) {
938
+ return props.theme.textColorHlLT;
939
+ });
940
+ var dropdownListAnchor = (0, _styledComponents.css)(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n padding-left: 3px;\n font-size: ", ";\n line-height: ", "px;\n"])), function (props) {
941
+ return props.theme.selectColor;
942
+ }, function (props) {
943
+ return props.theme.selectFontSize;
944
+ }, function (props) {
945
+ return props.theme.dropdownListLineHeight;
946
+ });
947
+ var dropdownListAnchorLT = (0, _styledComponents.css)(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n color: ", ";\n"])), dropdownListAnchor, function (props) {
948
+ return props.theme.selectColorLT;
949
+ });
950
+ var dropdownListSize = (0, _styledComponents.css)(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n font-size: 11px;\n padding: 3px 9px;\n font-weight: 500;\n white-space: nowrap;\n height: 32px;\n"])));
951
+ var dropdownListItem = (0, _styledComponents.css)(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n ", " &.hover,\n &:hover {\n cursor: pointer;\n background-color: ", ";\n\n .list__item__anchor {\n color: ", ";\n }\n }\n"])), dropdownListSize, function (props) {
952
+ return props.theme.dropdownListHighlightBg;
953
+ }, function (props) {
954
+ return props.theme.textColorHl;
955
+ });
956
+ var dropdownListItemLT = (0, _styledComponents.css)(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n color: ", ";\n\n &.hover,\n &:hover {\n cursor: pointer;\n color: ", ";\n background-color: ", ";\n\n .list__item__anchor {\n color: ", ";\n }\n }\n"])), dropdownListSize, function (props) {
957
+ return props.theme.textColorLT;
958
+ }, function (props) {
959
+ return props.theme.textColorHlLT;
960
+ }, function (props) {
961
+ return props.theme.dropdownListHighlightBgLT;
962
+ }, function (props) {
963
+ return props.theme.selectColorLT;
964
+ });
965
+ var dropdownListHeader = (0, _styledComponents.css)(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 11px;\n padding: 5px 9px;\n color: ", ";\n"])), function (props) {
966
+ return props.theme.labelColor;
967
+ });
968
+ var dropdownListSection = (0, _styledComponents.css)(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 0 4px 0;\n margin-bottom: 4px;\n border-bottom: 1px solid ", ";\n"])), function (props) {
969
+ return props.theme.labelColor;
970
+ });
971
+ var dropdownList = (0, _styledComponents.css)(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n overflow-y: auto;\n max-height: 280px;\n box-shadow: ", ";\n border-radius: 2px;\n\n .list__section {\n ", ";\n }\n .list__header {\n ", ";\n }\n\n .list__item {\n ", ";\n ", ";\n }\n\n .list__item__anchor {\n ", ";\n }\n\n ", ";\n"])), function (props) {
972
+ return props.theme.dropdownListShadow;
973
+ }, function (props) {
974
+ return props.theme.dropdownListSection;
975
+ }, function (props) {
976
+ return props.theme.dropdownListHeader;
977
+ }, function (props) {
978
+ return props.theme.dropdownListItem;
979
+ }, dropdownListItem, function (props) {
980
+ return props.theme.dropdownListAnchor;
981
+ }, function (props) {
982
+ return props.theme.dropdownScrollBar;
983
+ });
984
+ var dropdownListLT = (0, _styledComponents.css)(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n ", " .list__item {\n ", ";\n }\n\n .list__item__anchor {\n ", ";\n }\n\n ", ";\n"])), dropdownList, function (props) {
985
+ return props.theme.dropdownListItemLT;
986
+ }, function (props) {
987
+ return props.theme.dropdownListAnchorLT;
988
+ }, function (props) {
989
+ return props.theme.dropdownScrollBarLT;
990
+ });
991
+ var sidePanelScrollBar = (0, _styledComponents.css)(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n ::-webkit-scrollbar {\n height: ", "px;\n width: ", "px;\n }\n\n ::-webkit-scrollbar-corner {\n background: ", ";\n }\n\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 10px;\n background: ", ";\n border: 3px solid ", ";\n\n :hover {\n background: ", ";\n cursor: pointer;\n }\n }\n"])), function (props) {
992
+ return props.theme.sidePanelScrollBarHeight;
993
+ }, function (props) {
994
+ return props.theme.sidePanelScrollBarWidth;
995
+ }, function (props) {
996
+ return props.theme.sidePanelBg;
997
+ }, function (props) {
998
+ return props.theme.sidePanelBg;
999
+ }, function (props) {
1000
+ return props.theme.panelBackgroundHover;
1001
+ }, function (props) {
1002
+ return props.theme.sidePanelBg;
1003
+ }, function (props) {
1004
+ return props.theme.labelColor;
1005
+ });
1006
+ var panelDropdownScrollBar = (0, _styledComponents.css)(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n ::-webkit-scrollbar {\n height: 10px;\n width: 10px;\n }\n\n ::-webkit-scrollbar-corner {\n background: ", ";\n }\n\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 10px;\n background: ", ";\n border: 3px solid ", ";\n :hover {\n background: ", ";\n cursor: pointer;\n }\n }\n"])), function (props) {
1007
+ return props.theme.panelBackground;
1008
+ }, function (props) {
1009
+ return props.theme.panelBackground;
1010
+ }, function (props) {
1011
+ return props.theme.panelBackgroundHover;
1012
+ }, function (props) {
1013
+ return props.theme.panelBackground;
1014
+ }, function (props) {
1015
+ return props.theme.labelColor;
1016
+ });
1017
+ var scrollBar = (0, _styledComponents.css)(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n ::-webkit-scrollbar {\n height: 10px;\n width: 10px;\n }\n\n ::-webkit-scrollbar-corner {\n background: ", ";\n }\n\n ::-webkit-scrollbar-track {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 10px;\n background: ", ";\n border: 3px solid ", "\n\n :vertical:hover {\n background: ", ";\n cursor: pointer;\n }\n\n :horizontal:hover {\n background: ", ";\n cursor: pointer;\n }\n }\n"])), function (props) {
1018
+ return props.theme.panelBackground;
1019
+ }, function (props) {
1020
+ return props.theme.panelBackground;
1021
+ }, function (props) {
1022
+ return props.theme.labelColor;
1023
+ }, function (props) {
1024
+ return props.theme.panelBackground;
1025
+ }, function (props) {
1026
+ return props.theme.textColorHl;
1027
+ }, function (props) {
1028
+ return props.theme.textColorHl;
1029
+ });
1030
+ var modalScrollBar = (0, _styledComponents.css)(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["\n ::-webkit-scrollbar {\n width: 14px;\n height: 16px;\n }\n\n ::-webkit-scrollbar-track {\n background: white;\n }\n ::-webkit-scrollbar-track:horizontal {\n background: ", ";\n }\n ::-webkit-scrollbar-thumb {\n background: ", ";\n border: 4px solid white;\n }\n\n ::-webkit-scrollbar-corner {\n background: ", ";\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #969da9;\n }\n\n ::-webkit-scrollbar-thumb:vertical {\n border-radius: 7px;\n }\n\n ::-webkit-scrollbar-thumb:horizontal {\n border-radius: 9px;\n border: 4px solid ", ";\n }\n"])), function (props) {
1031
+ return props.theme.textColorHl;
1032
+ }, function (props) {
1033
+ return props.theme.labelColorLT;
1034
+ }, function (props) {
1035
+ return props.theme.textColorHl;
1036
+ }, function (props) {
1037
+ return props.theme.textColorHl;
1038
+ });
1039
+ exports.modalScrollBar = modalScrollBar;
1040
+
1041
+ var theme = _objectSpread(_objectSpread({}, _defaultSettings.DIMENSIONS), {}, {
1042
+ // templates
1043
+ input: input,
1044
+ inputLT: inputLT,
1045
+ inlineInput: inlineInput,
1046
+ chickletedInput: chickletedInput,
1047
+ chickletedInputLT: chickletedInputLT,
1048
+ chickletedInputContainer: chickletedInputContainer,
1049
+ secondaryChickletedInput: secondaryChickletedInput,
1050
+ borderColor: borderColor,
1051
+ borderColorLT: borderColorLT,
1052
+ secondaryInput: secondaryInput,
1053
+ dropdownScrollBar: dropdownScrollBar,
1054
+ dropdownScrollBarLT: dropdownScrollBarLT,
1055
+ dropdownList: dropdownList,
1056
+ dropdownListLT: dropdownListLT,
1057
+ dropdownListItem: dropdownListItem,
1058
+ dropdownListItemLT: dropdownListItemLT,
1059
+ dropdownListAnchor: dropdownListAnchor,
1060
+ dropdownListAnchorLT: dropdownListAnchorLT,
1061
+ dropdownListHeader: dropdownListHeader,
1062
+ dropdownListSection: dropdownListSection,
1063
+ dropdownListShadow: dropdownListShadow,
1064
+ dropdownWrapperZ: dropdownWrapperZ,
1065
+ dropdownWapperMargin: dropdownWapperMargin,
1066
+ modalScrollBar: modalScrollBar,
1067
+ scrollBar: scrollBar,
1068
+ sidePanelScrollBar: sidePanelScrollBar,
1069
+ inputSwitch: inputSwitch,
1070
+ secondarySwitch: secondarySwitch,
1071
+ switchTrack: switchTrack,
1072
+ switchButton: switchButton,
1073
+ inputCheckbox: inputCheckbox,
1074
+ inputRadio: inputRadio,
1075
+ checkboxBox: checkboxBox,
1076
+ checkboxCheck: checkboxCheck,
1077
+ // Transitions
1078
+ transition: transition,
1079
+ transitionFast: transitionFast,
1080
+ transitionSlow: transitionSlow,
1081
+ // styles
1082
+ activeColor: activeColor,
1083
+ activeColorHover: activeColorHover,
1084
+ borderRadius: borderRadius,
1085
+ boxShadow: boxShadow,
1086
+ errorColor: errorColor,
1087
+ dropdownListHighlightBg: dropdownListHighlightBg,
1088
+ dropdownListHighlightBgLT: dropdownListHighlightBgLT,
1089
+ dropdownListBgd: dropdownListBgd,
1090
+ toolbarItemBgdHover: toolbarItemBgdHover,
1091
+ toolbarItemBorderHover: toolbarItemBorderHover,
1092
+ toolbarItemIconHover: toolbarItemIconHover,
1093
+ toolbarItemBorderRaddius: toolbarItemBorderRaddius,
1094
+ dropdownListBgdLT: dropdownListBgdLT,
1095
+ dropdownListBorderTop: dropdownListBorderTop,
1096
+ dropdownListBorderTopLT: dropdownListBorderTopLT,
1097
+ dropdownListLineHeight: dropdownListLineHeight,
1098
+ labelColor: labelColor,
1099
+ labelColorLT: labelColorLT,
1100
+ labelHoverColor: labelHoverColor,
1101
+ mapPanelBackgroundColor: mapPanelBackgroundColor,
1102
+ mapPanelHeaderBackgroundColor: mapPanelHeaderBackgroundColor,
1103
+ // Select
1104
+ selectActiveBorderColor: selectActiveBorderColor,
1105
+ selectBackground: selectBackground,
1106
+ selectBackgroundLT: selectBackgroundLT,
1107
+ selectBackgroundHover: selectBackgroundHover,
1108
+ selectBackgroundHoverLT: selectBackgroundHoverLT,
1109
+ selectBorder: selectBorder,
1110
+ selectBorderColor: selectBorderColor,
1111
+ selectBorderRadius: selectBorderRadius,
1112
+ selectBorderColorLT: selectBorderColorLT,
1113
+ selectColor: selectColor,
1114
+ selectColorPlaceHolder: selectColorPlaceHolder,
1115
+ selectColorPlaceHolderLT: selectColorPlaceHolderLT,
1116
+ selectFontSize: selectFontSize,
1117
+ selectFontWeight: selectFontWeight,
1118
+ selectColorLT: selectColorLT,
1119
+ selectFontWeightBold: selectFontWeightBold,
1120
+ panelTabColor: panelTabColor,
1121
+ // Input
1122
+ inputBgd: inputBgd,
1123
+ inputBgdHover: inputBgdHover,
1124
+ inputBgdActive: inputBgdActive,
1125
+ inputBgdActiveLT: inputBgdActiveLT,
1126
+ inputBoxHeight: inputBoxHeight,
1127
+ inputBoxHeightSmall: inputBoxHeightSmall,
1128
+ inputBoxHeightTiny: inputBoxHeightTiny,
1129
+ inputBorderColor: inputBorderColor,
1130
+ inputBorderActiveColor: inputBorderActiveColor,
1131
+ inputBorderHoverColor: inputBorderHoverColor,
1132
+ inputBorderRadius: inputBorderRadius,
1133
+ inputColor: inputColor,
1134
+ inputPadding: inputPadding,
1135
+ inputPaddingSmall: inputPaddingSmall,
1136
+ inputPaddingTiny: inputPaddingTiny,
1137
+ inputFontSize: inputFontSize,
1138
+ inputFontSizeSmall: inputFontSizeSmall,
1139
+ inputFontWeight: inputFontWeight,
1140
+ inputPlaceholderColor: inputPlaceholderColor,
1141
+ inputPlaceholderColorLT: inputPlaceholderColorLT,
1142
+ inputPlaceholderFontWeight: inputPlaceholderFontWeight,
1143
+ inputBoxShadow: inputBoxShadow,
1144
+ inputBoxShadowActive: inputBoxShadowActive,
1145
+ inputBoxShadowActiveLT: inputBoxShadowActiveLT,
1146
+ secondaryInputBgd: secondaryInputBgd,
1147
+ secondaryInputBgdHover: secondaryInputBgdHover,
1148
+ secondaryInputBgdActive: secondaryInputBgdActive,
1149
+ secondaryInputColor: secondaryInputColor,
1150
+ secondaryInputBorderColor: secondaryInputBorderColor,
1151
+ secondaryInputBorderActiveColor: secondaryInputBorderActiveColor,
1152
+ dropdownSelectHeight: dropdownSelectHeight,
1153
+ // Switch
1154
+ switchWidth: switchWidth,
1155
+ switchHeight: switchHeight,
1156
+ switchTrackBgd: switchTrackBgd,
1157
+ switchTrackBgdActive: switchTrackBgdActive,
1158
+ switchTrackBorderRadius: switchTrackBorderRadius,
1159
+ switchBtnBgd: switchBtnBgd,
1160
+ switchBtnBgdActive: switchBtnBgdActive,
1161
+ switchBtnBoxShadow: switchBtnBoxShadow,
1162
+ switchBtnBorderRadius: switchBtnBorderRadius,
1163
+ switchBtnWidth: switchBtnWidth,
1164
+ switchBtnHeight: switchBtnHeight,
1165
+ switchLabelMargin: switchLabelMargin,
1166
+ secondarySwitchTrackBgd: secondarySwitchTrackBgd,
1167
+ secondarySwitchBtnBgd: secondarySwitchBtnBgd,
1168
+ // Checkbox
1169
+ checkboxWidth: checkboxWidth,
1170
+ checkboxHeight: checkboxHeight,
1171
+ checkboxMargin: checkboxMargin,
1172
+ checkboxBorderColor: checkboxBorderColor,
1173
+ checkboxBorderRadius: checkboxBorderRadius,
1174
+ checkboxBorderColorLT: checkboxBorderColorLT,
1175
+ checkboxBoxBgd: checkboxBoxBgd,
1176
+ checkboxBoxBgdChecked: checkboxBoxBgdChecked,
1177
+ // Radio
1178
+ radioRadius: radioRadius,
1179
+ radioBorderRadius: radioBorderRadius,
1180
+ radioBorderColor: radioBorderColor,
1181
+ radioButtonRadius: radioButtonRadius,
1182
+ radioButtonBgdColor: radioButtonBgdColor,
1183
+ // Button
1184
+ btnFontFamily: btnFontFamily,
1185
+ primaryBtnBgd: primaryBtnBgd,
1186
+ primaryBtnActBgd: primaryBtnActBgd,
1187
+ primaryBtnColor: primaryBtnColor,
1188
+ primaryBtnActColor: primaryBtnActColor,
1189
+ primaryBtnBgdHover: primaryBtnBgdHover,
1190
+ primaryBtnRadius: primaryBtnRadius,
1191
+ primaryBtnFontSizeDefault: primaryBtnFontSizeDefault,
1192
+ primaryBtnFontSizeSmall: primaryBtnFontSizeSmall,
1193
+ primaryBtnFontSizeLarge: primaryBtnFontSizeLarge,
1194
+ primaryBtnBorder: primaryBtnBorder,
1195
+ secondaryBtnBgd: secondaryBtnBgd,
1196
+ secondaryBtnActBgd: secondaryBtnActBgd,
1197
+ secondaryBtnBgdHover: secondaryBtnBgdHover,
1198
+ secondaryBtnColor: secondaryBtnColor,
1199
+ secondaryBtnActColor: secondaryBtnActColor,
1200
+ secondaryBtnBorder: secondaryBtnBorder,
1201
+ negativeBtnBgd: negativeBtnBgd,
1202
+ negativeBtnActBgd: negativeBtnActBgd,
1203
+ negativeBtnBgdHover: negativeBtnBgdHover,
1204
+ negativeBtnBorder: negativeBtnBorder,
1205
+ negativeBtnColor: negativeBtnColor,
1206
+ negativeBtnActColor: negativeBtnActColor,
1207
+ linkBtnBgd: linkBtnBgd,
1208
+ linkBtnActBgd: linkBtnActBgd,
1209
+ linkBtnColor: linkBtnColor,
1210
+ linkBtnActColor: linkBtnActColor,
1211
+ linkBtnActBgdHover: linkBtnActBgdHover,
1212
+ linkBtnBorder: linkBtnBorder,
1213
+ floatingBtnBgd: floatingBtnBgd,
1214
+ floatingBtnActBgd: floatingBtnActBgd,
1215
+ floatingBtnBgdHover: floatingBtnBgdHover,
1216
+ floatingBtnBorder: floatingBtnBorder,
1217
+ floatingBtnBorderHover: floatingBtnBorderHover,
1218
+ floatingBtnColor: floatingBtnColor,
1219
+ floatingBtnActColor: floatingBtnActColor,
1220
+ ctaBtnBgd: ctaBtnBgd,
1221
+ ctaBtnBgdHover: ctaBtnBgdHover,
1222
+ ctaBtnActBgd: ctaBtnActBgd,
1223
+ ctaBtnColor: ctaBtnColor,
1224
+ ctaBtnActColor: ctaBtnActColor,
1225
+ selectionBtnBgd: selectionBtnBgd,
1226
+ selectionBtnActBgd: selectionBtnActBgd,
1227
+ selectionBtnColor: selectionBtnColor,
1228
+ selectionBtnActColor: selectionBtnActColor,
1229
+ selectionBtnBgdHover: selectionBtnBgdHover,
1230
+ selectionBtnBorder: selectionBtnBorder,
1231
+ selectionBtnBorderColor: selectionBtnBorderColor,
1232
+ selectionBtnBorderActColor: selectionBtnBorderActColor,
1233
+ // Modal
1234
+ modalTitleColor: modalTitleColor,
1235
+ modalTitleFontSize: modalTitleFontSize,
1236
+ modalTitleFontSizeSmaller: modalTitleFontSizeSmaller,
1237
+ modalFooterBgd: modalFooterBgd,
1238
+ modalImagePlaceHolder: modalImagePlaceHolder,
1239
+ modalPadding: modalPadding,
1240
+ modalDialogBgd: modalDialogBgd,
1241
+ modalDialogColor: modalDialogColor,
1242
+ modalLateralPadding: modalLateralPadding,
1243
+ modalPortableLateralPadding: modalPortableLateralPadding,
1244
+ modalOverLayZ: modalOverLayZ,
1245
+ modalOverlayBgd: modalOverlayBgd,
1246
+ modalContentZ: modalContentZ,
1247
+ modalFooterZ: modalFooterZ,
1248
+ modalTitleZ: modalTitleZ,
1249
+ modalButtonZ: modalButtonZ,
1250
+ modalDropdownBackground: modalDropdownBackground,
1251
+ // Side Panel
1252
+ sidePanelBg: sidePanelBg,
1253
+ sidePanelInnerPadding: sidePanelInnerPadding,
1254
+ sideBarCloseBtnBgd: sideBarCloseBtnBgd,
1255
+ sideBarCloseBtnColor: sideBarCloseBtnColor,
1256
+ sideBarCloseBtnBgdHover: sideBarCloseBtnBgdHover,
1257
+ sidePanelHeaderBg: sidePanelHeaderBg,
1258
+ sidePanelHeaderBorder: sidePanelHeaderBorder,
1259
+ sidePanelScrollBarWidth: sidePanelScrollBarWidth,
1260
+ sidePanelScrollBarHeight: sidePanelScrollBarHeight,
1261
+ sidePanelTitleFontsize: sidePanelTitleFontsize,
1262
+ sidePanelTitleLineHeight: sidePanelTitleLineHeight,
1263
+ panelHeaderBorderRadius: panelHeaderBorderRadius,
1264
+ sidePanelBorder: sidePanelBorder,
1265
+ sidePanelBorderColor: sidePanelBorderColor,
1266
+ layerConfigGroupLabelLabelFontSize: layerConfigGroupLabelLabelFontSize,
1267
+ layerConfigGroupMarginBottom: layerConfigGroupMarginBottom,
1268
+ layerConfigGroupPaddingLeft: layerConfigGroupPaddingLeft,
1269
+ // Side Panel Panel
1270
+ chickletBgd: chickletBgd,
1271
+ chickletBgdLT: chickletBgdLT,
1272
+ panelBackground: panelBackground,
1273
+ panelContentBackground: panelContentBackground,
1274
+ panelBackgroundHover: panelBackgroundHover,
1275
+ panelBackgroundLT: panelBackgroundLT,
1276
+ panelToggleMarginRight: panelToggleMarginRight,
1277
+ panelToggleBottomPadding: panelToggleBottomPadding,
1278
+ panelBoxShadow: panelBoxShadow,
1279
+ panelBorderRadius: panelBorderRadius,
1280
+ panelBorder: panelBorder,
1281
+ panelBorderColor: panelBorderColor,
1282
+ panelBorderLT: panelBorderLT,
1283
+ panelHeaderIcon: panelHeaderIcon,
1284
+ panelHeaderIconActive: panelHeaderIconActive,
1285
+ panelHeaderIconHover: panelHeaderIconHover,
1286
+ panelHeaderHeight: panelHeaderHeight,
1287
+ layerPanelHeaderHeight: layerPanelHeaderHeight,
1288
+ panelDropdownScrollBar: panelDropdownScrollBar,
1289
+ layerTypeIconSizeL: layerTypeIconSizeL,
1290
+ layerTypeIconPdL: layerTypeIconPdL,
1291
+ layerTypeIconSizeSM: layerTypeIconSizeSM,
1292
+ // Text
1293
+ fontFamily: fontFamily,
1294
+ fontWeight: fontWeight,
1295
+ fontSize: fontSize,
1296
+ lineHeight: lineHeight,
1297
+ textColor: textColor,
1298
+ textColorLT: textColorLT,
1299
+ dataTableTextColor: dataTableTextColor,
1300
+ textColorHl: textColorHl,
1301
+ titleTextColor: titleTextColor,
1302
+ subtextColor: subtextColor,
1303
+ subtextColorLT: subtextColorLT,
1304
+ subtextColorActive: subtextColorActive,
1305
+ panelToggleBorderColor: panelToggleBorderColor,
1306
+ panelTabWidth: panelTabWidth,
1307
+ textTruncate: textTruncate,
1308
+ titleColorLT: titleColorLT,
1309
+ tooltipBg: tooltipBg,
1310
+ tooltipColor: tooltipColor,
1311
+ tooltipBoxShadow: tooltipBoxShadow,
1312
+ tooltipFontSize: tooltipFontSize,
1313
+ logoColor: logoColor,
1314
+ // Sidepanel divider
1315
+ sidepanelDividerBorder: sidepanelDividerBorder,
1316
+ sidepanelDividerMargin: sidepanelDividerMargin,
1317
+ sidepanelDividerHeight: sidepanelDividerHeight,
1318
+ // Bottom Panel
1319
+ bottomInnerPdSide: bottomInnerPdSide,
1320
+ bottomInnerPdVert: bottomInnerPdVert,
1321
+ bottomPanelGap: bottomPanelGap,
1322
+ bottomWidgetPaddingTop: bottomWidgetPaddingTop,
1323
+ bottomWidgetPaddingRight: bottomWidgetPaddingRight,
1324
+ bottomWidgetPaddingBottom: bottomWidgetPaddingBottom,
1325
+ bottomWidgetPaddingLeft: bottomWidgetPaddingLeft,
1326
+ bottomWidgetBgd: bottomWidgetBgd,
1327
+ // Slider
1328
+ sliderBarColor: sliderBarColor,
1329
+ sliderBarBgd: sliderBarBgd,
1330
+ sliderBarHoverColor: sliderBarHoverColor,
1331
+ sliderBarRadius: sliderBarRadius,
1332
+ sliderBarHeight: sliderBarHeight,
1333
+ sliderHandleHeight: sliderHandleHeight,
1334
+ sliderHandleWidth: sliderHandleWidth,
1335
+ sliderHandleColor: sliderHandleColor,
1336
+ sliderHandleTextColor: sliderHandleTextColor,
1337
+ sliderInactiveBorderColor: sliderInactiveBorderColor,
1338
+ sliderBorderRadius: sliderBorderRadius,
1339
+ sliderHandleHoverColor: sliderHandleHoverColor,
1340
+ sliderHandleAfterContent: sliderHandleAfterContent,
1341
+ sliderHandleShadow: sliderHandleShadow,
1342
+ sliderInputHeight: sliderInputHeight,
1343
+ sliderInputWidth: sliderInputWidth,
1344
+ sliderMarginTopIsTime: sliderMarginTopIsTime,
1345
+ sliderMarginTop: sliderMarginTop,
1346
+ sliderMarginBottom: sliderMarginBottom,
1347
+ // Geocoder
1348
+ geocoderWidth: geocoderWidth,
1349
+ geocoderTop: geocoderTop,
1350
+ geocoderRight: geocoderRight,
1351
+ geocoderInputHeight: geocoderInputHeight,
1352
+ // Plot
1353
+ rangeBrushBgd: rangeBrushBgd,
1354
+ histogramFillInRange: histogramFillInRange,
1355
+ histogramFillOutRange: histogramFillOutRange,
1356
+ axisFontSize: axisFontSize,
1357
+ axisFontColor: axisFontColor,
1358
+ timeTitleFontSize: timeTitleFontSize,
1359
+ rangePlotMargin: rangePlotMargin,
1360
+ rangePlotMarginLarge: rangePlotMarginLarge,
1361
+ rangePlotH: rangePlotH,
1362
+ rangePlotHLarge: rangePlotHLarge,
1363
+ rangePlotContainerH: rangePlotContainerH,
1364
+ rangePlotContainerHLarge: rangePlotContainerHLarge,
1365
+ // Notifications
1366
+ notificationColors: notificationColors,
1367
+ notificationPanelWidth: notificationPanelWidth,
1368
+ notificationPanelItemWidth: notificationPanelItemWidth,
1369
+ notificationPanelItemHeight: notificationPanelItemHeight,
1370
+ // Data Table
1371
+ headerRowHeight: headerRowHeight,
1372
+ rowHeight: rowHeight,
1373
+ headerPaddingTop: headerPaddingTop,
1374
+ headerPaddingBottom: headerPaddingBottom,
1375
+ cellPaddingSide: cellPaddingSide,
1376
+ edgeCellPaddingSide: edgeCellPaddingSide,
1377
+ cellFontSize: cellFontSize,
1378
+ gridPaddingSide: gridPaddingSide,
1379
+ optionButtonColor: optionButtonColor,
1380
+ headerCellBackground: headerCellBackground,
1381
+ headerCellBorderColor: headerCellBorderColor,
1382
+ headerCellIconColor: headerCellIconColor,
1383
+ cellBorderColor: cellBorderColor,
1384
+ evenRowBackground: evenRowBackground,
1385
+ oddRowBackground: oddRowBackground,
1386
+ pinnedGridBorderColor: pinnedGridBorderColor,
1387
+ // time display
1388
+ timeDisplayBorderRadius: timeDisplayBorderRadius,
1389
+ timeDisplayHeight: timeDisplayHeight,
1390
+ timeDisplayMinWidth: timeDisplayMinWidth,
1391
+ timeDisplayOpacity: timeDisplayOpacity,
1392
+ timeDisplayPadding: timeDisplayPadding,
1393
+ // export map
1394
+ exportIntraSectionMargin: exportIntraSectionMargin,
1395
+ // Action Panel
1396
+ actionPanelWidth: actionPanelWidth,
1397
+ actionPanelHeight: actionPanelHeight,
1398
+ // Breakpoints
1399
+ breakPoints: breakPoints,
1400
+ // progressbar
1401
+ progressBarColor: progressBarColor,
1402
+ progressBarTrackColor: progressBarTrackColor,
1403
+ // layerConfigGroupLabel
1404
+ layerConfigGroupLabelBorderLeft: layerConfigGroupLabelBorderLeft,
1405
+ layerConfigGroupLabelMargin: layerConfigGroupLabelMargin,
1406
+ layerConfigGroupLabelPadding: layerConfigGroupLabelPadding,
1407
+ layerConfigGroupColor: layerConfigGroupColor,
1408
+ // layerConfigGroupLabel label
1409
+ layerConfigGroupLabelLabelMargin: layerConfigGroupLabelLabelMargin,
1410
+ // StyledConfigGroupHeader
1411
+ styledConfigGroupHeaderBorder: styledConfigGroupHeaderBorder,
1412
+ // layerConfigurator
1413
+ layerConfiguratorBorder: layerConfiguratorBorder,
1414
+ layerConfiguratorBorderColor: layerConfiguratorBorderColor,
1415
+ layerConfiguratorMargin: layerConfiguratorMargin,
1416
+ layerConfiguratorPadding: layerConfiguratorPadding,
1417
+ // Styled token
1418
+ fieldTokenRightMargin: fieldTokenRightMargin
1419
+ });
1420
+
1421
+ exports.theme = theme;
1422
+
1423
+ var themeLT = _objectSpread(_objectSpread({}, theme), {}, {
1424
+ // template
1425
+ activeColor: activeColorLT,
1426
+ input: inputLT,
1427
+ textColor: textColorLT,
1428
+ sidePanelBg: '#FFFFFF',
1429
+ selectColor: selectColorLT,
1430
+ titleTextColor: '#000000',
1431
+ sidePanelHeaderBg: '#F7F7F7',
1432
+ subtextColorActive: activeColorLT,
1433
+ tooltipBg: '#1869B5',
1434
+ tooltipColor: '#FFFFFF',
1435
+ dropdownListBgd: '#FFFFFF',
1436
+ toolbarItemBgdHover: '#F7F7F7',
1437
+ textColorHl: activeColorLT,
1438
+ inputBgd: '#F7F7F7',
1439
+ inputBgdHover: '#FFFFFF',
1440
+ inputBgdActive: '#FFFFFF',
1441
+ inputBgdActiveLT: '#FFFFFF',
1442
+ dropdownListHighlightBg: '#F0F0F0',
1443
+ toolbarItemIconHover: activeColorLT,
1444
+ panelBackground: '#F7F7F7',
1445
+ panelContentBackground: '#F7F7F7',
1446
+ bottomWidgetBgd: '#F7F7F7',
1447
+ panelBackgroundHover: '#F7F7F7',
1448
+ panelBorderColor: '#D3D8E0',
1449
+ panelHeaderIconActive: '#000000',
1450
+ panelHeaderIconHover: '#000000',
1451
+ sideBarCloseBtnBgd: '#F7F7F7',
1452
+ sideBarCloseBtnColor: textColorLT,
1453
+ sideBarCloseBtnBgdHover: '#F7F7F7',
1454
+ secondaryInputBgd: '#F7F7F7',
1455
+ secondaryInputBgdActive: '#F7F7F7',
1456
+ secondaryInputBgdHover: '#FFFFFF',
1457
+ secondaryInputBorderActiveColor: '#000000',
1458
+ secondaryInputBorderColor: 'none',
1459
+ secondaryInputColor: '#545454',
1460
+ chickletBgd: '#F7F7F7',
1461
+ mapPanelBackgroundColor: '#FFFFFF',
1462
+ mapPanelHeaderBackgroundColor: '#F7F7F7',
1463
+ sliderBarColor: '#A0A7B4',
1464
+ sliderBarBgd: '#D3D8E0',
1465
+ sliderHandleColor: '#F7F7F7',
1466
+ sliderInactiveBorderColor: '#F7F7F7',
1467
+ sliderHandleTextColor: '#F7F7F7',
1468
+ sliderHandleHoverColor: '#F7F7F7',
1469
+ subtextColor: subtextColorLT,
1470
+ switchBtnBgd: '#F7F7F7',
1471
+ secondarySwitchBtnBgd: '#F7F7F7',
1472
+ secondarySwitchTrackBgd: '#D3D8E0',
1473
+ switchBtnBgdActive: '#F7F7F7',
1474
+ switchTrackBgd: '#D3D8E0',
1475
+ switchTrackBgdActive: activeColorLT,
1476
+ // button switch background and hover color
1477
+ primaryBtnBgd: primaryBtnActBgd,
1478
+ primaryBtnActBgd: primaryBtnBgd,
1479
+ primaryBtnBgdHover: primaryBtnBgd,
1480
+ secondaryBtnBgd: secondaryBtnActBgd,
1481
+ secondaryBtnActBgd: secondaryBtnBgd,
1482
+ secondaryBtnBgdHover: secondaryBtnBgd,
1483
+ floatingBtnBgd: '#F7F7F7',
1484
+ floatingBtnActBgd: '#F7F7F7',
1485
+ floatingBtnBgdHover: '#F7F7F7',
1486
+ floatingBtnColor: subtextColor,
1487
+ floatingBtnActColor: activeColorLT,
1488
+ linkBtnActColor: textColorLT,
1489
+ rangeBrushBgd: '#D3D8E0',
1490
+ histogramFillInRange: activeColorLT,
1491
+ histogramFillOutRange: '#A0A7B4',
1492
+ axisFontColor: textColorLT
1493
+ });
1494
+
1495
+ exports.themeLT = themeLT;
1496
+
1497
+ var themeBS = _objectSpread(_objectSpread({}, theme), {}, {
1498
+ activeColor: '#E2E2E2',
1499
+ dropdownListBgd: '#FFFFFF',
1500
+ toolbarItemBgdHover: '#F7F7F7',
1501
+ dropdownListBorderTop: 'none',
1502
+ dropdownListHighlightBg: '#F6F6F6',
1503
+ toolbarItemIconHover: '#000000',
1504
+ inputBgd: '#E2E2E2',
1505
+ inputBgdActive: '#E2E2E2',
1506
+ inputBgdHover: 'inherit',
1507
+ inputBorderActiveColor: '#000000',
1508
+ inputColor: '#000000',
1509
+ chickletBgd: '#E2E2E2',
1510
+ panelBackground: '#FFFFFF',
1511
+ panelBackgroundHover: '#EEEEEE',
1512
+ panelContentBackground: '#FFFFFF',
1513
+ bottomWidgetBgd: '#F7F7F7',
1514
+ panelHeaderIconActive: '#000000',
1515
+ panelHeaderIconHover: '#000000',
1516
+ panelBorderColor: '#E2E2E2',
1517
+ primaryBtnBgd: '#E2E2E2',
1518
+ primaryBtnBgdHover: '#333333',
1519
+ primaryBtnColor: '#000000',
1520
+ secondaryBtnActBgd: '#EEEEEE',
1521
+ secondaryBtnActColor: '#000000',
1522
+ secondaryBtnBgd: '#E2E2E2',
1523
+ secondaryBtnBgdHover: '#CBCBCB',
1524
+ ctnBtnBgd: '#E2E2E2',
1525
+ ctnBtnBgdHover: '333333',
1526
+ ctnBtnColor: '#000000',
1527
+ ctnBtnActColor: '#000000',
1528
+ sideBarCloseBtnBgd: '#E2E2E2',
1529
+ sideBarCloseBtnColor: '#000000',
1530
+ sideBarCloseBtnBgdHover: '#FFFFFF',
1531
+ floatingBtnBgd: '#FFFFFF',
1532
+ floatingBtnActBgd: '#EEEEEE',
1533
+ floatingBtnBgdHover: '#EEEEEE',
1534
+ floatingBtnColor: '#757575',
1535
+ floatingBtnActColor: '#000000',
1536
+ secondaryBtnColor: '#000000',
1537
+ secondaryInputBgd: '#F6F6F6',
1538
+ secondaryInputBgdActive: '#F6F6F6',
1539
+ secondaryInputBgdHover: '#F6F6F6',
1540
+ secondaryInputBorderActiveColor: '#000000',
1541
+ secondaryInputBorderColor: 'none',
1542
+ secondaryInputColor: '#545454',
1543
+ sidePanelBg: '#F6F6F6',
1544
+ sidePanelHeaderBg: '#FFFFFF',
1545
+ subtextColor: '#AFAFAF',
1546
+ panelTabColor: '#AFAFAF',
1547
+ subtextColorActive: '#000000',
1548
+ textColor: '#000000',
1549
+ textColorHl: '#545454',
1550
+ mapPanelBackgroundColor: '#F6F6F6',
1551
+ mapPanelHeaderBackgroundColor: '#FFFFFF',
1552
+ titleTextColor: '#000000',
1553
+ switchBtnBgdActive: '#000000',
1554
+ switchBtnBgd: '#FFFFFF',
1555
+ switchTrackBgdActive: '#E2E2E2',
1556
+ secondarySwitchTrackBgd: '#E2E2E2',
1557
+ switchTrackBgd: '#E2E2E2',
1558
+ secondarySwitchBtnBgd: '#FFFFFF',
1559
+ histogramFillInRange: '#000000',
1560
+ histogramFillOutRange: '#E2E2E2',
1561
+ rangeBrushBgd: '#E2E2E2',
1562
+ sliderBarBgd: '#E2E2E2',
1563
+ sliderHandleColor: '#FFFFFF',
1564
+ sliderInactiveBorderColor: '#FFFFFF',
1565
+ sliderHandleTextColor: '#FFFFFF',
1566
+ sliderBarColor: '#000000'
1567
+ });
1568
+
1569
+ exports.themeBS = themeBS;
1570
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZXMvYmFzZS5qcyJdLCJuYW1lcyI6WyJ0cmFuc2l0aW9uIiwidHJhbnNpdGlvbkZhc3QiLCJ0cmFuc2l0aW9uU2xvdyIsImJveFNoYWRvdyIsImJveFNpemluZyIsImJvcmRlclJhZGl1cyIsImJvcmRlckNvbG9yIiwiYm9yZGVyQ29sb3JMVCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwibGFiZWxDb2xvciIsImxhYmVsSG92ZXJDb2xvciIsImxhYmVsQ29sb3JMVCIsInRleHRDb2xvciIsInRleHRDb2xvckxUIiwiZGF0YVRhYmxlVGV4dENvbG9yIiwidGl0bGVDb2xvckxUIiwic3VidGV4dENvbG9yIiwic3VidGV4dENvbG9yTFQiLCJzdWJ0ZXh0Q29sb3JBY3RpdmUiLCJwYW5lbFRvZ2dsZUJvcmRlckNvbG9yIiwicGFuZWxUYWJXaWR0aCIsInRpdGxlVGV4dENvbG9yIiwidGV4dENvbG9ySGwiLCJ0ZXh0Q29sb3JIbExUIiwiYWN0aXZlQ29sb3IiLCJhY3RpdmVDb2xvckxUIiwiYWN0aXZlQ29sb3JIb3ZlciIsImVycm9yQ29sb3IiLCJsb2dvQ29sb3IiLCJidG5Gb250RmFtaWx5IiwicHJpbWFyeUJ0bkJnZCIsInByaW1hcnlCdG5BY3RCZ2QiLCJwcmltYXJ5QnRuQ29sb3IiLCJwcmltYXJ5QnRuQWN0Q29sb3IiLCJwcmltYXJ5QnRuQmdkSG92ZXIiLCJwcmltYXJ5QnRuUmFkaXVzIiwicHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdCIsInByaW1hcnlCdG5Gb250U2l6ZVNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2UiLCJwcmltYXJ5QnRuQm9yZGVyIiwic2Vjb25kYXJ5QnRuQmdkIiwic2Vjb25kYXJ5QnRuQWN0QmdkIiwic2Vjb25kYXJ5QnRuQ29sb3IiLCJzZWNvbmRhcnlCdG5BY3RDb2xvciIsInNlY29uZGFyeUJ0bkJnZEhvdmVyIiwic2Vjb25kYXJ5QnRuQm9yZGVyIiwiY3RhQnRuQmdkIiwiY3RhQnRuQmdkSG92ZXIiLCJjdGFCdG5BY3RCZ2QiLCJjdGFCdG5Db2xvciIsImN0YUJ0bkFjdENvbG9yIiwibGlua0J0bkJnZCIsImxpbmtCdG5BY3RCZ2QiLCJsaW5rQnRuQ29sb3IiLCJsaW5rQnRuQWN0Q29sb3IiLCJsaW5rQnRuQWN0QmdkSG92ZXIiLCJsaW5rQnRuQm9yZGVyIiwibmVnYXRpdmVCdG5CZ2QiLCJuZWdhdGl2ZUJ0bkFjdEJnZCIsIm5lZ2F0aXZlQnRuQmdkSG92ZXIiLCJuZWdhdGl2ZUJ0bkJvcmRlciIsIm5lZ2F0aXZlQnRuQ29sb3IiLCJuZWdhdGl2ZUJ0bkFjdENvbG9yIiwiZmxvYXRpbmdCdG5CZ2QiLCJmbG9hdGluZ0J0bkFjdEJnZCIsImZsb2F0aW5nQnRuQmdkSG92ZXIiLCJmbG9hdGluZ0J0bkJvcmRlciIsImZsb2F0aW5nQnRuQm9yZGVySG92ZXIiLCJmbG9hdGluZ0J0bkNvbG9yIiwiZmxvYXRpbmdCdG5BY3RDb2xvciIsInNlbGVjdGlvbkJ0bkJnZCIsInNlbGVjdGlvbkJ0bkFjdEJnZCIsInNlbGVjdGlvbkJ0bkNvbG9yIiwic2VsZWN0aW9uQnRuQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5CZ2RIb3ZlciIsInNlbGVjdGlvbkJ0bkJvcmRlciIsInNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yIiwic2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3IiLCJpbnB1dEJveEhlaWdodCIsImlucHV0Qm94SGVpZ2h0U21hbGwiLCJpbnB1dEJveEhlaWdodFRpbnkiLCJpbnB1dFBhZGRpbmciLCJpbnB1dFBhZGRpbmdTbWFsbCIsImlucHV0UGFkZGluZ1RpbnkiLCJpbnB1dEZvbnRTaXplIiwiaW5wdXRGb250U2l6ZVNtYWxsIiwiaW5wdXRGb250V2VpZ2h0IiwiaW5wdXRCZ2QiLCJpbnB1dEJnZEhvdmVyIiwiaW5wdXRCZ2RBY3RpdmUiLCJpbnB1dEJnZEFjdGl2ZUxUIiwiaW5wdXRCb3JkZXJDb2xvciIsImlucHV0Qm9yZGVySG92ZXJDb2xvciIsImlucHV0Qm9yZGVySG92ZXJDb2xvckxUIiwiaW5wdXRCb3JkZXJBY3RpdmVDb2xvciIsImlucHV0Qm9yZGVyQWN0aXZlQ29sb3JMVCIsImlucHV0Q29sb3IiLCJpbnB1dEJvcmRlclJhZGl1cyIsImlucHV0UGxhY2Vob2xkZXJDb2xvciIsImlucHV0UGxhY2Vob2xkZXJDb2xvckxUIiwiaW5wdXRQbGFjZWhvbGRlckZvbnRXZWlnaHQiLCJpbnB1dEJveFNoYWRvdyIsImlucHV0Qm94U2hhZG93QWN0aXZlIiwiaW5wdXRCb3hTaGFkb3dBY3RpdmVMVCIsInNlY29uZGFyeUlucHV0QmdkIiwic2Vjb25kYXJ5SW5wdXRCZ2RIb3ZlciIsInNlY29uZGFyeUlucHV0QmdkQWN0aXZlIiwic2Vjb25kYXJ5SW5wdXRDb2xvciIsInNlY29uZGFyeUlucHV0Qm9yZGVyQ29sb3IiLCJzZWNvbmRhcnlJbnB1dEJvcmRlckFjdGl2ZUNvbG9yIiwiZHJvcGRvd25TZWxlY3RIZWlnaHQiLCJzZWxlY3RDb2xvciIsInNlbGVjdENvbG9yTFQiLCJzZWxlY3RBY3RpdmVCb3JkZXJDb2xvciIsInNlbGVjdEZvbnRTaXplIiwic2VsZWN0Rm9udFdlaWdodCIsInNlbGVjdEZvbnRXZWlnaHRCb2xkIiwic2VsZWN0Q29sb3JQbGFjZUhvbGRlciIsInNlbGVjdENvbG9yUGxhY2VIb2xkZXJMVCIsInNlbGVjdEJhY2tncm91bmQiLCJzZWxlY3RCYWNrZ3JvdW5kSG92ZXIiLCJzZWxlY3RCYWNrZ3JvdW5kTFQiLCJzZWxlY3RCYWNrZ3JvdW5kSG92ZXJMVCIsInNlbGVjdEJvcmRlckNvbG9yIiwic2VsZWN0Qm9yZGVyQ29sb3JMVCIsInNlbGVjdEJvcmRlclJhZGl1cyIsInNlbGVjdEJvcmRlciIsInBhbmVsVGFiQ29sb3IiLCJkcm9wZG93bkxpc3RIaWdobGlnaHRCZyIsImRyb3Bkb3duTGlzdEhpZ2hsaWdodEJnTFQiLCJkcm9wZG93bkxpc3RTaGFkb3ciLCJkcm9wZG93bkxpc3RCZ2QiLCJ0b29sYmFySXRlbUJnZEhvdmVyIiwidG9vbGJhckl0ZW1JY29uSG92ZXIiLCJ0b29sYmFySXRlbUJvcmRlckhvdmVyIiwidG9vbGJhckl0ZW1Cb3JkZXJSYWRkaXVzIiwiZHJvcGRvd25MaXN0QmdkTFQiLCJkcm9wZG93bkxpc3RCb3JkZXJUb3AiLCJkcm9wZG93bkxpc3RCb3JkZXJUb3BMVCIsImRyb3Bkb3duTGlzdExpbmVIZWlnaHQiLCJkcm9wZG93bldyYXBwZXJaIiwiZHJvcGRvd25XYXBwZXJNYXJnaW4iLCJzd2l0Y2hXaWR0aCIsInN3aXRjaEhlaWdodCIsInN3aXRjaExhYmVsTWFyZ2luIiwic3dpdGNoVHJhY2tCZ2QiLCJzd2l0Y2hUcmFja0JnZEFjdGl2ZSIsInN3aXRjaFRyYWNrQm9yZGVyUmFkaXVzIiwic3dpdGNoQnRuQmdkIiwic3dpdGNoQnRuQmdkQWN0aXZlIiwic3dpdGNoQnRuQm94U2hhZG93Iiwic3dpdGNoQnRuQm9yZGVyUmFkaXVzIiwic3dpdGNoQnRuV2lkdGgiLCJzd2l0Y2hCdG5IZWlnaHQiLCJzZWNvbmRhcnlTd2l0Y2hUcmFja0JnZCIsInNlY29uZGFyeVN3aXRjaEJ0bkJnZCIsImNoZWNrYm94V2lkdGgiLCJjaGVja2JveEhlaWdodCIsImNoZWNrYm94TWFyZ2luIiwiY2hlY2tib3hCb3JkZXJDb2xvciIsImNoZWNrYm94Qm9yZGVyUmFkaXVzIiwiY2hlY2tib3hCb3JkZXJDb2xvckxUIiwiY2hlY2tib3hCb3hCZ2QiLCJjaGVja2JveEJveEJnZENoZWNrZWQiLCJyYWRpb1JhZGl1cyIsInJhZGlvQm9yZGVyUmFkaXVzIiwicmFkaW9Cb3JkZXJDb2xvciIsInJhZGlvQnV0dG9uUmFkaXVzIiwicmFkaW9CdXR0b25CZ2RDb2xvciIsInNpZGVQYW5lbEhlYWRlckJnIiwic2lkZVBhbmVsSGVhZGVyQm9yZGVyIiwibGF5ZXJDb25maWdHcm91cE1hcmdpbkJvdHRvbSIsImxheWVyQ29uZmlnR3JvdXBQYWRkaW5nTGVmdCIsInNpZGVQYW5lbElubmVyUGFkZGluZyIsInNpZGVQYW5lbEJvcmRlciIsInNpZGVQYW5lbEJvcmRlckNvbG9yIiwic2lkZVBhbmVsQmciLCJzaWRlUGFuZWxTY3JvbGxCYXJXaWR0aCIsInNpZGVQYW5lbFNjcm9sbEJhckhlaWdodCIsInNpZGVCYXJDbG9zZUJ0bkJnZCIsInNpZGVCYXJDbG9zZUJ0bkNvbG9yIiwic2lkZUJhckNsb3NlQnRuQmdkSG92ZXIiLCJzaWRlUGFuZWxUaXRsZUZvbnRzaXplIiwic2lkZVBhbmVsVGl0bGVMaW5lSGVpZ2h0IiwicGFuZWxCYWNrZ3JvdW5kIiwicGFuZWxDb250ZW50QmFja2dyb3VuZCIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwicGFuZWxIZWFkZXJCb3JkZXJSYWRpdXMiLCJjaGlja2xldEJnZCIsImNoaWNrbGV0QmdkTFQiLCJwYW5lbEhlYWRlckljb24iLCJwYW5lbEhlYWRlckljb25BY3RpdmUiLCJwYW5lbEhlYWRlckljb25Ib3ZlciIsInBhbmVsSGVhZGVySGVpZ2h0IiwibGF5ZXJQYW5lbEhlYWRlckhlaWdodCIsInBhbmVsQm94U2hhZG93IiwicGFuZWxCb3JkZXJSYWRpdXMiLCJwYW5lbEJhY2tncm91bmRMVCIsInBhbmVsVG9nZ2xlTWFyZ2luUmlnaHQiLCJwYW5lbFRvZ2dsZUJvdHRvbVBhZGRpbmciLCJwYW5lbEJvcmRlckNvbG9yIiwicGFuZWxCb3JkZXIiLCJwYW5lbEJvcmRlckxUIiwibWFwUGFuZWxCYWNrZ3JvdW5kQ29sb3IiLCJtYXBQYW5lbEhlYWRlckJhY2tncm91bmRDb2xvciIsInRvb2x0aXBCZyIsInRvb2x0aXBDb2xvciIsInRvb2x0aXBCb3hTaGFkb3ciLCJ0b29sdGlwRm9udFNpemUiLCJsYXllclR5cGVJY29uU2l6ZUwiLCJsYXllclR5cGVJY29uUGRMIiwibGF5ZXJUeXBlSWNvblNpemVTTSIsInNpZGVwYW5lbERpdmlkZXJCb3JkZXIiLCJzaWRlcGFuZWxEaXZpZGVyTWFyZ2luIiwic2lkZXBhbmVsRGl2aWRlckhlaWdodCIsImJvdHRvbUlubmVyUGRTaWRlIiwiYm90dG9tSW5uZXJQZFZlcnQiLCJib3R0b21QYW5lbEdhcCIsImJvdHRvbVdpZGdldFBhZGRpbmdUb3AiLCJib3R0b21XaWRnZXRQYWRkaW5nUmlnaHQiLCJib3R0b21XaWRnZXRQYWRkaW5nQm90dG9tIiwiYm90dG9tV2lkZ2V0UGFkZGluZ0xlZnQiLCJib3R0b21XaWRnZXRCZ2QiLCJtb2RhbFRpdGxlQ29sb3IiLCJtb2RhbFRpdGxlRm9udFNpemUiLCJtb2RhbFRpdGxlRm9udFNpemVTbWFsbGVyIiwibW9kYWxGb290ZXJCZ2QiLCJtb2RhbEltYWdlUGxhY2VIb2xkZXIiLCJtb2RhbFBhZGRpbmciLCJtb2RhbExhdGVyYWxQYWRkaW5nIiwibW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nIiwibW9kYWxPdmVyTGF5WiIsIm1vZGFsT3ZlcmxheUJnZCIsIm1vZGFsQ29udGVudFoiLCJtb2RhbEZvb3RlcloiLCJtb2RhbFRpdGxlWiIsIm1vZGFsQnV0dG9uWiIsIm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIiwibW9kYWxEaWFsb2dCZ2QiLCJtb2RhbERpYWxvZ0NvbG9yIiwic2xpZGVyQmFyQ29sb3IiLCJzbGlkZXJCYXJCZ2QiLCJzbGlkZXJCYXJIb3ZlckNvbG9yIiwic2xpZGVyQmFyUmFkaXVzIiwic2xpZGVyQmFySGVpZ2h0Iiwic2xpZGVySGFuZGxlSGVpZ2h0Iiwic2xpZGVySGFuZGxlV2lkdGgiLCJzbGlkZXJIYW5kbGVDb2xvciIsInNsaWRlckhhbmRsZVRleHRDb2xvciIsInNsaWRlckluYWN0aXZlQm9yZGVyQ29sb3IiLCJzbGlkZXJCb3JkZXJSYWRpdXMiLCJzbGlkZXJIYW5kbGVIb3ZlckNvbG9yIiwic2xpZGVySGFuZGxlQWZ0ZXJDb250ZW50Iiwic2xpZGVySGFuZGxlU2hhZG93Iiwic2xpZGVySW5wdXRIZWlnaHQiLCJzbGlkZXJJbnB1dFdpZHRoIiwic2xpZGVySW5wdXRGb250U2l6ZSIsInNsaWRlcklucHV0UGFkZGluZyIsInNsaWRlck1hcmdpblRvcElzVGltZSIsInNsaWRlck1hcmdpblRvcCIsInNsaWRlck1hcmdpbkJvdHRvbSIsImdlb2NvZGVyV2lkdGgiLCJnZW9jb2RlclRvcCIsImdlb2NvZGVyUmlnaHQiLCJnZW9jb2RlcklucHV0SGVpZ2h0IiwicmFuZ2VCcnVzaEJnZCIsImhpc3RvZ3JhbUZpbGxJblJhbmdlIiwiaGlzdG9ncmFtRmlsbE91dFJhbmdlIiwiYXhpc0ZvbnRTaXplIiwiYXhpc0ZvbnRDb2xvciIsInRpbWVUaXRsZUZvbnRTaXplIiwicmFuZ2VQbG90TWFyZ2luIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwicmFuZ2VQbG90TWFyZ2luTGFyZ2UiLCJyYW5nZVBsb3RIIiwicmFuZ2VQbG90Q29udGFpbmVySCIsInJhbmdlUGxvdEhMYXJnZSIsInJhbmdlUGxvdENvbnRhaW5lckhMYXJnZSIsIm5vdGlmaWNhdGlvbkNvbG9ycyIsImluZm8iLCJlcnJvciIsInN1Y2Nlc3MiLCJ3YXJuaW5nIiwibm90aWZpY2F0aW9uUGFuZWxXaWR0aCIsIm5vdGlmaWNhdGlvblBhbmVsSXRlbVdpZHRoIiwibm90aWZpY2F0aW9uUGFuZWxJdGVtSGVpZ2h0IiwiaGVhZGVyUm93SGVpZ2h0Iiwicm93SGVpZ2h0IiwiaGVhZGVyUGFkZGluZ1RvcCIsImhlYWRlclBhZGRpbmdCb3R0b20iLCJjZWxsUGFkZGluZ1NpZGUiLCJlZGdlQ2VsbFBhZGRpbmdTaWRlIiwiY2VsbEZvbnRTaXplIiwiZ3JpZFBhZGRpbmdTaWRlIiwiaGVhZGVyQ2VsbEJhY2tncm91bmQiLCJoZWFkZXJDZWxsQm9yZGVyQ29sb3IiLCJoZWFkZXJDZWxsSWNvbkNvbG9yIiwiY2VsbEJvcmRlckNvbG9yIiwiZXZlblJvd0JhY2tncm91bmQiLCJvZGRSb3dCYWNrZ3JvdW5kIiwib3B0aW9uQnV0dG9uQ29sb3IiLCJwaW5uZWRHcmlkQm9yZGVyQ29sb3IiLCJ0aW1lRGlzcGxheUJvcmRlclJhZGl1cyIsInRpbWVEaXNwbGF5SGVpZ2h0IiwidGltZURpc3BsYXlNaW5XaWR0aCIsInRpbWVEaXNwbGF5T3BhY2l0eSIsInRpbWVEaXNwbGF5UGFkZGluZyIsImV4cG9ydEludHJhU2VjdGlvbk1hcmdpbiIsInByb2dyZXNzQmFyQ29sb3IiLCJwcm9ncmVzc0JhclRyYWNrQ29sb3IiLCJhY3Rpb25QYW5lbFdpZHRoIiwiYWN0aW9uUGFuZWxIZWlnaHQiLCJmaWVsZFRva2VuUmlnaHRNYXJnaW4iLCJ0ZXh0VHJ1bmNhdGUiLCJtYXhXaWR0aCIsIm92ZXJmbG93IiwidGV4dE92ZXJmbG93Iiwid2hpdGVTcGFjZSIsIndvcmRXcmFwIiwibGF5ZXJDb25maWdHcm91cExhYmVsQm9yZGVyTGVmdCIsImxheWVyQ29uZmlnR3JvdXBMYWJlbE1hcmdpbiIsImxheWVyQ29uZmlnR3JvdXBMYWJlbFBhZGRpbmciLCJsYXllckNvbmZpZ0dyb3VwQ29sb3IiLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbE1hcmdpbiIsImxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsRm9udFNpemUiLCJzdHlsZWRDb25maWdHcm91cEhlYWRlckJvcmRlciIsImxheWVyQ29uZmlndXJhdG9yQm9yZGVyIiwibGF5ZXJDb25maWd1cmF0b3JCb3JkZXJDb2xvciIsImxheWVyQ29uZmlndXJhdG9yTWFyZ2luIiwibGF5ZXJDb25maWd1cmF0b3JQYWRkaW5nIiwiYnJlYWtQb2ludHMiLCJwYWxtIiwiZGVzayIsImlucHV0IiwiY3NzIiwicHJvcHMiLCJ0aGVtZSIsImFjdGl2ZSIsImluY2x1ZGVzIiwic2l6ZSIsImRpc2FibGVkIiwidHlwZSIsImlucHV0TFQiLCJzZWNvbmRhcnlJbnB1dCIsImNoaWNrbGV0ZWRJbnB1dENvbnRhaW5lciIsImNoaWNrbGV0ZWRJbnB1dCIsImNoaWNrbGV0ZWRJbnB1dExUIiwic2Vjb25kYXJ5Q2hpY2tsZXRlZElucHV0IiwiaW5saW5lSW5wdXQiLCJzd2l0Y2hUcmFjayIsImNoZWNrZWQiLCJzd2l0Y2hCdXR0b24iLCJpbnB1dFN3aXRjaCIsImNoZWNrYm94Qm94IiwiY2hlY2tib3hDaGVjayIsImlucHV0Q2hlY2tib3giLCJpbnB1dFJhZGlvIiwic2Vjb25kYXJ5U3dpdGNoIiwiZHJvcGRvd25TY3JvbGxCYXIiLCJkcm9wZG93blNjcm9sbEJhckxUIiwiZHJvcGRvd25MaXN0QW5jaG9yIiwiZHJvcGRvd25MaXN0QW5jaG9yTFQiLCJkcm9wZG93bkxpc3RTaXplIiwiZHJvcGRvd25MaXN0SXRlbSIsImRyb3Bkb3duTGlzdEl0ZW1MVCIsImRyb3Bkb3duTGlzdEhlYWRlciIsImRyb3Bkb3duTGlzdFNlY3Rpb24iLCJkcm9wZG93bkxpc3QiLCJkcm9wZG93bkxpc3RMVCIsInNpZGVQYW5lbFNjcm9sbEJhciIsInBhbmVsRHJvcGRvd25TY3JvbGxCYXIiLCJzY3JvbGxCYXIiLCJtb2RhbFNjcm9sbEJhciIsIkRJTUVOU0lPTlMiLCJ0aGVtZUxUIiwidGhlbWVCUyIsImN0bkJ0bkJnZCIsImN0bkJ0bkJnZEhvdmVyIiwiY3RuQnRuQ29sb3IiLCJjdG5CdG5BY3RDb2xvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7Ozs7Ozs7QUFFTyxJQUFNQSxVQUFVLEdBQUcsY0FBbkI7O0FBQ0EsSUFBTUMsY0FBYyxHQUFHLGNBQXZCOztBQUNBLElBQU1DLGNBQWMsR0FBRyxjQUF2Qjs7QUFFQSxJQUFNQyxTQUFTLEdBQUcsOEJBQWxCOztBQUNBLElBQU1DLFNBQVMsR0FBRyxZQUFsQjs7QUFDQSxJQUFNQyxZQUFZLEdBQUcsS0FBckI7O0FBQ0EsSUFBTUMsV0FBVyxHQUFHLFNBQXBCOztBQUNBLElBQU1DLGFBQWEsR0FBRyxTQUF0QixDLENBRVA7OztBQUNPLElBQU1DLFVBQVUsNkRBQWhCOztBQUNBLElBQU1DLFVBQVUsR0FBRyxHQUFuQjs7QUFDQSxJQUFNQyxRQUFRLEdBQUcsU0FBakI7O0FBQ0EsSUFBTUMsVUFBVSxHQUFHLE9BQW5COztBQUNBLElBQU1DLFVBQVUsR0FBRyxTQUFuQjs7QUFDQSxJQUFNQyxlQUFlLEdBQUcsU0FBeEI7O0FBQ0EsSUFBTUMsWUFBWSxHQUFHLFNBQXJCOztBQUVBLElBQU1DLFNBQVMsR0FBRyxTQUFs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QUFzRWxCTSxFQUFBQSxpQkFBaUIsRUFBRSxTQXRFRDtBQXVFbEJFLEVBQUFBLHlCQUF5QixFQUFFLFNBdkVUO0FBd0VsQkQsRUFBQUEscUJBQXFCLEVBQUUsU0F4RUw7QUF5RWxCUixFQUFBQSxjQUFjLEVBQUU7QUF6RUUsRUFBYiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0RJTUVOU0lPTlN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcblxuZXhwb3J0IGNvbnN0IHRyYW5zaXRpb24gPSAnYWxsIC40cyBlYXNlJztcbmV4cG9ydCBjb25zdCB0cmFuc2l0aW9uRmFzdCA9ICdhbGwgLjJzIGVhc2UnO1xuZXhwb3J0IGNvbnN0IHRyYW5zaXRpb25TbG93ID0gJ2FsbCAuOHMgZWFzZSc7XG5cbmV4cG9ydCBjb25zdCBib3hTaGFkb3cgPSAnMCAxcHggMnB4IDAgcmdiYSgwLDAsMCwwLjEwKSc7XG5leHBvcnQgY29uc3QgYm94U2l6aW5nID0gJ2JvcmRlci1ib3gnO1xuZXhwb3J0IGNvbnN0IGJvcmRlclJhZGl1cyA9ICcxcHgnO1xuZXhwb3J0IGNvbnN0IGJvcmRlckNvbG9yID0gJyMzQTQxNEMnO1xuZXhwb3J0IGNvbnN0IGJvcmRlckNvbG9yTFQgPSAnI0YxRjFGMSc7XG5cbi8vIFRFWFRcbmV4cG9ydCBjb25zdCBmb250RmFtaWx5ID0gYGZmLWNsYW4td2ViLXBybywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmYDtcbmV4cG9ydCBjb25zdCBmb250V2VpZ2h0ID0gNDAwO1xuZXhwb3J0IGNvbnN0IGZvbnRTaXplID0gJzAuODc1ZW0nO1xuZXhwb3J0IGNvbnN0IGxpbmVIZWlnaHQgPSAxLjcxNDI5O1xuZXhwb3J0IGNvbnN0IGxhYmVsQ29sb3IgPSAnIzZBNzQ4NSc7XG5leHBvcnQgY29uc3QgbGFiZWxIb3ZlckNvbG9yID0gJyNDNkM2QzYnO1xuZXhwb3J0IGNvbnN0IGxhYmVsQ29sb3JMVCA9ICcjNkE3NDg1JztcblxuZXhwb3J0IGNvbnN0IHRleHRDb2xvciA9ICcjQTBBN0I0JztcbmV4cG9ydCBjb25zdCB0ZXh0Q29sb3JMVCA9ICcjM0E0MTRDJztcbmV4cG9ydCBjb25zdCBkYXRhVGFibGVUZXh0Q29sb3IgPSB0ZXh0Q29sb3JMVDtcbmV4cG9ydCBjb25zdCB0aXRsZUNvbG9yTFQgPSAnIzI5MzIzQyc7XG5cbmV4cG9ydCBjb25zdCBzdWJ0ZXh0Q29sb3IgPSAnIzZBNzQ4NSc7XG5leHBvcnQgY29uc3Qgc3VidGV4dENvbG9yTFQgPSAnI0EwQTdCNCc7XG5leHBvcnQgY29uc3Qgc3VidGV4dENvbG9yQWN0aXZlID0gJyNGRkZGRkYnO1xuZXhwb3J0IGNvbnN0IHBhbmVsVG9nZ2xlQm9yZGVyQ29sb3IgPSAnI0ZGRkZGRic7XG5leHBvcnQgY29uc3QgcGFuZWxUYWJXaWR0aCA9ICczMHB4JztcblxuZXhwb3J0IGNvbnN0IHRpdGxlVGV4dENvbG9yID0gJyNGRkZGRkYnO1xuZXhwb3J0IGNvbnN0IHRleHRDb2xvckhsID0gJyNGMEYwRjAnO1xuZXhwb3J0IGNvbnN0IHRleHRDb2xvckhsTFQgPSAnIzAwMDAwMCc7XG5leHBvcnQgY29uc3QgYWN0aXZlQ29sb3IgPSAnIzFGQkFENic7XG5leHBvcnQgY29uc3QgYWN0aXZlQ29sb3JMVCA9ICcjMjQ3M0JEJztcbmV4cG9ydCBjb25zdCBhY3RpdmVDb2xvckhvdmVyID0gJyMxMDgxODgnO1xuZXhwb3J0IGNvbnN0IGVycm9yQ29sb3IgPSAnI0Y5MDQyQyc7XG5leHBvcnQgY29uc3QgbG9nb0NvbG9yID0gYWN0aXZlQ29sb3I7XG5cbi8vIEJ1dHRvblxuZXhwb3J0IGNvbnN0IGJ0bkZvbnRGYW1pbHkgPSBmb250RmFtaWx5O1xuZXhwb3J0IGNvbnN0IHByaW1hcnlCdG5CZ2QgPSAnIzBGOTY2OCc7XG5leHBvcnQgY29uc3QgcHJpbWFyeUJ0bkFjdEJnZCA9ICcjMTNCMTdCJztcbmV4cG9ydCBjb25zdCBwcmltYXJ5QnRuQ29sb3IgPSAnI0ZGRkZGRic7XG5leHBvcnQgY29uc3QgcHJpbWFyeUJ0bkFjdENvbG9yID0gJyNGRkZGRkYnO1xuZXhwb3J0IGNvbnN0IHByaW1hcnlCdG5CZ2RIb3ZlciA9ICcjMTNCMTdCJztcbmV4cG9ydCBjb25zdCBwcmltYXJ5QnRuUmFkaXVzID0gJzJweCc7XG5leHBvcnQgY29uc3QgcHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdCA9ICcxMXB4JztcbmV4cG9ydCBjb25zdCBwcmltYXJ5QnRuRm9udFNpemVTbWFsbCA9ICcxMHB4JztcbmV4cG9ydCBjb25zdCBwcmltYXJ5QnRuRm9udFNpemVMYXJnZSA9ICcxNHB4JztcbmV4cG9ydCBjb25zdCBwcmltYXJ5QnRuQm9yZGVyID0gJzAnO1xuXG5leHBvcnQgY29uc3Qgc2Vjb25kYXJ5QnRuQmdkID0gJyM2QTc0ODUnO1xuZXhwb3J0IGNvbnN0IHNlY29uZGFyeUJ0bkFjdEJnZCA9ICcjQTBBN0I0JztcbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlCdG5Db2xvciA9ICcjRkZGRkZGJztcbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlCdG5BY3RDb2xvciA9ICcjRkZGRkZGJztcbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlCdG5CZ2RIb3ZlciA9ICcjQTBBN0I0JztcbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlCdG5Cb3JkZXIgPSAnMCc7XG5cbmV4cG9ydCBjb25zdCBjdGFCdG5CZ2QgPSAnIzBGOTY2OCc7XG5leHBvcnQgY29uc3QgY3RhQnRuQmdkSG92ZXIgPSAnIzEzQjE3Qic7XG5leHBvcnQgY29uc3QgY3RhQnRuQWN0QmdkID0gJyMxM0IxN0InO1xuZXhwb3J0IGNvbnN0IGN0YUJ0bkNvbG9yID0gJyNGRkZGRkYnO1xuZXhwb3J0IGNvbnN0IGN0YUJ0bkFjdENvbG9yID0gJyNGRkZGRkYnO1xuXG5leHBvcnQgY29uc3QgbGlua0J0bkJnZCA9ICd0cmFuc3BhcmVudCc7XG5leHBvcnQgY29uc3QgbGlua0J0bkFjdEJnZCA9IGxpbmtCdG5CZ2Q7XG5leHBvcnQgY29uc3QgbGlua0J0bkNvbG9yID0gJyNBMEE3QjQnO1xuZXhwb3J0IGNvbnN0IGxpbmtCdG5BY3RDb2xvciA9ICcjRjFGMUYxJztcbmV4cG9ydCBjb25zdCBsaW5rQnRuQWN0QmdkSG92ZXIgPSBsaW5rQnRuQmdkO1xuZXhwb3J0IGNvbnN0IGxpbmtCdG5Cb3JkZXIgPSAnMCc7XG5cbmV4cG9ydCBjb25zdCBuZWdhdGl2ZUJ0bkJnZCA9IGVycm9yQ29sb3I7XG5leHBvcnQgY29uc3QgbmVnYXRpdmVCdG5BY3RCZ2QgPSAnI0ZGMTkzRSc7XG5leHBvcnQgY29uc3QgbmVnYXRpdmVCdG5CZ2RIb3ZlciA9ICcjRkYxOTNFJztcbmV4cG9ydCBjb25zdCBuZWdhdGl2ZUJ0bkJvcmRlciA9ICcwJztcbmV4cG9ydCBjb25zdCBuZWdhdGl2ZUJ0bkNvbG9yID0gJyNGRkZGRkYnO1xuZXhwb3J0IGNvbnN0IG5lZ2F0aXZlQnRuQWN0Q29sb3IgPSAnI0ZGRkZGRic7XG5cbmV4cG9ydCBjb25zdCBmbG9hdGluZ0J0bkJnZCA9ICcjMjkzMjNDJztcbmV4cG9ydCBjb25zdCBmbG9hdGluZ0J0bkFjdEJnZCA9ICcjM0E0NTUyJztcbmV4cG9ydCBjb25zdCBmbG9hdGluZ0J0bkJnZEhvdmVyID0gJyMzQTQ1NTInO1xuZXhwb3J0IGNvbnN0IGZsb2F0aW5nQnRuQm9yZGVyID0gJzAnO1xuZXhwb3J0IGNvbnN0IGZsb2F0aW5nQnRuQm9yZGVySG92ZXIgPSAnMCc7XG5leHBvcnQgY29uc3QgZmxvYXRpbmdCdG5Db2xvciA9IHN1YnRleHRDb2xvcjtcbmV4cG9ydCBjb25zdCBmbG9hdGluZ0J0bkFjdENvbG9yID0gc3VidGV4dENvbG9yQWN0aXZlO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0aW9uQnRuQmdkID0gJ3RyYW5zcGFyZW50JztcbmV4cG9ydCBjb25zdCBzZWxlY3Rpb25CdG5BY3RCZ2QgPSAndHJhbnNwYXJlbnQnO1xuZXhwb3J0IGNvbnN0IHNlbGVjdGlvbkJ0bkNvbG9yID0gJyNEM0Q4RTAnO1xuZXhwb3J0IGNvbnN0IHNlbGVjdGlvbkJ0bkFjdENvbG9yID0gJyMwRjk2NjgnO1xuZXhwb3J0IGNvbnN0IHNlbGVjdGlvbkJ0bkJnZEhvdmVyID0gJyMwRjk2NjgnO1xuZXhwb3J0IGNvbnN0IHNlbGVjdGlvbkJ0bkJvcmRlciA9ICcxJztcbmV4cG9ydCBjb25zdCBzZWxlY3Rpb25CdG5Cb3JkZXJDb2xvciA9ICcjRDNEOEUwJztcbmV4cG9ydCBjb25zdCBzZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvciA9ICcjMEY5NjY4JztcblxuLy8gSW5wdXRcbmV4cG9ydCBjb25zdCBpbnB1dEJveEhlaWdodCA9ICczNHB4JztcbmV4cG9ydCBjb25zdCBpbnB1dEJveEhlaWdodFNtYWxsID0gJzI0cHgnO1xuZXhwb3J0IGNvbnN0IGlucHV0Qm94SGVpZ2h0VGlueSA9ICcxOHB4JztcbmV4cG9ydCBjb25zdCBpbnB1dFBhZGRpbmcgPSAnNHB4IDEwcHgnO1xuZXhwb3J0IGNvbnN0IGlucHV0UGFkZGluZ1NtYWxsID0gJzRweCA2cHgnO1xuZXhwb3J0IGNvbnN0IGlucHV0UGFkZGluZ1RpbnkgPSAnMnB4IDRweCc7XG5leHBvcnQgY29uc3QgaW5wdXRGb250U2l6ZSA9ICcxMXB4JztcbmV4cG9ydCBjb25zdCBpbnB1dEZvbnRTaXplU21hbGwgPSAnMTBweCc7XG5leHBvcnQgY29uc3QgaW5wdXRGb250V2VpZ2h0ID0gNTAwO1xuZXhwb3J0IGNvbnN0IGlucHV0QmdkID0gJyMyOTMyM0MnO1xuZXhwb3J0IGNvbnN0IGlucHV0QmdkSG92ZXIgPSAnIzNBNDE0Qyc7XG5leHBvcnQgY29uc3QgaW5wdXRCZ2RBY3RpdmUgPSAnIzNBNDE0Qyc7XG5leHBvcnQgY29uc3QgaW5wdXRCZ2RBY3RpdmVMVCA9ICcjRkZGRkZGJztcblxuZXhwb3J0IGNvbnN0IGlucHV0Qm9yZGVyQ29sb3IgPSAnIzI5MzIzQyc7XG5leHBvcnQgY29uc3QgaW5wdXRCb3JkZXJIb3ZlckNvbG9yID0gJyMzQTQxNEMnO1xuZXhwb3J0IGNvbnN0IGlucHV0Qm9yZGVySG92ZXJDb2xvckxUID0gc3VidGV4dENvbG9yO1xuZXhwb3J0IGNvbnN0IGlucHV0Qm9yZGVyQWN0aXZlQ29sb3IgPSAnIzNBNDE0Qyc7XG5leHBvcnQgY29uc3QgaW5wdXRCb3JkZXJBY3RpdmVDb2xvckxUID0gdGV4dENvbG9yTFQ7XG5cbmV4cG9ydCBjb25zdCBpbnB1dENvbG9yID0gJyNBMEE3QjQnO1xuZXhwb3J0IGNvbnN0IGlucHV0Qm9yZGVyUmFkaXVzID0gJzFweCc7XG5leHBvcnQgY29uc3QgaW5wdXRQbGFjZWhvbGRlckNvbG9yID0gJyM2QTc0ODUnO1xuZXhwb3J0IGNvbnN0IGlucHV0UGxhY2Vob2xkZXJDb2xvckxUID0gc3VidGV4dENvbG9yTFQ7XG5leHBvcnQgY29uc3QgaW5wdXRQbGFjZWhvbGRlckZvbnRXZWlnaHQgPSA0MDA7XG5leHBvcnQgY29uc3QgaW5wdXRCb3hTaGFkb3cgPSAnbm9uZSc7XG5leHBvcnQgY29uc3QgaW5wdXRCb3hTaGFkb3dBY3RpdmUgPSAnbm9uZSc7XG5leHBvcnQgY29uc3QgaW5wdXRCb3hTaGFkb3dBY3RpdmVMVCA9ICdub25lJztcbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlJbnB1dEJnZCA9ICcjMjQyNzMwJztcbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlJbnB1dEJnZEhvdmVyID0gJyMzQTQxNEMnO1xuZXhwb3J0IGNvbnN0IHNlY29uZGFyeUlucHV0QmdkQWN0aXZlID0gJyMzQTQxNEMnO1xuZXhwb3J0IGNvbnN0IHNlY29uZGFyeUlucHV0Q29sb3IgPSAnI0EwQTdCNCc7XG5leHBvcnQgY29uc3Qgc2Vjb25kYXJ5SW5wdXRCb3JkZXJDb2xvciA9ICcjMjQyNzMwJztcbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlJbnB1dEJvcmRlckFjdGl2ZUNvbG9yID0gJyNEM0Q4RTAnO1xuZXhwb3J0IGNvbnN0IGRyb3Bkb3duU2VsZWN0SGVpZ2h0ID0gMzA7XG5cbi8vIFNlbGVjdFxuZXhwb3J0IGNvbnN0IHNlbGVjdENvbG9yID0gaW5wdXRDb2xvcjtcbmV4cG9ydCBjb25zdCBzZWxlY3RDb2xvckxUID0gdGl0bGVDb2xvckxUO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0QWN0aXZlQm9yZGVyQ29sb3IgPSAnI0QzRDhFMCc7XG5leHBvcnQgY29uc3Qgc2VsZWN0Rm9udFNpemUgPSAnMTFweCc7XG5leHBvcnQgY29uc3Qgc2VsZWN0Rm9udFdlaWdodCA9ICc0MDAnO1xuZXhwb3J0IGNvbnN0IHNlbGVjdEZvbnRXZWlnaHRCb2xkID0gJzUwMCc7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RDb2xvclBsYWNlSG9sZGVyID0gJyM2QTc0ODUnO1xuZXhwb3J0IGNvbnN0IHNlbGVjdENvbG9yUGxhY2VIb2xkZXJMVCA9IHNlbGVjdENvbG9yTFQ7XG5leHBvcnQgY29uc3Qgc2VsZWN0QmFja2dyb3VuZCA9IGlucHV0QmdkO1xuZXhwb3J0IGNvbnN0IHNlbGVjdEJhY2tncm91bmRIb3ZlciA9IGlucHV0QmdkSG92ZXI7XG5leHBvcnQgY29uc3Qgc2VsZWN0QmFja2dyb3VuZExUID0gJyNGRkZGRkYnO1xuZXhwb3J0IGNvbnN0IHNlbGVjdEJhY2tncm91bmRIb3ZlckxUID0gJyNGOEY4RjknO1xuZXhwb3J0IGNvbnN0IHNlbGVjdEJvcmRlckNvbG9yID0gJyNEM0Q4RTAnO1xuZXhwb3J0IGNvbnN0IHNlbGVjdEJvcmRlckNvbG9yTFQgPSAnI0QzRDhFMCc7XG5leHBvcnQgY29uc3Qgc2VsZWN0Qm9yZGVyUmFkaXVzID0gJzFweCc7XG5leHBvcnQgY29uc3Qgc2VsZWN0Qm9yZGVyID0gMDtcbmV4cG9ydCBjb25zdCBwYW5lbFRhYkNvbG9yID0gc3VidGV4dENvbG9yO1xuZXhwb3J0IGNvbnN0IGRyb3Bkb3duTGlzdEhpZ2hsaWdodEJnID0gJyM2QTc0ODUnO1xuZXhwb3J0IGNvbnN0IGRyb3Bkb3duTGlzdEhpZ2hsaWdodEJnTFQgPSAnI0Y4RjhGOSc7XG5leHBvcnQgY29uc3QgZHJvcGRvd25MaXN0U2hhZG93ID0gJzAgNnB4IDEycHggMCByZ2JhKDAsMCwwLDAuMTYpJztcbmV4cG9ydCBjb25zdCBkcm9wZG93bkxpc3RCZ2QgPSAnIzI5MzIzQyc7XG5leHBvcnQgY29uc3QgdG9vbGJhckl0ZW1CZ2RIb3ZlciA9ICcjM0E0NTUyJztcbmV4cG9ydCBjb25zdCB0b29sYmFySXRlbUljb25Ib3ZlciA9IHRleHRDb2xvckhsO1xuZXhwb3J0IGNvbnN0IHRvb2xiYXJJdGVtQm9yZGVySG92ZXIgPSAndHJhbnNwYXJlbnQnO1xuZXhwb3J0IGNvbnN0IHRvb2xiYXJJdGVtQm9yZGVyUmFkZGl1cyA9ICcwcHgnO1xuZXhwb3J0IGNvbnN0IGRyb3Bkb3duTGlzdEJnZExUID0gJyNGRkZGRkYnO1xuZXhwb3J0IGNvbnN0IGRyb3Bkb3duTGlzdEJvcmRlclRvcCA9ICcjMjQyNzMwJztcbmV4cG9ydCBjb25zdCBkcm9wZG93bkxpc3RCb3JkZXJUb3BMVCA9ICcjRDNEOEUwJztcbmV4cG9ydCBjb25zdCBkcm9wZG93bkxpc3RMaW5lSGVpZ2h0ID0gMjA7XG5leHBvcnQgY29uc3QgZHJvcGRvd25XcmFwcGVyWiA9IDEwMDtcbmV4cG9ydCBjb25zdCBkcm9wZG93bldhcHBlck1hcmdpbiA9IDQ7XG5cbi8vIFN3aXRjaFxuZXhwb3J0IGNvbnN0IHN3aXRjaFdpZHRoID0gMjQ7XG5leHBvcnQgY29uc3Qgc3dpdGNoSGVpZ2h0ID0gMTI7XG5leHBvcnQgY29uc3Qgc3dpdGNoTGFiZWxNYXJnaW4gPSAxMjtcblxuZXhwb3J0IGNvbnN0IHN3aXRjaFRyYWNrQmdkID0gJyMyOTMyM0MnO1xuZXhwb3J0IGNvbnN0IHN3aXRjaFRyYWNrQmdkQWN0aXZlID0gYWN0aXZlQ29sb3I7XG5leHBvcnQgY29uc3Qgc3dpdGNoVHJhY2tCb3JkZXJSYWRpdXMgPSAnMXB4JztcbmV4cG9ydCBjb25zdCBzd2l0Y2hCdG5CZ2QgPSAnIzZBNzQ4NSc7XG5leHBvcnQgY29uc3Qgc3dpdGNoQnRuQmdkQWN0aXZlID0gJyNEM0Q4RTAnO1xuZXhwb3J0IGNvbnN0IHN3aXRjaEJ0bkJveFNoYWRvdyA9ICcwIDJweCA0cHggMCByZ2JhKDAsMCwwLDAuNDApJztcbmV4cG9ydCBjb25zdCBzd2l0Y2hCdG5Cb3JkZXJSYWRpdXMgPSAnMCc7XG5leHBvcnQgY29uc3Qgc3dpdGNoQnRuV2lkdGggPSAxMjtcbmV4cG9ydCBjb25zdCBzd2l0Y2hCdG5IZWlnaHQgPSAxMjtcblxuZXhwb3J0IGNvbnN0IHNlY29uZGFyeVN3aXRjaFRyYWNrQmdkID0gJyMyNDI3MzAnO1xuZXhwb3J0IGNvbnN0IHNlY29uZGFyeVN3aXRjaEJ0bkJnZCA9ICcjM0E0MTRDJztcblxuLy8gQ2hlY2tib3hcbmV4cG9ydCBjb25zdCBjaGVja2JveFdpZHRoID0gMTY7XG5leHBvcnQgY29uc3QgY2hlY2tib3hIZWlnaHQgPSAxNjtcbmV4cG9ydCBjb25zdCBjaGVja2JveE1hcmdpbiA9IDEyO1xuZXhwb3J0IGNvbnN0IGNoZWNrYm94Qm9yZGVyQ29sb3IgPSBzZWxlY3RCb3JkZXJDb2xvcjtcbmV4cG9ydCBjb25zdCBjaGVja2JveEJvcmRlclJhZGl1cyA9ICcycHgnO1xuZXhwb3J0IGNvbnN0IGNoZWNrYm94Qm9yZGVyQ29sb3JMVCA9IHNlbGVjdEJvcmRlckNvbG9yTFQ7XG5leHBvcnQgY29uc3QgY2hlY2tib3hCb3hCZ2QgPSAnd2hpdGUnO1xuZXhwb3J0IGNvbnN0IGNoZWNrYm94Qm94QmdkQ2hlY2tlZCA9IHByaW1hcnlCdG5CZ2Q7XG5cbi8vIFJhZGlvXG5leHBvcnQgY29uc3QgcmFkaW9SYWRpdXMgPSA4O1xuZXhwb3J0IGNvbnN0IHJhZGlvQm9yZGVyUmFkaXVzID0gMTAwO1xuZXhwb3J0IGNvbnN0IHJhZGlvQm9yZGVyQ29sb3IgPSAndHJhbnNwYXJlbnQnO1xuZXhwb3J0IGNvbnN0IHJhZGlvQnV0dG9uUmFkaXVzID0gNDtcbmV4cG9ydCBjb25zdCByYWRpb0J1dHRvbkJnZENvbG9yID0gc3dpdGNoQnRuQmdkQWN0aXZlO1xuXG4vLyBTaWRlIFBhbmVsXG5leHBvcnQgY29uc3Qgc2lkZVBhbmVsSGVhZGVyQmcgPSAnIzI5MzIzQyc7XG5leHBvcnQgY29uc3Qgc2lkZVBhbmVsSGVhZGVyQm9yZGVyID0gJ3RyYW5zcGFyZW50JztcbmV4cG9ydCBjb25zdCBsYXllckNvbmZpZ0dyb3VwTWFyZ2luQm90dG9tID0gMTI7XG5leHBvcnQgY29uc3QgbGF5ZXJDb25maWdHcm91cFBhZGRpbmdMZWZ0ID0gMTg7XG5cbmV4cG9ydCBjb25zdCBzaWRlUGFuZWxJbm5lclBhZGRpbmcgPSAxNjtcbmV4cG9ydCBjb25zdCBzaWRlUGFuZWxCb3JkZXIgPSAwO1xuZXhwb3J0IGNvbnN0IHNpZGVQYW5lbEJvcmRlckNvbG9yID0gJ3RyYW5zcGFyZW50JztcbmV4cG9ydCBjb25zdCBzaWRlUGFuZWxCZyA9ICcjMjQyNzMwJztcbmV4cG9ydCBjb25zdCBzaWRlUGFuZWxTY3JvbGxCYXJXaWR0aCA9IDEwO1xuZXhwb3J0IGNvbnN0IHNpZGVQYW5lbFNjcm9sbEJhckhlaWdodCA9IDEwO1xuZXhwb3J0IGNvbnN0IHNpZGVCYXJDbG9zZUJ0bkJnZCA9IHNlY29uZGFyeUJ0bkJnZDtcbmV4cG9ydCBjb25zdCBzaWRlQmFyQ2xvc2VCdG5Db2xvciA9ICcjMjkzMjNDJztcbmV4cG9ydCBjb25zdCBzaWRlQmFyQ2xvc2VCdG5CZ2RIb3ZlciA9IHNlY29uZGFyeUJ0bkFjdEJnZDtcbmV4cG9ydCBjb25zdCBzaWRlUGFuZWxUaXRsZUZvbnRzaXplID0gJzIwcHgnO1xuZXhwb3J0IGNvbnN0IHNpZGVQYW5lbFRpdGxlTGluZUhlaWdodCA9ICcxLjcxNDI5JztcbmV4cG9ydCBjb25zdCBwYW5lbEJhY2tncm91bmQgPSAnIzI5MzIzQyc7XG5leHBvcnQgY29uc3QgcGFuZWxDb250ZW50QmFja2dyb3VuZCA9ICcjMjkyRTM2JztcbmV4cG9ydCBjb25zdCBwYW5lbEJhY2tncm91bmRIb3ZlciA9ICcjM0E0NTUyJztcbmV4cG9ydCBjb25zdCBwYW5lbEhlYWRlckJvcmRlclJhZGl1cyA9ICcwcHgnO1xuZXhwb3J0IGNvbnN0IGNoaWNrbGV0QmdkID0gJyMzQTQ1NTInO1xuZXhwb3J0IGNvbnN0IGNoaWNrbGV0QmdkTFQgPSAnI0QzRDhFMCc7XG5leHBvcnQgY29uc3QgcGFuZWxIZWFkZXJJY29uID0gJyM2QTc0ODUnO1xuZXhwb3J0IGNvbnN0IHBhbmVsSGVhZGVySWNvbkFjdGl2ZSA9ICcjQTBBN0I0JztcbmV4cG9ydCBjb25zdCBwYW5lbEhlYWRlckljb25Ib3ZlciA9IHRleHRDb2xvckhsO1xuZXhwb3J0IGNvbnN0IHBhbmVsSGVhZGVySGVpZ2h0ID0gNDg7XG5leHBvcnQgY29uc3QgbGF5ZXJQYW5lbEhlYWRlckhlaWdodCA9IDQ4O1xuZXhwb3J0IGNvbnN0IHBhbmVsQm94U2hhZG93ID0gJzAgNnB4IDEycHggMCByZ2JhKDAsMCwwLDAuMTYpJztcbmV4cG9ydCBjb25zdCBwYW5lbEJvcmRlclJhZGl1cyA9ICcycHgnO1xuZXhwb3J0IGNvbnN0IHBhbmVsQmFja2dyb3VuZExUID0gJyNGOEY4RjknO1xuZXhwb3J0IGNvbnN0IHBhbmVsVG9nZ2xlTWFyZ2luUmlnaHQgPSAxMjtcbmV4cG9ydCBjb25zdCBwYW5lbFRvZ2dsZUJvdHRvbVBhZGRpbmcgPSA2O1xuXG5leHBvcnQgY29uc3QgcGFuZWxCb3JkZXJDb2xvciA9ICcjM0E0MTRDJztcbmV4cG9ydCBjb25zdCBwYW5lbEJvcmRlciA9IGAxcHggc29saWQgJHtib3JkZXJDb2xvcn1gO1xuZXhwb3J0IGNvbnN0IHBhbmVsQm9yZGVyTFQgPSBgMXB4IHNvbGlkICR7Ym9yZGVyQ29sb3JMVH1gO1xuXG5leHBvcnQgY29uc3QgbWFwUGFuZWxCYWNrZ3JvdW5kQ29sb3IgPSAnIzI0MjczMCc7XG5leHBvcnQgY29uc3QgbWFwUGFuZWxIZWFkZXJCYWNrZ3JvdW5kQ29sb3IgPSAnIzI5MzIzQyc7XG5leHBvcnQgY29uc3QgdG9vbHRpcEJnID0gJyMzQTQxNEMnO1xuZXhwb3J0IGNvbnN0IHRvb2x0aXBDb2xvciA9IHRleHRDb2xvckhsO1xuZXhwb3J0IGNvbnN0IHRvb2x0aXBCb3hTaGFkb3cgPSBib3hTaGFkb3c7XG5leHBvcnQgY29uc3QgdG9vbHRpcEZvbnRTaXplID0gJzEwcHgnO1xuXG5leHBvcnQgY29uc3QgbGF5ZXJUeXBlSWNvblNpemVMID0gNTA7XG5leHBvcnQgY29uc3QgbGF5ZXJUeXBlSWNvblBkTCA9IDEyO1xuZXhwb3J0IGNvbnN0IGxheWVyVHlwZUljb25TaXplU00gPSAyODtcblxuLy8gU2lkZXBhbmVsIGRpdmlkZXJcbmV4cG9ydCBjb25zdCBzaWRlcGFuZWxEaXZpZGVyQm9yZGVyID0gJzFweCc7XG5leHBvcnQgY29uc3Qgc2lkZXBhbmVsRGl2aWRlck1hcmdpbiA9IDEyO1xuZXhwb3J0IGNvbnN0IHNpZGVwYW5lbERpdmlkZXJIZWlnaHQgPSAxMjtcblxuLy8gQm90dG9tIFBhbmVsXG5leHBvcnQgY29uc3QgYm90dG9tSW5uZXJQZFNpZGUgPSAzMjtcbmV4cG9ydCBjb25zdCBib3R0b21Jbm5lclBkVmVydCA9IDY7XG5leHBvcnQgY29uc3QgYm90dG9tUGFuZWxHYXAgPSAyMDtcbmV4cG9ydCBjb25zdCBib3R0b21XaWRnZXRQYWRkaW5nVG9wID0gMjA7XG5leHBvcnQgY29uc3QgYm90dG9tV2lkZ2V0UGFkZGluZ1JpZ2h0ID0gMjA7XG5leHBvcnQgY29uc3QgYm90dG9tV2lkZ2V0UGFkZGluZ0JvdHRvbSA9IDMwO1xuZXhwb3J0IGNvbnN0IGJvdHRvbVdpZGdldFBhZGRpbmdMZWZ0ID0gMjA7XG5leHBvcnQgY29uc3QgYm90dG9tV2lkZ2V0QmdkID0gJyMyOTMyM0MnO1xuLy8gTW9kYWxcbmV4cG9ydCBjb25zdCBtb2RhbFRpdGxlQ29sb3IgPSAnIzNBNDE0Qyc7XG5leHBvcnQgY29uc3QgbW9kYWxUaXRsZUZvbnRTaXplID0gJzI0cHgnO1xuZXhwb3J0IGNvbnN0IG1vZGFsVGl0bGVGb250U2l6ZVNtYWxsZXIgPSAnMThweCc7XG5leHBvcnQgY29uc3QgbW9kYWxGb290ZXJCZ2QgPSAnI0Y4RjhGOSc7XG5leHBvcnQgY29uc3QgbW9kYWxJbWFnZVBsYWNlSG9sZGVyID0gJyNERERGRTMnO1xuZXhwb3J0IGNvbnN0IG1vZGFsUGFkZGluZyA9ICcxMHB4IDAnO1xuZXhwb3J0IGNvbnN0IG1vZGFsTGF0ZXJhbFBhZGRpbmcgPSAnNzJweCc7XG5leHBvcnQgY29uc3QgbW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nID0gJzM2cHgnO1xuXG5leHBvcnQgY29uc3QgbW9kYWxPdmVyTGF5WiA9IDEwMDE7XG5leHBvcnQgY29uc3QgbW9kYWxPdmVybGF5QmdkID0gJ3JnYmEoMCwgMCwgMCwgMC41KSc7XG5leHBvcnQgY29uc3QgbW9kYWxDb250ZW50WiA9IDEwMDAyO1xuZXhwb3J0IGNvbnN0IG1vZGFsRm9vdGVyWiA9IDEwMDAxO1xuZXhwb3J0IGNvbnN0IG1vZGFsVGl0bGVaID0gMTAwMDM7XG5leHBvcnQgY29uc3QgbW9kYWxCdXR0b25aID0gMTAwMDU7XG5leHBvcnQgY29uc3QgbW9kYWxEcm9wZG93bkJhY2tncm91bmQgPSAnI0ZGRkZGRic7XG5cbi8vIE1vZGFsIERpYWxvZyAoRGFyaylcbmV4cG9ydCBjb25zdCBtb2RhbERpYWxvZ0JnZCA9ICcjM0E0MTRDJztcbmV4cG9ydCBjb25zdCBtb2RhbERpYWxvZ0NvbG9yID0gdGV4dENvbG9ySGw7XG5cbi8vIFNsaWRlclxuZXhwb3J0IGNvbnN0IHNsaWRlckJhckNvbG9yID0gJyM2QTc0ODUnO1xuZXhwb3J0IGNvbnN0IHNsaWRlckJhckJnZCA9ICcjM0E0MTRDJztcbmV4cG9ydCBjb25zdCBzbGlkZXJCYXJIb3ZlckNvbG9yID0gJyNEM0Q4RTAnO1xuZXhwb3J0IGNvbnN0IHNsaWRlckJhclJhZGl1cyA9ICcxcHgnO1xuZXhwb3J0IGNvbnN0IHNsaWRlckJhckhlaWdodCA9IDQ7XG5leHBvcnQgY29uc3Qgc2xpZGVySGFuZGxlSGVpZ2h0ID0gMTI7XG5leHBvcnQgY29uc3Qgc2xpZGVySGFuZGxlV2lkdGggPSAxMjtcbmV4cG9ydCBjb25zdCBzbGlkZXJIYW5kbGVDb2xvciA9ICcjRDNEOEUwJztcbmV4cG9ydCBjb25zdCBzbGlkZXJIYW5kbGVUZXh0Q29sb3IgPSBzbGlkZXJIYW5kbGVDb2xvcjtcbmV4cG9ydCBjb25zdCBzbGlkZXJJbmFjdGl2ZUJvcmRlckNvbG9yID0gc2xpZGVySGFuZGxlQ29sb3I7XG5leHBvcnQgY29uc3Qgc2xpZGVyQm9yZGVyUmFkaXVzID0gJzAnO1xuXG5leHBvcnQgY29uc3Qgc2xpZGVySGFuZGxlSG92ZXJDb2xvciA9ICcjRkZGRkZGJztcbmV4cG9ydCBjb25zdCBzbGlkZXJIYW5kbGVBZnRlckNvbnRlbnQgPSAnJztcbmV4cG9ydCBjb25zdCBzbGlkZXJIYW5kbGVTaGFkb3cgPSAnMCAycHggNHB4IDAgcmdiYSgwLDAsMCwwLjQwKSc7XG5leHBvcnQgY29uc3Qgc2xpZGVySW5wdXRIZWlnaHQgPSAyNDtcbmV4cG9ydCBjb25zdCBzbGlkZXJJbnB1dFdpZHRoID0gNTY7XG5leHBvcnQgY29uc3Qgc2xpZGVySW5wdXRGb250U2l6ZSA9ICcxMHB4JztcbmV4cG9ydCBjb25zdCBzbGlkZXJJbnB1dFBhZGRpbmcgPSAnNHB4IDZweCc7XG5leHBvcnQgY29uc3Qgc2xpZGVyTWFyZ2luVG9wSXNUaW1lID0gLTEyO1xuZXhwb3J0IGNvbnN0IHNsaWRlck1hcmdpblRvcCA9IDEyO1xuZXhwb3J0IGNvbnN0IHNsaWRlck1hcmdpbkJvdHRvbSA9IDEyO1xuXG4vLyBHZW9jb2RlclxuZXhwb3J0IGNvbnN0IGdlb2NvZGVyV2lkdGggPSAzNjA7XG5leHBvcnQgY29uc3QgZ2VvY29kZXJUb3AgPSAyMDtcbmV4cG9ydCBjb25zdCBnZW9jb2RlclJpZ2h0ID0gMTI7XG5leHBvcnQgY29uc3QgZ2VvY29kZXJJbnB1dEhlaWdodCA9IDM2O1xuXG4vLyBQbG90XG5leHBvcnQgY29uc3QgcmFuZ2VCcnVzaEJnZCA9ICcjM0E0MTRDJztcbmV4cG9ydCBjb25zdCBoaXN0b2dyYW1GaWxsSW5SYW5nZSA9IGFjdGl2ZUNvbG9yO1xuZXhwb3J0IGNvbnN0IGhpc3RvZ3JhbUZpbGxPdXRSYW5nZSA9IHNsaWRlckJhckNvbG9yO1xuZXhwb3J0IGNvbnN0IGF4aXNGb250U2l6ZSA9ICcxMHB4JztcbmV4cG9ydCBjb25zdCBheGlzRm9udENvbG9yID0gdGV4dENvbG9yO1xuZXhwb3J0IGNvbnN0IHRpbWVUaXRsZUZvbnRTaXplID0gJzEwcHgnO1xuZXhwb3J0IGNvbnN0IHJhbmdlUGxvdE1hcmdpbiA9IHt0b3A6IDEyLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwfTtcbmV4cG9ydCBjb25zdCByYW5nZVBsb3RNYXJnaW5MYXJnZSA9IHt0b3A6IDE4LCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwfTtcbmV4cG9ydCBjb25zdCByYW5nZVBsb3RIID0gNjI7XG5leHBvcnQgY29uc3QgcmFuZ2VQbG90Q29udGFpbmVySCA9IDc4O1xuZXhwb3J0IGNvbnN0IHJhbmdlUGxvdEhMYXJnZSA9IDEwMjtcbmV4cG9ydCBjb25zdCByYW5nZVBsb3RDb250YWluZXJITGFyZ2UgPSAxMjA7XG5cbi8vIE5vdGlmaWNhdGlvblxuZXhwb3J0IGNvbnN0IG5vdGlmaWNhdGlvbkNvbG9ycyA9IHtcbiAgaW5mbzogJyMyNzZlZjEnLFxuICBlcnJvcjogJyNmMjUxMzgnLFxuICBzdWNjZXNzOiAnIzQ3YjI3NScsXG4gIHdhcm5pbmc6ICcjZmZjMDQzJ1xufTtcblxuZXhwb3J0IGNvbnN0IG5vdGlmaWNhdGlvblBhbmVsV2lkdGggPSAyNDA7XG5leHBvcnQgY29uc3Qgbm90aWZpY2F0aW9uUGFuZWxJdGVtV2lkdGggPSBub3RpZmljYXRpb25QYW5lbFdpZHRoIC0gNjA7XG5leHBvcnQgY29uc3Qgbm90aWZpY2F0aW9uUGFuZWxJdGVtSGVpZ2h0ID0gNjA7XG5cbi8vIERhdGEgVGFibGVcbmNvbnN0IGhlYWRlclJvd0hlaWdodCA9IDcwO1xuY29uc3Qgcm93SGVpZ2h0ID0gMzI7XG5jb25zdCBoZWFkZXJQYWRkaW5nVG9wID0gNjtcbmNvbnN0IGhlYWRlclBhZGRpbmdCb3R0b20gPSA4O1xuY29uc3QgY2VsbFBhZGRpbmdTaWRlID0gMTA7XG5jb25zdCBlZGdlQ2VsbFBhZGRpbmdTaWRlID0gMTA7XG5jb25zdCBjZWxsRm9udFNpemUgPSAxMDtcbmNvbnN0IGdyaWRQYWRkaW5nU2lkZSA9IDI0O1xuY29uc3QgaGVhZGVyQ2VsbEJhY2tncm91bmQgPSAnI0ZGRkZGRic7XG5jb25zdCBoZWFkZXJDZWxsQm9yZGVyQ29sb3IgPSAnI0UwRTBFMCc7XG5jb25zdCBoZWFkZXJDZWxsSWNvbkNvbG9yID0gJyM2NjY2NjYnO1xuY29uc3QgY2VsbEJvcmRlckNvbG9yID0gJyNFMEUwRTAnO1xuY29uc3QgZXZlblJvd0JhY2tncm91bmQgPSAnI0ZGRkZGRic7XG5jb25zdCBvZGRSb3dCYWNrZ3JvdW5kID0gJyNGN0Y3RjcnO1xuY29uc3Qgb3B0aW9uQnV0dG9uQ29sb3IgPSAnIzZBNzQ4NSc7XG5jb25zdCBwaW5uZWRHcmlkQm9yZGVyQ29sb3IgPSAnI0UwRTBFMCc7XG5cbi8vIEZsb2F0aW5nIFRpbWUgZGlzcGxheVxuY29uc3QgdGltZURpc3BsYXlCb3JkZXJSYWRpdXMgPSAzMjtcbmNvbnN0IHRpbWVEaXNwbGF5SGVpZ2h0ID0gNjQ7XG5jb25zdCB0aW1lRGlzcGxheU1pbldpZHRoID0gMTc2O1xuY29uc3QgdGltZURpc3BsYXlPcGFjaXR5ID0gMC44O1xuY29uc3QgdGltZURpc3BsYXlQYWRkaW5nID0gJzAgMjRweCc7XG5cbi8vIEV4cG9ydCBtYXAgbW9kYWxcbmNvbnN0IGV4cG9ydEludHJhU2VjdGlvbk1hcmdpbiA9ICc4JztcblxuLy8gcHJvZ3Jlc3MgYmFyXG5jb25zdCBwcm9ncmVzc0JhckNvbG9yID0gcHJpbWFyeUJ0bkJnZDtcbmNvbnN0IHByb2dyZXNzQmFyVHJhY2tDb2xvciA9ICcjRThFOEU4Jztcbi8vIEFjdGlvbiBQYW5lbFxuZXhwb3J0IGNvbnN0IGFjdGlvblBhbmVsV2lkdGggPSAxMTA7XG5leHBvcnQgY29uc3QgYWN0aW9uUGFuZWxIZWlnaHQgPSAzMjtcblxuLy8gU3R5bGVkIFRva2VuXG5leHBvcnQgY29uc3QgZmllbGRUb2tlblJpZ2h0TWFyZ2luID0gNDtcblxuZXhwb3J0IGNvbnN0IHRleHRUcnVuY2F0ZSA9IHtcbiAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICB3b3JkV3JhcDogJ25vcm1hbCdcbn07XG5cbi8vIGxheWVyQ29uZmlnR3JvdXBMYWJlbFxuZXhwb3J0IGNvbnN0IGxheWVyQ29uZmlnR3JvdXBMYWJlbEJvcmRlckxlZnQgPSAnMnB4JztcbmV4cG9ydCBjb25zdCBsYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW4gPSAnLTEycHgnO1xuZXhwb3J0IGNvbnN0IGxheWVyQ29uZmlnR3JvdXBMYWJlbFBhZGRpbmcgPSAnMTBweCc7XG5leHBvcnQgY29uc3QgbGF5ZXJDb25maWdHcm91cENvbG9yID0gJ3RyYW5zcGFyZW50JztcblxuLy8gbGF5ZXJDb25maWdHcm91cExhYmVsIGxhYmVsXG5leHBvcnQgY29uc3QgbGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxNYXJnaW4gPSAnMCc7XG5leHBvcnQgY29uc3QgbGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxGb250U2l6ZSA9ICcxMnB4JztcblxuLy8gc3R5bGVkQ29uZmlnR3JvdXBIZWFkZXJcbmV4cG9ydCBjb25zdCBzdHlsZWRDb25maWdHcm91cEhlYWRlckJvcmRlciA9ICcycHgnO1xuXG4vLyBsYXllckNvbmZpZ3VyYXRvclxuXG5leHBvcnQgY29uc3QgbGF5ZXJDb25maWd1cmF0b3JCb3JkZXIgPSAnMCc7XG5leHBvcnQgY29uc3QgbGF5ZXJDb25maWd1cmF0b3JCb3JkZXJDb2xvciA9ICcnO1xuZXhwb3J0IGNvbnN0IGxheWVyQ29uZmlndXJhdG9yTWFyZ2luID0gJzEycHgnO1xuZXhwb3J0IGNvbnN0IGxheWVyQ29uZmlndXJhdG9yUGFkZGluZyA9ICcxMnB4IDAgOHB4IDAnO1xuLy8gVGhpcyBicmVha3BvaW50cyBhcmUgdXNlZCBmb3IgcmVzcG9uc2l2ZSBkZXNpZ25cbmV4cG9ydCBjb25zdCBicmVha1BvaW50cyA9IHtcbiAgcGFsbTogNTg4LFxuICBkZXNrOiA3Njhcbn07XG5cbi8vIHRoZW1lIGlzIHBhc3NlZCB0byBrZXBsZXIuZ2wgd2hlbiBpdCdzIG1vdW50ZWQsXG4vLyBpdCBpcyB1c2VkIGJ5IHN0eWxlZC1jb21wb25lbnRzIHRvIHBhc3MgYWxvbmcgdG9cbi8vIGFsbCBjaGlsZCBjb21wb25lbnRzXG5cbmNvbnN0IGlucHV0ID0gY3NzYFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dFBsYWNlaG9sZGVyQ29sb3J9O1xuICAgIGZvbnQtd2VpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0UGxhY2Vob2xkZXJGb250V2VpZ2h0fTtcbiAgfVxuXG4gIC8qIERpc2FibGUgQXJyb3dzIG9uIE51bWJlciBJbnB1dHMgKi9cbiAgOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICA6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+XG4gICAgICBwcm9wcy5hY3RpdmVcbiAgICAgICAgPyBwcm9wcy50aGVtZS5pbnB1dEJvcmRlckFjdGl2ZUNvbG9yXG4gICAgICAgIDogcHJvcHMuZXJyb3JcbiAgICAgICAgPyBwcm9wcy50aGVtZS5lcnJvckNvbG9yXG4gICAgICAgIDogcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNhcmV0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm9yZGVyQWN0aXZlQ29sb3J9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dENvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+XG4gICAgWydzbWFsbCcsICd0aW55J10uaW5jbHVkZXMocHJvcHMuc2l6ZSlcbiAgICAgID8gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZVNtYWxsXG4gICAgICA6IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICBmb250LXdlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRXZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2l6ZSA9PT0gJ3NtYWxsJ1xuICAgICAgPyBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodFNtYWxsXG4gICAgICA6IHByb3BzLnNpemUgPT09ICd0aW55J1xuICAgICAgPyBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodFRpbnlcbiAgICAgIDogcHJvcHMudGhlbWUuaW5wdXRCb3hIZWlnaHR9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG91dGxpbmU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zaXplID09PSAnc21hbGwnXG4gICAgICA/IHByb3BzLnRoZW1lLmlucHV0UGFkZGluZ1NtYWxsXG4gICAgICA6IHByb3BzLnNpemUgPT09ICd0aW55J1xuICAgICAgPyBwcm9wcy50aGVtZS5pbnB1dFBhZGRpbmdUaW55XG4gICAgICA6IHByb3BzLnRoZW1lLmlucHV0UGFkZGluZ307XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC41IDogMSl9O1xuICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm94U2hhZG93fTtcblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMudHlwZSA9PT0gJ251bWJlcicgfHwgcHJvcHMudHlwZSA9PT0gJ3RleHQnID8gJ3RleHQnIDogJ3BvaW50ZXInKX07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuaW5wdXRCZ2RBY3RpdmUgOiBwcm9wcy50aGVtZS5pbnB1dEJnZEhvdmVyfTtcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmlucHV0Qm9yZGVyQWN0aXZlQ29sb3IgOiBwcm9wcy50aGVtZS5pbnB1dEJvcmRlckhvdmVyQ29sb3J9O1xuICB9XG5cbiAgOmFjdGl2ZSxcbiAgOmZvY3VzLFxuICAmLmZvY3VzLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZEFjdGl2ZX07XG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm9yZGVyQWN0aXZlQ29sb3J9O1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCb3hTaGFkb3dBY3RpdmV9O1xuICB9XG5gO1xuXG5jb25zdCBpbnB1dExUID0gY3NzYFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dFBsYWNlaG9sZGVyQ29sb3JMVH07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAke2lucHV0fVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0QmFja2dyb3VuZExUfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3RBY3RpdmVCb3JkZXJDb2xvclxuICAgICAgOiBwcm9wcy5lcnJvclxuICAgICAgPyBwcm9wcy50aGVtZS5lcnJvckNvbG9yXG4gICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdEJvcmRlckNvbG9yTFR9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3RDb2xvckxUfTtcbiAgY2FyZXQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCb3JkZXJBY3RpdmVDb2xvckxUfTtcblxuICA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RBY3RpdmVMVH07XG4gICAgY3Vyc29yOiAke3Byb3BzID0+IChbJ251bWJlcicsICd0ZXh0J10uaW5jbHVkZXMocHJvcHMudHlwZSkgPyAndGV4dCcgOiAncG9pbnRlcicpfTtcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmlucHV0Qm9yZGVyQWN0aXZlQ29sb3JMVCA6IHByb3BzLnRoZW1lLmlucHV0Qm9yZGVySG92ZXJDb2xvckxUfTtcbiAgfVxuXG4gIDphY3RpdmUsXG4gIDpmb2N1cyxcbiAgJi5mb2N1cyxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RBY3RpdmVMVH07XG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm9yZGVyQWN0aXZlQ29sb3JMVH07XG4gICAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJveFNoYWRvd0FjdGl2ZUxUfTtcbiAgfVxuYDtcblxuY29uc3Qgc2Vjb25kYXJ5SW5wdXQgPSBjc3NgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXR9XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0Q29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0QmdkfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IChwcm9wcy5lcnJvciA/IHByb3BzLnRoZW1lLmVycm9yQ29sb3IgOiBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dEJvcmRlckNvbG9yKX07XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dEJnZEhvdmVyfTtcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXRCZ2RIb3Zlcn07XG4gIH1cblxuICA6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dEJnZEFjdGl2ZX07XG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0Qm9yZGVyQWN0aXZlQ29sb3J9O1xuICB9XG5gO1xuXG5jb25zdCBjaGlja2xldGVkSW5wdXRDb250YWluZXIgPSBjc3NgXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBoZWlnaHQ6IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgcGFkZGluZzogMHB4IDdweCAwcHggNHB4O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gIC5jaGlja2xldGVkLWlucHV0X19wbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbWFyZ2luOiA0cHg7XG4gIH1cbmA7XG5cbmNvbnN0IGNoaWNrbGV0ZWRJbnB1dCA9IGNzc2BcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dH0gJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5jaGlja2xldGVkSW5wdXRDb250YWluZXJ9O1xuYDtcblxuY29uc3QgY2hpY2tsZXRlZElucHV0TFQgPSBjc3NgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH0gJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5jaGlja2xldGVkSW5wdXRDb250YWluZXJ9O1xuYDtcblxuY29uc3Qgc2Vjb25kYXJ5Q2hpY2tsZXRlZElucHV0ID0gY3NzYFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0fSAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNoaWNrbGV0ZWRJbnB1dENvbnRhaW5lcn07XG5gO1xuXG5jb25zdCBpbmxpbmVJbnB1dCA9IGNzc2BcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dH0gY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMC40M3B4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICA6aG92ZXIge1xuICAgIGhlaWdodDogMjRweDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgfVxuXG4gIDphY3RpdmUsXG4gIC5hY3RpdmUsXG4gIDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJvcmRlckFjdGl2ZUNvbG9yfTtcbiAgfVxuYDtcblxuY29uc3Qgc3dpdGNoVHJhY2sgPSBjc3NgXG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5jaGVja2VkID8gcHJvcHMudGhlbWUuc3dpdGNoVHJhY2tCZ2RBY3RpdmUgOiBwcm9wcy50aGVtZS5zd2l0Y2hUcmFja0JnZH07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAke3Byb3BzID0+IC1wcm9wcy50aGVtZS5zd2l0Y2hMYWJlbE1hcmdpbn1weDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hXaWR0aH1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN3aXRjaEhlaWdodH1weDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hUcmFja0JvcmRlclJhZGl1c307XG5gO1xuXG5jb25zdCBzd2l0Y2hCdXR0b24gPSBjc3NgXG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IChwcm9wcy50aGVtZS5zd2l0Y2hIZWlnaHQgLSBwcm9wcy50aGVtZS5zd2l0Y2hCdG5IZWlnaHQpIC8gMn1weDtcbiAgbGVmdDogJHtwcm9wcyA9PlxuICAgIChwcm9wcy5jaGVja2VkXG4gICAgICA/IHByb3BzLnRoZW1lLnN3aXRjaFdpZHRoIC8gMlxuICAgICAgOiAocHJvcHMudGhlbWUuc3dpdGNoSGVpZ2h0IC0gcHJvcHMudGhlbWUuc3dpdGNoQnRuSGVpZ2h0KSAvIDIpIC1cbiAgICBwcm9wcy50aGVtZS5zd2l0Y2hMYWJlbE1hcmdpbn1weDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3dpdGNoQnRuSGVpZ2h0fXB4O1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hCdG5XaWR0aH1weDtcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PlxuICAgIHByb3BzLmNoZWNrZWQgPyBwcm9wcy50aGVtZS5zd2l0Y2hCdG5CZ2RBY3RpdmUgOiBwcm9wcy50aGVtZS5zd2l0Y2hCdG5CZ2R9O1xuICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN3aXRjaEJ0bkJveFNoYWRvd307XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3dpdGNoQnRuQm9yZGVyUmFkaXVzfTtcbmA7XG5cbmNvbnN0IGlucHV0U3dpdGNoID0gY3NzYFxuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hIZWlnaHR9cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hXaWR0aH1weDtcblxuICA6YmVmb3JlIHtcbiAgICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN3aXRjaFRyYWNrfTtcbiAgfVxuXG4gIDphZnRlciB7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hCdXR0b259O1xuICB9XG5gO1xuXG4vLyBUaGlzIGlzIGEgbGlnaHQgdmVyc2lvbiBjaGVja2JveFxuY29uc3QgY2hlY2tib3hCb3ggPSBjc3NgXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuY2hlY2tib3hXaWR0aH1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNoZWNrYm94SGVpZ2h0fXB4O1xuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+XG4gICAgcHJvcHMuY2hlY2tlZCA/IHByb3BzLnRoZW1lLmNoZWNrYm94Qm94QmdkQ2hlY2tlZCA6IHByb3BzLnRoZW1lLmNoZWNrYm94Qm94QmdkfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+XG4gICAgICBwcm9wcy5jaGVja2VkID8gcHJvcHMudGhlbWUuY2hlY2tib3hCb3hCZ2RDaGVja2VkIDogcHJvcHMudGhlbWUuY2hlY2tib3hCb3JkZXJDb2xvcn07XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29udGVudDogJyc7XG5gO1xuXG5jb25zdCBjaGVja2JveENoZWNrID0gY3NzYFxuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB3aGl0ZTtcbiAgdG9wOiA0cHg7XG4gIGxlZnQ6IDNweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuY2hlY2tlZCA/IDEgOiAwKX07XG4gIGNvbnRlbnQ6ICcnO1xuYDtcblxuY29uc3QgaW5wdXRDaGVja2JveCA9IGNzc2BcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgbWFyZ2luLWxlZnQ6IC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLnN3aXRjaExhYmVsTWFyZ2lufXB4O1xuXG4gIDpiZWZvcmUge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuY2hlY2tib3hCb3h9O1xuICB9XG5cbiAgOmFmdGVyIHtcbiAgICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNoZWNrYm94Q2hlY2t9O1xuICB9XG5gO1xuXG5jb25zdCBpbnB1dFJhZGlvID0gY3NzYFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Q2hlY2tib3h9XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5yYWRpb1JhZGl1cyAqIDIgKyA4fXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucmFkaW9SYWRpdXMgKiAyfXB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICA6YmVmb3JlIHtcbiAgICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNoZWNrYm94Qm94fVxuICAgIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnJhZGlvUmFkaXVzICogMn1weDtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucmFkaW9SYWRpdXMgKiAyfXB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucmFkaW9Cb3JkZXJSYWRpdXN9cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hUcmFja0JnZH07XG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnJhZGlvQm9yZGVyQ29sb3J9O1xuICB9XG5cbiAgOmFmdGVyIHtcbiAgICB0b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucmFkaW9SYWRpdXMgLSBwcm9wcy50aGVtZS5yYWRpb0J1dHRvblJhZGl1c31weDtcbiAgICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnJhZGlvUmFkaXVzIC0gcHJvcHMudGhlbWUucmFkaW9CdXR0b25SYWRpdXN9cHg7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucmFkaW9CdXR0b25SYWRpdXMgKiAyfXB4O1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5yYWRpb0J1dHRvblJhZGl1cyAqIDJ9cHg7XG4gICAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5yYWRpb0J1dHRvblJhZGl1cyAqIDJ9cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucmFkaW9CdXR0b25CZ2RDb2xvcn07XG4gIH1cbmA7XG5cbmNvbnN0IHNlY29uZGFyeVN3aXRjaCA9IGNzc2BcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dFN3aXRjaH1cblxuICA6YmVmb3JlIHtcbiAgICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN3aXRjaFRyYWNrfSBiYWNrZ3JvdW5kOiAke3Byb3BzID0+XG4gIHByb3BzLmNoZWNrZWQgPyBwcm9wcy50aGVtZS5zd2l0Y2hUcmFja0JnZEFjdGl2ZSA6IHByb3BzLnRoZW1lLnNlY29uZGFyeVN3aXRjaFRyYWNrQmdkfTtcbiAgfVxuXG4gIDphZnRlciB7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hCdXR0b259XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuY2hlY2tlZCA/IHByb3BzLnRoZW1lLnN3aXRjaEJ0bkJnZEFjdGl2ZSA6IHByb3BzLnRoZW1lLnNlY29uZGFyeVN3aXRjaEJ0bkJnZH07XG4gIH1cbmA7XG5cbmNvbnN0IGRyb3Bkb3duU2Nyb2xsQmFyID0gY3NzYFxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cblxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2R9O1xuICB9XG5cbiAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2R9O1xuICB9XG5cbiAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QmdkfTtcbiAgfVxuXG4gIDp2ZXJ0aWNhbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBkcm9wZG93blNjcm9sbEJhckxUID0gY3NzYFxuICAke2Ryb3Bkb3duU2Nyb2xsQmFyfSA6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2RMVH07XG4gIH1cblxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZExUfTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yTFR9O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QmdkTFR9O1xuICB9XG5cbiAgOnZlcnRpY2FsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsTFR9O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuY29uc3QgZHJvcGRvd25MaXN0QW5jaG9yID0gY3NzYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3RDb2xvcn07XG4gIHBhZGRpbmctbGVmdDogM3B4O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0Rm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RMaW5lSGVpZ2h0fXB4O1xuYDtcblxuY29uc3QgZHJvcGRvd25MaXN0QW5jaG9yTFQgPSBjc3NgXG4gICR7ZHJvcGRvd25MaXN0QW5jaG9yfVxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3RDb2xvckxUfTtcbmA7XG5cbmNvbnN0IGRyb3Bkb3duTGlzdFNpemUgPSBjc3NgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZzogM3B4IDlweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgaGVpZ2h0OiAzMnB4O1xuYDtcblxuY29uc3QgZHJvcGRvd25MaXN0SXRlbSA9IGNzc2BcbiAgJHtkcm9wZG93bkxpc3RTaXplfSAmLmhvdmVyLFxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RIaWdobGlnaHRCZ307XG5cbiAgICAubGlzdF9faXRlbV9fYW5jaG9yIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IGRyb3Bkb3duTGlzdEl0ZW1MVCA9IGNzc2BcbiAgJHtkcm9wZG93bkxpc3RTaXplfVxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG5cbiAgJi5ob3ZlcixcbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsTFR9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SGlnaGxpZ2h0QmdMVH07XG5cbiAgICAubGlzdF9faXRlbV9fYW5jaG9yIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdENvbG9yTFR9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgZHJvcGRvd25MaXN0SGVhZGVyID0gY3NzYFxuICBmb250LXNpemU6IDExcHg7XG4gIHBhZGRpbmc6IDVweCA5cHg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuYDtcblxuY29uc3QgZHJvcGRvd25MaXN0U2VjdGlvbiA9IGNzc2BcbiAgcGFkZGluZzogMCAwIDRweCAwO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuYDtcblxuY29uc3QgZHJvcGRvd25MaXN0ID0gY3NzYFxuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RTaGFkb3d9O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgLmxpc3RfX3NlY3Rpb24ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0U2VjdGlvbn07XG4gIH1cbiAgLmxpc3RfX2hlYWRlciB7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RIZWFkZXJ9O1xuICB9XG5cbiAgLmxpc3RfX2l0ZW0ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SXRlbX07XG4gICAgJHtkcm9wZG93bkxpc3RJdGVtfTtcbiAgfVxuXG4gIC5saXN0X19pdGVtX19hbmNob3Ige1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QW5jaG9yfTtcbiAgfVxuXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25TY3JvbGxCYXJ9O1xuYDtcblxuY29uc3QgZHJvcGRvd25MaXN0TFQgPSBjc3NgXG4gICR7ZHJvcGRvd25MaXN0fSAubGlzdF9faXRlbSB7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RJdGVtTFR9O1xuICB9XG5cbiAgLmxpc3RfX2l0ZW1fX2FuY2hvciB7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RBbmNob3JMVH07XG4gIH1cblxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duU2Nyb2xsQmFyTFR9O1xuYDtcbmNvbnN0IHNpZGVQYW5lbFNjcm9sbEJhciA9IGNzc2BcbiAgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhckhlaWdodH1weDtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxTY3JvbGxCYXJXaWR0aH1weDtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEJnfTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsQmd9O1xuICB9XG5cbiAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEJnfTtcblxuICAgIDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgcGFuZWxEcm9wZG93blNjcm9sbEJhciA9IGNzc2BcbiAgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICB9XG5cbiAgOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgYm9yZGVyOiAzcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICAgIDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3Qgc2Nyb2xsQmFyID0gY3NzYFxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cblxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICB9XG5cbiAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICB9XG5cbiAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfVxuXG4gICAgOnZlcnRpY2FsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIDpob3Jpem9udGFsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IG1vZGFsU2Nyb2xsQmFyID0gY3NzYFxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cblxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrOmhvcml6b250YWwge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICB9XG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvckxUfTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCB3aGl0ZTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5NjlkYTk7XG4gIH1cblxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOnZlcnRpY2FsIHtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIH1cblxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvcml6b250YWwge1xuICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IHRoZW1lID0ge1xuICAuLi5ESU1FTlNJT05TLFxuICAvLyB0ZW1wbGF0ZXNcbiAgaW5wdXQsXG4gIGlucHV0TFQsXG4gIGlubGluZUlucHV0LFxuICBjaGlja2xldGVkSW5wdXQsXG4gIGNoaWNrbGV0ZWRJbnB1dExULFxuICBjaGlja2xldGVkSW5wdXRDb250YWluZXIsXG4gIHNlY29uZGFyeUNoaWNrbGV0ZWRJbnB1dCxcblxuICBib3JkZXJDb2xvcixcbiAgYm9yZGVyQ29sb3JMVCxcblxuICBzZWNvbmRhcnlJbnB1dCxcbiAgZHJvcGRvd25TY3JvbGxCYXIsXG4gIGRyb3Bkb3duU2Nyb2xsQmFyTFQsXG4gIGRyb3Bkb3duTGlzdCxcbiAgZHJvcGRvd25MaXN0TFQsXG4gIGRyb3Bkb3duTGlzdEl0ZW0sXG4gIGRyb3Bkb3duTGlzdEl0ZW1MVCxcbiAgZHJvcGRvd25MaXN0QW5jaG9yLFxuICBkcm9wZG93bkxpc3RBbmNob3JMVCxcbiAgZHJvcGRvd25MaXN0SGVhZGVyLFxuICBkcm9wZG93bkxpc3RTZWN0aW9uLFxuICBkcm9wZG93bkxpc3RTaGFkb3csXG4gIGRyb3Bkb3duV3JhcHBlclosXG4gIGRyb3Bkb3duV2FwcGVyTWFyZ2luLFxuICBtb2RhbFNjcm9sbEJhcixcbiAgc2Nyb2xsQmFyLFxuICBzaWRlUGFuZWxTY3JvbGxCYXIsXG4gIGlucHV0U3dpdGNoLFxuICBzZWNvbmRhcnlTd2l0Y2gsXG4gIHN3aXRjaFRyYWNrLFxuICBzd2l0Y2hCdXR0b24sXG4gIGlucHV0Q2hlY2tib3gsXG4gIGlucHV0UmFkaW8sXG4gIGNoZWNrYm94Qm94LFxuICBjaGVja2JveENoZWNrLFxuXG4gIC8vIFRyYW5zaXRpb25zXG4gIHRyYW5zaXRpb24sXG4gIHRyYW5zaXRpb25GYXN0LFxuICB0cmFuc2l0aW9uU2xvdyxcblxuICAvLyBzdHlsZXNcbiAgYWN0aXZlQ29sb3IsXG4gIGFjdGl2ZUNvbG9ySG92ZXIsXG4gIGJvcmRlclJhZGl1cyxcbiAgYm94U2hhZG93LFxuICBlcnJvckNvbG9yLFxuICBkcm9wZG93bkxpc3RIaWdobGlnaHRCZyxcbiAgZHJvcGRvd25MaXN0SGlnaGxpZ2h0QmdMVCxcbiAgZHJvcGRvd25MaXN0QmdkLFxuICB0b29sYmFySXRlbUJnZEhvdmVyLFxuICB0b29sYmFySXRlbUJvcmRlckhvdmVyLFxuICB0b29sYmFySXRlbUljb25Ib3ZlcixcbiAgdG9vbGJhckl0ZW1Cb3JkZXJSYWRkaXVzLFxuICBkcm9wZG93bkxpc3RCZ2RMVCxcbiAgZHJvcGRvd25MaXN0Qm9yZGVyVG9wLFxuICBkcm9wZG93bkxpc3RCb3JkZXJUb3BMVCxcbiAgZHJvcGRvd25MaXN0TGluZUhlaWdodCxcblxuICBsYWJlbENvbG9yLFxuICBsYWJlbENvbG9yTFQsXG4gIGxhYmVsSG92ZXJDb2xvcixcbiAgbWFwUGFuZWxCYWNrZ3JvdW5kQ29sb3IsXG4gIG1hcFBhbmVsSGVhZGVyQmFja2dyb3VuZENvbG9yLFxuXG4gIC8vIFNlbGVjdFxuICBzZWxlY3RBY3RpdmVCb3JkZXJDb2xvcixcbiAgc2VsZWN0QmFja2dyb3VuZCxcbiAgc2VsZWN0QmFja2dyb3VuZExULFxuICBzZWxlY3RCYWNrZ3JvdW5kSG92ZXIsXG4gIHNlbGVjdEJhY2tncm91bmRIb3ZlckxULFxuICBzZWxlY3RCb3JkZXIsXG4gIHNlbGVjdEJvcmRlckNvbG9yLFxuICBzZWxlY3RCb3JkZXJSYWRpdXMsXG4gIHNlbGVjdEJvcmRlckNvbG9yTFQsXG4gIHNlbGVjdENvbG9yLFxuICBzZWxlY3RDb2xvclBsYWNlSG9sZGVyLFxuICBzZWxlY3RDb2xvclBsYWNlSG9sZGVyTFQsXG4gIHNlbGVjdEZvbnRTaXplLFxuICBzZWxlY3RGb250V2VpZ2h0LFxuICBzZWxlY3RDb2xvckxULFxuICBzZWxlY3RGb250V2VpZ2h0Qm9sZCxcbiAgcGFuZWxUYWJDb2xvcixcblxuICAvLyBJbnB1dFxuICBpbnB1dEJnZCxcbiAgaW5wdXRCZ2RIb3ZlcixcbiAgaW5wdXRCZ2RBY3RpdmUsXG4gIGlucHV0QmdkQWN0aXZlTFQsXG4gIGlucHV0Qm94SGVpZ2h0LFxuICBpbnB1dEJveEhlaWdodFNtYWxsLFxuICBpbnB1dEJveEhlaWdodFRpbnksXG4gIGlucHV0Qm9yZGVyQ29sb3IsXG4gIGlucHV0Qm9yZGVyQWN0aXZlQ29sb3IsXG4gIGlucHV0Qm9yZGVySG92ZXJDb2xvcixcbiAgaW5wdXRCb3JkZXJSYWRpdXMsXG4gIGlucHV0Q29sb3IsXG4gIGlucHV0UGFkZGluZyxcbiAgaW5wdXRQYWRkaW5nU21hbGwsXG4gIGlucHV0UGFkZGluZ1RpbnksXG4gIGlucHV0Rm9udFNpemUsXG4gIGlucHV0Rm9udFNpemVTbWFsbCxcbiAgaW5wdXRGb250V2VpZ2h0LFxuICBpbnB1dFBsYWNlaG9sZGVyQ29sb3IsXG4gIGlucHV0UGxhY2Vob2xkZXJDb2xvckxULFxuICBpbnB1dFBsYWNlaG9sZGVyRm9udFdlaWdodCxcbiAgaW5wdXRCb3hTaGFkb3csXG4gIGlucHV0Qm94U2hhZG93QWN0aXZlLFxuICBpbnB1dEJveFNoYWRvd0FjdGl2ZUxULFxuICBzZWNvbmRhcnlJbnB1dEJnZCxcbiAgc2Vjb25kYXJ5SW5wdXRCZ2RIb3ZlcixcbiAgc2Vjb25kYXJ5SW5wdXRCZ2RBY3RpdmUsXG4gIHNlY29uZGFyeUlucHV0Q29sb3IsXG4gIHNlY29uZGFyeUlucHV0Qm9yZGVyQ29sb3IsXG4gIHNlY29uZGFyeUlucHV0Qm9yZGVyQWN0aXZlQ29sb3IsXG4gIGRyb3Bkb3duU2VsZWN0SGVpZ2h0LFxuXG4gIC8vIFN3aXRjaFxuICBzd2l0Y2hXaWR0aCxcbiAgc3dpdGNoSGVpZ2h0LFxuICBzd2l0Y2hUcmFja0JnZCxcbiAgc3dpdGNoVHJhY2tCZ2RBY3RpdmUsXG4gIHN3aXRjaFRyYWNrQm9yZGVyUmFkaXVzLFxuICBzd2l0Y2hCdG5CZ2QsXG4gIHN3aXRjaEJ0bkJnZEFjdGl2ZSxcbiAgc3dpdGNoQnRuQm94U2hhZG93LFxuICBzd2l0Y2hCdG5Cb3JkZXJSYWRpdXMsXG4gIHN3aXRjaEJ0bldpZHRoLFxuICBzd2l0Y2hCdG5IZWlnaHQsXG4gIHN3aXRjaExhYmVsTWFyZ2luLFxuXG4gIHNlY29uZGFyeVN3aXRjaFRyYWNrQmdkLFxuICBzZWNvbmRhcnlTd2l0Y2hCdG5CZ2QsXG5cbiAgLy8gQ2hlY2tib3hcbiAgY2hlY2tib3hXaWR0aCxcbiAgY2hlY2tib3hIZWlnaHQsXG4gIGNoZWNrYm94TWFyZ2luLFxuICBjaGVja2JveEJvcmRlckNvbG9yLFxuICBjaGVja2JveEJvcmRlclJhZGl1cyxcbiAgY2hlY2tib3hCb3JkZXJDb2xvckxULFxuICBjaGVja2JveEJveEJnZCxcbiAgY2hlY2tib3hCb3hCZ2RDaGVja2VkLFxuXG4gIC8vIFJhZGlvXG4gIHJhZGlvUmFkaXVzLFxuICByYWRpb0JvcmRlclJhZGl1cyxcbiAgcmFkaW9Cb3JkZXJDb2xvcixcbiAgcmFkaW9CdXR0b25SYWRpdXMsXG4gIHJhZGlvQnV0dG9uQmdkQ29sb3IsXG5cbiAgLy8gQnV0dG9uXG4gIGJ0bkZvbnRGYW1pbHksXG4gIHByaW1hcnlCdG5CZ2QsXG4gIHByaW1hcnlCdG5BY3RCZ2QsXG4gIHByaW1hcnlCdG5Db2xvcixcbiAgcHJpbWFyeUJ0bkFjdENvbG9yLFxuICBwcmltYXJ5QnRuQmdkSG92ZXIsXG4gIHByaW1hcnlCdG5SYWRpdXMsXG4gIHByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHQsXG4gIHByaW1hcnlCdG5Gb250U2l6ZVNtYWxsLFxuICBwcmltYXJ5QnRuRm9udFNpemVMYXJnZSxcbiAgcHJpbWFyeUJ0bkJvcmRlcixcblxuICBzZWNvbmRhcnlCdG5CZ2QsXG4gIHNlY29uZGFyeUJ0bkFjdEJnZCxcbiAgc2Vjb25kYXJ5QnRuQmdkSG92ZXIsXG4gIHNlY29uZGFyeUJ0bkNvbG9yLFxuICBzZWNvbmRhcnlCdG5BY3RDb2xvcixcbiAgc2Vjb25kYXJ5QnRuQm9yZGVyLFxuXG4gIG5lZ2F0aXZlQnRuQmdkLFxuICBuZWdhdGl2ZUJ0bkFjdEJnZCxcbiAgbmVnYXRpdmVCdG5CZ2RIb3ZlcixcbiAgbmVnYXRpdmVCdG5Cb3JkZXIsXG4gIG5lZ2F0aXZlQnRuQ29sb3IsXG4gIG5lZ2F0aXZlQnRuQWN0Q29sb3IsXG5cbiAgbGlua0J0bkJnZCxcbiAgbGlua0J0bkFjdEJnZCxcbiAgbGlua0J0bkNvbG9yLFxuICBsaW5rQnRuQWN0Q29sb3IsXG4gIGxpbmtCdG5BY3RCZ2RIb3ZlcixcbiAgbGlua0J0bkJvcmRlcixcblxuICBmbG9hdGluZ0J0bkJnZCxcbiAgZmxvYXRpbmdCdG5BY3RCZ2QsXG4gIGZsb2F0aW5nQnRuQmdkSG92ZXIsXG4gIGZsb2F0aW5nQnRuQm9yZGVyLFxuICBmbG9hdGluZ0J0bkJvcmRlckhvdmVyLFxuICBmbG9hdGluZ0J0bkNvbG9yLFxuICBmbG9hdGluZ0J0bkFjdENvbG9yLFxuXG4gIGN0YUJ0bkJnZCxcbiAgY3RhQnRuQmdkSG92ZXIsXG4gIGN0YUJ0bkFjdEJnZCxcbiAgY3RhQnRuQ29sb3IsXG4gIGN0YUJ0bkFjdENvbG9yLFxuXG4gIHNlbGVjdGlvbkJ0bkJnZCxcbiAgc2VsZWN0aW9uQnRuQWN0QmdkLFxuICBzZWxlY3Rpb25CdG5Db2xvcixcbiAgc2VsZWN0aW9uQnRuQWN0Q29sb3IsXG4gIHNlbGVjdGlvbkJ0bkJnZEhvdmVyLFxuICBzZWxlY3Rpb25CdG5Cb3JkZXIsXG4gIHNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yLFxuICBzZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcixcblxuICAvLyBNb2RhbFxuICBtb2RhbFRpdGxlQ29sb3IsXG4gIG1vZGFsVGl0bGVGb250U2l6ZSxcbiAgbW9kYWxUaXRsZUZvbnRTaXplU21hbGxlcixcbiAgbW9kYWxGb290ZXJCZ2QsXG4gIG1vZGFsSW1hZ2VQbGFjZUhvbGRlcixcbiAgbW9kYWxQYWRkaW5nLFxuXG4gIG1vZGFsRGlhbG9nQmdkLFxuICBtb2RhbERpYWxvZ0NvbG9yLFxuXG4gIG1vZGFsTGF0ZXJhbFBhZGRpbmcsXG4gIG1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZyxcbiAgbW9kYWxPdmVyTGF5WixcbiAgbW9kYWxPdmVybGF5QmdkLFxuICBtb2RhbENvbnRlbnRaLFxuICBtb2RhbEZvb3RlclosXG4gIG1vZGFsVGl0bGVaLFxuICBtb2RhbEJ1dHRvblosXG4gIG1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kLFxuXG4gIC8vIFNpZGUgUGFuZWxcbiAgc2lkZVBhbmVsQmcsXG4gIHNpZGVQYW5lbElubmVyUGFkZGluZyxcbiAgc2lkZUJhckNsb3NlQnRuQmdkLFxuICBzaWRlQmFyQ2xvc2VCdG5Db2xvcixcbiAgc2lkZUJhckNsb3NlQnRuQmdkSG92ZXIsXG4gIHNpZGVQYW5lbEhlYWRlckJnLFxuICBzaWRlUGFuZWxIZWFkZXJCb3JkZXIsXG4gIHNpZGVQYW5lbFNjcm9sbEJhcldpZHRoLFxuICBzaWRlUGFuZWxTY3JvbGxCYXJIZWlnaHQsXG4gIHNpZGVQYW5lbFRpdGxlRm9udHNpemUsXG4gIHNpZGVQYW5lbFRpdGxlTGluZUhlaWdodCxcbiAgcGFuZWxIZWFkZXJCb3JkZXJSYWRpdXMsXG4gIHNpZGVQYW5lbEJvcmRlcixcbiAgc2lkZVBhbmVsQm9yZGVyQ29sb3IsXG5cbiAgbGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxGb250U2l6ZSxcbiAgbGF5ZXJDb25maWdHcm91cE1hcmdpbkJvdHRvbSxcbiAgbGF5ZXJDb25maWdHcm91cFBhZGRpbmdMZWZ0LFxuXG4gIC8vIFNpZGUgUGFuZWwgUGFuZWxcbiAgY2hpY2tsZXRCZ2QsXG4gIGNoaWNrbGV0QmdkTFQsXG4gIHBhbmVsQmFja2dyb3VuZCxcbiAgcGFuZWxDb250ZW50QmFja2dyb3VuZCxcbiAgcGFuZWxCYWNrZ3JvdW5kSG92ZXIsXG4gIHBhbmVsQmFja2dyb3VuZExULFxuICBwYW5lbFRvZ2dsZU1hcmdpblJpZ2h0LFxuICBwYW5lbFRvZ2dsZUJvdHRvbVBhZGRpbmcsXG4gIHBhbmVsQm94U2hhZG93LFxuICBwYW5lbEJvcmRlclJhZGl1cyxcbiAgcGFuZWxCb3JkZXIsXG4gIHBhbmVsQm9yZGVyQ29sb3IsXG4gIHBhbmVsQm9yZGVyTFQsXG4gIHBhbmVsSGVhZGVySWNvbixcbiAgcGFuZWxIZWFkZXJJY29uQWN0aXZlLFxuICBwYW5lbEhlYWRlckljb25Ib3ZlcixcbiAgcGFuZWxIZWFkZXJIZWlnaHQsXG4gIGxheWVyUGFuZWxIZWFkZXJIZWlnaHQsXG4gIHBhbmVsRHJvcGRvd25TY3JvbGxCYXIsXG5cbiAgbGF5ZXJUeXBlSWNvblNpemVMLFxuICBsYXllclR5cGVJY29uUGRMLFxuICBsYXllclR5cGVJY29uU2l6ZVNNLFxuXG4gIC8vIFRleHRcbiAgZm9udEZhbWlseSxcbiAgZm9udFdlaWdodCxcbiAgZm9udFNpemUsXG4gIGxpbmVIZWlnaHQsXG4gIHRleHRDb2xvcixcbiAgdGV4dENvbG9yTFQsXG4gIGRhdGFUYWJsZVRleHRDb2xvcixcbiAgdGV4dENvbG9ySGwsXG4gIHRpdGxlVGV4dENvbG9yLFxuICBzdWJ0ZXh0Q29sb3IsXG4gIHN1YnRleHRDb2xvckxULFxuICBzdWJ0ZXh0Q29sb3JBY3RpdmUsXG4gIHBhbmVsVG9nZ2xlQm9yZGVyQ29sb3IsXG4gIHBhbmVsVGFiV2lkdGgsXG4gIHRleHRUcnVuY2F0ZSxcbiAgdGl0bGVDb2xvckxULFxuICB0b29sdGlwQmcsXG4gIHRvb2x0aXBDb2xvcixcbiAgdG9vbHRpcEJveFNoYWRvdyxcbiAgdG9vbHRpcEZvbnRTaXplLFxuICBsb2dvQ29sb3IsXG5cbiAgLy8gU2lkZXBhbmVsIGRpdmlkZXJcbiAgc2lkZXBhbmVsRGl2aWRlckJvcmRlcixcbiAgc2lkZXBhbmVsRGl2aWRlck1hcmdpbixcbiAgc2lkZXBhbmVsRGl2aWRlckhlaWdodCxcblxuICAvLyBCb3R0b20gUGFuZWxcbiAgYm90dG9tSW5uZXJQZFNpZGUsXG4gIGJvdHRvbUlubmVyUGRWZXJ0LFxuICBib3R0b21QYW5lbEdhcCxcbiAgYm90dG9tV2lkZ2V0UGFkZGluZ1RvcCxcbiAgYm90dG9tV2lkZ2V0UGFkZGluZ1JpZ2h0LFxuICBib3R0b21XaWRnZXRQYWRkaW5nQm90dG9tLFxuICBib3R0b21XaWRnZXRQYWRkaW5nTGVmdCxcbiAgYm90dG9tV2lkZ2V0QmdkLFxuXG4gIC8vIFNsaWRlclxuICBzbGlkZXJCYXJDb2xvcixcbiAgc2xpZGVyQmFyQmdkLFxuICBzbGlkZXJCYXJIb3ZlckNvbG9yLFxuICBzbGlkZXJCYXJSYWRpdXMsXG4gIHNsaWRlckJhckhlaWdodCxcbiAgc2xpZGVySGFuZGxlSGVpZ2h0LFxuICBzbGlkZXJIYW5kbGVXaWR0aCxcbiAgc2xpZGVySGFuZGxlQ29sb3IsXG4gIHNsaWRlckhhbmRsZVRleHRDb2xvcixcbiAgc2xpZGVySW5hY3RpdmVCb3JkZXJDb2xvcixcbiAgc2xpZGVyQm9yZGVyUmFkaXVzLFxuICBzbGlkZXJIYW5kbGVIb3ZlckNvbG9yLFxuICBzbGlkZXJIYW5kbGVBZnRlckNvbnRlbnQsXG4gIHNsaWRlckhhbmRsZVNoYWRvdyxcbiAgc2xpZGVySW5wdXRIZWlnaHQsXG4gIHNsaWRlcklucHV0V2lkdGgsXG4gIHNsaWRlck1hcmdpblRvcElzVGltZSxcbiAgc2xpZGVyTWFyZ2luVG9wLFxuICBzbGlkZXJNYXJnaW5Cb3R0b20sXG5cbiAgLy8gR2VvY29kZXJcbiAgZ2VvY29kZXJXaWR0aCxcbiAgZ2VvY29kZXJUb3AsXG4gIGdlb2NvZGVyUmlnaHQsXG4gIGdlb2NvZGVySW5wdXRIZWlnaHQsXG5cbiAgLy8gUGxvdFxuICByYW5nZUJydXNoQmdkLFxuICBoaXN0b2dyYW1GaWxsSW5SYW5nZSxcbiAgaGlzdG9ncmFtRmlsbE91dFJhbmdlLFxuICBheGlzRm9udFNpemUsXG4gIGF4aXNGb250Q29sb3IsXG4gIHRpbWVUaXRsZUZvbnRTaXplLFxuICByYW5nZVBsb3RNYXJnaW4sXG4gIHJhbmdlUGxvdE1hcmdpbkxhcmdlLFxuICByYW5nZVBsb3RILFxuICByYW5nZVBsb3RITGFyZ2UsXG4gIHJhbmdlUGxvdENvbnRhaW5lckgsXG4gIHJhbmdlUGxvdENvbnRhaW5lckhMYXJnZSxcblxuICAvLyBOb3RpZmljYXRpb25zXG4gIG5vdGlmaWNhdGlvbkNvbG9ycyxcbiAgbm90aWZpY2F0aW9uUGFuZWxXaWR0aCxcbiAgbm90aWZpY2F0aW9uUGFuZWxJdGVtV2lkdGgsXG4gIG5vdGlmaWNhdGlvblBhbmVsSXRlbUhlaWdodCxcblxuICAvLyBEYXRhIFRhYmxlXG4gIGhlYWRlclJvd0hlaWdodCxcbiAgcm93SGVpZ2h0LFxuICBoZWFkZXJQYWRkaW5nVG9wLFxuICBoZWFkZXJQYWRkaW5nQm90dG9tLFxuICBjZWxsUGFkZGluZ1NpZGUsXG4gIGVkZ2VDZWxsUGFkZGluZ1NpZGUsXG4gIGNlbGxGb250U2l6ZSxcbiAgZ3JpZFBhZGRpbmdTaWRlLFxuICBvcHRpb25CdXR0b25Db2xvcixcbiAgaGVhZGVyQ2VsbEJhY2tncm91bmQsXG4gIGhlYWRlckNlbGxCb3JkZXJDb2xvcixcbiAgaGVhZGVyQ2VsbEljb25Db2xvcixcbiAgY2VsbEJvcmRlckNvbG9yLFxuICBldmVuUm93QmFja2dyb3VuZCxcbiAgb2RkUm93QmFja2dyb3VuZCxcbiAgcGlubmVkR3JpZEJvcmRlckNvbG9yLFxuICAvLyB0aW1lIGRpc3BsYXlcbiAgdGltZURpc3BsYXlCb3JkZXJSYWRpdXMsXG4gIHRpbWVEaXNwbGF5SGVpZ2h0LFxuICB0aW1lRGlzcGxheU1pbldpZHRoLFxuICB0aW1lRGlzcGxheU9wYWNpdHksXG4gIHRpbWVEaXNwbGF5UGFkZGluZyxcblxuICAvLyBleHBvcnQgbWFwXG4gIGV4cG9ydEludHJhU2VjdGlvbk1hcmdpbixcblxuICAvLyBBY3Rpb24gUGFuZWxcbiAgYWN0aW9uUGFuZWxXaWR0aCxcbiAgYWN0aW9uUGFuZWxIZWlnaHQsXG5cbiAgLy8gQnJlYWtwb2ludHNcbiAgYnJlYWtQb2ludHMsXG5cbiAgLy8gcHJvZ3Jlc3NiYXJcbiAgcHJvZ3Jlc3NCYXJDb2xvcixcbiAgcHJvZ3Jlc3NCYXJUcmFja0NvbG9yLFxuXG4gIC8vIGxheWVyQ29uZmlnR3JvdXBMYWJlbFxuICBsYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0LFxuICBsYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW4sXG4gIGxheWVyQ29uZmlnR3JvdXBMYWJlbFBhZGRpbmcsXG4gIGxheWVyQ29uZmlnR3JvdXBDb2xvcixcblxuICAvLyBsYXllckNvbmZpZ0dyb3VwTGFiZWwgbGFiZWxcbiAgbGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxNYXJnaW4sXG5cbiAgLy8gU3R5bGVkQ29uZmlnR3JvdXBIZWFkZXJcbiAgc3R5bGVkQ29uZmlnR3JvdXBIZWFkZXJCb3JkZXIsXG5cbiAgLy8gbGF5ZXJDb25maWd1cmF0b3JcbiAgbGF5ZXJDb25maWd1cmF0b3JCb3JkZXIsXG4gIGxheWVyQ29uZmlndXJhdG9yQm9yZGVyQ29sb3IsXG4gIGxheWVyQ29uZmlndXJhdG9yTWFyZ2luLFxuICBsYXllckNvbmZpZ3VyYXRvclBhZGRpbmcsXG5cbiAgLy8gU3R5bGVkIHRva2VuXG4gIGZpZWxkVG9rZW5SaWdodE1hcmdpblxufTtcblxuZXhwb3J0IGNvbnN0IHRoZW1lTFQgPSB7XG4gIC4uLnRoZW1lLFxuICAvLyB0ZW1wbGF0ZVxuICBhY3RpdmVDb2xvcjogYWN0aXZlQ29sb3JMVCxcbiAgaW5wdXQ6IGlucHV0TFQsXG4gIHRleHRDb2xvcjogdGV4dENvbG9yTFQsXG4gIHNpZGVQYW5lbEJnOiAnI0ZGRkZGRicsXG4gIHNlbGVjdENvbG9yOiBzZWxlY3RDb2xvckxULFxuICB0aXRsZVRleHRDb2xvcjogJyMwMDAwMDAnLFxuICBzaWRlUGFuZWxIZWFkZXJCZzogJyNGN0Y3RjcnLFxuICBzdWJ0ZXh0Q29sb3JBY3RpdmU6IGFjdGl2ZUNvbG9yTFQsXG4gIHRvb2x0aXBCZzogJyMxODY5QjUnLFxuICB0b29sdGlwQ29sb3I6ICcjRkZGRkZGJyxcbiAgZHJvcGRvd25MaXN0QmdkOiAnI0ZGRkZGRicsXG4gIHRvb2xiYXJJdGVtQmdkSG92ZXI6ICcjRjdGN0Y3JyxcbiAgdGV4dENvbG9ySGw6IGFjdGl2ZUNvbG9yTFQsXG5cbiAgaW5wdXRCZ2Q6ICcjRjdGN0Y3JyxcbiAgaW5wdXRCZ2RIb3ZlcjogJyNGRkZGRkYnLFxuICBpbnB1dEJnZEFjdGl2ZTogJyNGRkZGRkYnLFxuICBpbnB1dEJnZEFjdGl2ZUxUOiAnI0ZGRkZGRicsXG4gIGRyb3Bkb3duTGlzdEhpZ2hsaWdodEJnOiAnI0YwRjBGMCcsXG4gIHRvb2xiYXJJdGVtSWNvbkhvdmVyOiBhY3RpdmVDb2xvckxULFxuICBwYW5lbEJhY2tncm91bmQ6ICcjRjdGN0Y3JyxcbiAgcGFuZWxDb250ZW50QmFja2dyb3VuZDogJyNGN0Y3RjcnLFxuICBib3R0b21XaWRnZXRCZ2Q6ICcjRjdGN0Y3JyxcbiAgcGFuZWxCYWNrZ3JvdW5kSG92ZXI6ICcjRjdGN0Y3JyxcbiAgcGFuZWxCb3JkZXJDb2xvcjogJyNEM0Q4RTAnLFxuICBwYW5lbEhlYWRlckljb25BY3RpdmU6ICcjMDAwMDAwJyxcbiAgcGFuZWxIZWFkZXJJY29uSG92ZXI6ICcjMDAwMDAwJyxcbiAgc2lkZUJhckNsb3NlQnRuQmdkOiAnI0Y3RjdGNycsXG4gIHNpZGVCYXJDbG9zZUJ0bkNvbG9yOiB0ZXh0Q29sb3JMVCxcbiAgc2lkZUJhckNsb3NlQnRuQmdkSG92ZXI6ICcjRjdGN0Y3JyxcblxuICBzZWNvbmRhcnlJbnB1dEJnZDogJyNGN0Y3RjcnLFxuICBzZWNvbmRhcnlJbnB1dEJnZEFjdGl2ZTogJyNGN0Y3RjcnLFxuICBzZWNvbmRhcnlJbnB1dEJnZEhvdmVyOiAnI0ZGRkZGRicsXG4gIHNlY29uZGFyeUlucHV0Qm9yZGVyQWN0aXZlQ29sb3I6ICcjMDAwMDAwJyxcbiAgc2Vjb25kYXJ5SW5wdXRCb3JkZXJDb2xvcjogJ25vbmUnLFxuICBzZWNvbmRhcnlJbnB1dENvbG9yOiAnIzU0NTQ1NCcsXG5cbiAgY2hpY2tsZXRCZ2Q6ICcjRjdGN0Y3JyxcbiAgbWFwUGFuZWxCYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcbiAgbWFwUGFuZWxIZWFkZXJCYWNrZ3JvdW5kQ29sb3I6ICcjRjdGN0Y3JyxcblxuICBzbGlkZXJCYXJDb2xvcjogJyNBMEE3QjQnLFxuICBzbGlkZXJCYXJCZ2Q6ICcjRDNEOEUwJyxcbiAgc2xpZGVySGFuZGxlQ29sb3I6ICcjRjdGN0Y3JyxcbiAgc2xpZGVySW5hY3RpdmVCb3JkZXJDb2xvcjogJyNGN0Y3RjcnLFxuICBzbGlkZXJIYW5kbGVUZXh0Q29sb3I6ICcjRjdGN0Y3JyxcbiAgc2xpZGVySGFuZGxlSG92ZXJDb2xvcjogJyNGN0Y3RjcnLFxuXG4gIHN1YnRleHRDb2xvcjogc3VidGV4dENvbG9yTFQsXG4gIHN3aXRjaEJ0bkJnZDogJyNGN0Y3RjcnLFxuICBzZWNvbmRhcnlTd2l0Y2hCdG5CZ2Q6ICcjRjdGN0Y3JyxcbiAgc2Vjb25kYXJ5U3dpdGNoVHJhY2tCZ2Q6ICcjRDNEOEUwJyxcbiAgc3dpdGNoQnRuQmdkQWN0aXZlOiAnI0Y3RjdGNycsXG4gIHN3aXRjaFRyYWNrQmdkOiAnI0QzRDhFMCcsXG4gIHN3aXRjaFRyYWNrQmdkQWN0aXZlOiBhY3RpdmVDb2xvckxULFxuXG4gIC8vIGJ1dHRvbiBzd2l0Y2ggYmFja2dyb3VuZCBhbmQgaG92ZXIgY29sb3JcbiAgcHJpbWFyeUJ0bkJnZDogcHJpbWFyeUJ0bkFjdEJnZCxcbiAgcHJpbWFyeUJ0bkFjdEJnZDogcHJpbWFyeUJ0bkJnZCxcbiAgcHJpbWFyeUJ0bkJnZEhvdmVyOiBwcmltYXJ5QnRuQmdkLFxuXG4gIHNlY29uZGFyeUJ0bkJnZDogc2Vjb25kYXJ5QnRuQWN0QmdkLFxuICBzZWNvbmRhcnlCdG5BY3RCZ2Q6IHNlY29uZGFyeUJ0bkJnZCxcbiAgc2Vjb25kYXJ5QnRuQmdkSG92ZXI6IHNlY29uZGFyeUJ0bkJnZCxcblxuICBmbG9hdGluZ0J0bkJnZDogJyNGN0Y3RjcnLFxuICBmbG9hdGluZ0J0bkFjdEJnZDogJyNGN0Y3RjcnLFxuICBmbG9hdGluZ0J0bkJnZEhvdmVyOiAnI0Y3RjdGNycsXG4gIGZsb2F0aW5nQnRuQ29sb3I6IHN1YnRleHRDb2xvcixcbiAgZmxvYXRpbmdCdG5BY3RDb2xvcjogYWN0aXZlQ29sb3JMVCxcblxuICBsaW5rQnRuQWN0Q29sb3I6IHRleHRDb2xvckxULFxuXG4gIHJhbmdlQnJ1c2hCZ2Q6ICcjRDNEOEUwJyxcbiAgaGlzdG9ncmFtRmlsbEluUmFuZ2U6IGFjdGl2ZUNvbG9yTFQsXG4gIGhpc3RvZ3JhbUZpbGxPdXRSYW5nZTogJyNBMEE3QjQnLFxuICBheGlzRm9udENvbG9yOiB0ZXh0Q29sb3JMVFxufTtcblxuZXhwb3J0IGNvbnN0IHRoZW1lQlMgPSB7XG4gIC4uLnRoZW1lLFxuICBhY3RpdmVDb2xvcjogJyNFMkUyRTInLFxuICBkcm9wZG93bkxpc3RCZ2Q6ICcjRkZGRkZGJyxcbiAgdG9vbGJhckl0ZW1CZ2RIb3ZlcjogJyNGN0Y3RjcnLFxuICBkcm9wZG93bkxpc3RCb3JkZXJUb3A6ICdub25lJyxcbiAgZHJvcGRvd25MaXN0SGlnaGxpZ2h0Qmc6ICcjRjZGNkY2JyxcbiAgdG9vbGJhckl0ZW1JY29uSG92ZXI6ICcjMDAwMDAwJyxcbiAgaW5wdXRCZ2Q6ICcjRTJFMkUyJyxcbiAgaW5wdXRCZ2RBY3RpdmU6ICcjRTJFMkUyJyxcbiAgaW5wdXRCZ2RIb3ZlcjogJ2luaGVyaXQnLFxuICBpbnB1dEJvcmRlckFjdGl2ZUNvbG9yOiAnIzAwMDAwMCcsXG4gIGlucHV0Q29sb3I6ICcjMDAwMDAwJyxcbiAgY2hpY2tsZXRCZ2Q6ICcjRTJFMkUyJyxcbiAgcGFuZWxCYWNrZ3JvdW5kOiAnI0ZGRkZGRicsXG4gIHBhbmVsQmFja2dyb3VuZEhvdmVyOiAnI0VFRUVFRScsXG4gIHBhbmVsQ29udGVudEJhY2tncm91bmQ6ICcjRkZGRkZGJyxcbiAgYm90dG9tV2lkZ2V0QmdkOiAnI0Y3RjdGNycsXG4gIHBhbmVsSGVhZGVySWNvbkFjdGl2ZTogJyMwMDAwMDAnLFxuICBwYW5lbEhlYWRlckljb25Ib3ZlcjogJyMwMDAwMDAnLFxuICBwYW5lbEJvcmRlckNvbG9yOiAnI0UyRTJFMicsXG4gIHByaW1hcnlCdG5CZ2Q6ICcjRTJFMkUyJyxcbiAgcHJpbWFyeUJ0bkJnZEhvdmVyOiAnIzMzMzMzMycsXG4gIHByaW1hcnlCdG5Db2xvcjogJyMwMDAwMDAnLFxuICBzZWNvbmRhcnlCdG5BY3RCZ2Q6ICcjRUVFRUVFJyxcbiAgc2Vjb25kYXJ5QnRuQWN0Q29sb3I6ICcjMDAwMDAwJyxcbiAgc2Vjb25kYXJ5QnRuQmdkOiAnI0UyRTJFMicsXG4gIHNlY29uZGFyeUJ0bkJnZEhvdmVyOiAnI0NCQ0JDQicsXG4gIGN0bkJ0bkJnZDogJyNFMkUyRTInLFxuICBjdG5CdG5CZ2RIb3ZlcjogJzMzMzMzMycsXG4gIGN0bkJ0bkNvbG9yOiAnIzAwMDAwMCcsXG4gIGN0bkJ0bkFjdENvbG9yOiAnIzAwMDAwMCcsXG5cbiAgc2lkZUJhckNsb3NlQnRuQmdkOiAnI0UyRTJFMicsXG4gIHNpZGVCYXJDbG9zZUJ0bkNvbG9yOiAnIzAwMDAwMCcsXG4gIHNpZGVCYXJDbG9zZUJ0bkJnZEhvdmVyOiAnI0ZGRkZGRicsXG5cbiAgZmxvYXRpbmdCdG5CZ2Q6ICcjRkZGRkZGJyxcbiAgZmxvYXRpbmdCdG5BY3RCZ2Q6ICcjRUVFRUVFJyxcbiAgZmxvYXRpbmdCdG5CZ2RIb3ZlcjogJyNFRUVFRUUnLFxuICBmbG9hdGluZ0J0bkNvbG9yOiAnIzc1NzU3NScsXG4gIGZsb2F0aW5nQnRuQWN0Q29sb3I6ICcjMDAwMDAwJyxcblxuICBzZWNvbmRhcnlCdG5Db2xvcjogJyMwMDAwMDAnLFxuICBzZWNvbmRhcnlJbnB1dEJnZDogJyNGNkY2RjYnLFxuICBzZWNvbmRhcnlJbnB1dEJnZEFjdGl2ZTogJyNGNkY2RjYnLFxuICBzZWNvbmRhcnlJbnB1dEJnZEhvdmVyOiAnI0Y2RjZGNicsXG4gIHNlY29uZGFyeUlucHV0Qm9yZGVyQWN0aXZlQ29sb3I6ICcjMDAwMDAwJyxcbiAgc2Vjb25kYXJ5SW5wdXRCb3JkZXJDb2xvcjogJ25vbmUnLFxuICBzZWNvbmRhcnlJbnB1dENvbG9yOiAnIzU0NTQ1NCcsXG4gIHNpZGVQYW5lbEJnOiAnI0Y2RjZGNicsXG4gIHNpZGVQYW5lbEhlYWRlckJnOiAnI0ZGRkZGRicsXG4gIHN1YnRleHRDb2xvcjogJyNBRkFGQUYnLFxuICBwYW5lbFRhYkNvbG9yOiAnI0FGQUZBRicsXG4gIHN1YnRleHRDb2xvckFjdGl2ZTogJyMwMDAwMDAnLFxuICB0ZXh0Q29sb3I6ICcjMDAwMDAwJyxcbiAgdGV4dENvbG9ySGw6ICcjNTQ1NDU0JyxcbiAgbWFwUGFuZWxCYWNrZ3JvdW5kQ29sb3I6ICcjRjZGNkY2JyxcbiAgbWFwUGFuZWxIZWFkZXJCYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcbiAgdGl0bGVUZXh0Q29sb3I6ICcjMDAwMDAwJyxcbiAgc3dpdGNoQnRuQmdkQWN0aXZlOiAnIzAwMDAwMCcsXG4gIHN3aXRjaEJ0bkJnZDogJyNGRkZGRkYnLFxuICBzd2l0Y2hUcmFja0JnZEFjdGl2ZTogJyNFMkUyRTInLFxuICBzZWNvbmRhcnlTd2l0Y2hUcmFja0JnZDogJyNFMkUyRTInLFxuICBzd2l0Y2hUcmFja0JnZDogJyNFMkUyRTInLFxuICBzZWNvbmRhcnlTd2l0Y2hCdG5CZ2Q6ICcjRkZGRkZGJyxcbiAgaGlzdG9ncmFtRmlsbEluUmFuZ2U6ICcjMDAwMDAwJyxcbiAgaGlzdG9ncmFtRmlsbE91dFJhbmdlOiAnI0UyRTJFMicsXG4gIHJhbmdlQnJ1c2hCZ2Q6ICcjRTJFMkUyJyxcbiAgc2xpZGVyQmFyQmdkOiAnI0UyRTJFMicsXG4gIHNsaWRlckhhbmRsZUNvbG9yOiAnI0ZGRkZGRicsXG4gIHNsaWRlckluYWN0aXZlQm9yZGVyQ29sb3I6ICcjRkZGRkZGJyxcbiAgc2xpZGVySGFuZGxlVGV4dENvbG9yOiAnI0ZGRkZGRicsXG4gIHNsaWRlckJhckNvbG9yOiAnIzAwMDAwMCdcbn07XG4iXX0=